Poznam nekoga iz Slovenije. Iz njegove knjige sem se učil umetne inteligence

Knjiga Ivana Bratka o programskem jeziku prolog in umetni inteligenci je postala najbolj prodajani učbenik za računalniški jezik.

Objavljeno
30. oktober 2011 18.14
Posodobljeno
31. oktober 2011 07.00
Mišo Renko, znanost
Mišo Renko, znanost

»Nepopisna škoda za človeštvo je, da Lasker tako rad izgublja čas s premikanjem lesenih figuric,« je nad šahistom, izgubljenim za znanost, tarnal Einstein. Kako uspešen šahist bi bil lahko akademik Ivan Bratko, ne bomo izvedeli, ker je namesto šaha izbral znanost. Njegova knjiga o programskem jeziku prolog in umetni inteligenci je postala najbolj prodajani učbenik za ta računalniški jezik. Napisal jo je pred dobrega četrt stoletja, pred kratkim je izšla njena četrta izdaja. Znani ameriški profesor je kmalu po izidu prve izdaje knjige Prolog Programming for Artificial Intelligence dr. Bratka vprašal, koliko knjig so prodali. Ko mu je ta odvrnil, da približno 40.000, je profesor pozabil, da je slovenski strokovnjak za umetno inteligenco knjigo napisal v angleškem jeziku. Verjetno mislite 4000, je vprašal znova. Potem je samo še debelo gledal.

Na polici njegovega kabineta na fakulteti za računalništvo in informatiko (FRI) v Ljubljani je dober meter teh knjig v različnih jezikih. Najdebelejša je ruska izdaja, ki so jo tiskali na papirju, še najbolj podobnem časopisnemu. Prva izdaja v angleščini (1986) je doživela pet natisov, drugo dopolnjeno in predelano izdajo (1990) so ponatisnili osemkrat. Ko profesorja vprašam, koliko je vseh prodanih izvodov, je v zadregi: »Kaj pa vem, v založbi mi ne povedo vsega, sam se pa tudi ne zanimam za to.« Malce pomisli in povsem hladnokrvno pravi: »Nekaj sto tisoč izvodov pa gotovo...«

Piratska kopija na spletu 
kar iz knjižnice FRI

Najbolj berljiva knjiga o prologu, kot so jo poimenovali njegovi založniki, je danes seveda precej drugačna, kot je bila leta 1986. Najmanj sprememb je v prvem delu, kjer opisuje ta »izjemni programski jezik, ki ponuja neverjetno svež pristop k programiranju, četudi potem lahko programiraš v drugem jeziku«. Tisti del, ki govori o umetni inteligenci, se je spremenil precej bolj, dasiravno osnovni principi ostajajo enaki.

Vsak ponatis pomeni približno četrtino nove vsebine knjige, ki je bila napisana v angleščini in že leto zatem prevedena v nemški (1987), italijanski (1988), francoski (1989), ruski (1990 in 2004), japonski (1996) in kajpada tudi v – slovenski jezik (1989). Na začetku, pravi Bratko, mi je urednik v založbi Addison-Wesley pošiljal pisma, ki jih je dobival od profesorjev. Eden je pismo končal z ugotovitvijo, da bo knjiga nedvomno postala »klasika na svojem področju«. Ni se motil.

To znajo ceniti tudi v založbi. Pred tretjo izdajo mu je urednica dejala, naj se ne prilagaja trendom. S knjigo je sam ustvaril trend, tako da se ji bo zdaj prilagodil – trg. Knjigi se trg prilagaja še danes, vendar precej drugače. To lepo kaže izkušnja izpred nekaj let, ko se je na spletu pojavilo kar nekaj piratskih kopij. Na eni je bil lepo viden pečat knjižnice fakultete za računalništvo in informatiko. Sicer pa se Ivan Bratko spominja tudi precej bolj zabavnih dogodkov, povezanih s knjigo. Na enem od avstralskih koralnih otokov se je srečal z nekim Američanom, ki ga je zanimalo, od kod prihaja. »Iz Slovenije? Ah, veste, da poznam nekoga iz Slovenije. Iz njegove knjige sem se učil umetne inteligence.«

Računalniki postajajo 
vse pametnejši

Včasih so računalnike do skrajnosti natrpali s podatki, da so ljudje potem občudovali njihovo zmogljivost in hitrost. Danes to še vedno počnejo, hkrati pa jih programirajo tako, da se znajo še sami učiti. Pametni računalniki na zahodu Avstralije tako skoraj v celoti upravljajo rudnik, ki je popolnoma avtomatiziran. Roboti kopljejo, nalagajo na tovornjake, te pa potem vozijo robotski šoferji. »Koliko inteligence je potrebne za tako imenitno zadevo, ne vem. Nekaj že, saj se roboti ne smejo zaletavati. Vendar so to podobne aplikacije, kot jih uporabljajo za optimizacijo dela v skladiščih ipd. Mene danes zanima predvsem programiranje, ki omogoča, da se bo stroj učil in bo znal določene zadeve tudi sam prepoznati.«

