OKE - Opening Knowledge Engines

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: OKE - Opening Knowledge Engines

Post by Ferdy »

Rebel wrote: Sun Jun 23, 2019 8:02 am
Ferdy wrote: Sat Jun 22, 2019 11:14 am
Rebel wrote: Sat Jun 22, 2019 10:01 am Lc0 and threads, something strange.

set THREADS=x works of course for engines except for Lc0. I checked the logfile, the uci command is ok.

Then I checked Arena, doesn't work also, always runs 1 thread whatever the setting.

Then I checked ChessPartner and Lc0 runs on the number of threads given.

Not sure if you can fix this.
Did you use mea v0.3.5? It should work.
Works with 0.3.5 indeed. Running it directly from the download MEA gives an error message when the analysis is finished but all tasks are done properly as far as I can see.

Code: Select all

epd 403 / 404
epd 404 / 404
ExpectedTime     : 40.4s
ActualTime       : 41.2s
MarginTime/pos   : 0.2s
MarginTime       : 80.8s
usage: mea.exe [-h] -i EPD [-o OUTPUT] -e ENGINE [--eoption EOPTION] -n NAME
               [-t THREADS] [-m HASH] [-a MOVETIME] [-r RATING] [-p PROTOCOL]
               [-s {0,1}] [--stmode {0,1}] [--protover {1,2}] [--log]
mea.exe: error: the following arguments are required: -i/--epd, -e/--engine, -n/
--name
To see it happen run MEA directly without the START option.

mea.exe --engine ".\engines\Deuterium_v2019.1.36.50_x64_pop.exe" ^
--name "Deuterium v2019.1.36.50" --hash %HASH% --eoption "depth=8, multipv=3" ^
--rating 2800 --protocol uci --epd %EPD% --movetime %MT% ^
--output %OUTPUT% --log
I got same result here. It is as if mea is executed again but without arguments.

I can't find the reason why it is like that so far. My current version does not do like that. I have now change to python 3.7 was 3.6. Will release new version later tonight. Will do some more testing.The latest changes so far are in github. If there are no problems I will compile an exe file and release it.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: OKE - Opening Knowledge Engines

Post by Ferdy »

Ferdy wrote: Sun Jun 23, 2019 10:52 am
Rebel wrote: Sun Jun 23, 2019 8:02 am
Ferdy wrote: Sat Jun 22, 2019 11:14 am
Rebel wrote: Sat Jun 22, 2019 10:01 am Lc0 and threads, something strange.

set THREADS=x works of course for engines except for Lc0. I checked the logfile, the uci command is ok.

Then I checked Arena, doesn't work also, always runs 1 thread whatever the setting.

Then I checked ChessPartner and Lc0 runs on the number of threads given.

Not sure if you can fix this.
Did you use mea v0.3.5? It should work.
Works with 0.3.5 indeed. Running it directly from the download MEA gives an error message when the analysis is finished but all tasks are done properly as far as I can see.

Code: Select all

epd 403 / 404
epd 404 / 404
ExpectedTime     : 40.4s
ActualTime       : 41.2s
MarginTime/pos   : 0.2s
MarginTime       : 80.8s
usage: mea.exe [-h] -i EPD [-o OUTPUT] -e ENGINE [--eoption EOPTION] -n NAME
               [-t THREADS] [-m HASH] [-a MOVETIME] [-r RATING] [-p PROTOCOL]
               [-s {0,1}] [--stmode {0,1}] [--protover {1,2}] [--log]
mea.exe: error: the following arguments are required: -i/--epd, -e/--engine, -n/
--name
To see it happen run MEA directly without the START option.

mea.exe --engine ".\engines\Deuterium_v2019.1.36.50_x64_pop.exe" ^
--name "Deuterium v2019.1.36.50" --hash %HASH% --eoption "depth=8, multipv=3" ^
--rating 2800 --protocol uci --epd %EPD% --movetime %MT% ^
--output %OUTPUT% --log
I got same result here. It is as if mea is executed again but without arguments.

I can't find the reason why it is like that so far. My current version does not do like that. I have now change to python 3.7 was 3.6. Will release new version later tonight. Will do some more testing.The latest changes so far are in github. If there are no problems I will compile an exe file and release it.
Turns out the issue is on pyinstaller that converts py code to exe.
mea.exe is loaded twice in memory when you run it. The reason is
https://stackoverflow.com/questions/334 ... yinstaller

After the mea instance that runs the test is finished, a second instance was run without arguments hence the mea error message showing in console.

So it is just normal to have that mea error message after completing the test when using mea.exe.

Using python mea.py ... there are no error message after test completion.

Another option is py2exe but it only support up to python 3.4, I am using now python 3.7.3. It did not compile successfully when I tried it.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: OKE - Opening Knowledge Engines

Post by Ferdy »

Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: OKE - Opening Knowledge Engines

Post by Ferdy »

OKE test from Kai's openings200.epd modified to include other moves but with points. Original bestmove/s always gets a max score of 100 points. Other moves have points proportional to the centipawn score of the move.

Example modified epd.

Code: Select all

r1bqk1nr/pp1pppbp/2n3p1/1Bp5/4P3/2N2N2/PPPP1PPP/R1BQ1RK1 b kq - bm e5 Nd4; c1 "33"; id "kai_openings_nr_61"; eco "B31"; Opn "Sicilian Rossolimo"; c0 "e5=100, Nd4=100, d6=98, Nh6=98, Nf6=92, a6=90, b6=86"; acd 25; Ae "Stockfish 2019.04.16";
Stockfish was used to analyze each position at multipv 7 with a search depth of 25.

Sample results at 500, 1000 and 2000 ms search time. Hash is 128mb, threads is 1 on i7 3.4 ghz PC. Total positions is 200, max points per position is 100, total points is 20000. This is topped by Lc0 even on blas backend.

Image

You can get the openings200-mea.epd at https://github.com/fsmosca/Multiple-mov ... master/epd
Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: OKE - Opening Knowledge Engines

Post by Dann Corbit »

These are the 347 distinct positions in Ed's two move openings file.
Included is the projected best move and also the moves actually played in high-end games along with the frequency of play.
Of these, 243/347 have the most frequently played move also as the best move.
Of these 207/347 have Ed's best move = bm (but where there is more than one bm with equal weight in Ed's list, I just took the first so it could be a little off).
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.