donderdag 22 februari 2018

Analyseren met de computer deel 3

December was een zwarte maand voor Stockfish. Eerst kreeg Stockfish een pak slaag van Alpha Zero zie chess.com en vervolgens slaagde Stockfish er niet in sedert jaren om zich te kwalificeren voor de TCEC-superfinale seizoen 10. Indien je enkel zou afgaan op deze feiten dan smeet je Stockfish buiten als analysepartner.

Echter als we de data dichterbij bekijken dan krijgen we al snel een ander beeld. Het pak slaag van Alpha Zero was uiteindelijk slechts een verschil in score van 64 - 36 wat overeenkomt met ongeveer 100 elo volgens het fide-handboek. Daarbij kwam veel kritiek op de manier waarop Stockfish werd gebruikt. In mijn vorig artikel toonde ik al aan dat het spelen met enkele parameters al snel een verschil van een paar honderd elopunten kan geven. Hier bovenop komt nog het ontbreken van een openingsboek en een zeer beperkte hashtabel die eveneens een serieuze impact hebben op de speelsterkte. Kortom doe de match over met betere condities voor Stockfish en het resultaat zou wel eens omgekeerd kunnen zijn maar dat zal deepmind van Google natuurlijk nooit toelaten.

Ook de vroege uitschakeling van Stockfish na stage 2 in seizoen 10 is absoluut geen schande. In tegenstelling met vorig jaren speelde men onmiddellijk de superfinale na de 2de stage waardoor zeer veel afhing van hoe de toppers scoorden tegen de onderste helft van de tabel. Stockfish was het enige programma dat geen enkele partij verloor maar kwam uiteindelijk een halfje tekort. De 2 finalisten  (Komodo en Houdini) hebben dus zeker niet bewezen dat ze sterker zijn. Persoonlijk denk ik zelfs dat Stockfish momenteel het sterkste programma is. Het won daarna de TCEC-rapid en de nieuwste release 9  (beschikbaar sinds begin deze maand) leidt op ccrl met 39 elo.

Chessbase rept uiteraard geen woord over Stockfish op hun nieuwswebsite. Het programma is een doorn in het oog van hun markt. Zelfs wanneer een nieuw top-programma zoals Houdini 6 wordt aangekondigd, kan men niet vermijden om harde commentaren te krijgen. Je moet echt wel debiel zijn om 100 euro neer te tellen terwijl je een betere engine gratis kunt krijgen. Een open forum leidt tot extra bezoekers maar kan ook schade brengen. Persoonlijk vind ik dit soort commentaren ook ongepast. Vooreerst krijg je meer dan enkel de engine voor de 100 euro en daarnaast kan je niet verwachten dat iedereen gratis werkt. Er is niets mis met geld te verdienen voor geleverde arbeid.

Nu als we ons enkel concentreren op de engine dan kan je zeker in vraagstellen in hoeverre we nog een andere engine nodig hebben behalve Stockfish. Hebben de andere topengines een meerwaarde voor ons? Wel eerlijk gezegd ik denk voor 99,9% van de schakers niet. De kwaliteit van Stockfish's analyses volstaat voor bordspelers minstens tot 2600 elo en misschien nog een stuk hoger. Slechts voor theoretici zoals correspondentiespelers en in bordschaak de absolute wereldtop wordt het twijfelachtig om enkel op Stockfish te vertrouwen. Ik noem het twijfelachtig want vandaag is het al een hele opdracht om uberhaupt nog iets te winnen met een extra engine. Om deze bewering te staven, maakte ik tijdens de 2 weken van de voorbije kerstvakantie een speciaal onderzoek.