Po takšen primer v praksi ni treba daleč. Na FRI sodelujejo s skupino nevrologa dr. Zvezdana Pirtovška z ljubljanskega Univerzitetnega kliničnega centra. Tam proučujejo razne vrste tremorjev (tresavic), ki se pojavijo pri nekaterih boleznih. Tresavica se pojavlja v delu možganov, ki nadzirajo mišice posameznih delov telesa, najpogosteje rok. Za Parkinsonski tremor je značilno predvsem ritmično tresenje udov v mirovanju. Najprej rok, ko bolezen napreduje, pa se tresejo tudi ustnice, glava, čeljust, noge.

»Pacient s tresavico mora s pisalom narisati spiralo. Nič kaj lahka naloga za nekoga, ki se mu trese roka. Iz teh risb, ki so še najmanj podobne spirali, lahko potegnemo več koristnih informacij. Naredili smo računalniški program, ki zna ločevati med esencialnim tremorjem in tistim, ki je značilen za Parkinsonovo bolezen. Menda se že v zelo zgodnji fazi razvoja Parkinsonove bolezni pojavijo določene motnje v gibanju, ki s prostim očesom sploh niso vidne. Profesor Pirtovšek domneva, da bi bilo mogoče s pametnim računalnikom zelo zgodaj prepoznati tovrstne motnje, tako da bi lahko začeli bolezen zdraviti, še preden bi se tresavica pokazala.«

To se mu zdi velik izziv. Za nevrologe in za računalnikarje. Saj ne da druge aplikacije, ki jih razvijajo pri njih, niso koristne. Na primer inteligentno svetovanje pri izboru filmov. »Ko boste prišli v izposojevalnico filmov in boste želeli film po vašem okusu, vam bo pri izbiri svetoval pametni računalniški program. Našteli boste nekaj naslovov filmov, pri katerih ste najbolj uživali, računalnik pa bo znal poiskati podobne, ki jih še niste videli.«

Kako računalnik naučiti abstraktnega pojma

Računalnik lahko ogromno zna, vendar ga človek kot učitelj precej prekaša. En razlog za to je, da računalnik, naj je še tako pameten, ne obvlada – naravnega jezika, na primer angleščine. Temeljni pristop pri inteligentnih poučevalnih sistemih se tako rekoč ni spremenil od začetka devetdesetih let, pravi Bratko. Tisto, kar ga pri umetni inteligenci resnično pritegne, je, kako bi računalnik sam odkrival abstraktne pojme. »Večina ljudi tega sploh ne razume. Zadnja štiri leta se veliko ubadamo z robotiko. Ne s tisto običajno, ko robot nekaj prinese, pobarva avtomobil, se nauči plesati ali žonglirati. Robot lahko, na primer, opazuje, kako kak predmet nenehno pada, in padanje tudi pravilno napove, čeprav nima pojma o gravitaciji. Robot lahko sestavi stolp iz kock, ne da bi vedel, kaj pomeni stabilnost. Če bo delal stolp iz kock in bodo vmes tudi krogle, se mu bo seveda podrl. Kako naj računalnik razume kaj takšnega, kot je stabilnost? Če mu eksplicitno podamo primere, tale struktura je stabilna, tale pa ni, potem se računalnik že lahko nauči razlikovati med obema tipoma struktur. Toda kako naj računalniku kar tako pride na misel ideja o stabilnosti, medtem ko se sam igra s kockami in kroglami?«

Človeku je pojem orodja nekaj samoumevnega, za računalniški program pa je pojem orodja povsem abstrakten. Profesor Bratko me vpraša, ali bi znal definirati pojem orodja. Nič lažjega, rečem: orodje je pripomoček, ki človeku pomaga pri opravljanju določenih del. Sijajno, me pohvali, profesor. »In kako bi to razložili računalniku?« Tega pa ne znam. Kako so to razložili njihovemu robotu Nau v okviru projekta XPERO, nisem povsem razumel. Nao očitno je. Zato je z njim Laboratorij za umetno inteligenco pri FRI, ki ga vodi profesor Bratko, pred dvema letoma v Pragi na prvi konferenci in razstavi raziskovalnih projektov prihodnjih tehnologij FET (Future Emergent Technologies) osvojil prvo nagrado med vsemi evropskimi projekti.

V kabinet vstopi kolega in ga vpraša, kako mu je všeč novi urnik predavanj. V njegovem tonu tudi človek, ki ni s fakultete, zlahka zazna kanček ironije. Bratko se nasmehne, rahlo odkašlja in pove, da je njegovo navdušenje nad urnikom približno enako njegovemu. Letošnji urnik sta namreč sestavila njihova nekdanja študenta, ki se nista ozirala na to, da predavajo asistenti, docenti, izredni in redni profesorji. »Ni študenta, ki ne bi poznal razlike med asistentom in rednim profesorjem. Sestavljavca urnika se za to, verjetno namenoma, nista zmenila. Vsem skupaj sta pripravila presenečenje: predavanja v petek zvečer od 18. do 20. ure,« pove Bratko. No, zaplet z urnikom se je po nekaj intervencijah vendarle nekako uredil.

