Zelfde Stockfish, zelfde diepte, andere computer: zelfde beste zet?

Het nieuwtje 7.h4 van Dubov / Foto: Fide (Lennart Ootes)

Als je een tragere computer hebt, maar deze meer tijd geeft om dezelfde diepte te bereiken, denk je dat de engine dan uiteindelijk dezelfde aanbeveling zal geven? Als je gebruik maakt van Stockfish op een website, zoals chess.com, of in een app, zoals Follow Chess / Analyze This, vertrouw je dan louter op de analysediepte voor de kwaliteit van je analyse of kijk je ook naar andere factoren? Door de vraag te stellen is hij wellicht retorisch geworden: een langzamer device kan je inderdaad een andere aanbeveling op dezelfde diepte geven en ik zal dit illustreren met het volgende fascinerende voorbeeld.

Positie na 7. h4

Ter voorbereiding op mijn tegenstander op het Sunway Sitges schaakfestival keek ik naar de zet 7.h4. De altijd creatieve en inspirerende Daniil Dubov introduceerde deze zet op het hoogste schaakniveau in zijn partij tegen Boris Gelfand in 2016. Na Gelfand’s 7 … Pa5 8.f4 d6 9.f5 won Wit snel met een verpletterende koningsaanval.
Maar wat gebeurt er als Zwart het paard onmiddellijk aan de tand voelt met 7 …. h6 ? Deze zet werd gespeeld in de partij tussen Sasikiran en Harika op de Isle of Man Grand Swiss 2019. Wit ging verder met het sterke 8.Pd5! met als dreiging Pxf6+ gevolgd door Dh5 en Dg6, gebruikmakende van het feit dat de loper op c4 de pion op f7 pint. Arme Harika, het moet moeilijk zijn geweest om deze voorbereiding over het bord te weerstaan! Na 8… Pxd5 9.Lxd5! ontstaat de volgende positie:

Positie na 9.Lxd5

Deze positie zal centraal staan in onze analyse met behulp van de standaard Stockfish 10 (geen ontwikkelingsversie en met ‘contempt’ op 0).
Op mijn 2016 Surface-boek met 1 CPU (2 threads) en op diepte 35 beveelt Stockfish 9 … hxg5 aan en beoordeelt dat Black iets beter is (aantal nodes: 400 miljoen).
Om mijn 2019 Razer Blade Studio, met behulp van 6 CPU’s (12 threads), en op dezelfde diepte 35, beveelt Stockfish 9 … Pb4 aan en beschouwt de positie als ongeveer gelijk (aantal nodes: 2 miljard).
Als referentie: de standaarddiepte voor partij-analyse op chess.com is 20, dus 35 is een redelijke diepte. Maar na 9 … hxg5 staat Zwart helemaal verloren! Na het min of meer geforceerde: 10.hxg5 g6 (om Dh5 te voorkomen) 11.Dg4 Kg7 12.Th7+ Kxh7 13.Dh4+ Kg8. 14.Ld2 gevolgd door 0-0-0 er is geen verdediging tegen Th1 en mat. Wit offert een paard en een toren en Zwart heeft 3 zetten om iets tegen het mat te doen maar kan het mat niet voorkomen. Prachtig!

Analysepositie na 14.Ld2

De langzamere processor beveelt een volledig verliezende zet op diepte 35 aan, terwijl de sterkere processor en Harika het superieure 9 … Pb4 speelden!  Waarom is dit het geval? Het antwoord is vrij eenvoudig. De boom met mogelijke voortzettingen groeit exponentieel met de diepte van de analyse. Sinds versie 7 gebruikt Stockfish niet alleen rekenkracht om dieper te gaan , maar ook om wijder te gaan in de boom. Door wijder in de boom te gaan, verbetert de kwaliteit van de analyse.

Dit voorbeeld laat zien dat analysediepte, de rekentijd om een bepaalde diepte te bereiken van relatief belang zijn en dat de kwaliteit van een aanbeveling van de engine ook sterk afhankelijk is van de snelheid van de processor en het beschikbare geheugen.

