Live data from Hacker News

How to solve the "Mastermind" guessing game? (2009)

stackoverflow.com

11–20 of 33 posts

Re: How to solve the "Mastermind" guessing game? (2009)

#11
So they are doing a large problem space investigation with Python?

Are there libraries that will allow for full multicore utilization in Python from the numeric analysis stuff? Am I wrong that Python isn't a great language for a computational experiment like this?

Re: How to solve the "Mastermind" guessing game? (2009)

#12

This game is part of the Simon Tatham's Puzzle collection as "Guess" ( https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/gues... ) I've seen a lot of algorithms for how to play this, Donal Knuth has one that can win in 5 moves, but none that are really usable by humans. The method I use, which seems to always win is: Guess 1111 Depending how many 1's were right, Guess 1222, 1122, 1112, 2222 Continue in this man…

Knuth's algorithm was in a short paper reprinted in one of his collections -- I forget which, but I think there was a "Fun and Games" one?

Re: How to solve the "Mastermind" guessing game? (2009)

#13

This game is part of the Simon Tatham's Puzzle collection as "Guess" ( https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/gues... ) I've seen a lot of algorithms for how to play this, Donal Knuth has one that can win in 5 moves, but none that are really usable by humans. The method I use, which seems to always win is: Guess 1111 Depending how many 1's were right, Guess 1222, 1122, 1112, 2222 Continue in this man…

Knuth's algorithm was in a short paper reprinted in one of his collections -- I forget which, but I think there was a "Fun and Games" one?

It is in the book "Selected papers on fun and games". But it is also available as a separate article "The Computer as Master Mind”.

I was certain he wrote the article about MOO and/or bulls and cows, but it seems like I remember wrong.

Re: How to solve the "Mastermind" guessing game? (2009)

#15

Earlier quoted context omitted.

Knuth's algorithm was in a short paper reprinted in one of his collections -- I forget which, but I think there was a "Fun and Games" one?

It is in the book "Selected papers on fun and games". But it is also available as a separate article "The Computer as Master Mind”. I was certain he wrote the article about MOO and/or bulls and cows, but it seems like I remember wrong.

“The Computer as Master Mind” PDF: https://www.cs.uni.edu/~wallingf/teaching/cs3530/resources/k...

It minimizes the worst-case, not the expected number of moves. I think Knuth’s algorithm can be beaten in that respect.

Re: How to solve the "Mastermind" guessing game? (2009)

#16

So they are doing a large problem space investigation with Python? Are there libraries that will allow for full multicore utilization in Python from the numeric analysis stuff? Am I wrong that Python isn't a great language for a computational experiment like this?

There's nothing large about that space. With 6 colors and 4 choices you get 1296 possibilities. Would have been peanuts even for the first 8-bit home computers.

Re: How to solve the "Mastermind" guessing game? (2009)

#17
This was one of the computer games from 1976 BASIC computer games that some of us worked on ports of for the Coding Horror: Basic Computer Games repo. I recall there were a number of errors in the original and thus a few in the ports, python being one. I ended up writing about the deduction logic for solving mastermind because it seemed non-intuitive.

https://github.com/coding-horror/basic-computer-games/blob/m...

Re: How to solve the "Mastermind" guessing game? (2009)

#18

So they are doing a large problem space investigation with Python? Are there libraries that will allow for full multicore utilization in Python from the numeric analysis stuff? Am I wrong that Python isn't a great language for a computational experiment like this?

There's nothing large about that space. With 6 colors and 4 choices you get 1296 possibilities. Would have been peanuts even for the first 8-bit home computers.

The "Super Master Mind" version goes up to 9 colors and 5 holes. It claims that expands things to 59,049 possibilities.

Re: How to solve the "Mastermind" guessing game? (2009)

#19

So they are doing a large problem space investigation with Python? Are there libraries that will allow for full multicore utilization in Python from the numeric analysis stuff? Am I wrong that Python isn't a great language for a computational experiment like this?

There's nothing large about that space. With 6 colors and 4 choices you get 1296 possibilities. Would have been peanuts even for the first 8-bit home computers.

That's kind of strange, I only was peripherally reading the discussion and saw they were doing random/entropic strategies, which IMO you do if the problem space is so large that you can't wrap around it using normal exploration techniques.

Re: How to solve the "Mastermind" guessing game? (2009)

#20
I remember writing a Mastermind solver in Ocaml, about a year after getting started with programming. The solution space is fairly small so I would start with a random guess then, of all solutions that are still legal, pick the one that would -- at worst -- reduce the solution space the most (essentially a one move ahead minimax).
Post reply on HN