In Freecell, there are two types of 'failure'- Impending, and Immediate. Impending means that you have no chance of success from your current position, and Immediate means that you have no legal moves left to make, and therefore no chance to win.
For example, using my ubiquitous MS Deal #1, the opening sequence "1a, 1b, 1c, 1d" makes the position an impending failure. FCPro says it's impossible, but lets you continue playing, as there are still legal moves yet to make. In this case: one. Move "16" is immediate. MS Deal 11982 is impending right from the start.
Is there a program (or a way to modify FCPro) that will allow you to know when you're screwed over before you get to a total table lockup? If I recall right, there was a program that warned you when "There is no longer any way to win. Start over, new game, continue..." but I don't think it was Freecell.
Also, what exactly *IS* a Hash table? To me, it sounds like something you use to make breakfast foods. I know it has something to do with arrays...
Progress on my solver so far: can evaluate all branches up to 1a 1b 1c 8d, where it basically dies. Instead of re-creating the ban list on every move, I'm porting it around as a separate array thing. Trying to make it a dynamically sized list isn't working out AT ALL, so I'm going to convert it to a list of bools tomorrow... or today, I guess.
Received on Wed Nov 19 2003 - 23:41:57 IST