
Coding Challenge 162: Self-Avoiding Walk
It's finally time to attempt a Self-Avoiding Walk! In this video, I quickly visualize a simple JavaScript p5.js implementation of a self-avoiding walk. I then tackle the more complex problem of backtracking to find a solution to a space-filling self-avoiding walk. https://thecodingtrain.com/challenges/162-self-avoiding-walk
p5.js Web Editor Sketches:
πΉοΈ Basic Self Avoiding Walk: https://editor.p5js.org/codingtrain/sketches/2_4gyDD_9
πΉοΈ Self Avoiding Walk with Backtracking: https://editor.p5js.org/codingtrain/sketches/dRWS3A9nq
πΉοΈ Self Avoiding Walk 3D: https://editor.p5js.org/codingtrain/sketches/D0ONOlCDT
πΉοΈ Self Avoiding Walk with Bezier: https://editor.p5js.org/codingtrain/sketches/KFbX0NWgh
πΉοΈ Self Avoiding Walk with Recursion: https://editor.p5js.org/codingtrain/sketches/UPxBk1YiB
πΉοΈ Random Walk with Alpha: https://editor.p5js.org/codingtrain/sketches/IEw2RkDnJ
π₯ Previous video: https://youtu.be/EvS_a921dBo?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ All videos: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
Links discussed in this video:
π Self Avoiding Walk (Wikipedia): https://en.wikipedia.org/wiki/Self-avoiding_walk
π The complexity of counting self-avoiding walks in subgraphs of two-dimensional grids and hypercubes: https://www.sciencedirect.com/science/article/pii/S030439750300080X
π The pivot algorithm: A highly efficient Monte Carlo method for the self-avoiding walk (sci-hub): https://sci-hub.st/10.1007/bf01022990
Other videos mentioned in this video:
π₯ Random Walker - Coding Challenge 52: https://youtu.be/l__fEY1xanY
π₯ Minesweeper - Coding Challenge 71: https://youtu.be/LFU5ZlrR21E
π₯ filter() - Array Functions: https://youtu.be/qmnH5MT_luk
π₯ Maze Generator - Coding Challenge 10: https://youtu.be/HyK_Q5rrcr4
π₯ Recursion - Coding Train 77: https://youtu.be/jPsZwrV9ld0
π₯ A* Pathfinding Algorithm - Coding Challenge 51: https://youtu.be/aKYlikFAV4k
π₯ 3D Self Avoiding Walk - Coding Train Live (May 27, 2021): https://youtu.be/jlK1SJr-FBc?t=4353
Timestamps:
0:00 Choo choo! Welcome!
1:05 Explain! How can we go about this?
2:29 Code! Let's add a visited grid.
6:25 Code! What are the options for movement now?
10:34 Code! Let's check the edges.
12:34 I could stop here but wait.
13:30 Explain! How can we think about backtracking?
15:15 Code! Let's make a spot class and a path variable.
24:23 Code! Now backtracking!
29:38 Whoops! Copying allOptions was a mistake.
31:19 Code! Maybe we need an end condition.
32:09 Yay! It worked.
32:22 This could take awhile. Could it be improved?
π Website: http://thecodingtrain.com/
πΎ Share Your Creation! https://thecodingtrain.com/Guides/community-contribution-guide.html
π© Suggest Topics: https://github.com/CodingTrain/Rainbow-Topics
π‘ GitHub: https://github.com/CodingTrain
π¬ Discord: https://discord.gg/hPuGy2g
π Membership: http://youtube.com/thecodingtrain/join
π Store: https://standard.tv/codingtrain
π Books: https://www.amazon.com/shop/thecodingtrain
ποΈ Twitter: https://twitter.com/thecodingtrain
πΈ Instagram: https://www.instagram.com/the.coding.train/
π₯ Coding Challenges: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
π₯ Intro to Programming: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA
π p5.js: https://p5js.org
π p5.js Web Editor: https://editor.p5js.org/
π Processing: https://processing.org
π Code of Conduct: https://github.com/CodingTrain/Code-of-Conduct
This description was auto-generated. If you see a problem, please open an issue: https://github.com/CodingTrain/website/issues/new