Bestudering van menselijk gedrag is irrelevant voor Kunstmatige Intelligentie?

Nog voordat we op deze stelling in kunnen gaan, moeten we eerst duidelijk hebben waar de stelling over gaat. Zolang je niet weet wat het is, kun je er niet over praten. Vandaar dat we het eerst maar eens gaan hebben over “Kunstmatige Intelligentie”. 

Deze term is bedacht door John McCarthy en voor het eerst gebruikt tijdens de “The Dartmouth summer research project on artificial intelligence”. Na deze conferentie was echter nog steeds niet duidelijk wat de definitie is van de studie Kunstmatige Intelligentie. De verschillende vakgebieden waren duidelijk, maar een echte definitie ontbrak. 

En die ontbreekt nog altijd. Ondertussen is duidelijk dat er onderzoeksgebieden van filosofie, wiskunde, economie, neurowetenschappen, psychologie, informatie technologie, control theory en linguïstiek. Nu is duidelijk dat bestudering van menselijk gedrag binnen de psychologie valt. De vraag is echter of het nodig is voor kunstmatige intelligentie. 

Als we robots willen bouwen die mensen nabootsen, is het uiteraard nodig om het gedrag van mensen te bestuderen. Maar willen we wel zulke robots bouwen? We bouwen robots om ons te assisteren, niet om ons na te doen. Met robots willen we ons leven makkelijker maken en fouten voorkomen die we anders zelf zouden maken. Waarom zou het dan nodig zijn om menselijk gedrag te laten vertonen? 

Bovendien zei John McCarthy, volgens velen de ‘vader van de kunstmatige intelligentie’:
“It's possible to program a computer in English. It's also possible to make an airplane controlled by reins and spurs.”
Vrij vertaald staat er: Het is mogelijk om een computer in het engels te programmeren. Het is ook mogelijk om een vliegtuig te besturen met teugels en sporen.
Dit is dus een redelijk sarcastische zin, waarin duidelijk wordt gemaakt dat computers andere dingen zijn dan mensen. Net zoals je een vliegtuig niet met middelen kunt besturen die voor paarden bedoeld zijn, zo kan je computers niet programmeren met een taal die voor mensen gemaakt is. 

In die zin zijn we ook van mening dat menselijk gedrag niet wenselijk is voor computersystemen. Mensen maken fouten, mede veroorzaakt door hun gedrag, en dat is nu net wat we willen voorkomen. Maar dat wil nog niet zeggen dat bestudering van menselijk gedrag niet binnen het vakgebied kunstmatige intelligentie.

Het vakgebied kunstmatige intelligentie bestaat uit twee grote stromen. De ‘sterke kunstmatige intelligentie’ en de ‘zwakke kunstmatige intelligentie’. De sterke kunstmatige intelligentie probeert de mens zo goed mogelijk na te doen. Het doel en wellicht de droom van deze onderzoekers is om een computer daadwerkelijk te laten denken. De zwakker kunstmatige intelligentie houdt zich voornamelijk bezig met systemen slim te laten doen. Door een juiste manier van programmeren proberen deze onderzoekers computers laten pretenderen dat de computers nadenken. Daadwerkelijk nadenken zullen computers nooit volgens de onderzoekers van deze stroming.

Binnen de zwakke kunstmatige intelligentie is het dus minder of niet relevant om menselijk gedrag te bestuderen. Het is niet nodig om te weten hoe de mens iets doet, het is nodig om te weten wat het begin- en eindproduct is van die actie. Als computers datgene anders doen dan mensen, maar wel dezelfde begin- en eindproduct kennen, is er geen probleem. Voor de zwakke kunstmatige intelligentie is menselijk gedrag niet bijster belangrijk. 

Binnen de sterke kunstmatige intelligentie is bestudering van menselijk gedrag wel degelijk interessant. Door middel van het bestuderen van menselijk gedrag, probeer je denkpatronen te ontdekken. Juist die denkpatronen zijn interessant voor deze onderzoekers. Als je die denkpatronen door hebt, kan je deze misschien wel implementeren in een systeem.

Binnen deze groep onderzoekers zijn er menigeen die anders over de mens denken, dan bijvoorbeeld Descartes. Volgens zijn ‘Cogito ergo sum’ ben je als je bewust bent van jezelf en omgeving meer dan een machine of ander dier. Dus als je een computer echt laat denken (‘cogito’ betekent ‘ik denk’) zou je kunnen zeggen dat hij gelijk is aan de mens.

