Inteligența Artificială

Raluca Vasilescu

1996

Subiect:
Un scurt istoric al IA
Cuvinte cheie:
inteligență, test Turing, sisteme expert
Cunoștințe necesare:
nici una


Contents

O definiție?

Multă lume a încercat să răspundă la întrebarea: ce este inteligența artificială? Dificultățile găsirii unei definiții pentru acest termen sunt (in principal) două: întîi, că nu se prea știe ce este însăși inteligența naturală; apoi, că cei ce încearcă sa formuleze o definiție sunt complexați de realizările - departe de a justifica un nume așa pompos - ale acestui domeniu al științei calculatoarelor. Așa că ei se văd siliți să definească mai degrabă ce ar trebui să fie inteligența artificială, decît ceea ce ea este efectiv in prezent.

Un mic istoric al acestei discipline s-ar putea să lumineze mai bine asupra naturii și țelurilor ei, decît încercarea (mai mult sau mai puțin șchioapă) de a o defini precis.

Articolul de față vorbește pe scurt despre cîteva din sistemele celebre, dar nici pe departe singurele, construite înlăuntrul inteligenței artificiale.

Testul Turing

E clar că, dacă n-ar fi existat calculatoarele, atunci nu s-ar fi povestit astăzi despre inteligența artificială. Sau s-ar fi povestit in romane SF. Deci, originea inteligenței artificiale ca ramură a informaticii se ascunde cam prin anii construcției primelor calculatoare electronice, adică în momentul în care omul și-a pus problema: cît de puternice pot fi aceste unelte noi, capabile să efectueze calcule complicate? Pot fi ele făcute să gîndească?

Pornind de la întrebarea aceasta (cum spunea cineva, important e să știi ce întrebare să pui), și încercînd să o reformuleze în termeni oarecum obiectivi, direct constatabili, matematicianul englez Alan Turing a imaginat testul care îi poartă numele și care, odată satisfăcut de o mașină, ar dovedi ``inteligența'' ei.

Turing a pornit de la o idee foarte naturală - dacă nu știm să definim în termeni preciși inteligența, însă spunem despre om că este inteligent, atunci am putea să spunem și despre o altă creatură același lucru în cazul în care s-ar comporta la fel ca o ființa umană. Rămîne de văzut care aspecte ale comportamentului omenesc sunt într-adevăr relevante pentru inteligența. De exemplu, hrănirea sau reproducerea s-ar putea să nu fie.

Testul Turing pornește de la un joc, creat tot de Turing - ``jocul imitației'' - cu trei jucători: o mașină (A), un om (B) și un al doilea om (C). A și B nu se găsesc în aceeași cameră cu C. C nu știe care dintre ceilalți doi jucători este mașina și nu poate să îi vadă sau să le vorbească direct. Comunicarea se poate face în scris sau printr-un terminal. Scopul lui C este să deosebească mașina de om, pe baza răspunsurilor la orice fel de întrebări. Dacă C nu reușește, atunci mașina poate fi considerată inteligentă.

În 1950, cînd apărea articolul despre acest test, autorul prezicea că, în cinzeci de ani (deci, aproximativ in anul 2000), va fi posibil să existe un calculator capabil să joace jocul imitației atît de bine încît șansa lui C de a identifica corect omul să fie mai mică de 70% dup'a cinci minute de joc. Informaticienii de astăzi sunt mult mai puțin optimiști. De fapt, există chiar două tabere - unii care cred în posibilitatea de a satisface (cîndva) testul lui Turing, și alții care sunt convinși de contrariu.

Ca să încheiem această secțiune, trebuie să spunem că, deși a suscitat multe discuții, testul Turing simbolizează idealul pe termen lung al inteligenței artificiale ca ramură a informaticii. Turing considera că cel mai bun drum către realizarea unei mașini care să treacă testul său nu este programarea unui calculator dotat cu o mulțime fixă de cunoștințe, ci, mai degrabă, educarea unei mașini-copil, capabilă să învețe din experiență și să folosească limbajul natural ca să-și îmbogățească cunoștințele. Ea ar putea să-și rezolve problemele proprii și să-și împlinească propriile sale planuri, dînd dovadă de inteligență practică în viața de zi cu zi. Vom vedea că, de fapt, fiecare dintre aceste trăsături ideale s-au constituit în subdomenii ale inteligenței artificiale: învățarea automată, prelucrarea și înțelegerea limbajului natural, achiziția de cunoștințe, construirea și satisfacerea unor planuri.

Prima perioadă - jocurile și demonstrarea de teoreme

Începuturile inteligenței artificiale pot fi văzute imediat după al doilea război mondial, în primele programe care rezolvau puzzle-uri sau care jucau anumite jocuri. Au existat două motive (pe lîngă fascinația pe care o exercită asupra multora) pentru care jocurile au fost printre primele domenii de aplicare a inteligenței artificiale - întîi, că performanța programului este ușor de măsurat (de cele mai multe ori, sau cîștigi sau pierzi un joc); apoi, că regulile sunt ,în general, simple și puține la număr, deci pot fi ușor descrise și folosite.

