Videos
I feel like there must be some small little strategy or something that I just cannot pick up on. I always end up having to guess multiple times - is there some sort of way I can make my guesses have better odds? Or is there a helpful trick that you use that maybe I'm just not smart enough to think of? Any advice would be great.
It is better to start in the corner in Minesweeper. The reason for this is simple: corners are the most likely place for logically unsolvable positions. The more corners you remove, the greater the chance you'll be able to solve the puzzle, regardless of mine density. Since your starting move can't be a mine, starting there reduces the chance of being stuck on a corner by 25%.
The reason corners are the most likely place for unsolvable positions is simple: you have very few clues there. Note that this will also tend to generate smaller starting cleared areas when you start in the corner, but this isn't generally a hindrance.
You are additionally not much more likely to have a faster game if you start in the corner. The reason for this is simple: until you run out of options, you're always executing further options. If a region would have been cleared by clicking in the middle of the puzzle, it will be cleared when you reach it normally. In this sense, you wouldn't actually be saving time by clearing the middle region, because you'll inevitably clear it anyway.
Surprisingly it is not best to play in the corner but near a corner. The corners do not give you enough information to proceed. Near the corner helps eliminate one possible 50% guess.
I have written a solver for MineSweeper and the odds of winning are posted below based on the size of the puzzle. The coordinates such as (x,y) assumes the upper left corner is (0,0) and the array references are puzzle[y][x]. I have run millions of samples and the results are much better than I originally posted.
| Size | Pos | Percent | Estimated deviation | new results |
|---|---|---|---|---|
| small | 2,2 | 96.955% | .04% | 97.18% |
| small | 2,1 | 96.919% | .04% | |
| small | 3,2 | 96.886% | .04% | |
| small | 3,3 | 96.671% | .04% | |
| medium | 3,2 | 87.683% | .08% | |
| medium | 2,2 | 87.618% | .08% | 89.20% |
| medium | 3,3 | 87.541% | .08% | |
| expert | 3,3 | 46.916% | .11% | 53.96% |
| expert | 3,2 | 46.833% | .11% |
I posted the source source code at https://github.com/EdLogg/MineSweeper.
I got my ideas and many suggestions from David Hill using Reddit name BinaryChop. Our conversation is at https://www.reddit.com/r/Minesweeper/comments/8b3b30/odds_of_winning_at_minesweeper/
I have not been able to find any guide that fully explains this. They're all like "durr durr click this one cause its a mine" like how the fuck am I supposed to know?