Inspiration
This project, though it does not seem to have any direct applications or impact aside from chess, serves as a proof of concept. We designed a chess engine because we wanted to determine our theoretical capabilities (and because chess is fun). We are hoping that this project serves as a gateway to developing more complex and better functioning machine learning algorithms, ones that could be implemented to better serve our community and society.
What it does
We built a chess engine AI, along with implementing a voice recognition software that allows users to verbally dictate their next moves.
How we built it
We coded certain attributes of interest for a chess game that an evolutionary algorithm can take in as parameters; a neural network can then adjust the weights of these parameters through hundreds of iterations of chess games, creating a fitness function to optimize the next move for our AI.
Challenges we ran into
We implemented quite a few advanced ideas into our project, but our biggest challenge was the lack of time. We spent the majority of the 36 hours creating our machine learning algorithm, a user interface using Django, and implementing the Google speech recognition API into our user interface. We only had a few hours to train our AI from our machine learning algorithm, so we are not (yet) able to see the full extent of success of our chess AI. Another part that gave us a little trouble was the cooperation of Google speech recognition API and our user interface, but we can resolve the conflict given more time.
Accomplishments that we're proud of
We chose quite a daunting task, and I think our expectation initially started off low. However, not only were we able to create a fully functional chess engine, the AI isn't half bad at chess! Additionally, we all pride ourselves on adding additional features to improve the accessibility and convenience of using our chess AI, namely Google speech recognition software.
What we learned
We learned how to implement and utilize machine learning to solve a new class of problems (not just chess)! Incorporating different technologies and using a wide array of problem solving techniques allowed to view problems from a new perspective. This was our first time creating a web user interface using Django and implementing a machine learning algorithm, so I'd say this project was successful.
What's next for Y.A.C.A.I (Yet Another Chess A.I.)
The next obvious step is allowing more time to train our AI. We can continue to implement more advanced and better correlated attributes to increase the complexity and functionality of our chess engine, drastically improving its decision-making with every new addition to the algorithm. We can also use the extra time to flesh out the web application and its interactions with the speech recognition API.
Built With
- django
- google-cloud
- machine-learning
- python
- python-chess

Log in or sign up for Devpost to join the conversation.