(THE SIMPLEST GAME SETTING)

*Game Setting: No. of colours: 7; Start from: Trial 1; Length of code: 4; Hints contain
error(s)?: No error; Order type: Fixed order; Colour repeated?: No repetition
Code: 1345
*

In the beginning we can input any 4 digits. Suppose we input 0123 and the hint is 2 (i.e. we get 2 digits correct). In order to trace our reasoning procedure effectively, a Trace Table will be given below. The Trace Table will include such information as the Codebreaker's input, hint obtained, the new digits used in each round of guess and the digit(s) assumed to be correct among the new digits used in a particular round of guess. At the end of the 1st Round, we get the following Trace Table:

Round | Input | Hint | New Digits Used in this Round | Digit(s) Assumed to be Correct |
---|---|---|---|---|

1 | 0123 | 2 | 0123 | - |

Then we enter the 2nd Round. At first we review the guess result in the 1st Round. As we got 2 digits correct in the 1st Round, we may assume those 2 digits to be 01. In addition, we also need two new digits 45. After inputting 0145, the hint is 3. Thus at the end of the 2nd Round, the Trace Table becomes:

Round | Input | Hint | New Digits Used in this Round | Digit(s) Assumed to be Correct |
---|---|---|---|---|

1 | 0123 | 2 | 0123 | 01 |

2 | 0145 | 3 | 45 | - |

Next we enter the 3rd Round and review our guess result in the 2nd Round first. As in the 2nd Round we got one more correct digit as compared with the 1st Round, we assume that this correct digit is 4. As we now assume that the correct digits are 014, we still need one new digit 6. After inputting 0146, the hint is 2. Thus at the end of the 3rd Round, the Trace Table becomes:

Round | Input | Hint | New Digits Used in this Round | Digit(s) Assumed to be Correct |
---|---|---|---|---|

1 | 0123 | 2 | 0123 | 01 |

2 | 0145 | 3 | 45 | 4 |

3 | 0146 | 2 | 6 | - |

Next we enter the 4th Round and review our guess result in the 3rd Round first. Since in the 3rd
Round we previously assumed that 014 were the correct digits but the hint we got was 2, this
shows that our previous assumptions are incorrect. So we must go back to modify our assumptions.
We first go back to the 2nd Round and change the "Digit(s) Assumed to be Correct" to 5. This
means that we now assume the correct digits to be 015. Having modified our assumption, we proceed
forward again and consider the guess result of the 3rd Round. Comparing 015 with our guess in the
3rd Round - 0146, we get the following conclusion: if the Code really contains 015, then our
guess 0146 in the 3rd Round should contain at least 2 correct digits. As a matter of fact, the
hint for the 3rd Round is exactly 2. That means the new digit 6 used in the 3rd Round is not
included in the Code. But if this were the case, there would be no more new digits for us to use
(according to the Game Setting, the no. of colours for this game is 7, represented by 0,1...6,
respectively). This shows that our previous assumptions are incorrect and so we must go back to
modify our assumptions again.

We first return to the 2nd Round. As the digit(s) assumed to be correct in the 2nd Round is now
5, which is already the last possible correct digit and thus unchangeable. So we move on to the
1st Round. The digit(s) assumed to be corect in the 1st Round is 01, which is changeable, and so
we change it to 02. Next we proceed forward again. First we come to the 2nd Round. Comparing 02
and our guess in that Round - 0145, we get the following conclusion: if the Code really contains
02, then our guess 0145 in the 2nd Round should contain at least 1 correct digit. As a matter of
fact, the hint for the 2nd Round is 3, which is 2 more than what we expected. Thus these two
digits must be 45. Next we proceed onward to the 3rd Round. Comparing 0245 with our guess in that
Round - 0146, we get the following conclusion: if the Code is really 0245, then our guess 0146 in
the 3rd Round should contain 2 correct digits. And in fact the hint for the 3rd Round is exactly
2, which does not contradict our assumptions. Moreover, as our assumed Code 0245 now contains 4
digits, no more new digits are needed, this is a reasonable guess. We next input 0245 and the
hint is 2. Thus at the end of the 4th Round, the Trace Table becomes:

Round | Input | Hint | New Digits Used in this Round | Digit(s) Assumed to be Correct |
---|---|---|---|---|

1 | 0123 | 2 | 0123 | 02 |

2 | 0145 | 3 | 45 | 45 |

3 | 0146 | 2 | 6 | - |

4 | 0245 | 2 | - | - |

