észjárások_borító.jpg (22867 bytes)Mérő László: Észjárások

"A racionális gondolkodás korlátai és a mesterséges intelligencia" alcímet viselő könyv "A mesterséges intelligencia fejlődése" fejezetben foglalkozik érintőleg a góval, a mesterséges intelligencia lehetőségeinek és korlátainak az érzékeltetésére hozott példákban. Mintegy mellesleg megtudhatjuk, mi is a sakkozóknál alkalmazott Élő-pont számítás lényege (amit egyébként alapvetően nem különbözik a góban is alkalmazott módszertől). Szóval érdemes elolvasni a Tericum Kiadónál megjelent könyvet, aminek egyébként nem a góval kapcsolatos néhány oldal az egyedüli érdekessége.

A fejlődés trendvonala
A Deep Blue sakktudása
Egy szakterület mélységei

A fejlődés trendvonala

Az erős mesterséges intelligencia híveinek túl optimista előrejelzései nem csak szubjektív ítéletre alapozódtak. Az ábrán a sakkprogramok fejlődésének trendjét láthatjuk. A vízszintes tengely azt mutatja (logaritmikus skála szerint), hogy az ábrán feltüntetett programok hányszor egymillió állást vizsgálnak meg három perc alatt. (Azért éppen három percet vettünk egységnek, mert egy normál versenyjátszmában átlagosan ennyi időnként kell lépni egyet.) A függőleges tengelyen a programok erősségét ábrázoltuk. A sakkozókat az 1970-es évek eleje óta rangsorolják, az úgynevezett Élő-pontok alapján, a magyar származású Elő Árpád matematikaprofesszor módszere szerint. Az Élő-féle skála értékei azt fejezik ki, hogy egy adott pontszámú játékos e másik játékossal szemben várhatóan milyen eredményt ér el. A skála nullpontja át és mértékegységét valamilyen tetszőleges viszonyítási alap szerint választották meg (mint például a hőmérsékletét a Celsius- vagy a Fahrenheit-féle skálánál). A világbajnok pontszáma általában körülbelül 2800 körüli, egy erős nagymester (körülbelül a világranglista első 20-30 helyezettje) 2600 pont fölött van, a nemzetközi nagymesteri szint körülbelül 2500 pont. Egy mesterjelölt 2100-2300 pont között áll. Egy II. osztályú sakkozó 1000-1900 pontos, egy kezdő 1300-1400 pont körüli.

az erősödés trendvonala megtört

Az Élő-féle skála mértékegységét úgy határozták meg, hogy 50 pont különbség a pontszámokban nagyjából azt fejezze ki, hogy az ennyivel erősebb játékos előreláthatólag 55%-os eredményt ér el a gyengébb ellen. Ha például egy 2600-as pontszámú játékos tízjátszmás páros mérkőzést vív egy 2550-es pontszámúval, várhatóan 5,5-4,5 arányban fog győzni. Egyes konkrét meccsek persze hozhatnak más eredményt, de hosszú távon erre érdemes fogadni, hacsak időközben a két játékos erőviszonyai nem változnak. Kétszáz pontnyi különbség az Élő-skálán azt jelenti, hogy az erősebb játékos valószínűleg körülbelül 75%-os eredménnyel győz.

Érdekes megfigyelni, hogy az Élő-pontszámok és a sakkal kapcsolatos ismert sémák mennyisége között milyen szoros kapcsolat van. Néhány 10 séma (a kezdő) körülbelül 1400 Élő-pontot jelent. A néhány 100 sémás nagyságrend (a haladó szint) körülbelül 1800 pontnak, néhány 1000 séma (a mesterjelölt ismerete) körülbelül 2200 pontnak, a néhány 10 000 séma (a nagymester tudása) pedig nagyjából 2600 pontnak felel meg. A sémák számában egy nagyságrendnyi különbség mintegy 400 Élő-pontot jelent. Ez a meglehetősen egyenletes különbség a pontszámokban azt mutatja, hogy az előző fejezetekben bemutatott sémaszám-becslésünk valóban jól jellemzi a tényleges játéktudást - ismét egy, az eddigiektől független, más irányú érv a sémák mennyiségére vonatkozó gondolatmenetünk érvényessége mellett.