Ben je je bewust van de relatieve processorsnelheid / geheugen in je telefoon, tablet, computer en de impact op de kwaliteit van de engine-analyse? Weet je hoeveel CPU/geheugen uw apparaat toewijst aan uw partijanalyse en hoeveel gebruikt wordt voor andere applicaties? Weet je hoe snel de processorsnelheid is wanneer je een web plug-in gebruikt (zoals op chess.com)? En wordt deze analyse uitgevoerd op een cloud of lokaal?

Een andere manier om naar het probleem te kijken is te analyseren op welke diepte een device / website stopt met het aanbevelen van de verliezende 9 … hxg5. Enkele resultaten op populaire websites:
Follow Chess / Analyze This : diepte 40 (met iPhone 11 Pro Max)
Lichess (Stockfish 10+ WASMX): diepte 32 (op Razer Blade Studio)
Chess.com Selfanalysis (Stockfish.js 10) : diepte 37 (op Razer Blade Studio)

Androidfish: diepte 31 (op Huawei P Smart (2019) met een HiSilicon Kirin 710 processor (8 core 1.7 GHz/2.2 GHz)/3 GB RAM)
Ik ben zeer geïnteresseerd om van de lezers te horen op welke diepte en na hoeveel tijd Stockfish 10 niet langer de verliezende 9 … hxg5 aanbeveelt maar switcht naar 9… Pb4. Geef alsjeblieft aan welk apparaat je gebruikt en welk programma / website. (Voor de techneuten: het zoekalgoritme van Stockfish is niet-deterministisch, dus zelfs met gelijke hardware kan er een verschillende aanbeveling gegeven worden. Echter, de processor + geheugen zorgen voor meer variatie dan het algoritme alleen.)

Chessify, een bedrijf dat o.a. cloud engine-services aanbiedt, heeft een match uitgevoerd tussen 3 computer configuraties: 1 CPU, 4 CPU’s en 50 CPU’s met een geforceerde diepte van 20 zetten voor elke zet. De 50 CPU-configuratie scoorde 81% tegen de 1 CPU en 73% tegen deze 4 CPU op gelijke diepte. Deze prestatie komt overeen met een respectief ratingverschil van 240 en 170 punten. Zie voor meer informatie hun blog: NPS vs Time-to-depth
Dezelfde engine, dezelfde diepte, 200 punten verschil!

Het is niet verrassend dat de huidige standaard voor professionele schaakanalyse bestaat uit:
Cloud-analyse met meerdere engines: Leela Chess Zero (of een derivaat zoals Fatfish of Allie). Stockfish, Komodo, Houdini
Database van correspondentie, engines en GM-games met een focus op partijen van de afgelopen jaren.
AlphaZero en de recente neurale netwerk engines leiden tot een herevaluatie van bepaalde posities. Partijen van vóór 2015 zijn van weinig analytische waarde voor topspelers.
Laten we tot slot terugkeren naar de partij Saskiran – Harika.

Positie na 10.Lb3

Na 9. Lxd5 Pb4 ging Sasikiran verder met 10.Lb3 en Harika antwoorde met 10 … d5.
Opgave: Had Harika 10 … hxg5 (i.p.v. 10… d5) kunnen spelen of is dit nog steeds onmogelijk?

