Re: The Size/Speed Paradox

2000-04-15 Thread Shlomi Fish

On Sat, 15 Apr 2000, Daniel Feiglin wrote:

> Well, I was curious enough to click on your source code site and here is wahat I
> got:
> 
> Forbidden
> 
> You don't have permission to access /~shlomif/fcs/ on this server.
> 
> Ho hum.
> 
> Dan Feiglin
> 

Well, sorry about that, but apparently t2 does not allow to view
directories which do not contain index.html files.

I fixed it, but in any case vipe is now serving users' home pages so
you can go to my homepage (http://t2.technion.ac.il/~shlomif/) and follow
the Freecell Solver link.

Regards,

Shlomi Fish



--
Shlomi Fish[EMAIL PROTECTED] 
Home Page: http://t2.technion.ac.il/~shlomif/
Home E-mail:   [EMAIL PROTECTED]

The prefix "God Said" has the extraordinary logical property of 
converting any statement that follows it into a true one.


=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]




RE: The Size/Speed Paradox

2000-04-15 Thread Kalaev, Maxim

> 
> I noticed that the program that uses the chars representation 
> runs much
> faster than the int/short based program. For 100 given initial boards,
> it finished them in 11 minutes and 12 seconds. The wider program took
> more than 19 minutes when it was terminated in the middle of board No.
> 62, which is a complex board that takes 42,940 checked states to
> solution.

I haven't looked at your source,
 but the program should need very much
 memory, less memory used->less swapping,
 less memory used->higher hit-rate...

Regards
Maxim


=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]




Re: The Size/Speed Paradox

2000-04-15 Thread Daniel Feiglin

Well, I was curious enough to click on your source code site and here is wahat I
got:

Forbidden

You don't have permission to access /~shlomif/fcs/ on this server.

Ho hum.

Dan Feiglin

Shlomi Fish wrote:

> This is slightly off-topic but I thought it may be of interest to the
> list.
>
> I wrote a program that automatically solves Freecell games. For those
> who are not familiar with it, Freecell is a card game, in which there
> are several stacks which should be moved to the decks with the aid of
> freecells, which are cells that can hold one card each.
>
> In any case, the program operates by keeping record of the states for
> which it checked whether they are solveable, so if the same state is
> reached twice, it will only be checked once. (and thus also, it makes
> sure there are no infinite loops). I wrote two versions of the program,
> one which uses states where the representitive integers have widthes of
> ints and shorts. And the second the integers are chars, and semi-chars.
> (I use shifts and bit masks to get the card deck and card number).
>
> I noticed that the program that uses the chars representation runs much
> faster than the int/short based program. For 100 given initial boards,
> it finished them in 11 minutes and 12 seconds. The wider program took
> more than 19 minutes when it was terminated in the middle of board No.
> 62, which is a complex board that takes 42,940 checked states to
> solution.
>
> The question is why the wide-integer based program is slower because
> obviously my Pentium 166 MHz processor takes less time for 32-bit or
> 16-bit integer computations and memory access than for 8-bit
> ones. My best guess so far is that the majority of the time is spent
> storing and searching for states, and because the char storage occupies
> less space, that it is considerably faster.
>
> What do you think?
>
> You can download Freecell Solver and take a look at the source code
> from the following URL:
>
> http://t2.technion.ac.il/~shlomif/fcs/
>
> This is not going to be its permanent homepage, but I resorted to
> putting it there because vipe.technion.ac.il has a momentary problem of
> hosting the users' homepages.
>
> I discovered a few other insights while working on Freecell Solver. For
> instance, I realized that one should not use qsort to insert a sort
> margin into a sorted array, because it's quite slow. Instead, a
> binary-search based merging function should be used.
>
> Another curious thing is that the program runs differently on Windows
> NT than it does on i386 Linux and SPARC Solaris. On IRIX 64-bit it runs
> differnetly than both of the above. I still don't know what's the cause
> of this behaviour but I'm investigating it.
>
> Best regards,
>
> Shlomi Fish
>
> --
> Shlomi Fish[EMAIL PROTECTED]
> Home Page: http://t2.technion.ac.il/~shlomif/
> Home E-mail:   [EMAIL PROTECTED]
>
> The prefix "God Said" has the extraordinary logical property of
> converting any statement that follows it into a true one.
>
> =
> To unsubscribe, send mail to [EMAIL PROTECTED] with
> the word "unsubscribe" in the message body, e.g., run the command
> echo unsubscribe | mail [EMAIL PROTECTED]


