For BR:
<<Questioning grammar may not be flaming, but accusing me of trickery MUST
be a FLAME!! ;>)) (how the heck do I make a winking smile?)>>
Better I should have said "I was tricked by...."
<<PLEASE don't take my word for it. I'm trying to get you out of your
MS/FcPro chains.>>
Sorry to say it, but I really don't have any stomach left to dig into
the FcPro Solver any more. Whether I'll relent some day, I don't know. But
I'd rather concentrate on finding a better solver written by someone else.
If anyone else were to want to accept the challenge of digging into FcPro's
solver, the source would be made freely available. So far, it's still the
fastest solver I know of, although maybe it's as fast as it is only because
it allows false impossibles. Except I still have to do some further testing
of Patsolve. It might be that Patsolve's distribution of time taken to
solve a given suite of positions would be superior to FcPro's for the main
purpose for which FcPro's solver is used, i. e., for a quick verdict on any
intermediate position. I. e., Patsolve may be slower in its minimum times
at the low end of the distribution, but less likely to drag out to the
occasional very long interval. I. e., effectively a tighter range of
solution times.
<<Your definition conflicts with my understanding, which is based upon
MKeller's discussion of the printed solution to 617. There, he uses the term
for a 4-card column-to-column move using one empty freecell and one empty
column, a move allowed by MS. >>
That doesn't sound right. I'll have to check with Mike as to what he
meant. In FcPro, there is a optional mode for letting it provide the player
with "Supermove" or not.
<<I just know that MS is limited and wrong.>>
I'd take issue with the word "wrong". It's limited because it doesn't
provide the maximum capability. But that doesn't make it "wrong" in any
sense.
<<I'm happy with MK's explanation if it is complete and can be confirmed.>>
This isn't rocket science. It's a simple algebraic formula. Where c is
the number of vacant columns and f is the number of vacant freecells, for MS
the number of cards that can be moved from a column to an occupied column is
(c+1)*(f+1), to an empty column c*(f+1) For FcPro's "supermove", to an
occupied column it's (2^(c+1))*(f+1), to an empty column (2^c)*(f+1). I
think I have that right, but I'm not absolutely sure. That's what the code
seems to say. You have to put limits on it for high values of c.
Now, then, there is a degree to which FcPro doesn't quite go as far as
it might. I'd brought up the question of whether it's legitimate to include
in a supermove the move of a single card from a single-card column from the
column to an empty freecell to balance the distribution to allow a higher
number of cards to be moved. You'd replied that it's legal, but you
wouldn't count it as included within the automatic part of the move. FcPro
takes the same approach. It's up to the player to do that move
him/herself. But it would be possible to extend the code further, recognize
that situation, and include that column-to-freecell shift as a device to
give the player a still further shortcut.
Re hash, I'm still somewhat curious academically to learn how what Don
and I did compares to the way you big boys approach it. Later on I might
dig out the code for the hash value computation, and you can tell me what it
is we've been doing.
Best regards, ------------------Adrian
Received on Thu Dec 13 2001 - 04:43:12 IST