Stel we leven in het jaar 2500. De computer- en robottechnieken hebben, vergeleken met vandaag de dag, een enorme sprong voorwaarts gemaakt. Je loopt op straat en wordt aangesproken door iemand die je iets probeert te verkopen. Het lijkt een persoon zoals jij en ik. Maar als je met haar aan de praat raakt, blijkt ze zonder blikken of blozen te vertellen dat ze een robot is die met een zeer geavanceerde computer is uitgerust. Is dit nog wel een machine tegenover je, of is het een ding dat dusdanig ontwikkeld is dat ze een persoonlijkheid heeft en staat ze dan gelijk aan de mens?  Heeft deze robot echte gedachten en gevoelens net zoals jijzelf, of is dat alleen maar geprogrammeerd?

Het bestuderen van menselijk gedrag is relevant voor bepaalde stromingen binnen de kunstmatige intelligentie. De vraag is alleen wel in hoeverre we dit gedrag willen nabootsen. Kunnen we tot het uiterste gaan of moeten we als we opeens een nieuwe techniek vinden en heel ver kunnen gaan in het nabootsen, ons inhouden en zeggen: “Nu is het genoeg.” Is het dan nodig net als bij DNA-techniek om ethische grenzen vast te leggen? Bestudering van menselijk gedrag is relevant voor bepaalde stromingen binnen de kunstmatige intelligentie, maar er moeten grenzen vastgesteld worden waarbinnen dit gedrag nagebootst of geëvenaard wordt. 

Bronvermelding:

 HYPERLINK "http://library.thinkquest.org/2705/history.html" http://library.thinkquest.org/2705/history.html
 HYPERLINK "http://en.wikipedia.org/wiki/John_McCarthy_%28computer_scientist%29" http://en.wikipedia.org/wiki/John_McCarthy_%28computer_scientist%29
 HYPERLINK "http://en.wikiquote.org/wiki/John_McCarthy" http://en.wikiquote.org/wiki/John_McCarthy
 HYPERLINK "http://www-formal.stanford.edu/jmc/robotandbaby/robotandbaby.html" http://www-formal.stanford.edu/jmc/robotandbaby/robotandbaby.html
 HYPERLINK "http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html" http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html
 HYPERLINK "http://www-formal.stanford.edu/jmc/frames.html" http://www-formal.stanford.edu/jmc/frames.html 
 HYPERLINK "http://web.media.mit.edu/~minsky/papers/ComputersCantThink.txt" http://web.media.mit.edu/~minsky/papers/ComputersCantThink.txt
 HYPERLINK "http://www.aaai.org/AITopics/html/history.html" http://www.aaai.org/AITopics/html/history.html 
 HYPERLINK "http://en.wikipedia.org/wiki/Artificial_intelligence" http://en.wikipedia.org/wiki/Artificial_intelligence
 HYPERLINK "http://filosofie.gaanstuderen.nl/filosofie/computers/main.asp" http://filosofie.gaanstuderen.nl/filosofie/computers/main.asp 

“Here's a way to tell scientific intelligence from legal intelligence. Both may start from the idea that something cannot be done and think up arguments to explain why. However, it is possible that the scientist may discover a flaw in the argument that leads him to change his mind and discover a way to do it. He will be pleased. The legal thinker will merely try to patch the flaw in the argument, because once he has chosen a side, all his intelligence is devoted to finding arguments for that side.”  John McCarthy in 1987

De vraag of een computer kan denken is net zo zinloos als de vraag of een onderzeeboot kan zwemmen.

Om over deze stelling een zinnige uitspraak te doen zullen we op de een of andere manier eerst moeten proberen te definieren wat we precies onder "denken" verstaan, en dat blijkt geen eenvoudige opgave. De meeste mensen houden het op niet nader gespecificeerde elektro-chemische processen in de hersenen, of op meer meta-fysische concepten als een ziel die zich als zodanig manifesteert, maar beide inzichten brengen ons niet veel verder. Iets als een ziel valt immers buiten ons vermogen te bestuderen via de wetenschappelijke methode, en electro-chemische processen vertellen ons alleen wat over de manier waarop de hersenen functioneren, niet hoe deze processen vertaald worden naar gedachten. Om toch tot een werkende definitie te komen zullen we daarom niet-materialistische wereldbeelden buiten beschouwing laten.

