Wanted engines with UCI_Elo

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

Moderator: Ras

mar
Posts: 2665
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Wanted engines with UCI_Elo

Post by mar »

Just in case, compiled win executables (x86 and x64) can be found here:
http://www.crabaware.com/cheng4/cheng4_ ... ix_win.zip
Ferdy
Posts: 4848
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Wanted engines with UCI_Elo

Post by Ferdy »

I get this, thanks.
Ferdy
Posts: 4848
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Wanted engines with UCI_Elo

Post by Ferdy »

Jimbo I wrote:
Ferdy wrote:Hamsters is strong :o
I apologize again, it's been a while since I configured Hamsters, and I'd forgotten some of the quirks of the settings. :oops:

If you leave the blunder setting on the default setting of "disabled", it will play very strongly. I usually set blunder to either "normal" or "medium".

The strengths of the blunder settings, from strongest to weakest are:

Very hard
Disabled
Hard
Normal
Medium

(There isn't much difference between the Normal and Medium settings.)
I use now the normal.
Ferdy
Posts: 4848
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Wanted engines with UCI_Elo

Post by Ferdy »

mar wrote:
Ferdy wrote: Thanks but I am not successful in compiling the sources.
Uh oh :(. What OS/compiler do you use?
I tried the win version now and compiles just fine (there is VS2012 solution+project).
For other OSes, there are simple shell scripts (instead of makefile :) make_*.sh
Maybe - almost forgot, either compile all the .cpp sources except "allinone.cpp", or just that one (where everything is glue-included)
I use vs2010, and gcc 4.8.1 got compiling errors, windows 7. Anyway I got already your compile.
mar
Posts: 2665
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Wanted engines with UCI_Elo

Post by mar »

Ferdy wrote:I use vs2010, and gcc 4.8.1 got compiling errors, windows 7. Anyway I got already your compile.
Interesting, what port do you use? MinGW or something else?
I'd like to look into it and would be grateful if you could provide me with more info on that,
must be the Win code path, because it compiles fine with latest gcc on Linux.
Ferdy
Posts: 4848
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Wanted engines with UCI_Elo

Post by Ferdy »

mar wrote:
Ferdy wrote:I use vs2010, and gcc 4.8.1 got compiling errors, windows 7. Anyway I got already your compile.
Interesting, what port do you use? MinGW or something else?
I'd like to look into it and would be grateful if you could provide me with more info on that,
must be the Win code path, because it compiles fine with latest gcc on Linux.
Mingw, using simple batch command.

Code: Select all

g++ *.cpp -m64 -static-libgcc -static-libstdc++ -O2 -Wall -o output.exe
Compiling messages.

Code: Select all


[...]

board.h: In constructor 'cheng4::MoveGen::MoveGen(const cheng4::Board&, const ch
eng4::Killer&, const cheng4::History&, cheng4::uint)':
board.h:634:26: warning: array subscript is above array bounds [-Warray-bounds]
   return bkingPos[ color ];
                          ^
In file included from search.h:30:0,
                 from protocol.h:28,
                 from protocol.cpp:24:
eval.h: In member function 'bool cheng4::EvalHash<Signature, Entry>::resize(size
_t)':
eval.h:55:32: error: there are no arguments to 'roundPow2' that depend on a temp
late parameter, so a declaration of 'roundPow2' must be available [-fpermissive]

   if ( !roundPow2( sizeEntries ) )
                                ^
eval.h:55:32: note: (if you use '-fpermissive', G++ will accept your code, but a
llowing the use of an undeclared name is deprecated)
In file included from search.h:30:0,
                 from search.cpp:24:
eval.h: In member function 'bool cheng4::EvalHash<Signature, Entry>::resize(size
_t)':
eval.h:55:32: error: there are no arguments to 'roundPow2' that depend on a temp
late parameter, so a declaration of 'roundPow2' must be available [-fpermissive]

   if ( !roundPow2( sizeEntries ) )
                                ^
eval.h:55:32: note: (if you use '-fpermissive', G++ will accept your code, but a
llowing the use of an undeclared name is deprecated)
mar
Posts: 2665
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Wanted engines with UCI_Elo

