Tool/Solver to solve Mastermind automatically by finding a combination of colours in a minimum of attempts.

Mastermind Solver - dCode

Tag(s) : Board Games

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!

A suggestion ? a feedback ? a bug ? an idea ? *Write to dCode*!

**Mastermind** is a board game based on deduction where the player must discover a combination of colors with a minimum of guesswork. The game is generally played with 2 players with asymmetric functions: one is an encoder, the other is a decoder. The encoder records a secret color combination that his opponent must decode by proposing combinations himself. The encoder must respond by indicating whether one or more colors are correctly or incorrectly placed. If the decoder finds the combination of the encoder, the game ends.

The **Mastermind** solver is configurable in size (number of colored pawns in the solution code) and in choices (number of possible colors/items) depending on the kind of **Mastermind** game to be resolved by the player.

In its original version, a **mastermind** has generally 4 pegs/slots among 6 colours for each attempt, the player receives 2 clues/numbers: the number of correct colors' positions and the number of incorrect colors' positions.

The dCode solver uses an easy syntax to describe the combinations proposals and to deduce the possible solutions. For a `N` sized combination to guess (`N` = number of items to find), each proposal must contain `N` letters followed by 2 digits indicating the clues obtained (number of colors well and badly placed). Separate each proposition with a line break.

Each letter represents a color of your choice, it is advisable to use the initial letter of the color (but beware of duplicates: do not put `B` for both *Black* and *Blue* ! Prefer to replace Blue with `C` (for *Cyan*).

__Example:__ Combination `RGBY 2 0` correspond to a proposal with in position 1: `R` for Red, in position 2: `G` for Green, in position 3: `B` for Black and in position 4: `Y` for Yellow

Digits `2` and `0` correspond respectively to `2` pegs in the correct position and `0` in wrong position.

It is also possible to indicate `jokers` (empty cells or unknown indicated by `?`, `*`, `-` or `_`) as for the combination, but also for right and wrong positions.

__Example:__ `Black,Black,Yellow,Red` (1 in the right position, 2 in the wrong position) is written: `BBYR12`

__Example:__ `Yellow,Blank,Blank,Blank` (0 well placed, 1 bad placed) is written: `Y--- 01` (with `-` = joker)

__Example:__ `Red,Green,Blue` (1 in the right position and ignore the wrongly placed) is written: 'RGB 1?' (with `?` = joker)

According to Donald Knuth, and according to the original rules (combination of 4 colors among 6) it is possible to find the code in 5 steps (or less). The algorithm to use is:

1 - Generate the set E of the 1296 possible codes (from `1111` to `6666`).

2 - Propose as first guess `1122`

3 - If the answer is correct, the puzzle is over. Otherwise, delete from the set E all the codes that would give the same answer.

4 - For each possible code that has not been attempted, calculate how many possibilities of the set E would be eliminated for each possible answer (combination well placed-misplaced). Give a score to this code equal to the minimum number of possibilities eliminated in E. Propose one of the codes with the best score as guess (preferably a code present in S). Resume in step 3.

This algorithm can find the code in 5 steps (or less).

Mathematically, if the strategy of the code-breaker (guessing player) is known then there are indeed more or less difficult combinations, but as indicated (above), using the optimal strategy of Donald Knuth then no combination is really difficult and all solutions can be found in 5 steps or less. Always mathematically, if the player's strategy is not known, then there is no combination more difficult than another.

For information, using this type of algorithm, the best combinations (the most difficult combinations to solve) are `1221`, `2354`, `3311`, `4524`, `5656`, `6643`.

However, not all players reason with mathematical algorithms, it is possible to imagine harder to find combinations by trapping the human brain.

— Novice players often forget that the combination can have the same color several times, using 2 or 3 times the same element in the combination can make the game more difficult.

— If the combinations are made of numbers or letters, use large numbers or letters at the end of the alphabet in priority, because the algorithms and the players will often start by trying `1122` and not `5566` (and if it does, use mid range digits).

— If the players have agreed, a variant authorizes one or more empty spaces in the combination.

The best known variant is to use words to guess. The game, sometimes called Masterword then becomes much more complicated because the number of possible combinations increases exponentially.

A variant (which needs a players agreement before setting the game) is to allow a *blank* (a space without peg / color).

The **Mastermind** is often used as a puzzle in video games, such as in Old School RuneScape (OSRS) where a **Mastermind** makes players sweat (Fremennik Exiles).

The board game **Mastermind** credits Mordecai Meirovitz as author in 1971.

dCode retains ownership of the online "Mastermind Solver" source code. Except explicit open source licence (indicated CC / Creative Commons / free), the "Mastermind Solver" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or the "Mastermind Solver" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and all data download, script, copy-paste, or API access for "Mastermind Solver" are not public, same for offline use on PC, tablet, iPhone or Android ! Remainder : dCode is free to use.

Please, check our dCode Discord community for help requests!

NB: for encrypted messages, test our automatic cipher identifier!

mastermind,master,mind,mordecai,meirovitz,peg,slot,code,game,combination,masterword

Source : https://www.dcode.fr/mastermind-solver

© 2021 dCode — The ultimate 'toolkit' to solve every games / riddles / geocaching / CTF.

Feedback

▲
Thanks to your feedback and relevant comments, dCode has developed the best 'Mastermind Solver' tool, so feel free to write! Thank you!