On Wed, 15 Aug 2012 07:45:34 -0700
"Gary Campbell" <gary_at_numin8r.us> wrote:
> I haven’t followed the recent disucssion quite closely enough, I’ll
> give it more time eventually. At the moment, my solver is undergoing
> a radical revision. But, one pruning operation I’ve had for quite a
> while is the prevention of a->b->c type moves. Your 2-step (both
> irreversible) moves fall into that category. At step 1, you may have
> the option of moving a->b or a->c. If you select a->b, and have to
> back up because it didn’t work out, you prune b->c and back up to the
> a->c move. This appears to me to avoid the problem you encountered,
> and it avoids a lot of redundant moves. My solver looks back deeply
> to avoid these moves, they don’t have to be in sequence.
Well, sometimes you need to do a->b->c if you wish to solve the board.
An example is a column where the 2H is lying on top of a AH. You first need
to move the 2H to a Freecell, a suitable parent or an empty column, (which
would be one irreversible move) before you can move the AH to the foundations, and
the 2H there as well (another irreversible move).
That put aside, the scheme I have described is for the so-called depth_dbm_fc_solver
which is meant to traverse the graph of the Freecell deal exhaustively and to give
an accurate verdict for the presence or absence of a solution. It is not a general-purpose
solver and I have yet to implement something similar for libfreecell-solver.so (which is
what fc-solve uses).
Regards,
Shlomi Fish
>
> From: Shlomi Fish
> Sent: Tuesday, August 14, 2012 6:14 AM
> To: fc-solve-discuss_at_yahoogroups.com
> Subject: Consistent Count of Irreversible Moves
>
>
> Hi all,
>
> after I had implemented the scheme I thought of in this post -
> http://tech.groups.yahoo.com/group/fc-solve-discuss/message/1135 -
> I found out that the new depth_dbm_fc_solver traversed more boards
> than the normal dbm_fc_solver for one of the impossible deals. That
> indicated that some deals were probably counted twice, so I decided
> to investigate.
>
> What seems to have been the problem is the fact that some
> irreversible moves actually consist of two irreversible moves. I.e:
> if we move the 2H from its original location under a non-parent card
> to the foundations, then it would be equivalent to two irreversible
> moves, because we may reach this in a different case by first moving
> it into a freecell (one irreversible move) and then moving it to the
> foundation (another irreversible move). So I need to account for
> those in both the calculation of the rank of irreversibility of a
> single move, and the number of irreversible moves performed by the
> Horne's Prune's process.
>
> After I fixed this problem, the number of derived states and their
> contents was identical between the depth_dbm_fc_solver and the
> dbm_fc_solver.
>
> Regards,
>
> Shlomi Fish
>
--
-----------------------------------------------------------------
Shlomi Fish http://www.shlomifish.org/
Free (Creative Commons) Music Downloads, Reviews and more - http://jamendo.com/
If at first you don't succeed, destroy all evidence that you tried.
— Unknown
Please reply to list if it's a mailing list post - http://shlom.in/reply .
Received on Wed Aug 15 2012 - 15:13:57 IDT