The aim of this project was to implement a rock, paper, scissors playing bot that would use subconscious cyclic patterns in a human's play to win more games than if it were to just play randomly. We then looked to see how the AI performed against a truly random opponent.
In order to play against the AI you can either:
To play against AI through console, run play_game.m and use the keyboard to input your moves.
To play against the AI or a random opponent through the GUI, run app.mlapp and use the mouse to select your move.
To simulate the AI playing against a truly random opponent, run play_game_auto.m.
I can change the many .m files full of if statements for each of the agents to a single function that uses modulo arithmetic to decide what move the bot makes. This will be a much more elegant solution.
Lei Wang, Wenbin Huang, Yuanpeng Li, Julian Evans, and Sailing He. Multi-ai competing and winning against humans in iterated rock-paper-scissors game. Scientific Reports, 10(1), 2020. doi: 10.1038/s41598-020-70544-7.
Zhijian Wang, Bin Xu, and Hai-Jun Zhou. Social cycling and conditional responses in the rock-paper-scissors game. Scientific Reports, 4(1), 2014. doi: 10.1038/srep05830.