Ni ga šahista čez Kasparova

Ko kolega odide, se sogovornik brez težav vrne k temi, o kateri je govoril. Klepet sta zmotila vsaj še dva telefona in nekaj nenapovedanih vpadov v njegov kabinet. Nikogar ni na hitro odslovil, temveč je najprej odgovoril na vprašanja in se potem vedno znova vrnil k pogovoru. Točno tam, kjer so ga prekinili. Koncentracija in spomin, odliki, ki sta značilni za šahiste, pri njem delujeta brezhibno.

Mojstrskega kandidata Ivana Bratka vprašam, ali je bilo leto 1997, ko je računalniški program Deep Blue prvič premagal svetovnega šahovskega prvaka Garija Kasparova, bolj pomembno za umetno inteligenco ali za šah? »Šahisti so takrat nedvomno spoznali, da je boj proti najmočnejšim računalnikom izgubljen, kar je nedvomno pomembno. Zmaga je res velik medijski uspeh umetne inteligence, če pa pogledamo, kaj je to prineslo na raziskovalnem področju, hitro ugotovimo, da to ni bil kakšen poseben dosežek. Računalnik je sicer zmagal, a žal ne na posebno inteligenten način.«

Ivan Bratko in njegov doktorand Matej Guid, tudi odlični šahist, sta se pred tremi leti lotila zanimivega projekta: z računalniškim programom sta želela ugotoviti, kdo je najboljši šahist vseh časov. Vsak šahist ima igralca, ki je zanj najboljši. Velemojster Bruno Parma, ki je analiziral ogromno partij šahovskih prvakov, mu je rekel, da bi lahko bolj ali manj podobno odigral večino teh partij, nikoli pa ne bi mogel igrati tako kot Kasparov. »Ko sva najino računalniško analizo predstavila na strokovni konferenci, je bila razprava sicer živahna, vendar akademsko dostojna. Ko pa se je zadeva pojavila na spletnem portalu ChessBase, se je nemudoma usul plaz komentarjev. Nekaj tisoč. Kaj si vendar računalnikarja domišljata, da bosta z nekim programom določala vrstni red najboljših šahistov, saj to vendar ne gre. Na koncu sva z Matejem le dobila precej več pohval kot kritik.«

Računalniški program je za najboljšega šahista vseh časov postavil kubanskega velemojstra Raula Capablanco. Je bil Capablanca tudi njegov favorit? »Dajte no. Zame je bil ta izid povsem nepričakovan. Najboljši je vendar Kasparov,« je tokrat odločen Bratko. Govorilo se je, še doda, da naj bi Kasparov, ko je slišal za njuno raziskavo, skušal preprečiti objavo na spletnem portalu. Bil je prepozen.

Izlet v programski svet RTVS

Leta 2006 so kolegi akademiki Ivana Bratka izvolili za predstavnika Slovenske akademije znanosti in umetnosti v programskem svetu RTVS. Posebnega zanimanja za sodelovanje v tem organu med akademiki ni bilo, se spominja. »Na slovenski televiziji je bilo bolj malo oddaj o znanosti, pa se mi je zdelo, da bom lahko v programskem svetu prispeval k večjemu odmerku znanosti na malih ekranih. Kakšna zmota! Na svetu RTVS so mi pojasnili, da je znanost čudovita zadeva, vendar ima napako: ni gledljiva. Z malce pretiravanja bi lahko rekel, da je bila tisto leto edina oddaja, ki je imela neko povezavo z znanostjo v Sloveniji, prenos podelitve Zoisovih nagrad. Pa še pri tem nisem prepričan, ali zavoljo nagrajencev ali politikov, ki so sodelovali na podelitvi. Na moje veliko presenečenje sem opazil, da v programskem svetu RTVS sedijo ljudje, ki jih program sploh ne zanima. Neverjeten interes pa so kazali za to, kdo bo urednik katere redakcije, in za podobne kadrovske zadeve.«

Z odstopom je bilo takole. Istega dne, ko so na seji programskega sveta nekaj ur porabili za razpravo in sprejem programskih standardov, vključno z etičnimi normami, je bila zvečer na sporedu oddaja, v kateri je eden izmed slovenskih politikov namenil Romom vrsto opazk, ki bi jih zlahka šteli za sovražni govor. Odziv sveta na to je bil pozen in medel, odstop pa edina logična poteza. »Mnogi so mu nasprotovali, vendar sem dobil tudi nekaj čestitk od ljudi, ki jih sploh nisem poznal. Ker nisem politik, mi dolgo ni bilo jasno, zakaj ene moj odstop moti niti zakaj mi drugi zanj čestitajo.«