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. Google ontwikkelt haar algoritmes overigens als zgn. open software zodat ook andere, niet Google medewerkers, in staat zijn mee te werken en kunnen profiteren van dit soort ontwikkelingen en dat is dan weer mooi!

Het begrip algoritme is vernoemd naar de Perzische wiskundige Mohammed ibn Moesa al-Chwarizmi  (op de postzegel) die dit begrip voor het eerst bedacht. Een algoritme wordt door hem gedefinieerd als een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd doel leidt.

Op 30 november 2017 was ik op een bijeenkomst 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 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.

Hier kreeg ik later, naar aanleiding van deze blog, een aanvulling op van ir. Arjan van der Maarl, Dutch and European Patent Attorney werkzaam bij Gemeas Patents, eveneens aanwezig op deze bijeenkomst. Volgens hem zijn, met betrekking tot het intellectuele eigendom van algoritmes inderdaad uitgesloten, echter ze zijn slechts uitgesloten als zodanig. De historische reden hiervoor is dat algoritmen vaak een wiskundig principe beschrijven en daarmee een te breed uitsluitend recht geven aan de aanvrager ten opzichte van de wetenschappelijke/technologische vooruitgang geboden door het algoritme. Kortom: een octrooirecht zou de technologische vooruitgang meer remmen dan bevorderen.

Ondanks dat algoritmen zijn uitgesloten als zodanig is de toepassingen van een algoritme dat een technisch effect heeft wel octrooieerbaar. Van ir. Arjan van der Maarl kreeg ik een een concreet voorbeeld van een octrooieerbaar algoritme toegestuurd waarin een formule zit verwerkt (en waarvan hij mij toestemming gaf dit hier te publiceren):

Werkwijze voor het meten van de hoogte van een kerktoren, waarbij de werkwijze de stappen omvat van:

  1. het selecteren van een meetpunt ten opzichte van de kerktoren, waarbij het meetpunt op de grond gelegen is;
  2. het bepalen van de afstand b van het meetpunt tot de kerktoren;
  3. het bepalen voor het meetpunt van de hoek alfa tussen de grond en het hoogste punt van de kerktoren;
  4. en het berekenen van de hoogte a van de kerktoren door het toepassen van de formule a = b x tan alfa.

Kortom: een algoritme als zodanig is niet octrooieerbaar, maar een toepassing van een algoritme met een technisch effect is wel octrooieerbaar.

Een helder voorbeeld maar waarschijnlijk een heel gepuzzel als het gaat om ingewikkelde en complexe algoritmes.  Bedrijven, die hun zelf ontwikkelde algoritmes willen beschermen, zullen daar specialistische juridische kennis voor in huis zullen moeten gaan halen, een lucratieve nieuwe business lijkt me.

Al met al een interessante ontwikkeling rond die algoritmes, wel doemt er bij mij  een nieuwe vraag op voor de algoritme ontwikkelaars: ‘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…

Met dank aan ir. Arjan van der Maarl voor zijn input!

Print Friendly, PDF & Email
Print

Leave a Reply