Ember és a gépi intelligencia

Az emberiség történetében új korszak fog kezdődni, ha a szoftverek végre gondolkodni kezdenek. Jelenleg nem tudni, hogy a kettes számrendszer alapjain miféle gondolatokra fognak jutni, hiszen ne feledjük, hogy egy gépnek egészen más szükségletei és vágyai lesznek, mint egy embernek.
A sakk esetében például az ember azért ül le játszani, mert elfogja a játékszenvedély, és/vagy meg akarja nyerni a bajnokságot, dicsőséget próbál szerezni a klubjának, de az sem lehetetlen, hogy a családjának való mindennapi kenyeret próbálja előteremteni és a rezsipénzt. Egy ember esetében a játékra való ok rengetegféle lehet. Egy mesterséges intelligenciának milyen oka lesz a játékra?

play_chess_with_robot_by_cuson.jpg
Meg aztán egy ember elunhatja a partit, egy ember megszánhatja az ellenfelet, és döntetlent ajánlhat fel, sőt fel is adhatja a játszmát. Megteheti majd ezt egy gépi intelligencia, lesz annyi szabad akarata?
Szerintem ezekre a kérdésekre jelenleg senki nem tudja a választ. Manapság még nem tart a gépi intelligencia a gondolkodás szintjén. Korunk sakkprogramjai csupán fáradhatatlanul és egyre jobban sakkoznak, semmi több. Mondhatni egyebet sem tudnak. Az izgalmas állásoktól a szimpla végjátékokig keresik és találják meg az algoritmusaik szerinti legjobb lépést, de nem tudják, „van-e éppen kedvük sakkozni”, miért játszanak, ahogyan azt se, hogy kivel szemben tologatják a figurákat.
Az ember innen nézve mindig több lesz a gépeknél, legalábbis addig, amíg a sakkprogram fel nem ismeri, hogy a 64 darab fehér és fekete mezőn kívül is van élet.
Az első sakkgép, a Kempelen Farkas által elkészített „török”, például nagyon is jól tudta, hogy van külvilág. Képes volt a hölgyekkel flörtölni, tudott szomorkodni, sőt a düh érzése sem volt idegen számára. 

9781937056964.jpg

Állítólag egy ízben Napóleon olyan sikeresen felbosszantotta, hogy mechanikus karjának egyetlen lendítésével söpörte tisztára a sakktáblát. (A császár folyton rossz lépést tett meg a táblán. A török egy darabig kijavította nagynevű ellenfelének szándékos hibáit, de aztán elege lett. Napóleon meg elégedetten nyugtázta, hogy még egy gépet is fel tudott bosszantani.)

sakkozogep.jpg

Kempelen Farkas sakkozógépének John Gaughan által elkészített élethű mása

Természetesen a törököt egy ember irányította, aki elbújt a gép belsejében, így aztán Kempelen találmánya nem „igazi” sakkgép, csak egy ötletes és szórakoztató látványosság.

torres02.jpg

Leonardo Torres y Quevedo (1852-1936)

Ha azonban azt hisszük, hogy egy mechanikus gép képtelen a valódi sakkra, akkor nagyot tévedünk. 1912-ben a spanyol feltaláló, Leonardo Torres y Quevedo olyan mechanikus szerkezetet készített, amely képes volt bármilyen állásból egy királlyal és egy bástyával mattot adni egy királynak.

torres03.jpg

A gép nem mindig találta meg a legrövidebb lépéssorozatot, de idővel a mattig mindenképpen eljutott. Az első verzióban egy mechanikus kar tette meg a lépéseket. A zseniális gép 1920-as második változatában, jóval ötletesebb megoldással, a tábla alatt elhelyezett mágnes mozgatta a bábokat.

Ezután sokáig szünetel a sakkozógép elkészítése. Az áttörést 1941-ben a legelső kompjuter, Konrad Zuse Z3 névre hallgató monstruma hozza el. Zuse ugyan nem írt sakkprogramot, de elkezd gondolkodni a szükséges algoritmusokon.

z3.GIF

Íme konrad Zuse és a "hordozható" Z3-as számítógép

Közben 1944-ben Neumann és Morgenstern publikálja a játékelméletről szóló közös tanulmányát. Eszerint a matematika segítségével minden játék osztályozható, a sakk a véges-kétszemélyes-nulla-végösszegű teljes információtartalmú játékokhoz sorolandó. Ebből a ronda kifejezésből a teljes információtartalmú azt jelenti, hogy a játékosok tudják, hogy a másik fél mit lépett, és felváltva tologatják a bábukat. A nulla-végösszeg pedig azzal jár, hogy a nyertes azt nyeri, amit a vesztes veszít. Döntetlen esetén mindketten ugyanazt nyerik, illetve veszítik. Neumann szerint a nyerési mátrix felállítása után már megtalálhatjuk a legjobb lépést. Így nyilatkozik: „A problémát elméletileg tisztáztuk, a probléma érdektelen.

8601194.jpg


