The AI Chess Tournament Generator is a React.js application powered by statistical modeling and optimization algorithms, specifically leveraging skewed normal distribution with genetic algorithms. The primary goal is to facilitate the creation of chess tournaments by calculating the probabilistically best tournament format. The application takes into account a number of players' recent ratings and the desired number of rounds, aiming to achieve either maximum fairness or excitement.
The AI Chess Tournament Generator is hosted on a public GitHub repository. Make sure to have Node
and Git
installed beforehand. To set it up locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Prog-Jacob/chess-tournament-generator.git
-
Navigate to the project directory:
cd chess-tournament-generator
-
Install dependencies:
npm install
-
Run the application:
npm start
-
Access the application in your browser at
http://localhost:3000
.
- Supports three common chess formats:
- Swiss system with 1 game per match.
- Round Robin with 1 or 2 games per match.
- Single Elimination Round with 2 games per match.
- Two modes:
- Fair: Maximizes for expected results.
- Exciting: Maximizes against expected results.
- Input options:
- Manual input through the UI.
- JSON file input
{ ratings?: number[], name?: string }[]
.
- Experimentation modes:
- Generate random players on the fly.
- Use a predefined test set of the top 20 players worldwide in classical chess as of January 2024.
- Advance through generations:
- Advance through generations and check out how does the tournament formats and standings change over generations.
To use the AI Chess Tournament Generator:
- Manually input players' information or upload a JSON file.
- Or experiment with random player generation or use the provided test set.
- Input the desired settings through the user interface.
- Receive the optimized tournament format for fairness or excitement.
For questions or issues, feel free to reach out to [Ahmed Abdelaziz] at [Ahmed.Abdelaziz.GM@gmail.com].