I play an iPad solitaire game. Actually, I play two different ones, but I’ve taken a vacation from one because I’m currently stuck on one deal and I don’t want to give up my 1,581 deal winning streak.
This particular game is interesting to me because as you play, it will sometimes put up a warning that says “Not winnable”. And I think it’s true – I’ve kept playing after that comes up and I’ve never managed to win.
The most salient thing to me is that there is a delay after your move before that banner comes us, which indicates to me that the game is doing some sort of algorithm to determine if it’s winnable at that state. During the time it’s processing, it’s possible to do more moves, so it’s doing the processing asynchronously. When I get that banner, what I usually do is back up until it goes away, which because of the delay sometimes takes more than one back step.
But here’s the bit that I find the most interesting: sometimes when you get the banner and back up until it goes away, you get a situation where it doesn’t matter what you do going forward, you get the banner. It’s a weird kind of state where it says it’s winnable, but nothing you do can get you to the next state where it’s still winnable. It makes me wonder how it thinks I could win from that state.
It also makes me wonder about the algorithm it’s using to determine the winability. I’m guessing that this means it’s not just brute forcing forward to see if there is a path to a win. Either that or the brute force algorithm is seeing some path forward that I’m missing.
One thing I haven’t tried yet is to back up even further and try a different path forward. Maybe I need to try that?