Zapuščina umetne inteligence I.: Šah

Ne dolgo nazaj se je zaključil dvoboj za svetovnega prvaka v šahu med trenutno dvema najmočnejšima igralcema na svetu Magnusom Carlsenom in Fabianom Caruano. Dvoboj je trajal več kot dva tedna v katerem sta igralca med sabo odigrala 12 klasičnih šahovskih partij, ker pa je bil rezultat po njih poravnan, se je o zmagovalcu odločalo v podaljških. Bolj kot dejstvo, da se je dvoboj po rednem delu končal neodločeno, je presenetljivo to, da se je čisto vseh 12 partij končalo z remijem.

Šah je igra, ki ne vsebuje tako imenovanih skritih informacij, kot jih vsebujejo na primer igre s kartami. Pri taroku vsak igralec ve samo za vsebino svojih kart, karte nasprotnika pa so mu zgolj ena velika neznanka. Tako mora igralec taroka svoje odločitve o »potezah« sprejemati na podlagi nepopolnih informacij in predpostavk, ki so osnova za igralčeve načrte. Če je bila igralčeva predpostavka tekom igre napačna, lahko naredi veliko napako, ki ga lahko stane zmage. Še več, pri igrah s kartami je tudi velik dejavnik sreča, saj so določene kombinacije kart boljše od drugih in če jih dobimo, se naše možnosti za zmago (ob pravilni igri) lahko znatno povečajo.

Hitro lahko uvidimo, da je pri igrah s kartami mnogo dejavnikov, na katere igralec ne more vplivati, če se seveda ne posluži goljufije z označevanjem kart in vnaprej premešanim kupčkom. Te dejavniki imajo pri igri taroka tako velik učinek, da z vsakimi kartami, ne glede na to kako smo intelektualno superiornejši od svojih nasprotnikov, ne moremo vedno zmagati. Seveda lahko delež zmag z natančnimi predpostavkami in kvalitetno igro močno povečamo, a obstaja neka zgornja meja, čez katero žal ne moremo priti. To je zgolj in samo posledica zasnove igre, ki ne omogoča, da ima igralec v nekem trenutku vse možne informacije, poleg tega pa igralec ne začne vedno s kartami, ki mu sploh omogočajo zmago.

Šah je drugačna igra. Pri šahu igralec ve kakšne figure ima njegov nasprotnik, saj jih vidi pred seboj na tabli, poleg tega pa sreča nima nikakršne vloge. Vsaj ne sreča v smislu, da bi se igra začela tako, da bi se »naključno« razdelilo figure na šahovnico in bi en igralec dobil dosti boljšo začetno pozicijo kot njegov nasprotnik. Pri šahu se namreč vsaka igra začne z istimi figurami, isto razporeditvijo figur na šahovnici in istimi pravili. Te lastnosti omogočajo, da po partiji šaha vemo, kdo je boljši igralec (če pri tem izvzamemo, da ima beli na začetku prednost ene poteze). Če nek igralec zmaga je to zato, ker je nasprotnika pripravil v to, da naredi usodno napako, preden bi to njemu uspel storiti njegov nasprotnik. Zato lahko rečemo, da v šahu vedno zmaga boljši. A ta pravična lastnost šaha ima tudi eno žalostno posledico. Če namreč oba igralca igrata enakovredno oz. ne storita nobene usodne napake, se bo partija končala z remijem. In ta lastnost se še kako pogosto kaže na nivoju profesionalnega šaha, kjer najboljši svetovni velemojstri le redkokdaj storijo napako, izkoristiti pa znajo vsako še kako majhno napako svojih nasprotnikov.

Tu pa v zgodbo vstopijo računalniki

Računalniki so namreč danes na marsikaterih področjih superiorni. V to področje spada tudi igranje šaha. Leta 1997 je računalniški program podjetja IBM, Deep Blue, prvič premagal svetovnega šahovskega prvaka. Garija Kasparova. V svetu je to povzročilo pravi šok, saj je šah vedno veljal za domeno pametnih ljudi in računalniki so venderle le neumni stroji, mar ne? Skozi čas se je to mišljenje spremenilo in danes je sprejeto dejstvo, da so računalniki v šahu boljši od ljudi.

Kasparov proti računalniku Deep Blue
Vir slike

