# Deep Blue

Deep Blue is een door IBM ontworpen schaakcomputer. Deep Blue werd bekend omdat hij twee matches tegen Garri Kasparov, de sterkste schaker ter wereld, speelde.

## Geschiedenis
### ChipTest

In 1985 begonnen drie studenten (Feng-hsiung Hsu, Murray Campbell en Thomas Anantharaman) van de Universiteit van Carnegie Mellon met de constructie van een schaakcomputer. Deze computer heette ChipTest en speelde op 64 eenvoudig schaakspelende chips. Deze chips weken sterk af van de tot dusver conventionele schaakcomputers. Een paar weken nadat ChipTest zijn eerste partij speelde op de universiteit deed hij al mee aan het Noord-Amerikaans kampioenschap (ACM) in Dallas. Hij won twee partijen, speelde één remise en verloor er twee.

### ChipTest-M

Chiptest werd hierna herschreven en hernoemd naar Chiptest-M (M van "microcode"). Hij kon ongeveer 400.000-500.000 schaakstellingen per seconde uitrekenen, een factor 10 meer dan de vorige versie. Ook werden bugs die in de vorige versie waren geslopen verholpen. Feng-hsiung Hsu, Murray Campbell en Andreas Nowatzyk maakten deze versie af en behaalden een eerste plaats op het ACM van 1987.

### Deep Thought I

In 1988 ontstond Deep Thought I, vernoemd naar een fictieve computer in The Hitchhiker's Guide to the Galaxy. De computer draaide op een SUN-workstation. Het openingsboek bevatte 5000 stellingen en de sterkte werd geschat op United States Chess Federation 2551 elo.
Nog voor het ACM van 1988 kwamen Joe Hoane en Jerry Brody het Deep Thought-team versterken. Hoane concentreerde zich op het parallelle zoekalgoritme. Brody gaf technische ondersteuning. Hij deed mee aan het ACM onder de naam Deep Thought/88 in 1988 en won het kampioenschap met een gedeelde eerste plaats samen met Mephisto.
In 1989 werd de computer echter eenvoudig door Kasparov verslagen in een match van twee partijen. Ook Michael Valvo won gemakkelijk in een partij die per e-mail werd gespeeld. Deep Thought was de eerste schaakcomputer die een grootmeester, Bent Larsen, in een normale toernooipartij versloeg.

### Deep Thought II

In 1990 ontstond Deep Thought II. Deze computer speelde een aantal openbare partijen tussen 1991 en 1995. Deep Thought II speelde nu op een IBM RS/6000 en bezat 24 processors in plaats van de zes van Deep Thought I. Dit aantal werd wel wat minder in de tijd, omdat processors die uitvielen niet werden vervangen.
Ook had dit programma een iets betere hardware-evaluatiefunctie, snellere software en een verbeterd openingsboek. Het programma kon 10-11 stappen vooruit denken in een complexe middenspelpositie. Deep Thought II won het ACM-toernooi in 1991 en 1994 en behaalde in 1993 een score van 3-1 tegen het Deens nationaal team. De FIDE-rating van Deep Thought II werd geschat op 2600 elo.

### Deep Blue I

In 1995 begon de ontwikkeling van Deep Blue I. Deep Blue op volledige (36 processors) sterkte speelde slechts zes toernooipartijen (alle tegen Kasparov). Deep Blue verloor uiteindelijk deze match.

### Deep Blue II

Deep Blue II werd gebouwd na een herontwerp van de schaakchip. De problemen die waren gevonden in de match tegen Kasparov en partijen tegen grootmeester Joel Benjamin werden aangepakt. De chip kreeg 8000 evaluatiekenmerken in plaats van de 6400 van Deep Blue I. Ook werkte de schaakchip efficiënter waardoor een losse chip 2-2,25 miljoen schaakstellingen per seconde kon rekenen. Deep Blue II won uiteindelijk in een match van zes partijen tegen Kasparov.

### Deep Blue Jr.

Ter voorbereiding van de match in 1996 speelde een speciale versie van Deep Blue (genaamd Deep Blue Junior) op een IBM RS/6000 één processor met 24 schaakchips tegen een aantal grootmeesters. De uitslagen waren als volgt:
* Ilya Gurevich (winst 1,5-0,5)
* Patrick Wolff (gelijkspel 1-1)
* Joel Benjamin (verlies 0-2).

### Deep Blue Jr demo

Ook speelde in 1999 een demoversie van Deep Blue door het land, genaamd Deep Blue Jr demo. Dit is een aangepaste zwakkere versie van Deep Blue Jr., die slechts één seconde nadacht, geen kennis had van zetherhaling, niet nadacht in de tijd van de tegenstander en bovendien een vaste evaluatiefunctie had ongeacht de fase in de schaakpartij.

### Rematch

Volgens het boek van Feng-hsiung Hsu Behind Deep Blue: Building the Computer that Defeated the World Chess Champion heeft hij los van IBM, Kasparov uitgedaagd. Kasparov wees deze uitdaging af in een open brief, waaruit bleek dat hij het aanbod van Hsu niet aantrekkelijk genoeg vond.
Door het verlies van Kasparov tegen Deep Blue ontwikkelde men een nieuw moeilijker schaakspel genaamd Arimaa. Dit spel kan ook op een standaardschaakbord gespeeld worden. Men denkt dat dit spel voor een computer moeilijker te doorgronden is dan het normale schaakspel.
Vandaag de dag ligt de nadruk meer op het bouwen van intelligentie in een schaakprogramma dan op het zo veel mogelijk stellingen doorrekenen met brute kracht. Moderne schaakprogramma's, zoals Rybka, Deep Fritz of Deep Junior hebben uitgebreidere software dan Deep Blue. In een tweekamp tussen Deep Fritz en Vladimir Kramnik in november 2006, berekende Deep Fritz, op een pc met twee Intel dual core-processors, acht miljoen stellingen per seconde en haalde een zoekdiepte van 17 tot 18 ply in het middenspel.

