Hah, I don't think my program even finished ONE randomly generated hand. And
no, I don't think it could handle the standard MS deals. I was writing this
all in Borland C++ v5.02, which (from what I hear) is notoriously
nonstandard, and wouldn't let me input appropriate seeds.
However, sometimes I wonder if there's not a mathematical way to plot out
ideal strategy. For example, Start with the Kings and draw lines to each
card's "subordinates"- that is, cards of n-1 value and opposite color. I'd
use this method in my head while playing by hand to determine when a board
has been solved. A board is solved when you can draw an uninterrupted
"string" from the top card of each column to the bottom card, which would
mean that each column is sorted in descending order and alternating colors.
I've always thought there HAS to be some kind of objective strategy that can
apply to ALL boards...
-Taren
On 6/10/05, Gary Campbell <gary_at_numin8r.us> wrote:
>
> Taren,
> Although I haven't worked on it since last fall, I've been working on my
> solver off and on for over three years! Does yours accept standard game
> numbers? After working on mine for a few years, I got in touch with some of
> the hard core people and discovered that most of them use a dictionary of
> positions reached so that they can avoid continuing when a position is
> reached for the second time. That avoids endless loops in a very efficient
> way. Tell me more about your program. For example, does it solve all of the
> original 32000 games with the exception of the one that's impossible?
> -Gary
>
> ----- Original Message -----
> *From:* Taren <tarennauxen_at_gmail.com>
> *To:* fc-solve-discuss_at_yahoogroups.com
> *Sent:* Friday, June 10, 2005 6:48 PM
> *Subject:* Re: Freecell Solver Programs
>
> I wrote one a while ago (loooong time, like last summer), and the problem
> I ran into was that you have to make sure not to fall into endless loops.
> For example, if you have two open columns, the computer might find an
> infinite-move solution that involves moving card X back and forth between
> the two open columns, or between both higher-order, opposite-color cards.
>
> Other than that, the hardest part of writing a program is "teaching" it
> the rules of what may and may not move.
>
> However, the most handy technique I used was assigning each card a
> numerical value, from 11 (actually 011) to 134- the first two digits being
> the card value (A=1, 2-10, J=11, Q=12, K=13), and the third being the suit
> (1, 2, 3, 4). Make sure to keep both evens the same color, and both odds the
> opposites, such as {Heart, Spade, Diamond, Club} = {1, 2, 3, 4}. That way
> you can not only save space by using integers, but you can also check for
> color alternation by doing a simple subtraction. If card 1 minus card 2 is
> odd, then you have a red/black pair, otherwise they are either red/red or
> black/black. But I'm sure everyone already knew this.
>
> -Taren
>
> On 6/10/05, Gary Campbell <gary_at_numin8r.us> wrote:
> >
> > Although I use "FreeCellPro" all the time to play freecell, I'm more
> > interested in discussing freecell solving programs with people who have
> > actually written a solver.
> >
> > Anyone who is interested in exchanging (or monitoring) information on
> > this subject, please send an email to me.
> >
> > I would hope that not too many people have written a solver, but that
> > anyone that has would join this exchange [even past masters, and even
> > if only to observe].
> >
> > I would like to discuss programming successes, failures, designs, and
> > anything else that might help us improve our own programs.
> >
> > -Gary Campbell
> >
> > ------------------------------
> > *Yahoo! Groups Links*
> >
> > - To visit your group on the web, go to:
> > http://groups.yahoo.com/group/fc-solve-discuss/
> > - To unsubscribe from this group, send an email to:
> > fc-solve-discuss-unsubscribe_at_yahoogroups.com
> > <fc-solve-discuss-unsubscribe_at_yahoogroups.com?subject=Unsubscribe>
> > - Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> > Service <http://docs.yahoo.com/info/terms/>.
> >
> >
>
> ------------------------------
> *Yahoo! Groups Links*
>
> - To visit your group on the web, go to:
> http://groups.yahoo.com/group/fc-solve-discuss/
> - To unsubscribe from this group, send an email to:
> fc-solve-discuss-unsubscribe_at_yahoogroups.com<fc-solve-discuss-unsubscribe_at_yahoogroups.com?subject=Unsubscribe>
> - Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> Service <http://docs.yahoo.com/info/terms/>.
>
>
Received on Fri Jun 10 2005 - 20:38:42 IDT