Človek bi zato mislil, da se, ker je računalnik tako »pameten«, da premaga človeka v šahu, dobro »zaveda« pozicije in šahovnice, ko med analizo partije izpljune, da je najboljša poteza v dani situaciji ta, da konja premaknemo na polje d3. A v resnici se zadaj skriva boleča resnica, saj za računalnika šahovnica ni nič drugega kot tabela elementov in poteze niso zanj v resnici nič drugega kot določene transformacije te tabele (šahovnice) v tabelo, ki ima višjo oceno točkovalne funkcije in zato po njegovem mnenju lepša in zato boljša kot prejšnja. Da lahko računalnik to tako dobro počne, se mora zahvaliti razlogu za njegovo primarno zasnovo, ki je bil računanje. Računalniki lahko namreč v 1 s izvedejo milijone kalkulacij, ki jim omogočajo, da šah igrajo bolje od nas.

Pristopa k igranju šaha sta torej za nas ljudi in za računalnik zelo različna. Mi se zavedamo, da ne moremo zelo hitro računati in za podano pozicijo pogledamo zgolj okoli 3 najbolj obetavne poteze, presodimo katera izmed njih je najboljša in jo nato tudi odigramo. Obetavne poteze iščemo na podlagi preteklih izkušenj, vzorcev in tako imenovane zdrave »kmečke« pameti (angl. common sense). Če nam torej v določeni poziciji nasprotnik napade kraljico, ki je naša velika dragocenost, bomo »avtomatsko« pogosto gledali samo poteze, ki bodo našo kraljico spravili iz težav. To je definitivno hitreje kot če bi za vsako našo figuro pogledali vse njene možne poteze in ocenili pozicije v katere jih ta poteza pripelje, pri tem upoštevali vse možne nasprotnikove poteze in naše odgovore na njih itd. Hitro uvidimo, da velikost problema zelo hitro raste, saj se za vsako potezo skriva res ogromno število možnih pozicij in za več potez naprej kot gledamo, prej se nam bo zmešalo in prej bomo pristali v psihiatrični bolnišnici. Zato smo se »nezavedno« odločili, da je bolje če gledamo prihodnje pozicije samo za par potez, ki se nam zdijo obetavne in tako privarčujemo ogromno količino časa. Pri tem lahko seveda popolnoma spregledamo neko x potezo, ki bi nas v resnici čez 145 potez privedla v forsiran mat. Mi se zadovoljimo s približkom, ki je v res veliki večini primerov dovolj dober in natančen, da je naša pozicija po njej približno enaka kot če bi izbrali »res« najboljšo.

Računalnik na drugi strani je narejen za dolgo in mukotrpno računanje in mu je tako lažje, da za neko pozicijo do neke poteze naprej (temu se v šahovskem žargonu reče globina) izračuna vse možne pozicije in ocene za njih. Tako bo preveril prihodnje pozicije še za tako neumne poteze in jih bo šele čez nekaj časa, ko bo »spoznal«, da so res neumne, odstranil iz analize. Ker hitro računa si lahko take »brezvezne« izračune tudi privošči, saj se izkaže, da je računalnik dosti, dosti težje naučiti, da igra šah na način kot ga mi, torej da v poziciji išče določene indikatorje, da je določena poteza dobra. Računalnik namreč noče »ugibati«, da je neka poteza najboljša, on bo s svojim računanjem preveril, da je res najboljša in to tudi storil zelo hitro.

Kaj to pomeni?

Posledica te lastnosti šahovske igre in dejstva, da bo računalnik vedno odigral najboljšo potezo, je ta, da računalnik ne bo nikoli izgubil. Pa če bomo še kako dobro igrali, bo računalnik vedno odigral brez večjih napak, ki bi nam omogočile, da bi ga premagali. Računalnik bi lahko tako premagali le tako, da naredimo boljši računalnik, ki računa hitreje, globje in boljše od našega nasprotnega računalnika in to je ravno to kar se dogaja na svetovnih prvenstvih računalniškega šaha.

Človek namreč šahovskega programa, ki ima enake pogoje kot mi, ne bo nikoli premagal, saj ne bo mogel računati hitreje od njega zaradi metode ocenjevanja pozicije pa tudi ne bo mogel nikoli »odkriti« kake skrite poteze, saj se računalnik ne zmoti in pregleda vse možne poteze. Tako lahko uvidimo, da je človeška igra proti računalniku nesmiselna in je šah smiselno igrati samo proti ljudem.

