Visualize
main.py
import math import fractions def AliceWin(c, p): cFour = int(math.floor(c/4)) cTwo = int((c - 4 * cFour)/2) return (((-1 + cFour + cTwo)**2/(-1 + p**(-1)) - ((-1 + cFour + cTwo)*(1 + p**(-1)))/ (-1 + p**(-1))**2 + 2/((-1 + p**(-1))**3*p))*(p**(-1))**(cFour + cTwo) - 2/((-1 + p**(-1))**3*p**2))*(1 - p)**3*p**(-3 + 4*cFour + 2*cTwo) + (-2*((-(-1 + p**(-1))**(-2) + (-1 + cFour + cTwo)/(-1 + p**(-1)))* (p**(-1))**(cFour + cTwo) + 1/((-1 + p**(-1))**2*p)) + (-1 + 4*cFour + 2*cTwo)*((p**(-1))**(cFour + cTwo)/(-1 + p**(-1)) - 1/((-1 + p**(-1))*p)))*(1 - p)**2*p**(-2 + 4*cFour + 2*cTwo) + ((-(-1 + p**(-1))**(-2) + cFour/(-1 + p**(-1)))*(p**(-1))**(1 + cFour) - (p**(-1))**(1 + cFour)/(-1 + p**(-1)) + 1/((-1 + p**(-1))**2*p) + 1/((-1 + p**(-1))*p))* (1 - p)**2*p**(-2 + 4*cFour + 2*cTwo) + ((1 - p)**2*(p**3/(-1 + p**3)**2 + (p**3)**(cFour + cTwo)*(-(-1 + p**3)**(-2) + (-1 + cFour + cTwo)/(-1 + p**3))))/p + ((1 - p)**3*((-2*p**6)/(-1 + p**3)**3 + (p**3)**(1 + cFour)*((2*p**3)/(-1 + p**3)**3 + cFour**2/(-1 + p**3) - (cFour*(1 + p**3))/(-1 + p**3)**2)))/p**3 + ((1 - p)**2*(p**3/(-1 + p**3) - (p**3)**(1 + cFour)/(-1 + p**3) + 2*(p**3/(-1 + p**3)**2 + (p**3)**(1 + cFour)*(-(-1 + p**3)**(-2) + cFour/(-1 + p**3)))))/ p**2 def BobWin(c, p): cFour = int(math.floor(c/4)) cTwo = int((c - 4 * cFour)/2) return ((-(-1 + p**(-1))**(-2) + (-1 + cFour + cTwo)/(-1 + p**(-1)))*(p**(-1))**(cFour + cTwo) + 1/((-1 + p**(-1))**2*p))*(1 - p)**2*p**(-2 + 4*cFour + 2*cTwo) + ((-(-1 + p**(-1))**(-2) + cFour/(-1 + p**(-1)))*(p**(-1))**(1 + cFour) - (p**(-1))**(1 + cFour)/(-1 + p**(-1)) + 1/((-1 + p**(-1))**2*p) + 1/((-1 + p**(-1))*p))* (1 - p)**2*p**(-2 + 4*cFour + 2*cTwo) + (2*(1 - p)**2*(p**3/(-1 + p**3)**2 + (p**3)**(cFour + cTwo)* (-(-1 + p**3)**(-2) + (-1 + cFour + cTwo)/(-1 + p**3))))/p + ((1 - p)**3*((-2*p**6)/(-1 + p**3)**3 + (p**3)**(1 + cFour)*((2*p**3)/(-1 + p**3)**3 + cFour**2/(-1 + p**3) - (cFour*(1 + p**3))/(-1 + p**3)**2)))/p**3 + ((1 - p)**3*((-2*p**6)/(-1 + p**3)**3 + (p**3)**(cFour + cTwo)* ((2*p**3)/(-1 + p**3)**3 + (-1 + cFour + cTwo)**2/(-1 + p**3) - ((-1 + cFour + cTwo)*(1 + p**3))/(-1 + p**3)**2)))/p**2 + ((1 - p)**2*(p**3/(-1 + p**3) - (p**3)**(1 + cFour)/(-1 + p**3) + 2*(p**3/(-1 + p**3)**2 + (p**3)**(1 + cFour)*(-(-1 + p**3)**(-2) + cFour/(-1 + p**3)))))/ p**2 print (AliceWin(6, fractions.Fraction('2/5'))) print (BobWin(6, fractions.Fraction('2/5')))
Output