Thanks for the suggestions. I think that I'll hold off on writing the
meta-move logic. I'm quite happy with the atomic-move version. Besides,
I want to see what kind of results I get if I modify it to use a
weighted search algorithm.
It will be a simple task for me to write a post-processor to remove the
auto moves from FCS's output. You don't need to take the time to do it.
Thanks though for the offer!
I call it a (near-)optimal solver because I actually have two versions.
The full version, BFS-500, consumes 1.5 hours and uses 750-MB of memory
to do an extensive optimal search. The scaled down version, BFS-020,
takes 3 minutes and uses 60-MB of memory. BFS-020 may not be as
thorough, but it almost always produced identical results during
testing. Of the few times when it didn't produce identical results, it
was typically off by one or two moves. I encountered only one comparison
run where it was off by three moves. So, that's why I call BFS-020 a
(near-)optimal solver.
Thank you for offering to post my solver on your web site! However,
after giving more thought to distributing my solver, I think it's best
that I complete the software documentation and then create a web page on
my ISP to distribute everything. Since the source isn't very large, it
shouldn't take long to complete the documentation.
Regards, Danny
Shlomi Fish wrote:
> On Tue, 9 Sep 2003, Danny A Jones wrote:
>
> > Thank You for the correction and a better declaration of FCS's
> > capabilities. I haven't tried all of its command-line options, so I'm
> > definitely not fully aware of its capabilities. Yes, you should
> > certainly be proud of it!!! It's obvious that a lot of hard work went
> > into its development.
> >
>
> Thanks.
>
> > Yes/No on the FCS+FcPro glue comment. I've spent a lot of time with
> > FcPro because I use it to check that my solutions are valid. When I use
> > FCS in FcPro, it produces a listing on the screen that appears to be
> > identical to that from stand-alone FCS -- including auto moves. If I hit
> > "Home" and then "End", then it will show a shorter solution -- sans the
> > auto moves (?).
>
> I suppose I can construct a processor to process the FCS moves, throught
> the FCS-FcPro glue. Or integrate it into the core FCS program. This will
> make it easier for you to analyze its solutions from the command line.
> Note that its solutions are not near-optimal unless used with the --method
> bfs option.
>
> > However, on several occasions, FcPro has locked up when
> > I hit "End" ... and I had to forcibly abort it. I keep meaning to see
> > which results are listed when the output is directed to disk. I have a
> > long "To Do" list for investigating/understanding FCS!
> >
>
> OK.
>
> > I'm glad that you aren't upset that I'm receiving questions in this
> > group. However, I understand that this group is dedicated to FCS and I
> > don't want to detract much from that!
> >
>
> Actually, it is not particularly dedicated to FCS. Its definition is:
>
> <<<
> This group is dedicated to the discussion of the usage and development of
> the Freecell Solver program and library.
> ...
> General discussion of computerized techniques to solve Card Solitaire
> games is also welcome.
> >>>
>
> Or maybe I should change it to make it less Freecell Solver-centric. But
> I'd still have to keep the name.
>
> > My ISP allows its members to create web pages and provides ftp access,
> > but I never went into HTML. I have friends who did it for a living, but
> > I doubted there would be enough interest in my solver to bother them to
> > set it up for me.
>
> You should learn HTML. It's a very useful skill, and very easy to learn.
> (I first learned it by reading a short tutorial on an Internet magazine).
> Then you'll be independant of my cooperation in publishing your solver.
>
> I can also comment that maintaining your web-site has proven to be quite
> an experience, as many people contacted me in regard to things I placed
> there. A weblog is also nice in this regard.
>
> > If you'd like to add my solver as a "by-the-way" entry
> > on your web site, I'd be honored to provide it!
>
> OK, send it to me.
>
> > It's a command-line
> > program that can currently be distributed as a binary with sample input
> > and output.
>
> OK.
>
> > Since I just recently completed it, the source needs lots of
> > additional documentation before it's worthy of distribution -- and I
> > wouldn't end up embarrassed.
>
> Don't worry. People won't criticize you for writing poorly documented
> code. At most they'll criticize your code, and the more eager one may also
> send patches of comments. Publishing the source would make it more usable
> for UNIX people. But it's your call.
>
> > However, I remind everyone that it's not a
> > production solver because it takes so long to solve each deal. It's only
> > for when someone wants to see a (near-)optimal atomic-move solution to a
> > particular deal.
> >
>
> Why do you say (near)-optimal? If it uses Breadth-first search, then it
> will produce an optimal solution.
>
> > Regards,
> >
> > Danny A. Jones ( dajones at inreach dot com )
> >
> > PS: Meta-moves are on my "To Do" list for this solver.
> >
>
> Hmmm... Freecell Solver can also utilize BrFS for meta-moves scans:
>
> # fc-solve --method bfs
>
> Now, for atomic moves using your solver may make more sense because your
> solver is minimalistic and so may be faster. Meta-moves however, have
> their own internal complexity and overhead, which probably makes the
> overall Freecell Solver modularity complexity negligible.
>
> So I'm not sure if taking the effort to implement them, would be worth
> your while. From what I tried running bfs with meta-moves, the number of
> states vs. the depth grew up very quickly for all initial positions I
> tried.
>
> Regards,
>
> Shlomi Fish
>
>
> ----------------------------------------------------------------------
> Shlomi Fish shlomif_at_vipe.technion.ac.il
> Home Page: http://t2.technion.ac.il/~shlomif/
> <http://t2.technion.ac.il/%7Eshlomif/>
>
> An apple a day will keep a doctor away. Two apples a day will keep two
> doctors away.
>
> Falk Fish
Received on Wed Sep 10 2003 - 11:10:56 IDT