Ali je potem šah smiselno igrati na profesionalni ravni?

Igro šaha ja namreč prihod računalnika krepko spremenil. Sedaj so vse analize pozicij večinoma izključno izvede s strani računalnika, saj to naredi bolje in hitreje od človeka. Svetovni prvak in njegov izzivalec sta se tako na dvoboj pripravljala vsak s svojo ekipi pomočnikov in računalnikom. Pomočniki so s pomočjo računalnika pripravljale analize, iskali anomalije v igrah nasprotnika in nato igralcema sporočali to, kar so odkrili. Igralca sta se zato posvetila pomnjenju teh informacij in pripravljanju linij, ki jih bosta v partiji odigrala. Lahko vidimo, da je v profesionalnem klasičnem šahu, kjer je časa za igranje veliko, izid partije vse bolj odvisen od priprave posameznega igralca. Del partije, v katerem morata igralca dejansko sama ugotoviti, kaj je najbolje, se vse bolj premika proti koncu partije. To se vse bolj kaže v izidih partij, ki se vse pogosteje končujejo v remijih.

V spodnji tabeli so prikazni odstotki partij, ki so se končali z remijem v dvobojih za svetovnega prvaka:

Tabela prikazuje odstotek remijev (klasičnih partij) na dvobojih za svetovnega prvaka.

Šah je nedvomno zelo koristna igra za razvoj in ohranjanje kognitivnih sposobnosti posameznika, a na profesionalnem nivoju vse hitreje postaja računaliziran. Zato se pojavi vprašanje ali se šah na profesionalnem nivoju igra zgolj zaradi tradicije? Jaz osebno si kot entuziazen šahist ne morem predstavljati, da se šah na vrhunskem nivoju ne bi igral. V šahovskem svetu se pogosto reče, da je šah s prihodom računalnika izgubil romantiko. S tem želijo namigovati, da so sedaj vse poteze še bolj preračunane kot so bile prej, kjer so včasih šahovski mojstri dajali prednost (subjektivnim) očesu privlačnim potezam, ki pa v resnici niso bile najboljše, včasih pa so bile celo velike napake. Lahko bi rekli, da se je s prihodom računalnikom povišala kvaliteta šaha in zmanjšala njegova atraktivnost. A to lahko govorimo samo s svojega stališča, igra je namreč še vedno lepa, a najboljših potez ali ne razumemo dovolj dobro ali pa ne vemo, kaj je lepo, kar je pa seveda zelo težko znanstveno opisati.

Pravi pretres na področju računalniškega šaha, pa se je zgodil leta 2017, ko je na šahovsko sceno stopil Googlov AlphaZero. Google se je namreč lotil popolnoma drugačnega pristopa razvoja programske opreme za igranje šaha, saj same algoritme oz. iskanje rešitev niso sprogramirali sami, ampak so dali programu na voljo opis šahovskih pravil in 24 ur časa. AlphaZero se je tako v tem času sam naučil igrati šah, saj je v tem času odigral enormno število šahovskih partij sam s seboj, analiziral napake in postopoma dograjeval svoje sposobnosti. To mu je omogočala implementirana nevronska mreža in metode strojnega učenja. Tako je program v tako kratkem času dosegel superčloveško sposobnost igranja šaha in pri Googlu so na dvoboj izzvali do takrat najboljši »tradicionalni« šahovski program Stockfish. Dvoboj je bil sestavljen iz 100 partij, od katerih je bilo 28 zmag za AlphaZero, 72 pa je bilo remijev. AlphaZero je namreč svoje poteze izbiral hitreje in natančneje, saj se je zaradi strojnega učenja sam – podobno kot človek – naučil izločiti popolnoma nesmiselne poteze. A to ni vse, AlphaZero je poleg tega znal najti pravo razmerje med intuitivnim igranjem in igranjem z grobo silo, saj se je pogosto zgodilo, da je potegnil popolnoma ne intuitivno potezo, kot je žrtvovanje določenih figur v zameno za drobno pozicijsko prednost, ki se je čez mnogo potez izkazala ključnega pomena.

To je bil dober prikaz, kako lahko »prava« umetna inteligenca, kaj hitro usvoji določeno igro in jo igra bolje kot jo je kakršenkoli človek do sedaj. To je po eni strani samoumevno, saj vemo, da so računalniki hitrejši od nas in lahko zato preračunajo več potez in posledično bolje ocenijo določeno pozicijo. Poleg tega lahko igrajo hitreje od nas, ne poznajo utrujenosti in lahko posledično odigrajo mnogo več iger v določenem času kot mi in se zato lahko iz njih več naučijo.

