Skip to content
This repository has been archived by the owner on Jun 6, 2024. It is now read-only.

🔮 Mastermind puzzle solver using Genetic Algorithm and Grid Search for optimization

License

Notifications You must be signed in to change notification settings

NongMindHouse/MasterNongMind

Repository files navigation

🔮 Fine Tuning Genetic Algorithm for Solving Mastermind (MasterNongMind)

👀 Creating a Mastermind puzzle guessing algorithm using permutations and handcrafted rule-based solutions.

ℹ️ About this Project

  • 📚 Project Background: "MasterNongMind" is "a one of many projects" we did for the course CPE231 Algorithm in the Computer Engineering at ⚙️🐜KMUTT, where students apply algorithmic knowledge to solve the Mastermind puzzle.
  • 🎯 Project Goal: The primary objective of "MasterNongMind" is to design and implement an efficient algorithm for solving the classic Mastermind puzzle.
  • 💡 Mastermind is a game of logic and deduction where one player creates a secret code, and the other player, in this case, the algorithm, attempts to guess the code within a limited number of turns. The aim is to create a robust, rule-based solution that can effectively deduce the secret code by making logical guesses.
  • 📊 Performance Evaluation: Success will be measured by the number of turns needed to guess the code, guess accuracy, and algorithm efficiency.
  • 📄 References & Acknowledgement Our work is based on the paper by Berghman, L., Goossens, D., & Leus, R. (2009), titled "Efficient solutions for Mastermind using genetic algorithms" (Computers & Operations Research, 36(6), 1880-1885). This paper provided us with valuable insights into designing the genetic algorithm to work with Mastermind. Another honorable mention is the mastermind-genetic-algorithm repository, which provides guidelines for implementing the genetic algorithm in Python.

⚙️ Technical Concept

  • 🧑🏻‍💻 Implemented in C programming
  • 🤖 Algorithms:
    • Permutations (Bruteforce/Heap) to generate every possible code combination.
    • Genetic Algorithms to enhance decision-making abilities based on all previous feedback.

🧑🏻‍💻 Members

ID Name GitHub
65070501001 Kantapong Vongpanich OnlyJust3rd
65070501017 Chotanansub Sophaken ChotanansubSoph
65070501044 Phuris Pimpat MiikyMan
65070501073 Chaiyapat Meeying ChaiyapatOam
65070501082 Pattaranun Ayaprasitphol efmuruk
65070501088 Sopida Kaewjongkool

Releases

No releases published

Packages

No packages published