Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: overflow problem crafty in perft

Author: Vincent Diepeveen

Date: 18:29:52 12/31/02

Go up one level in this thread


On December 31, 2002 at 14:04:03, Uri Blass wrote:

>On December 31, 2002 at 13:53:13, Vincent Diepeveen wrote:
>
>>On December 31, 2002 at 12:54:36, Uri Blass wrote:
>>
>>it has nothing to do with generating at all of course.
>>if i use my incremental attacktable it will beat it of course.
>
>I know that it is possible to do it faster but no program that I know does it.
>
>Some points that are possible to improve in movei.
>
>1)Movei does not use assembler stuff.

that goes quite far for such a thing which is not so interesting.

>2)Movei use no profile optimization except optimize for speed.

use gcc for a K7 processor. it is faster than visual c++ 6.0 sp4 procpack.

>3)Movei use no special hash tables to calculate perft faster(of course hash
>tables cannot be used in a similiar way to chess but they can be used).

You are at a speed of around 20MLN a second. If you know at what speed
something happens you can use perfectly a hashtable indeed. However
it needs to be huge to get a lot of transpositions because you need to
to remember 3 ply to get transposition

e4 h6 d4

and

d4 h6 e4

such kind of transpositions is the most common of course.
the trees are very symmetric.

However the biggest speedwin is by simply not generating the last ply
but using an incremental number which my attacktables already generate.

However i would need to rewrite everything. things like which piece is
not interesting. things like

I am sure that with even more abstract simpler approaches you can speedup
things even more.

For example if 2 ply depthleft i move a2-a4 and the pawn is not attacked
by black from a-file by a rook or queen either at a1-a8 then we know that
there are exactly as much legal moves after a2-a3 like there are after
a2-a4. you just need to take into account a pawn on b4 and b5 from black
that's all.

Such things happen even more for if i move Ra1-e1. With clever reductions
you generate for a single move all possibilities for opponent after which
you have it for Ra1-b1 Ra1-c1.

Though harder, you can optimize even further for 3 ply depthleft in clever
ways.

In the end it is no fun of course. It is not a contest for real men. It is
just toying.

At a K7 at around 1.6Ghz it is not easy to count at around 400 million nodes
a second, but it sure is possible in C even.

That hashtable kicks major butt. The deeper you get the bigger it speeds
you up of course, just like in normal search. Same lemma's apply.

Because each reduction of the branching factor means exponential speedup
in lineair nodes a second.

So if you let it search for a few months you'll get speeds of a few
billion nodes a second.

Best regards,
Vincent

>Uri





This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.