pgn-compare output

Here is some example output from pgn-compare.py to demonstrate – a comparison of <CG>’s old version of the Dubai 2014 Blitz WC vs <FIDE>’s. I did modify one of the duplicate games in <CG> to show the output when the movelist differ. Otherwise the results are accurate and reflect the results of the PGN from just before <chessgame>’s recent update:

E:\...\Dubai WRB> E:\Chess\CG\pgn-compare.py \
                           CG-Dubai-Blitz-2014.pgn WRB_Blitz_Full.pgn

Not all names matched, continuing manually:

Unmapped FIDE name 'Al-Sayed, Mohammed'

 0) A R Saleh Jasim
 1) E Iturrizaga
 2) Loek van Wely
 3) Mohamad Naser Al Sayed
 4) Tahir Vakhidov

Enter choice: 3
Unmapped FIDE name 'AlHuwar, Jasem'

 0) A R Saleh Jasim
 1) E Iturrizaga
 2) Loek van Wely
 3) Tahir Vakhidov

Enter choice:    [ed- equiv to 0]
Unmapped FIDE name 'Ehlvest, Jaan'

 0) E Iturrizaga
 1) Loek van Wely
 2) Tahir Vakhidov

Enter choice: 
Unmapped FIDE name 'Hj, Azahari Md Aliuddin'

 0) E Iturrizaga
 1) Loek van Wely
 2) Tahir Vakhidov

Enter choice:  [ed- use Ctrl-C to signal no match]
Unmapped FIDE name 'Iturrizaga Bonelli, Eduardo'

 0) E Iturrizaga
 1) Loek van Wely
 2) Tahir Vakhidov

Enter choice: 
Unmapped FIDE name 'Saleh, Nagueb'

 0) Loek van Wely
 1) Tahir Vakhidov

Enter choice: 
Unmapped FIDE name 'Vahidov, Tair'

 0) Loek van Wely
 1) Tahir Vakhidov

Enter choice: 1
Unmapped FIDE name 'Van Wely, Loek'

 0) Loek van Wely

Enter choice: 


CG missing names: None.

FIDE missing names (not found in CG):

   Ehlvest, Jaan
   Hj, Azahari Md Aliuddin
   Saleh, Nagueb


CG missing games: None

FIDE missing games (not found in CG):

   Boris Savchenko -- Ehlvest, Jaan (R1.33) 1-0 (B00) 2014.06.19
   Viktor Laznicka -- Omar Noaman Al Ali (R1.49) 1-0 (A40) 2014.06.19
   A R Saleh Jasim -- Kiril D Georgiev (R1.52) 1-0 2014.06.19
   Luka Lenic -- Ishaq Saeed (R1.53) 1/2-1/2 2014.06.19
   Abdurahim Suhail -- Andrei Volokitin (R1.54) 0-1 2014.06.19
   Ivan Cheparinov -- Hj, Azahari Md Aliuddin (R1.55) 1-0 2014.06.19
   Isuru Alahakoon -- Viktor Bologan (R1.56) 0-1 2014.06.19
   Zaven Andriasian -- Bader Al-Hajiri (R1.57) 1-0 2014.06.19
   Pavel Maletin -- Saleh, Nagueb (R1.58) 1-0 2014.06.19
   Alexander Riazantsev -- Ehlvest, Jaan (R2.40) 1-0 (A40) 2014.06.19
   Elshan Moradiabadi -- Wang Hao (R3.31) 1/2-1/2 2014.06.19
   Moussa Taleb -- Kiril D Georgiev (R3.39) 0-1 (A28) 2014.06.19
   A R Saleh Salem -- Zulzaga Byambaa (R3.52) 1-0 2014.06.19
   Wang Hao -- Tanguy Ringoir (R6.30) 1-0 (C45) 2014.06.19
   Vladimir Fedoseev -- Sundar M Shyam (R9.39) 1-0 2014.06.19
   Yangyi Yu -- Mohamad Naser Al Sayed (R9.43) 1-0 2014.06.19
   Yangyi Yu -- Surya Shekhar Ganguly (R10.35) 1-0 (B48) 2014.06.19
   Vladislav Tkachiev -- Francisco Vallejo-Pons (R11.28) 0-1 (A25) 2014.06.19
   Sergey Karjakin -- Bassem Amin (R12.13) 0-1 2014.06.20
   S Breckenridge -- Sergey Kayumov (R13.50) 0-1 2014.06.20
   Vasif Durarbayli -- Mateusz Bartel (R17.39) 1/2-1/2 2014.06.20
   Tahir Vakhidov -- Yangyi Yu (R18.28) 0-1 (A07) 2014.06.20
   Alexander Goloshchapov -- Vadim Milov (R19.46) 1-0 2014.06.20
   Ahmed Adly -- A Fier (R21.43) 1-0 2014.06.20