Pa je program AlphaZero tudi pametnejši od nas?

To je odvisno od tega s čim merimo stopnjo inteligence. Dandanes je pogosta praksa, da se meri širina inteligence in ne samo superiornost določenega stroja od nas na določenem zelo ozkem področju. AlphaZero zna tako bolje igrati šah od nas, a v številnih drugih (miselnih) nalogah smo mi boljši, saj AlphaZero ni bil namenjen zato, da bi »obvladal« čisto vse. Inženirji so ga zasnovali za zelo specifično nalogo, ki jo zna sedaj opraviti z odliko. To je natanko definicija šibke oz. ozke umetne inteligence. Na pravo močno oz. splošno umetno inteligenco pa bomo morali še nekoliko počakati.

Ali torej šah na profesionalnem nivoju zaradi prihoda umetne inteligence izumira?

Zaenkrat se sicer zdi, da temu ni tako, a le čas bo pokazal, kam se bo vsa stvar obrnila. Nedavno so se začele pojavljati nekoliko drugačne različice šaha, kot so recimo šah 960, ki vsakič določi naključno začetno pozicijo (iz 960 možnih) iz katere igralca začneta partijo. Namen tega je, da igralce odpelje iz okvirjev priprav in jih ponovno usmeri na bolj intuitivni (človeški) način igranja. A na največjih tekmovanjih je taka zvrst igre še vedno redkost, poleg tega pa ne spremeni težav glede superiornosti umetne inteligence, saj lahko programi še vedno iz danih pozicij izračunajo najboljšo potezo. Druga možnost je, da bi se v šah vključila sreča in bi se tako poleg potez metalo na primer kocko. To je možno, a zelo neprivlačno, saj je lepota šaha prav v njegovi neodvisnosti od sreče. Spet tretji podpirajo idejo, da bi na profesionalnem nivoju, večjo pozornost namenili pospešenim in hitropoteznim partijam, kjer omejenost časa povzroči, da je priprava na partijo manj pomembna in so partije navadnemu občinstvu tudi atraktivnejše.

Kaj nam torej preostane?

Prav je, da se čim prej začnemo zavedati, da nas pri določenih nalogah umetna inteligenca že danes močno prekaša. To dejstvo lahko uporabimo za pospešen napredek v znanosti in tehnologiji, pa tudi marsikje drugje. Šah je na koncu koncev le igra in je zato super zgled tega, kako lahko umetna inteligenca popolnoma spremeni temelje igre. Če nam je všeč ali ne, je v življenju pogosto pravilna odločitev le ena, na nas pa je, da se odločimo ali bomo preiskali vse možnosti ali pa se bomo zadovoljili s približkom in upali, da ga nismo polomili. Izkaže se, da smo v večini primerov kar dobri z izbiro približkov, kar nam zadosti za vsakdanje življenje. Za stvari, za katere so potrebne natančne odločitve, pa je bolje, da delo prepustimo računalnikom, če jim le zaupamo. Odločitev je na koncu koncev še vedno naša.

Komentarji
Žan Magerl

Žan Magerl

Poleg tega, da je splošno izjemno razgledan, je tudi človek, ki vsaki stvari želi priti do dna, ugotoviti kako kaj deluje, zakaj je takšno kot je in ali bi to lahko izboljšali. To pomeni, da se bo čisto spustil v stvar, ki mu je trenutno padla v oči, in ne bo nehal, dokler ne ugotovi vsega, kar je za ugotoviti o določeni temi.
Verjetno bi ga lahko z eno besedo povzeli kot radovednega.
Žan Magerl

Latest posts by Žan Magerl (see all)

Žan Magerl

Poleg tega, da je splošno izjemno razgledan, je tudi človek, ki vsaki stvari želi priti do dna, ugotoviti kako kaj deluje, zakaj je takšno kot je in ali bi to lahko izboljšali. To pomeni, da se bo čisto spustil v stvar, ki mu je trenutno padla v oči, in ne bo nehal, dokler ne ugotovi vsega, kar je za ugotoviti o določeni temi. Verjetno bi ga lahko z eno besedo povzeli kot radovednega.