Python Need help with random walk simulation on a Manhattan grid in Python?

AI Thread Summary
The discussion revolves around a lab assignment requiring the implementation of a random walk simulation on a Manhattan grid. The task is to create a function called `manhattan()` that simulates movement in random directions (North, East, South, West) starting from the center of the grid, while tracking and printing the coordinates and direction of each step until the walk exits the grid. Participants emphasize the importance of breaking down the problem into a clear algorithm, suggesting that writing out the steps in words can help clarify the implementation process in Python. The main challenge expressed is the difficulty in translating the conceptual understanding of the random walk into actual code, despite having a grasp of the underlying concepts. Guidance is sought on how to initiate the coding process and effectively track movements within the grid.
XRocker15
Messages
3
Reaction score
0
This is an old lab assignment I never got around to finishing and we are allowed to resubmit it for partial credit. I don't really even know how to set up this program. I understand what I need, I just don't know how to implement it. Any help is appreciated.

"You may know that the streets and avenues of Manhattan form a grid. A random walk through the grid (i.e., Manhattan) is a walk in which a random direction (N, E, S, or W) is chosen with equal probability at every intersection. For example, a random walk on a 5 X 11 grid starting at (5, 2) could visit grid points (6,2), (7,2), (8, 2), (9, 2), (10,2 ), back to (9,2) and then back to (10, 2) before leaving the grid. Remark: coordinates given here are in the Cartesian plane.

Write a function manhattan() that takes the number of rows and columns in the grid, simulates a random walk starting in the center of the grid, computes the number of times each intersection has been visited by the random walk. Your function should print the table line by line once the random walk moves outside the grid. The function should also print the direction and coordinates of the intersection at each step of the simulation. Notice, the coordinates given in the output are the indices in the two-dimensional list representing the grid. Sample outputs are shown below:>>> manhattan(3,3)
(x, y) 1 1
direction W (x, y) 1 0
direction N (x, y) 0 0
direction E (x, y) 0 1
direction N
1 1 0
1 1 0
0 0 0

>>> manhattan(3,3)
(x, y) 1 1
direction N (x, y) 0 1
direction E (x, y) 0 2
direction W (x, y) 0 1
direction W (x, y) 0 0
direction S (x, y) 1 0
direction E (x, y) 1 1
direction S (x, y) 2 1
direction N (x, y) 1 1
direction E (x, y) 1 2
direction N (x, y) 0 2
direction E
1 2 2
1 3 1
0 1 0

>>> manhattan(5,7)
(x, y) 2 3
direction N (x, y) 1 3
direction N (x, y) 0 3
direction S (x, y) 1 3
direction W (x, y) 1 2
direction S (x, y) 2 2
direction E (x, y) 2 3
direction S (x, y) 3 3
direction W (x, y) 3 2
direction N (x, y) 2 2
direction W (x, y) 2 1
direction E (x, y) 2 2
direction W (x, y) 2 1
direction N (x, y) 1 1
direction N (x, y) 0 1
direction S (x, y) 1 1
direction W (x, y) 1 0
direction E (x, y) 1 1
direction W (x, y) 1 0
direction W
0 1 0 1 0 0 0
2 3 1 2 0 0 0
0 2 3 2 0 0 0
0 0 1 1 0 0 0
0 0 0 0 0 0 0
>>> "

I haven not had any problems understanding material in this class, it's just sitting down and writing the program that's the problem. I just don't know where to start! Any help would be greatly appreciated! :)
 
Last edited:
Technology news on Phys.org
Anyone? I could really use some guidance
 
What have you tried? You could start by writing down, in words, the algorithm for what you're trying to do.
 
Well that's the thing, If I could get started I could probably figure it out.
I know that I need to start at a specific location on the grid, and then keep track of each step on the grid adding it as I go. I then need to print what happened at each step, and how many moves happened to the end of the grid. And that's about it. It seems so simple I just don't know how to translate it into Python :(
 
"keep track of each step on the grid" - and how does you program know which direction to go? And how will you add each step as you go. The more specific your algorithm is, the easier it will be to implement it in Python.
 
Thread 'Star maps using Blender'
Blender just recently dropped a new version, 4.5(with 5.0 on the horizon), and within it was a new feature for which I immediately thought of a use for. The new feature was a .csv importer for Geometry nodes. Geometry nodes are a method of modelling that uses a node tree to create 3D models which offers more flexibility than straight modeling does. The .csv importer node allows you to bring in a .csv file and use the data in it to control aspects of your model. So for example, if you...
I tried a web search "the loss of programming ", and found an article saying that all aspects of writing, developing, and testing software programs will one day all be handled through artificial intelligence. One must wonder then, who is responsible. WHO is responsible for any problems, bugs, deficiencies, or whatever malfunctions which the programs make their users endure? Things may work wrong however the "wrong" happens. AI needs to fix the problems for the users. Any way to...

Similar threads

Back
Top