Ultimately, to make a graph of all possible Chopsticks game states.
Subgoals:
Simulate the game Chopsticks(it can even do games with arbitrary player counts, hands per player, and fingers per hand!)Make a program that will try every possible move and make a big tree(could probably be optimized, but it works well enough for now)- Visualize the tree with a cool graph
- ???
- Profit
- You can only split from an even-fingered lonely hand (a hand without a partner)
- Splits must be neatly in half
- Splitting counts as a turn
In August I started wondering if I could find out an optimal Chopsticks strategy. I started out by making a graph of a bunch of game states. It soon became quite tedious, so I decided I'd write a program to do it or something. There's an upper bound of (5 fingers)^(4 hands)*(2 players whose turn it could be) = 1250 gamestates, each with at most two edges to children, so this graph should be quite achievable.
On 11/10/2021 I mentioned it to my compsci TA Henri, and he made us a replit to start working. That weekend, I barely slept and did no homework, but I created a logger! That was broken!!!! Then I was busy until the end of the semester.
On 12/25/2021 I fixed the logger!