Utility to calculate average depth from PGN files

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
silentshark
Posts: 327
Joined: Sat Mar 27, 2010 7:15 pm

Utility to calculate average depth from PGN files

Post by silentshark »

Title says it all.. anyone know of a utility which can parse a PGN file and tell me the average depth searched of program A vs program B?
Dann Corbit
Posts: 12541
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Utility to calculate average depth from PGN files

Post by Dann Corbit »

Not straight off, but I turn the analyzed PGN into EPD records, decorated with the search information, and then stick them in a SQL database.
Once the data is stored in SQL, it is easy to do any sort of math on it that you want.

Most of my tables look like this (I separate by testing body/contest):

Code: Select all

USE [Chess];

CREATE TABLE [dbo].[Tcec](
	[Epd] [varchar](255) NOT NULL,
	[acd] [smallint] NULL,
	[ce] [smallint] NULL,
	[Engine] [varchar](255) NOT NULL,
	[acs] [int] NULL,
	[bm] [varchar](15) NULL,
	[result] [char](3) NULL,
 CONSTRAINT [PK_Tcec] PRIMARY KEY CLUSTERED 
(
	[Epd] ASC,
	[Engine] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY];

So average depth is calculated like this:

Code: Select all

SELECT sum ([acd]) / count([acd]) as average, [Engine]
  FROM [Chess].[dbo].[Tcec]
   group by [Engine]
   order by 1 desc
and output looks like this:

Code: Select all

average	Engine
69	ScorpioNN 2.8.9
54	Stockfish 190203
48	Exchess 6.71b
46	Stockfish 260318
44	Stockfish 231014
43	Stockfish 270918
43	Stockfish 070915
43	Pedone 1.7
43	Komodo 2227.00
43	Stockfish 18102108
43	Pedone 1.8
42	Stockfish 181224
42	Pedone 1.9
42	Stockfish 180214
42	Stockfish 170514
41	Hannibal 1.7 x64 x12
41	Pedone 191118
41	Stockfish 010918
41	Stockfish 051117
41	Stockfish 18122721
41	Stockfish 180614
41	Stockfish 160518
41	Stockfish 100218
40	Stockfish 060314
40	Stockfish 091114
40	Stockfish 8
40	Stockfish 021115
39	Stockfish 041017
39	Stockfish 300414
39	Hannibal 080915
39	Ethereal 11.06
39	Komodo 2155.00
39	Xiphos 0.2
39	Stockfish 160914
39	Brainfish 191116 64 POPCNT x12
38	Komodo 10.2 64-bit x12
38	Stockfish 071015L
38	Komodo 2246.00
38	Hannibal 100616
38	Exchess 7.15b
38	Ethereal 9.64
38	Stockfish 300815
38	Stockfish 021113
38	Xiphos 0.2.4
38	Stockfish
38	Ethereal 9.60
38	Fritz 16.10
38	Stockfish 191113
38	Booot 6.3.1
37	Ethereal 10.85
37	Stockfish 4
37	Hannibal 220416
37	Stockfish 120413
37	Komodo 1970.00
37	Ethereal 8.67
37	Xiphos 0.4.14
37	Stockfish 210516
37	Stockfish 250313
37	rofChade 1.023T
37	Xiphos 0.3.14
37	Stockfish 19011415
37	Exchess 7.18b
37	Stockfish 301114
37	Stockfish 160716
37	Ethereal 10.81
37	Stockfish 080414
37	Stockfish 141214
37	Stockfish 151013
37	Chiron 040917
36	Fritz 16
36	Stockfish 250413
36	Komodo 1937.00
36	Hannibal 1.7
36	Komodo 10.1
36	Hannibal 20180922
36	Andscacs 0.86134b
36	Deep Shredder 161006 x64 x12
36	Hannibal 1.5x5
36	Stockfish 110616
36	Ethereal 10.97
36	Chiron 2
35	Komodo 10
35	Komodo 9.3x
35	Komodo 9.1
35	Stockfish 160913
35	Stockfish 030916
35	Hannibal 071015
35	Komodo 9.2
35	Defenchess 271217
35	Komodo 12.1.1
35	Hannibal 121017
35	Laser 181205
35	Arasan TCEC13
35	Ginkgo 2.18b
35	Hannibal 300815
35	Komodo 2121.01
35	Exchess 7.71b
35	Xiphos 0.4.19
35	Laser 250918
35	Hannibal 1.5x12
35	Chiron 3.01
34	Andscacs 094030
34	Arasan TCEC12
34	Komodo 1692.19
34	Arasan 19.0.1
34	Komodo 12
34	Stockfish 1.8
34	Arasan 20.4.1
34	Komodo 9.42
34	Chiron S13
34	Xiphos 0.4.2
34	Ethereal 11.14
34	Vajolet2 2.5
34	Chiron S13.2
34	Komodo 2012.00
33	Nirvanachess 2.3 x12
33	Nirvana 160416
33	Booot 6.1_x64_popcnt x12
33	Booot 6.2
33	Fruit 20180416
33	Ginkgo 2.012
33	Komodo 2135.10
33	Chiron 110218
33	Hannibal 20181202
33	Komodo 1959.00
33	Andscacs 0.88 r1 x12
33	Andscacs 0.92
33	Andscacs 0.93
33	Arasan CCC3
33	Arasan 19.1
33	Ginkgo 2.03
32	Stockfish 210213
32	Vajolet2 2.6.1
32	Chiron S14
32	pirarucu 2.6.9
32	Houdini 6.03
32	Bobcat 070916
32	Komodo 1501.01
32	Andscacs 0.93070
32	Ginkgo 1.3
32	Andscacs 095
32	rofChade 1.019T
32	Chiron 030916
32	Bobcat 8
32	Scorpio 2.79
32	Andscacs 0.86189b
31	Stockfish 1.9.1
31	Ginkgo 2.12
31	Houdini 6.02
31	Crafty 24.1
31	Ginkgo S13
31	Jonny 8.1
31	Hannibal 20180806
31	Nirvana 2.4
31	Stockfish 1.9
31	Ginkgo 2
31	Vajolet2 2.6
31	Arasan TCEC13.2
31	Houdini 5.01 Pro x64-popc x12
31	Ginkgo 1.2
31	Ginkgo 1.9m x12
31	Stockfish 2.31
30	Stockfish 2.11
30	Schooner 2.0.33
30	Nirvana 010916
30	Nirvana 91015
30	Stockfish 2.01
30	Stockfish 2.0.1
30	Houdini 5
30	Ginkgo 2.014
30	Andscacs 0.921
30	Laser 180818
30	Pedone 1.3
30	Arasan 20.2
30	Ethereal 10.88
30	Tornado 5
30	Exchess 7.31b
30	Ginkgo 1.7
30	Andscacs 0.872b
30	Nirvana 120616
30	pirarucu 2.7.4
30	Fire 5 x64 x12
29	Chess22k 1.10
29	Komodo 1318
29	rofChade 2.005T
29	Scorpio 2.77
29	Laser 160119
29	Ethereal 8.77
29	Demolito 20181029
29	Nirvana 81715
29	Ethereal 11.24
29	Tornado 4.88
29	Cheng4 0.36c
29	Tucano 7.05
29	Bobcat 7.6
29	Ginkgo 2.18
29	Houdini 3
29	Komodo 1223
29	Andscacs 095045
29	Arasan 18
29	Houdini 200716
29	Quazar 0.4
29	Rodent III 0.258
29	Scorpio 2.82
29	Fire 5
29	Chiron 1.5
29	Laser 070518
29	Hakkapeliitta 210416
29	Ginkgo 1.75
29	Hannibal 1.4b
29	Chiron 251017
28	Ginkgo 1.9h
28	Nemorino 5.05
28	Rodent III 1.0.171
28	Ginkgo 2.01
28	Cheng4 0.36c+
28	Fire 020718
28	Houdini 9601
28	Jonny 6
28	Chiron 040318
28	Nemorino 4.01
28	Nemorino 4.13
28	chess22k 1.11
28	Fire 6.1
28	Houdini 4
28	Fire 7.1
28	Senpai 2.0
28	Komodo 1324
28	Tucano 7.06
28	Jonny 8.00 x12
28	Nemorino 5.01
28	Fruit 3.1.3
28	Spike 1.4
28	Texel 1.08a8
28	Equinox 3.30
28	Komodo 7x
28	Jonny 8
27	Hannibal 220813
27	Texel 1.06a45
27	Tucano 7.00
27	Komodo 1331
27	Jonny 7.20
27	Rodent III 0.244
27	Houdini 1.02
27	Texel 1.05a9
27	Vajolet2 2.3.2
27	Fruit 3.2
27	Jonny 7.30
27	Komodo 1133
27	Fruit 070916
27	Jonny 7
27	Komodo 1333
27	Texel 1.08a11
27	Hannibal 200213
27	Cheng4 0.39
27	Hiarcs 14
27	Laser 1.5
27	Wasp 3.37
27	Fire 7
27	Wasp 3.54
26	Fire 3.1
26	Hannibal 1.3
26	Texel 1.06a19
26	Protector R1076
26	Houdini 1.03a
26	Protector 1.8b1
26	Arasan 17.3
26	Vajolet2 2.2.15
26	Texel 1.04a16
26	KomodoMCTS 2210.00
26	Komodo 1121.05
26	Equinox 2.04
26	DeusX 1.0
26	Fizbo 1.8 x12
26	Wasp 180420
26	Wasp 3.2
26	Komodo 1142
26	Scorpio 2.76
26	Houdini 1.5a
26	Crafty 23.5
26	Wasp 3.3
26	Winter 181107
26	Ivanhoe B50tA
26	Bouquet 1.8
26	Fizbo 2
26	Bouquet 1.8b
26	Texel 1.03
26	Crafty 23.3
26	Fruit 200815
26	Gull A206
26	Raptor 2.2
25	Senpai 1
25	Tornado 4.4
25	Nemo 1.01b
25	ChessBrainVB 3.70
25	Equinox 2b
25	Houdini 1.5
25	Gull R600
25	Komodo 1188
25	Fire 5b
25	Fire 6.2
25	Protector 1.9
25	KomodoMCTS 2221.00
25	Spark 1.0
25	Gull A228
25	ChessBrainVB 3.67
25	ChessBrainVB 3.68
25	Komodo 1.3b1
25	Komodo 8
25	Scorpio 2.75
25	Komodo
25	Texel 1.07a35
25	Texel 1.07a6
25	Gull 2.3
25	Gull 3
25	Fire 011819
25	Texel 1.08a13
25	Komodo 4534
25	Komodo 1063
25	Critter 0.8
25	Protector 1.8b2
25	Nemorino 3.04a
25	Critter 1.6a
25	ChessBrainVB 3.61
25	Arasan 15.1
25	Gull 2.2
24	LCZero 0.7 ID125
24	Junior 12.0
24	Junior 13.3
24	Nightmare 7.98
24	Gull 2.8b
24	Naum 4.6
24	Laser 271117
24	Komodo 1092
24	Arasan 16
24	Arasan 16.3
24	Spark 1.1
24	Protector 1.5b2
24	Texel 1.01
24	Naum 4.5
24	KomodoMCTS 2227.00
24	Protector R1091
24	Raptor 2.3
24	Texel 1.05a7
24	KomodoMCTS 2180.00
24	Ivanhoe B47cB
24	Rybka 4.1
24	Fizbo 1.7
24	DisasterArea 1.63
24	Komodo 1217
24	Onno 1.27
24	Fizbo 1.8
24	Wasp TCEC S11
24	Junior 13.8
23	Minkochess 1.3
23	Vitruvius 1.19
23	Bouquet 1.8a
23	Rybka 4
23	Bugchess2 1.83
23	Nebula 2.0b
23	KomodoMCTS 2217.00
23	Crafty 23.8
23	Komodo 4119
23	ChessBrainVB 3.72
23	Jellyfish 1.1
23	Gull 190117
23	Protector 1.7
23	Equinox 1.65
23	Crafty 23.4
23	Spark 1
23	Toga II 280513
23	Wasp 2.5
23	Fizbo 1.91
23	Naum 4.2
23	Gull 180521
23	Nemorino 3.04
23	Spark 0.5
23	Dirty 240411
23	Crafty 23.6
23	Gaviota 0.99b
23	Hannibal 1.0a
22	Octochess 5374
22	Protector 1.6b14
22	The Baron 3.41
22	Gaviota 0.87a8
22	Rybka 4.0
22	Dirty 190113
22	Junior 11.2
22	The Baron 3.35a
22	The Baron 3.40a
22	Toga II 4.01
22	Critter 0.9
22	Junior 12.5
22	Ivanhoe 999946h
22	Gaviota 1
22	Protector 1.4
22	Bugchess2 1.9
22	Protector 1.6b12
22	Daydreamer 1.75
22	Scorpio 2.6
21	Nightmare 7.82a
21	Laser 1.1
21	The Baron 3.40b
21	Junior 12
21	KomodoMCTS 2246.00
21	Shredder 12
21	Critter 1.01
21	Francesca 0.18
21	Toga II 010214
21	Rybka 4 Exp-61
21	The Baron 3.34b
21	Umko 1.1
21	Komodo 4165
21	Sjeng c't 2010
21	Scorpio 2.7
21	Hiarcs 13.2
21	Deuterium 10.01
21	Toga II 140913
21	Gaviota 1.01
21	Gull R375
21	Deuterium 11.01
21	Nightmare 7.8
21	Jonny 4.0
20	Onno 1.2.7
20	Arminius 090314
20	Fridolin 2
20	Danasah 5
20	Shredder 12.0
20	Laser 200917
20	Arasan 12.2
20	Octochess 5178
20	Equinox 0.95
20	Gull II
20	Booot 5.1
20	Redqueen 0.95
20	Protector 1.36.387
20	The Baron 3.36
20	Gaviota 0.8602
20	Nebula 2
19	Rodent 0.17
19	Arminius 100813
19	Prodeo 1.83c
19	LCZero 16.10161
19	Redqueen 1.197
19	Equinox 0.96y
19	Gnu 5.07.170.5b
19	Myrddin 0.87
19	Redqueen 0.98
19	Hiarcs 13.1
19	Gull 1.2
19	Zappa Mexico II
19	DeusX 1.1
19	Alfil 13.1
19	Redqueen 1.13
19	Arminius 180114
19	Redqueen 1.14
19	Laser 280816
18	Naraku 1.31
18	Greko 8.0
18	Gull 1.1
18	Gull 3683
18	Alfil 14.1
18	Sjeng WC2008
18	Jazz 799
18	Hamsters 0.71
18	Rotor 0.6
18	Chronos 1.99
18	Danasah 4.6
17	Pawny 0.2.1
17	Gaviota 0.86b3
17	LCZero v20.2-32930
17	Cuckoo 1.1
17	LCZero v19-TP-11248
17	Lc0 18.11248
16	Octochess 4741
16	LCZero v19.1-11248
16	LCZero v20rc2-32194
16	lc0 16.10520
15	Delphil 3
15	LCZero v20.1-32742
15	Glass 1.6
14	LCZero v19.1-RC2-11248
14	Delphil 3.2
14	Firefly 2.7.0
14	lc0 16.10800
13	Philou 3.5
13	Delphil 3.3b2
13	Delphil 2.6b
12	Gaviota 0.83
12	Philou 3.51
12	LCZero v20-rc2-32329
12	Firefly 2.6
11	Gaviota 0.81
11	Gaviota 0.8
9	Lc0 17rc2.11052
9	LittleLeela
8	Lc0 17rc2.10152
6	Lc0 17rc2.10925
4	lc0 16.10809
NULL	Jonny 4
NULL	Ivanhoe B52aF
NULL	Sjeng 2008
I guess the bottom three did not have any games.
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.
User avatar
Rebel
Posts: 6993
Joined: Thu Aug 18, 2011 12:04 pm

Re: Utility to calculate average depth from PGN files

Post by Rebel »

silentshark wrote: Thu Feb 21, 2019 7:34 pm Title says it all.. anyone know of a utility which can parse a PGN file and tell me the average depth searched of program A vs program B?
SOMU - function Match stats

http://rebel13.nl/download/utilities.html

Examples:

http://rebel13.nl/text/match-stat-1.htm
http://rebel13.nl/text/match-stat-2.htm
90% of coding is debugging, the other 10% is writing bugs.
User avatar
silentshark
Posts: 327
Joined: Sat Mar 27, 2010 7:15 pm

Re: Utility to calculate average depth from PGN files

Post by silentshark »

fab - thanks both :-)

