Sargon 1978 UCI Available

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

Moderator: Ras

User avatar
Scally
Posts: 232
Joined: Thu Sep 28, 2017 9:34 pm
Location: Bermondsey, London
Full name: Alan Cooper

Re: Sargon 1978 UCI Available

Post by Scally »

Bill Forster wrote: Tue Jun 02, 2020 2:07 am
Scally wrote: Fri May 29, 2020 6:36 pm Hi all,

We have Sargon I running on the DGT Pi & Picochess, graded around 1000 Elo:

pi@MAME:/opt/picochess/engines/armv7l-turing $ ./sargon.sh
uci
id name SARGON I (1978)
id author Dan and Kathe Spracklen
option name Plymax type spin default 2 min 0 max 1024
option name NoBook type check default false
option name NoRandom type check default false
uciok


Al.
Hello, is there any freely available information on how this port was accomplished? The porting process is as interesting to me as the actual result, and I put a lot of emphasis into that aspect with the presentation of my project. I am amused that Plymax is max 1024. If you set that value, you will be waiting long beyond the heat death of the universe, even if you start with bare kings I think :) I estimate in middle game positions, depth 13 would already take years sadly. :(
Hi Bill,

The GitHub site is here: https://github.com/tosca07/Lua4chess
You can see where that was forked from, I believe Dirk added the sargon_uci.lua which is the file we call within Picochess using lua:

cat sargon.sh
#!/bin/bash

cd /opt/picochess/engines/script_engines/Lua4chess;

lua sargon_uci.lua


This was added to our excellent Turing Engines collection thanks to Martin & Dirk, which may also interest you:

https://github.com/mdoege/PyTuroChamp


Cheers,

Al.
User avatar
Tibono
Posts: 127
Joined: Sat Aug 01, 2015 6:16 pm
Location: France
Full name: Eric Bonneau

Re: Sargon 1978 UCI Available

Post by Tibono »

Bill Forster wrote: Tue Jun 02, 2020 2:13 am Thank you sorry I missed this comment when it was posted. It is a lot to ask, so please feel free to ignore, but I would love a confirmation check that the right move is played at a higher fixed depth, 2 or 3 for example. And finally (again feel free to ignore) I'd love to know how long the emulation takes for a known position at depth 3 versus my native code port. I expect my port to run two or maybe three even orders of magnitude faster than the original Z80 on a modern PC. Sadly I don't expect to be able to ever confirm this, I can't find any reference position plus depth plus move played plus time elapsed for the original Z80 implementation.
Hi Bill,
no worries, the gift you made us with this UCI port deserves feedback...
Here is a comparison table;
- UCI version running with Arena on my old laptop HP620, CPU T4500 @2,3Ghz (dual core), Win7 64bits, CPU & RAM win perf index = 5.8; time per move is the one reported by the Arena GUI
- TRS-80 version running with TRS32 emulator v1.27 (c) Matthew Reed http://www.trs-80emulators.com ; TRS-80 model 1 (Z80@1,77Mhz) but for this test I set it to x10 speed-up, so 17,74Mhz. Time per move manually measured with a (nice!) vintage mechanical stopwatch, 1/10s measurement accuracy, reported times already multiplied by 10 (so 1s accuracy or so).

Code: Select all

		Sargon I UCI lv2	Sargon I TRS-80 lv2	
		move	time(s)		move	time(s)
1.e2e4		e7e5	0,000		e7e5	0
2.g1f3		Nb8c6	0,006		Nb8c6	27,5
3.Bf1c4		Ng8f6	0,014		Ng8f6	58
4.Nf3g5		d7d5	0,014		d7d5	67
5.e4xd5		Nf6xd5	0,004		Nf6xd5	89
6.Nb1c3		Qd8xg5	0,025		Qd8xg5	163,5
7.Bc4xd5	Bc8g4	0,005		Bc8g4	70
8.Bd5xc6	b7xc6	0,006		b7xc6	25,5
9.f2f3		Bg4e6	0,005		Bg4e6	63
10.Qd1e2	0-0-0	0,014		0-0-0	83
11.Qe2a6	Kc8b8	0,000		Kc8b8	22
12.0-0		Bf8e7	0,016		Bf8e7	98
13.d2d4		Qg5f5	0,016		Qg5f5	82
14.d4xe5	Be7c5+	0,015		Be7c5+	85
15.Kg1h1	Qf5xe5	0,032		Qf5xe5	233
16.Qa6xc6	Qe5d6	0,046		Qe5d6	247
17.Qc6xd6	Bc5xd6	0,004		Bc5xd6	45
18.Bc1e3	Kb8b7	0,004		Kb8b7	55
19.Ra1d1	Be6c4	0,025		Be6c4	162
20.Rf1e1	Rh8e8	0,014		Rh8e8	157,5
Total time		0,265			1833
Average time		0,013			91,7
Speed ratio			6917	
				
		Sargon I UCI lv3	Sargon I TRS-80 lv3	
		move	time(s)		move	time(s)
1.e2e4		e7e5	0,000		e7e5	0
2.g1f3		Nb8c6	0,095		Nb8c6	646
3.Bf1c4		d7d6	0,135		d7d6	904
4.Nb1c3		Bc8e6	0,187		Bc8e6	1063
5.Bc4xe6	f7xe6	0,114		f7xe6	722
6.0-0		Ng8f6	0,125		Ng8f6	766
7.d2d3		d6d5	0,116		d6d5	729
8.Nf3g5		Qd8d6	0,154		Qd8d6	909
9.Nc3b5		Qd6e7	0,105		Qd6e7	629
10.Bc1e3	d5d4	0,135		d5d4	861
11.Be3d2	0-0-0	0,145		0-0-0	854
12.a2a4		a7a6	0,157		a7a6	912
13.Nb5a3	h7h6	0,125		h7h6	809
14.Ng5f3	Qe7c5	0,145		Qe7c5	876
15.Qd1e2	Bf8d6	0,205		Bf8d6	1235
16.Na3c4	Kc8d7	0,185		Kc8d7	1184
17.b2b3		Rd8b8	0,254		Rd8b8	1547
18.c2c3		d4xc3	0,216		d4xc3	1349
19.Bd2xc3	b7b5	0,455		b7b5	2718
20.a4xb5	a6xb5	0,236		a6xb5	1431
Total time		3,289		20144
Average time		0,164		1007,2
Speed ratio			6125	
100% moves fit!
The original Sargon ran on a Jupiter III - faster than a TRS-80 model I, but I am not sure of its original speed - I found references with 2 or 4.3Mhz. Mame emulates it @4Mhz.

Should you like a fast check of moves similarity, you can get this light emulator. It is not throttled for reference speed, and plays in few seconds at lv3. I replayed the fist ten moves from my above test at level 3, no move deviation as well :D

Cheers,
Tibono
Bill Forster
Posts: 76
Joined: Mon Sep 21, 2015 7:47 am
Location: New Zealand

Re: Sargon 1978 UCI Available

Post by Bill Forster »

Scally wrote: Tue Jun 02, 2020 11:50 am
Bill Forster wrote: Tue Jun 02, 2020 2:07 am
Scally wrote: Fri May 29, 2020 6:36 pm Hi all,

We have Sargon I running on the DGT Pi & Picochess, graded around 1000 Elo:

pi@MAME:/opt/picochess/engines/armv7l-turing $ ./sargon.sh
uci
id name SARGON I (1978)
id author Dan and Kathe Spracklen
option name Plymax type spin default 2 min 0 max 1024
option name NoBook type check default false
option name NoRandom type check default false
uciok


Al.
Hello, is there any freely available information on how this port was accomplished? The porting process is as interesting to me as the actual result, and I put a lot of emphasis into that aspect with the presentation of my project. I am amused that Plymax is max 1024. If you set that value, you will be waiting long beyond the heat death of the universe, even if you start with bare kings I think :) I estimate in middle game positions, depth 13 would already take years sadly. :(
Hi Bill,

The GitHub site is here: https://github.com/tosca07/Lua4chess
You can see where that was forked from, I believe Dirk added the sargon_uci.lua which is the file we call within Picochess using lua:

cat sargon.sh
#!/bin/bash

cd /opt/picochess/engines/script_engines/Lua4chess;

lua sargon_uci.lua


This was added to our excellent Turing Engines collection thanks to Martin & Dirk, which may also interest you:

https://github.com/mdoege/PyTuroChamp


Cheers,

Al.
Great work, line by line 8080/Z80 translation to Lua! What a great concept. Hopefully I will find some time to verify moves against my X86 translation. I love the Turing Engines collection too, plenty of great historical stuff there, thanks so much.
Bill Forster
Posts: 76
Joined: Mon Sep 21, 2015 7:47 am
Location: New Zealand

Re: Sargon 1978 UCI Available

Post by Bill Forster »

Tibono wrote: Tue Jun 02, 2020 4:14 pm Hi Bill,
no worries, the gift you made us with this UCI port deserves feedback...
Here is a comparison table;
- UCI version running with Arena on my old laptop HP620, CPU T4500 @2,3Ghz (dual core), Win7 64bits, CPU & RAM win perf index = 5.8; time per move is the one reported by the Arena GUI
- TRS-80 version running with TRS32 emulator v1.27 (c) Matthew Reed http://www.trs-80emulators.com ; TRS-80 model 1 (Z80@1,77Mhz) but for this test I set it to x10 speed-up, so 17,74Mhz. Time per move manually measured with a (nice!) vintage mechanical stopwatch, 1/10s measurement accuracy, reported times already multiplied by 10 (so 1s accuracy or so).

Code: Select all

		Sargon I UCI lv2	Sargon I TRS-80 lv2	
		move	time(s)		move	time(s)
1.e2e4		e7e5	0,000		e7e5	0
2.g1f3		Nb8c6	0,006		Nb8c6	27,5
.....
19.Ra1d1	Be6c4	0,025		Be6c4	162
20.Rf1e1	Rh8e8	0,014		Rh8e8	157,5
Total time		0,265			1833
Average time		0,013			91,7
Speed ratio			6917	
				
		Sargon I UCI lv3	Sargon I TRS-80 lv3	
		move	time(s)		move	time(s)
1.e2e4		e7e5	0,000		e7e5	0
2.g1f3		Nb8c6	0,095		Nb8c6	646
...
18.c2c3		d4xc3	0,216		d4xc3	1349
19.Bd2xc3	b7b5	0,455		b7b5	2718
20.a4xb5	a6xb5	0,236		a6xb5	1431
Total time		3,289		20144
Average time		0,164		1007,2
Speed ratio			6125
100% moves fit!
The original Sargon ran on a Jupiter III - faster than a TRS-80 model I, but I am not sure of its original speed - I found references with 2 or 4.3Mhz. Mame emulates it @4Mhz.

Should you like a fast check of moves similarity, you can get this light emulator. It is not throttled for reference speed, and plays in few seconds at lv3. I replayed the fist ten moves from my above test at level 3, no move deviation as well :D

Cheers,
Tibono
Thanks so much! I couldn't hope for a better result. 100% move verification and excellent speed. I was forgetting that these days emulators are throttled back to avoid running too quickly (!?) so you were even able to answer my question about how much faster my modern translation is than the original Z80 version. 6000 times faster is much better than I hoped for. Credit for Intel (and AMD I suppose), my understanding is that many of the Z80 instructions translate to old fashioned 16 bit 8086 instructions that are kept around only for backwards compatibility and are implemented in microcode rather than in hardware. Still pretty damn quick.

This result almost makes the dozens of hours I spent debugging, wondering why the program was spiralling out of control (as inevitably happens until you get every last detail right) worthwhile by itself. It's a shame that even a 6000 times speed up is insufficient to make Sargon 1978 strong. There is a theory that throwing speed and memory at even the most primitive engine is sufficient to do that, and I was kind of hoping to confirm this theory. I think the problem is the inherent weakness of the Shannon type A strategy, even with SOMA. Maybe things would be different with a slightly later version of Sargon. Oh well.

I am impressed that you had the patience to hand time these moves, which took serious time at level 3 (even accounting for the 10 times correction that you made - run emulator at 10x speed, so multiply hand measured times by 10 to compensate). Thank you.

One thing I regret in my implementation is that in normal mode (when my FixedDepth parameter is set to the default of 0) I run Sargon at depths 3,4,5... until I judge that I've used enough time for one move. I did this because I judged depth 3 to be essentially instantaneous. But it's really not. I should have gone depths 1,2,3,4,5... which would hardly affect things normally - but would allow Sargon to play these whole game in a second or two matches I've been reading about here.

Finally, I tried out the Jupiter emulation you linked to. I played quick a FixedDepth=4 game against Sargon with my Tarrasch GUI (below - Sargon almost demonstrates that my previous assertion that it could never beat me is wrong), then tried to reproduce with the Jupiter Emulator. Everything seems great for a while. As expected the emulator is about one order of magnitude slower than the native code (10 secs v 1 sec at level 4, approx). But sadly, the emulator (reliably/repeatedly) crashes after 14. g3, failing to produce 14... O-O-O. The provenance of the Jupiter code is the same as my code, I used Andre Adrian's transcription as one of my inputs. I might see if I can check my Git logs to see if there's a fix I made somewhere that could account for this.

[pgn]
[Event "Test game, Sargon FixedDepth=4"]
[Site "?"]
[Date "2020.06.03"]
[Round "?"]
[White "Bill"]
[Black "Sargon 1978 V1.00"]
[Result "1-0"]

1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Nxe4 5. d4 Nxd4 6. Nxd4 exd4 7. Re1 f5 8.
f3 c6 9. Bf1 d5 10. fxe4 dxe4 11. c3 Be6 12. Qxd4 Qxd4+ 13. cxd4 Bd6 14. g3
O-O-O 15. Be3 Kc7 16. Nc3 Rhf8 17. Rac1 f4 18. Nb5+ Kb6 19. Nxd6 fxe3 20. Nxe4
Rxd4 21. Rxe3 Bxa2 22. Bg2 h6 23. Rce1 Bc4 24. Nc3 Rd2 25. b4 Rd4 26. Rd1 Rxd1+
27. Nxd1 Rd8 28. Nb2 Kb5 29. Nxc4 Kxc4 30. Re7 Rd1+ 31. Kf2 Rd2+ 32. Kf3 g5 33.
Rxb7 g4+ 34. Kxg4 Rxg2 35. h4 Ra2 36. Rh7 Kxb4 37. Rxh6 Ra4 38. Rf6 Kc5+ 39.
Kg5 Ra2 40. h5 Rd2 41. h6 Rd5+ 42. Kg6 Rd6 43. Rxd6 Kxd6 44. h7 Kc7 45. h8=Q a6
46. Qa1 Kb6 47. Kf6 a5 48. g4 Kb5 49. g5 a4 50. g6 Kb4 51. g7 a3 52. g8=Q c5
53. Qga2 c4 54. Qxa3+ Kb5 55. Qe5+ Kc6 56. Qa6+ Kd7 57. Qe7# 1-0
[/pgn]
Vinvin
Posts: 5287
Joined: Thu Mar 09, 2006 9:40 am
Full name: Vincent Lejeune

Re: Sargon 1978 UCI Available

Post by Vinvin »

Bill Forster wrote: Wed Jun 03, 2020 2:20 am ... 6000 times faster is much better than I hoped for. Credit for Intel (and AMD I suppose), my understanding is that many of the Z80 instructions translate to old fashioned 16 bit 8086 instructions that are kept around only for backwards compatibility and are implemented in microcode rather than in hardware. Still pretty damn quick.
In your opinion, how faster would it run if you rewrite (with the same logic) the engine with modern ASM instructions ?
Bill Forster wrote: Wed Jun 03, 2020 2:20 am This result almost makes the dozens of hours I spent debugging, wondering why the program was spiralling out of control (as inevitably happens until you get every last detail right) worthwhile by itself. It's a shame that even a 6000 times speed up is insufficient to make Sargon 1978 strong.
We should set a 100 games match against a 1800 rated engine using a time control to match level 5 or 6. ;-)
Bill Forster
Posts: 76
Joined: Mon Sep 21, 2015 7:47 am
Location: New Zealand