Ondanks het feit dat niemand weet wat denken inhoudt, zijn veel mensen er opmerkelijk genoeg van overtuigd dat een computer het nooit zal kunnen. Dat roept enige vragen op: veel van diezelfde mensen zijn er namelijk ook van overtuigd dat een computer in staat is taken uit te voeren waarover een mens bewust zou moeten nadenken. Hoe kan een computer dan lijken te denken zonder het daadwerkelijk te doen? Een voor de hand liggend, maar niet bevredigend, antwoord is dat ook in zulke gevallen computers slechts een oppervlakkige, voorgeprogrammeerde imitatie van menselijke intelligentie aan de dag leggen, en niet over het vermogen beschikken om zelf te redeneren over wat er zich in hun logische centra afspeelt. De vraag is echter of wat wij ervaren als bewustzijn, waaraan we onze capaciteit tot cognitie ontlenen, ook niet simpelweg het product is van een (weliswaar onnoemelijk complexe) interactie van op zichzelf hersendode biologische rekeneenheden, ie. neuronen, en zo ja, wat de scheidslijn is tussen denken en doen: het interpreteren versus het parseren van instructies. Immers, als onze hersenen ook maar computers zijn, is bewustzijn dan een gratis (emergent) bijproduct van hun structuur, of is er toch meer aan de hand? En indien, zoals in Clark Glymour's brein-prosthese experiment, alle neuronen in onze hersenen 1 voor 1 zouden kunnen worden vervangen door perfecte synthetische kopieeen en onze persoonlijkheid en emoties desondanks intact zouden blijven, hebben we dan uberhaupt nog wel recht van spreken?

(NB: een groot probleem bij een puur materialistisch wereldbeeld als dit vormt de kwestie van vrije wil, maar het gaat te ver om daarover uit te wijden.)

Maar dit alles schiet ver voorbij aan de stelling. Het terrein van kunstmatige intelligentie is grofweg onderverdeeld in twee kampen: de "zachte" en de "harde" KI. De aanhangers van het zachte kamp stellen dat het voldoende is wanneer een machine zich intelligent gedraagt, of dat gedrag nu voortkomt uit een simulatie van intelligentie of uit echte intelligentie. Die in het harde kamp stellen dat een machine intelligent moet zijn voordat deze als zodanig kan worden betiteld. Dit doet denken aan de discussie of een kunstmatig geproduceerde wijn die chemisch identiek is aan het origineel wel een echte wijn mag worden genoemd, of een door de computer gereproduceerde Picasso wel een echte Picasso. Blijkbaar verdient een artefact het stempel "namaak" zodra de ontstaansgeschiedenis ervan afwijkt van die van zijn natuurlijke tegenhanger, zelfs als die geschiedenis onbekend is! Dit is dan ook meer een filosofisch dispuut over de waarde van een kunstmatige constructie dan over de mate van echtheid en de consequenties die daar (voor ons) aan verbonden zijn.

