Skip to main content

Probability of moving on a cartesian plane

I am working on the below coding problem which looks more like a probability question rather than a coding problem

platform consisting of 5 tiles. The coordinates of the tiles are: (-1,0), (0.-1). (0,0), (0.1). (1.0). You start at coordinates (xs,ys) and keep moving randomly either left (i.e., x coordinate decreases by 1), right (i.e., x coordinate increases by 1), up (i.e.. y coordinate increases by 1), or down (i.e., y coordinate decreases by 1). The direction of subsequent moves is independent. What is the probability that you reach coordinates (xe, ye) before falling off the platform? Constraints: (xs, ys) in [(-1.0), (0.-1), (0.0), (0.1), (1,0)] (xe, ye) in [(-1,0), (0.-1), (0,0), (0,1), (1.0)] xs != xe or ys != ye

for input xs, ys = -1, 0 xe, ye = 0, 0 output should be 0.25

below is what I implemented which works for the case I shared but fails for all other cases

def calculate_probability(xs, ys, xe, ye):
    edges = [[-1, 0], [0, -1], [0, 1], [1, 0]]
    if [xs, ys] in edges:
        if xe == 0 and ye == 0:
            return 0.25
        elif xs == xe and ys == ye:
            return 1.0
        elif [xe, ye] in edges:
            return 0.075
    
    if xs == 0 and ys == 0:
        if [xe, ye] in edges:
            return 0.3
        elif xe == 0 and ye == 0:
            return 1
    return 0


source https://stackoverflow.com/questions/76249186/probability-of-moving-on-a-cartesian-plane

Comments