A complete 2000 lines of code engine

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

Moderators: hgm, Rebel, chrisw

User avatar
tsoj
Posts: 35
Joined: Thu Oct 19, 2017 4:59 pm
Location: Germany, Berlin
Full name: Jost Triller

Re: A complete 2000 lines of code engine

Post by tsoj »

xr_a_y wrote: Wed Dec 19, 2018 9:43 pm Two first Minic wins against Fruit2.1, even one with black pieces 8-)

The rest of the 10 short TC games gives 7 wins for Fruit, 2 for Minic and 1 draw ... glad with that ...
What ELO would fruit 2.1 have in CCRL?
User avatar
CMCanavessi
Posts: 1142
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: A complete 2000 lines of code engine

Post by CMCanavessi »

tsoj wrote: Thu Dec 20, 2018 6:52 pm
xr_a_y wrote: Wed Dec 19, 2018 9:43 pm Two first Minic wins against Fruit2.1, even one with black pieces 8-)

The rest of the 10 short TC games gives 7 wins for Fruit, 2 for Minic and 1 draw ... glad with that ...
What ELO would fruit 2.1 have in CCRL?
http://www.computerchess.org.uk/ccrl/40 ... #Fruit_2_1
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: A complete 2000 lines of code engine

Post by xr_a_y »

Minic 0.28 is out, https://github.com/tryingsomestuff/Mini ... s/tag/0.28 (+80elo since 0.20, current elo should be between 2300 and 2400 at short TC).

Next stage is to add the following evaluation features :
- pawn shield
- blocked pieces
- pieces pair evaluation
- king zone attack
- double pawn
- isolated pawn
(- and maybe candidate passed pawn)
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: A complete 2000 lines of code engine

Post by xr_a_y »

Minic has become a Weini killer ... this is +170elo.
User avatar
emadsen
Posts: 434
Joined: Thu Apr 26, 2012 1:51 am
Location: Oak Park, IL, USA
Full name: Erik Madsen

Re: A complete 2000 lines of code engine

Post by emadsen »

I am unable to run your engine on my AMD Ryzen Threadripper 1950X. This is a new PC so it should support all the latest CPU instructions. The engine exits immediately.

Code: Select all

PS C:\Users\Erik\Documents\Chess\Engines\Minic\0.28> .\minic_0.28_mingw_x64.exe
# This is Minic version 0.28
# Error 2018-12-27 07:22:00-189: Cannot open minic.json
@todo:: backtrace
# Info  2018-12-27 07:22:00-191: Init hash
# Warn  2018-12-27 07:22:00-191: ARG key not given, ttSizeMb
# Error 2018-12-27 07:22:00-191: JSON key not given, ttSizeMb
@todo:: backtrace
# Warn  2018-12-27 07:22:00-192: ARG key not given, ttESizeMb
# Error 2018-12-27 07:22:00-192: JSON key not given, ttESizeMb
@todo:: backtrace
# Info  2018-12-27 07:22:00-193: Init TT
# Info  2018-12-27 07:22:00-234: Size of TT 96Mb
# Info  2018-12-27 07:22:00-234: Init eval TT
# Info  2018-12-27 07:22:00-235: Size of ETT 64Mb
# Info  2018-12-27 07:22:00-235: Init stat
# Info  2018-12-27 07:22:00-236: Init lmr
# Info  2018-12-27 07:22:00-237: Init mvv-lva
# Info  2018-12-27 07:22:00-237: Init mask
# Warn  2018-12-27 07:22:00-237: ARG key not given, threads
# Error 2018-12-27 07:22:00-238: JSON key not given, threads
@todo:: backtrace
# Info  2018-12-27 07:22:00-239: Using 1 threads
# Warn  2018-12-27 07:22:00-239: ARG key not given, mateFinder
# Error 2018-12-27 07:22:00-239: JSON key not given, mateFinder
@todo:: backtrace
# Warn  2018-12-27 07:22:00-240: ARG key not given, book
# Error 2018-12-27 07:22:00-240: JSON key not given, book
@todo:: backtrace
# Info  2018-12-27 07:22:00-241: Starting worker 0
# Info  2018-12-27 07:22:00-241: Waiting for workers to join...
# Info  2018-12-27 07:22:00-242: ... ok threadPool deleted
PS C:\Users\Erik\Documents\Chess\Engines\Minic\0.28>
I downloaded your source code and added the minic.json file in the same directory as the .exe. Still, the engine exits immediately.

