epd2wb revisited

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

epd2wb revisited

Postby Thomas Mayer » 22 May 2005, 14:44

Hi,

some might now that I am working since long at a new version of epd2wb. (You remember, the nice tool made by Bruce Moreland to let winboard engines run through epd-testsets)

The first modification was the correct handling of avoidmove positions. After that I made it compatible to several winboard engines where the old version did not understand their PV-output correctly.

Also the output was modified to something in my opinion more useable.

One of the final features were an addition of a type of database function. With that it is possible to load the results of several engines e.g. into Excel and to compare the results.

Well, after that I thought I was finished. But I have added yesterday and today another feature: I felt always quite sad that this tool can't be used with UCI engines. Well, so I have added UCI compatibility.

So far I have tested it with Shredder 9 and List 5.12. If someone is interested in help me with testing I will send him a beta version of the current version. If I am satisfied with the compatibility I will release it under the GPL like the original was. (So far I still wait for Bruce Moreland to answer me, I did try several times to contact him, but so far no reaction) - So all interested, please eMail me.

Greets, Thomas
User avatar
Thomas Mayer
 
Posts: 40
Joined: 26 Oct 2004, 13:45
Location: Germany

Re: epd2wb revisited

Postby Uri Blass » 22 May 2005, 16:22

I have some ideas for improvements except supporting UCI

1)Tell the engine to stop search if the score is too high and the main line repeat twice.

There are engines like Movei that stop to search after they find mate score and do not start another iteration.

The point is to save time in testing engines in easy mates.

There should be an option that epd2wb tells the engine to stop to search a position in case that the score is higher than X for one side and the pv repeated twice.

Note that when I say repeated twice I mean twice with nothing else in the middle because a program may print a wrong fail high and may print something like this

3 32754 1 5111 g4f2 g1f2 d8d1 f2g1 d1g1 h1g1 g7d4 g1h1 e2d1 c2e1 d1e1 f4f1 e1f1
3 32755 1 7132 g4e3
3 32754 1 7262 g4f2 g1f2 d8d1 f2g1 d1g1 h1g1 g7d4 g1h1 e2d1 c2e1 d1e1 f4f1 e1f1

In that case inspite of the fact that 32754 is high enough to be a mate score it did not finish the iteration and you need to wait to another repetition of the last pv without something in the middle to know that the engine finished the search.

2)Tell the engine to search another position when it got the maximal depth

There are engines like Yace that do not stop when they find a mate but they will stop when they get maximal depth and they may get the maximal depth fast in easy mates.

It is a waste of time not to tell them to stop the analysis when they get the maximal depth.

Uri
User avatar
Uri Blass
 
Posts: 727
Joined: 09 Oct 2004, 05:59
Location: Tel-Aviv

Re: epd2wb revisited

Postby Richard Pijl » 22 May 2005, 16:46

Gradualtest, the fine tool by Odd Gunnar Malin, uses 'go'. It also gives you the possibility to specify the time control you want it to use, so that time management or other tricks will work like always. Seems that this is already useful for you.
Richard.
User avatar
Richard Pijl
 
Posts: 105
Joined: 26 Sep 2004, 21:09
Location: Minderhout, Belgium

Re: epd2wb revisited

Postby Uri Blass » 22 May 2005, 17:15

Movei of today is playing immediately when I set time control of 1 moves for 3300 minutes because of some overflow problems(3300 minutes for all the game is the same).

Note that in 3200 minutes for the rest of the game there is no overflow problem

It may be interesting for users to give the program 24 hours per move for the nolot test so the only solution to enable it is analysis because in playing mode the program may use less than the maximal time and even when the maximal time is 54 hours the program may decide to use only 20 hours per move because 54 hours is only the maximal time.

Winboard also does not manage time control of 3300 minutes per move correctly.

Here is a game that was not finished but winboard decided that I won on time.

Movei played without book and it played immediately all the moves because of overflow problem when I played also fast.

[Event "Computer chess game"]
[Site "URI-AMD"]
[Date "2005.05.22"]
[Round "-"]
[White "Movei00_8_311"]
[Black "Uri Blass"]
[Result "0-1"]
[TimeControl "1/198000"]