Jocurile cu care s-a experimentat îndeobște au fost cele de șah și de dame. Ideea era foarte simplă - fiind dată o poziție pe tablă, se încerca să se genereze toate secvențele posibile de mutări de la acel moment încolo, considerînd că adversarul alege întotdeauna mutarea cea mai bună. Dacă o secvență ajungea într-o stare cîștigătoare, atunci ea era cea de urmat. Problema practică de care s-a lovit această idee a fost că numărul combinațiilor de explorat era foarte mare (de exemplu, la șah, de ordinul $35^{100}$). Bineînțeles că oamenii, cînd sunt puși în situația să joace, restrîng numărul combinațiilor posibil cîștigătoare folosindu-se de experiența de pînă atunci (de exemplu, nu mai încearcă, de cele mai multe ori, să calculeze cum ar putea cîștiga dacă, fiind la a treia mutare, ar ceda regina pe gratis, ci elimină de la bun început varianta cu pricina). De-aici, concluzia imediată care s-a tras din această perioadă - că pînă și cînd este vorba de jocuri, e nevoie ca programul aibă cunoștințe adiționale (altele decît regulile jocului).

Unul din programele de referința din această perioadă a fost programul de jucat dame al lui Samuels. Acest program, pe lîngă faptul că juca cu un adversar, își folosea experiența dobîndită în partidele anterioare ca să-și îmbunătățească performanțele. El ținea minte anumite poziții ca din start cîstigătoare sau dezastruoase și nu le mai calcula secvențele ulterioare de mutări (deci se comporta aproximativ ca omul din exemplul de mai sus, care nu-și mai pune problema să cedeze regina).

Celălalt domeniu care a suscitat interes în această primă perioadă a fost demonstrarea de teoreme. Acest domeniu se aseamănă cu cel al jocurilor prin faptul că performanțele sunt simplu de evaluat (supui spre demonstrare o teoremă clasică). Ceea ce trebuie să i se descrie calculatorului sunt setul de axiome și regulile de inferență (adică, regulile prin care se obțin noi adevăruri din niște adevăruri date). În această arie au fost create mai multe programe interesante, printre care ``The Logic Theorist'' al lui Newell, care demonstra teoreme din primul capitol al cărții ``Principia mathematica'' de Whitehead și Russell, și un program al lui Gelenter care demonstra teoreme de geometrie.

Trebuie spus că in această primă perioadă (care a ținut cam pînă în 1965) performanțele pe care le-a obținut inteligența artificială n-au fost amețitoare, în primul rînd pentru că nici o problemă cu adevarat semnificativă (adică a cărei soluție să fi ajutat substanțial vreo activitate umană) nu a fost rezolvată. Totuși, două concluzii s-au impus (care concluzii guvernează pîna astăzi disciplina de care ne ocupăm):

A doua perioadă - înțelegerea limbajului natural

Anii 1965-1975 formează cea de a doua perioadă a inteligenței artificiale. Acum lumea se preocupă de ``înțelegere'', adică vrea să facă mașina să ințeleagă limbajul natural, în special povestiri și dialoguri.

Un program faimos al timpului a fost ELIZA. ELIZA simula comportamentul unui psiholog, conversînd în engleză cu pacienții. Cunoștințele programului despre engleză ca și despre psihologie erau codificate sub forma unui set de reguli simple. Iată un mic dialog cu ELIZA (tradus în românește):

Pacient:
Toți bărbații sunt la fel.
ELIZA:
In ce fel?
Pacient:
Ne plictisesc întotdeauna cu cîte ceva.
ELIZA:
Poți să dai un exemplu?
Pacient:
Păi, prietenul meu m-a trimis aici.
ELIZA:
Prietenul tău te-a trimis aici.
Pacient:
Spune că sunt mai tot timpul deprimată.
ELIZA:
Îmi pare rău să aud că ești deprimată.
Pacient:
E adevărat. Sunt nefericită.
ELIZA:
Crezi că venind aici ai putea fi ajutată să nu mai fi nefericită?
Pacient:
Am nevoie de ajutor, măcar asta e clar.
ELIZA:
Ce-ar însemna să primești ajutor?
Pacient:
Poate aș învăța să mă împac cu mama.
ELIZA:
Povestește-mi despre familia ta.

ELIZA știa un set mic de cuvinte cheie, și avea una sau mai multe reguli pentru fiecare dintre ele. Cînd întîlnea un astfel de cuvînt în propozițiile pacientului său, folosea una din regulile corespunzătoare cuvîntului respectiv. De exemplu, oricărei propoziții care conținea cuvintele ``mamă'', ``tată'' etc., i se răspundea cu ``Povestește-mi despre familia ta.'' Procedeul ELIZEI se numește ``nu-nțelege dar le potrivește'' (``pattern matching'' în engleză).

Un amănunt mai special despre ELIZA este impactul pe care ea l-a avut asupra pacienților săi umani. Autorul ei, Weizenbaum, a fost uimit să constate ``cît de rapid și de puternic oamenii au ajuns să se implice emoțional în comunicarea cu calculatorul și cît de mult și-l imaginau ca pe o ființa umană''. Însăși secretara sa, care îl văzuse lucrînd la program, i-a cerut să plece din cameră în timp ce discuta cu mașina.