Next we enter the 5th Round and review our guess result in the 4th Round first. As we assumed the
correct digits to be 0245 in the 4th Round but our hint was only 2, this means our previous
assumptions are incorrect and so we need to go back to modify our previous assumptions. First we
return to the 3rd Round. Since there is no digit assumed to be correct in the 3rd Round, we move
on to the 2nd Round. As the digit(s) assumed to be correct in the 2nd Round is 45, which is
unchangeable, we further move on to the 1st Round and change the digit(s) assumed to be correct
in the 1st Round to 03. Having done this, we proceed forward again. We first come to the 2nd
Round. Comparing 03 and our guess in that Round - 0145, we get the following conclusion: if the
Code really contains 03, then our guess 0145 in the 2nd Round should contain at least 1 correct
digit. As a matter of fact, the hint for the 2nd Round is 3, which is 2 more than what we
expected. So these two digits must be 45. Next we proceed to the 3rd Round. Comparing 0345 with
our guess in that Round - 0146, we get the following conclusion: if the Code is really 0345, then
our guess 0146 in the 3rd Round should contain 2 correct digits. And in fact the hint for the 3rd
Round is esactly 2, which is consistent with our assumptions. Next we proceed to the 4th Round.
Comparing 0345 with our guess in that Round - 0245, we get the following conclusion: if the Code
is really 0345, then we should get at least 3 correct digits in the 4th Round. But in fact the
hint for the 4th Round is 2, which is 1 less than what we expected. This means that our previous
assumptions are incorrect and so we must go back again to modify our previous assumptions.

As shown in the last paragraph, the digit(s) assumed to be correct in the 3rd and 2nd Rounds are
unchangeable. Thus we must go back to the 1st Round and change the digit(s) assumed to be correct
in the 1st Round to 12. Then we proceed forward to the 2nd Round again. Comparing 12 and 0145, we
conclude that if the Code really contains 12, then we should get at least 1 correct digit in the
2nd Round. As the hint for the 2nd Round is 3, which is 2 more than what we expected, these two
digits must be 45. Next we proceed onward to the 3rd Round. Comparing 1245 and 0146, we conclude
that if the Code is really 1245, then we should get 2 correct digits in the 3rd Round. As the
hint for the 3rd Round is exactly 2, this is consistent with our assumptions. Next we proceed
onward to the 4th Round. Comparing 1245 and 0245, we conclude that if the Code is really 1245,
then we should get 3 correct digits in the 4th Round. But the hint for the 4th Round is 2, which
is contradictory with our assumptions. This shows that our previous assumptions are still
incorrect and so we must go back once again to modify our previous assumptions.

We return to the 1st Round once again and change the digit(s) assumed to correct in that Round to
13. Next we proceed forward again to the 2nd Round. Comparing 13 and 0145, we conclude that if
the Code really contains 13, then we should get at least 1 correct digit in the 2nd Round. As the
hint for the 2nd Round is 3, which is 2 more than what we expected, these two digits must be 45.
Next we proceed onward to the 3rd Round. Comparing 1345 with 0146, we conclude that if the Code
is really 1345, then we should get 2 correct digits in the 3rd Round. As the hint for the 3rd
Round is exactly 2, this is consistent with our assumptions. Next we proceed onward to the 4th
Round. Comparing 1345 and 0245, we conclude that if the Code is really 1345, we should get 2
correct digits in the 4th Round. As the hint for the 4th Round is exactly 2, this is again
consistent with our assumptions. Now our assumed Code 1345 is consistent with the hints for the
1st to the 4th Rounds and contains exactly 4 digits. Next we input 1345 and as result, we win the
game. At the end of the 5th Round, our Trace Table becomes:

Round | Input | Hint | New Digits Used in this Round | Digit(s) Assumed to be Correct |
---|---|---|---|---|

1 | 0123 | 2 | 0123 | 13 |

2 | 0145 | 3 | 45 | 45 |

3 | 0146 | 2 | 6 | - |

4 | 0245 | 2 | - | - |

5 | 1345 | WIN | - | - |

To summarize, the strategy I introduce here for breaking Mastermind Codes is a repetitive process of making assumptions and modifying assumptions according to the hints. Our assumptions are made in stages. We conjecture which new digit(s) used in each Round may be included in the Code according to the guess result (i.e. hint) of that particular Round. Whenever we find that our assumptions are incorrect, we go back to modify our previous assumptions. As our strategy is to avoid any omission in our reasoning, we make the least possible modification each time, i.e. we try to move just one step back to the previous Round and modify the assumption made in that Round wherever possible. But if the assumption made in the previous Round is unchangeable, we cannot but move one more step back until we find a changeable assumption. After modifying our assumption, we must proceed onward again to check if our new assumptions contradict the guess result of the next Round. If so, this means that our new assumptions are still incorrect and we must go back again to make further modification to our assumptions. If not, then we continue to proceed forward until we prove that our new assumptions are consistent with all the guess results. By that time we can then input our new guess. In short, in the process of making guesses we repetitively move backward and forward to review the guess results currently available and do our best to make use of any hints already at hand as well as avoid omitting any possibilties.