1. e4 e5 2. Qh5 Nc6 3. Bc4 g6 4. Qf3 Nf6 5. Ne2 Bg7 6. O-O O-O 7. d3 d6 8.
Bg5 Be6 9. Bxe6 fxe6 10. Nbc3
{Black wins on time} 0-1
User avatar
Uri Blass
 
Posts: 727
Joined: 09 Oct 2004, 05:59
Location: Tel-Aviv

Re: epd2wb revisited

Postby Thomas Mayer » 23 May 2005, 13:24

Hi Uri,

well, I do not like the idea of stopping the search before the time for each position is reached that much, because some engines switch later to another move.

Anyway, I have added two new features:

-g <x>

when the solution is correct for <x> plys the analysis is stopped. The minumum number here is 1 which means that when something is found at let's say ply 5 and it holds the solution until ply 6 the analysis will be stopped.

-h <y>

when the solution is correct and the score is above <y> the analysis is stopped immediately.

I will offer a download link soon in this thread when I have completed the f...ing readme... :)

Greets, Thomas
User avatar
Thomas Mayer
 
Posts: 40
Joined: 26 Oct 2004, 13:45
Location: Germany

Re: epd2wb revisited

Postby Thomas Mayer » 23 May 2005, 14:21

Hi,

okay, here is it, the current epd2wb:

http://www.quarkchess.de/quark/epd2wb.zip (160k)

Those which are not familiar with epd2wb or did not yet receive a version with my modifications should take a close look to the readme.txt, especially to section 8.

I would appreciate any comments !

This is also the first time that I release something under GPL - those which are familiar with GPL may take a close look if everything is included what should be in that zip. Or if I made something else wrong with the GPL. I definitely do not want to get into troubles here...

Greets, Thomas
User avatar
Thomas Mayer
 
Posts: 40
Joined: 26 Oct 2004, 13:45
Location: Germany

Re: epd2wb revisited

Postby Uri Blass » 23 May 2005, 14:42

Thomas Mayer wrote:Hi Uri,

well, I do not like the idea of stopping the search before the time for each position is reached that much, because some engines switch later to another move.

Anyway, I have added two new features:

-g <x>

when the solution is correct for <x> plys the analysis is stopped. The minumum number here is 1 which means that when something is found at let's say ply 5 and it holds the solution until ply 6 the analysis will be stopped.

-h <y>

when the solution is correct and the score is above <y> the analysis is stopped immediately.

I will offer a download link soon in this thread when I have completed the f...ing readme... :)

Greets, Thomas


I think that when it is only an option it is good.
I also think that the option -h <y> can be productive espacially for tests like WAC when there is no reason to spend time after finding a mate score.

Using h <y> may hide engines with bugs that can find mate score and later lose the mate score and change their mind to inferior moves but
It will usually save time in testing.

Uri
User avatar
Uri Blass
 
Posts: 727
Joined: 09 Oct 2004, 05:59
Location: Tel-Aviv

Re: epd2wb revisited

Postby Thomas Mayer » 25 May 2005, 16:55

Hi,

I have just uploaded a new version of epd2wb.

http://www.quarkchess.de/quark/epd2wb.zip

Volker Pittlik reported a bug that epd2wb crashes if you use -cuci.txt instead -c uci.txt. (Same with all other file or path parameters)
I have fixed that.

Also there is a new feature: -j
With that you turn strict UCI 1 on, some engines have problems when they receive a "ucinewgame". E.g. Glaurung.

Thanks to Volker there are 2 new engines in the stapeltest.bat - Arion and Booot.

Greets, Thomas
User avatar
Thomas Mayer
 
Posts: 40
Joined: 26 Oct 2004, 13:45
Location: Germany

Re: epd2wb revisited

Postby Daniel Mehrmann » 29 May 2005, 12:26

Thomas Mayer wrote:Hi,

I have just uploaded a new version of epd2wb.

http://www.quarkchess.de/quark/epd2wb.zip

Volker Pittlik reported a bug that epd2wb crashes if you use -cuci.txt instead -c uci.txt. (Same with all other file or path parameters)
I have fixed that.