Az ábrán látszik, hogy a sakkprogramok erősödése egy ideig közelítőleg lineáris kapcsolatban volt a számítógépek sebességének növekedésével. (Ha a sebességet logaritmikusan ábrázoljuk.) Simon 1958-as becslését még ilyen konkrét adatokra nem alapozhatta, de aki mondjuk 1970-ben próbált becslést adni arra, hogy mikorra lesz világbajnok erejű sakkozó számítógép, az teljes joggal becsülhette ezt a 80-as évek elejére. Láthatjuk azonban, hogy a programok erősödésének a trendvonala megtört, holott a számítógépek sebességének növekedése nem lassult, sőt gyorsult. Ha valahol egy trendvonal megtörik, annak általában az az oka, hogy valamilyen változás állott be a feltételekben. Jánossy Ferenc írja A gazdasági fejlődés trendvonaláról című könyvében:

"A trendvonal ilyen jellegű törése - és általánosan véve, bármely folyamat alakulásának minden, többé-kevésbé hirtelen megváltozása (legyen a folyamat akár ökonómiai, akár biológiai vagy fizikai ) - többnyire arra utal, hogy a folyamat maga addig és olyan mértékben változtatja meg a saját körülményeit, vagyis a fenntartását meghatározó viszonyokat (szemléletesebben kifejezve: aláássa saját előfeltételeit), míg végül ezek, valamely kritikus pontot elérve, teljesen háttérbe szorulnak; a folyamat további alakulása szempontjából pedig az újonnan létrejött viszonyok válnak meghatározóvá. Hasonlóan ahhoz, ahogy a pontyokkal teli halastóba helyezett csukák mértani haladvány szerint szaporodnak ugyan, de csak addig a kritikus pontig, amíg az élelemhiány további szaporodásuknak gátat nem vet, úgy az ipar is csak addig tud extenzíven kiterjedni, amíg minden munkaerő-tartalékot (kézműveseket, parasztokat) fel nem emészt; ehhez a kritikus ponthoz érkezve viszont kénytelen egy olyan gazdasági struktúrát teremteni, amelyben már csak az újabb törvényszerűségnek megfelelően, vagyis intenzíven tud továbbfejlődni."

Az ábrán láthatjuk, hogy a sakkprogramok fejlődésének trendvonala az 1970-es évek végén élesen megtört. Valószínűleg mélyebb okokra világítunk rá, ha azt mondjuk, hogy a mesterjelölti szint elérésekor. A sakkprogramok írására tett erőfeszítések nem csökkentek a 80-as években, a nemzetközi mesteri szintet mégis a vártnál csak sokkal lassabban sikerült áttörni. Ez a megállapítás a legkülönbözőbb féle elvek alapján működő sakkprogramokra egyaránt vonatkozik: azokra is, amelyek tisztán csak az egymás utáni lépésvariációk végigszámolásával dolgoznak, és azokra is, amelyek valamiféle sémafelismerés alapján.

A Deep Blue sakktudása

A nagy áttörést az IBM által mintegy 20 millió dolláros költséggel kifejlesztett Deep Blue nevű program jelentette 1997-ben, amikor egy szabályszerű hatjátszmás páros mérkőzésen 3,5-2,5 arányban legyőzte Kaszparovot, az emberi sakkozás világbajnokát. A mérkőzés óriási vitat váltott ki mind a sakkozók, mind a mesterséges intelligencia-kutatók, mind pedig a széles nagyközönség köreiben. Sokan úgy vélték, hogy Kaszparov csapnivalóan játszott, és ennek köszönheti sikerét a gép. Ez talán igaz is: a játszmák ismeretében nyugodtan kijelenthetjük, hogy Kaszparov ezúttal lényegesen saját szokásos színvonala alatt játszott, de hát előfordult már vele ilyesmi emberek elleni versenyeken is. Ha azonban egy pillantást vetünk a sakkprogramok fejlődését mutató ábránkra, láthatjuk, hogy a tendenciát tekintve mindez legfeljebb annyi különbséget okoz, hogy a gép már 1997-ben elért egy olyan eredményt, amelyet a trendvonal alapján csak néhány év múlva "illett volna" elérnie.

