~/talk

Solving Ricochet Robots

Talkat MountainWest RubyConf 2015 · 2015-03-09..03-10· [game-development]
slides:none on file

Solves Ricochet Robots (16 by6 grid, five robots) by treating robot positions plus current goal as the state, using breadth‑first search with optimizations to find optimal solutions. State space is about 9,765 billion positions with a branching factor of 9–20. Key engineering: pre-computed stopping cells, a board state equivalence class that ignores irrelevant robot colors, skip generating no‑move states, and check successors before enqueueing — cutting states considered by nearly 3× and solving a 17‑turn game in about 30 seconds.

AI-written summary · about

  1. 0:00Intro
  2. 1:25Why Graphs, Trees & Algorithms?
  3. 2:02What is Ricochet Robots?
  4. 3:35Characterizing the Problem
  5. 4:14Representing the Board
  6. 4:59Representing Robot Movement
  7. 5:49Search Algorithms
  8. 7:32Depth-First Search: Cycles
  9. 9:48Breadth-First Search
  10. 12:18Heuristic: Move Active Robot First
  11. 14:25Do Things Faster: Precompute stopping cells
  12. 16:30Do Things Faster: Sorted Array vs Set
  13. 17:07Do Things Faster Use Object Identity Instead of Deep Equality
  14. 17:42Demo
  15. 18:53Future Ideas: Better Algorithms
  16. 19:06A* Algorithm
  17. 20:53Work Backwards
  18. 21:11Future Ideas: Better Heuristics
  19. 21:56Future Ideas: More Optimizations
  20. 22:28Acknowledgements
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.