woensdag 30 november 2016

Voortgang van schaakprogramma's deel 2

Op deze blog hebben we het geregeld over nieuwe schaakprogramma's. Ze worden niet alleen steeds sterker maar ze beïnvloeden ook onze wijze van spelen (zie bv revolutie in het millennium) en analyseren (zie de valse waarheid). Bovendien blijkt de rek er bijlange nog niet uit want de ontwikkelingen gaan vandaag razendsnel. Persoonlijk vind ik dit ongelooflijk na meer dan 2 decennia intens programmeren door verscheidene grote talenten. Het is niet makkelijk om deze enorme progressie correct naar waarde in te schatten maar ik zal met dit artikel toch een poging doen.

In 1997 versloeg Deep Blue de toenmalig regerende wereldkampioen Garry Kasparov wat algemeen als een mijlpaal wordt beschouwd maar het was pas enkele jaren later dat elke schaker een schaakprogramma kon gebruiken van dezelfde sterkte. Het is moeilijk een exacte datum vast te leggen wanneer dit gebeurde maar ik vermoed dat 2003 er dichtbij zal zijn. 2003 was de periode van de matchen Kasparov tegen Deep Junior en X3D Fritz die beiden op een gelijk spel eindigden.

Sindsdien hebben de topprogramma's iedereen in sterkte achter gelaten en geen klein beetje. Volgens CCRL maakte Fritz een progressie van 470 elopunten in de laatste 13 jaar. Daar bovenop zien we dat Komodo 10 nog eens 210 elopunten sterker is dan de sterkste versie van Fritz. Samen dus 680 elopunten of 52 elopunten gemiddeld per jaar. Als we kijken naar enkel de laatste 3 jaar dan zien we dezelfde trend. Eind 2013 werkte ik met stockfish 4. Vorige week downloadde ik Stockfish 8 die op zijn beurt weer al 165 elo sterker speelt dan versie 4 volgens CCRL. Dat is jawel 55 elopunten gemiddeld per jaar.

Een belangrijke rol in deze progressie van de laatste jaren speelt zonder twijfel TCEC (Top Chess Engine Championship). Verbeteringen van de programma's worden toegelaten tussen de stages binnen 1 kampioenschap en dit gecombineerd met de steeds groter wordende bekendheid van het kampioenschap, werkt erg motiverend bij de meeste programmeurs.

Momenteel is de superfinale bezig van seizoen 9 waar we nu dicht bij de eindbeslissing zijn. 2 grote verrassingen noteer ik dit seizoen. De eerste is dat Komodo, de huidige leider van CCRL er niet in geslaagd is om zich te kwalificeren voor de superfinale. Dit heeft m.i. vooral te maken dat er al opnieuw met betere versies van programma's wordt gespeeld t.o.v. waarmee getest wordt door CCRL. De tweede grote verrassing is uiteraard de terugkeer van onze Belgische super getalenteerde programmeur Robert Houdart met zijn programma Houdini. Deze comeback had ik niet verwacht want Houdini 4 dateert al van 2013 ! Op de site van Houdini claimt men een vooruitgang van maar eventjes 200 elopunten en dat lijkt mij niet overdreven.

In het aparte rapidkampioenschap won Houdini voor Komodo en Stockfish maar in de superfinale van het klassieke gedeelte zal Houdini naar alle waarschijnlijkheid nipt de duimen moeten leggen voor Stockfish. Van 1 partij kunnen we nu al stellen dat ze nog lang zal herinnerd worden al is het maar door de controverse die ze creëerde en dan bedoel ik natuurlijk de 17de.
In de slotstelling werd automatisch winst toegekend aan Stockfish op basis van de Nalimov tablebases. Echter heel wat kijkers gingen hiermee niet akkoord. Vooreerst geven beide programma's een quotering van 0.00 in de slotstelling zie TCEC maar bovendien bleek dat er geen rekening werd gehouden met de 50 zetten-regel. Indien TCEC gebruik had gemaakt van Syzygy tablebases dan was dat wel mogelijk geweest.
Evaluatie door Syzygy tablebase van de slotstelling superfinale partij 17 TCEC seizoen 9
DTZ vertelt ons hoeveel zetten er geen pion wordt verplaatst of stuk wordt geslagen bij optimaal spel. DTM daarentegen is het aantal zetten naar mat bij optimaal spel. Met 123 plies of 62 zetten voor DTZ treedt de 50 zetten-regel inderdaad in werking.

Anderzijds is de 50 zetten-regel iets dat wij als mensen geïntroduceerd hebben om ervoor te zorgen dat er niet eindeloos tevergeefs wordt gezocht naar winst. Zoals ik reeds vermeldde ik mijn artikel ICCF is het ook hier niet onzinnig om af te stappen van deze regel.

Daarnaast blijft het natuurlijk wel erg vreemd om winst toe te kennen wanneer geen van beide programma's überhaupt winst zien. Ik snap perfect dat er flink wat tijd en energie wordt gewonnen door arbitrage. Dit ging tot nu toe altijd zonder problemen maar deze keer dus niet. Achteraf werd trouwens terecht opgemerkt dat Houdini de slotpositie had vermeden indien het de tablebases had mogen consulteren vooraf.