A Deep Blue kétségtelenül az ezredvég számítástechnikájának egyik csúcsteljesítménye. A beleépített 32 párhuzamosan működő számítógép összességében másodpercenként 200 millió állást képes megvizsgálni. Ugyanakkor aligha tekinthetjük a Deep Blue-t a mesterséges intelligencia csúcsteljesítményének, vagy ha igen, az nagyon szomorú a mesterséges intelligencia tudományára nézve. A Deep Blue ugyanis kevesebbet tud magáról a sakkról, mint egy kezdő emberi játékos néhány órai tanulás után. Nézzük hát, vajon hány kognitív sémát ismerhet a Deep Blue a Menynyi intuíciója van?

Nos, erre a mennyiségi kérdésre kétféle választ adhatunk. Az egyik válasz az, hogy egyetlenegy sémát ismer. A Deep Blue által használt, úgynevezett minimax algoritmus ugyanis egy kiértékelő függvényből indul ki, amely minden állásra meghatározza, hogy az a játékos szempontjából mennyire előnyös. Ezt az előnyösséget maximalizálja az algoritmus úgy, hogy az a játék lehetséges folytatásainak általa áttekintett részén (például 10-12 lépéspárra előre az összes lehetséges variációt figyelembe véve) az ellenfél lehető legjobb játéka esetén is a számára legjobb végkifejletre vezessen. Miután a minimax algoritmus csak egyetlenegy kiértékelő függvénnyel képes dolgozni, joggal mondhatjuk, hogy ez a gép csak egyetlenegy kognitív sémát ismer, szemben Kaszparov sok tízezernyijével.

A másik válasz figyelembe vesz egy ellenérvet, amelyet az Olvasó joggal vethet fel az előző bekezdés gondolatmenetével szemben. Ez az ellenérv a következő: lehet, hogy a kiértékelő függvény olyan bonyolult és kifinomult, hogy Kaszparov sok tízezernyi sémáját valahogyan mind magában foglalja. Nézzük tehát meg, hogyan működik a Deep Blue konkrét kiértékelő függvénye. Meglepően kevés dolgot vesz figyelembe: főleg az anyagi egyensúlyt vizsgálja, és ezen kívül mindössze az éppen vizsgált állás tucatnyi egyszerű, jól ismert jellegzetességét figyeli (például egy kettős gyalogot hátrányosnak tekint, egy saját bástya által elfoglalt nyílt vonalat előnyösnek stb.). Ha ezeket mind egy-egy külön kognitív sémának tekintjük, akkor sem tud a gép többet magáról a sakkról, mint pár tucat kognitív sémát, szemben Kaszparov közel sok tízezernyijével. A kép így sem változott sokat.

Mégis, amikor akár nagymester, akár amatőr sakkozó nézi a gép játékát, lépten-nyomon ötleteket, invenciót, terveket és elképzeléseket észlel. A minimax algoritmus ismeretében határozottan állíthatjuk, hogy ilyesminek a gép játékában nyoma sincs. Ezek szerint minden ilyesmit az ember vetít bele a gép játékába. Miután mi mindannyian kognitív sémáink segítségével észleljük a világot, elképzelni sem tudjuk, hogy valójában ellenfelünk (a gép) semmi ilyesfélét nem alkalmaz.