Nu spreekt het voor zich dat een intelligent systeem potentieel bruikbaarder is dan een niet-intelligent systeem (want niet gelimiteerd door Godel's onvolledigheids theorema, wat stelt dat bepaalde wiskundige vraagstukken principieel onbeantwoordbaar zijn door formele systemen als computers - waarbij de kanttekening moet worden geplaatst dat het onmogelijk te bewijzen is dat mensen er zelf ook niet gelimiteerd door zijn), maar we kunnen ons afvragen of een systeem wel meer moet kunnen dan alleen het succesvol completeren van een taak om te gelden als "bruikbaar". Tenslotte is het uiteindelijk alleen van belang dat zo'n taak wordt volbracht, niet waar het systeem zich voor of tijdens het uitvoeren mee bezighoudt. Sterker nog, het heeft voor praktisch alle huidige toepassingen binnen de AI geen enkele toegevoegde waarde om te weten of een computer kan denken, omdat een computer het niet hoeft te kunnen om een toereikend grote subset van intelligent gedrag te vertonen. Net zo min als een onderzeeboot hoeft te kunnen zwemmen om voortbeweging te bereiken, hoeft een computer niet in staat te zijn "mentale" processen uit te voeren om intelligentie te simuleren. Het feit dat deze intelligentie op een andere manier tot stand komt is namelijk niet van invloed op het product, het waarneembare resultaat waar we in geinteresseerd zijn. Zolang de input zich maar beperkt tot een formaat waar het systeem mee overweg kan, is er sprake van functionele equivalentie: de interne mechanismen die voor de vertaling van input naar output zorgen zijn dan wel verschillend, maar de output zelf is niet van echt te onderscheiden. Als bovendien de grens waarboven dit onderscheid te maken valt zou kunnen worden opgetrokken, of, met andere woorden, als het systeem met dusdanig veel input overweg zou kunnen dat de gegenereerde output in alle denkbare scenarios overeenkomt met die van ons (er van uitgaande dat alle mogelijke vormen van menselijk gedrag in logische regels te vangen zijn, het zgn. kwalificatie probleem), en dus ook voor de Turing Test zou slagen, dan is de vraag of computers kunnen denken inderdaad zinloos.

Bronvermelding:

Philosophical Foundations of AI, Russel & Norvig, Artificial Intelligence: A Modern Approach

                               

Schaakcomputers

Inleiding

Een belangrijk vereiste voor een machine om te kunnen schaken is dat deze machine in staat is om bepaalde regels te gehoorzamen. Toen de eerste voorlopers van de moderne computer ontwikkeld werden, was het produceren van alle legale zetten in een stelling al een heel probleem. Toen er meer geheugen beschikbaar kwam was dit probleem natuurlijk snel opgelost (meer ruimte om de regels op te schrijven!), en kon men beginnen met de verkoop van schaakcomputers. De laatste jaren echter is er een verschuiving begonnen. Verkocht men eerst een hele computer, nu verkoopt men vrijwel alleen software voor een computer, welke voor meerdere doeleinden gebruikt kan worden. Dit laatste is natuurlijk veel handiger. De schaker bepaalt dan zelf wat voor soort computer deze software op gedraaid kan worden. Ook voor de schaakprogrammeur is het een stuk makkelijker; in plaats van zich in allerlei bochten te moeten wringen om een programma op een zo goedkoop mogelijke computer werkend te krijgen, heeft de programmeur nu veel geheugen en een snelle processor(de motor van de computer) tot zijn beschikking. Vandaar dat programma's op Pc’s (met name op de tegenwoordige Pentium) stukken beter spelen dan zogenaamde 'hardwarematige' schaakprogramma' s.

Met name als het ene computerprogramma tegen het andere programma speelt is de diepte waarop een programma rekent belangrijk. Diepte wordt uitgedrukt in plies. Een ply is een halve zet, bijvoorbeeld 1.e4 e5 is 2 ply. Een programma dat op 10 ply rekent ziet in principe alle positionele varianten die mogelijk zijn binnen deze 10 ply. De tactische diepte ligt vaak nog wat dieper. De reden dat dit zo belangrijk is, is het volgende: stel dat een bepaalde variant (die verliest) je programma 10 ply kost om in te zien dat deze verliest. Als dan je programma 9 ply rekent, ben je mooi zuur. Je programma speelt de verliezende zet en je kunt huilend naar huis. Als je programma echter 10 ply of meer rekent, is dit probleem handig opgelost. Voor een winnende zet geldt hetzelfde.

Natuurlijk is het een en ander op te vangen met kennis, maar vooral voor de tactiek is het ongelooflijk handig om diep te rekenen. De laatste tijd claimen sommige programmeurs zelfs dat hun programma's vanzelf een plan verzint, doordat het zo diep rekent. Natuurlijk wel een plan op de korte termijn. 11 ply is tenslotte maar 6 zetten. Het zal de echte fanaat dan wel niet verbazen dat programma's erg veel moeite hebben met het goed neerzetten van stukken. Vooral in de opening wordt er door de mens al vast een plan voorbereid door stukken gelijk naar het goede veld te ontwikkelen.

Vandaar dat er veel moeite door programmeurs in gestoken wordt om hun programma's dieper te laten rekenen. De duurste, maar wel de snelste methode om dieper te rekenen is het kopen van een snelle computer. Op computerschaaktoernooien zie je dan ook veel snelle computers, vaak de snelste computers die men kan kopen voor zijn geld.
Om zo diep te rekenen hebben dezelfde programmeurs hun programma's zo snel mogelijk gemaakt. Natuurlijk kun je je programma wel handiger schrijven waardoor je weer sneller bent, maar op een gegeven moment zul je, wil je nog dieper rekenen, toch kennis uit je programma moeten slopen. Het weglaten van kennis is een veel toegepaste methode, die vaak ook uit een heel praktische reden voortkomt; de programmeurs van sterke programma's kunnen vaak van geen kant schaken; 'minorpromotie' en 'en passant' werken dan ook vaak niet in hun eerste versie van het schaakprogramma. Ook hebben zij de gewoonte tijdens het spelen van de partij niet te noteren; zij kunnen dat niet, dat moet het programma maar zien te doen. Zij zijn in eerste instantie briljante programmeurs, die het onmogelijke voor elkaar gekregen hebben: een diep rekenend schaakprogramma.
De geschiedenis

In 1769 bouwde de Hongaarse ingenieur Baron Wolfgang von Kempelen, een schaak machine. Om de koningin van Oosterijk te vermaken. Het bleek later een puur mechanische machine te zijn waarin een schaakmeester was verstopt. Daardoor won hij wel bijna alle partijen maar de machine was nep
In de Tweede Wereldoorlog was het Alan Turings taak de code van de Duitse vloot te breken. Tijdens vrije uren op het hoofdkwartier van de Britse afdeling voor cryptologie, Bletchley Park, besprak geleerde graag algoritmes voor het schaakspel met zijn collega's. Nu zouden zijn ideeën schaakprogramma's worden genoemd. Toen niet, want de eerste elektronische computer werd pas jaren later gemaakt.
Turing moest nog even geduld uitoefenen voordat hij een computer kon laten schaken. Pas in 1950 was het zover. Zijn programma werkte volgens principes die in 1944 waren beschreven door collega-wiskundigen Morgenstern en Von Neumann, de grondleggers van de speltheorie. Deze geleerden hadden ontdekt dat een spel is voor te stellen als een boom, waarbij de mogelijkheden zich na elke zet vertakken. Turings computer zocht steeds naar de beste vertakking, ofwel de beste zet.
Het schaakspel had intussen ook de interesse gewekt van Claude Shannon, de belangrijkste architect van de informatietheorie. Evenals vele andere wetenschappers in die tijd dacht hij bij computers meteen aan kunstmatige intelligentie. Het schaakspel leek hem bij uitstek geschikt om de jonge computer enige ontwikkeling bij te brengen.
Er werden veel mogelijkheden ontdekt van de computer. Ze voorspelde dat de computer voor 1970 wereldkampioen schaken zou worden. Ze zouden elk mens op aarde kunnen verslaan.
In 1950 schreef Alan Turing het eerste computerschaak programma, the TurboChamp.
 Hetzelfde jaar introduceerde hij de turing test. Dat houdt in dat je een computer die een menselijke intelligentie heeft gekregen in de toekomst kan testen. Als je doormiddel van deze test niet te weten komt of je tegen een computer of een mens praat dan is de computer intelligent. Dit eerste schaakprogramma werd verslagen in 1952 door Alick Glennie. De man die de eerste computer compiler schreef. Turing heeft zijn schaakprogramma nooit afgemaakt. 

In 1956 werd er een team samengesteld door Stan Ulam. Dit team programmeerde de MANIAC. Dit was een computer die 11000 operaties per seconde kon uitvoeren. Ze lieten deze machine schaken op een schaakbord van 6 bij 6. De lopers werden weggelaten. Het kostte de machine 12 minuten om 4 zetten diep vooruit te denken. Als je de lopers erbij zou zetten dan zou het de machine wel 3 uur kosten om deze 4 zetten uit te denken. Deze computer had een geheugen 80K en een snelheid van 11KHZ. 

In 1957 werd het eerste volledige schaakprogramma geschreven door Alex Bernstein. Dit programma werd geschreven voor de IBM 704. dit apparaat kon 42000 instructies per seconde uitvoeren. En had een geheugen van 70 K en een snelheid van 42 KHZ. Deze kon 4 stappen vooruit denken in 8 minuten. Het grote verschil met de Maniac is dat deze computer wel een volledig schaakspel kan spelen (met lopers) en veel sneller zijn stappen kan uitdenken. 

In 1958 slaagde het programma NSS erin om als eerste een menselijke tegenstander te verslaan. Dit gebeurde ook op de IBM 704. De tegenstander stelde niet veel voor. Het was een secretaresse die een uur voor de test had leren schaken.

In 1962 werd het eerste schaakprogramma geschreven dat ongeveer evengoed was als een gemiddelde schaker, de MIT. Dit programma werd geschreven door Alan Kotok. Dit programma werd gedraaid op een IBM 7090. deze computer kon 108000 instructies per seconden aan. Dus een snelheid van 108KHZ en kon naar 1100 posities per minuut kijken. 

In 1965 werd door de Sovjet Unie een schaakprogramma gemaakt die werd ontworpen op de ITEP (Institute for Theoretical and Experimental Physics) in Moskou. Deze schaakcomputer ging op 22 November 1966 de confrontatie aan met de MIT van Alan Kotok. De wedstrijd duurde wel 9 maanden en werd uiteindelijk gewonnen door de Sovjet computer. Met een uitslag van 3 tegen 1. 

In 1962 werd de eerste schaakcomputer ontwikkeld die mee deed in toernooien. De MACHACK 6. Dit programma draaide op een 200 KHZ DEC PDP-6 en werd geschreven in de taal assembly door Richard Greenblatt. deze computer kon naar 10 posities per seconden kijken. Dat is 600 per minuut en dus minder dan de MIT, die er naar 1100 per minuut kon kijken. De MacHack 6 was ook niet de beste van het (amateur)toernooi. Hij verloor 12 keer, hij won 3 keer en het werd 3 keer gelijkspel. 

In 1968 maakte de schaakmeester David Levy een weddenschap dat hij de eerste 10 jaar niet zou verliezen van een schaakcomputer. Hij won eerst van de schaakcomputer KAISSA, vervolgens daagde hij de MacHack uit. Ook van deze computer won hij met gemak. Hij won deze weddenschap van $3000.  Pas in 1989 verloor hij van de schaakcomputer Deep Thought.

In 1970 werd het eerste “all-computer” kampioenschap gehouden. Deze werd gehouden in New York en gewonnen door het programma CHESS 3.0. dit programma werd geschreven door Slate, Atkin en Gorlen van de “northwestern University”. Totaal deden er 6 programma’s mee aan dit kampioenschap. Hierna wonnen de vervolgversies van dit programma de 3 opvolgende toernooien in 1971. 

Ondertussen in 1971 bouwden de russen weer aan een nieuw schaakprogramma, de KAISSA. Deze werd geprogrammeerd op een Britse computer. Toen in 1974 het eerste wereldkampioenschap gehouden werd tussen schaakcomputers, won deze KAISSA met een scoren van 4-0. Op de 2e plek stond de CHESS 4.0. Hierna werden nog veel schaaktoernooien gehouden die door de CHESS serie werden gewonnen. 

IN 1977 won de CHESS 4.5 de Minnesota Open. Hier versloeg een computer als eerste een klasse A speler, “Stenberg”. Vervolgens versloeg het programme SNEAKY PETE in dat zelfde jaar de eerste grootmeester, “Michael Stean”. 

Na de eerste overwinning op een grootmeester werd in 1977 eindelijk een nieuwe computer op de markt gebracht die interessant was voor de computerschaak wereld. Deze computer kon alleen schaken, verder niets.  Deze computer heet de BELLE. Dit systeem was het eerste systeem die “custom design chips”gebruikt om de speelsterkte te verhogen. Zijn zoekvermogen is 200 posities per seconde tot 160000 posities per seconde. Dit staat gelijk aan 8 tot 9 ply ( 8 tot 9 stappen vooruit denken). Hij won bijna alle toernooien waaraan hij mee deed. In 1983 behaalde Belle de zogenaamde ‘masters rating’. Hij stond nu in de ranglijst tussen de schaakmeesters. 

Daarna gingen bijna alle overwinningen naar de computer HITECH. Dit was in 1985. De HITECH was gebouwd op een computer met 2 processors met een snelheid van 45 MHZ die 1820 posities per seconden kon bepalen. Deze computer was de eerste die de “ranking” behaalde van “chess grandmaster”.  In die zelfde tijd was er een schaakcomputer die sneller was. Dat was de Starsocrates. Deze kon wel 1830 posities per seconde afzoeken en had 2 processors van 50 MHZ. Ondanks zijn hogere snelheid won hij niet de wedstrijd tegen HITECH.

Na jarenlang gestuntel met schaakcomputers kwam eindelijk de schaakcomputer uit die later de wereldkampioen zou verslaan. De Deep Blue was nog niet helemaal af maar het prototype wel. Dit was de Deep Thought. Deze schaakcomputer werd gemaakt door IBM. Hij draaide op 14 processors met elk een snelheid van 50 mhz. Behoorlijk snel dus. Maar snelheid is dus niet alles. Het eerste toernooi waaraan hij mee deed werd hij slechts derde. Zijn eerste toernooi won hij in 1988 in Orlando. Binnen een half jaar had de Deep Thought zich omhoog geschaakt tot grootmeester. In 1989 versloeg hij zijn eerste grootmeester (robert byrne). En later versloeg hij de man van de weddenschap David Levy.

In maart 1989 moest deze schaakcomputer, de Deep Thougt, het opnemen tegen “Garry Kasparov”. Kasparov won deze wedstrijd met een verschil van 2 games. Na deze nederlaag van Deep Thought begonnen ze aan “the Big Blue” die later de “Deep blue”ging heten.

 Kasparov was in deze tijd nog geen wereldkampioen. Dat was Anatoly Karpov. Deze verloor van de schaakcomputer MEPHISTO. Deze had een processorsnelheid van 36 MHZ.
Kasparov speelde nog veel wedstrijden tegen schaakcomputers. Onder andere tegen Fritz 1, hij won. Ook won hij de Speedmatch tegen Fritz 2. Al wist de Fritz 2 wel een paar games te winnen. Dit was de eerste keer dat een computer een game won in een speedmatch. De eerste wedstrijd die Kasparov verloor was tegen een schaakcomputer was tegen Fritz 3 in 1994. Deze machine had een snelheid van 133 mhz. Bij de rematch verloor de fritz 3 tegen Kasparov. Ook won Kasparov tegen de Fritz 4.

DeepBlue Vs Kasparov

Op 11 mei 1997 was het zover. De DeepBlue was af. Hij had een set van 256 IBM RS-6000 SP processors waarmee hij meer dan 200 miljoen zetten per seconden kon bedenken. Hij nam het op tegen Kasparov in een klassiek schaakgevecht. Kasparov was ondertussen wereldkampioen schaken en een computer had in een klassiek gevecht nog nooit van een wereldkampioen gewonnen. Toch kreeg de deepblue het voor elkaar.

begin 1997 versloeg Deep Blue de op dat moment sterkste grootmeester ter wereld Gary Kasparov, over 6 partijen op een manier die met name in de Verenigde Staten tot de verbeelding sprak; Deep Blue won namelijk de laatste en beslissende partij. Bij voortdurende publiciteit op alle TV netten en in alle kranten, waarbij voornamelijk de nieuwe supercomputer geprezen werd door IBM, die Kasparov zou hebben verslagen, reageerde de beurs zoals gewoonlijk ongewoon optimistisch. De aandelen IBM sloegen op tilt. Direct aantoonbaar was een groei van 5% ten gevolge van de match. Binnen een paar dagen was er een winst geboekt van ongeveer 22%. Dat kwam neer op ongeveer honderd miljard dollar. 

Techniek

De meeste computers gebruiken tegenwoordig selectieve zoekmethoden naar de beste zet. Het apparaat neemt dan alleen de zetten in beschouwing die hij op grond van een evaluatiefunctie het sterkst acht. Shannon noemt dit een type-B-aanpak. Deep Blue met zijn 256 parallelle processoren opereert onder een type-A-strategie, ook wel de 'brute kracht'-methode genoemd. De computer gebruikt zijn brute rekenvermogen om de beste zet te vinden. Deep Blue kan wel vijfhonderd miljoen stellingen per seconde bekijken. Van schaken 'begrijpt' de computer minder dan een beginneling. IBM doet zelfs de bewering dat de computer helemaal geen gebruik maakt van kunstmatige intelligentie.

Volgens Jaap van den Herik, hoogleraar informatica aan de Rijksuniversiteit Limburg, heeft de bewering dat Deep Blue geen kunstmatige intelligentie gebruikt, te maken met de verschillen in opvatting over AI. "Vroeger verstond men onder kunstmatige intelligentie dat de computer zo moest denken als de mens. Later is men daarvan afgestapt en vond men dat de resultaten hetzelfde moesten zijn. Ik behoor tot een groep wiens mening het midden houdt van tussen twee stellingen: kunstmatige intelligentie houdt zich bezig met programma's die inzicht geven in het menselijk denken."

Toch is Deep Blue niet alleen maar op Shannons type-A-strategieën gebaseerd, maar gebruikt hij heel geavanceerde zoektechnieken. Ook het gebruik van parallelle processoren brengt moeilijkheden met zich mee. Er is overhead nodig voor het zoeken, de communicatie tussen de processoren, de synchronisatie en complexity ( de algemene problemen die optreden bij het gebruik van parallelle processoren).
Juist voor onderzoek op dat laatste gebied heeft IBM het project binnengehaald. Het bedrijf hoopt met de schaakcomputer kennis te krijgen over hardware en software voor parallelle processoren. Dat is zeer waardevol bij de studie en simulatie van processen die tegelijkertijd plaatsvinden. De computer moet zich gaan wijden aan de zuivere wetenschap: de moleculaire biologie.

Deep Blue is niet van het begin af aan in handen van de IBM geweest. De computer heeft al een lange geschiedenis achter de rug. Hij is de opvolger van Deep Thought, een machine die deel uitmaakte van een promotieonderzoek aan de Carnegie-Mellon Universiteit aan het eind van de jaren tachtig. Deep Thought had in het begin slechts twee processoren en kon 750.000 schaakstellingen per seconde te bestuderen. De hardware werd al snel verbeterd, wat de computer in staat stelde twee miljoen stellingen per seconde te verwerken.
Vanaf dat moment boekte Deep Thought het ene succes na het andere.

Een machine ontwikkelen die duizend maal sneller is dan de oude Deep Thought was de doelstelling van het team. Dat is nodig, omdat Deep Blue een type-A-strategie gebruikt. Daarom moet hij een gigantische hoeveelheid posities berekenen om een schaakpartij op niveau te spelen. Het schaakspel kent namelijk tien tot de macht 120 mogelijke posities. Het is onmogelijk om ze allemaal te berekenen. Maar toch is het motto 'hoe meer, hoe beter'.
In 1996 was de doelstelling al bijna bereikt: Deep Blue haalde toen tussen de vijftig- en honderd miljard posities per drie minuten, de gemiddelde bedenktijd per zet in een gewone schaakpartij. Toch is die snelheidswinst niet genoeg. Het systeem mag dan wel sterk zijn verbeterd, in schaaktermen valt het behoorlijk tegen. Deep Thought keek standaard vijf zetten vooruit, terwijl Deep Blue er 6,5 berekent.

Schaakprogramma's spelen op een andere manier dan de mens, omdat ze niet in staat zijn te 'denken' als de mens. Bij de menselijke schaker speelt de herkenning van patronen een hoofdrol. De beste computer is met moderne software echter nauwelijks in staat om het gezicht van een mens te herkennen. Met patronen in het schaakspel is het al weinig beter gesteld. De patroonherkenning vormt zo'n groot probleem dat de computer zelfs in de eenvoudigste gevallen faalt, laat staan dat hij kan wedijveren met de schaakgrootmeester. Posities waarvan de grootmeester in één blik de essentie doorgrondt, zijn voor het schaakprogramma nietszeggend.
Elke programmeur probeert op zijn eigen manier dit gebrek te compenseren. Het gevolg hiervan is dat alle programma's, net als schakers, hun eigen stijl hebben.

Met behulp van het null move-algoritme wordt de stelling bekeken alsof de tegenstander nog een keer aan zet is. Het programma rekent de stelling even snel door alsof hij geen zet hoeft te doen maar kan passen (wat in het schaakspel overigens niet geoorloofd is). Dat levert belangrijke informatie op voor het berekenen van de eigen zetten. Dit algoritme is een belangrijke vondst bij het programmeren van schaakcomputers. Dankzij soortgelijke technieken kon Fritz 4 in 1995 Deep Blue verslaan, terwijl die toen al miljoenen posities per seconde kon evalueren. Deep Blue maakte al vroeg in de partij een grote fout en werd als een kind van het bord gezet.

Heden en toekomst

In het verleden was een van de zwakste punten van programma's het eindspel, doordat er vaak weinig tactiek aan te pas komt. De laatste jaren zijn de commerciële programma's enorm sterker geworden in het eindspel. Niet alleen is er veel gedaan aan het eindspel door programmeurs, maar ook is de diepte waarop nu gerekend wordt in het eindspel belangrijk. Doordat er minder stukken op het bord staan, en de computers tegenwoordig meer geheugen hebben wordt er voornamelijk in de eindspelen enorm diep gerekend. Toch gaat niet alles even goed. Pionformaties waarin de menselijke tegenstander de verste vrijpion heeft worden nog steeds door programma's mishandeld. Er blijft dus nog steeds ruimte voor verbetering. Een groot probleem is hierbij de evaluator, deze telt alle voordelen en nadelen bij elkaar op. Het programma houdt verder geen rekening met de waarde van het voordeel of nadeel, hoe sterk dit meetelt. Dus als er maar 1 voordeel verschil in zit, ongeacht de relevantie van het voordeel, zal hij de zet doen met de meeste voordelen. 

De laatste twee jaar zijn er een groot aantal programma's erg sterk gaan spelen. Zij spelen allemaal ongeveer op hetzelfde niveau. Tegenwoordig rekenen ze allemaal ongeveer rond de 10 ply. De beste schaakcomputers gaan ongeveer 11 ply. Tactisch zijn deze programma's ongelooflijk sterk. Als je de vooruit gang in hardware echter vergeet, dan is de vooruitgang van de programma's aan de top eigenlijk helemaal niet zo groot. Wel komen er een heleboel programma's aan diezelfde top. Het huidige zwakke punt is positioneel spel. Bij computerkampioenschappen is het vaak een loterij tussen de sterkste programma's wie er kampioen wordt.
Positioneel zwakke programma's zullen wel van een heleboel mensen winnen die wat wendingen missen, maar tegen mensen die het tactisch weten droog te houden zullen zij verliezen, ongeacht de menselijke speelsterkte van de tegenstander (het kan best zo zijn dat een amateur wint van Fritz, en een grandmaster verliest). Om dan te verbeteren zullen ze toch op een of andere wijze kennis over het schaakspel moeten gebruiken in de evaluator.

Bronnen

Websites:
 HYPERLINK "http://www.computable.nl" www.computable.nl
 HYPERLINK "http://www.whyfiles.org/040chess/biblio.htm" www.whyfiles.org/040chess/biblio.htm
 HYPERLINK "http://www.chessbase.com" www.chessbase.com
 HYPERLINK "http://sawww.epfl.ch/SIC/SA/publications/SCR95/7-95-63a.html" http://sawww.epfl.ch/SIC/SA/publications/SCR95/7-95-63a.html
 HYPERLINK "http://www.stukproducties.nl" http://www.stukproducties.nl

Boeken:
Computer Chess History by Bill Wall

Projectdagboek Sjakko van Duijn

DagTijdActiviteiten10 jan11.00 - 15.00College 11 jan11.00 - 13.00Discussie + taakverdeling12 jan10.30 - 15.00Research 13 jan10.30 - 15.00Artikel schrijven14 jan11.00 - 12.30Artikel afmaken

Projectdagboek Joris Israël 

DagTijdActiviteiten10 jan11.00 - 15.00College 11 jan11.00 - 13.00Discussie + taakverdeling11 jan13.30 - 15.00Research 13 jan11.00 - 15.00Artikel schrijven14 jan11.00 - 12.30Artikel afmaken

Projectdagboek Rik Tobi

DagTijdActiviteiten10 jan11.00 - 15.00College 11 jan11.00 - 13.00Discussie + taakverdeling11 jan13.30 - 15.00Research 13 jan12.00 - 16.00Artikel schrijven14 jan12.00 - 17.30Artikel afmaken