I’m planning on creating an AI tournament as a project to test out some of the potential AI performance in a game, eg tic-tac-toe.
I’d like the AI to know the full history of a game instead of the instantaneous game-state because I might want some AI that use the historical data, eg AI that always put in the opposite cell of it’s previous move if possible.
The question I am wondering is, what is the best way to setup the tournament.
I have a few options in my headspace:
- Write everything in Rust (since I also am semi-interested in getting experience with the language)
- Write everything in Python
- Write the AI’s in anything I want, but interact using stdin/stdout. Connect the AI using some shell script.
There are a few nice things I want to have:
- able to run AI ad hoc against each other, or easily modify the tourney. ie I might want to add a new AI that runs against each of the previous AI instead of having the re-run the whole tourney
- Rust would require a re-compile of the tourney code each time which may not be convenient
- Options 2 and 3 would be much more convenient since it wouldn’t require a full compilation and I can easily write a throwaway script
- be able to run it in a somewhat performant way since I might want to simulate many rounds
- Rust AI would be fast, but to avoid the issue in (1), I might go with solution 3 with the underlying AI being in Rust. But I’m not sure how significant the speed of piping IO between programs compare to if I had wrote everything as a Python program
Any advice on this would be great, cause there might be some options that I might have omitted.
You must log in or # to comment.