Amennyire pontosan tudjuk, hogyan működnek a sakkprogramok kiértékelő függvényei (végül is: ember alkotta őket), annyira keveset tudunk arról, hogyan működnek az ember kognitív sémái. Akik eddig megpróbálkoztak olyan sakkprogram készítésével, amely sok és bonyolult szabály segítségével dolgozott (némileg hasonló elvek alapján, mint az 5. fejezetben bemutatott EURISKO program, vagy a 10. fejezetben látott MAPP), azok mindmáig lényegesen gyengébb eredményeket tudtak csak elérni, mint a puszta nyers számítási erő alapján működő Deep Blue. Kaszparov és a Deep Blue mérkőzésén tehát két különböző minőség csapott össze: óriási mennyiségű állás vizsgálata kevés (alkalmasint egyetlenegy) kognitív séma segítségével, illetve kis mennyiségű állás vizsgálata sok tízezernyi kognitív séma segítségével. A "nagy mennyiségű állás" konkrét mennyisége éppen mostanra érte el azt a szintet, amikor a sok tízezernyi kognitív séma fölé tud kerekedni.

Láttuk, hogy Kaszparov (vagy más emberi nagymester) nemigen növelheti kognitív sémái mennyiségét a néhány tízezernyi, vagy legfeljebb százezernyi szint fölé. Nagyjából ennyi az emberi teljesítőképesség felső határa. A sakk fogalomrendszerének (mondhatnánk: tudományának) fejlődésével ugyan az emberi kognitív sémák bonyolultsága, leíró ereje növekedhet, de magának a sakkozásnak az eddigi fejlődése alapján valószínűsíthető, hogy ez a növekedés, amelynek kizárólag minőségi tartalékai vannak és mennyiségiek nincsenek, lényegesen lassúbb, mint a számítógépek sebességének növekedése. Így hosszú távon a sakk esetében az emberi gondolkodásnak nincs érdemi esélye a számítógép ellen, akkor sem, ha a számítógép pusztán a nyers számítási erőre épít, konkrét sakktudásra csak minimálisan.

Egy szakterület mélységei

A gó játékban már sokkal kevésbé eredményes a számítógép-tudomány, mint a sakkban: a jelenlegi legerősebb góprogramok alig érik el egy közepes haladó játékos színvonalát. A különbség oka nem az, hogy a góprogramok készítésére sokkal kevesebb erőfeszítést tettek. Akik mindkét játékot jól ismerik, egybehangzóan állítják, hogy maga a feladat sokkal nehezebb: a gó valahogy sokkal mélyebb játék; az emberi gondolkodás mélyebb rétegeit mozgatja meg, mint a sakk. Még ennél is homályosabb (jóllehet érezhetően igaz, érvényes) érvek tömkelegét lehetne felhozlni, de azonnal látni fogjuk, hogy a két játék közötti mélységkülönbséget sokkal egyértelműbb eszközökkel is tetten tudjuk érni.

A mérhető teljesítmények skálájának szélessége egyértelműen meghatározható: a kezdőtől a világbajnokig tart. Vizsgáljuk meg, hogy ez a fesztávolság hány minőségi lépcsőt takarhat.

Szokás olyasmit mondani, hogy két játékos között klassziskülönbség van. Ezt olyankor mondjuk, ha az egyik játékos nagy valószínűséggel legyőzi a másikat. Nevezzük például klassziskülönbségnek azt, ha az erősebb játékos legalább 75%-os eredményt ér el a gyengébb ellen. (Ha döntetlen eredmény nem lehetséges, akkor azt is mondhatjuk, hogy klassziskülönbség akkor van két játékos között, ha az erősebb játékos legalább 75%-os valószínűséggel legyőzi a másikat. ) A 75%-os küszöbszám megválasztása teljesen esetleges, lehetne 60% vagy 90% is, ez gondolatmenetünk lényegén nem változtatna. Azért választottuk éppen a 75%-ot, mert láttuk, hogy a sakkban például az egyes néven nevezett minősítések (II. osztályú, I. osztályú stb. ) között nagyjából éppen ez a különbség észlelhető.