Arbitrage door (veel) zwakkere scheidsrechters levert problemen op als er moet geoordeeld worden over op winst spelen maar het omgekeerde bestaat dus ook. De veel sterkere scheidsrechter maakt een oordeel op basis van zijn kunnen maar negeert de veel lagere vaardigheden van de betrokken spelers.

Toevallig overkwam mijn zoon Hugo spelende bij de -8 in het Vlaams Jeugschaakcriteriumtornooi te Gent iets gelijkaardigs. Zijn 3de partij werd in een eindspel van elk toren + koning gearbitreerd als remise toen de tegenstander dreigde te verliezen op tijd. Achteraf kon Hugo de traantjes niet meer onderdrukken. De arbiter kweet haar taak in eer en geweten maar het is uiteraard bijzonder pijnlijk wanneer je slechts een paar weken eerder in het stapjestornooi te Turnhout net hetzelfde eindspel tegen een broer verloor van jawel net die tegenstander.
Misschien zou Hugos tegenstander in Gent dit soort fout niet maken maar we kunnen dat onmogelijk met zekerheid stellen. In de -8 categorie weet je niet wat er zal gebeuren en dan is elke beslissing betwistbaar. Uiteindelijk raadde ik Hugo aan om zich neer te leggen bij de arbitrage. Remise was een fair resultaat en uit ervaring weet ik dat het vaak beter is op lange termijn om jezelf niet te verbranden in dit soort conflicten.

Ik vermoed dat TCEC ook zo moet hebben gedacht. De arbitrage was zeker niet de allerbeste maar de beslissing was nu eenmaal gemaakt en tijdens de superfinale nog het systeem aanpassen is evenmin een optie. Tenslotte worden er 100 partijen gespeeld en het ziet er voorlopig niet naar uit dat de winnaar zal beïnvloed worden door deze ene arbitrage.

Ik verwacht na de superfinale dat CCRL ook de nieuwe versies van beide finalisten zal beginnen testen. Normaal betekent dit dat Stockfish de nieuwe nummer 1 wordt met een handvol ratingpunten meer dan zijn achtervolgers. Voor de commerciële programma's breken er moeilijke tijden aan want weinigen zullen betalen voor een zwakker programma wanneer je gratis het beste kunt krijgen.

De exacte elosterkte van de topprogramma's uitdrukken in Carlsens elo + de progressie sinds 2003 lijkt mij te kort door de bocht. Als we dit zouden doen dan betekent het dat Carlsen theoretisch geen enkel punt zou kunnen scoren in een standaardpartij zonder handicap. Ik zie hem wel een match met ruime cijfers verliezen maar met de juiste openingen moet hij toch een paar halfjes kunnen scoren wat betekent dat het eloverschil nooit 700 kan zijn.

Anderzijds in dit artikel spreken we enkel over de absolute sterkte van de schaakprogramma's. In het cijfermateriaal wordt geen rekening gehouden met hardware ontwikkelingen, verbeterde interfaces of nieuwe en grotere tablebases. Samen duwen ze de progressie misschien nog eens 200 punten hoger.

Het is niet zomaar dat ik in het begin van dit artikel vertelde dat het erg moeilijk is om de progressie naar waarde correct in te schatten. Als je de optelsommen maakt dan kom je aan duizelingwekkende ratings van 3800 elo waaraan niemand nog iets heeft. De enige manier om programma's te beoordelen vandaag is te kijken hoe ze het doen tegen andere programma's. Spijtig zien we dat ook veel schakers hetzelfde doen bij onze topspelers waardoor vaak er een groot gebrek is aan respect.

Brabo

2 opmerkingen:

  1. "Achteraf werd trouwens terecht opgemerkt dat Houdini de slotpositie had vermeden indien het de tablebases had mogen consulteren vooraf."

    Mochten ze dat dan niet? Het feit dat beide engines 0.0 gaven wijst erop dat ze juist wel toegang hadden tot de tablebases. Zoniet was de evaluatie 3.0 of meer geweest. En dan had men moeten doorspelen want zonder tablebases speelt geen enkel engine dit einspel correct. Houdini offerde zijn toren voor de laatste twee pionnen omdat hij wist dat hij het 50 zetten kon volhouden zonder mat of stukverlies. Als de 50 zetten regel niet van toepassing was, dan had hij wel 64... Le2 65.Dc6 La6 66.Df6+ Lf6 gespeeld. Conclusie: Stockfich-Houdini 1-0 was een volledig onterechte beslissing.

    BeantwoordenVerwijderen
  2. De 0.0 is niet perse afhankelijk van de tablebases. De meeste topprogramma's geven vandaag 0.0 wanneer na diep rekenen geen enkele verandering in de stelling wordt gedetecteerd. Dat was vroeger anders want toen werd enkel het hout op het bord geteld.

    Het kampioenschap duurde van mei tot december (zie https://en.wikipedia.org/wiki/Top_Chess_Engine_Championship#Technical_specifications_.28Season_9.29). Als je geen arbitrage doet bij dit soort stellingen dan riskeer je niet klaar te zijn in 1 jaar of je moet compenseren door het tempo te versnellen wat de organisatoren niet wilden. Echter ik geef je natuurlijk gelijk dat we hier helemaal niet kunnen spreken over een winnaar die met beter spel heeft gewonnen wat uiteindelijk de essentie is van het hele kampioenschap. Gelukkig had deze ene partij geen invloed op de finalisten want het puntenverschil was meer dan overtuigend.

    BeantwoordenVerwijderen