extensions

Programming Topics (Computer Chess) and technical aspects as test techniques, book building, program tuning etc

Moderator: Andres Valverde

Re: extensions

Postby Tord Romstad » 29 Aug 2008, 22:51

Harald Johnsen wrote:But isn't it exactly the opposite of what you do today ? Glaurung is one of the only (open source) engine that do LMR at PV sibblings ; there is one version of Toga that does reduction of 'bad' captures at PV sibblings too.
Or did I miss something ?


I am not sure I understand your question, and I am not familiar with the term "PV siblings". Perhaps you mean siblings of PV nodes, but in that case I am not able to make sense of your question. I'm going to assume that you mean PV nodes.

If PV nodes is what you mean: You are probably right that most programs don't reduce at PV nodes, but Glaurung is not the only open source program which does. The old Pepito 1.59 does, and I am sure there are others. Even Glaurung, however, is much more conservative about reductions and pruning at PV nodes. For instance, LMR is applied after the first 3 moves at non-PV nodes, and after the first 14 moves at PV nodes. Futility pruning and null move pruning is not done at all at PV nodes. The last 7 plies of the search at non-PV nodes are an intermediate phase between the main search and the qsearch where very few quiet moves are searched, while the search at PV nodes is full-depth all the way to the leaves.

Tord
User avatar
Tord Romstad
 
Posts: 639
Joined: 09 Oct 2004, 12:49
Location: Oslo, Norway

Re: extensions

Postby Zach Wegner » 01 Sep 2008, 03:42

I've done null move and reductions on PV nodes for a while. It works for me, but my search is pretty selective. Interesting that you change the "late move" number for PV nodes. I do that too, but the value for PV nodes is currently 5.

I've been experimenting with using chess knowledge for pruning/reduction/extensions recently. There's not really much to report yet, but I think there is a lot of promise in this area. I've converted to internal node evaluation, and I don't plan on turning back. ;)

I have some ideas for this: creating a bitboard of interesting squares for each side in the eval. These will initially be squares near the king and passed pawns. Eventually I'll determine some strong and weak squares in the pawn evaluation. Moves to those squares are not reduced, and can be given a bonus in move sorting.
User avatar
Zach Wegner
 
Posts: 182
Joined: 26 Sep 2004, 22:02
Location: Austin, Texas, USA

Re: extensions

Postby Harald Lüßen » 01 Sep 2008, 09:05

Zach Wegner wrote:I have some ideas for this: creating a bitboard of interesting squares for each side in the eval. These will initially be squares near the king and passed pawns. Eventually I'll determine some strong and weak squares in the pawn evaluation. Moves to those squares are not reduced, and can be given a bonus in move sorting.

Isn't this called history heuristic?
User avatar
Harald Lüßen
 
Posts: 29
Joined: 09 Oct 2004, 22:39

Re: extensions

Postby Zach Wegner » 01 Sep 2008, 18:54

No. ZCT doesn't use history. Well, it updates the table, just because I haven't gotten rid of it yet, but it doesn't read from it.

I'm talking about static eval determining the strong and weak squares. History pretty much just gives random answers in most positions. The eval also doesn't suffer from search instability, as search decisions based on history do.
User avatar
Zach Wegner
 
Posts: 182
Joined: 26 Sep 2004, 22:02
Location: Austin, Texas, USA

Re: extensions

Postby Harald Lüßen » 01 Sep 2008, 19:43

Ah now I get it. Not best squares collected in search but best squares
found for each individual position in the static evaluation that takes place
at the beginning of each node.
User avatar
Harald Lüßen
 
Posts: 29
Joined: 09 Oct 2004, 22:39

Re: extensions

Postby Daniel Shawul » 05 Sep 2008, 09:04

Ok the 500 40/5 games are almost complete. I have saved statistics on the number of extensions done for each move in a log file. But I don't know how to report in a way it could be helpful.

Does anyone know of a GUI or Tournament organizer tool which can do gauntlets for different versions of same engine against a group of engines.
Because what i did was set up one gauntlet for one of the versions and then when that finishes for the other... This really wasted some time when
the gauntlet finished at midnight.

Thank you
Daniel
User avatar
Daniel Shawul
 
Posts: 366
Joined: 28 Sep 2004, 09:33
Location: Ethiopia

Re: extensions

Postby Francois » 05 Sep 2008, 13:48

Hello

I have written such a tool.
It is a command line tool driving winboard that is exactly aimed at testing several version of my engine against a group of other engines with - if specified - a number of starting positions.

