Supercomputers versus PC
Vincent Diepeveen
Ach, de kenners, met name de schaakprogrammeurs, weten maar al te goed hoe zwak een schaakprogramma nu eigenlijk is, en hoe sterk het ding speelt als je een paar fouten in de opening maakt en het ding een stelling geeft met een eenvoudig plan.
Zo was er een Fransman, Nolot, die een paar jaar geleden 11 stellingen op één hoop gegooid heeft, waar de computer een tactische zet moest zien te vinden, namelijk een stukoffer, welke op de korte termijn (voor een mens) wint. Dat was een paar jaar geleden natuurlijk veel en veel te moeilijk voor de meeste programma’s. Deep Thought II (voorganger van Deep Blue), loste er drie op. Deep Thought haalde in die tijd enkele miljoenen stellingen per seconde (gemiddeld 5 miljoen per seconde volgens mijn aantekeningen, en kijkend op de historische kalender moet dat rond 1991 zijn geweest).
De Nolot posities
In de tussentijd is de hardware sneller geworden, en net zo belangrijk, de programmatuur is verbeterd. Zo haalt mijn programma Diep met veel moeite de 10.000 knopen per seconde (pentium pro 200). Diep lost drie van deze stellingen op. Een vierde stelling lost Diep bijna op, maar het ontbreekt mij aan geduld (voor elke stelling krijgt een programma 32 uur, maar na zo’n uur of 4 kap ik er meestal mee, want het oplossen van wat tactische probleempjes heeft bij mij niet zo’n prioriteit).
.
Links Nolot positie 10: wit aan zet slaat vernietigend toe.
.
.
.
.
.
.
Antwoord: Txf7 Txf7 Lxf7 Kxf7 Dh5 Kg8 Pd5 Dxd4 Pe7 Kh8 Tf1 Df6 Txf6 gxf6 Kg1 en dit eindspel is gewonnen voor wit.
Deep Blue lost er naar ik vermoed acht of negen zonder veel problemen van op. Een beginnend politicus kan dan al de voorspelling doen dat over jaar of zes Diep er ook moeiteloos negen van oplost. De weddenschap dat Diep op hardware over vier jaar (twee generaties nieuwere dan de Pentium II dus) al negen van oplost wil ik overigens ook wel aan.
Diep heeft van een ply extra mijns inziens namelijk veel meer profijt dan Deep Blue dat heeft. Dit is een discussie waar Ed Schroeder zich afgelopen maanden met hart en ziel ingestort heeft op Internet. De redenering is als volgt. 15 jaar geleden was het zo dat microprogramma’s maar een paar zetten vooruit dachten. Net genoeg om herdersmat te zien. De voorlopers van Deep Blue, ChipTest en programma’s op supercomputers zoals Cray Blitz (van Prof. Robert Hyatt), versloegen moeiteloos de PC-programma’s. Cray Blitz is in die tijd wereldkampioen geweest. Dit kwam mede doordat er tactisch gehakt werd gemaakt van de microprogramma’s.
Cray Blitz rekent tegenwoordig nog steeds op een supercomputer, maar mag blij zijn met een remise tegen de microprogramma’s. Tactisch is Cray Blitz nog steeds superieur, maar het verschil tussen 5 zetten vooruit denken (pc/microprogramma’s) versus 6 zetten vooruit denken (Cray Blitz) is niet zo’n groot verschil als 3 zetten vooruit denken versus 4 zetten vooruit denken. Als dit tactische verschil dan kleiner wordt, dan wordt het positionele gedeelte van een programma belangrijker. Als dan de pc-programma’s over meer kennis beschikken dan de Deep’s, dan zal een pc-programma meer profijt hebben van een extra ply dan de Deep’s dit hebben.
De open vraag is dan natuurlijk of pc-programma’s meer kennis hebben dan de Deep’s en de Cray’s. Voor Deep Thought kan deze vraag bevestigend worden beantwoord. Voor Deep Blue ligt deze vraag wat gevoeliger (want IBM heeft er nogal belang bij als het meer lijkt dan het is). Met de informatie recent verkregen via Hyatt kan deze vraag voorlopig bevestigend worden beantwoord. Hyatt beweerde dat Deep Blue maar liefst 1000 adjustable parameters had.
Adjustable parameters
Een eenvoudig sommetje: 6 stukken van 2 kleuren op 64 velden, dat zijn: 6 x 2 x 64 = 768 adjustable parameters. Nog een tabelletje voor vrijpionnen en open lijnen, en andere verschrikkelijk elementaire schaakkennis, zoals dat een dame meer waard is dan een toren en we hebben al 1000 adjustable parameters. Dus basiskennis als dubbelpionnen in het centrum, sterke loper versus zwakke loper, het afsluiten van lijnen, de verste vrijpion, het slaan op b2 met een dame, etcetera is dan nog lang niet aan de orde. Ter vergelijking, in Diep kan ik het allemaal niet goed tellen, maar toen de afschatting over de 10000 adjustable parameters heen kwam vond ik het wel genoeg.
De lezer moet het hierboven geschrevene echter niet negatief in de richting van Deep Blue (links in beeld) opvatten. Deze mensen vervullen tenslotte een functie die het beste omschreven kan worden als ‘pionier’. In de PC-wereld is er niemand die zich bijvoorbeeld zorgen hoeft te maken over hoe je je schaakprogramma kunt verdelen over meerdere processoren (processor = de motor van de computer). Dit heet parallellisme.
Ook lopen zij tegen problemen aan, waar wij nooit (?) last van zullen hebben (het drukken van hardwarematige schaakprocessoren; dus niet alleen een computer die alleen maar kan schaken, maar ook een motor erin die alleen maar kan schaken).
Tot slot is het zo dat in de PC-wereld geheimen en trucjes goed bewaard worden, terwijl de ‘supercomputer-guys’ na verloop van tijd publiceren hoe ze de dingen hebben gedaan.
Bij mijn weten is er echter nog nooit een programmeur geweest die en een microprogramma geschreven heeft en een programma heeft op een supercomputer die beide tegelijkertijd in de wereldtop meespelen. Misschien komt hier verandering in de toekomst. De reden dat hier verandering in zou kunnen komen is dat er niet zoveel meer met een microprogramma te verdienen is. Verder is het nu ook zo dat het vereist is dat een programma van hoge kwaliteit is, zelfs al draait het op een supercomputer, voordat het programma überhaupt een kans maakt.
Ook voor Deep Blue geldt natuurlijk dat het programma wel van hoge kwaliteit is. Het afwikkelen naar een verloren pionneneindspel, zoals Cray Blitz (destijds met 500.000 knopen nog altijd sneller dan de huidige PC-programma’s), ooit deed in een wereldkampioenschap voor computers, zal Deep Blue niet snel gebeuren.