Result mismatches (CG result, then FIDE):

 =   1-0  Markus Ragger -- Fabiano Caruana (R2.18) 1-0 (A41) 2014.06.19
0-1   =   Gabriel Sargissian -- David Anton Guijarro (R2.19) 1/2-1/2 (E60) 2014.06.19
1-0  0-1  Luka Lenic -- Gabriel Sargissian (R3.17) 0-1 (A07) 2014.06.19
 =   1-0  Peter Michalik -- Pentala Harikrishna (R8.17) 1-0 (A50) 2014.06.19
0-1  1-0  Maxim Matlakov -- Alexander Morozevich (R8.26) 1-0 (A10) 2014.06.19
1-0   =   Levon Aronian -- Vladimir Potkin (R1.3) 1/2-1/2 (A49) 2014.06.19
1-0  0-1  Igor V Glek -- Gabriel Sargissian (R1.32) 0-1 (C46) 2014.06.19
0-1  1-0  Francisco Vallejo-Pons -- Husein Aziz Nezad (R2.49) 1-0 (C77) 2014.06.19
1-0   =   Alexander Riazantsev -- Pavel Maletin (R3.28) 1/2-1/2 (A07) 2014.06.19
 =   1-0  Nikita Vitiugov -- A Fier (R3.30) 1-0 (E94) 2014.06.19
1-0  0-1  Jha Sriram -- Ahmed Adly (R4.44) 0-1 (A58) 2014.06.19
0-1  1-0  Peter Michalik -- A Moussa Othman (R4.45) 1-0 (A07) 2014.06.19
 =   1-0  Vasif Durarbayli -- A Moussa Othman (R6.49) 1-0 (B06) 2014.06.19
1-0  0-1  Mohamad Naser Al Sayed -- Pavel Eljanov (R8.39) 0-1 (E17) 2014.06.19
1-0   =   Alexander Morozevich -- Mohamad Al-Modiahki (R9.35) 1/2-1/2 (B20) 2014.06.19
1-0  0-1  Igor V Glek -- Vadim Milov (R11.40) 0-1 (B40) 2014.06.19
1-0  0-1  Ernesto Inarkiev -- Rauf Mamedov (R14.14) 0-1 (C41) 2014.06.20
0-1  1-0  Mohamad Al-Modiahki -- Viktor Bologan (R16.26) 1-0 (B00) 2014.06.20
 =   0-1  Maxim Matlakov -- Le Quang Liem (R19.9) 0-1 (A34) 2014.06.20
0-1  1-0  Gabriel Sargissian -- Viktor Laznicka (R19.19) 1-0 (D10) 2014.06.20
0-1   =   Shakhriyar Mamedyarov -- Radoslaw Wojtaszek (R20.5) 1/2-1/2 (A45) 2014.06.20
1-0  0-1  Vasif Durarbayli -- Gadir Guseinov (R13.29) 0-1 (B35) 2014.06.20
0-1   =   Peter Heine Nielsen -- Pavel Maletin (R13.38) 1/2-1/2 (E60) 2014.06.20
1-0  0-1  Peter Michalik -- Peter Heine Nielsen (R14.34) 0-1 (A58) 2014.06.20
1-0  0-1  Talal Hilwani -- Vladislav Tkachiev (R14.47) 0-1 (A15) 2014.06.20
1-0   =   Mohamed Tissir -- Moussa Taleb (R14.51) 1/2-1/2 (B23) 2014.06.20
 =   0-1  Abdulla Faisal -- Luka Lenic (R17.42) 0-1 (B10) 2014.06.20
0-1  1-0  Alexander Goloshchapov -- Basheer Al Qudaimi (R17.46) 1-0 (A81) 2014.06.20
 =   0-1  Mikhael Mchedlishvili -- Vasif Durarbayli (R18.34) 0-1 (A30) 2014.06.20
1-0   =   Alexander Moiseenko -- Baadur Jobava (R18.36) 1/2-1/2 (A41) 2014.06.20
 =   0-1  Husein Aziz Nezad -- Igor V Glek (R18.49) 0-1 (B28) 2014.06.20
0-1  1-0  A R Saleh Salem -- Elshan Moradiabadi (R19.34) 1-0 (A40) 2014.06.20
0-1  1-0  Omar Noaman Al Ali -- Jahongir Vakhidov (R19.49) 1-0 (E83) 2014.06.20
 =   1-0  Mohamad Naser Al Sayed -- Omar Noaman Al Ali (R20.48) 1-0 (D02) 2014.06.20
 =   1-0  Peter Heine Nielsen -- Mohamad Naser Al Sayed (R21.40) 1-0 (B00) 2014.06.20
 =   1-0  Jahongir Vakhidov -- Isuru Alahakoon (R21.51) 1-0 (D04) 2014.06.20