10 Comments

  1. Avatar
    Eric César januari 18, 2020

    Mijn PC met Stockfish 10 64 BMI2 vindt na 4 minuten en 15 seconden zowel 9…Pb4 als 9…De8 beter dan 9…hxg5. Als diepte geeft hij dan aan 37/75.

    9…Pb4 heeft wel de voorkeur boven 9…De8.

    Processor i7-4770K @3.50 Ghz
    Hash grootte 16384 MB
    Contempt 0
    Threads 4
    Skill Level 20
    Move Overhead 30
    Minimum Thinking Time 20
    Slow Mover 84
    nodestime 0
    SyzygyProbeDepth 1
    SyzygyProbeLimit 7

    • Avatar
      Han Schut januari 19, 2020

      Bedankt Eric. Leuk zo’n actieve reactie!
      Diepte 37 en meer dan 4 minuten; een bewijs dat soms de computer wat meer tijd nodig heeft.

      • Avatar
        Christophe123 januari 25, 2020

        Stockfish 11 heeft toch nog hier en daar wat problemen met berekeningen maken… Zie hieronder vluggertje op Lichess… beste zet (stukwinst) positioneert SF11 slechts op de derde plaats (ong. +10 ingeschat door programma) terwijl die na de stukwinst plots op +56 komt te staan… echter in onderstaande positie wordt dat niet op die manier bekeken door het programma…

        lichess.org/Tl9tXmiR/white#90

        Ook tijdens Tata stond Jorden van Foreest bijvoorbeeld op +3 , terwijl het in realiteit remise was.

        Zo zie je dat computerprogramma’s… hoe sterk ze ook zijn, toch nog hun onvolkomenheden hebben.

        Inschattten van pion-stellingen is ook nog niet hun sterkste punt.

  2. Avatar
    Frits Fritschy januari 18, 2020

    Ik kan je niet helpen (uit luiheid gebruik ik nog steeds Fritz10, wat het voordeel heeft dat je de kans hebt zelf ook wat te verzinnen), maar ik heb wel een gerelateerde vraag. Ik neem aan dat je er meer vanaf weet dan ik (wat overigens niet zo’n grote prestatie zou zijn).
    Bij online commentaar, zoals bij chessbomb, valt me op dat de kwaliteit van de zetten in een variant snel daalt naar het einde toe. Aan het einde van een gegeven variant moet je niet raar opkijken als de engine niet ziet dat degene die volgens de evaluatie slechter staat, op dat moment snel een gewonnen stelling kan krijgen.
    Met hoeveel punten daalt de elo van een engine per voorgestelde zet in een analyse? En wat zegt dat over de waarde van de evaluatie?

    • Avatar
      Han Schut januari 20, 2020

      Beste Frits, De variant die gegeven wordt is de Principal Variation: de variant met de relatief beste zetten voor Wit en Zwart in de zoekboom. De evaluatie aan het einde van de variant is zuiver gebaseerd op stellingskenmerken en niet meer op mogelijke voortzettingen. Ik kan me goed voorstellen dat de kwaliteit van de zetten minder wordt aan het einde van de variant. Omdat de PV na iedere zet wordt bijgewerkt, gebruik je bijna nooit de zetten aan het einde van de PV. Je vraag is intrigerend maar ik heb nog nooit iets gelezen over met hoeveel punten de ELO van een engine daalt per zet in de PV.

      • Avatar
        Frits Fritschy januari 20, 2020

        Dank, Han.

        Het is overigens niet triviaal. Varianten die een grootmeester in zijn commentaar geeft, worden niet per se onbetrouwbaarder naarmate hij dieper gaat. Bij een veelbezochte site als chessbomb vertrouwen veel bezoekers niet alleen op de evaluatie, maar ook op de gegeven variant. Ofwel, online analyses spiegelen iets voor wat er maar zeer ten dele is. De evaluatie klopt, maar het ‘uitleggen’ ervan is maar van beperkte waarde. Hoe beperkt? Dat zou in de bijsluiter moeten staan.

  3. Avatar
    TO januari 20, 2020

    Mijn Samsung J9, app: Followchess Ánalyze This na 2 uur hxg5. Fritz 8 op laptop 6 minuten en 23 seconden.

  4. Avatar
    Paul-Peter Theulings januari 20, 2020

    Android,Lenovo YogaP 3 Tablet 2.24GHz quad-coreP Atom X5.

    App Analyze This. Stockfish 10. Na 7½ minuut Diepte 34, Pb4

    App Droidfish, Stockfish 11, na 112 seconden diepte 31,

    Pb4.

     

    • Avatar
      Han Schut januari 20, 2020

      Ja, het viel mij ook al op dat Stockfish 11 het een paar zetten eerder ziet dan Stockfish 10. Stockfish 11 is 50 punten sterker dan Stockfish 10, maar ik was toch verrast hoeveel eerder Stockfish 11 het ziet.

  5. Avatar
    David van Kerkhof januari 20, 2020

    Interessante materie Han! Mijn bijna 10 jaar oude laptop duurt er in ieder geval veel langer over dan ik ‘m in het ‘dagelijks leven’ zou toestaan :-). Geniaal nieuwtje dus!

Only ingelogde gebruikers kunnen een reactie achterlaten.