In de 6de ronde van de voorbije Open Leuven leed ik net als de voorbije zomer in Gent zie evolutie een kansloze nederlaag tegen de Belgische IM Stefan Docx. Opnieuw werd ik al in de opening verrast en moest ik de rest van de partij achter de feiten lopen. Echter deze keer bleek het probleem in de opening nog veel groter. Ik slaagde er ondanks vele uren analyse niet in om de variant thuis op te lappen. Uiteindelijk moest ik toegeven dat mijn opening niet correct is en ik dus op zoek moest gaan naar iets anders. Echter ik ben huiverachtig om vandaag iets totaal nieuw te studeren gezien ik zeer weinig competitie kan spelen. Stefan raadde mij het klassiek Hollands aan omdat het dichtst bij mijn huidig repertoire aanleunt. Zeer recent toonde de regerende wereldkampioen Magnus Carlsen nog aan in een geheime online blitzpartij dat de opening best wel potentieel heeft.
Anderzijds Magnus kan zo goed als alles spelen zeker in blitz. Zelfs in bovenstaande partij had zwart meerdere zetten een heel dubieuze positie. Kortom om mij te overtuigen om het klassiek Hollands in mijn repertoire op te nemen, wou ik eerst meer weten over de kwaliteit van de opening. Het eerste wat je dan natuurlijk checkt zijn eventuele recente publicaties over de opening. Het e-book The Killer Dutch, gepubliceerd in 2015 kan vandaag als beste referentiewerk worden beschouwd.  De auteur is de Engelse grootmeester Simon Williams. Hij is de grootste expert in deze opening. Spijtig is vanuit puur theoretisch standpunt het boek ongeschikt om een goed verdict te krijgen van de opening. Simon schrijft niet voor theoretici maar bespreekt de opening puur vanuit een praktisch standpunt voor tornooischaak. Dit is ook begrijpelijk want uiteindelijk vormt de praktische schaker de grote meerderheid van zijn lezerspotentieel. Dus bepaalde kritieke varianten worden iets te makkelijk als ongevaarlijk gecategoriseerd.

Als er geen goed referentiewerk bestaat over een opening, blijft er niets anders over om zelf een onderzoek te starten. Echter dit is makkelijker gezegd dan gedaan. Zelfs een opening zoals het klassiek Hollands bevat vandaag een enorm complex aan varianten. Hieronder toon ik een screenshot van mijn hedendaags zelfgemaakt openingsboek met enkel partijen in die opening uit de Megadatabase waarbij een speler +2300 fide elo heeft.
Dat zijn er dus meer dan 1700 en daar moeten we nog correspondentiepartijen en computerpartijen bijtellen die mogelijks ook een belangrijke rol kunnen spelen in het beoordelen van varianten. In mijn artikel schaakopeningen studeren deel 2 legde ik uit dat 100 partijen mij geregeld al een week tijd kost. Ik besefte dus op voorhand dat ik mijn standaard werkmethode moest aanpassen om dit binnen een redelijke termijn rond te krijgen. Een eerste belangrijke aanpassing was absolute prioriteit te geven aan de meest gespeelde varianten in de bordpraktijk en niet meer de varianten die de computer verkiest. Zeker in het zeer vroege openingsstadium (dit is hier het geval met +1000 partijen) zien we dat de computer zonder openingsboek vaak minder goede zetten speelt (zie ook eerdere referentie in dit artikel naar de match tussen Alpha Zero en Stockfish). Het analyseren van nevenvarianten is noodzakelijk om de kritieke varianten te ondersteunen maar nevenvarianten analyseren om de kritieke varianten te zoeken is vooral tijdsverlies.

Een 2de belangrijke tijdswinst die ik hoopte te boeken zonder kwaliteitsverlies, was niet meer alles te laten controleren door een 2de engine (zie o.a. mijn oude artikel analyseren met de computer deel 1). Het switchen tussen engines is zeer tijdsrovend zelfs gebruikmakend van 2 computers. Dit is de link naar mijn introductie waarin ik een speciaal onderzoek had aangekondigd. I.p.v. alles te dubbel checken, besliste ik dit enkel te doen voor een zeer beperkt aantal stellingen. Enkel stellingen kritiek voor de evaluatie van de opening controleerde ik dus waar bij best spel van beide zijden nog steeds een klein voordeel werd getoond voor wit door de eerste engine.

Uiteindelijk bleken slechts 18 stellingen hierdoor over te blijven die ik door een 2de engine liet checken. Het resultaat vond ik verbluffend. Slechts voor 3 stellingen was er een conflict en dan enkel op basis van een verschil van 1 honderdste van een pion. Dit absurd fenomeen besprak ik al eerder in mijn artikel leestekens. Strikte grenzen zorgen in de meeste gevallen voor een zeer objectieve methode van analyseren maar kan in uitzonderlijke situaties tot een zeer vreemde evaluatie leiden. M.a.w. de enige juiste conclusie die we kunnen afleiden van dit project is dat de extra analyses met de 2de engine geen enkele meerwaarde had.