Code: Select all

PS C:\Users\Erik\Documents\Chess\Engines\Minic\0.28> .\minic_0.28_mingw_x64.exe
# This is Minic version 0.28
# Info  2018-12-27 07:26:08-584: Init hash
# Warn  2018-12-27 07:26:08-585: ARG key not given, ttSizeMb
# Info  2018-12-27 07:26:08-586: From config file, ttSizeMb : 512
# Warn  2018-12-27 07:26:08-587: ARG key not given, ttESizeMb
# Info  2018-12-27 07:26:08-588: From config file, ttESizeMb : 512
# Info  2018-12-27 07:26:08-589: Init TT
# Info  2018-12-27 07:26:08-777: Size of TT 384Mb
# Info  2018-12-27 07:26:08-778: Init eval TT
# Info  2018-12-27 07:26:08-779: Size of ETT 256Mb
# Info  2018-12-27 07:26:08-780: Init stat
# Info  2018-12-27 07:26:08-781: Init lmr
# Info  2018-12-27 07:26:08-783: Init mvv-lva
# Info  2018-12-27 07:26:08-784: Init mask
# Warn  2018-12-27 07:26:08-784: ARG key not given, threads
# Info  2018-12-27 07:26:08-785: From config file, threads : 1
# Info  2018-12-27 07:26:08-789: Using 1 threads
# Warn  2018-12-27 07:26:08-789: ARG key not given, mateFinder
# Info  2018-12-27 07:26:08-790: From config file, mateFinder : false
# Warn  2018-12-27 07:26:08-791: ARG key not given, book
# Info  2018-12-27 07:26:08-792: From config file, book : true
# Info  2018-12-27 07:26:08-793: Starting worker 0
# Info  2018-12-27 07:26:08-794: Waiting for workers to join...
# Info  2018-12-27 07:26:08-795: ... ok threadPool deleted
PS C:\Users\Erik\Documents\Chess\Engines\Minic\0.28>
Let me know how I can get your engine running. I'm interested to run a match between Minic and MadChess since we appear to be at similar points in the development of our engines.
My C# chess engine: https://www.madchess.net
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: A complete 2000 lines of code engine

Post by Guenther »

emadsen wrote: Thu Dec 27, 2018 2:30 pm I am unable to run your engine on my AMD Ryzen Threadripper 1950X. This is a new PC so it should support all the latest CPU instructions. The engine exits immediately.
Hi Erik, it needs an xboard param.
e.g.

Code: Select all

minic_0.28_mingw_x64.exe -xboard
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
User avatar
emadsen
Posts: 434
Joined: Thu Apr 26, 2012 1:51 am
Location: Oak Park, IL, USA
Full name: Erik Madsen

Re: A complete 2000 lines of code engine

Post by emadsen »

minic_0.28_mingw_x64.exe -xboard
Thanks Guenther!
My C# chess engine: https://www.madchess.net
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: A complete 2000 lines of code engine

Post by xr_a_y »

Here is the final standing against Fruit2.1, this is -270elo, so Fruit2.1 being aroud 2680, this is coherent with Minic being around 2400 :)
User avatar
emadsen
Posts: 434
Joined: Thu Apr 26, 2012 1:51 am
Location: Oak Park, IL, USA
Full name: Erik Madsen

Re: A complete 2000 lines of code engine

Post by emadsen »