Re: Sargon 1978 UCI Available

Post by Bill Forster »

Vinvin wrote: Wed Jun 03, 2020 3:39 am In your opinion, how faster would it run if you rewrite (with the same logic) the engine with modern ASM instructions ?
I think a 2X speed up would be a reasonably modest effort, basically rewriting the hotspots. I think reworking the whole thing with idiomatic X86 assembly and 32 bit (or 64 bit) pointers instead of artificial 16 bit pointer emulation would likely top out at something like 4 or 5X maybe, after tons of work. I might do the former (it would be fun), but the latter is too much work for too little gain. Even a 5X speedup is only half a ply or something and with Shannon A plus SOMA I don't think this is much of a strength boost at all. If 6000X speed up only increases strength modestly, 30000X speed up is not going to be earth shattering.
Vinvin wrote: Wed Jun 03, 2020 3:39 am We should set a 100 games match against a 1800 rated engine using a time control to match level 5 or 6. ;-)
I don't think Sargon would do well. I don't usually dabble with engine matches at all, but I did try and test Sargon with Arena. It got totally hammered by Hermann and one of the other bundled engines (can't remember off the top of my head). Then I tried it with my own Tarrasch Toy Engine V0.906. This engine is rated by CCRL as Elo 1492
http://ccrl.chessdom.com/ccrl/404/cgi/e ... gine_0_906

It also beat up Sargon pretty badly, although Sargon scored a few points (a big problem was that I didn't know what I was doing with Arena, and I kept getting duplicate games, and effectively many less games than I was specifying). Sargon did better against V0.905 which is a bit weaker mainly because it doesn't use its time as well (making it more fun to play). Maybe my 1200 Elo estimate is a little conservative and 1300 is possible, but not a lot more than that.
User avatar
AdminX
Posts: 6363
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: Sargon 1978 UCI Available

Post by AdminX »

From my observations Tarrasch Toy would be a good opponent to satrt out with for a match. Here are two games played at default depth 0. I would also look a Cdrill, but I think that might me to strong for Sargon.

[pgn]
[Event "Banksia game"]
[Date "2020.06.04"]
[White "Easy Peasy 1.0"]
[Black "Sargon V1.00"]
[Result "0-1"]
[TimeControl "40/300+8"]
[Time "04:56:30"]
[Termination "mate"]
[ECO "D00"]
[Opening "Queen's pawn"]

1. d4 d5 2. Nc3 {D00: Queen's pawn, Chigorin variation} Bf5 {+0/6 10.3 350637}
3. Nf3 Nc6 {-0.5/6 9.5 354783} 4. Bf4 Nb4 {-0.87/6 18.4 684289}
5. e3 Nxc2+ {+1.8/6 6.3 229484} 6. Ke2 Nxa1 {+1.3/6 9.5 350611}
7. Qxa1 e6 {+2.3/6 15.5 585635} 8. Qd1 Bd6 {+2.3/6 12.7 474733}
9. Qa4+ Ke7 {+2.3/6 8.2 305498} 10. Bg5+ f6 {+2.8/6 3.1 114521}
11. Bh4 Nh6 {+3.4/6 14.2 502236} 12. h3 c6 {+3.8/6 17.5 608546}
13. Ke1 b5 {+3.3/6 13.1 462692} 14. Qd1 Qb8 {+4.3/5 16.7 199310}
15. Rg1 b4 {+3.8/5 4.8 168828} 16. Ne2 Be4 {+3/5 4.8 176873}
17. Nd2 Nf5 {+4.3/5 4.4 162806} 18. Nxe4 dxe4 {+3.5/6 6.4 232511}
19. Bxf6+ Kxf6 {+4.3/6 16.9 95752} 20. g4 Nh4 {+6.3/6 8.8 318434}
21. Qb3 Nf3+ {+7.8/6 8.8 311914} 22. Kd1 Nxg1 {+7.8/6 9.3 334447}
23. Nxg1 h5 {+6.8/6 10.6 392238} 24. gxh5 Qe8 {+7.8/5 15.9 146563}
25. f4 Qxh5+ {+7.3/6 6.3 236293} 26. Kc1 Qh4 {+9.8/5 15.5 204012}
27. f5 Qe1+ {+12/6 4.5 166500} 28. Kc2 Qf2+ {+12/6 8.6 314749}
29. Kb1 Qxf1+ {+15/6 3.6 136063} 30. Kc2 Kxf5 {+15/6 4.5 169757}
31. h4 Rxh4 {+15/6 10.9 405849} 32. a4 Rh2+ {M+2/7 13.0 486296}
33. Ne2 Rxe2# {M+1/3 0.0 106} 0-1
[/pgn]

[pgn]
[Event "Banksia game"]
[Date "2020.06.04"]
[White "Tarrasch Toy Engine Beta V0.905"]
[Black "Sargon V1.00"]
[Result "1/2-1/2"]
[TimeControl "40/300+8"]
[Time "05:11:15"]
[Termination "repetition"]
[ECO "C48"]
[Opening "Four knights"]

1. e4 {+0.15/6 0.2 185377} e5 2. Nc3 {+0.1/6 0.9 655079} Nc6 {+0/6 10.4 293372; C25: Vienna game, Max Lange defence}
3. Nf3 {+0.07/6 0.8 601815} Bc5 {-0.75/6 11.6 446920} 4. Bb5 {+0.2/6 0.9 668728} Nf6 {+0/6 10.0 365445; C48: Four knights, Spanish, classical defence}
5. O-O {+0.12/6 0.6 463961} a6 {-0.75/6 15.8 583629} 6. Bxc6 {+1/6 0.2 115810} dxc6 {-0.62/6 7.2 267605}
7. Nxe5 {+0.2/6 0.8 628522} Bd4 {-0.12/5 18.4 183037} 8. Nc4 {+0.22/6 0.3 219173} Be6 {-0.37/5 3.4 127231}
9. Na5 {+0.75/6 0.8 590470} Qd6 {+0.25/5 4.3 158246} 10. Nxb7 {+0.67/6 0.9 624546} Qe5 {-0.25/5 2.9 107057}
11. Kh1 {+0.92/6 2.9 2094652} Ng4 {-0.5/5 8.9 326656} 12. f4 {+2/6 0.2 174548} Qh5 {+1.5/5 4.3 158939}
13. h3 {+0.95/6 0.4 276048} Bxc3 {+0.75/5 6.5 233153} 14. Qe2 {+1.2/6 1.7 1286466} Nf6 {+0.25/5 4.4 161203}
15. Qxh5 {+0.42/6 0.9 682578} Nxh5 {-0.12/6 5.5 207674} 16. dxc3 {-0.27/6 0.5 414002} Ng3+ {+0.25/6 19.2 108213}
17. Kg1 {-0.02/6 0.1 97854} Nxf1 {-0.12/6 4.3 165750} 18. Kxf1 {+0.1/6 0.3 259474} O-O {+0/6 5.0 200200}
19. Nc5 {+0.12/6 0.4 344020} Rfd8 {-0.5/6 4.2 167916} 20. Kg1 {+0.17/6 0.5 440014} Rd1+ {+0/6 3.6 143126}
21. Kh2 {+0.27/6 0.1 127374} Bc4 {+0.25/6 6.6 262318} 22. a4 {+0.32/6 0.6 584942} Rad8 {+0.25/6 5.3 206146}
23. a5 {+0.37/6 0.5 427672} Rf1 {+0.75/6 7.0 275762} 24. b3 {+0.15/6 0.6 578364} Be2 {+0/6 4.3 169320}
25. Bb2 {+0.27/6 0.8 758164} Rd2 {+0.87/6 6.9 271178} 26. c4 {+0.17/6 0.1 122880} Rxa1 {+0.75/6 4.6 178882}
27. Bxa1 {+0.17/6 0.1 54133} Bf1 {+1/7 11.2 447278} 28. Nxa6 {+0.15/6 0.1 75174} Bxg2 {+1.8/7 13.5 542068}
29. e5 {-0.62/6 0.1 107432} Be4+ {+1.3/7 12.5 499660} 30. Kg3 {-0.47/6 0.0 37998} Bxc2 {+1.8/6 19.4 111810}
31. b4 {-0.85/6 0.2 245878} Bb3 {+1.3/6 4.5 174724} 32. c5 {-0.72/6 0.1 138021} Rd8 {+1.8/6 4.4 169774}
33. Nxc7 {-0.7/6 0.3 322238} Bc4 {+1.6/6 6.5 256242} 34. b5 {-0.07/6 0.8 848460} cxb5 {+1.8/6 4.4 170820}
35. a6 {-0.35/6 0.4 452756} Rd3+ {+2.1/6 7.7 295339} 36. Kg2 {-0.02/6 0.1 136396} Rd2+ {+2.3/6 4.2 157610}
37. Kf3 {-0.02/6 0.1 112430} Ra2 {+2.3/6 5.8 220035} 38. Bd4 {+0.02/6 0.2 155409} Ra3+ {+2/6 20.0 107387}
39. Ke4 {+0.32/6 0.1 96818} b4 {+2.1/6 19.1 113256} 40. c6 {+0.32/6 0.2 154710} Bxa6 {+1.9/6 4.3 165096}
41. Bc5 {+0.27/6 0.2 170589} Be2 {+2.5/7 17.7 687410} 42. Bxb4 {+0.37/6 0.1 106105} Rb3 {+2.8/7 18.1 701848}
43. Bd2 {-0.02/6 0.4 447270} Rxh3 {+3/7 26.1 1017153} 44. Nd5 {+0.12/6 0.5 580301} Bf3+ {+5.8/7 28.5 1111341}
45. Kd4 {-2.6/6 0.0 15194} Bxd5 {+6.3/7 17.8 693225} 46. Kxd5 {-2.7/6 0.0 43036} Rd3+ {+5.8/8 10.2 387972}
47. Ke4 {-3/6 0.0 8221} Rxd2 {+6/8 6.5 234730} 48. f5 {-3.4/6 0.1 49767} Rd1 {+6.3/8 25.3 938594}
49. f6 {-3.8/6 0.1 56532} g6 {+6.8/8 11.6 428522} 50. c7 {-3.9/6 0.0 31848} Rc1 {+6.8/10 31.8 160436}
51. Kd4 {-3.9/6 0.1 115871} Rxc7 {+6.8/10 27.5 1029167} 52. Kd3 {-4.4/6 0.0 54941} Kf8 {+6.8/8 29.1 350258}
53. Ke4 {-5/6 0.1 56009} Ke8 {+6.8/8 10.0 379814} 54. Kd4 {-5.2/6 0.0 31625} Kd7 {+7.8/8 8.3 314620}
55. Kd5 {-5.2/6 0.0 46736} Rc2 {+8/8 10.7 402703} 56. Ke4 {-6.2/6 0.0 44188} Re2+ {+8.8/8 17.5 666671}
57. Kd5 {-6.8/6 0.0 17578} Re1 {+8.8/8 11.1 423106} 58. e6+ {-7.5/6 0.0 22111} Rxe6 {+8.8/9 17.5 660054}
59. Kc5 {-8.1/6 0.0 38388} Rxf6 {+8.8/8 26.2 482851} 60. Kd4 {-9.3/6 0.0 38071} Rf4+ {+8.8/8 17.0 639438}
61. Ke5 {-8.1/6 0.0 40418} Rf5+ {+8.8/8 12.9 481603} 62. Kd4 {-8.7/6 0.0 38213} Rf4+ {+8.8/8 21.6 813169}
63. Ke5 {-8.1/6 0.0 40418} Rf5+ {+8.8/8 12.9 481603} 64. Kd4 {-8.7/6 0.0 38213} Rf4+ {+8.8/8 21.8 813169}
1/2-1/2
[/pgn]
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
User avatar
AdminX
Posts: 6363
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: Sargon 1978 UCI Available

Post by AdminX »

Or maybe not ... :D At depth 6 it crushed Tarrasch Toy. Appeared to be more tactically alert.

[pgn]
[Event "Banksia game"]
[Date "2020.06.04"]
[White "Tarrasch Toy Engine Beta V0.905"]
[Black "Sargon V1.00"]
[Result "0-1"]
[TimeControl "40/3600+8"]
[Time "05:34:11"]
[Termination "mate"]
[ECO "C48"]
[Opening "Four knights"]

1. e4 {+0.15/6 0.2 185377} e5 2. Nc3 {+0.1/6 0.9 655079} Nc6 {+0/6 6.0 230484; C25: Vienna game, Max Lange defence}
3. Nf3 {+0.07/6 0.8 601815} Bc5 {-0.75/6 9.6 365782} 4. Bb5 {+0.2/6 0.9 668728} Nf6 {+0/6 6.7 248928; C48: Four knights, Spanish, classical defence}
5. O-O {+0.12/6 0.7 463961} a6 {-0.75/6 12.3 453818} 6. Bxc6 {+1/6 0.2 115810} dxc6 {-0.62/6 5.2 191545}
7. Nxe5 {+0.2/6 0.8 628522} Bd4 {-0.75/6 17.5 645055} 8. Nc4 {+0.22/6 0.3 219173} Be6 {-0.37/6 8.9 311992}
9. Na5 {+0.75/6 0.8 590470} Qd6 {-0.5/6 15.5 556445} 10. Nxb7 {+0.67/6 0.9 624546} Qb4 {+1.1/6 8.2 291950}
11. e5 {-0.72/6 0.9 726766} Bxe5 {+1.3/6 9.9 349270} 12. d4 {-0.87/6 0.3 272407} Bxd4 {+1/6 12.2 434552}
13. a3 {-1.1/6 1.4 1023074} Bxf2+ {+0/6 12.9 452559} 14. Rxf2 {-0.97/6 0.3 193769} Qxb7 {+1.3/6 9.7 348699}
15. Qd3 {-1.3/6 2.6 1918368} O-O {+0.25/6 16.6 605770} 16. Ne4 {-1.3/6 2.0 1593194} Nxe4 {+1.3/6 11.3 398742}
17. Qxe4 {-1.3/6 0.7 530346} Rfd8 {+1.3/6 16.1 574561} 18. Rf1 {-1.1/6 4.0 3032958} Bd5 {+1.3/6 21.3 757557}
19. Qa4 {-1.2/6 1.8 1407222} Qb6+ {+2.1/6 10.6 375685} 20. Kh1 {-1.2/6 0.5 363231} Rab8 {+2.1/6 13.8 476944}
21. c4 {-1/6 0.6 457191} Qd4 {+2.5/6 12.1 425803} 22. Rf4 {-1.3/6 0.8 641322} Re8 {+2.8/6 9.6 329824}
23. h3 {-2.2/6 2.6 1869448} Re1+ {+4.8/6 8.2 284386} 24. Kh2 {-2.2/6 0.4 255748} Qg1+ {+6.3/6 8.4 292272}
25. Kg3 {-4.2/2 0.0} Rxc1 {+5.8/6 8.3 282984} 26. Rxc1 {-3.2/6 0.1 90154} Qe3+ {+3.8/6 3.6 128521}
27. Kg4 {-3.4/6 0.3 230218} Be6+ {+5.8/6 7.6 265039} 28. Rf5 {-6.1/6 0.4 312354} Qxc1 {+8.8/6 5.8 200867}
29. Qxa6 {-7.7/6 0.6 451801} Qc2 {+8.3/6 6.5 226885} 30. Qa5 {-7.6/6 0.2 120591} g6 {+9/6 5.9 206795}
31. Qxc7 {-8.6/6 0.2 133822} Bxf5+ {+9.3/6 4.5 155266} 32. Kh4 {-8.6/6 0.5 413775} Qxc4+ {+9.3/6 4.0 139979}
33. g4 {-8.7/6 0.2 191922} Rxb2 {+9.8/6 2.8 96162} 34. Kg5 {-9.7/6 1.5 1178085} Qd4 {+9.5/6 6.9 238035}
35. a4 {-9.9/6 1.9 1563610} f6+ {+16/6 10.9 377482} 36. Kh4 {-17/6 0.5 454288} Qf2+ {+16/6 16.3 566937}
37. Qg3 {-9.4/2 0.0} g5+ {M+3/6 1.0 35845} 38. Kh5 {-18/2 0.0} Qxg3 {M+2/6 0.1 3442}
39. gxf5 {M-1/6 0.3 277364} Qxh3# {M+1/6 0.0 41} 0-1
[/pgn]
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
User avatar
AdminX
Posts: 6363
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: Sargon 1978 UCI Available

Post by AdminX »

Confirmed, Cdrill is just to strong for Sargon v.1

[pgn][Event "Banksia game"]
[Date "2020.06.04"]
[White "CDrill 1800"]
[Black "Sargon V1.00"]
[Result "1-0"]
[TimeControl "40/1800+8"]
[Time "06:16:42"]
[Termination "mate"]
[ECO "D00"]
[Opening "Queen's pawn"]

1. d4 {+0.09/10 114.8 95070208} d5 2. Nc3 {+0.22/9 68.0 54707273; D00: Queen's pawn, Chigorin variation} Bf5 {+0/6 7.8 289339}
3. e4 {+0.19/9 133.8 104909824} dxe4 {+0.25/6 6.0 216339} 4. g4 {+0.25/8 150.7 121126912} Bg6 {-0.25/6 6.2 204147}
5. Bf4 {+0.28/8 91.8 72325120} Nf6 {+0.25/6 14.2 508865} 6. d5 {+0.17/8 122.6 98682880} c6 {-0.12/6 12.5 440085}
7. d6 {+0.04/8 63.4 52222976} exd6 {+1.3/6 7.0 242587} 8. g5 {-0.1/8 111.1 96616448} Ng8
9. Bh3 {+0.03/8 88.8 77878272} Qb6 {+1.8/6 14.4 522930} 10. Bxd6 {+0.47/8 92.7 82080768} Bxd6 {+2.3/6 10.6 378188}
11. Qxd6 {+1.1/8 45.1 43956224} e3 {+1.3/6 5.3 189103} 12. O-O-O {+1.8/8 80.5 81950720} exf2 {+1.3/6 6.1 205220}
13. Qe5+ {+1.5/8 73.3 72498176} Ne7 {+0.75/6 8.1 277871} 14. Nf3 {+0.73/8 66.7 65134592} Na6 {+0.62/6 19.8 688269}
15. Qxg7 {+1.9/7 60.9 59339776} Qe3+ {+0.25/6 5.2 184759} 16. Kb1 {+1.7/9 18.3 18635359} Rg8 {-0.25/6 7.0 242800}
17. Bd7+ {+2.1/8 37.4 36630566} Kd8 {+0/6 4.7 162347} 18. Qf6 {+2.1/7 51.6 52110336} Nc5
19. Ne5 {+4.2/7 42.4 40401610} f1=Q {-2.3/6 16.6 564653} 20. Rhxf1 {+6.1/7 24.4 25087656} Ne4 {-4.8/6 12.3 423597}
21. Nxe4 {+14/7 42.2 43834368} Bxe4 {-5.3/6 13.1 432590} 22. Bxc6+ {M+5/7 38.8 40631296} Qd4
23. Rxd4+ {M+4/4 0.1 51801} Kc7 {M-3/6 12.0 439384} 24. Qxe7+ {M+3/4 0.1 77133} Kb6 {M-3/6 8.2 299878}
25. Qxb7+ {M+2/4 0.1 105969} Kc5 {M-3/6 5.8 204525} 26. Qb4# {M+1/4 0.1 84098} 1-0
[/pgn]
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
User avatar
Ras
Posts: 2695
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Sargon 1978 UCI Available

Post by Ras »

Bill Forster wrote: Wed Jun 03, 2020 2:20 amIt's a shame that even a 6000 times speed up is insufficient to make Sargon 1978 strong.
I have tested the UCI version of Sargon against my CT800 engine which allows node rate throttling. Sargon gives about 30 kNPS on my PC. The CT800 (CCRL 2390 or so) typically has around 1500 kNPS on my machine. Now I throttled my engine to 30 kNPS, and it still crushes Sargon although Sargon gets 50 times more computing power. Incidentally, 30 kNPS is what my engine has on a Cortex-M4 microcontroller, so that's still a lot stronger than Sargon on a PC.

However, Sargon would run on its original hardware while my engine requires about 256k ROM and 175k RAM as minimum.
Rasmus Althoff
https://www.ct800.net