Most gondoljuk meg a következőt: hány klassziskülönbség lehet például a sakkban vagy a góban a teljesen kezdő és a világbajnok között. Elvileg ez meghatározható: vegyünk egy teljesen kezdő játékost, aki éppen most tanulta meg a játék alapelemeit. Keressük meg azt a leggyengébb játékost, aki nála már éppen egy klasszissal jobb. Utána ehhez a játékoshoz ismét keressük meg azt az embert, aki őnála jobb éppen egy klasszissal, kicsit sem többel. És így tovább, előbb-utóbb biztosan eljutunk a világbajnokig. Ezzel meghatároztuk, hogy a szóban forgó játékban az emberi tudás teljes fesztávolsága hány klasszisnak felel meg.

A sakk esetében ennél egyszerűbb és gyakorlatiasabb módszerrel is jó közelítő eredményt kaphatunk. Láttuk, hogy körülbelül 200 Élő-pont különbség jelent egy klassziskülönbséget. A kezdő játékos nagyjából 1300 pontos, a világbajnok 2800 - eszerint tehát a sakkjáték mélysége összesen körülbelül 8 klasszisnyi.

Hasonlóan számolva a góminősítések alapján azt kapjuk, hogy a gó játék mélysége összesen körülbelül 13-15 klasszis. Meglepően nagy különbség észlelhető tehát a sakk és a gó között, és ezt a kijelentést immár nemcsak szubjektív érzésekre alapozhatjuk, hanem objektív mérésre.

Ha már van egy ilyen mélységfogalmunk, engedjünk meg magunknak egy bekezdésnyi elkalandozást. Hasonló módszerrel kiderül például, hogy a jégkorong vagy a kosárlabda sokkal "mélyebb" sport, mint a labdarúgás: sokkal több klasszisnyi különbség található egy átlagos iskolai válogatott és a világbajnok csapat között. Vagy másként: a világ tizedik legjobb csapatának sokkal több esélye van a világbajnok ellen futballban, mint kosárlabdában. Annak kifejezésére, hogy a gyengébbnek is van esélye, azt szoktuk mondani, hogy "a labda kerek". Eszerint "a futball-labda sokkal kerekebb, mint a kosárlabda". Talán éppen ezért szeretjük a világnak ezen a részén annyira a focit, és talán részben ezért nem tud mélyebb gyökereket ereszteni a világ más tájain, például Japánban vagy az Egyesült Államokban (bár e két népet valószínűleg más és más okból zavarja a labda túlzott kereksége) . Elvileg le lehetne mérni az egyéni képességek mélységét is a csapatsportokban. Ezt ugyan nem tettem meg, de hevenyészett becslések alapján az a gyanúm, hogy az egyén szintjén már megszűnik a mélységkülönbség a foci és a kosárlabda között: a két sport közötti lényegi differencia valahol a teljes játék struktúrájában van. Itt is több az egész, mint a részek összege.

Visszatérve fő gondolatmenetünkre: mélységfogalmunk különösen akkor válik érdekessé, ha figyelembe vesszük, hogy a sémák mennyiségének tartománya mind a gó, mind a sakk esetén azonos: nullától néhány tízezerig terjed. Ha tehát az ismert sémák mennyisége szerint próbáljuk a minősítési szinteket meghatározni, (mint ahogy tettük a 11. fejezetben), akkor a szintek közötti eredménybeli különbségek még nem lesznek egyértelműek. Ha egyszer a gó mélysége - az imént bemutatott mélységfogalom szerint - nagyobb, mint a sakké, akkor például egy 2000 sémát ismerő játékos nagyobb biztonsággal győz le egy 1000 sémát ismerőt góban, mint sakkban (mivel ugyanakkora különbség a sémák mennyiségében több klasszisnyi különbséget jelent). Ez csak úgy lehetséges, ha a sémák a góban sokkal bonyolultabbak, mint a sakkban (legalábbis a nagymesteri szint alatt egészen bizonyosan, de meglehet, hogy még a nagymesteri szinten is) .