Un exemplu mai neobișnuit de program a fost PARRY. PARRY simula un bolnav de paranoia, iar motivul pentru care a fost construit era să testeze un model psihologic al paranoicului. Cînd mai mulți medici au fost invitați să-l consulte, în jumătate din cazuri PARRY a fost recunoscut ca un pacient autentic.

Alt program interesant este SHRDLU, considerat de bună seamă una din culmile epocii. El era în stare să priceapă comenzi date in engleză. Aceste comenzi erau folosite pentru a modifica o lume de cubulețe, asemănătoare celor pe care copii le folosesc la joacă. De asemenea, SHRDLU răspundea unor întrebări legate de configurația blocurilor (de tipul ``Ce culoare are blocul de sub piramida roșie?''). Mai mult, SHRDLU putea să construiască planuri ca să îndeplinească comenzi de tipul ``Pune piramida albastră peste blocul verde''. Imaginați-vă că peste blocul verde mai erau așezate alte două blocuri. În cazul acesta, programul le îndepărta, ca să facă loc piramidei albastre!

Din păcate, lumea blocurilor era prea simplă, și ca atare SHRDLU n-a adus prea mare folos imediat în rezolvarea vreunei probleme concrete.

Un program mai ambițios s-a numit MYCIN. El își propunea să diagnosticheze bolile infecțioase de sînge și, de asemenea, să recomande tratamente. Cum cei mai mulți oameni nu pot face acest lucru, neavînd cunoștințele necesare, un astfel de sistem s-ar fi putut dovedi mult mai util decît celelalte programe de pînă atunci. MYCIN se folosea cunoștințe prealabile care înglobau cunoștințele de diagnoză pe care un medic le-ar fi putut poseda. Aceste cunoștințe erau exprimate sub forma unor reguli de tipul: ``Dacă temperatura corpului este 38, atunci boala este meningită'' (exemplul este simplificat, și fără pretenții de exactitate științifică).

Într-un test care compară analiza făcută de MYCIN unui număr de cazuri cu cea a unor medici de diferite nivele de calificare și experiență, judecătorii au considerat ca preferabilă sau echivalentă soluția dată de MYCIN fața de cea a adevăraților medici.

Deși MYCIN n-a fost niciodată folosit efectiv, el arată că probleme care pînă atunci fuseseră lăsate exclusiv în seama experților umani pot fi rezolvate de mașină. De altfel, MYCIN a deschis calea unei lungi serii de sisteme expert, adică sisteme care se comportă ca niște experți umani în domenii foarte limitate. Ele sunt capabile să treacă, de cele mai multe ori, așa-numitele teste Turing restrînse, cu întrebări exclusiv din aria pe care se presupune că ar trebui să o stăpînească.

A treia perioadă - sisteme expert evoluate

Această perioadă se întinde cam din 1975 pînă în zilele noastre. Se poate spune că inteligența artificială a devenit mai lucidă, mai critică cu privire la ea însăși, și într-o anumită măsură, mai pragmatică. Entuziasmele cu iz psihologic legate de înțelegere s-au mai temperat, și, în același timp, au apărut primele sisteme expert eficiente și cu folosire rentabilă în industrie. Interesul cade mai mult pe o reprezentare compactă și uniformă a cunoștințelor; lumea începe să se îndoiască de oportunitatea unor metode generale de rezolvare a problemelor.

Prin anii 80 a fost creat unul din primele sisteme expert folosite în industrie - R1 (acum numit XCON), construit la Universitatea Carnegie Mellon, S.U.A cu colaborarea DEC (Digital Equipment Corporation). R1 se ocupă de configurarea unor sisteme de calcul (orice calculator VAX fabricat de DEC e configurat cu R1). El a fost pus în producție, și de atunci interesul lumii pentru inteligența artificială a crescut considerabil. Ca urmare, informaticienii din această sfera s-au împărțit în ``implementatori'' de tehnici de inteligența artificială și în cercetători.

Tot acum s-au făcut unele progrese în domeniul învățării automate. De pildă, programul AM (Automated Mathematician - Matematicianul Automatizat), proiectat să descopere legi matematice, reușește să inducă concepte precum cardinalitatea și aritmetica întregilor, avînd drept cunoștințe inițiale conceptele și axiomele teoriei mulțimilor. AM este selectiv în sensul că reține numai cunoștințe ``interesante''; de asemenea, el își modifică gradual cunoștințele.

Concluzii

Inteligența artificială își propune la modul ideal să afle cum pot fi mașinile să devină la fel de inteligente ca oamenii. O măsură a inteligenței mașinii este testul Turing. In imediatul viitor nu se conturează posibilitatea ca vreun calculator să treacă acest test.

Istoria inteligenței artificiale vorbește despre realizările ei efective. Multă vreme, această disciplină s-a păstrat în zona experimentelor. De curînd, cercetările ei au început să fie privite cu interes de către industrie, grație mai ales sistemelor expert.