Tag Archives: Google

Schaken en Algoritmes

Vanaf het moment dat de computer werd uitgevonden hebben mensen geprobeerd computerprogramma’s te ontwikkelen die het konden opnemen tegen de mens.

De eerste die een artikel publiceerde over computerschaak was Claude Shannon die in 1950 het artikel “Programming a Computer for Playing Chess” publiceerde, een jaar daarop publiceerde Alan Turing, op papier, het eerste computer programma. Op basis van hiervan schreef zijn collega Dietrich Prinz in 1951 het eerste, echt werkende schaakprogramma op een Ferranti Mark I computer van de Universiteit van Manchester, dit programma was nog niet in staat een volledige partij uit te spelen. Het duurde nog tot 1958 tot een Alex Bernstein van IBM het eerste  programma voor een IBM 704 mainframe schreef waarmee een volledige partij kon worden gespeeld.

Eind jaren 70 verschenen de eerste schaakcomputers voor thuisgebruik in de winkels. Zelf heb ik begin jaren tachtig nog geschaakt op de Sinclair ZX81 van mijn broer met het programma 1K ZX Chess wat toen het eerste programme was dat ik gebruikte op de computer. Sindsdien zijn er vele schaakcomputers ontwikkeld en werden vanaf 1980 jaarlijks de Micro Schaakcomputer Wereldkampioenschappen (WMCCC) georganiseerd om te bepalen welke schaakcomputer de beste ter wereld was, vanaf 1990 werd hierbij alleen nog maar gebruikgemaakt van PC’s.

In 1996 was de schaakcomputer Deep Blue de eerste die in een tweekamp tegen de regerend wereldkampioen Garri Kasparov met een 4-2-voorsprong won waarvan één partij winnend: de computer had de mens verslagen en vanaf dat moment stond niet meer de vraag centraal of de computer van de mens kon winnen bij het schaken maar welke computer het beste kon schaken.

Daar is dan nu weer een nieuwe ontwikkeling bij gekomen nu de kunstmatige intelligentie bij het schaken zijn intrede heeft gedaan en het programma AlphaZero, ontwikkeld door Google-dochter Deep Mind, onlangs het op dit moment beste schaakprogramma Stockfisch versloeg. Wat AlphaZero uniek maakt is dat deze software gebruik maakt van een algoritme dat, op basis van kennis van de schaakspelregels, zichzelf leert schaken. AlphaZero had vier uur nodig om het schaken te leren en daarmee de beste te worden en heeft inmiddels hetzelfde gedaan voor het spel Go en de Japanse schaakvariant Shogi.

Eén algoritme dus die zelf schaakprogramma’s schrijft en dus generaties computer-programmeurs overbodig maakt die bezig zijn geweest het beste schaakprogramma te schrijven. De vraag is dus nu niet meer ‘Wie schrijft het beste schaakprogramma” maar “Wie schrijft het beste spel algoritme”. Google kondigde overigens tegelijkertijd aan dat hun ‘Brain team’ bezig is een algoritme te ontwikkelen dat zelf artificial Intelligence bouwt.

Het gaat dus allemaal om algoritmes tegenwoordig die het programmeren van software overbodig maken. Dachten we tot voor kort dat er altijd wel behoefte zal zijn aan software programmeurs dan lijkt het er nu op dat maar een beperkt aantal slimme programmeurs aan algoritmes sleutelt waardoor veel programmeurs overbodig worden.

Ik was laatst op een sessie in Utrecht georganiseerd door Gemeas Patents en B-GRIP een informatiemiddag over Intellectueel Eigendom (IE) en vroeg toen aan een in IP gespecialiseerde advocaat  Bert-Jan van den Akker van Doen Legal uit Zeist of je ook IP kunt hebben op een een algoritme. Dat kan volgens hem niet niet omdat een algoritme een algemeen goed is net als een wiskundige formule of de chemische samenstelling van een stof.

Mohammed ibn Moesa al-Chwarizmi

Een algoritme, vernoemd naar de Perzische wiskundige Mohammed ibn Moesa al-Chwarizmi, die het begrip voor het eerst bedacht, wordt door hem gedefinieerd als een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd doel leidt. Algoritmen staan in beginsel dus los van computerprogramma’s en als je dus een bestaand algoritme implementeert kan niemand je daarop aanspreken. Vanwege deze reden ontwikkelt Google haar algoritmes waarschijnlijk dan ook als zgn. open software zodat ook andere, niet Google medewerkers, in staat zijn mee te werken en te profiteren van dit soort ontwikkelingen.

Mooie ontwikkelingen allemaal die een nieuwe vraag bij mij oproept: ‘Is er een schaakprogramma mogelijk, gegenereerd door een algoritme, dat niet verbeterd kan worden?’ Waarna natuurlijk de vraag volgt: ‘Kan er een algoritme ontwikkeld worden dat niet verbeterd kan worden?’ En uiteindelijk: ‘Is er één algoritme mogelijk dat alle algoritmes overbodig maakt en niet verbeterd kan worden?’ Als we deze laatste vraag hebben beantwoord kan het ‘BrainTeam’ van Google worden opgeheven en krijgt ons eigen brein de instructie voortaan alleen nog maar met plezierige emoties bezig te zijn…