👀 Creating a Mastermind puzzle guessing algorithm using permutations and handcrafted rule-based solutions.
- 📚 Project Background: "MasterNongMind" is "a one of many projects" we did for the course
CPE231 Algorithm
in theComputer 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
.
- 🧑🏻💻 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.
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 |