I would be happy to send it to you with my files as examples, but there is no documentation, no UI, it is rather rough and has few options (it is very fast and stable though).

cheers

François
User avatar
Francois
 
Posts: 22
Joined: 22 Apr 2006, 08:51

Re: extensions

Postby Daniel Shawul » 06 Sep 2008, 05:13

Here are the results
Code: Select all
   
Engine                  Score                     Sc
1: Scorpio [001]           43.0/100 ····················
2: (Passive)Thinker_32-bit 15.0/20  0111101==111==11=1=1
3: Glaurung32              14.5/20  110111=11=1=110=1=01
4: Spike1.2                12.5/20  =1=0===1==110111=10=
5: The King                7.5/20   =1=0=0=010=101000100
5: Logic20070706           7.5/20   01=0=001=00=00100=11


   Engine                  Score                     Sc
1: Scorpio [002]           51.0/100 ····················
2: (Passive)Thinker_32-bit 14.0/20  1=1011100101=11=11=1
3: Spike1.2                13.5/20  1110010110===1111==1
4: Glaurung32              10.5/20  010=0110011=11001=01
5: The King                7.0/20   0100000=001=11100100
6: Logic20070706           4.0/20   0000000==10==0000001

   Engine                  Score                     Sc
1: Scorpio [003]           50.5/100 ····················
2: Spike1.2                14.0/20  10=111101====1===111
3: Glaurung32              13.0/20  =1011101=01001011111
4: (Passive)Thinker_32-bit 11.5/20  001=1011100=001111=1
5: The King                6.5/20   0110000=00==1=001=00
6: Logic20070706           4.5/20   00=00=000000010===01

   Engine                  Score                     Sc
1: Scorpio [004]           43.5/100 ····················
2: Spike1.2                16.0/20  1011=1=011=1=1111111
3: Glaurung32              14.0/20  1=11==01=1110101=1=1
4: (Passive)Thinker_32-bit 13.5/20  10=1111=11=101101==0
5: The King                8.0/20   001000=010===110==10
6: Logic20070706           5.0/20   0=000100000=11000100

   Engine                  Score                     Sc
1: Scorpio [005]           45.5/100 ····················
2: (Passive)Thinker_32-bit 14.0/20  =1==11=011=101101=11
3: Glaurung32              13.5/20  1=011101=0101101=111
4: Spike1.2                11.5/20  1=10==00111=0==1=101
5: The King                8.5/20   1==0100=10=1==100=00
6: Logic20070706           7.0/20   000001100100001=0=11



The testst were on silver positions 1,4,7,11,14,17,20,23,26,29
Hardware: Intel(R) Pentium(R) 4 CPU 2.80GHz with 247 MB Memory
Operating system: Microsoft Windows XP Professional Service Pack 2 (Build 2600)

Not so much difference it seems. I made some observations but hardly enough games to make conclusions. Will continue the test with the same engines on 10 more silver positons.

Unfortunately, the log files were produced separately for each game. I did not realize scorpio will be restarted for each game in a guantlet. I will write a script to parse the extension data and report it.

Daniel
User avatar
Daniel Shawul
 
Posts: 366
Joined: 28 Sep 2004, 09:33
Location: Ethiopia

Re: extensions

Postby Daniel Shawul » 06 Sep 2008, 05:15

Hello Francois
Please send it to dshawul at yahoo.com
thank you
Daniel
User avatar
Daniel Shawul
 
Posts: 366
Joined: 28 Sep 2004, 09:33
Location: Ethiopia

Re: extensions

Postby Edsel Apostol » 08 Sep 2008, 10:04

Hi Daniel,

There's seems to be not much difference. Maybe because in all the settings the check extension is enabled and captures in pv is enabled. I think disabling one of those would give a much different result.

By the way, the version you're using: Logic2007706 is a very old version. You could try Logic20080620, it is more stable and stronger. Well it doesn't really matter anyway as it is only for testing purposes.

Regards,
Edsel
User avatar
Edsel Apostol
 
Posts: 73
Joined: 01 Aug 2005, 05:27
Location: Antique, Philippines

Re: extensions

Postby Francois » 09 Sep 2008, 16:17

Hi,

I will try no send it to you next WE, i should have more time.

Cheers

François
User avatar
Francois
 
Posts: 22
Joined: 22 Apr 2006, 08:51

Previous

Return to Programming and Technical Discussions

Who is online

Users browsing this forum: No registered users and 11 guests