Coconote
AI notes
AI voice & video notes
Export note
Try for free
Rock Paper Scissors Predictive Algorithm
Aug 7, 2024
Rock Paper Scissors Engine and Predicting Human Randomness
Introduction
Developed a Rock Paper Scissors engine to analyze and predict player behavior.
The engine builds a psychological profile based on player moves to enhance prediction over time.
Initial Concept
Starts with no knowledge of the player's preferences.
Uses statistical advantage by starting with 'paper' as the first move (most common first choice).
Psychological Profiling
Records player moves to identify unconscious patterns after about 100 games.
Rates trends with confidence values to improve prediction accuracy as more games are played.
Number Prediction Experiment
Inspired by a study on human randomness; humans are often predictable when trying to be random.
Aims to extend the Rock Paper Scissors algorithm to predict arbitrary numbers between 0 and 100.
Key Ideas
When asked to think of a number, human predictability can be modeled.
Initial thoughts suggest low odds for accurate guessing, yet patterns can emerge with enough data.
Rock Paper Scissors Algorithm Breakdown
Basic Mechanics
Game Start
: Player presented with Rock, Paper, Scissors options.
First Move
: Engine plays 'paper' by default to leverage common human choice.
Move Recording
: Each player move is recorded in a list.
Pattern Identification
: Compares current moves with past moves to identify trends.
Focus on Recent Data
: More recent moves are weighted more heavily than older ones.
Retroactive Interference
Humans face challenges with retroactive interference, which influences their pattern replication.
Recent thoughts and actions are more easily recalled than those from the distant past.
Transition to Number Prediction
Created a simple interface for entering numbers (0-100).
Initially, the bot had no brain and returned nonsensical predictions.
Updated the code to compare earlier inputs with recent numbers to predict future inputs.
Advanced Features
Expanded the depth of analysis to 1 million past inputs.
Bot learns from a wide range of user inputs, improving prediction accuracy.
Added sound effects for correct and incorrect guesses to enhance user experience.
Testing and Results
Implemented metrics to measure performance: total win rate, confidence table, and rounds played.
Input a diverse set of random numbers to evaluate prediction accuracy.
Achieved a win rate of 6.6% during early testing, improved to 11.24% after refinements.
Even with low accuracy, the model demonstrated notable predictability compared to pure randomness.
Data Collection
Launched a Discord bot to collect user-generated data, reaching over 21,000 entries.
Analyzed patterns in the data to improve prediction models based on preceding numbers.
Applied random forest regression models for predicting sequences effectively.
New Algorithm Insights
Introduced concepts of normal distribution to reward confidence in predicting numbers.
Explored how time pressure influences human randomness during input.
Final Comparison
Conducted a test where two friends attempted to predict numbers against the bot.
The bot achieved a win rate of 5.2% while the humans struggled with a win rate of 1.8% on average.
Conclusion
The bot can predict human input more accurately than humans can predict themselves.
Insights gained from the exploration of human unpredictability and algorithmic prediction.
The creator reflects on shifting content focus from Minecraft to more diverse and engaging topics.
📄
Full transcript