Also there is a new feature: -j
With that you turn strict UCI 1 on, some engines have problems when they receive a "ucinewgame". E.g. Glaurung.

Thanks to Volker there are 2 new engines in the stapeltest.bat - Arion and Booot.

Greets, Thomas


Great job Thomas !
Works very fine with homer and i found a bug in MoveGenerator :)

thanks.
greetings
Daniel
User avatar
Daniel Mehrmann
 
Posts: 127
Joined: 02 Oct 2004, 06:10
Location: Germany

Re: epd2wb revisited

Postby Daniel Mehrmann » 29 May 2005, 22:56

Daniel Mehrmann wrote:
Thomas Mayer wrote:Hi,

I have just uploaded a new version of epd2wb.

http://www.quarkchess.de/quark/epd2wb.zip

Volker Pittlik reported a bug that epd2wb crashes if you use -cuci.txt instead -c uci.txt. (Same with all other file or path parameters)
I have fixed that.

Also there is a new feature: -j
With that you turn strict UCI 1 on, some engines have problems when they receive a "ucinewgame". E.g. Glaurung.

Thanks to Volker there are 2 new engines in the stapeltest.bat - Arion and Booot.

Greets, Thomas


Great job Thomas !
Works very fine with homer and i found a bug in MoveGenerator :)

thanks.


hmmm, if i'm using UCI somthing going wrong while you display the score:

Epd2Wb, Release 02/TM
original version by Bruce Moreland with some modifications by Thomas Mayer
epd2wb comes with ABSOLUTELY NO WARRANTY - released under GPL


Engine: Homer 0.03 Build 285a
Suite: wacnew.epd
Positions: 300
Time per move: 5 seconds
Language: English (PNBRQK)
Engine will use ...
setoption name Hash value 32
setoption name Ponder value false
setoption name HistoryPruning value true
setoption name NullMove value secure
setoption name Pawn value 100
setoption name Knight value 300
setoption name Bishop value 300
setoption name Rook value 500
setoption name Queen value 900
setoption name Max_QS_Depth value 8
setoption name UCI_EngineAbout value Homer
setoption name UCI_AnalyseMode value false
setoption name UCI_ShowCurrLine value false
"time in": milliseconds
Test delay: 4 seconds

-------------------------------------------------------------------------------

Nr: 1 (of 300)
Id: WAC.001
Fen: 2rr3k/pp3pp1/1nnqbN1p/3pN3/2pP4/2P3Q1/PPB4P/R4RK1 w - - 0 1
Bm: Qg6

no 1 93 +32763 32843 g3g7
no 2 93 +32763 32902 g3g7 h8g7
no 3 93 +32763 32961 g3g7 h8g7
no 4 93 +0 39391 f6d5
no 5 93 -627 39666 g3g7
no 5 109 -203 46270 e5c6
no 5 124 -182 51998 e5c6 c8c6 f6h5 d6g3 h5g3
no 5 155 -132 65811 f6e8
no 5 171 -58 69423 f6e8 d6b8 e8g7 c6e5 d4e5
no 5 171 -58 71152 f6e8 d6b8 e8g7 c6e5 d4e5
no 6 202 -8 86901 f6e8
no 6 218 +96 92322 f6e8 d6e5 d4e5 d8e8 a1d1 b6d7
no 6 233 +96 101063 f6e8 d6e5 d4e5 d8e8 a1d1 b6d7
yes 7 1262 +135 478848 g3g6
yes 7 1293 +32763 500415 g3g6 g7f6 g6h7 h9h9
yes 7 1309 +32763 504017 g3g6 g7f6 g6h7 h9h9
yes 8 1309 +32763 504081 g3g6 g7f6 g6h7
yes 8 1340 +32763 516749 g3g6 g7f6 g6h7
yes 9 1340 +32763 517191 g3g6 g7f6 g6h7
yes 9 1371 +32763 527550 g3g6 g7f6 g6h7
yes 10 1371 +32763 528958 g3g6 g7f6 g6h7
....

But i'm sending correct:
info score mate 3 depth 10 seldepth 10 nodes ..... and so on

Why is +32763 as score displayed ?