begin:vcard 
n:Feiglin;Daniel
tel;cell:972 53 869986
tel;fax:972 9 862 1052
tel;home:972 9 832 0939
tel;work:972 9 861 6204
x-mozilla-html:FALSE
org:Dilog Computers Ltd.
adr:;;POB 36;Shavei Shomron, Mobile Post;;44858;ISRAEL
version:2.1
email;internet:[EMAIL PROTECTED]
title:CC & BW
note:cc: to [EMAIL PROTECTED]
x-mozilla-cpt:;-7424
fn:Daniel Feiglin
end:vcard



Re: The Size/Speed Paradox

2000-04-15 Thread crisk

On Sat, 15 Apr 2000, Shlomi Fish wrote:

> The question is why the wide-integer based program is slower because
> obviously my Pentium 166 MHz processor takes less time for 32-bit or
> 16-bit integer computations and memory access than for 8-bit
> ones. My best guess so far is that the majority of the time is spent
> storing and searching for states, and because the char storage occupies
> less space, that it is considerably faster.

The Pentium's cache is 8 bits wide (IIRC)... does everything make
sense now? ;) 

-- crisk
   ._ 
[EMAIL PROTECTED]  ._/-==\\\   _  
|_.-`---^-._
 
The biggest lies: 
 11. I never inhaled.



=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]




The Size/Speed Paradox

2000-04-15 Thread Shlomi Fish


This is slightly off-topic but I thought it may be of interest to the
list.

I wrote a program that automatically solves Freecell games. For those 
who are not familiar with it, Freecell is a card game, in which there
are several stacks which should be moved to the decks with the aid of
freecells, which are cells that can hold one card each.

In any case, the program operates by keeping record of the states for
which it checked whether they are solveable, so if the same state is
reached twice, it will only be checked once. (and thus also, it makes
sure there are no infinite loops). I wrote two versions of the program,
one which uses states where the representitive integers have widthes of
ints and shorts. And the second the integers are chars, and semi-chars.
(I use shifts and bit masks to get the card deck and card number).

I noticed that the program that uses the chars representation runs much
faster than the int/short based program. For 100 given initial boards,
it finished them in 11 minutes and 12 seconds. The wider program took
more than 19 minutes when it was terminated in the middle of board No.
62, which is a complex board that takes 42,940 checked states to
solution.

The question is why the wide-integer based program is slower because
obviously my Pentium 166 MHz processor takes less time for 32-bit or
16-bit integer computations and memory access than for 8-bit
ones. My best guess so far is that the majority of the time is spent
storing and searching for states, and because the char storage occupies
less space, that it is considerably faster.

What do you think?

You can download Freecell Solver and take a look at the source code
from the following URL:

http://t2.technion.ac.il/~shlomif/fcs/

This is not going to be its permanent homepage, but I resorted to
putting it there because vipe.technion.ac.il has a momentary problem of
hosting the users' homepages.


I discovered a few other insights while working on Freecell Solver. For
instance, I realized that one should not use qsort to insert a sort
margin into a sorted array, because it's quite slow. Instead, a
binary-search based merging function should be used.

Another curious thing is that the program runs differently on Windows
NT than it does on i386 Linux and SPARC Solaris. On IRIX 64-bit it runs
differnetly than both of the above. I still don't know what's the cause
of this behaviour but I'm investigating it.


Best regards,

Shlomi Fish



--
Shlomi Fish[EMAIL PROTECTED] 
Home Page: http://t2.technion.ac.il/~shlomif/
Home E-mail:   [EMAIL PROTECTED]

The prefix "God Said" has the extraordinary logical property of 
converting any statement that follows it into a true one.


=
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]