Post by mar »

Thanks, I'll look into it
mar
Posts: 2665
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Wanted engines with UCI_Elo

Post by mar »

Ferdy wrote:Compiling messages.
Hmm, it seems that those asserts somewhat mislead g++, not sure why.
If I use this:

Code: Select all

g++ allinone.cpp -m64 -static-libgcc -static-libstdc++ -O2 -Wall -DNDEBUG=1 -o output.exe -lwinmm
it compiles fine without warnings (4.9.1) here. Bench count is correct.
EDIT: I think the problem is that when using optimizations + asserts, the compiler makes some wrong assumptions (because assert calls function that never exits but the compiler assumes it would continue and index out of bounds)
User avatar
pedrox
Posts: 1056
Joined: Fri Mar 10, 2006 6:07 am
Location: Basque Country (Spain)

Re: Wanted engines with UCI_Elo

Post by pedrox »

Ferdy wrote:
limitstrength true
elo 1200
elo_type human
style 3
diff_engine 0
diff_computer_engine 466
diff_human_computer 70
easylevel 0
ownbook true
tourbook ./book/none.bin
mainbook ./book/super.bin
hash 128
noise 0
castling KQkq

A user who wants to play as a human only has to put elo_type human and select the elo. (The diff parameters are rather internally and should not be modified by the user to do things so complicated).

With this configuration the engine will be weaker than your configuration, approximately (466 +70) / 2 = 268 points. A human will be eternally grateful
The result indeed is very low, with 3 forfeits on time, 2 from SlowChess and 1 from DanaSahZ.
7-round swiss, TC 40 moves in 3 minutes repeating.

Code: Select all

Rank Engine                          ELO    1    2    3    4    5    6    7   Score      Tie  White   ELO
---------------------------------------------------------------------------------------------------------
  1: Horizon v4.4 elo1200           1200   3B+  2W=  7B+  4B+  9W+  8B+  5W+    6.5     29.0      3   +30
  2: Hamsters v0.7.1 elo1200        1200   5W+  1B= 12W+  7W+  4B+  3B+  8W+    6.5     28.5      4   +30
  3: Amyan v1.72 elo1200            1200   1W- 10B+ 11W+  6B+  8W-  2W-  4B+    4.0     31.0      4    +5
  4: Houdini v4 elo1200             1200  12B+ 11W+  6B+  1W-  2W-  7B+  3W-    4.0     30.5      4    +5
  5: Tornado v4.4 elo1200           1200   2B-  8W- 10W+ 12B+ 14B+  9W+  1B-    4.0     28.5      3    +5
  6: BlackMamba v1.2c elo1200       1200  14B+ 15B+  4W-  3W-  7B- 13W+ 16W+    4.0     18.5      4    +5
  7: Deuterium v14.3.34.21 elo1200  1200  13B+  9W+  1W-  2B-  6W+  4W- 10B=    3.5     31.0      4     0
  8: Cheng4 v0.36c elo1200          1200  15W-  5B+  9W= 11B+  3B+  1W-  2B-    3.5     29.5      3     0
  9: Rybka v2.3.2a elo1200          1200  16W+  7B-  8B= 14W+  1B-  5B- 11W+    3.5     22.5      3     0
 10: Hiarcs v14 elo1200             1200  11B-  3W-  5B- 16W+ 12W+ 15B+  7W=    3.5     19.5      4     0
 11: Ufim v8.02 elo1200             1200  10W+  4B-  3B-  8W- 13B+ 14W+  9B-    3.0     23.5      3    -5
 12: Arasan v17.1 elo1200           1200   4W- 13B+  2B-  5W- 10B- 16W+ 15B+    3.0     23.0      3    -5
 13: SlowChess 2.960e elo1200       1200   7W- 12W- 16B+ 15B+ 11W-  6B- 14W+    3.0     17.5      4    -5
 14: MadChess v1.4 elo1200          1200   6W- 16B+ 15W+  9B-  5W- 11B- 13B-    2.0     19.5      3   -15
 15: Rodent v1.3 elo1200            1200   8B+  6W- 14B- 13W- 16B+ 10W- 12W-    2.0     19.0      4   -15
 16: DanaSahZ v0.4 elo1200          1200   9B- 14W- 13W- 10B- 15W- 12B-  6B-    0.0     21.0      3   -35