This number is allways displayed if my engine found a mate in <x> moves
greetings
Daniel
User avatar
Daniel Mehrmann
 
Posts: 127
Joined: 02 Oct 2004, 06:10
Location: Germany

Re: epd2wb revisited

Postby Thomas Mayer » 31 May 2005, 07:42

Hallo Daniel,

hmmm, if i'm using UCI somthing going wrong while you display the score:

[...]

yes 10 1371 +32763 528958 g3g6 g7f6 g6h7

But i'm sending correct:
info score mate 3 depth 10 seldepth 10 nodes ..... and so on

Why is +32763 as score displayed ?


Well, everything fine here -> epd2wb uses as line-parser the same routine here then the wb-part. And therefor it awaits a score and not a mate announcement. So when an UCI-engine sends a mate announcement I recalculate that to a score. 32767-matedepth*2... which is a bug, it should be 32768-matedepth*2... :)

Greets, Thomas
User avatar
Thomas Mayer
 
Posts: 40
Joined: 26 Oct 2004, 13:45
Location: Germany

Re: epd2wb revisited

Postby Daniel Mehrmann » 31 May 2005, 16:09

Thomas Mayer wrote:Hallo Daniel,

hmmm, if i'm using UCI somthing going wrong while you display the score:

[...]

yes 10 1371 +32763 528958 g3g6 g7f6 g6h7

But i'm sending correct:
info score mate 3 depth 10 seldepth 10 nodes ..... and so on

Why is +32763 as score displayed ?


Well, everything fine here -> epd2wb uses as line-parser the same routine here then the wb-part. And therefor it awaits a score and not a mate announcement. So when an UCI-engine sends a mate announcement I recalculate that to a score. 32767-matedepth*2... which is a bug, it should be 32768-matedepth*2... :)

Greets, Thomas


I prefer 10000 - matedepth, but its okay :)
Another little mistake, not bug, is that you should parse the complete string after the uci option UCI_EngineAbout.

greetings
daniel
greetings
Daniel
User avatar
Daniel Mehrmann
 
Posts: 127
Joined: 02 Oct 2004, 06:10
Location: Germany

Re: epd2wb revisited

Postby Richard Allbert » 13 Mar 2007, 12:53

Hi Thomas,

A bit late to enter this thread, but I'd just like to write a quick thank you for the modifications you have made to this utility - particularly the database option, and the path specification option.

I was getting sick of using Chessbase GUI for test suites, because it's buggy, and Arena seems to be a bit irregular - sometimes there are delays before the engine starts thinking even though the time has started counting down, sometimes it crashes.

But epd2wb works perfectly (For some reason I have problems with gradual test, which worked ok with the older versions of Lime, but not my new one).

So thanks again!

Richard
Richard Allbert
 
Posts: 105
Joined: 27 Sep 2004, 11:56
Location: Aschaffenburg, Germany

Re: epd2wb revisited

Postby Sven Schüle » 14 Mar 2007, 14:07

Thomas Mayer wrote:So when an UCI-engine sends a mate announcement I recalculate that to a score. 32767-matedepth*2... which is a bug, it should be 32768-matedepth*2... :)

Hi Thomas,
whether this is a "bug" depends on your definition of what the meaning of +32767 should be. If it should be "mate in 1 ply" then the formula should read like 32769-matedepth*2:
Code: Select all
matedepth=1 => mate in 1 move  => mate in 1 ply   => +32767
matedepth=2 => mate in 2 moves => mate in 3 plies => +32765
matedepth=3 => mate in 3 moves => mate in 5 plies => +32763

and so on.

Sven
User avatar
Sven Schüle
 
Posts: 240
Joined: 26 Sep 2004, 20:19
Location: Berlin, Germany

epd2wb_x ?

Postby Matthias Gemuh » 14 Mar 2007, 20:20

Hi Thomas,
maybe you name this thing "epd2wb_x" ? ;).
Matthias.
http://www.chessgui.com
http://w2410tmq9.homepage.t-online.de
BigLion, Taktix, ArcBishop, FindDraw, ChessGUI
User avatar
Matthias Gemuh
 
Posts: 189
Joined: 10 Jun 2006, 15:08


Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 28 guests