## Hardware en software

Deep Blue I bestond in 1996 uit een RS/6000 SP-machine met 36 processors. De machine had in totaal 216 schaakchips. De schaakchips van Deep Blue I konden getuned worden met 6400 kenmerken.
Deep Blue II bestond in 1997 uit een RS/6000 SP-machine met 30 P2SC-processors. 28 processors hadden een snelheid van 120 MHz en de twee andere processors hadden een snelheid van 135 MHz. De processors konden met elkaar communiceren via een highspeed switch. Elke processor was voorzien van 16 VLSI-schaakchips, waarmee het totaal van de machine kwam op 480 VLSI-schaakchips. Deep Blue II was in 1997 tweemaal zo snel als Deep Blue I in 1996. Deep Blue II kon 11,38 gigaflops rekenen, en stond hiermee op de 259e plaats van de meeste krachtige supercomputers.
Eén processor diende als masterprocessor. Deze rekende een hoofdboom uit. De bladeren van deze hoofdboom werden gevoerd aan de overige processors, welke deze knoop nog een aantal stappen dieper uitrekenden. Uiteindelijk werden de schaakchips aan het werk gezet. Deze schaakchips hadden als taak om gecontroleerd nog een aantal stappen verder te rekenen en daarna de stellingen te evalueren. Deze chips konden getuned worden met 8000 parameters.
Het schaakprogramma was geschreven in C en liep op AIX.
Het openingsboek van Deep Blue bestond uit 4000 stellingen en 700.000 grootmeesterpartijen. De partijen waren door de grootmeesters Miguel Illescas Cordoba, John Fedorowicz en Nick de Firmian geleverd. Het programma had toegang tot alle eindspelen met vijf en zes stukken. Van alle eindspelposities werd alleen onthouden of het winst, remise of verlies was. Voor de tweede match was het programma getuned door Joel Benjamin. Het programma werd speciaal ontwikkeld om Kasparov te verslaan en men keek gedetailleerd naar oudere partijen van Kasparov. Toen Kasparov aan IBM vroeg of hij ook inzage kon krijgen in de partijen die Deep Blue eerder had gespeeld werd dit verzoek geweigerd. Als alternatief heeft Kasparov veel partijen bekeken van bekende computerprogramma's.

## Zoekdiepte en snelheid

In 1997 rekende het programma gemiddeld 126 miljoen stellingen per seconde in stellingen waar het meer dan een minuut nadacht. In rustige stellingen haalde Deep Blue gemiddeld 200 miljoen stellingen per seconde. Het hoogste haalde het programma 330 miljoen stellingen per seconde.
Het programma rekende gemiddeld 12,2 stappen diep. De diepte van elke stap bestond uit twee componenten:
* Softwarematig : Het eerste stuk van de zoekboom werd softwarematig door de hoofdprocessor uitgerekend. Daarna werden de andere processors bij geschakeld, om het resterende gedeelte van de zoekboom uit te rekenen.
* Hardwarematig : De hardware schaakchips rekenden de bladeren uit. Gemiddeld waren dit zoekacties van 4-5 ply, exclusief het afruilen naar een rustige stelling.
Deep Blue keek dus in totaal met hardware en software 16-17 ply diep.
| Systeemnaam | Jaartal | Processors | Stellingen per seconde | Aantal positionele kenmerkgroepen |
| ChipTest | 1986 | 1 | 50k | 1 |
| ChipTest-m | 1987 | 1 | 400k | 1 |
| Deep Thought | 1988 | 2-6 | 700K-2M | 4 |
| Deep Thought II | 1991 | 14-24 | 4M-7M | 4 |
| Deep Blue | 1996 | 36 processors + 216 schaakchips | 50M-100M | 32 |
| Deep Blue II | 1997 | 30 processors + 480 schaakchips | 100M-200M | 38 |
| Deep Blue Jr. | 1997 | 1 processor + 24 schaakchips | 20M-30M | 38 |
| Deep Blue Jr. demo | 1997 | 1 | 2M | 38 |

## Matches

* 1996: Deep Blue I verloor de match van Kasparov met 4-2. Deep Blue won één partij.
* 1996: Deep Blue jr speelde in de voorbereiding op de match tegen Kasparov matches tegen Larry Christiansen en Michael Rohde, die beide eindigden in 1,5-0,5.
* 1997: In maart versloeg Deep Blue II Kasparov in een match van zes partijen die eindigde in 3,5-2,5.

## Menselijke zetten

Kasparov suggereerde dat Deep Blue II tijdens zijn match menselijke zetten had gedaan. Zijn argument was gebaseerd op het feit dat Deep Blue zetten had gespeeld, die geen enkel ander computerprogramma kon vinden.
Het gaat hier om 37. Le4 en 44. Kf1 in de tweede partij. De eerste zet is een briljante zet, de tweede zet een menselijke fout, aldus Kasparov. Uit onderzoek is gebleken dat recente computerprogramma's, zoals Rybka, dezelfde zetten spelen.