DanaSahZ game with time forfeit. I actually thought of implementing time forfeit in very hopeless position for elo rating below 1000 :).
[pgn]
[Event "Swiss1200-9"]
[Site "Home"]
[Date "2014.07.24"]
[Round "5.1"]
[White "DanaSahZ v0.4 elo1200"]
[Black "Rodent v1.3 elo1200"]
[Result "0-1"]
[BlackElo "1200"]
[ECO "A06"]
[Opening "Reti Opening"]
[Time "13:29:09"]
[Variation "Nimzowitsch-Larsen"]
[WhiteElo "1200"]
[TimeControl "40/180:40/180:40/180"]
[Termination "time forfeit"]
[PlyCount "42"]
[WhiteType "program"]
[BlackType "program"]

1. Nf3 d5 2. b3 Bf5 {+1.08/15 3} 3. Ne5 {+1.63/3 3} Nf6 {+1.36/17 3} 4. c3
{+1.54/5 8} g5 {+1.60/16 3} 5. d3 {-1.72/4 8} Bh6 {+0.92/17 3} 6. b4
{+1.71/6 10} d4 {+1.80/19 3} 7. cxd4 {+2.54/4 9} Qxd4 {+2.04/23 3} 8. Bd2
{-4.14/4 8} Qxa1 {+4.00/21 3} 9. Nc3 {-6.50/4 8} Nbd7 {+6.92/18 3} 10. Qxa1
{-1.34/5 9} Nxe5 {-3.88/23 3} 11. b5 {-0.18/4 8} Be6 {-0.92/17 3} 12. Kd1
{-0.79/4 9} O-O {-0.84/18 3} 13. Be3 {-0.32/4 10} Rfc8 {-0.28/14 3} 14. Bd4
{+2.97/4 6} g4 {-0.52/15 3} 15. Bxa7 {-1.47/5 8} Rxa7 {+2.88/24 4} 16. Ke1
{-4.50/4 11} Nd5 {+3.16/21 4} 17. a3 {-3.31/5 9} Bg7 {+5.40/18 4} 18. b6
{-5.29/4 9} cxb6 {+6.72/20 4} 19. Qd1 {-5.45/5 9} Nxc3 {+6.12/22 4} 20. Qc1
{-8.08/5 11} b5 {+10.48/23 4} 21. Qe3 {-8.61/5 10} Rxa3 {+M5/24 4} 22. ...
{White forfeits on time} 0-1
[/pgn]
With this setting of DanaSahZ, what rating level in activ list is this comparable?
1200 Fide Elo should correspond approximately to about 1130 Elo Aktiv some people indicate. Elo Aktiv + 70 = Elo FIDE

When I made the regulation of ELO (computer), I did not have any dedicated machine, thanks to a person on a forum I adjusted engine between 1800 and 2050 Elo Aktiv.

Displaying the game and after playing now with a dedicated machine of 1000 Elo points, I think would easily win the dedicated machine. The regulation does not look good, I have to adjust diff_computer_engine parameter.

If you have more games lost on time I could try to examine the code.
Ferdy
Posts: 4848
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Wanted engines with UCI_Elo

Post by Ferdy »

mar wrote:
Ferdy wrote:Compiling messages.
Hmm, it seems that those asserts somewhat mislead g++, not sure why.
If I use this:

Code: Select all

g++ allinone.cpp -m64 -static-libgcc -static-libstdc++ -O2 -Wall -DNDEBUG=1 -o output.exe -lwinmm
it compiles fine without warnings (4.9.1) here. Bench count is correct.
EDIT: I think the problem is that when using optimizations + asserts, the compiler makes some wrong assumptions (because assert calls function that never exits but the compiler assumes it would continue and index out of bounds)
That command line works perfectly without any messages. Bench is the same, and a little bit faster than the one I have downloaded.