Artikel

Dit is een nieuwsbericht; het verschijnt enkel op de home page.

 

 

Les positiespel

 

Wie zin heeft in een dagje hoogstaand positioneel schaken, kan hier de nodige info vinden.

 

Bankgegevens

 

Wat op de affiche van de schaakles ontbreekt: IBAN: NL41ABNA0492842272; BIC: ABNANL2A

 

Erg interessant

 

IM Herman Grooten is er duidelijk in geslaagd een boeiende en leerrijke workshop neer te zetten, waarvoor een 40-tal gegadigden opdaagden; in circa zes uren tijd werd heel wat inzicht verschaft, met afwisselend uitleg, een filmpje, enkele analyses en voorbeelden, en tot slot een uitspeel-simultaan, waarin de simultaangever een voor hem verloren stelling probeert te redden. Hiervoor werd de hulp ingeroepen van één van zijn pupillen, namelijk GM Robin Swinkels. Er was keuze uit drie stellingen, dit is wat ik uitgekozen heb:

 

Diagram 1

De opgave is kort en duidelijk: wit staat gewonnen, bewijs het nu maar! (ja de simultaangever speelt met zwart). Ter info, de stelling komt uit een rapid partij (Tilburg 2009) waarin diezelfde Robin de zwarte stukken hanteerde...

 

Valse bescheidenheid?

 

In alle bescheidenheid vergeet Luc hier natuurlijk te melden dat hij het trauma van Robin Swinkels terug oprakelde door hem deze verloren stelling opnieuw te laten verliezen!

 

Ik heb goed opgelet in de les

 

Ja, ik wou Wilfried niet extra ongerust maken want ik weet dat hij de site nauwlettend volgt smile

Ik heb de stelling intussen ook kort in Fritz en lang in Houdini gestoken; Fritz 11 geeft wit +2 maar zit meteen op de damevleugel te prullen; Houdini 3 geeft de stelling meteen +7 voor wit, en vindt f*g6 en P*Lc6 initieel interessant, maar schakelt na een vijftal minuten toch over naar betere inzichten, die na een uur nog steeds standhouden. Zijn benadering is minder doortastend dan wat ik op het bord kreeg, maar dat betekent alleen maar dat Robin niet de beste zetten deed.

 

Thema

 

Is het thema:

Daar hebben engines wel vaker problemen mee...

 

En toch

 

En toch had Houdini dit erg snel door, met snel een zware score voor wit, ondanks materiële gelijkheid.

 

Houdini

 

Nog een reden waarom ik niet graag tegen Houdini zou spelen...

 

Zelden

 

Ik speel zelden een partij tegen een computerprogramma, echte partijen speel ik liever tegen echte spelers op een echt bord. Maar ik gebruik deze programma's wel veel voor analyse; en sinds kort beschik ik over Houdini, die blijkbaar beter de schijn ophoudt van "inzicht" in het spel.

 

Zelden

 

Snapt Houdini deze stelling al?

Diagram 1

 

(Wit aan zet)

 

Ik stel remise voor...

 

Rybka geeft Tg7+ meteen -3 en al de rest -6 of zo; en dit blijft ongewijzigd, minuten lang. Houdini begint ook zo, maar na 15 seconden verhoogt hij de score naar 0.

 

Dat is snel

 

Indrukwekkend dat Houdini al na 15 s doorheeft dat het remise word.

 

Kan beter

 

Ben net op RobboLito gebotst; die geeft score 0 na 7 seconden...

RobboLito gebruikt de vector units (SSE4.2 instruction set), wat de klassieke programma's bij mijn weten niet doen.

 

computerschaak

 

Hoe werkt zo'n programma eigenlijk? Hij kan vermoed ik toch niet blíjven rekenen (tot schaakmat), maar moet uiteindelijk posities toch kunnen scoren zonder varianten uit te rekenen, een beetje zoals wij mensen dat doen?

 

Brute force

 

In eerste instantie worden in theorie alle (in de praktijk zeer vele) mogelijkheden berekend, tot N plies (ply=halfzet) diep, waarbij N toeneemt in de tijd. In elke eindstand wordt de score bepaald aan de hand van materiaal en positionele kenmerken (K staat veilig, kan nog rokeren, heeft vrijpionnen, afstand tot promotieveld, heeft penningen, enz); de gebruikte functie evolueert in de loop van de partij (opening/middenspel/eindspel). En de beste zet is dan de zet met de beste score.

Probleem is uiteraard dat het rekenwerk exponentieel toeneemt met de rekendiepte: als er zeg maar 10 kandidaatzetten zijn per ply, betekent elke verhoging met 1 ply in principe tienmaal meer rekenwerk. Het komt er dus op aan uiterst performante code te gebruiken.

Een fundamentele vraag waarover onenigheid bestaat: moet men meer tijd spenderen in de scorefunctie (correcter oordeel), of deze juist simpel houden zodat er tijd is om één of twee plies dieper te rekenen? Het genereren van zetten gebeurt aan circa één per µs, met het beoordelen van de stand kan men echter vlot tientallen tot honderden µs vullen. Het is bvb. in de scorefunctie dat het grootste verschil zit tussen Fritz en Houdini.

Daarbovenop komt een hoeveelheid slimmigheden om een deel van het rekenwerk te vermijden, o.a.

  • een hoeveelheid kennis van eindspelen, zodat deze (enkel voor de beoordeling) niet in detail moeten uitgerekend worden;
  • een hoeveelheid heuristiek die maakt dat de waarschijnlijk beste kandidaatzetten eerst berekend worden, zodat minder goede zetten sneller als dusdanig herkend worden;
  • Ook wordt de rekendiepte gevarieerd naarmate er nog veel "taktiek in de stelling zit" (zolang een goedkoop stuk een duurder stuk kan slaan heeft het geen zin de berekening te stoppen).

 

Verder wordt een openingsboek ingebouwd, omdat het weinig efficient en voor de speler frustrerend is als bij de opening lang gerekend wordt aan dingen die algemeen bekend zijn.

Vermoedelijk zit in Houdini nog een bijkomend iets, ik gok op een regel van het genre: als ik na N plies geen betere score heb dan bij de huidige stelling, dan kan ik niet beweren dat ik "beter sta". Merk op dat in de stelling die Toon opgaf het aantal mogelijkheden beperkt is: ofwel geeft wit geen schaak, en dan zal hij snel verliezen; ofwel geeft hij schaak, en dan zijn er maar een 50-tal zinvolle stellingen mogelijk: zK willekeurig, wT op de g-lijn op dezelfde hoogte (vertikaal schaakgeven leidt meteen tot nog meer materiele achterstand).

Al bij al is het dus puur rekenwerk, volgens vooraf bepaalde stramienen. Inzicht heeft een schaakprogramma hoegenaamd niet, de programmeur ervan hopelijk wel.

 

 


Valid XHTML 1.0 Transitional Valid CSS!

Software van deze pagina laatst bijgewerkt op 03-Apr-2017

Copyright © 2014, Luc Pattyn