Ed, that was absolutely the tool I was looking for. Many thanks.
Joerg Oster
Posts: 937
Joined: Fri Mar 10, 2006 4:29 pm
Location: Germany

Re: Utility to calculate average depth from PGN files

Post by Joerg Oster »

Rebel wrote: Thu Feb 21, 2019 9:48 pm
silentshark wrote: Thu Feb 21, 2019 7:34 pm Title says it all.. anyone know of a utility which can parse a PGN file and tell me the average depth searched of program A vs program B?
SOMU - function Match stats

http://rebel13.nl/download/utilities.html

Examples:

http://rebel13.nl/text/match-stat-1.htm
http://rebel13.nl/text/match-stat-2.htm
Very useful, thanks!
Jörg Oster
User avatar
Guenther
Posts: 4607
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Utility to calculate average depth from PGN files

Post by Guenther »

Joerg Oster wrote: Fri Feb 22, 2019 11:38 am
Rebel wrote: Thu Feb 21, 2019 9:48 pm
silentshark wrote: Thu Feb 21, 2019 7:34 pm Title says it all.. anyone know of a utility which can parse a PGN file and tell me the average depth searched of program A vs program B?
SOMU - function Match stats

http://rebel13.nl/download/utilities.html

Examples:

http://rebel13.nl/text/match-stat-1.htm
http://rebel13.nl/text/match-stat-2.htm
Very useful, thanks!
Ferdinand created a few tools which work perfectly (not only for average depth),
while I found out and verified Eds tool (at least in the past) did not calculate correctly.

