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

In summary, the programmer is trying to write a program that walks through a grid randomly and prints out the coordinates and direction of each intersection.
  • #1
XRocker15
3
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
  • #2
Anyone? I could really use some guidance
 
  • #3
What have you tried? You could start by writing down, in words, the algorithm for what you're trying to do.
 
  • #4
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 :(
 
  • #5
"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.
 

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

What is CSC Python Programming Help?

CSC Python Programming Help is a service that provides assistance and support for individuals learning and working with the programming language Python. This can include help with coding, debugging, and understanding various concepts and functions within Python.

Who can benefit from CSC Python Programming Help?

CSC Python Programming Help is beneficial for anyone who is learning or using Python, regardless of their level of experience. This can include students, professionals, and hobbyists who are looking to improve their skills and understanding of Python.

What types of help are available through CSC Python Programming Help?

CSC Python Programming Help offers a variety of services, including one-on-one tutoring, online courses, and resources such as tutorials and practice problems. These can be tailored to meet the specific needs of the individual seeking help.

How do I access CSC Python Programming Help?

CSC Python Programming Help can be accessed through their website or through various online platforms such as social media or coding forums. They may also offer in-person services in certain locations.

Is CSC Python Programming Help free?

While some resources and services may be available for free, others may require a fee. It is best to check with CSC Python Programming Help directly for more information on their pricing and services.

Similar threads

  • Programming and Computer Science
Replies
15
Views
1K
  • Programming and Computer Science
Replies
2
Views
1K
  • Programming and Computer Science
Replies
1
Views
831
  • Programming and Computer Science
Replies
5
Views
2K
  • Programming and Computer Science
Replies
1
Views
2K
Replies
1
Views
2K
  • Programming and Computer Science
Replies
1
Views
1K
  • Programming and Computer Science
Replies
3
Views
1K
  • Programming and Computer Science
Replies
5
Views
2K
  • Programming and Computer Science
Replies
1
Views
972
Back
Top