Het toont nogmaals aan welke enorme veranderingen er de laatste jaren op het vlak van engines zijn geweest. 10 jaar geleden was het volstrekt niet zo dat 2 top-engines het zo vaak eens waren in evaluatie over dezelfde stellingen. Je kon toen makkelijk hebben dat het ene programma winst gaf voor wit en het andere winst gaf voor zwart in dezelfde stelling. Bijkomende analyses waren toen zeer vaak nodig om te weten welke engine het bij het rechte eind had of soms lag de waarheid zelfs in het midden. Vandaag zie ik dat niet alleen de evaluatie gelijk is bij beide engines maar ook dat zelfs de hoofdvariant dikwijls dezelfde is. Eigenlijk is dit niet zo verwonderlijk als je rekening houdt met het feit dat de programma's steeds dichter komen bij perfect spel. Bovendien hanteert Stockfish ook een open source strategie. Iedereen mag de code zien en ervan leren wat ook veelvuldig wordt gedaan waardoor de programma's automatisch veel meer lijken op elkaar. Oudere top-programma's waren veel meer gesloten.

Dus we mogen de 2de engine definitief naar de prullenmand verwijzen. Nee, deze conclusie is te snel gemaakt. In het klassiek Hollands mogen er dan geen verschillen zijn tussen de engines, dit betekent niet dat dit overal geldt. De vaardigheden die belangrijk zijn voor een opening lopen soms erg uiteen. Het is ook de belangrijkste reden waarom tests met computerprogramma's steeds gebeuren in een zeer uiteenlopend gamma van type stellingen. Zelf botste ik recent nog op een serieus verschil in evaluatie die voortvloeide uit een Spaanse Breyeropening. Zie hieronder een screenshot van beide engines die parallel rekenen.


Terwijl Stockfish groot voordeel claimt, zegt Komodo dat het ongeveer gelijk is. Dus er bestaan toch nog steeds zeer specifieke stellingen waarin de top-engines het niet eens zijn en bijkomende analyses noodzakelijk zijn. Echter het is duidelijk dat ze steeds schaarser worden.

Voor specialisten zal dus het gebruik van een 2de engine voorlopig nog niet worden stopgezet. Schakers niet geïnteresseerd in het maximaliseren van de analyse-kwaliteit raad ik in elk geval af nog een 2de engine te kopen. Zelf zal ik in de toekomst ook minder gebruik maken van de 2de engine. Enkel voor het detecteren van kleine verschillen (0,3 pion) zie ik nog een meerwaarde. Dus het is onzinnig om een 2de engine te consulteren voor -2/+2 evaluaties.

Tenslotte vraagt misschien een lezer zich af wat ik uiteindelijk concludeerde over het klassieke Hollands. Een beknopte samenvatting van de wekenlange analyses kan je hieronder vinden.

Brabo

Addendum 21 maart 2018
Op http://www.chesspub.com/cgi-bin/chess/YaBB.pl?num=1369191586/75 werd een belangrijke verbetering voor zwart gevonden door de Duitse FM Stefan Buecker in het klassieke Hollands. Het nieuwtje 13...a5 i.p.v. het gespeelde 13...Lb7 zorgt ervoor dat de lijn opnieuw speelbaar is.

2 opmerkingen:

  1. Ik ben benieuwd naar de Stonewall weerlegging van Docx. Ga je daar nog over bloggen of blijft het geheim?

    BeantwoordenVerwijderen
    Reacties
    1. Mijn partij tegen Docx kan je terugvinden online: http://www.leuvencentraal.be/lc/view/nl/10925384-Stefan+Docx+wint+Open+Leuven+2017%21.html
      Alhoewel de partij niet in de grote databases is geraakt, zal ik toch in de toekomst deze weerlegging vermijden. Hoe en wat hou ik echter voorlopig geheim. Ik geef al erg veel informatie prijs via deze blog dus af en toe eens iets achterhouden, vind ik verantwoord zeker gezien mijn tegenstanders zelden of nooit informatie delen.

      Verwijderen