1949-ben egy sakkprogram és egy sakkozógép terve is elkészül. A sakkozógépet Nemes Tihamér (1895-1960) csupán papíron alkotja meg - mivel analóg és nem digitális, sohasem építik meg.

nemeschessmachine.JPG

A sakkprogram viszont Claude Shannon által 1949. március 9-én elektronikus számítógépre kerül. Érdekesség, hogy a gépszörny 10-15 másodperc alatt tudta "kigondolni" a válaszlépését, és úgy programozták, hogy ne lépje mindig ugyanazt egy adott pozícióban.

2-0_and_2-1_shannon_lasker_prior_1970_102645398_newborn_lg.jpg

Claude Shannon és Edward Lasker, amerikai sakkbajnok az első sakkozni tudó géppel

Shannon fontos kérdést tesz fel, miképpen találhatja meg egy sakkprogram a legjobb lépést? Két módszert dolgozott ki: 1. brute force (nyers erő) 2. a szelektív keresés.

A nyers erő módszere roppant egyszerű volt. A számítógép minden pozícióban generálja és értékeli az összes lehetséges lépését, majd az ellenfél összes lépését, aztán újra a sajátját és így tovább. Egyszerűsége ellenére - különösen a 40-es évek végén - ez a módszer nem adott a gépnek hallatlan játékerőt. Ha állásonként 38 legális lépést vehetünk alapul, akkor a negyedik féllépésnél már 2 085 136 lépést kell a gépnek figyelembe vennie. Ez a feladat a korabeli számítógépek teljesítményét bőven meghaladta.

Megoldást a szelektív keresés jelentett, de hátránya ennek a módszernek is van, tudniillik nehéz eldönteni, hogy mely lépésekkel számoljon a gép, és mely lépéseket hagyjon figyelmen kívül. Nem meglepő, hogy ez a probléma a mai napig fennáll. Ugyanakkor muszáj vagdosni a változatokat, mert a sakk játékfája tíz a százhuszadikon lehetséges lépést tartalmaz, amely szám a jövőbéli számítógépek számára is kezelhetetlen lesz. Összehasonlításképpen Stephen Hawking becslése szerint az univerzum tíz a hetvenhetediken atomot tartalmaz.

deep-blue.jpg

Deep Blue, a híres számolóművész

1997-ben a Deep Blue nevű számítógépszörny másodpercenként átlagosan 200 millió állást volt képes megvizsgálni, azaz percenként 12 milliárd állást. Vagyis ha 38 lehetséges lépést veszünk alapul, akkor a 7 féllépés esetén előálló 114 milliárd változat nem okozhatott problémát a Deep Bluenak, viszont 8 féllépésnél tovább már ő sem láthatott egy kötött idejű sakkjátszma alatt. 9 féllépés felett a gép kénytelen volt vagdosni a változatokat, magyarán ettől a ponttól volt kétséges a számolásának eredménye, mivel a sakkhoz valójában vajmi keveset értett.

A mai legjobb sakkprogramok szelektív keresése persze rendkívül kifinomult. Mégis vannak állások, amelyekbe beletörik a gépek bicskája. Az alábbi állást például a jelenlegi egyik legjobb sakkprogram, a Stockfish 6 sem képes megoldani.

Világos lép!

diagram005_3.png

Következésképpen a gépek nem a legjobb lépést lépik. Nem szabadna, hogy legyőzhetetlenek legyenek az ember számára.

hydra11.jpg

Tény azonban, hogy 2005 óta az ember elveszíti a páros mérkőzéseket a gép ellen. 2005-ben egy Hydra névre hallgató program ellen állt ki az angol sakksztár, Michael Adams. A mérkőzést 5,5 : 0,5 arányban elveszítette. A csúnya pofon tulajdonképpen már nagyon érett az "ember" számára. Ez volt a fordulópont.

hydra14.jpg

A kép találóan ábrázolja a Hydrával történt sakk páros mérkőzést - az asztalnál Michael Adams nagymester!

A következő évben Vladimir Kramnyik sakkvilágbajnok szintén alulmaradt a Deep Fritz 10 ellen. Az eredmény 4:2 lett: Kramnyik nem tudott győzni, két partit pedig elveszített.

game6-02.jpg

A hatodik játszma, amelyet "Fritz" igazán ötletes játékkal nyert meg

Manapság már nem rendeznek a vezető sakkozók és a sakkprogramok között páros mérkőzéseket. Az a baj, hogy az ember pszichésen sebezhető, hibákat ejt, míg a gép elnézései csekélyek, és lépéseibe talán már kezd beszivárogni a valódi intelligencia.

Szomorú, de úgy tűnik, a sakk területén végleg alulmaradtunk a lelketlen gépekkel szemben. Ott tartunk, hogy nincs nagymester, akinek ne gépek segítenének felkészülni a versenyekre. Nyugalom, lesz ez még rosszabb, a nem túl távoli jövőben a gépek az életünk többi része felett is átveszik az irányítást...