https://sites.google.com/view/deuterium ... /tools/pgn
https://rwbc-chess.de

trollwatch:
Talkchess nowadays is a joke - it is full of trolls/idiots/people stuck in the pleistocene > 80% of the posts fall into this category...
Joerg Oster
Posts: 937
Joined: Fri Mar 10, 2006 4:29 pm
Location: Germany

Re: Utility to calculate average depth from PGN files

Post by Joerg Oster »

Guenther wrote: Fri Feb 22, 2019 11:56 am
Joerg Oster wrote: Fri Feb 22, 2019 11:38 am
Rebel wrote: Thu Feb 21, 2019 9:48 pm
silentshark wrote: Thu Feb 21, 2019 7:34 pm Title says it all.. anyone know of a utility which can parse a PGN file and tell me the average depth searched of program A vs program B?
SOMU - function Match stats

http://rebel13.nl/download/utilities.html

Examples:

http://rebel13.nl/text/match-stat-1.htm
http://rebel13.nl/text/match-stat-2.htm
Very useful, thanks!
Ferdinand created a few tools which work perfectly (not only for average depth),
while I found out and verified Eds tool (at least in the past) did not calculate correctly.

https://sites.google.com/view/deuterium ... /tools/pgn
Thank you for the hint.
I will try both.
Jörg Oster