A gó a távol-keleti gójátékosok számára sokkal inkább kifejezi az életet, mint a sakk az európaiaknak: kevésbé érzik adbsztraktnak. A gó a keleti gondolkodás terméke - a világ egységét fejezi ki. A sakk a nyugati gondolkodásban eresztett mélyebb gyökereket, noha eredetileg talán Indiából származik. A japánok kultúrájuk szerves részének tekintik a gót. Úgy érzik, hogy alapvető értékrendszerüket esztétikai elveiket, gondolkodásmódjukat fejezi ki: bizonyos értelemben ugyanarról szól, mint az előző fejezetben a Zen-mester és a szamuráj története. Mi a sakkot általában nagyon jó játéknak tartjuk, de ilyen alapvető értéket, az európai gondolkodásmód lényegének kifejezését nem tulajdonítjuk neki. Bobby Fischer volt sakkvilágbajnok mondta: "Számomra a sakk az egész élet". A nagymester sok tízezer bonyolult sémája talán valóban lehetővé tesz olyan árnyalt, finom kifejezésmódokat, amelyek egy ilyen kijelentést indokolhatnak, de egy mesterjelölt még nemigen érzi át, hogy a sakk akár az élet teljes komplexitását kifejezheti számára.

A gó 13-15 klasszisnyi mélysége körülbelül ugyanannyi, mint az emberi intelligenciáé. Itt most ne bonyolódjunk bele az intelligencia fogalmának tisztázásába és az e körül közel egy évszázada dúló hatalmas vitákba, hanem egyszerű és pragmatikus módon tekintsük intelligenciának azt, amit az intelligenciatesztek mérnek, bármi legyen is az. Számunkra most elég annyi, hogy bármi is az intelligencia, mindenképpen valamiféle szellemi képességet, az élet gondolkodást igénylő helyzeteiben való eligazodási készséget jelent. Az intelligenciatesztek által mért dologban akkor tekinthetünk egy embert egy klasszisnyival intelligensebbnek egy másik embernél, ha 75% valószínűséggel jobb eredményt ér el a teszten, mint a másik. Ilyen szempontból elemezve az intelligenciatesztek eredményeit megállapítható, hogy maga az intelligencia is körülbelül 15 klasszisnyi mélységet takar, ha az értelmi fogyatékostól a "világbajnokig" terjedő skálát vizsgáljuk. Ebben a meglehetősen absztrakt értelemben tehát valóban mondhatjuk, hogy a gó játék a sakkhoz képest inkább olyan, mint "maga az élet".

Valószínűleg éppen ezért érzik a programozók sokkal nehezebb feladatnak egy góprogram, mint egy sakkprogram elkészítését. A sakk esetében pusztán a nyers számítási erő okos kihasználása elegendőnek bizonyult ahhoz, hogy világbajnok erejű program jöhessen létre akkor is, ha a programok fejlődésének trendje a mesterjelölti szinten megtört és a fejlődés lelassult. A góprogramok esetében az 1900-as évek végére ugyanaz a számítási kapacitás, amely a sakknál elegendő volt a nagymesteri szint áttörésére, csak a gyenge mesterjelölti szint elérésére bizonyult elegendőnek. Ráadásul a fejlődés trendvonala itt is megtörni látszik ezen a szinten, bár jelen pillanatban még nincs elég adatunk ahhoz, hogy a trendvonal törés utáni tendenciájára akár közelítő becslést adhassunk. Ha a gó játék esetében a trendvonal törése hasonló jellegűnek bizonyul, mint a sakk esetében, akkor ebben a játékban a mesterséges intelligencia jelenleg ismert módszereivel a jelenlegi számítógépeknél milliószor gyorsabb gépek segítségével sem érhető el az emberi csúcsteljesítmény.

Úgy tűnik, minél mélyebb egy szakterület (az imént kifejtett mélységfogalom értelmében), annál nehezebb azon a területen mesterséges intelligencia-programot készíteni. A legtöbb "mély" területen is viszonylag hamar sikerült a mesterjelölti szintet elérni a mesterséges intelligencia jelenlegi eszközeivel, de a fölött a szint fölött a haladás mindenütt egyértelműen lelassult. Jellegzetesen ilyen területeken mozognak például a természetes nyelvekkel foglalkozó programok.