CHOOSEAgents & automation
Synthetic Reasoning for Snake AI
This project demonstrates a 'Synthetic Reasoning' approach where a Snake AI breaks down a strategy into micro-decisions, leading to significantly longer gameplay and more fruit consumption compared to a direct strategy.
TakeThe questions per available action are: 1.
18 turns + 1 fruit VS 1867 turns + 67 fruits. What's the difference?
Both Snakes controlled by @typesafeai Jev.
The one on the left provides Jev with a strategy to play snake and then asks what to do: left, right, forward. It plays 6-18 turns and eats at most one fruit.
The one on the right, breaks down this strategy into 5 questions and plays for 1867 turns and eats 67 fruits.
The questions per available action are:
1. Is this going to lead to a crash?
2. Does this bring us closer to food?
3. Does this move bring us closer to a dead end?
4. Can the head still get to its own tail?
5. Is the room larger than the snake or not?
Then a deterministic weight function combines the probabilities into one answer. Which action to take?
After 1867 turns I stopped it, it was running in circles (but not dying) after its own tail over and over.
The weight function still needs to be calibrated further...
This is something that I call "Synthetic Reasoning" or "Synthetic Chain of Thought" (just the first names that came to my mind).
The idea is that you can decompose an action, into a pseudo chain of thought of micro decisions.
That's it.