PGN mismatches (CG then FIDE):

   Hikaru Nakamura -- Alexander Goloshchapov (R1.1) 1-0 (A07) 2014.06.19
   Hikaru Nakamura -- Alexander Goloshchapov (R1.1) 1-0 (C00) 2014.06.19

      CG> 4.Bg2 g6 5.f4 Bg7 6.Nf3 d6 7.O-O Nge7
    FIDE> 4.Bh2 g6 5.f4 Bg7 6.Nf3 d6 7.O-O Nge7

   Alexander Goloshchapov -- Ngoc Truongson Nguyen (R4.27) 1/2-1/2 (D45) 2014.06.19
   Alexander Goloshchapov -- Ngoc Truongson Nguyen (R4.27) 1/2-1/2 (D45) 2014.06.19

      CG>
    FIDE> 48.Kh3 Qf1+ 49.Kg3 Qg1+ 50.Kh4 Qf2+ 51.Kh3

   Loek van Wely -- Sergei Movsesian (R11.15) 0-1 (A25) 2014.06.19
   Loek van Wely -- Sergei Movsesian (R11.15) 0-1 (A25) 2014.06.19

      CG> 77.Kd4
    FIDE>

   Jha Sriram -- Ahmed Adly (R4.44) 0-1 (A58) 2014.06.19
   Jha Sriram -- Ahmed Adly (R4.44) 0-1 (A58) 2014.06.19

      CG> 3.d5 b9 4.cxb5 a6 5.bxa6 d6 6.Nc3 g6
    FIDE> 3.d5 b5 4.cxb5 a6 5.bxa6 d6 6.Nc3 g6



CG duplicates (within PGN/tournament):

  Game #340> Jha Sriram -- Ahmed Adly (R4.44) 1-0 (A58) 2014.06.19
  Game #547> Jha Sriram -- Ahmed Adly (R4.44) 0-1 (A58) 2014.06.19

       #340> 3.d5 b5 4.cxb5 a6 5.bxa6 d6 6.Nc3 g6
       #547> 3.d5 b9 4.cxb5 a6 5.bxa6 d6 6.Nc3 g6

  Game #1022> Mohamad Naser Al Sayed -- Omar Noaman Al Ali (R20.48) 1/2-1/2 (D02) 2014.06.20
  Game #1049> Mohamad Naser Al Sayed -- Omar Noaman Al Ali (R20.48) 1-0 (D02) 2014.06.20


Non-trivial FIDE -> CG name mapping.

  Fedoseev, Vladimir3                  Vladimir Fedoseev
  Al-Sayed, Mohammed                   Mohamad Naser Al Sayed
  Glek, Igor                           Igor V Glek
  Shyam, Sundar M.                     Sundar M Shyam
  Othman, A. Moussa                    A Moussa Othman
  Aleksandrov, Aleksej                 Alexey Aleksandrov
  Omar, Noaman                         Omar Noaman Al Ali
  Vallejo Pons, Francisco              Francisco Vallejo-Pons
  Van Wely, Loek                       Loek van Wely
  Breckenridge, Steven James           S Breckenridge
  Mchedlishvili, Mikheil               Mikhael Mchedlishvili
  Nguyen, Ngoc Truong Son              Ngoc Truongson Nguyen
  Salem, A.R. Saleh                    A R Saleh Salem
  Lu, Shanglei                         Lu Shanglei
  Fier, Alexandr                       A Fier
  Vahidov, Tair                        Tahir Vakhidov
  AlHuwar, Jasem                       A R Saleh Jasim
  Georgiev, Kiril                      Kiril D Georgiev
  Najer, Evgeniy                       Evgeny Najer
  Iturrizaga Bonelli, Eduardo          E Iturrizaga
  Le, Quang Liem                       Le Quang Liem
  Wang, Hao                            Wang Hao
  Dreev, Aleksey                       Alexey Dreev

E:\...\Dubai WRB>

Please note that the program depends on the operator to fully specify the name mapping between the two tournaments. It tries, and I think succeeds, in matching as much as it can automatically and unambiguously – but the examples show how complicated the task is. The actual name mapping used is printed at the end of the output (that is, all but the trivia case mappings where the names match other than FIDE’s name ordering).

There are several phases delineated – missing names (i.e. players whose names are missing altogether from the other data set), missing games (i.e. games where a pairing shows up in one pgn file, but not the other), result mismatches (where the move-list may, or may not, match), pgn mismatches (where the move-list does differ, and the first difference is output), and finally duplicate games (where a player pairing showing up more than once without one of the pgn files).

Note that when being prompted for name matches, the program expects one of the numbers listed to be input. If no match is there the user must use <Ctrl-C> (a typical interrupt) to signal so. There is also the convenience of using <CR> (just Return or Enter) to indicate choice 0. Fairly typical behavior, and hopefully intuitive enough.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s