I was curious how our engines compare because we're at similar points of development: we've created bitboard engines with a robust alpha / beta search function but a minimal evaluation function. So I ran a head to head match last night at a time control of 2m+1s. I get very different results than you.

Code: Select all

Score of MadChess 3.0 vs Minic 0.28: 540 - 266 - 194 [0.637]
Elo difference: 97.69 +/- 19.90

1000 of 1000 games finished.

Code: Select all

39) MadChess 3.0        2328.7 :   6133 (+2671,=1203,-2259),  53.4 %

    vs.                        :  games (    +,    =,    -),   (%) :    Diff,    SD, CFS (%)
    Bumblebee 1.0              :    515 (  145,   91,  279),  37.0 :   -97.3,   9.6,    0.0
    Orion 0.4                  :    513 (  130,  129,  254),  37.9 :   -86.9,   8.4,    0.0
    Gaia 3.5                   :    516 (  164,   73,  279),  38.9 :   -83.4,   8.0,    0.0
    Myrddin 0.87               :    512 (  154,  104,  254),  40.2 :   -61.8,   8.7,    0.0
    GreKo 6.5                  :    512 (  196,   99,  217),  47.9 :   -22.4,   9.3,    0.8
    Sungorus 1.4               :    515 (  210,  119,  186),  52.3 :   +18.7,   6.8,   99.7
    Waxman 2017                :    511 (  287,   63,  161),  62.3 :   +78.2,   7.7,  100.0
    Zevra 1.8.4                :    515 (  255,  122,  138),  61.4 :   +92.1,   8.6,  100.0
    Minic 0.28                 :   1000 (  540,  194,  266),  63.7 :   +98.5,  10.0,  100.0
    Napoleon 1.8               :    513 (  290,  114,  109),  67.6 :  +120.7,   8.8,  100.0
    Galjoen 0.37.2             :    511 (  300,   95,  116),  68.0 :  +148.4,   8.4,  100.0

Code: Select all

  34 Bumblebee 1.0          :  2425.9   17.3      85    1615   600   366   649    48  2438.5
  35 Orion 0.4              :  2415.5   17.3      66    1863   648   492   723    48  2432.0
  36 Gaia 3.5               :  2412.1   15.4      97    1866   702   369   795    48  2432.1
  37 Myrddin 0.87           :  2390.5   19.2     100    1862  1107   321   434    68  2225.1
  38 GreKo 6.5              :  2351.1   18.8      99    1862   513   420   929    39  2437.2
  39 MadChess 3.0           :  2328.7   13.2     100    6133  2671  1203  2259    53  2303.8
  40 Sungorus 1.4           :  2310.0   ----     100    1865   908   379   578    59  2231.8
  41 Waxman 2017            :  2250.5   17.1      90    1611   731   270   610    54  2208.2
  42 Zevra 1.8.4            :  2236.6   19.0      69    1615   657   364   594    52  2209.4
  43 Minic 0.28             :  2230.1   21.6      96    1000   266   194   540    36  2328.7
  44 Napoleon 1.8           :  2208.0   20.6      99    1613   597   366   650    48  2211.0
  45 Galjoen 0.37.2         :  2180.3   19.5     100    1611   549   349   713    45  2212.6
The extra games for MadChess 3.0 are from an earlier gauntlet test I ran against the other engines. In the MadChess vrs Minic match I see no instance of engine crashes or losses on time for either engine.
My C# chess engine: https://www.madchess.net
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: A complete 2000 lines of code engine

Post by xr_a_y »

Very interesting results. I'll check if this is a TC effect. I always test at 40/0:20 and never use standard incremental TC ... so maybe there is something here ...

At least Minic is killing Weini that is 2200 CCRL 40/4

I have a 40/1 head to head against Isa 2.0.64 now and it is quite even for now (only 55 games were played anyway ...)
I'll run something against Myrddin.

How is Minic performing in terms of knps on your hardware, single threaded ?