mesterséges intelligencia jegyzet

91
7/28/2019 Mesterséges intelligencia jegyzet http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 1/91 Mesterséges Intelligencia I. el ˝ oadásjegyzet (vázlat) Jelasity Márk 2012. február 1.

Upload: yukari-iie-kawaii

Post on 03-Apr-2018

240 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 1/91

Mesterséges Intelligencia I. el ˝ oadásjegyzet (vázlat)

Jelasity Márk

2012. február 1.

Page 2: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 2/91

Az el ˝ oadásjegyzet a következ ˝ o könyv válogatott fejezeteire épül:

Stuart Russell, and Peter Norvig. Artificial Intelligence: A Modern Approach. (secondedition), Prentice Hall, 2003.

A könyv második kiadása magyar nyelven is elérhet ˝ o:

Stuart Russell, Peter Norvig. Mesterséges intelligencia modern megközelítésben. (2. ki-adás), Panem Kiadó Kft., 2005.

Néhány ábra forrása a Wikipedia (http://www.wikipedia.org/).

A hibákért a felel ˝ osség a szerz ˝ ot terheli. A következ ˝ ok segítettek ezek számát csökkenteni: Szörényi

Balázs, Berke Viktor, Halász Zsolt Attila, Csernai Kornél, Tóth Tamás, Godó Zita.

Page 3: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 3/91

1. fejezet

Bevezetés

Mi az MI tárgya?

emberi gondolkodás emberi cselekvésracionális gondolkodás racionális cselekvés

cselekvés 1. ágens, amely érzékeli a környezetét , és ennek függvényében cselekszik . Közben eset-leg tanul, alkalmazkodik .

2. intelligencia megítélése: sikeresség valamely szempont szerint. A „hogyan” lényegtelen.

gondolkodás 1. tudás (tapasztalat) és környezet alapján új tudás vagy cselekvés el ˝ oállítása.2. a „hogyan”-ról szól.

emberi 1. az etalon az ember. sikeresség: emberhez közeli, hasonló teljesítmény.

2. er ˝ os MI: emberien intelligens gépek (s ˝ ot: öntudat, lélek, stb.)

racionális 1. a sikeresség definíciója tetsz ˝ oleges. Így viszont bármit tekinthetünk intelligensnek,pl. a termosztátot is.

2. gyenge MI: valamilyen szempontból intelligens gépek (de öntudat pl. nem lehetséges)

Példák kutatási célokraTuring teszt (emberi cselekvés)

Egy ember rájön-e, hogy a másik szobában gép van? A gépnek képesnek kell lennie pl. természetesnyelvfeldolgozásra, tudás reprezentációjára, következtetésre, tanulásra, stb. S ˝ ot, modellezni kell azember hibáit is, nem lehet túl okos sem.

Ha a gép átmegy a teszten, azt mondjuk, intelligens. De: van-e öntudata? legközelebb is átmenne? atesztel ˝ o ember szakértelme mennyit számít? stb.

2

Page 4: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 4/91

Érdekes probléma, de az MI nem erre fókuszál els ˝ osorban.

Kognitív tudomány (emberi gondolkodás)

A Turing teszt „fekete doboznak” veszi a gépet. A kognitív tudományszámára a doboz belseje is fontos. Célja az emberi gondolkodás mo-dellezése, végs ˝ o soron az elme és az öntudat megértése.

Interdiszciplináris terület: nyelvtudomány, agykutatás, tudományfi-lozófia, pszichológia, etológia.

Logikai következtetés (kb.: racionális gondolkodás stan-dard megközelítése)

Nem az emberi viselkedés modellezése a cél (az emberek nem logikusak!), hanem a gondolkodás„ideális” modellje.

Komoly tradíció (GOFAI: good old fashioned artificial intelligence).

Kérdés, hogy tényleg ideális-e? Problémák a bizonytalanság kezelésével és a számítási komplexitás-sal.

Racionális ágensek (racionális cselekvés)

Teljesen általános problémadefiníció, minden részterület beleilleszthet ˝ o.

racionalitás ≈ optimalitás, korlátozott racionalitás ≈ heurisztikus döntések.

 Az el˝ oadás során a mesterséges intelligencia problémáját a racionális ágensek vizsgálataként értel-mezzük.

Multidiszciplináris gyökerek

Matematika

Logika és számítástudomány: a világról szóló állítások precíz formalizmusa, következtetési szabá-

lyok. Releváns részterületek: nemteljességi tételek (algoritmusok lehetetlensége), bonyolultságelmé-let (algoritmusok plauzibilitása, NP-teljesség fogalma, stb.).

Valószín˝ uség: a bizonytalanság és a véletlen események matematikája, és hatékony algoritmusokforrása.

Közgazdaságtan

modell: ágensek, amik hasznosságot (utility) optimalizálnak

Játékelmélet: kölcsönható ágensek, racionalitás, korlátozott racionalitás (Herbert Simon)

Döntéselmélet (bizonytalanság kezelése)

3

Page 5: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 5/91

Multi-ágens rendszerek, emergens viselkedés

Idegtudomány

Neuron, neurális hálózatok modelljei, agy m˝ uködése

Funkciók, pl. nyelv, lokalizációjának vizsgálata

Tanulás, adaptáció, önszervez ˝ odés (leképezések), masszív párhuzamosság, folytonos számítások (aGOFAI gyökeres ellentéte)

Pszichológia

Emberi tanulás, viselkedés modellezése

Behaviorizmus: nem tételezünk fel közvetlenül nem megfigyelhet ˝ o entitásokat, pl. gondolatok, vá-gyak, stb.: az agy fekete doboz, (esetleg bonyolult) feltételes reflexek tárháza.

Kognitív pszichológia: megenged modelleket, amelyekben fogalmak mint hit, cél, vágy, memória,stb. szerepelnek, ezeknek a következményeit ellen ˝ orizhetjük kísérletileg (pl. fizikában is így van: azáram, h ˝ omérséklet, molekula, stb. csak elméleti fogalmak, nem direkt megfigyelhet ˝ ok).

Irányításelmélet, dinamikus rendszerek, kibernetika

Pl. zárt szabályozási hurok: a rendszer kimenetét (y(t)) az F  szenzor méri, és a referenciaértékt ˝ olvaló eltérés (e(t)) alapján a P  irányított rendszer inputját (u(t)) kiszámítjuk úgy, hogy a várható e-tminimalizáljuk.

Folytonos változók, nem szimbolikus, alkalmazásai robotika, repülés, stb.

Komplexebb változatok, pl. intelligens, sztochasztikus, adaptív irányításStabilitás, káosz.

Egyéb

Filozófia, nyelvészet, számítógép architektúrák, stb.

4

Page 6: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 6/91

Az MI története

Dartmouth workshop (1956)Newell és Simon szimbólum manipuláló algoritmusa.

Az MI mint elnevezés itt születik, és a kutatói közösség is itt szilárdul meg.

Sikerek id ˝ oszaka (1952-1969)

Szimbolikus: tételbizonyítás tökéletesedése, GPS (general problem solver), microworlds

Nem-szimbolikus: perceptron (egyszer˝ u neuron modell) elméleti vizsgálata

Problémák jelentkezése (1966-1973)

Komplexitási problémák jelentkeznek komolyabb példákon (kombinatorikus robbanás), mert a leg-több korai módszer brute-force: nagyon kevés háttértudást alkalmaznak, a hangsúly a keresésen van.

Pl. legendás bakik nyelvi alkalmazásokban: The spirit is willing but the flesh is weak → The vodkais good but the flesh is rotten (angol → orosz → angol) vagy World shaken: Pope shot! (eredetilegolaszul) → Earth quake in Italy: One dead (olasz → angol).

Tudás alapú (szakért ˝ oi) rendszerek (1969-)

Területspecifikus tudás a hatékonyság növelésére, szakért ˝ okt ˝ ol interjúk során szerezve. (pl. MYCINorvosi diagnózis)

El ˝ oregyártott válaszok az extenzív keresés helyett

Komoly ipari alkalmazások is, pl. R1 (DEC) számítógépek konfigurálására: $40 milliót spórolt avállalatnak.

80-as évek eleje a szakért ˝ oi rendszerek virágzása, kitör ˝ o optimizmus.

MI telek (AI winters)

Hullámvasút: nagy várakozások és ígéretek után csalódás

• gépi fordítás: 60’

• konnekcionizmus (perceptron korlátai): 70’

• Lighthill report (UK, 1973)

• szakért ˝ oi rendszerek: 90’

MI - sokan asszociálják a be nem váltott ígéretekkel: sokan kerülik az elnevezést.

De közben folyamatos a fejl ˝ odés.

5

Page 7: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 7/91

MI sikerek

Néhány nagyon specifikus területen embernél jobb, de az er ˝ os MI messze van.Sikerek: sakk (világbajnok szint), orvosi diagnózis, NASA ˝ urhajó irányítás, ma már autóvezetés isközel, robotika viharosan fejl ˝ odik, újabban Web 2.0 (ajánlórendszerek, szemantikus keresés, stb.),hang- és arcfelismerés, karakterfelismerés, stb.

6

Page 8: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 8/91

2. fejezet

Ágensek

Racionalitás: minden érzékeléssorozatra olyancselekvést választani, ami a várható teljesít-ményt maximalizálja (a beépített háttértudást isfeltételezve). Tehát egy függvényt keresünk(ágensfüggvény), ill. egy azt megvalósító prog-ramot (ágensprogram) ami valamely megadottmódon optimális (teljesítménymértékek!).

Ez nagyon általános definíció, pl. táblázattal isimplementálhatjuk (de ez ok, mert azt mondtuk,a viselkedés érdekel minket).

Ez a keret alkalmas arra, hogy eldöntsük, mi MIés mi nem (bár elég sok minden lesz MI!).

A racionális cselekvés nem ugyanaz mint az adott állapot teljes ismeretén alapuló optimális cselekvés,hiszen az ágens általában nem tud mindent a környezetr ˝ ol.

Feladatkörnyezet

A feladatkörnyezet négy komponense a teljesítmény mértéke (amit a környezet állapotsorozatán ér-telmezünk), a környezet (environment), a beavatkozók (actuators) és az érzékel ˝ ok (sensors).

Néhány szempont a feladatkörnyezet jellemzéséhez

Teljesen vagy részlegesen megfigyelhet˝ o? (adott absztrakciós szinten)

 Determinisztikus vagy sztochasztikus? Determinisztikus akkor, ha az aktuális (objektív/szubjektív?)állapot és bármely cselekvés együtt egyértelm˝ uen meghatározza a következ ˝ o állapotot. Egyébkéntsztochasztikus (pl. részlegesen megfigyelhet ˝ o környezet tipikusan (szubjektíve) sztochasztikus, delehet hibásan végrehajtott cselekvés, stb.).

Epizodikus vagy sorozatszer˝ u? Egymástól független epizódok (érzékelés-akció), vagy folyamatosfeladat (pl. autóvezetés)

Statikus vagy dinamikus? Akkor dinamikus, ha a környezet változik, míg az ágens tevékenykedik.

Tágabb értelemben bármely komponens (állapot, teljesítmény, cselekvés hatása, stb.) függhet az id ˝ o-

7

Page 9: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 9/91

t ˝ ol.

Lehet még diszkrét vagy folytonos, egy- vagy többágenses, stb.

Ágensprogramok típusai

 Reflex ágensek: A cselekvés csak a környezetr ˝ ol rendelkezésre álló információktól (memória, világ-modell, aktuális érzékelés) függ. Egyszer˝ u reflex ágens: nincs bels ˝ o állapot, a cselekvés csak azaktuális érzékelést ˝ ol függ. (Általában „unalmas”, de multiágens rendszerben mégis érdekes emergens

 jelenségek jöhetnek ki.)

Célorientált ágensek  és hasznosságorientált ágensek: a memóriát és a világmodellt felhasználjákarra hogy megjósolják a saját cselekvéseik következményeit, és olyan cselekvést választanak, amivalamely el ˝ ore adott célhoz vezet, vagy valamely hasznossági függvényt optimalizál.

Tanuló ágensek: lehet bármelyik fenti típus (reflex, stb.), lényeg hogy van visszacsatolás az értékel ˝ o-függvényr ˝ ol, aminek a hatására az ágens programja módósul.

8

Page 10: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 10/91

3. fejezet

Informálatlan keresés

Állapottér

Tekintsünk egy diszkrét , statikus, determinisztikus és teljesen megfigyelhet˝ o feladatkörnyezetet. Rész-letesebben: tegyük fel, hogy a világ tökélesen modellezhet ˝ o a következ ˝ okkel:

• lehetséges állapotok halmaza

• egy kezd ˝ oállapot

• lehetséges cselekvések halmaza, és egy állapotátmenet függvény, amely minden állapothoz hoz-zárendel egy (cselekvés,állapot) típusú, rendezett párokból álló halmazt

• állapotátmenet költségfüggvénye, amely minden lehetséges állapot-cselekvés-állapot hármas-hoz egy c(x,a,y) valós költségértéket rendel

• célállapotok halmaza (lehetséges állapotok részhalmaza)

A fenti modell egy súlyozott gráfot definiál, ahol a csúcsok az állapotok, az élek cselekvések, a súlyokpedig a költségek. Ez a gráf az állapottér .

A továbbiakban feltesszük hogy az állapotok számossága véges vagy megszámlálható. Egy állapotnaklegfeljebb véges számú szomszédja lehet.

Úton állapotok cselekvésekkel összekötött sorozatát értjük (pl. x1, a1, x2, a2, . . . , xn, melynek költ-

sége

n−

1i=1 c(xi, ai, xi+1)).Ebben a feladatkörnyezetben ha az ágens ismeri a világ modelljét, akkor nem is kell neki szenzor!

Példák

Térkép: állapotok=városok; cselekvés=úttal összekötött két város közti áthaladás; költség=távolság;a kezd ˝ o és célállapot feladatfügg ˝ o. A probléma itt útvonaltervezés, a térkép pedig a világ modellje.

Utazástervezési feladat: útvonaltervezéshez hasonló. pl. állapotok=hely és id ˝ opont párok; cselek-vés=közlekedési eszközök, amelyek onnan és azután indulnak mint az aktuális állapot; költség=id ˝ o

és pénz függvénye; a kezd ˝ o és célállapot feladatfügg ˝ o. Ez már egy fokkal bonyolultabb.

9

Page 11: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 11/91

Porszívó világ: illusztrációnak (nem realisztikus): a világ két pozíció, mindkett ˝ o lehet tiszta vagyporos, ill. pontosan az egyikben van a porszívó. Ez 8 állapot. cselekvés=szív, jobbra, balra; költ-

ség=konstans minden cselekvésre; a célállapot a tisztaság.

8-kirakó (csúsztatós játék): állapotok=célállapotból (ábra) csúsztatások-kal elérhet ˝ o konfigurációk; cselekvés=üres hely mozgatása fel, le, jobbra,balra; költség=konstans minden cselekvésre; a célállapotot az ábra mu-tatja.

Keres ˝ o algoritmusok: fakeresés

Adott kezd ˝ oállapotból találjunk egy minimális költség˝ u utat egy célállapotba. Nem egészen a klasszi-kus legrövidebb út keresési probléma: az állapottér nem mindig adott explicit módon, és végtelen islehet.

Ötlet: keres˝ ofa, azaz a kezd ˝ oállapotból növesszünk egy fát a szomszédos állapotok hozzávételével,amíg célállapotot nem találunk. Ha ügyesek vagyunk, optimális is lesz.

Vigyázat: a keres ˝ ofa nem azonos a feladat állapotterével! Pl. az állapottér nem is biztosan fa, amelyesetben a keres ˝ ofa n ˝ ohet végtelenre is, akkor is, ha az állapottér véges.

A keres ˝ ofa csúcsaiban a következ ˝ o mez ˝ oket tároljuk: szül ˝ o, állapot, cselekvés (ami a szül ˝ ob ˝ ol idevezetett), útköltség (eddigi költség a kezd ˝ oállapotból), mélység (a kezd ˝ oállapoté nulla).

fakeresés

1 perem <- {új-csúcs(kezdoállapot)}

2 if perem.üres() return failure

3 csúcs <- perem.elsokivesz()

4 if csúcs.célállapot() return csúcs

5 else perem.beszúr(csúcs.kiterjeszt())

6 goto 2

A csúcs.kiterjeszt() metódus létrehozza a csúcsból elérhet ˝ o összes állapothoz tartozó kere-s ˝ ofa csúcsot, a mez ˝ oket megfelel ˝ oen inicializálva.

A perem egy prioritási sor, ez definiálja a bejárási stratégiát! Közelebbr ˝ ol a perem.elsokiveszáltal feltételezett rendezést a csúcsok felett definiálhatjuk sokféleképpen, és ez adja meg a stratégiát(ld. kés ˝ obb).

Algoritmusok vizsgálata: teljesség, optimalitás, komplexitás

Egy adott konkrét keresési stratégia (perem prioritási sor implementáció) elemzésekor a következ ˝ otulajdonságokat fogjuk vizsgálni:

Egy algoritmus teljes akkor és csak akkor, ha minden esetben, amikor létezik véges számú állapot

érintésével elérhet ˝ o célállapot, az algoritmus meg is talál egyet.

10

Page 12: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 12/91

Egy algoritmus optimális akkor és csak akkor, ha teljes, és minden megtalált célállapot optimálisköltség˝ u.

Az id ˝ o- és memóriaigényt nem az állapottér méretének függvényében vizsgáljuk, hanem a speciálisalkalmazásunkra (MI) szabva a következ ˝ o paraméterek függvényében: b: szomszédok maximálisszáma, m: keres ˝ ofa maximális mélysége, d: a legkisebb mélység˝ u célállapot mélysége a keres ˝ ofában.m és d lehet megszámlálhatóan végtelen!

Szélességi keresés

FIFO (first in first out) perem. Bizonyítsuk be, hogy

•Teljes, minden véges számú állapot érintésével elérhet ˝ o állapotot véges id ˝ oben elér.

• Általában nem optimális, de akkor pl. igen, ha a költség a mélység nem csökken ˝ o függvénye.

• id ˝ oigény = tárigény = O(bd+1)

A komplexitás exponenciális, tehát nem várható, hogy skálázódik: nagyon kis mélységek jönnekszóba, d = 10 körül. A memória egyébként el ˝ obb fogy el.

Mélységi keresés

LIFO (last in first out) perem. Bizonyítsuk be, hogy

• Teljes, ha a keresési fa véges mélység˝ u (azaz véges, hiszen b véges). Egyébként nem.

• Nem optimális.

• id ˝ oigény: a legrosszabb eset O(bm) (nagyon rossz, s ˝ ot, lehet végtelen), tárigény: legrosszabbesetben O(bm) (ez viszont biztató, mert legalább nem exponenciális).

Iteratívan mélyül ˝ o keresés

Mélységi keresések sorozata 1, 2, 3, stb., mélységre korlátozva, amíg célállapotot találunk. Bizonyít-suk be, hogy

• Teljesség és optimalitás a szélességi kereséssel egyezik meg.

• id ˝ oigény = O(bd) (jobb, mint a szélességi, bár kis b esetén ténylegesen nem feltétlenül jobb),tárigény = O(bd) (jobb, mint a mélységi!).

Els ˝ ore meglep ˝ o, de igaz, hogy annak ellenére, hogy az els ˝ o szinteket újra és újra bejárjuk, mégis javítunk.

Ez a legjobb informálatlan (vak) keres ˝ o.

11

Page 13: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 13/91

Page 14: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 14/91

4. fejezet

Informált keresés, A∗ algoritmus

Eddig csak azt tudtuk, honnan jöttünk (költség), de arról semmit , hogy hová megyünk (ezért vakkeresés a neve), más szóval minden szomszéd egyformán jött szóba.

 Heurisztika: minden állapotból megbecsüli, hogy mekkora az optimális út költsége az adott állapotbólegy célállapotba: tehát értelmesebben tudunk következ ˝ o szomszédot választani. Pl. légvonalbelitávolság a célig a térképen egy útvonal-tervezési problémához jó heurisztika.

Jelölések: h(n): optimális költség közelítése n állapotból a legközelebbi célállapotba, g(n): optimálisköltség a kezd ˝ oállapotból n-be.

Mohó legjobb-el ˝ oször

A peremben a rendezést h() alapján végezzük: a legkisebb érték˝ u csúcsot vesszük ki. Hasonló amélységi kereséshez.

Ha csak annyit teszünk fel hogy h(n) = 0 ha n célállapot, bizonyítsuk be, hogy fakeresés esetén

• Teljes, de csak akkor, ha a keresési fa véges mélység˝ u.

• Nem optimális.

• id ˝ oigény = tárigény = O(bm)

Gráfkeresésnél az optimalitás hiánya miatt az els ˝ o megtalált út nem mindig a legjobb, tehát át kelllinkelni a zárt halmaz elemeit.

A legrosszabb eset nagyon rossz, de jó h()-val javítható.

A∗

A peremben a rendezést f () = h() + g() alapján végezzük: a legkisebb érték˝ u csúcsot vesszük ki.f () a teljes út költségét becsüli a kezd ˝ oállapotból a célba az adott állapoton keresztül.

Ha h() ≡ 0 (tehát f () ≡ g()), és gráfkeresést alkalmazunk, akkor a Dijkstra algoritmust kapjuk.

13

Page 15: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 15/91

Teljesség és optimalitás

Egy h() heurisztika elfogadható (vagy megengedhet˝ o), ha nem ad nagyobb értéket mint a ténylegesoptimális érték (azaz nem becsüli túl a költséget).

Fakeresést feltételezve ha h() elfogadható, és a keresési fa véges, akkor az A∗ optimális (a végességa teljességhez kell).

Egy h() heurisztika konzisztens (vagy monoton), ha h(n) ≤ c(n,a,n′) + h(n′) minden n-re és nminden n′ szomszédjára.

Gráfkeresést feltételezve ha h() konzisztens és az állapottér véges, akkor az A∗ optimális (a végességa teljességhez kell).

Hatékonyság

Az A∗ optimálisan hatékony, hiszen csak azokat a csúcsokat terjeszti ki, amelyekre f () < C ∗ (C ∗ azoptimális költség), ezeket viszont minden optimális algoritmusnak ki kell terjeszteni.

A tárigény általában exponenciális, de nagyon függ a h() min ˝ oségét ˝ ol, pl. ha h() = h∗() (h∗() atényleges hátralev ˝ o költség), akkor konstans... Az id ˝ oigény szintén er ˝ osen függ a h()-tól.

Egyszer˝ usített memóriakorlátozott A∗

A memória véges. Próbáljuk az egész memóriát használni, és kezeljük, ha elfogy.

Ötlet: futtassuk az A∗

-ot, amíg van memória. Ha elfogyott, akkor• töröljük a legrosszabb levelet a keres ˝ ofában (ha minden csúcs költsége u.az, akkor a legrégebbit)

• a törölt csúcs szül ˝ ojében jegyezzük meg az innen elérhet ˝ o ismert legjobb költséget (így vissza-térhetünk ide, és még egyszer kiterjeszthetjük, ha minden többi útról kés ˝ obb kiderül, hogyrosszabb).

Maga az algoritmus viszonylag komplex, de az ötlet alapján rekonstruálható.

Probléma, hogy sok hasonló költség˝ u alternatív út esetén ugrálhat az utak között, azaz folyton eldobjaés újraépíti ˝ oket, ha egyszerre nem férnek a memóriába.

Ha az optimális célállapotba vezet ˝ o út tárolása maga is több memóriát igényel mint amennyi van,

akkor nincs mit tenni.

Heurisztikus függvények el ˝ oállítása

Nagyon fontos a jó min ˝ oség˝ u heurisztika, lehet ˝ oleg elfogadható, s ˝ ot konzisztens. Hogyan kaphatunkilyeneket?

Relaxált probléma optimális megoldása = h()

Relaxáció: feltételek elhagyása. pl. 8-kirakóhoz heurisztikák

14

Page 16: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 16/91

• h1: rossz helyen lév ˝ o számok (ábrán: h1() = 8)

• h2: Manhattan távolság számonként (ábrán: h2() = 18)

• ábrán hopt() = 26

h1-nél relaxáció: minden szám egyb ˝ ol a helyére tolható.

h2-nél relaxáció: minden szám a szomszédba tolható, akkor is, ha nem üres a hely.

Vegyük észre, hogy ∀n : h1(n) ≤ h2(n), azaz h2 dominálja h1-et.

Belátható, hogy relaxált probléma optimális költsége ≤ az eredeti probléma optimális költsége, mivelaz eredeti probléma állapottere része a relaxáltnak. Tehát elfogadható heurisztikát kapunk.

Belátható, hogy mivel a heurisztika a probléma egy relaxációjának tényleges költsége, ezért konzisz-tens is.

Relaxálás automatizálása

Ha formális kifejezés adja meg a lehetséges lépéseket a probléma állapotaiból, akkor automatikusanelhagyhatunk feltételeket, pl. 8-kirakó esetében formálisan

(a) egy számot csak szomszédos pozícióba lehet mozgatni, és (b) egy számot csak üres pozícióba lehetmozgatni.

Ha elhagyom (a)-t és (b)-t, megkapom h1-et. Ha elhagyom (b)-t, megkapom h2-t.

Több heurisztika kombinálása

Vehetjük a h(n) = max(h1(n), . . . , hk(n)) heurisztikát, ahol igaz az, hogy ha ∀i : hi konzisztens,akkor h is konzisztens.

Mintaadatbázisok

Definiáljunk részproblémát, és számoljuk ki az eg-

zakt költséget: ez a heurisztika. Pl. 8-kirakóbanaz 1,2,3,4 számok kirakása (mivel ez relaxáció is,konzisztens heurisztika lesz).Több ilyen részproblémát is kiszámolhatunk, ésvehetjük a maximális költség˝ ut. A több részprob-léma megoldásait adatbázisban tárolhatjuk.

Független részproblémák

Szerencsés esetben a részproblémák egymástól független költségkomponensekkel rendelkeznek. Eze-ket aztán össze lehet adni (maximum helyett).

15

Page 17: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 17/91

Pl. 8-kirakóban az 1,2,3,4 részprobléma esetében azt tehetjük, hogy a részprobléma költségébe csakazokat a mozgatásokat számolom bele, amelyek az 1,2,3 vagy a 4 számokat mozgatta. Ha u.ezt teszem

az 5,6,7,8 számokkal, a két költség összege konzisztens heurisztikát eredményez (gondoljuk meg!).

16

Page 18: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 18/91

5. fejezet

Lokális keresés, optimalizálás

A globális optimalizálás problémája

Az állapottérben való kereséskor egy optimális célállapotot és a hozzá vezet ˝ o utat kerestük, és a költ-ség az út függvénye volt.

Másfajta keresés: a költség legyen az állapot függvénye (az út ekkor lényegtelen). Ekkor globálisoptimalizálási problémáról beszélünk. A modell a következ ˝ o:

• lehetséges állapotok halmaza (state space)

• (kezd ˝ oállapot(ok) lehet(nek), de ez nem része a probléma definíciójának mert az állapotok ér-

tékelése nem függ a kezd ˝ oállapottól)• lehetséges operátorok (hasonló a cselekvésekhez) halmaza és egy állapotátmenet függvény,

amely minden állapothoz hozzárendel egy (operátor,állapot) típusú rendezett párokból álló hal-mazt

• célfüggvény (objective function): állapotok f  értékel ˝ o függvénye, amely minden lehetségesállapothoz valós értéket rendel

• célállapotok halmaza (lehetséges állapotok részhalmaza), ami nem más, mint a globális maxi-mumhelyek halmaza: {x|f (x) = maxy egy állapot f (y)}

Az állapotok és operátorok által definiált gráfot itt optimalizálási tájnak hívjuk (landscape), amelybenhegycsúcsok, völgyek, hegygerincek, stb., vannak. Vigyázat: egy sokdimenziós táj nem intuitív!

Célállapotként néha a minimumhelyeket defi-niáljuk, szokás kérdése.Az x állapot lokális maximumhelyakkor és csak akkor, ha f (x) =maxy x szomszédjaf (y).Egy globális maximumhely (azaz célállapot)

egyben lokális maximumhely is.

17

Page 19: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 19/91

Egy optimalizáló algoritmusnak gyakran van analógja a korábbi fa- ill. gráfkeresés területén.

Lokális keresés

Az optimalizálási probléma egy mohó megközelítése. Általában csak egy aktuális állapotot tárolunk.

Hegymászó keresés

hegymászó

1 aktuális <- véletlen állapot

2 szomszéd <- aktuális egy max értéku szomszédja

3 if f(szomszéd) <= f(aktuális) return aktuális

4 else aktuális <- szomszéd

5 goto 2

A legmeredekebb emelked ˝ on elindulva a legels ˝ o lokális maximumba beragad.

Példa: 8 királyn ˝ o probléma: sakktáblára tegyünk 8 királyn ˝ ot úgy, hogy ne üssék egymást.

Állapotok: {1, 2, 3, 4, 5, 6, 7, 8}8 ; mind a 8 sorra megmondja, melyik oszlopba tegyük a királyn ˝ ot.

Lehetséges operátorok: egy királyn ˝ o soron belüli elmozgatása: 8×7 = 56 operátor minden állapotból.

Célfüggvény: h heurisztika, párok száma, amelyek ütik egymást. Minden x célállapotra h(x) = 0.(tehát itt minimalizálási problémáról van szó).

A hegymászó véletlen állapotból indulva az esetek 86%-ában nem talál célállapotot, mert egy lokálisoptimum (ami gyakran platón van) megállítja. Ha megengedjük az oldallépést (elfogadjuk az azonosérték˝ u szomszédot) max. 100-szor, akkor 94% siker! (tehát itt sok a plató)

Hegymászó javításai

Sztochasztikus hegymászó: véletlen szomszéd azok közül, amelyek jobbak (nem feltétlenül a legjobb);lassabb, de ritkábban akad el.

Els˝ o választásos hegymászó: vegyük az els ˝ o szomszédot, ami jobb. Ez a sztochasztikus egy imple-mentációja, és akkor hatékonyabb, ha nagyon sok szomszéd van.

Véletlen újraindított hegymászó: ha nem sikeres, indítsuk újra véletlen kezd ˝ opontból. Ez nagyon jóalgoritmus! (pl. 3 millió királyn ˝ o megoldása egy perc alatt) De a keresési tér struktúrájától nagybanfügg.

Szimulált h˝ utés

A lokális optimumból ki tud ugrani: globális keres ˝ o. Kiugrás: elfogadunk rosszabb megoldásokat isnéha.

szimulált hutés

1 aktuális <- véletlen állapot; t <- 0

18

Page 20: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 20/91

2 t <- t+1; T <- hutési-terv[t]

3 if T == 0 return aktuális

4 szomszéd <- aktuális egy véletlen szomszédja5 d = f(szomszéd)-f(aktuális)

6 if d > 0 aktuális <- szomszéd

7 else aktuális <- szomszéd exp(d/T) valószínuséggel

8 goto 2

A h˝ utési terv fontos, de problémafügg ˝ o, nincs általános recept. Pl. T t+1 = αT t, α = 0.95.

Populáció alapú lokális keresés

Nyaláb keresés

Eddig csak egy aktuális állapotot használtunk. Ha több van egyszerre, az is segíthet kiugrani a lokálisoptimumokból. A nyaláb keresés a legegyszer˝ ubb példa.

nyaláb keresés

1 aktuális[] <- K véletlen állapot

2 generáljuk mind a K állapot összes szomszédját

3 aktuális[] <- K legjobb az összes szomszéd közül

4 if aktuális[i] célállapot valamely i-re return aktuális[i]

5 goto 2

A megállási feltétel lehet más is, pl. iterációk száma.

Nem ugyanaz, mint K db független hegymászó: jobban fókuszál, de gyorsabban be is ragad.

Vannak javításai, mint a hegymászónak, pl. sztochasztikus, stb.

Evolúciós algoritmusok

Nyaláb keresés: hegymászó általánosítása volt populációval (a K állapot) és szelekcióval

Evolúciós algoritmus: nyaláb általánosítása szexuális operátorokkal

(a tárgyalás itt a könyvt ˝ ol eltér!)

evolúciós algoritmus séma

1 aktuális[] <- K véletlen állapot

2 szülok választása

3 új állapotok generálása a szülokbol rekombinációval

4 új állapotok mutációja

5 K állapot kiválasztása a régiek és az újak uniójából

6 if megállási feltétel return

7 goto 2

Az evolúciós algoritmusok területén szokás evolúciós terminológiát használni. Kisszótár:

19

Page 21: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 21/91

állapot = megoldás = egyed (individual)mutáció = operátor = cselekvés

rekombináció = keresztezés (crossover) = kétváltozós operátor: A × A → Afitnessz = célfüggvény értékszül ˝ o = aktuális állapot(ok közül választott állapot) (2. sor)utód = új állapot (3., 4. sor)populáció = aktuális állapotok halmazageneráció = a populáció egy adott iterációbantúlél ˝ ok = megoldások az új populációban (5. sor)

Az új komponens tehát a rekombináció. Ezen kívül a szül ˝ ok és túlél ˝ ok kiválasztásának is sok módjavan.

Genetikus algoritmus (genetic algorithm, GA)

Amerikai iskola. Állapottér: véges bet˝ ukészlet˝ u (gyakran bináris (0,1-b ˝ ol álló)) stringek. Pl. 8 ki-rályn ˝ o ilyen.

Szül ˝ o szelekció: választunk pl. K/2 db párt pl. a fitnesszel arányosan vagy véletlenszer˝ uen.

Rekombináció: véletlen keresztezési pontnál vágás és csere.

Mutáció: pl. egy bet˝ u megváltoztatása. Pl. a 8 királyn ˝ o problémához a hegymászó ezt használta.

Túlél ˝ o szelekció: pl. a K legjobbat vesszük, vagy a fitnesszel arányos valószín˝ uséggel választunk,vagy K véletlen párt választunk, és mindegyikb ˝ ol a jobbik túlél (tournament), stb.

Itt sincs biztos recept, a sok tervezési döntés hatása feladatfügg ˝ o: hány lokális optimum van, dimen-

ziószám, optimumok eloszlása, stb.

Folytonos terek

Eddig diszkrét keresési tereket vizsgáltunk (kombinatorikus problémák). Ha az állapottér folytonos(azaz a célfüggvény Rd → R típusú), akkor végtelen szomszédos állapot van. A hegymászó itt ism˝ uködik:

hegymászó: legmeredekebb lejt ˝ o/emelked ˝ o módszere. Ha deriválható a célfüggvény, akkor meghatá-rozzuk a legmeredekebb irányt (ez éppen a derivált iránya), és egy ǫ hosszú lépést teszünk. ǫ lehetkonstans vagy adaptív, lehet véletlen szórása is. Ha ǫ túl kicsi, lassú, ha túl nagy, túll ˝ ohetünk a célon.

sztochasztikus hegymászó: véletlen irányt választunk, ha javít, elfogadjuk.

20

Page 22: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 22/91

Differenciál evolúció

Populáció alapú keresés folytonos problémákra, de általánosítható diszkrét esetre is.

A populáció: x1, . . . , xK  ∈ Rd.

Szül ˝ o választás: minden egyed szül ˝ o.

Rekombináció: a populáció minden xi-eleméhez (i = 1, . . . , K  ) válasszunk három véletlen egyedet:xr1 , xr2 , xr3 . Legyen v = xr1 + F  · (xr2 − xr3) + λ · (yg − xr1), ahol yg az eddig megtalált legjobbmegoldás. Megjegyzés: v nem függ xi-t ˝ ol! Ezután v-t keresztezzük xi-vel; legyen az eredmény azu vektor, ahol u j = xij CR valószín˝ uséggel, u j = v j egyébként (ahol xij xi j. eleme, v j pedig v

 j. eleme, j = 1, . . . , d). A paraméterek pl. F  ≈ 0.8, CR ≈ 0.9, λ ≈ 0.9. Persze a paraméterekoptimális beállítása itt is nagyban feladatfügg ˝ o.

Mutáció: nincs.

Túlél ˝ ok: u-val helyettesítjük xi-t, ha f (u) > f (xi) (feltéve hogy maximumot keresünk).

Lényeg: a fenti rekombinációs operátor olyan, hogy a populáció kiterjedését és alakját tiszteletbentartja, mivel mintavételezésen alapul, pl. hosszú keskeny völgyekben inkább hosszanti irányban exp-lorál, kicsi koncentrált populációban nem dobál messzire megoldásokat, stb.

21

Page 23: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 23/91

6. fejezet

Korlátozás kielégítési feladat

A feladat az állapottérrel adott keresési problémák és az optimalizálási problémák jellemz ˝ oit ötvözi.Az állapotok és célállapotok speciális alakúak.

 Lehetséges állapotok halmaza: D = D1 × · · · × Dn, ahol Di az i. változó lehetséges értékei, azaz afeladat állapotai az n db változó lehetséges értékkombinációi.

Célállapotok : a megengedett állapotok, amelyek definíciója a következ ˝ o: adottak C 1, . . . , C  m korlá-tozások , C i ⊆ D. A megengedett  vagy konzisztens állapotok halmaza a C 1 ∩ . . . ∩ C m (ezek mindenkorlátozást kielégítenek).

Ugyanakkor, akár az optimalizálási problémáknál, az út a megoldásig lényegtelen, és gyakran cél-függvény is értelmezve van az állapotok felett, amely esetben egy optimális célállapot megtalálása a

cél.Gyakran egy C i korlátozás egy változóra vagy változópárra fejez ki megszorítást.

Pl. gráfszínezési probléma: adott G(V, E ) gráf, n = |V |. A változók a gráf pontjai, n változó van. Azi pont lehetséges színeinek halmaza Di, és D1 = . . . = Dn. Minden e ∈ E  élhez rendelünk egy C ekorlátozást, amely azokat a színezéseket tartalmazza (engedi meg), amelyekben az e él két végpontjakülönböz ˝ o szín˝ u.

Kényszergráfok : a gráfszínezésnél a korlátozások változópárokon m˝ uködtek, így a változók felett grá-fot definiálnak: ez a kényszergráf. Belátható, hogy bármely kett ˝ onél több változót érint ˝ o korlátozáskifejezhet ˝ o változópárokon értelmezett korlátozásként, ha megengedjük segédváltozók bevezetését.Kényszergráf tehát minden feladathoz adható, és a keresés komplexitásának a vizsgálatakor ez hasz-

nos, mert a gráf tulajdonságainak a függvényében adható meg a komplexitás (nem tárgyaljuk részle-tesen).

Inkrementális keres ˝ o algoritmusok

Az els ˝ o lehetséges megközelítés, ha állapottérbeli keresési problémaként formalizáljuk a korlátozáskielégítési problémát. Ekkor az állapottér a következ ˝ o:

• Minden változóhoz felveszünk egy új „ismeretlen” értéket (jelölje „?”), és legyen a kezdetiállapot a (?, . . . , ?).

22

Page 24: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 24/91

• Az állapotátmenet függvény rendelje hozzá minden állapothoz azon állapotokat, amelyekbeneggyel kevesebb „?” van, és amelyek megengedettek.

• A költség minden állapotátmenetre legyen konstans.

Ekkor a korábban látott összes informálatlan algoritmus alkalmazható. A mélységi itt elég jó, mert akeres ˝ ofa mélysége (a változók száma) kicsi és nem fogyaszt memóriát (backtrack algoritmus).

Viszont informálatlan keresésnél sokkal jobb lehet az informált. Mit tehetünk? Próbáljuk a nehezenkielégíthet ˝ o változókkal kezdeni. A lehetséges operátorok prioritási sorrendjét határozzuk meg pl.így:

1. Válasszuk azt a változót, amelyikhez a legkevesebb megengedett érték maradt.

2. Ha ez nem egyértelm˝ u, akkor azt, amelyre a legtöbb korlátozás vonatkozik.3. A választott változó megengedett értékeib ˝ ol azt válasszuk, amelyik a legkevésbé korlátozza a

következ ˝ o lépések lehetséges számát.

Ez jelent ˝ os javulást eredményez. Számos más technika is van, amire nem térünk ki.

Optimalizáló algoritmusok, lokális keres ˝ ok

Egy másik lehetséges megközelítés optimalizálási problémát definiálni. Ekkor

• A célfüggvényt definiáljuk pl. úgy, hogy legyen a megsértett korlátozások száma. (minimali-zálni kell, minimuma a nulla). Ha eleve tartozott célfüggvény a feladathoz, akkor össze kellkombinálni vele (a korlátozások büntet ˝ o tagokat jelentenek).

• Az operátorokat definiálhatjuk sokféleképpen, pl. valamely változó értékének a megváltoztatá-saként.

Itt pedig az összes korábban látott lokális keres ˝ o, genetikus algoritmus, stb. alkalmazható. Pl. a8-királyn ˝ o példánk is ilyen volt.

Záró megjegyzésekA lokális keres ˝ ok sokszor nagyon gyorsak és sikeresek de nem mindig találnak megoldást (vagy opti-mális megoldást).

Az állapottér reprezentációban dolgozó inkrementális módszerek általában teljesek (vagy optimáli-sak), de nem skálázódnak nagy problémákra.

A keresési és optimalizálási probléma az egész MI keretét adja, ennek speciális alkalmazásai jönnekleginkább.

23

Page 25: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 25/91

7. fejezet

Játékok

A hagyományos MI egyik f  ˝ o érdekl ˝ odési területe. Els ˝ osorban sakk motiválta (1769, Mechanical Turk(Kempelen Farkas)); 1950-t ˝ ol majdnem minden kutató (Shannon, Weiner, Turing, stb.)).

Még mindig érdekes terület, pl. go játék megoldatlan (formálisan hasonló, valójában nagyon külön-bözik a sakktól), ill. variációk, pl. véletlen szerepe vagy több mint két játékos, stb., szintén kurrens.

Kétszemélyes, lépésváltásos, determinisztikus, zéró összeg˝ u játék

Játékelméletbe nem megyünk bele, csak ezt a speciális feladatot nézzük.

Hasonló az állapottérben való kereséshez, de vannak lényeges különbségek:

• lehetséges állapotok halmaza (legális játékállások)

• egy kezd ˝ oállapot

• lehetséges cselekvések halmaza és egy állapotátmenet függvény, amely minden állapothoz hoz-zárendel egy (cselekvés,állapot) típusú rendezett párokból álló halmazt

• célállapotok (vagy végállapotok) halmaza (lehetséges állapotok részhalmaza)

• hasznosságfüggvény, amely minden lehetséges célállapothoz hasznosságot rendel.

Hasonlít a korlátozás kielégítési feladatra, amennyiben itt is azon célállapotokat keressük, amelyekoptimális hasznosságúak, és az út nem része a megoldásnak.

De: itt két ágens van, felváltva lépnek  (azaz alkalmaznak operátort), és a hasznosságfüggvényt azegyik maximalizálni akarja (MAX játékos), a másik minimalizálni (MIN játékos). Konvenció szerintMAX kezd.

Az els ˝ o célállapot elérésekor a játéknak definíció szerint vége.

 Zéró összeg˝ u játék : amennyit MAX nyer, pont annyit veszít MIN. Modellünkben MIN minimali-zálja a hasznosságot, ami ugyanaz, mint maximalizálni a negatív hasznosságot, tehát MIN számára ahasznosság vehet ˝ o MAX hasznossága mínusz egyszeresének, tehát a fenti modell zéró összeg˝ u.

A fenti struktúra neve játékgráf (általában nem fa).

24

Page 26: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 26/91

Pl. 3x3-as am ˝ oba (tic-tac-toe)

Kezd ˝ oállapot az üres tábla, MAXjátékos az X

 jelet használja. Célállapotok, amikor háromazonos jel van egy sorban, oszlopban vagy át-lóban, vagy tele van a tábla. (csak egyféle jel-b ˝ ol jöhet ki ilyen egy állapotban, mert a másik

 jel már nem léphet!) A hasznossági függvényértéke 1, ha X jelekb ˝ ol jön ki a célállapot, -1,ha körb ˝ ol, 0, ha egyikb ˝ ol sem.Az illusztráció a játékgráf els ˝ o három szintjétmutatja (ami még fa).255168 lehetséges játék, 138 lehetséges ki-menetel (célállapot).

Minimax algoritmus

Tegyük fel, hogy mindkét játékos a teljes játékgráfot ismeri, tetsz ˝ olegesen komplex számításokat tudelvégezni, és nem hibázik (nagyon er ˝ os feltevések). Ezt szokás a tökéletes racionalitás hipotézisének nevezni.

Egy stratégia minden állapotra meghatározza, hogy melyik lépést kell választani. Belátható, hogymindkét játékos számára a lehet ˝ o legjobb stratégiát a minimax algoritmus alapján lehet megvalósítanitökéletes racionalitás esetén.

A minimax algoritmus a következ ˝ o értékeket számolja ki minden n csúcsra:

minimax(n) =

hasznosság(n) ha végállapotmaxa n szomszédja minimax(a) ha MAX jönmina n szomszédja minimax(a) ha MIN jön

maxÉrték(n)

1 if végállapot(n)

return hasznosság(n)

2 max <- -végtelen

3 for a in n szomszédai

4 max = max(max, minÉrték(a))

5 return max

minÉrték(n)

1 if végállapot(n)

return hasznosság(n)

2 min <- +végtelen

3 for a in n szomszédai

4 min = min(min, maxÉrték(a))

5 return min

Összes érték kiszámítása maxÉrték(kezd ˝ oállapot) hívásával.

Ha a jatékgráfban van kör, akkor nem terminál (fakeresés), de a gyakorlatban ez nem probléma: csakfix mélységig futtatjuk (l. kés ˝ obb) ill. a játékszabályok gyakran kizárják a végtelen köröket (ilyenkora játékgráfban nincs kör).

25

Page 27: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 27/91

Világos, hogy a minimax érték az optimális

hasznosság, amit az adott állapotból egy játé-kos elérhet, ha az ellenfél tökéletesen racio-nális.Az ábra illusztrálja a minimax értékeket egykonkrét példán.

Futtatás: a játékos tehát el ˝ oször kiszámítja a minimax értékeket a teljes játékfára, majd mindig aszámára legjobb minimax érték˝ u szomszédot lépi (ez határozza meg a stratégiát).

Ez csak elméleti jelent ˝ oség˝ u, a minimax algoritmus nem skálázódik. Sakkban pl. 10154 csúcs a játékfában, 1040 különböz ˝ o. A világegyetem atomjainak száma: kb. 1080. Hogyan lehet minimaxothatékonyan számolni? És/vagy közelít ˝ oleg? (Egyáltalán minimaxot kell mindig számolni?)

Alfa-béta vágás

Ötlet: ha tudjuk, hogy pl. MAX már ismer legalább egy olyan stratégiát, amellyel ki tud kényszerítenilegalább pl. 10 érték˝ u hasznosságot egy adott állapotból indulva, akkor az adott állapot alatt nem kellvizsgálni olyan állapotokat, amelyekben MIN ki tud kényszeríteni ≤ 10 hasznosságot, hiszen tudjuk,hogy MAX sosem fogja ide engedni a játékot (ismer legalább ilyen jó stratégiát).

Pl. a fenti példában C csúcsból a minimax érték 2. Amint erre rájövünk (hogy ti. ≤ 3), a C csúcsotnem kell tovább nézni.

Algoritmus: az n paraméter mellé az alfa és béta új paramétereket is átadjuk minÉrték-nek és maxÉrték-

nek. Alfa: biztos, hogy MAX ki tudja kényszeríteni, hogy a hasznosság legalább alfa lesz, valamely olyanállapotból indulva, ami n állapotból a gyökér felé vezet ˝ o úton van.

 Béta: biztos, hogy MIN ki tudja kényszeríteni, hogy a hasznosság legfeljebb béta lesz, valamely olyanállapotból indulva, ami n állapotból a gyökér felé vezet ˝ o úton van.

maxÉrték(n, alfa, béta)

1 if végállapot(n) return hasznosság(n)

2 max <- -végtelen

3 for a in n szomszédai

4 max = max(max, minÉrték(a, alfa, béta))

5 if max>=beta return max // vágás6 alfa = max(max, alfa)

7 return max

minÉrték(n, alfa, béta)

1 if végállapot(n) return hasznosság(n)

2 min <- +végtelen

3 for a in n szomszédai

4 min = min(min, maxÉrték(a, alfa, beta))

5 if alfa>=min return min // vágás

6 beta = min(min, beta)

7 return min

26

Page 28: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 28/91

Majdnem azonos a minimax-szal, csak propagáljuk alfát és bétát, és vágunk.

A teljes keres ˝ ofa kiszámítása a maxÉrték(kezd ˝ oállapot, -végtelen, +végtelen) hívással.

(Megj: a könyv ábrája nem az alfa-béta értékeket illusztrálja!)

Alfa-béta néhány tulajdonsága

A szomszédok bejárási sorrendje nagyon fontos. Ha mindig a legjobb lépést vesszük (optimális eset),akkor O(bm) helyett O(bm/2) lesz az id ˝ oigény: tehát kétszer olyan mély fát járunk be ugyanazon id ˝ oalatt. (elhisszük, bizonyítás nem kell).

Véletlen bejárással O(b3m/4) lesz a komplexitás (ezt is elhisszük, bizonyítás nem kell).

A gyakorlatban használhatunk rendezési heurisztikákat, amik sokszor közel kerülnek az optimálisesethez.

Gráf keresés: játékgráfban is sok lehet az ismétl ˝ od ˝ o állapot. Eddig a fakeresés analógiájára nem tá-roltuk a már látott állapotokat. Ha tároljuk (mint a zárt halmazban) akkor az alfa-béta algoritmus is

 jelent ˝ osen felgyorsul, ill. nem ragad végtelen ciklusba. Itt a hagyományos elnevezése a zárt halmaz-nak transzpozíciós tábla.

Praktikus, valós idej˝ u algoritmusok

Nem tudunk a végállapotokig leérni: heurisztikus kiértékel˝ o függvények kellenek, amik bármely álla-pot min ˝ oségét jellemzik, és az alfa-béta algoritmus korábban kell, hogy visszalépjen, pl. fix mélység-b ˝ ol, vagy még okosabban.

Heurisztikus értékelés

A heurisztika területspecifikus tudást ad (mint korábban az A∗ algoritmusnál) az egyébként területfüg-getlen keres ˝ o algoritmushoz. A heurisztikus kiértékelésre teljesülnie kell, hogy (1) a végállapotokra azeredeti értéket adja, (2) gyorsan kiszámolható, és (3) nem-végállapotokra a nyerési esélyt jól tükröz ˝ oérték (finomabb felbontás, mint a minimax értékek, ami gyakran 1/-1).

Hogyan tervezhetünk ilyet?

 Lineáris jellemz˝ okombinációk : kiértékelés(s) =

i wif i(s), ahol f i(s) valamilyen jellemz˝ oje (fea-ture) s állapotnak, wi súllyal. Pl. sakkban jellemz ˝ o a bábufajták száma, a súlyokat pedig néha kézi-könyvek is tárgyalják, pl. gyalog súlya 1, futóé 3, stb. Rengeteg jellemz ˝ ot lehet definiálni, bármilyenmintázat, kombinációk, stb., gyakran több ezer van.

 Nemlineáris kombinációk : az egyes jellemz ˝ ok hatása er ˝ osítheti vagy kiolthatja egymást (nem csakösszeadódhat).

Tanulás! Pl. w súlyvektor megtanulása. Kés ˝ obb majd látjuk: a tanulás is egyfajta keresés (ill. optima-lizálás). Rengeteg lehet ˝ oség, pl. evolúciós algoritmusok: pl. állapotok a w vektor lehetséges értékei,célfüggvény a nyerési esély nagysága (ezt lehet közelíteni pl. egymás elleni játszmákkal a populációnbelül). Mivel valós a célfüggvény, a differenciál evolúció nem rossz ötlet.

Evolúciós tanulásra példa a BLONDIE24 program: dámajátékos, amelyben alfa-béta keresés m˝ ukö-dik, heurisztikus kiértékel ˝ ovel, amelyben a súlyokat evolúciós technikákkal tanulták meg.

27

Page 29: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 29/91

(A meger ˝ osítéses tanulás (reinforcement learning) algoritmusával egy játékos akár önmaga ellen játszva is tanulhat.)

Keresés levágása

Hogyan használjuk ki a heurisztikus értékelést? Több lehet ˝ oség.

Fix mélység: az aktuális játékállásból pl. 5 mélységig építjük fel a keres ˝ ofát alfa-bétával, ami soránaz 5 mélység˝ u állapotokat értékeljük ki heurisztikusan. Az implementáció egyszer˝ u: u.az, csak amélységet is követni kell, és végállapotok mellett az 5 mélységre is tesztelünk a rekurzió el ˝ ott.

 Iteráltan mélyül˝ o keresés: alfa-béta iteráltan növekv ˝ o mélységig. Ez analóg a korábbi iteráltan mé-lyül ˝ o kereséssel (az alfa-béta pedig a mélységi kereséssel). Ennek a legnagyobb el ˝ onye, hogy rugal-mas: már nagyon gyorsan van tippünk következ ˝ o lépésre, és ha van id ˝ o, akkor egyre javul. Valós

id ˝ oben használható tehát. Horizont effektus: fix keresési mélységnél lehet, hogy egy fontos következmény (pl. ütés) nem leszfigyelembe véve, mert picit lejjebb van. Technikák okosabb vágásra: (1) Egyensúlyi keresés (qui-escence): ha egy állapot „mozgalmas” (heurisztika dönt, hogy ez mikor van, de pl. ha az úton aheurisztikus értékelés nagyon változik (pl. sok ütés)), akkor lejjebb megyünk addig, amíg „megnyug-szik” az adott lépésvariáció, azaz várható, hogy ha még lejjebb mennénk, akkor viszonylag sokáigstabil lenne. (2) Szinguláris kiterjesztés: az olyan állapotokból, ahol van „világosan legjobb” (ezt isheurisztika dönti el) lépés, ott nem állunk meg a maximális mélységben, viszont csak a legjobb lépéstterjesztjük ki. Így érdekesebb variációkat elég mélyen meg lehet nézni, mert az elágazási faktor 1ezekben.

Helyzetkép

Megoldott játék: ha tudjuk, hogy mi az optimális stratégia kimenetele (mit hoz az optimális játék a játékosoknak) a kezd ˝ oállásból indulva (vagy esetleg tetsz ˝ oleges állásból indulva is). Pontosabban:Ultra gyengén megoldott , ha a kezd ˝ oállás minimax értéke ismert (de ilyenkor nem feltétlenül létezik

 játszható algoritmus, gyakran csak nem-konstruktív módszerrel bizonyított). Gyengén megoldott , haultra-gyengén megoldott, és a kezd ˝ oállásból kiindulva létezik praktikus algoritmus, ami az optimá-lis stratégiát játssza valós („értelmes”) id ˝ oben. Er˝ osen megoldott , ha adunk egy algoritmust, ami aminimax értéket kiszámolja valós („értelmes”) id ˝ oben tetsz˝ oleges lehetséges játékálláshoz.

 Megoldott játékok : Awari, er ˝ osen megoldva, 2002, Free University of Amsterdam, optimális játék

döntetlen. Dáma, gyengén megoldva, 2007, J. Schaeffer et al; a keresési tér 5 × 1020, 18 év kelletthozzá; legnagyobb megoldott játék, optimális játék döntetlen. Ezen kívül számos kisebb játék.

Sakk : 1996 Deep Blue-Kaszparov els ˝ o játszma: Deep Blue gy ˝ oz. Azóta már PC-s nagymesteri szint˝ uprogramok vannak. A végjáték max. 6 bábúra megoldott. Jelenleg legjobb: Rybka (Vasik Rajlich,cseh-amerikai nemzetközi sakkmester). Erejét 3200 Él ˝ o-pontra becsülik! Sima PC-n fut. Emberrelmár csak gyalogel ˝ onyt adva van értelme játszania.

Go: Javuló, de nem kiemelked ˝ o szint˝ u programok. Sokkal nagyobb tér, brute force nem m˝ uködik(sakknál azért igen...). Fontos a mintafelismerés és a stratégiák. Mostanában Monte Carlo fakeresésés gépi tanulás.

28

Page 30: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 30/91

Véletlent tartalmazó játékok

Sok játékban van véletlen, pl. kockadobás. Olyan eseteket nézünk, ahol az állapot továbbra is teljesenismert, de a véletlent ˝ ol is függ.

Egészítsük ki a játékfát a véletlen eseménytleíró csúcsokkal (CHANCE) (mintha a vélet-len lenne a harmadik játékos). Az ábra azostábla játékot szemlélteti, ahol két kockávaldobunk, és az összeg számít (21 különböz ˝ okimenetel).A minimax algoritmust nem tudjuk direkt-ben alkalmazni, mert a CHANCE „játékos”-ra nem érvényes, hogy optimalizálna, csakvéletlenül választ függetlenül a következmé-nyekt ˝ ol. Módosítás: várható-minimax, ami aminimax várható értéket adja meg.

várható-minimax(n) =

hasznosság(n) ha végállapotmaxa n szomszédja minimax(a) ha MAX jönmina n szomszédja minimax(a) ha MIN jön

a n szomszédja P (a)minimax(a) ha CHANCE csúcs

 Alfa-béta is implementálható, a MIN és MAX csúcsokon változatlan formában, s ˝ ot, a CHANCE csú-csokat is lehet vágni, ha a várható értéket tudjuk korlátozni a lehetséges kimenetelek egy részhalma-zának a vizsgálata után. Ez pedig csak akkor lehetséges, ha a hasznosság() függvény korlátos.

Ha nem teljes az információ

Van, hogy a játék állapota nem ismert teljesen, pl. kártyajátékok. Ez mindig egy véletlen esemény (pl.osztás) eredménye. Nem célravezet ˝ o azonban egyszer˝ uen várható értéket venni, mert nem mindegy,hogy „most még nem tudom mi lesz, de kés ˝ obb majd meglátom” ill. „nem tudom mi lesz, és kés ˝ obbse fogom pontosan megtudni”. Pl. a kockázat máshogy jelentkezik (nagyobb az ismeretlen állapotok

esetében).Itt lehet pl. az állapotokra vonatkozó „hiedelmek” terében keresni, stb.

29

Page 31: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 31/91

8. fejezet

Logikai tudásreprezentáció

Eddigi példák tudásra: állapotok halmaza, lehetséges operátorok, ezek költségei, heurisztikák.

Mivel eddig feltettük (kivéve kártyajáték) hogy a világ (lehetséges állapotok, és állapotátmenetek)teljesen megfigyelhet ˝ o, a tudás reprezentációja és különösen a következtetés nem kapott szerepet. Atanulást már érintettük a játékok heurisztikáival kapcsolatban pl.

De: már eddig is használtunk nyelvi jelleg˝ u reprezentációt az állapotok és szabályok leírásánál (pl.sakk, stb.).

A való világ állapotai sokkal komplexebbek mint egy térkép vagy egy sakktábla, és csak részlegesenmegfigyelhet˝ ok : pl. az orvosi diagnózis esetében az aktuális állapotnak (pl. egy ember egészségi ál-lapotának) nagyos sok lényeges jellemz ˝ oje lehet, amelyek közül csak egy kis részük figyelhet ˝ o meg

közvetlenül, más részük pedig csak nagy költséggel vagy egyáltalán nem. (Nem is beszélve a világmég ismeretlen jellemz ˝ oir ˝ ol, pl. rádióaktivitás 200 éve?) Ilyen esetben szükség lehet kell ˝ oen kifejez ˝ oállapotreprezentációra, és az ismeretlen jellemz ˝ ok (betegség) kikövetkeztetésére szolgáló módsze-rekre.

A logikai reprezentáció a természetes nyelvek által inspirált reprezentáció. Néhány megjegyzés:

(1) A természetes nyelvvel nem keverend ˝ o össze. A természetes nyelv nem csak tudásreprezentá-ció, f  ˝ o célja a kommunikáció, s ˝ ot nyelvi aktusok, egy kultúrába ágyazva m˝ uködik. A természetesnyelvi mondatok jelentése nagyon komplex, pl. a kognitív tudomány egy f  ˝ o kérdése. A logikábanmatematikailag definiált.

(2) A logika a bizonytalanság kérdésével nem foglalkozik általában:

valamit vagy tudunk vagy nem. A fuzzy logika alkalmas folytonosigazságérték reprezentációjára, de ez nem a tudás, hanem a jelentésbizonytalansága.(3) A nyelv fogalmai vagy más fogalmak logikai kifejezéseib ˝ ol rakód-nak össze, vagy „alap” fogalmak amik közvetlen érzékelésre támasz-kodnak (pl. színek), vagy más fogalmak nem logikai jelleg˝ u kombiná-ciói. Egy matematikai logika az utolsó típusú fogalmakat nem képesmegragadni.

  m   é  r  e   t

szín

30

Page 32: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 32/91

Illusztrációs példa: wumpus világ

Számítógépes játék a 70-es évekb ˝ ol. A feladatkörnyezet egyszer˝ usített definíciója:Környezet : 4x4-es rács (szobák). A kezd ˝ oállapotban az ágens az (1,1)-en áll. Pontosan egy szobábanwumpus, pontosan egy szobában arany, minden szobában 20% valószín˝ uséggel verem (de a játék kez-dete után fix). Az (1,1)-ben se wumpus se verem. Ha verembe vagy wumpusba botlunk, vesztettünk:game over.

 Beavatkozások : jobbra, balra, el ˝ ore egy szoba; nyíl kil ˝ o (egy nyíl van, vagy fal vagy wumpus állítjameg); arany felvesz.

Érzékel˝ ok : szag (ha wumpus van a szobában vagy a szomszédban); szell ˝ o (verem van a szomszédban);arany; „bump” (ha falba ütközünk); sikoly (wumpus elpusztult).

Kiértékelés: -1 pont: minden akció, -10: nyíl, 1000: arany.

Figyeljük meg hogy a háttértudást belekevertük a fenti leírásba.

Tények : a szenzorok által érzékelt információ. Szabályok : a háttértudás (minden amit tudunk és nem

közvetlen megfigyelésb ˝ ol jön). Tények+szabályokkövetkeztetés−→ aktuális állapot legjobb leírása.

Az ábrán egy példa játék els ˝ o néhány lépése látható. A következ ˝ o következtetések zajlanak le:

1. (1,1)-ben semmit sem érzékelünk, tehát (1,2) és (2,1) OK. Megyünk pl. a (2,1)-be.

2. szell ˝ ot érzékelünk, tehát (3,1) vagy (2,2) verem. Megyünk az (1,2)-be.

3. szagot érzünk, tehát (2,2) nem verem mert akkor éreznénk szell ˝ ot. Tehát (3,1) a verem. (2,2)

nem wumpus, mert akkor (2,1)-ben is lett volna szag, tehát (1,3) a wumpus, viszont emiatt (2,2)OK.

Nem lehet mindig OK-ba lépni, kockázat van, viszont feltesszük hogy az érzékelés hibátlan, és aszabályok alól nincs kivétel.

A jelek jelentése: A ágens, B szell ˝ o, OK biztonságos, P verem, S szag, V látogatott, W wumpus.

31

Page 33: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 33/91

Page 34: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 34/91

Ítéletkalkulus

Szintaxis

Formális nyelv ami a jólformált mondatokat generálja:

mondat −→ atom | ¬mondat | (mondat OP mondat)OP −→ ∧ | ∨ | → | ↔atom −→ I | H | ítéletváltozóítéletváltozó −→ A | B | C | . . .

A zárójeleket elhagyjuk, precedencia: ¬, ∧, ∨, →, ↔.

Megj.: Ha csak két m˝ uveletünk van, pl. ¬, ∧, az is elég lett volna. S ˝ ot, a NAND m˝ uvelet önmagábanis elég A NAND B ⇔ ¬(A ∧ B).

Szemantika

A mondat felépítése szerint rekurzívan rendelünk igazságértékeket a mondathoz.

Az atomok igazságértékét közvetlenül a modell határozza meg, ami az atomokhoz rendel I vagy Hértéket (igaz vagy hamis). Pl. ha 3 atom van akkor 23 = 8 különböz ˝ o modell lehetséges.

Az összetett mondatok igazságértékét igazságtáblával határozzuk meg, pl. ¬I  = H, ¬H  = I , stb.

Wumpus világ az ítéletkalkulusban

Nem ítéletkalkulus az ideális, de megoldható (mert kicsi a tér): P ij : (i, j) cellában verem van, ill.Bij: (i, j) cellában szell ˝ o van, stb. Ezen a nyelven kell kifejezni a szabályokat:

• ¬P 11 (kezd ˝ oállapotban nincs verem)

• B11 ↔ (P 12 ∨ P 21) (szell ˝ o szabály az (1,1) cellára)

• B21 ↔ (P 11 ∨ P 22 ∨ P 31) (szell ˝ o szabály a (2,1) cellára)

• stb.

A tényeket is ezen a nyelven lehet kifejezni, pl. korábbi példában az els ˝ o tény amit érzékelünk az¬B11, aztán B21, stb.

A tudásbázist a szabályok és a tények alkotják. (Általában a tudás egyetlen mondatnak vehet ˝ o, mert∧ jellel összekapcsolhatók ha több van.)

Mivel ítéletkalkulusban vagyunk, minden cellára meg kell ismételni a szomszédsági szabályokat...Predikátumlogika elegánsabb lenne itt.

Logikai következtetés

Néhány alapfogalom és összefüggés.

33

Page 35: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 35/91

 Logikai ekvivalencia: α és β  logikailag ekvivalens (α ≡ β ) akkor és csak akkor ha α β és β  α.

Tautológia: α tautológia ( α) akkor és csak akkor ha minden modellben igaz.

 Dedukciós tétel: α β akkor és csak akkor ha α → β .

Kielégíthet˝ oség: α kielégíthet ˝ o akkor és csak akkor ha legalább egy modellben igaz.

Bármely tautológia tagadása tehát kielégíthetetlen. Emiatt m˝ uködik a reductio ad absurdum vagyisellentmondásra vezetés: α β akkor és csak akkor ha ¬(α → β ) ≡ α ∧ ¬β kielégíthetetlen.

Ismert hogy az ítéletkalkulus kielégíthet ˝ oségi problémája (adott α mondatról döntsük el hogy kielégíthet ˝ o-e) NP-teljes (Boolean satisfiability, SAT). A komplementer probléma: az ítéletkalkulus logikai követ-kezmény vizsgálatának a problémája co-NP-teljes (mivel az ellentmondásra vezetés módszerével egymondat kielégíthetetlenségének a vizsgálatára vezethet ˝ o vissza).

Modellellen ˝ orzéses algoritmusok

Egy korlátozás kielégítési feladatot definiálunk mondatok kielégíthet ˝ oségének az ellen ˝ orzésére. Eztarra használjuk hogy a α ∧ ¬β formula kielégíthetetlenségét vizsgáljuk (reductio ad absurdum).

A mondat változói az atomok, lehetséges értékeik az I és H. A korlátozások definiálásához alakítsuka mondatot konjunktív normálformára, ami klózok konjunkciója (∧). Egy klóz literálok diszjunkciója(∨), egy literál pedig egy atom vagy egy negált atom. Pl. (A ∨ ¬B) ∧ (¬A ∨ C ∨ D). Tetsz ˝ olegesmondat konjunktív normálformára hozható logikailag ekvivalens átalakításokkal.

A korlátok az egyes klózok által vannak definiálva. Minden klóznak ki kell elégülni, és egy klóz abenne szerepl ˝ o atomokra fogalmaz meg feltételt.

Ha tehát valamely változóhozzárendelésre minden klóz kielégül, akkor az eredeti mondat kielégíthet ˝ o,ezek a célállapotok.

Láttuk korábban hogy gráfkereséssel és optimalizálással is próbálkozhatunk egy korlátozás kielégítésifeladat megoldására, ezeket megnézzük megint.

Megoldás inkrementális gráfkereséssel

A megoldás szó szerint megegyezik a korlátozás kielégítési feladatnál leírtakkal (felvesszük az isme-retlen „?” értéket, kezd ˝ oállapotban minden változó ismeretlen, és az operátor egy „?”-hez megenged-het ˝ o értéket rendel).

A levelekben itt azok a modellek lesznek, amelyek megengedhet ˝ oek. Érdemes a mélységi kereséstalkalmazni (más néven visszalépéses keresés v. backtrack): fa mélysége kicsi, memóriaigény kons-tans. Ha talál megoldást, akkor kielégíthet ˝ o, ha lefut megoldás nélkül akkor kielégíthetetlen a mondat.Mindig lefut, mert véges a fa.

A fentiekb ˝ ol következik hogy az algoritmus helyes és teljes következtetésre alkalmas, mivel a kielé-gíthetetlenség problémáját el tudja dönteni.

Tudjuk hogy a probléma NP-teljes, de lehet a hatékonyságot növelni általános heurisztikákkal (láttukkorábban hogy a leginkább korlátozó feltételt kell kielégíteni, stb.), és feladatspecifikus javításokkal:

• Ha egy A változó csak negálva vagy csak negálatlanul szerepel, akkor vegyük igaznak (ill.

hamisnak) keresés nélkül.

34

Page 36: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 36/91

• Nem kell minden változónak értéket adni: ha A igaz, akkor (A ∨ B) ∧ (A ∨ C ) is igaz B és C értékét ˝ ol függetlenül

• Ha egy klózban csak egy literál van, annak azonnal értéket lehet adni. Ugyanígy, ha egy klózbanminden literálnak H értéket adtunk, kivéve egynek, akkor ennek az egynek mindenképpen I-tkell adni.

(DPLL és Chaff algoritmusok.)

Megoldás optimalizálással

Ismét a korlátozás kielégítési feladatoknál leírtaknak megfelel ˝ oen definiáljuk az optimalizálási prob-lémát (a keresési tér a modellek halmaza, a célfüggvény a hamis klózok száma amit minimalizálni

akarunk).Alkalmazhatjuk pl. az újraindított sztochasztikus hegymászót, véletlen kezd ˝ oállapotból. A keres ˝ o-operátor lehet egy véletlen kiértékelés megváltoztatása (vagy egy hamis klózban szerepl ˝ o kiértékelésmegváltoztatása).

Fontos hogy nem garantált  hogy találunk kiértékelést, akkor sem, ha van. Ha találunk, akkor ez-zel bizonyítjuk hogy van, de ha nem találunk, akkor nem bizonyítjuk hogy nincs. Tehát a módszernem alkalmas közvetlenül logikai következtetésre, csak tételek cáfolására; a teljesség és helyességtulajdonságok nem értelmezhet ˝ ok.

Szintaktikai manipuláció

A modellek közvetlen vizsgálata helyett a formulákat „gyúrjuk”, de ügyesen, hogy a logikai követ-kezmény fogalmával konzisztens maradjon a tudásbázis. Pl. ha α és α → β a tudásbázisban szerepel,akkor felvehetjük β -t is: ez a modus ponens levezetési szabály. Bár ez tisztán a formula manipulációja,belátható hogy β a tudásbázis logikai következménye.

Van-e olyan algoritmus az ítéletkalkulusban amely szintaktikai manipulációk (vagyis levezetés) segít-ségével m˝ uködik és teljes és helyes? Igen: s ˝ ot, megadható levezetési szabályok egy véges halmazaamelyeket felváltva alkalmazva levezethet ˝ o bármely logikai következmény.

(Mivel tudjuk, hogy ellentmondást tartalmazó (kielégíthetetlen) tudásbázisból az összes formula le-vezethet ˝ o, egy ilyen algoritmussal levezethetünk pl. egy A ∧ ¬A típusú formulát ha a formulánk nem

kielégíthet ˝ o.)

Rezolúció

Egy teljes és helyes következtet ˝ o algoritmus. Arra nem alkalmas hogy felsoroljuk egy tudásbázisösszes logikai következményét, csak a teljesség és helyesség általunk használt (döntési és nem felso-rolási) értelmében helyes és teljes. Szokás ezt az értelmét a teljességnek cáfolás teljességnek hívni.

A rezolúció tehát formulák kielégíthetetlenségének az eldöntésére alkalmas, és az ellentmondásravezetés módszerét használva használható logikai következtetésre (azaz a α ∧¬β kielégíthetetlenségétvizsgáljuk).

35

Page 37: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 37/91

El ˝ oször hozzuk a formulát itt is konjunktív normálformára. Ezután alkalmazzuk bármely teljes éshelyes gráfkeres ˝ o algoritmust a következ ˝ o keresési téren:

• keresési tér : α ∧ ¬β  konjunktív normálformájában szerepl ˝ o literálokból álló klózokból állóhalmazok

• kezd˝ oállapot : α ∧ ¬β konjunktív normálformájának klózaiból álló halmaz

• operátor : a rezolúciós szabály. Legyen l1 ∨ . . . ∨ lk és m1 ∨ . . . ∨ mn olyan klózok amelyekreaz li és az m j literálok éppen egymás tagadásai (pl. li = A, m j = ¬A). Ebb ˝ ol állítsuk el ˝ o aC  = l1 ∨ . . . ∨ li−1 ∨ li+1 ∨ . . . ∨ lk ∨ m1 ∨ . . . ∨ m j−1 ∨ m j+1 ∨ . . . ∨ mn klózt, majd C -b ˝ olállítsuk el ˝ o C ′-t úgy hogy minden olyan literálból ami kétszer szerepel csak az egyiket hagyjukmeg. Adjuk hozzá C ′-t a klózok halmazához.

• célállapot : bármely állapot amely az üres klózt (kielégíthetetlen klóz, egy literál sincs benne)tartalmazza

Ha a célállapotot elérjük, akkor ellentmondásra jutottunk, és ekkor azt mondjuk hogy rezolúcióvallevezettük β -t (α ⊢r β ).

Ha a keresés terminál (nincs alkalmazható operátor) és nem értünk el célállapotot, akkor azt mondjukhogy β nem vezethet ˝ o le (α ⊢r β ).

A rezolúciós szabály helyes, hiszen, mivel li és az m j egymás negáltjai, valamelyik biztosan hamis,tehát elhagyható. De a fenti C  klóz éppen azt mondja hogy vagy li vagy m j elhagyható.

A rezolúciós keresés (teljes és helyes gráfkereséssel) terminál, mert a keresési tér véges (csak véges

literál van). Egy formula rezolúciós lezártján azoknak a klózoknak a halmazát értjük, amelyek aformulából levezethet ˝ ok a rezolúciós szabállyal. A rezolúciós lezárt is véges a fentiek miatt.

Belátható hogy a rezolúció teljes, azaz ha α β akkor α ⊢r β  (elhisszük).

Horn formulák

Láttuk hogy a következtetés co-NP-teljes, mit lehet tenni? Megszoríthatjuk a formulák halmazát.

A Horn formula egy A1 ∧ . . . ∧ Ak → B alakú formula, ahol az Ai és B formulák atomok. AzA1 ∧ . . . ∧ Ak formula a test , a B a fej. Konjunktív normálformában ez éppen egy klóz, amelybenpontosan egy pozitív literál van (

¬A1

∨. . .

∨ ¬Ak

∨B).

A Horn tudásbázis az Horn formulák halmaza. Speciálisan ha k = 0 akkor csak feje van a formulának,ezeket úgy hívjuk hogy tények (a tények pozitív literálok vagyis atomok).

Nem hozható minden tudásbázis Horn alakra, de azért használható részhalmaza a formuláknak. Line-áris idej˝ u következtetés lehetséges (a tudásbázis méretében) a modus ponens szabállyal.

36

Page 38: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 38/91

Példa:Tudásbázis:

P  → QL ∧ M  → P B ∧ L → M A ∧ P  → LA ∧ B → LAB

ÉS-VAGY gráf. El˝ oreláncolás: Le-

gyen minden atom hamis kezdetben. Is-mert atomokat (A, B) igaznak veszem.Ha egy ÉS kapcsolat minden bemeneteigaz, akkor a kimenetét is igaznak ve-szem: propagáljuk a gráfban a leveze-tést. Vége: ha nincs több levezetési le-het ˝ oség. Lineárisan (az élek számában)megvalósítható.

Az algoritmus helyessége világos (modus ponens).

Teljességet itt definiáljuk csak az atomok fölött, azaz teljes legyen akkor ha minden atomot, ami

logikai következmény, levezet.A teljesség bizonyítása: A futás után az atomok egy része igaznak, a többi hamisnak van jelölve.Ez egy modellt definiál. El ˝ oször is, ebben a modellben az eredeti tudásbázis minden formulája igaz,mert tegyük fel hogy létezik hamis formula. Ennek a premisszája (teste) tehát igaz (ami csak úgylehet hogy abban minden atom igaznak van jelölve), a konklúziója (feje) hamis. De ez ellentmondásmert akkor az algoritmus még nem terminált volna. Viszont minden modellben, ahol minden eredetiformula igaz, ott minden logikai következménye is igaz definíció szerint, tehát ebben a modellben is.Tehát nem lehet hogy van olyan atom ami logikai következmény is nincs igaznak jelölve.

 Hátrafelé láncolás: Az ÉS-VAGY gráfban a levezetend ˝ o atomból indulunk. Ha benne van az tudás-bázisban, akkor készen vagyunk, különben rekurzívan megkíséreljük levezetni a premisszáit.

Ez hatékonyabb ha sok az irreleváns szabály.

Els ˝ orend˝ u logika

Az ítéletkalkulus szempontjából az atomi mondatoknak nem volt szerkezete (fekete doboz). Az íté-letkalkulust általánosítjuk: objektumokat tételezünk fel (domain), és ezek függvényeit és kapcsolataitírjuk le az atomi mondatokkal.

Változókat is megengedünk, de csak az objektumok felett.

Szintaxis

Egyszer˝ usített nyelvtan a jólformált mondatok generálásához:

mondat −→ atom | ¬mondat | (mondat OP mondat) | kvantor változó, mondatOP −→ ∧ | ∨ | → | ↔kvantor −→ ∀ | ∃atom −→ predikátum(term, ... ) | term=termterm −→ függvény(term,...) | konstans | változó

Ezen kívül szükség van a predikátumok, függvények, konstansok és változók neveinek halmazára. Aváltozókat x , z , y . . . kisbet˝ ukkel, a konstansokat A , B , C , . . . nagybet˝ ukkel jelöljük általában.

37

Page 39: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 39/91

Szemantika

Az ítéletkalkulus szemantikája az atomokhoz direkt rendelt igazságértéket. Itt az atomok igazságérté-két már származtatjuk.

Egy lehetséges világ megadásakor szükségünk van egy D domainre, ami egy halmaz, amelyben alehetséges világban létez ˝ o összes lehetséges objektum található, és egy interpretációra.

Egy mondathoz úgy rendelünk igazságértéket, hogy veszünk egy D domaint, majd a nyelv elemeitinterpretáljuk D fölött, végül az adott interpretáció mellett a mondatot kiértékeljük .

Interpretáció

Megadjuk a konstansok, predikátumok és függvények interpretáció ját a következ ˝ oképpen:

• minden konstansnévhez rendelünk egy elemet D-b ˝ ol

• minden n-változós függvénynévhez rendelünk egy Dn → D függvényt

• minden n-változós predikátumnévhez rendelünk egy Dn → igaz/hamis függvényt

Egy lehetséges világban tehát egy domain fölött többféle interpretáció lehetséges, ill. a domain isváltozhat.

Mivel változókat is megengedünk, egy mondat igazságértékét még nem tudjuk meghatározni. Ehhezkell még egy változóhozzárendelés, amely a változókhoz is rendel értékeket D-b ˝ ol. A változóhozzá-rendelés az interpretációt egy kiterjesztett interpretációvá egészíti ki.

Kiértékelés

Egy term (azaz kifejezés) kiértékelésének az eredménye szintén egy domain elem. Ha a term konstansvagy változó, akkor a kiterjesztett interpretáció megadja. Ha a term f (t1, . . . , tn) alakú, akkor rekur-zívan kiértékeljük t1, . . . , tn termeket, és ezek értékeit behelyettesítjük az f -hez rendelt függvénybe.

Az atomi mondatok  kiértékelésének az eredménye már igazságérték. Hasonlóan a függvényekhez,egy P (t1, . . . , tn) alakú predikátumot rekurzívan értékelünk ki: el ˝ oször a t1, . . . , tn termeket, majdezek értékeit behelyettesítjük a P -hez rendelt predikátumba. (Az egyenl ˝ oség egy speciális, rögzítettinterpretációjú predikátum: a „természetes egyenl ˝ oség” minden domainen.)

Az összetett mondatok kiértékelése az ítéletkalkulussal analóg módon történik.

A ∀x, φ formula kiértékelése „igaz”, ha φ igaz minden változóhozzárendelésben, amely az aktuálisváltozóhozzárendelést ˝ ol legfeljebb az x-hez rendelt értékben különbözik. A ∃x, φ formula kiértéke-lése „igaz”, ha φ igaz valamely változóhozzárendelésben, amely az aktuális változóhozzárendelést ˝ ollegfeljebb az x-hez rendelt értékben különbözik.

Néhány megjegyzés

A logikai következmény definíciójában szerepl ˝ o „minden modell”-t itt tehát úgy kell érteni hogy„minden domain, minden interpretáció, minden változóhozzárendelés”, hiszen ez a hármas alkotja

38

Page 40: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 40/91

a modellt. (Más értelemben is használatos a modell kifejezés, pl. néha csak a domaint értik alatta,vagy csak a domaint és az interpretációt.)

Világos hogy itt a kielégíthet ˝ oség (ill. a kielégíthetetlenség) problémáját nem lehet direkt ellen ˝ orizni,pl. összes lehetséges n-változós predikátum túl sok lehet még kis domainen is.

Másrészt a kielégíthet ˝ oség vizsgálatánál meg kell adni az interpretáción és a változóhozzárendelésenkívül még mást is, pl. egy ∃x, φ formulánál azt a konkrét x értéket amelyre kielégült a formula.

Példák

 Rokonság: a predikátumnevek: {férfi, n ˝ o} egyváltozós, {n ˝ ovér, szül ˝ o,...} kétváltozós; függvényne-vek: {apa, anya } egyváltozós (lehetne kétváltozós predikátum is).

A „természetes” domain az emberek halmaza; és a természetes interpretáció a szokásos jelentése a

szavaknak.A tudásbázis pl.

1. ∀x∀y Anya(x) = y ↔ N ˝ o(y) ∧ Szül ˝ o(y, x)

2. ∀x∀y Nagyszül ˝ o(x, y) ↔ ∃z(Szül ˝ o(x, z) ∧ Szül ˝ o(z, y))

3. Férfi(Péter), stb.

Természetes számok :

a predikátumnevek: {N } egyváltozós (szándékolt jelentése: természetes szám); függvénynevek: {S }

egyváltozós (szándékolt jelentése: rákövetkez ˝ o); konstansok: {0}A „természetes” domain a természetes számok halmaza; és a természetes interpretáció: S (x) = x+ 1,N (x) igaz minden domain elemre, és a 0 konstansnév megfelel ˝ oje a 0 természetes szám.

Tudásbázis (vagyis axiómák) célja itt az hogy a modelleket úgy szorítsuk meg hogy N -nek csakmegszámlálható számosságú interpretációin teljesülhessenek az axiómák (azaz csak a természetesszámokon, izomorfizmus erejéig). A Lövenheim-Skolem tételek miatt ez nem lehetséges els ˝ orend˝ unyelven (lesz megszámlálhatatlan számosságú modellje is), másodrend˝ un viszont igen.

1. N (0)

2.

∀x (N (x)

→N (S (x)))

3. ∀x (N (x) → 0 = S (x))

4. ∀x∀y (S (x) = S (y) → x = y)

Ezen kívül az indukciós axióma (végtelen darab els ˝ orend˝ u nyelven) és a m˝ uveletek axiómái kellenek,ezeket nem tárgyaljuk.

Logikai következtetés

Szemben az ítéletkalkulussal, a logikai következmény problémája nem eldönthet ˝ o. Olyan algorit-

mus létezik, amelyik mindig azt mondja hogy „igen” ha az input formula logikailag következik az

39

Page 41: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 41/91

axiómákból, viszont olyan nem létezik, amelyik mindig azt mondja hogy „nem” ha a formula nemkövetkezik logikailag. Ez a Turing gépek megállási problémájával függ össze.

A teljesség definíciójához azonban elég ha az algoritmus azt mondja hogy „igen” ha az input formulalogikailag következik az axiómákból. A rezolúció els ˝ orend˝ u logikai verziója pl. teljes.

Itt csak vázlatosan tárgyaljuk a rezolúciót!

Ötlet: az ítéletkalkulusnál látott következtetési szabályt szeretnénk alkalmazni, de ehhez (1) megkell szabadulni a kvantoroktól (2) a következtetési szabálynál az atomi mondatok finomszerkezetétis figyelembe vesszük úgy hogy megfelel ˝ o helyettesítéseket (szintén szintaktikai operáció itt!) isvégzünk (ezt hívják „felemelésnek” (lifting)).

Kvantorok

Egy φ formulában x szabad változó akkor és csak akkor ha

• φ atomi mondat, vagy

• φ negált mondat (φ = ¬ψ) és ψ-ben x szabad változó, vagy

• φ összetett mondat (pl. φ = φ1 ∧ φ2) és x szabad változó φ1-ben vagy φ2-ben.

Ha x változó nem szabad akkor kötött, mégpedig a hozzá legközelebb es ˝ o rá vonatkozó kvantor által.

Az egzisztenciális kvantorokat skolemizációval eltüntetjük: ha x egzisztenciális kvantorral kötött,és nincs univerzális kvantor hatáskörében, akkor ∃x φ(x) helyett φ(C )-t veszünk fel, ahol C  egy

új Skolem konstans. Ha egy egzisztenciális kvantorral kötött x változó az x1, . . . , xk univerzáliskvantorral kötött változók kvantorainak a hatáskörében van, akkor az F (x1, . . . , xk) egy új Skolemfüggvénnyel helyettesítjük. Pl. ∀x∃y P (x, y) helyett ∀x P (x, F (x)).

Ezután az univerzális kvantorokat elhagyjuk, és új változóneveket vezetünk be. Pl. ∀x P (x)∧∀x R(x)

helyett P (x1) ∧ R(x2). Ezt azért lehet, mert logikai következmény szempontjából egy szabad változóekvivalens egy univerzálisan kötött változóval.

Felemelés (lifting)

Minden ítéletkalkulusbeli következtetési szabályra m˝ uködik: pl. (általánosított) modus ponens els ˝ o-

rend˝ u logikában:  p′1, . . . , p′n, ( p1 ∧ . . . ∧ pn) → q 

helyettesít(θ, q )

ahol θ egy helyettesítés, amely termeket helyettesít változók helyébe, és amelyre helyettesít(θ, p′i) =helyettesít(θ, pi) minden i-re.

PéldáulFekete(H ), Fekete(x) → ¬Hattyú(x)

¬Hattyú(H ), θ = {x/H }

Megadható hatékony algoritmus amely megtalálja a legáltalánosabb θ helyettesítést, azaz azt a he-lyettesítést, amely a legkevesebb megkötést teszi a változókra: egyesít( p, q )=θ, ahol p és q mondatok,

és helyettesít(θ, p) = helyettesít(θ, q ).

40

Page 42: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 42/91

Fontos: p és q szabad változóit más szimbólumokkal kell jelölni, különben a helyettesítés sikertelen le-het: pl. egyesít(Ismer(A, x), Ismer(x, B)) =?, de egyesít(Ismer(A, x), Ismer(y, B)) = {x/B, y/A}.

A lenti algoritmus egy helyettesítést ad vissza, meghívása az x = p és y = q modatokkal és a θ = {}üres helyettesítéssel. Futás során x és y lehet mondat, vagy term, vagy egy szimbolum, vagy egylistája ezeknek. Az op() függvény az operátor szimbólumot veszi ki az összetételb ˝ ol (ami függvényvagy predikátum), pl. op(F(a,b))=F.

egyesít(x,y,theta)

1 if theta == "kudarc" then return "kudarc"

2 if x==y then return theta

3 if váltzó(x) then return változóEgyesít(x,y,theta)

4 if váltzó(y) then return változóEgyesít(y,x,theta)

5 if összetétel(x) and összetétel(y) then

return egyesít(argLista(x),argLista(y),egyesít(op(x),op(y),theta))6 if lista(x) and lista(y) then

return egyesít(maradék(x),maradék(y),egyesít(elso(x),elso(y),theta))

7 return "kudarc"

változóEgyesít(x,y,theta) // x változó

1 if theta része {x/A} then return egyesít(A,y,theta)

2 if theta része {y/B} then return egyesít(x,B,theta)

3 if y-ban elofordul x változó then return "kudarc"

5 return (theta + {x/y})

Rezolúció

Hasonlóan az ítéletkalkulushoz, itt is az α ∧ ¬β  típusú formulák kielégíthetetlenségét szeretnénkeldönteni.

Itt is a konjunktív normálformából indulunk, amit a kvantoroktól való megszabadulás után az ítélet-kalkulussal megegyez ˝ o módon hozhatunk létre.

Egyetlen következtetési szabály, amely az ítéletkalkulusban megismert szabályból adódik liftinggel:

l1 ∨ . . . ∨ lk, m1 ∨ . . . ∨ mn

helyettesít(θ, l1∨

. . .

∨li−1

∨li+1

∨. . .

∨lk

∨m1

∨. . .

∨m j−1

∨m j+1

∨. . .

∨mn)

ahol egyesít(li, ¬m j) = θ, tehát helyettesít(θ, li) = helyettesít(θ, ¬m j ).

A rezolúció cáfolás teljes, tehát ha a kiindulási tudásbázis ellentmondást tartalmazott, akkor errebizonyítást ad. Viszont, szemben az ítéletkalkulussal, itt nem terminál feltétlenül. A bizonyítást nemvesszük.

Rezolúció hatékonysága

A cáfolás teljesség nem garancia a hatékonyságra. Heurisztikák kellenek arra, hogy kiválasszuk, hogymelyik lehetséges rezolúciós lépést hajtsuk végre.

41

Page 43: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 43/91

Az egységpreferencia stratégiája preferálja azokat a rezolúciós lépéseket, ahol literál (más néven egy-ségklóz) az egyik klóz, hiszen igy a levezetett új klóz garantáltan rövidebb lesz mint a másik felhasz-

nált klóz.A támogató halmaz stratégiája kezdetben rögzít egy formulahalmazt (támogató halmaz), és mindenrezolúciós lépésben az egyik klóz ebb ˝ ol a halmazból származik. A levezetett klóz is bekerül a támo-gató halmazba. Ha a támogató halmazból kimaradt formulák együttesen kielégíthet ˝ oek (azaz konzisz-tens halmazról van szó) akkor teljes marad a rezolúció. Leggyakrabban a kezdeti támogató halmaz abizonyítandó állítás negáltja (¬β ), feltéve hogy a tudásbázis (α) konzisztens.

A bemeneti rezolúció során minden lépésben felhasználunk legalább egy formulát az α vagy ¬β  for-mula(halmaz)ból.

Végül, érdemes eltávolítani az olyan formulákat amelyek valamely, a tudásbázisban szerepl ˝ o másformulából következnek. Pl. ha P (x)-t levezettük, akkor P (A), vagy P (A)∨Q(B), stb, fölöslegesek.

Ez a bennfoglalás módszere.

Teljesség, nemteljesség

Fontos tisztázni: Gödel nemteljességr ˝ ol szóló tételei a teljesség másfajta értelmér ˝ ol szólnak: a termé-szetes számok axiomatizálásának a (nem)teljességér ˝ ol. A lényeg hogy vannak olyan állítások, amik aPeano axiómákból nem következnek logikailag, viszont pl. a természetes számokra konkrétan igazak(a Peano axiómák más modelljeiben tehát nem feltétlenül). Más szóval vannak olyan állítások a Peanoaxiómák nyelvén, amelyek se nem bizonyíthatóak, se nem cáfolhatóak algoritmikusan.

El ˝ oreláncolásDefiniáljuk el ˝ oször a DATALOG adatbázis formátumot, ami a Horn adatbázisok els ˝ orend˝ u logikaianalógja. Ez sem lesz teljes érték˝ u logika, viszont a logikai következmény eldönthet ˝ o lesz benne.

Feltesszük hogy minden formula φ1 ∧ . . . ∧ φk → ψ alakú, ahol φi és ψ atomi formulák. Tények islehetnek, amik önálló atomi formulák (k = 0).

Ezen kívül az atomi formulák paraméterei csak változók vagy konstansok lehetnek (nem engedünkmeg függvényneveket a nyelvben).

Feltesszük hogy kvantorok sincsenek. Ez is megszorítás, mert bizonyos kvantoroktól ugyan meg lehetszabadulni, de bizonyosaktól csak Skolem függvények bevezetésével lehetne, de függvényeket nem

engedünk meg.Ötlet : használjuk a modus ponens szabályt (mint a Horn adatbázisokban) és liftinget. A modus ponensalkalmazási lehet ˝ oségeinek a megadásához tehát a lehetséges helyettesítéseket is vizsgálni kell.

Tegyük fel hogy β -t akarjuk levezetni. Az algoritmus terminál ha nincs több alkalmazási lehet ˝ osége amodus ponensnek, vagy egy levezetett tény helyettesítéssel β -val egy alakra hozható (utóbbi esetbenβ logikai következmény). Valamelyik eset mindig bekövetkezik, hiszen a levezethet ˝ o tények halmaza,a helyettesítéseket is figyelembe véve, véges.

Ha függvényeket is megengednénk, nem terminálna mindig, pl. N (0), N (x) → N (S (x)) formulák-ból N (S (0)), N (S (S (0))), . . . levezethet ˝ o, a következmények halmaza nem véges.

42

Page 44: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 44/91

Mintaillesztés

Általában annak az eldöntése hogy a modus ponens alkalmazható-e (létezik-e megfelel ˝ o helyettesítés)NP-nehéz. Pl. nem könnyebb mint a gráfszínezési probléma:

Tudásbázis (gráfszínezéshez):D(x, y) predikátum: x és y színe különbözik. egyetlen sza-bály: D(wa,nt) ∧ D(wa,sa) ∧ . . . → színezhet ˝ o() (a kény-szergráfnak megfelel ˝ oen).Tények: D(piros,kék), D(piros,fehér), stb.A gráfszínezési problémát a modus ponens alkalmazhatósá-gának az eldöntésére vezettük vissza.

A gyakorlatban nem mindig nehéz a probléma.A korlátozás kielégítési feladat megoldásánál látott heurisztikák segítenek (pl. el ˝ oször azt az atomiformulát helyettesítjük, ami a legnehezebben kielégíthet ˝ o, stb.)

Hátrafelé láncolás

Hasonlóan az ítéletkalkulushoz, az irreleváns információk levezetését elkerülhetjük a visszafelé lán-colással.

Az algoritmus ugyanaz a rekurzív mélységi keresés mint az ítéletkalkulusban, csak a helyettesítéseketkell megfelel ˝ oen kezelni. Az algoritmus visszatérési értéke azon helyettesítések halmaza, amelyekre

a bizonyítandó formula (β ) teljesül.A bizonyítandó formula mindig egy atomi mondat, és az adatbázis továbbra is DATALOG formátumú.A következ ˝ ot tesszük (csak az ötlet vázlata!): megkeressük az összes formulát aminek a feje illeszke-dik β -ra (azaz egyesíthet ˝ o vele), és minden ilyen formulának a premisszáira rekurzívan meghívjuk avisszafelé láncolást, de úgy, hogy minden premissza meghívásakor továbbítjuk azt a helyettesítést is,ami a fej és β egyesítésb ˝ ol adódott, és amiben a már bejárt premisszák illesztése soran kapott helyette-sítések is benne vannak. Ha minden premissza kész, akkor visszaadjuk a közben kapott helyettesítésekúnióját.

Ha β  tényre illeszkedik (nincs premissza), akkor visszaadjuk azt a helyettesítést ami az illeszkedéstbiztosította.

Gyakorlatilag egy mélységi keresésr ˝ ol van szó itt is.

Logikai programozás

A hátrafelé láncolás ötletének szofisztikáltabb megvalósítása.

algoritmus = logika + irányítás. A „programozás” deklaratív, azaz a tudásbázist kell kódolni, azirányítási komponens (vagyis következtet ˝ o algoritmus) problémafüggetlen, rögzített.

Pl. Prolog: az adatbázis lényegében DATALOG típusú, itt is hátrafelé láncolás mélységi kereséssel,ahol a rekurzió mindig a premisszák felsorolási sorrendjében történik, ill. a szabályok felsorolásisorrendje is számít.

43

Page 45: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 45/91

Néhány kompromisszum a deklaratív és procedurális megközelítésnek, pl. input/output m˝ uveletek,ill. szintaktikai támogatás az aritmetikára és a listák kezelésére, stb.

A mélységi keresésb ˝ ol adódhatnak problémák, pl. vegyük a következ ˝ o adatbázist:

1. él(x,y) → út(x,y)

2. út(x,z) ∧ él(z,y) → út(x,y)

És vegyük az él(A,B) és él(B,C) tényekkel adott gráfot. Pl az út(A,C) lekérdezésre a Prolog helyesenfog m˝ uködni, azonban ha a szabályok sorrendjét felcseréljük, akkor végtelen ciklusba esik, mert arekurzió el ˝ oször a 2. szabály alapján indul el, ami a mindig újabb út predikátumokat hoz be.

Tehát a prolog még DATALOG típusú adatbázison sem teljes. Az el ˝ oreláncolás, mint láttuk, viszontaz.

Automatikus tételbizonyítás

A tételbizonyítóknak van több alkalmazása is, nem csak matematikai tételek bizonyítása. Pl. hardverés szoftver helyességének az ellen ˝ orzése. Sok gyakorlati alkalmazás.

A logikai programozáshoz sok köze van, de nincs megszorítás a formulák alakjára (a teljes els ˝ orend˝ ulogikát akarjuk kezelni), és a kontroll sokkal jobban el van különítve mint a prolognál (ott számítottpl. a formulák kilistázásának a sorrendje, stb.).

Az általános megközelítés miatt itt a hatékonyság a f  ˝ o gond.

Legsikeresebb jelenleg a Vampire nev˝ u tételbizonyító.

44

Page 46: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 46/91

9. fejezet

Bizonytalanság

Eddig a logika igaz/hamis világát és logikai következtetéseket néztünk. De ezzel problémák vannak:(1) ha nem teljes a tudás (tények vagy szabályok), akkor nem mindig tudunk logikai levezetéseketgyártani fontos kérdésekhez, döntésképtelenek  leszünk, és (2) ha heurisztikus szabályokat vezetünkbe, akkor a tapasztalat inkonzisztens lehet az elmélettel, tehát a logikai levezetés megint csak nemm˝ uködik, itt is döntésképtelenség és rugalmatlanság lehet az eredmény.

Tehát a hiányos, részleges tudás kezelésére a logika nem optimális.

Példa: orvosi diagnózis: fogfájás és lukas fog (röviden: luk). A feti két probléma:

• nem teljes tudás: a teljes tudás logikai alakja ilyesmi:

∀p Tünet(p,fogfájás)

→Betegség(p,luk)

∨Beteség(p,gyulladás)

∨ . . ., tehát nem tudunk dön-

teni ha csak a fogfájás ténye ismert.

• egyszer˝ usítés: mondhatnánk, hogy akkor használjuk a ∀ p Tünet(p,fogfájás) → Betegség(p,luk)szabályt. Ez sokszor m˝ uködni fog, de néha nem, és a hasonló szabályok miatt el ˝ obb utóbb atudásbázis tele lesz ellentmondással. (nem monoton logikák kezelik ezt, de ezzel nem foglalko-zunk).

Valószín˝ uség

A tudás tökéletlenségének (azaz ismeretlen tényeknek és szabályoknak) véletlen hatásként való keze-lése, pl „fogfájás→luk” 80%-ban igaz.

(Tökéletes tudásnál elég a logika? „God does not play dice” (Einstein))

A gyakorlatban a tudás mindig tökéletlen, mert (1) lusták vagyunk összegy˝ ujteni a szabályokat (szak-ért ˝ oi tudás) vagy a tényeket (tesztek elvégzése), vagy (2) a tudomány eleve nem elég fejlett.

Ismeretelméleti státusz: a valószín˝ uség a hit fokát jelenti, nem az igazság fokát . Tehét feltesszük hogyaz állítás az aktuális világban igaz vagy hamis, csak ezt nem tudjuk pontosan. (A fuzzy logika pl ezzelszemben az igazság fokát nézi, ahol egy állítás az aktuális világban folytonos igazságérték˝ u, pl „ez aház nagy”.)

Egy állítás/esemény valószín˝ usége változik annak függvényében hogy mit tapasztalunk. Pl ha húzunk

egy kártyalapot, más a valószín˝ usége annak hogy pikk ász miel ˝ ott és miután megnéztük... Beszélni

45

Page 47: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 47/91

fogunk tehát el ˝ ozetes (a priori) és feltételes (a posteriori) valószín˝ uségr ˝ ol.

Racionális ágens

A feladat az hogy megfigyelésekb ˝ ol (tényekb ˝ ol) és valószín˝ uségi jelleg˝ u a priori tudásból számoljukki az ágens számára fontos események valószín˝ uségét. Egy cselekvés kimenetelének az értéke lehetpl a lehetséges kimenetelek értékeinek a valószín˝ uségekkel súlyozott átlaga (azaz a várható érték).

Véletlen változók

Nagyon praktikusan és egyszer˝ uen tárgyaljuk, nem az általános mértékelméleti megközelítésben. Egyvéletlen változónak van neve és lehetséges értékei azaz domainje.

Legyen A egy véletlen változó, D domainnel. A D típusának függvényében képezhetünk elemi kije-lentéseket, amelyek az A értékének egy korlátozását fejezik ki (pl. A = d, ahol d ∈ D). A következ ˝ otípusok vannak domain alapján:

• logikai: ekkor a domain {igaz, hamis}. Pl Fogfájás (a név mindig nagybet˝ uvel írva). Ekkor a„Fogfájás=igaz” egy elemi kijelentés. Röviden a „Fogfájás=igaz” helyett azt írjuk hogy „fogfá-

 jás” (kisbet˝ uvel). Pl „fogfájás ∧ ¬luk” azt rövidíti hogy „Fogájás=igaz ∧ Luk=hamis”.

• diszkrét : megszámlálható domain. Pl Id ˝ o, ahol a domain pl {nap, es ˝ o, felh ˝ o, hó}. Röviden az„Id ˝ o=nap” elemi kijelentés helyett azt írjuk hogy „nap”.

•folytonos: pl X  véletlen változó, D

⊆R. Pl X 

≤3.2 egy elemi kijelentés.

Komplex kijelentéseket képezhetünk más kijelentésekb ˝ ol a szokásos logikai operátorokkal (∧, ∨, ¬, . . .).

Az elemi esemény (a lehetséges világok analógja) minden véletlen változóhoz értéket rendel: ha azA1, . . . , An véletlen változókat definiáltuk a D1, . . . , Dn domainekkel, akkor az elemi események (le-hetséges világok) halmaza a D1×· · ·×Dn halmaz. Egy lehetséges világban (azaz elemi eseményben)tehát az A véletlen változó a hozzá tartozó D-b ˝ ol pontosan egy értéket vesz fel.

Pl. ha két logikai véletlen változónk van: Luk és Fogfájás, akkor négy elemi esemény van: „luk∧fogfájás”,„luk∧¬fogfájás”, „¬luk∧fogfájás”„¬luk∧¬fogfájás”.

Más tárgyalásokban az elemi események nem származtatottak, hanem azokból indulunk ki. Itt viszont

a nyelvb ˝ ol generáljuk ˝ oket, tehát felfoghatók úgy mintha a megkülönböztethet˝ o lehetséges világokatdefiniálnák.

A fenti definíciók néhány következménye:

1. minden lehetséges világot (tehát az aktuális világot is) pontosan egy elemi esemény írja le(modellezi)

2. egy elemi esemény természetes módon minden lehetséges elemi kijelentéshez igazságértéketrendel

3. minden kijelentés logikailag ekvivalens a neki nem ellentmondó elemi eseményeket leíró kije-

lentések halmazával

46

Page 48: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 48/91

Valószín˝ uség

A fenti konstrukció logikai véletlen változók esetén eddig ekvivalens az ítéletkalkulussal (ill. diszkrétváltozók esetén is az elemi események felett). Ott azonban egy formulával kapcsolatban három lehet-séges tulajdonság valamelyike állt: logikailag (minden modellben) igaz, logikailag hamis, vagy egyiksem.

Ez utóbbi esettr ˝ ol szeretnénk finomabb ítéletet mondani (mégis mennyire „számíthatunk rá” hogyigaz, ha már logikailag se nem igaz, se nem hamis), erre lesz jó a valószín˝ uség.

A valószín˝ uség egy függvény, amely egy kijelentéshez egy valós számot rendel. El ˝ oször a jelölésekettárgyaljuk, a valószín˝ uség tulajdonságait kés ˝ obb.

Legyen P (a) az a kijelentés valószín˝ usége, pl P (Id ˝ o=nap) = 0.5.

Legyen P(A) az A véletlen változó eloszlása, pl P(A)=(0.2, 0.3, 0.4, 0.1), ami azt jelenti hogy

P (Id ˝ o=nap) = 0.2, P (Id ˝ o=es ˝ o) = 0.3, stb. A domain összes elemére megmondja a megfelel ˝ o elemikijelentés valószín˝ uségét.

Legyen P(A,B) az A és B véletlen változók együttes eloszlása, amely A és B összes értékpárjáravonatkozó konjunkció valószín˝ uségét leírja egy táblázatban.

A P(A,a) jelölés (A véletlen változó, a kijelentés) azt a táblázatot jelenti, amelyben a P (A= a1 ∧ a),P (A= a2 ∧ a), stb, értékek szerepelnek, ahol a1, a2, . . . az A változó domainjének az összes eleme.

A fenti jelölések több változóra értelemszer˝ uen kiterjeszthet ˝ ok.

Folytonos változók pontos tárgyalásához mértékelméleti megközelítésre lenne szükség. Intuitíve, aP(A) jelölés itt a s˝ ur˝ uséget  jelöli, ami nem más mint egy D → R típusú függvény, amely x ∈ Dhelyen a dP (A < x)/dx értéket veszi fel (ha létezik, márpedig nem mindig létezik). Ez analóg adiszkrét eloszlással (hasonló alakú képletekben szerepel), de nem valószín˝ uség jelleg˝ u mennyiség.

Feltételes valószín˝ uség

Legyen P (a|b) az a kijelentés feltételes valószín˝ usége, feltéve hogy az összes tudásunk b (b is egykijelentés). pl P (luk|fogfájás) = 0.8.

Definíció szerint P (a|b) = P (a ∧ b)/P (b) (feltéve hogy P (b) > 0).

A szorzatszabály: P (a ∧ b) = P (a|b)P (b) = P (b|a)P (a).

Legyen P(A|B) (ahol A és B véletlen változók) a P (A = ai|B = b j ) feltételes valószín˝ uségek

táblázata, ahol A és B összes lehetséges értékpárját felsoroljuk.Használjuk majd értelemszer˝ uen a P(A|B)=P(A,B)P(B) típusú egyszer˝ usít ˝ o jelöléseket is (ahol tehátnem mátrixszorzatról van szó, és nem is elemenkénti szorzatról). Általában is a P() jelölések azt a céltszolgálják, hogy olyan képleteket fogalmazhassunk meg amelyek a véletlen változók értékadásátólfüggetlenül igazak.

Valószín˝ uség tulajdonságai

Eddig lebegtettük a valószín˝ uség fogalmát, csak azt használtuk hogy egy kijelentés valószín˝ usége egyvalós szám. Most megadjuk a valószín˝ uség axiómáit:

47

Page 49: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 49/91

1. 0 ≤ P (a) ≤ 1

2. P (igaz) = 1, P (hamis) = 0, ahol az igazkijelentés egy tautológia, a hamis pedig ellentmondás.

3. P (a ∨ b) = P (a) + P (b) − P (a ∧ b)

Bizonyítsuk be hogy P (¬a) = 1 − P (a). Tudjuk, hogy P (a ∨ ¬a) = P (a) + P (¬a) − P (a ∧ ¬a).De a tautológiák és ellentmondások valószín˝ usége miatt 1 = P (a) + P (¬a) − 0, ebb ˝ ol kijön.

Hasonló módon belátható hogy egy A diszkrét véletlen változóra

1 =

a A értéke

P (A = a)

hiszen A pontosan egy értéket vesz fel, azaz P (A = a∧A = b) = 0 ha a = b, és P (∨a A értékea) = 1,azaz az A változó elemi kijelentéseihez tartozó valószín˝ uségek (amik A eloszlását definiálják) összege1 (a ∨a A értékea kijelentés tautológia).

Láttuk hogy minden kijelentés elemi események egy halmazával ekvivalens (azon elemi eseményekamelyek konzisztensek a kijelentéssel). Legyen e(a) az a kijeletést alkotó elemi események halmaza.Ekkor belátható, hogy ha e(a) megszámlálható, akkor

P (a) =

ei∈e(a)

P (ei)

hiszen minden ei = e j elemi eseményre P (ei ∧ e j) = 0, és minden állitás elemi események diszjunk-ciójaként írható fel, tehát a diszjunkció axiómájából kijön.

Valószín˝ uségi következtetés

A logikában a logikai következményt néztük: mi az ami mindig igaz a rendelkezésre álló ismereteketfeltéve.

A valószín˝ uségben finomabb a felbontás: a rendelkezésre álló ismeretek fényében mi egy adott ese-mény vagy kijelentés valószín˝ usége? A logikai következmények valószín˝ usége 1 lesz, viszont azokróla dolgokról is mondunk valamit amik nem logikai következmények.

A teljes együttes eloszlásból indulunk ki, ami az összes elemi esemény valószín˝ uségét megadja. Láttukhogy ebb ˝ ol kiszámolható bármely kijelentés valószín˝ usége (tehát feltételes valószín˝ usége is).

Pélául legyenek a véletlen változók Luk, Fogfájás, Beakad,mind logikai típusú. A teljes együttes eloszlást a táblázattartalmazza. Ebb ˝ ol pl P (luk∨fogfájás) = 0.108 + 0.012 +0.072 + 0.008 + 0.016 + 0.064.Speciális eset: amikor elemi kijelentések konjunkcióját néz-zük: ezeket marginális valószín˝ uségeknek  nevezzük. PlP (luk) vagy P (luk∧¬beakad).

Luk Fogfájás Beakad P ()nem nem nem 0.567nem nem igen 0.144nem igen nem 0.064nem igen igen 0.016igen nem nem 0.008igen nem igen 0.072igen igen nem 0.012igen igen igen 0.108

Egyszer˝ usít ˝ o jelölés:P(A) =

b

P(A, b),

48

Page 50: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 50/91

ahol A a változók egy halmaza, és b pedig a többi változó lehetséges értékkombinációin fut végig. Aképlet a szorzat szabályt alkalmazva

P(A) =

bP(A|b)P (b),

aminek a neve feltételfeloldás (conditioning). Ez fontos lesz kés ˝ obb.

A következtetés során van tudásunk, amely tényekb ˝ ol (pl fogfájást tapasztalunk) és általános tudásból(ismerjük a teljes együttes eloszlást) áll. Ekkor kérdezhetünk ismeretlen tények valószín˝ uségére, eza valószín˝ uségi következtetés. A kérdés alakja feltételes valószín˝ uség lesz, pl P (luk|fogfájás) =?, ezpedig

P (luk|fogfájás) = P (luk ∧ fogfájás)/P (fogfájás)

Az eloszlásra ugyanez a példa:

P(Luk|fogfájás) =1

P (fogfájás) P(Luk, fogfájás) = (0.12

P (fogfájás) ,0.08

P (fogfájás) )

Ha a P(Luk, fogfájás) eloszlás ismert, akkor abból 1/P (fogfájás) kiszámolható, mert tudjuk hogyP(Luk|fogfájás) 1-re összegz ˝ odik, tehát 1/P (fogfájás) a megfelel ˝ o normalizálási konstans.

Általában is ez a normalizálási konstans sokszor nem érdekes (pl ha csak a valószín˝ uségek nagyságszerinti sorrendje érdekes). A képlet így

P(A|b) = αP(A, b) = α

x

P(A,b,x)

ahol α a normalizálási konstans, b az ismert tények, x az ismeretlen tények (változók) lehetségesértékei, A pedig az érdekl ˝ odésünk tárgya.

Ez kiszámolható, ha a teljes együttes eloszlás ismert (pl táblázatból). De ez 2n méret˝ u (ha mindenváltozó logikai, n a változók száma), nem skálázódik. F ˝ o kérdés tehát: hatékony módszerek!

Függetlenség

A kijelentések függetlensége a legfontosabb tulajdonság a teljes együttes eloszlás tömöríthet ˝ oségéhez.Két fajtája lesz: függetlenség és feltételes függetlenség.

Az a és b kijelentések függetlenek akkor és csak akkor ha P (a ∧ b) = P (a)P (b).

Az A és B véletlen változók függetlenek akkor és csak akkor ha P(A, B) =P(A)P(B), vagy ekviva-

lensen P(A|B) =P(A), ill. P(B|A) =P(B).Intuitíve két változó független ha az egyik nem tartalmaz információt a másikról. Gondoljuk meghogy ha véletlen számokkal töltjük ki a teljes együttes eloszlás táblázatát, akkor független vagy függ ˝ ováltozókat kapunk? Függ ˝ oket! A függetlenség tehát struktúrát takar amit tömörítésre használhatunk.

Ha a változók halmaza felosztható független részhalmazokra, minden részhalmaznak lesz egy sajátegyüttes eloszlása, majd a független részhalmazokhoz tartozó valószín˝ uségeket egyszer˝ uen összeszo-rozzuk. Ha n változó van, és ezek pl két független részhalmazt alkotnak m és k mérettel (n = m + k),akkor, pl logikai változók esetén, 2m + 2k valószín˝ uséget tárolunk 2n helyett, ami sokkal kevesebb.

Extrém esetben, ha minden változó páronként független, akkor csak O(n) értéket kell tárolni, s ˝ ot,ha azonos eloszlásúak is emellett (pl n kockadobás) akkor O(1)-et (ha a változók domainje konstans

számosságú, ahogy itt általában feltesszük).

49

Page 51: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 51/91

Kauzalitás és függetlenség

Fontos hogy a kauzalitás (ok és okozat kérdései) és a függetlenség nem ugyanaz. A függetlenségszimetrikus reláció a változók felett, míg az okozati kapcsolat aszimetrikus.

Pl a Russel-Norvig könyvben (2. kiadás) is rossz a példa! Az Id ˝ ojárás és Fogfájás változóknál füg-getlenségre következtet abból, hogy a fogfájás nem hat kauzálisan az id ˝ ojárásra. Viszont az id ˝ ojáráshathat a fogájásra, tehát nem beszélhetünk mégsem függetlenségr ˝ ol: a fogfájás ténye tartalmazhat egykis információt arról hogy milyen az id ˝ o...

Feltételes függetlenség

Sajnos az abszolút függetlenség ritka. Van azonban egy gyengébb értelemben vett függetlenség defi-níció, amit szintén használhatunk tömörítésre: a feltételes függetlenség.

Az a és b kijelentések feltételesen függetlenek  c feltevésével akkor és csak akkor ha P (a ∧ b|c) =P (a|c)P (b|c). Ekkor a és b nem feltétlenül független abszolút értelemben. Tipikus eset ha a és bközös oka c. Pl a fogfájás és a beakadás közös oka a luk, a fogájás és a beakadás nem független, deha feltesszül hogy van luk, akkor már igen.

Az A és B véletlen változók feltételesen függetlenek C  feltevésével akkor és csak akkor haP(A, B|C ) =P(A|C )P(B|C ), vagy ekvivalensen P(A|B, C ) =P(A|C ), ill. P(B|A, C ) =P(B|C ).

Az elérhet ˝ o tömörítés illusztrálásához nézzük pl

P(A,B,C ) = P(A, B|C )P(C ) = P(A|C )P(B|C )P(C )

ahol A, B és C  jelölje változók diszjunkt halmazait, az els ˝ o egyenl ˝ oség a szorzatszabály, a második afeltételes függetlenség feltevése. Ekkor a P(A|C ), P(B|C ) és P(C ) táblázatok méreteinek az összegesokkal kisebb lehet mint az eredeti P(A,B,C ).

Extrém esetben lehet hogy

P(B1, . . . , Bn|A) =n

i=1

P(Bi|A)

ahol A, B1, . . . , Bn változók. Ez a naiv Bayes modell alakja. Itt O(n) tömörítés érhet ˝ o el, hiszen

P(B1, . . . , Bn, A) = P(A)n

i=1

P(Bi|A)

Bayes szabály

A Bayes szabaly a és b kijelentésekre

P (a|b) =P (b|a)P (a)

P (b)

ami egyszer˝ uen következik abból, hogy

P (a

∧b) = P (a

|b)P (b) = P (b

|a)P (a)

50

Page 52: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 52/91

Általában is

P(A|B) =P(B|A)P(A)

P(B)

ahol A és B változók vagy változók halmazai.

A motiváció az hogy sokszor a „fordított” feltételes valószín ˝ oséget könnyebb megmérni, és a Ba-yes szabály visszavezeti a fordított képletre a problémát. Pl ha az Influenza és Fejfájás változókranézzük: a P(Fejfájás|Influenza) empírikusan jól mérhet ˝ o, viszonylag stabil érték, és nem függ pl aP(Influenzától)-tól. Ezzel szemben a P(Influenza|Fejfájás) függ a P(Influenza) értékét ˝ ol, pl más leszha inluenzajárvány van, más ha nincs, stb. Tehát van háttértudásunk (P(Fejfájás|Influenza)) és aktu-ális tapasztalataink (P(Influenza)), és ebb ˝ ol következtetünk a betegségre a tünetb ˝ ol a Bayes szabálysegítségével.

A P(Fejfájás) ebb ˝ ol a szempontból általában nem fontos, ez éppen a korábban látott normalizálásikonstans. Emiatt sokszor így írjuk:

P(A|B) = αP(B|A)P(A)

Naív Bayes következtetés

A Bayes szabályt és a feltételes függetlenség Bayes modelljét alkalmazva

P(A|B1, . . . , Bn) = αP(B1, . . . , Bn|A)P(A) = αP(A)n

i=1

P(Bi|A)

ahol A, B1, . . . , Bn változók.Pl A lehet igaz ha egy email spam, hamis ha nem, ill Bi pedig az i szó el ˝ ofordulását jelezheti. P(A)és P(Bi|A) könnyen mérhet ˝ o spam adatbázisokból empírikusan. (Habár: Szegeden úgy t˝ unik min-den angol nyelv˝ u email az adminisztráció által gy˝ ujtött lokális spam adatbazisban pozitív példakéntszerepel...).

Fontos hogy nagyon er ˝ os függetlenségi feltevéssel éltünk, a valóságban ez sérülni szokott, viszontnagyon hatékony, és ehhez képest elég pontos is.

51

Page 53: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 53/91

10. fejezet

Valószín˝ uségi következtetés, Bayes hálók

Bayes hálók

Láttuk: (feltételes) függetlenség hasznos mert tömöríthetjük a teljes együttes eloszlás reprezentációját.

A Bayes háló a teljes együttes eloszlás feltételes függetlenségeit ragadja meg egy meghatározott mó-don, és tömör és intuitív reprezentációt (vagy közelítést) tesz lehet ˝ ové.

A Bayes háló a következ ˝ o struktúra:

1. csúcsok : véletlen változók

2. élek : ha X -b ˝ ol Y  csúcsba vezet él, akkor Y  és X nem független. Azt mondjuk X az Y  szül ˝ oje.(Viszont nem igaz hogy ha X  és Y  nem független, akkor van köztük él. S ˝ ot, egy eloszláshozsok különböz ˝ o Bayes háló adható, mint látni fogjuk. Az sem igaz hogy az élek kauzális relációtfejeznek ki!)

3. irányított körmentes: a csúcsok és az élek egy irányított körmentes gráfot alkotnak

4. valószín˝ uségi eloszlások a csúcsokon: egy Y  csúcs szül ˝ oi legyenek X 1, . . . , X  k. Az Y  csúcsonmegadjuk a P(Y |X 1, . . . , X  k) eloszlást.

Egy Bayes háló a benne szerepl ˝ o változók (legyenek ezek X 1, . . . , X  n) felett definiál egy teljes együt-tes eloszlást a következ ˝ oképpen:

P(X 1, . . . , X  n) =n

i=1

P(X i|Szül ˝ ok(X i))

Pl. a korábbi fogászati példához tartozó gráf (eloszlásoknélkül). A hálózatból pl. kiolvasható hogy az id ˝ ojárás(weather) független a többi változótól. Itt konkrétan ok-sági kapcsolatoknak felelnek meg az élek, de mindjárt látjuk

hogy ez nem szükségszer˝ u.

52

Page 54: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 54/91

Egy új példa eloszlásokkal együtt. Itt megint ok-

sági kapcsolatoknak felelnek meg az élek véletle-nül. B, E, A, J és M a változók neveinek rövidíté-sei, T: igaz, F: hamis. (János és Mária a szomszé-dunk, akik megígérték hogy felhívnak ha halljáka riasztónkat, ami viszont kisebb földrengésekreis beindul néha.)Pl. P (B ∧ ¬E  ∧ A ∧ J  ∧ ¬M ) =P (B)P (¬E )P (A|B, ¬E )P (J |A)P (¬M |A) =0.001 · (1 − 0.002) · 0.94 · 0.9 · (1 − 0.7)

Bayes háló konstruálása

A gyakorlatban sokszor egy terület (pl. orvosi diagnosztika) szakért ˝ oje definiálja a változókat és ahatásokat (oksági) a változók között (ez adja az éleket), és szakért ˝ oi és empirikus tudás segítségévelkitöltjük a változókhoz tartozó feltételes eloszlásokat.

Elméleti szempontól bármely adott együttes eloszlásra (diszkrét változók felett) konstruálható Bayesháló a következ ˝ oképpen:

• Legyen X 1, . . . , X  n a változók egy felsorolása

• írjuk fel a láncszabályt:

P(X 1, . . . , X  n) = P(X 1|X 2, . . . , X  n)P(X 2, . . . , X  n) = · · · =n−1i=1

P(X i|X i+1, . . . , X  n)

• Minden P(X i|X i+1, . . . , X  n) tényez ˝ ore, az {X i+1, . . . , X  n} változókból veszünk egy Szül ˝ ok(X i)részhalmazt, amelyre igaz hogy

P(X i|X i+1, . . . , X  n) = P(X i|Szül ˝ ok(X i))

és a Szül ˝ ok(X i) halmaz minimális (bel ˝ ole több elem nem hagyható el, különben a fenti tulaj-donság sérül). Ez a lépés a tömörítés, és akkor van szerencsénk ha a Szül ˝ ok(X i) halmaz nagyonkicsi.

• Ekkor a Bayes háló struktúráját a Szül ˝ ok(X i) halmazok definiálják értelemszer˝ uen, és az elosz-lások pedig a P(X i|Szül ˝ ok(X i)) eloszlások lesznek.

Fontos: az els ˝ o lépésben rögzített változósorrendt ˝ ol függ a Bayes háló: bármely sorrendre kijön egystruktúra, ami nem feltétlenül ugyanaz, tehát a kauzalitásnak nincs kitüntetett szerepe.

53

Page 55: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 55/91

Pl. az el ˝ oz ˝ o példához tartozó Bayesháló M, J, A, B, E sorrend esetén az (a)alakot veszi fel, míg M, J, E, B, A sor-rendben a (b) hálózatot kapjuk. Az (a)hálózatban megfordulnak az oksági vi-szonyok, míg a (b) hálózatban egyálta-lán nincs tömörítés.Kritikus fontosságú tehát a változósor-rend.

Függetlenség és Bayes hálók

A topológiát bizonyos függetlenségek felhasználásával kreáltuk (tömörítési lépés), de nem világos,hogy ha egyszer megvan egy topológia, abból hogyan lehet további függetlenséggel kapcsolatos in-formációkat kiolvasni.

Két eredmény bizonyítás nélkül:

El ˝ oször, ha Y  nem leszármazottja X -nek, akkor

P(X |Szül ˝ ok(X ), Y ) = P(X |Szül ˝ ok(X ))

Másodszor, bármely Y  változóra igaz hogy

P(X |Markov-takaró(X ), Y ) = P(X |Markov-takaró(X ))

Ahol X  Markov takarója X  szül ˝ oinek, X  gyerekeinek, és X  gyerekei szül ˝ oinek az uniója

További tömörítési lehet ˝ oségek

A lényeg, hogy egy Bayes halóban a csúcsokban található eloszlások általában kisebb táblázatok minta teljes táblázat. Pl. ha n logikai változó van, és mindegyiknek max. k szül ˝ oje van, akkor max. n · 2k

valószín˝ uséget kell összesen tárolni, és nem 2n-t. Ez nagyon nagy különbség, ha k kicsi. Sokszorazonban még tovább lehet tömöríteni.

Ha pl. determinisztikus változók vannak, akkor azoknak az értéke a szül ˝ oiknek egyszer˝ u függvénye.Lehet logikai, pl. X  = Y  ∧ Z , vagy numerikus, pl. X  = min(Y, Z ), a változók típusának afüggvényében.

Determinisztikus kapcsolat helyett pl. logikai változók esetében k szül ˝ o esetén 2k helyett k értéktárolása elegend ˝ o lehet bizonyos alkalmazásokban. Pl. a zajos vagy eloszlást a táblázat szemlélteti,ahol Szül ˝ o(Láz) = {Malária,Influenza,Megfázás} (csak a vastagbet˝ us értékeket kell tárolni).

Itt tulajdonképpen azt tettük fel hogy minden betegség esetében a láz gátlódhat, és ennek a gátlásnaka valószín˝ usége különbözik, ill. a gátlások függetlenek.

Másfel ˝ ol nézve, ez ekvivalens azzal, mintha (1) felvennénk három új változót: MaláriaLáz, Influenza-Láz, és MegfázásLáz, mindegyiket egy szül ˝ ovel: Malária, Influenza, ill. Megfázás; (2) majd a Láz

változót determinisztikusan így definiálnánk: Láz ↔ MaláriaLáz ∨ InfluenzaLáz ∨ MegfázásLáz

54

Page 56: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 56/91

Malária Influenza Megfázás P (láz) P (¬láz)

H H H 0.0 1.0H H I 0.9 0.1H I H 0.8 0.2H I I 0.98 0.02 = 0.2 x 0.1I H H 0.4 0.6I H I 0.94 0.06 = 0.6 x 0.1I I H 0.88 0.12 = 0.6 x 0.2I I I 0.988 0.012 = 0.6 x 0.2 x 0.1

Folytonos változók

Példa a folytonos változót tartalmazó eloszlásra. Itt a Termés (Har-vest) és az Ár (Cost) változók folytonosak, a Támogatás (Subsidy) ésVásárlás (Buys) diszkrét (logikai).Függvényekkel közelítjük a változók feltételes eloszlásait.

Két eset van: a változó folytonos vagy diszkrét.

1. El ˝ oször nézzük a P(Ár|Támogatás,Termés) esetet. Itt megadjuk a P(Ár|támogatás,Termés) ésP(Ár|

¬támogatás,Termés) eloszlásokat, mindegyik folytonos s ˝ ur˝ uségfüggvény lesz. Pl. lehet

P(Ár|támogatás,Termés)= N (aitermés + bi, σ2i )(Ár)

P(Ár|¬támogatás,Termés)= N (ahtermés + bh, σ2h)(Ár)

ahol N (µ, σ2)(x) a µ, σ2 paraméter˝ u normális eloszlás s˝ ur˝ uségfüggvénye, és az ai, ah, bi, bh, σi, σh

paraméterek segítségével egy lineáris normális feltételes eloszlást definiáltunk.

2. Másodszor nézzük a diszkrét esetet: P(Vásárlás|Ár). Intuitíve, ha az ár magas, a vev ˝ o nemvásárol, ha alacsony, igen, a kett ˝ o között pedig szeretnénk folytonos átmenetet. Ekkor lesz egyküszöbérték amelynél a vev ˝ o éppen 0.5 valószín˝ uséggel fog vásárolni.

Tehát a P (vásárlás|Ár=c) függvényt kell egy küszöbfüggvény formájában definiálni, ami 0 ha c

kicsi, 1 ha c nagy, és egy c = µ értéknél veszi fel a 0.5 értéket.

Vehetjük a P (vásárlás|Ár=c) = Φ((−c + µ)/σ) függvényt, ahol Φ a standard normális elosz-lásfüggvény. Ez a probit függvény, amelynek a küszöbértéke a µ-nél van, és kb. σ kiterjedés˝ ua bizonytalan döntés zónája.

Vagy vehetjük a szigmoid függvényt (logit függvény):

P (vásárlás|Ár = c) =1

1 + exp(−2−c+µσ )

55

Page 57: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 57/91

Valószín˝ uségi következtetés

Már láttuk hogy P(A|b) = αP(A, b) = α

x

P(A,b,x)

ahol α a normalizálási konstans, b az ismert tények, x az ismeretlen tények (változók) lehetségesértékei, A pedig az érdekl ˝ odésünk tárgya.

Azt mondtuk hogy ez kiszámolható, ha a teljes együttes eloszlás ismert. El ˝ oször megnézzük hogy aBayes hálóból ez hogyan tehet ˝ o meg egzakt módon, aztán közelítési módszereket nézünk.

Például a betör ˝ os példában

P(B| j, m) = αP(B,j,m) = α

e a

P(B,j,m,e,a)

ahol (mint eddig) a kisbet˝ u értéket, a nagybet˝ u változót jelöl, e és a pedig az E  és az A értékein futvégig. Használjuk a Bayes hálót a „betörés, feltéve hogy János és Mária hívott” tényállás valószín˝ u-ségének a kiszámolására:

P (b| j, m) = αP (b,j,m) = α

e

a

P (b,j,m,e,a) = α

e

a

P (b)P (e)P (a|b, e)P ( j|a)P (m|a)

Ennek a m ˝ uveletigénye a legrosszabb esetben (ha majdnem minden változóra összegzünk) O(n2n)(max 2n db n tényez ˝ os szorzat). Viszont kiemeléseket végezhetünk:

αP (b,j,m) = αP (b)e

P (e)a

P (a|b, e)P ( j|a)P (m|a)

Ennek a kiértékelése pl. megoldható egy rekurzív algoritmussal („balról jobbra” vesszük a változókat,és mindegyiknek vesszük a lehetséges értékeit), aminek a m˝ uveletigénye O(2n) (fabejárás), ami mégmindig elég nagy.

(Kiszámolva ¬b-re is, és normalizálva, az jön ki hogy P (b| j, m) = 0.284.)

Még hatékonyabban is kiszámolhatjuk ezt az összeget dinamikus programozás segítségével. Ehhezkét ötletet használunk fel (vázlatos):

1. A kiemelések után kapott képletet „jobbról balra” számoljuk ki, azaz a részeredményeket csakegyszer, és ezeket a memóriában tároljuk, amivel a redundancia megsz˝ unik. A memóriaigény

sem n ˝ o mindig mert a részeredményekb ˝ ol néha kiösszegezünk változókat (amikor jobbról balraegy

 jelhez érünk).

2. Bizonyos változókat kihagyhatunk teljesen a képletb ˝ ol (nem kell összegezni rájuk), konkrétanazokat amik nem a kérdés változójának (fenti példában B) vagy az ismert érték˝ u változóknak,azaz tényeknek (fenti példában j és m) az ˝ ose. Ezek irrelevánsak.

Ennek az algoritmusnak a hatékonysága nagyban függ a Bayes háló struktúrájától. Ha a gráf  polifa(erd˝ o), azaz az élek irányításának elhagyásával nincs benne kör, akkor lineáris idej˝ u az algoritmus afeltételes eloszlás táblázatok összes sorainak a számában.

Általános esetben #P-nehéz (számosság-P-nehéz), nehezebb mint az NP-nehéz problémák, olyan

nehéz mint pl. a kielégíthet ˝ oségi problémánál a kielégít ˝ o megoldások számának a megadása.

56

Page 58: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 58/91

Közelít ˝ o valószín˝ uségi következtetés

Egy új példa eloszlásokkal együtt. C, S, W, R aváltozók neveinek rövidítései (sprinkler=locsoló),

T: igaz, F: hamis. Ez a Bayes hálók klasszikuspéldája (a magyar kiadásban az i/h felcserélve).

Közvetlen mintavétel

Cél: (1) Teljes együttes eloszlás szerint generálni változó hozzárendeléseket véletlenszám generátorral(2) Ezekb ˝ ol a mintákból következtetni a lekérdezés valószín˝ uségére a gyakoriságok megfigyeléséneka segítségével.

 Hogyan? Kezdjük a szül ˝ o nélküli változókkal, és haladjunk „lefelé”. Pl. kövessük nyomon egykonkrét változóhozzárendelés generálását. (1) P (c) = P (¬c) = 0.5, tehát pénzfeldobással döntünk,legyen a hozzárendelés

c(azaz C=igaz). Ekkor (2)

P (s|c) = 0.1 = 1 − P (¬s|c), tegyük fel hogy

¬s-et húzunk. (3) Az r változó esete teljesen hasonló, tegyük fel hogy ott r-t húzunk. (4) Végültudjuk hogy P (w|¬s, r) = 0.9, tegyük fel hogy w-t húzunk.

A minta amit vettünk tehát (w, ¬s,r,c). Ezt ismételjük addig, amíg a lekérdezéshez szükséges gya-koriságok közelítéséhez elegend ˝ o minta lesz, hiszen

P (w, ¬s,r,c) = limN →∞

N (w, ¬s,r,c)

ahol N  az összes minta száma, N (w, ¬s,r,c) pedig a megadott hozzárendelést tartalmazó mintákszáma.

Nem teljes hozzárendelés valószín˝ uségét is ugyanígy közelítjük, pl.

P (w) = limN →∞

N (w)N 

= limN →∞

S,R,C  N (w,S,R,C )

Elutasító mintavétel

Ha egy eloszlásból nem tudunk közvetlenül mintát venni, akkor sokszor megtehetjük hogy el ˝ oszörveszünk mintát egy másik eloszlásból, és néhány mintát „kidobunk”. Pl. a P (w|c) feltételes való-szín˝ uséghez tartozó gyakoriság közelítéséhez eldobjuk azokat a mintákat amelyekben ¬c szerepel. Amaradék minták számát jelölje N ′ ill. N ′(). Ekkor

P (w

|c) = lim

N ′→∞

N ′(w)

N ′

57

Page 59: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 59/91

Valószín˝ uségi súlyozás (likelihood weighting)

Feltételes valószín˝ uség közelítésénél az elutasító mintavétel eldobja azokat a mintákat amik nem kon-zisztensek a feltételekkel. Ehelyett sokkal okosabbat is lehet tenni: ha egy változó értéke a feltételbenszerepel (más szóval ismert tény) akkor nem véletlenül húzzuk az értékét, hanem helyette súlyozzuk amintát az ismert feltételes valószín˝ uségekkel.

Pl. Tegyük fel hogy ismert tény hogy s és w, és ezzel konzisztens mintát akarunk venni. Az elutasítómódszer vesz egy teljes mintát közvetlen mintavétellel és eldobja ha ¬s vagy ¬w szerepel benne.Ehelyett így csináljuk: Legyen a minta súlya kezdetben x = 1. (1) P (c) = P (¬c) = 0.5, tehátpénzfeldobással döntünk, legyen a hozzárendelés c (azaz C=igaz). Ekkor (2) P (s|c) = 0.1 = 1 −P (¬s|c). De most tudjuk hogy s. Ennek a valószín˝ usége 0.1 lett volna, tehát megjegyezzük: x =x · 0.1 = 0.1. (3) Az r változónak mintavétellel kell értéket adni, az alapján hogy P (r|c) = 0.8 =1 − P (¬r|c), tegyük fel hogy r-t húzunk. (4) Végül, tudjuk hogy w. De ennek a valószín˝ usége

P (w|s, r) = 0.99 lett volna, ezt is megjegyezzük: x = x · 0.99 = 0.099.A konkrét minta amit vettünk tehát (w,s,r,c), a súlya pedig 0.099. Ezt ismételjük addig, amíg alekérdezéshez szükséges gyakoriságok közelítéséhez elegend ˝ o minta lesz. Legyenek m1, . . . , mN  aminták, w(mi) pedig az i. minta súlya. Ekkor pl.

P (c, r|s, w) = limN →∞

mi-ben C=R=igaz w(mi)N 

i=1 w(mi)

P (¬c|s, w) = limN →∞

mi-ben C=hamis w(mi)

N i=1 w(mi)

Így csak releváns mintákat generálunk, de ha túl sok a tény, és/vagy a tények túlságosan „lent” vannaka Bayes hálóban, akkor nagyon sok nagyon kis valószín˝ uség˝ u (súlyú) mintát fogunk generálni.

Markov lánc Monte Carlo (MCMC)

Nem változónkénti mintavétel, hanem teljes változóhozzárendelések feletti okosan tervezett véletlenséta (miközben a tények fixen maradnak). Ennek a véletlen sétának az állomásai lesznek a mintákamiket használunk. (Amit nézünk az a Gibbs mintavételezési eljárás.)

Pl. tegyük fel mint az el ˝ obb, hogy ismert tény hogy s és w, és ezzel konzisztens mintát akarunk venni.Ekkor

1. Az ismeretlen változókat (R és C ) tetsz ˝ olegesen inicializáljuk, így kapunk egy kezdeti állapotot.Pl. legyen ez (s,w, ¬r, c).

2. A C változóból mintát veszünk a P(C |Markov-takaró(C )) =P(C |s, ¬r) eloszlásnak megfelel ˝ ovalószín˝ uségekkel. Tegyük fel hogy az eredmény ¬c. Ekkor az új állapot (s,w, ¬r,¬c).

3. Az R változóból mintát veszünk a P(R|Markov-takaró(R)) =P(R|¬c,s,w) eloszlásnak meg-felel ˝ o valószín˝ uségekkel. Tegyük fel hogy az eredmény r. Ekkor az új állapot (s,w,r, ¬c).

A fenti algoritmus során a (2) és (3) lépésben is generáltunk egy mintát. Az ismeretlen változók

újramintavételezését (fenti példában (2) és (3) lépés) ismételjük addig, amíg a lekérdezéshez szüksé-

58

Page 60: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 60/91

ges gyakoriságok közelítéséhez elegend ˝ o minta lesz. A minták felhasználása megegyezik az elutasítómintavételnél látottakkal.

Jegyezzük meg hogy egy X  változóra P(X |Markov-takaró(X )) kiszámolható a Bayes hálóból:

P(X |Markov-takaró(X )) = αP(X |Szül ˝ ok(X ))

Y gyerekeX -nek

P(Y |Szül ˝ ok(Y ))

 Miért m ˝ uködik? Ötlet: bizonyítható hogy az iteráció során egy „dinamikus egyensúly” alakul ki, aholminden állapot (azaz minden, tényekkel konzisztens, teljes változókiértékelés) éppen a valószín˝ usé-gének megfelel ˝ o gyakorisággal lesz érintve. Ez pedig abból következik, hogy az állapotok közöttiátmenetek valószín˝ uségeit tartalmazó állapotátmenet mátrix domináns sajátvektora lesz az az (ún sta-cionárius) eloszlás (bizonyos gyenge feltételek mellett) ami a fenti dinamikus egyensúlyi helyzetetdefiniálja, márpedig az állapotátmenetek definíciójából belátható, hogy ez éppen a megfelel ˝ o elosz-

lás.

59

Page 61: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 61/91

11. fejezet

Tanulás

Tapasztalati (megfigyelt) tények felhasználása arra hogy egy racio-nális ágens teljesítményét növeljük.

1. felügyelt tanulás: Egy f  : A → B függvényt kell ta-lálni példák alapján, amelyek (a1, f (a1)), . . . , (an, f (an))alakban adottak. Pl. (a) A: emailek halmaza, B ={spam,¬spam}, a példák pedig kézzel osztályozott emailek(spam sz˝ ur ˝ o tanítása), vagy (b) A: részvényindex id ˝ osorai,B = {emelkedik,esik}, (t ˝ ozsdéz ˝ o program), stb.

2. felügyelet nélküli tanulás: a példák csak a1, . . . , an alakbanadottak, és nem függvényt kell keresni, hanem mintázatokat,pl. klasztereket, vagy eloszlást.

3. meger˝ osítéses tanulás: Szokás külön kategóriának venni ameger ˝ osítéses tanulást, ahol az A → B függvény létezikugyan, de tanuló példák nem adottak direkt módon. A fel-adat itt az hogy egy állapottérben az ágens megtanulja az op-timális stratégiát (A az állapotok, B pedig a cselekvések) úgyhogy a csak a célállapotokban értelmezett jutalomfüggvénymaximalizálását érje el. felügyelet nélküli tanulás

felügyelt tanulás

Számos finomabb megkülönböztetés van, pl. felügyelt tanulás esetén a példák folyamatosan gy˝ ulnektanulás közben, vagy akár az ágens kérdéseket tehet fel egy orákulumnak (aktív tanulás), stb.

 Reprezentáció: Mik legyenek az A ill. B halmazok, ill. az A → B függvény alakja? Lehet folytonosvagy konceptuális, valószín˝ uségi vagy logikai reprezentációnk, de absztraktabb problémák esetébensem egyértelm˝ u a reprezentáció (szövegek, képek, stb., reprezentációja pl.). Felügyelt esetben a függ-vényt, vagy felügyelet nélküli esetben a mintát, mindig adott alakban keressük, pl. adott fokszámúpolinom, Boole függvények adott osztálya, stb. Kereshetnénk Turing gépet, csak ekkor (1) nem ta-lálunk hatékony algoritmust és (2) túl általános is a reprezentáció: sok Turing gép illeszkedhet azadatokhoz, melyiket válasszuk??

Az ideális reprezentáció éppen annyira általános (kifejez ˝ o) amennyire kell (nem jobban, nem ke-

vésbé). Az a priori ismeretek fontossága: a tabula rasa tanulás lehetetlen. A reprezentáció pl. a priori

60

Page 62: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 62/91

ismeret.

Felügyelt (induktív) tanulás

Egyszer˝ u függvényközelítést ˝ ol magáig a tudományig sok mindent lefed.

Adott egy f  : A → B függvény és x1, f (x1), . . . , xn, f (xn) tanuló példák. Keressünk egy h : A →B függvényt amely f -et közelíti.

A h függvény konzisztens az adatokkal ha h(xi) = f (xi) minden példára.

A h függvény mindig egy H  hipotézistér eleme. H  lehet pl. k-ad fokú polinomok, vagy bármilyenalkalmas függvényhalmaz. A tanulás realizálható ha létezik h ∈ H  amelyre h konzisztens.

A gyakorlatban elég ha h „közel” van a példákhoz, nem kell pontosan illeszkednie feltétlenül.

(a) és (b) ábra: az általánosabb H  nem mindig jobb. (c) és (d) ábra: nemcsak az általánosság miattfontos mi a H .

 Indukció problémája: f  jó közelítése olyan amely a példákon kívül is jól közelíti f -et, azaz jól általá-nosít . Ez nehéz és nagyon érdekes kérdés!

Pl. az a h, amelyre h(x) = f (x) minden példára, egyébként h(x) = 0, tökéletesen megtanulja apéldákat, de a lehet ˝ o legrosszabban általánosít (általában...). Ez a magolás (rote learning).

Emiatt tömör reprezentációra kell törekedni, lehet ˝ oleg tömörebbre mint a példák listája, így biztosankiküszöböljük a magolást. Ez az elv az Occam borotvája: ha más alapján nem tudunk választani,akkor a lehet ˝ o legtömörebb leírást kell venni. De: vannak listák amik nem tömöríthet ˝ ok (véletlenlisták, Kolmogorov komplexitás).

Emellett egyszer˝ u reprezentáció és hipotézistér is kell a hatékonyság miatt. Az túl egyszer˝ u reprezen-táció azonban sokszor komplex hipotéziseket eredményez, pl. predikátumlogika vs. ítéletlogika.

Döntési fák

Az induktív tanulás egy konkrét példája. Feltesszük hogy x ∈ A diszkrét változók értékeinek vektora,és f (x) ∈ B egy diszkrét változó egy értéke (pl. B = {igen,nem}).

Mivel B véges halmaz, osztályozási feladatról beszélünk, ahol A elemeit kell osztályokba sorolni, ésaz osztályok B értékeinek felelnek meg. (Ha B folytonos, akkor regresszióról beszélünk.)

61

Page 63: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 63/91

Feladat: döntsük el hogyérdemes-e asztalra várni egyétteremben. Döntési probléma(kétosztályos (igen,nem) osz-tályozási feladat). Az A hal-maz pedig a változók (Vendég,Éhes, stb.) értékeinek a vek-tora.Minden változó diszkrét.

A döntési fa el ˝ onye hogy a döntései megmagyarázhatók, mert emberileg értelmezhet ˝ o lépésekben jutunk el a döntésig. Pl. a mesterséges neurális hálókra ez nem igaz.

Kifejez ˝ o er ˝ o

Éppen az ítéletkalkulus. (1) Ítéletek: pl. Vendégek=senki, Éhes=igen, stb. (2) Egy x ∈ A változó egymodell (3) a döntési fa egy logikai formula: a fából logikai formula gyártható, és fordítva.

Fa ⇒ formula: vesszük az összes olyan levelet amelyen az igen címke van, és az oda vezet ˝ o utakban

∧-sel összekötjük az éleket, és az utakat

∨-gyal összekötjük. A fenti példát pl. így:

Fa ≡ (Vendégek=néhány) ∨ (Vendégek=tele ∧ Várakozás=0-10) ∨ . . .

Formula ⇒ fa: vegyük a logikai formula igazságtábláját, és minden igaz sornak feleltessünk megegy levelet, amelyre az igaz címkét írjuk. Naiv esetben az összes változó minden felsorolásáhozfelírható egy fa amelyben minden ponthoz pontosan egy változót rendelünk (egy változót esetleg többponthoz is), a gyökérhez az els ˝ o változót, az élek a ponthoz rendelt változó lehetséges értékei, és egypont szomszédjaihoz a felsorolásban következ ˝ o változót rendeljük. Minden lehetséges modellhez egylevél tartozik egy ilyen fában.

A fenti naiv faépítés nagy fákat eredményez. Kérdés: tömöríthet ˝ o-e a reprezentációja egy formulának?Néha nem, pl. paritásfüggvény, vagy nem nagyon, pl. többségi függvény. Viszont a gyakorlatbanáltalában lehet tömöríteni, éppen ez lesz a célunk. Pl. ha egy változótól nem függ az igazságérték,akkor egyáltalán nem kell szerepelnie a döntési fában.

Döntési fa építése

Adottak pozitív (igaz) és negatív (hamis) példák. Pl.

Vedégek=tele, Várakozás=10-30, ... (összes változó (más néven attribútum vagy jellemz ˝ o) értékadása)→ igaz

Ilyen példákból adott tipikusan több száz.

62

Page 64: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 64/91

A példákat „bemagolni” könny˝ u: pl. minden pozitív ill. negatív példához gyártsunk egy utat a fában amegfelel ˝ o (igaz vagy hamis) címkével, a többi döntés legyen tetsz ˝ oleges (a korábban leírt módszerrel,

a változók sorbarendezésével, megoldható). De láttuk ez nem általánosít: tehát tömöríteni kellene.Ötlet : a gyökérbe vegyük azt a változót amelyik a legtöbb információt hordozza (legjobban szeparáljaa pozitív és negatív példákat). Rekurzívan:

1. válasszuk ki a gyökér változót és szeparáljuk a példá-kat a változó értékei szerint

2. a gyökér minden rögzített változóértékére és a hozzátartozó példa részhalmazra rekurzívan ugyanez, fel-használva a még nem rögzített változókat. i i i h h h

A

i h i h i h

Bi h i h

i h i h i h

A speciális esetek amik megállítják a rekurziót:

1. ha csak pozitív vagy negatív példa van, akkor levélhez értünk, megcímkézzük megfelel ˝ o módon

2. ha üres halmazról van szó (ez akkor lehet ha többérték˝ u változó a szül ˝ o): alapértelmezett érték,pl. a szül ˝ oben a többségi döntés

3. ha pozitív és negatív példa is van, de nincs több változó (ez akkor lehet ha zajjal terheltek (nemkonzisztensek) a példák): ekkor a többségi szavazattal címkézhetjük a levelet

A legjobban szeparáló attribútum

Ötlet : adott változó ismerete megnöveli az információt arról hogy egy példa „igen” vagy „nem”.

 Információ: információelméleti értelemben. Egy p valószín˝ uség˝ u esemény információtartalma defi-níció szerint − log p. Ha log2-t használunk, mértékegysége a bit.

Egy A véletlen változó információtartalma, más néven entrópiája az A egy konkrét értéke által hor-dozott információ várható értéke, ami a változó p1, . . . , pn eloszlásából kiszámolható:

I (A) = I ( p1, . . . , pn) = −

i

 pi log pi, ahol

i

 pi = 1

Legyen a döntési fa egy pontjához tartozó összes konzisztens példában p pozitív és n negatív példa.Ekkor azt mondjuk hogy a döntési fa ezen pontjának információtartalma

p p + n

, n p + n

= − p

 p + nlog p

 p + n− n

 p + nlog n

 p + n

Az információnyereség egy A változóra nézve ugyanebben a pontban a következ ˝ o:

Nyereség(A) = I 

p

 p + n,

n

 p + n

i

 pi + ni

 p + nI 

pi

 pi + ni,

ni

 pi + ni

ami nem más mint a pont információtartalmának és az A változó szerinti felosztás után keletkez ˝ o gye-rek pontok átlagos információtartalmának a különbsége ( pi és ni az A változó i. lehetséges értékévelkonzisztens pozitív ill. negatív példák száma).

Ennek fényében válasszuk a maximális nyereség˝ u attribútumot a gyökérbe.

63

Page 65: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 65/91

Zajsz˝ urés az attribútumválasztásban

Említettük a magolás problémáját. Hasonló (de nem ugyanaz) a túlillesztés problémája, ahol „túlsá-gosan pontosan” illesztjük az adatokra a modellt, ami akkor fordul el ˝ o, ha túl általános (nagy kifejez ˝ o-erej˝ u) a modellünk (pl. magas fokszámú polinom szemben a lineáris közelítéssel), vagy ha túl kevés apélda. Ilyenkor már általában a zajt reprezentáljuk, nem a lényeget, és az általánosítási képesség ezértcsökken.

Pl. ha dobókockával dobjuk a példákat, és lejegyzünk irreleváns attribútumokat, pl. a kocka színét, adobás idejét, stb. Az irreleváns attribútumok információnyeresége elméletben nulla. A gyakorlatbanviszont nem (véges számú minta), tehát felépül egy döntési fa, ami értelmetlen: túlillesztettük.

Zajt sz˝ urhetünk úgy hogy megnézzük hogy az információnyereség statisztikailag szignifikáns-e?

Pl. χ2 próba: legyen az i szín˝ u kocka szerinti felosztáshoz tartozó minták száma pi és ni,i pi = p,i ni = n. Vegyük a

ˆ pi = p pi + ni

 p + n, ni = n

 pi + ni

 p + n

értékeket, ahol a ˆ pi és ni a null hipotézishez tartozó pozitív és negatív példák száma. A null hipotézisszerint tehát minden színre a pozitív és negatív példák aránya ugyanaz mint a felosztás el ˝ ott. Ekkor a

D =

i

( pi − ˆ pi)2

ˆ pi+

(ni − ni)2

ni

statisztika értékét kell a χ2 eloszlással összevetni, és ha nem tudunk a null hipotézis elvetése mellettdönteni, akkor nem osztunk fel az adott változó szerint.

Ez az algoritmus a χ2 metszés.

Néhány gyakorlati megjegyzés

 Hiányos adatok : Egyes példákból hiányozhatnak bizonyos attribútumok értékei. Ekkor pl. mindenlehetséges értéket behelyettesítve (esetleg a többi példában szerepl ˝ o gyakoriságnak megfelel ˝ oen) fel-vehetünk új példákat.

Sokérték˝ u attribútumok : Nagy információnyereség azért mert sok az érték (nem feltétlenül a jó sze-paráció miatt). Vannak módszerek arra hogy normalizáljuk a nyereséget magában az attribútumbanlév ˝ o információmennyiséggel.

Folytonos változók : Építhetünk fát, de ehhez diszkretizálni kell a változót. A diszkretizáció mindenpontban, ahol az adott változó szerint szeparálunk, lehet akár más, pl. optimalizálhatjuk vele azelérhet ˝ o nyereséget.

Folytonos kimenet : Ez már sok trükköt igényel: regressziós fa, ahol a leveleken egy függvény van,amely a levélhez vezet ˝ o úton lév ˝ o változóktól függ.

Induktív tanulóalgoritmusok kiértékelése

Hogyan buktatjuk le a magolókat és a túlillesztést?

Legegyszer˝ ubb módszer: a példákat két részre osztjuk: (1) tanuló halmaz és (2) teszt halmaz. A tanuló

halmazon állítjuk el ˝ o a hipotézist (pl. döntési fát), és a teszt halmazon értékeljük ki.

64

Page 66: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 66/91

A kiértékelés mér ˝ oszáma sokféle lehet. Mi a jól osztályozott példák százalékos arányát nézzük (annakellenére hogy elég problémás, mert pl. ha a példák túlnyomó többsége pozitív, akkor ez a százalék

magas akkor is ha mindenre vakon azt mondjuk hogy pozitív, stb.).Kukucskálás (peeking): Hiába szeparáljuk a teszt halmazt; ha a teszt halmazon látott teljesítményalapján optimalizáljuk az algoritmusunk paramétereit, akkor a teszthalmaz is hatással lesz, és onnantólfogva nem tudjuk hogy az algoritmus milyen jól általánosít. Elvben minden paraméterbeállításnál újteszthalmaz kellene.

Keresztvalidáció (cross validation): Hogy lehet a leghasznosabban felhasználni a példákat tesztelésre?Sokféle tanuló/teszt felosztás kell:

1. Osszuk fel a példahalmazt k egyenl ˝ o részre.

2. Építsünk k modellt a következ ˝ oképpen: egy modellhez vegyünk egy részhalmazt teszthalmaz-

nak, és a maradék k − 1 részhalmaz unióján tanítsuk a modellt.3. Értékeljük ki mindegyik modellt a saját teszthalmazán, és vegyük az értékelések átlagát.

Így minden példa tanuló és teszt példa is egyben. A leginformatívabb az az eset amikor k éppen apéldák száma (leave-one-out cross validation), de ez nagyon id ˝ oigényes. Leggyakrabban k = 10.

Hipotézisegyüttesek

Sokszor érdemes több modellt gyártani, esetleg sokfajta mo-dellt más algoritmusokkal, és pl. többségi szavazást alkal-mazni. Miért? (1) A különböz ˝ o modellek hibái nem ugyan-olyanok, ideális esetben egymástól függetlenek, tehát statisz-tikailag megbízhatóbb eredményt adhatnak (2) egyszer˝ u mo-dellek kombinációja ekvivalens lehet komplexebb modellek-kel (ábra).

Turbózás (boosting)

Gyenge modellek együttesét állítja el ˝ o, miközben az egyes modelleket és a példákat is súlyozza.Bármilyen gyenge algoritmust „felturbóz”.

Fontos hogy feltesszük hogy minden (xi, yi) példához egy wi súlyt rendelünk, és ezt a tanuló algorit-musnak kezelni kell tudni. Pl. a döntési fa tudja kezelni, mert a pozitív és negatív minták számolásahelyett a súlyokat összegezhetjük.

Az L algoritmus gyenge, ha a tanító példák felett jobb modellt állít el ˝ o mint a találgatás (a súlyokatis figyelembe véve), azaz pl. kétosztályos tanulásnál a tanító példák legalább 50%-át (50% összsúlyúrészét) jól osztályozza mindig.

A nehéz példák és a jó hipotézisek nagyobb súlyt kapnak.

Pl. L lehet döntési tönk , azaz olyan döntési fa, amely csak a gyökeret tartalmazza (egy változót).

65

Page 67: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 67/91

AdaBoost(példák, L, M)

// példák: (x_i,y_i), i=1,...,N

// L: gyenge tanuló algoritmus

// M: hipotézisek száma az együttesben// w_i: i. példa súlya, kezdetben 1/N

// h_i: i. hipotézis (i=1,...,M), z_i: h_i súlya

1 for m=1 to M

2 h_m <- L(példák, w)

3 hiba <- 0

4 for j=1 to N

5 if h_m(x_j)!=y_j then hiba <- hiba+w_j

6 for j=1 to N

7 if h_m(x_j)==y_j then w_j <- w_j*hiba/(1-hiba)

8 normalizáljuk w-t (összeg legyen 1)

9 z_m <- log( (1-hiba)/hiba )

10 return súlyozottTöbbség(h,z)

Érdekes hogy a túlillesztés nem jelentkezik ha növeljük M -et, s ˝ ot, az általánosítás egyre jobb lesz.Rengeteg elméleti eredmény ismert a témában, de ezeket nem tárgyaljuk.

66

Page 68: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 68/91

12. fejezet

Statisztikai tanulás

Az alaphelyzet ugyanaz mint korábban: tanulási probléma, példák, hipotézisek. Felügyelet nélkülitanulás, bár alkalmazható felügyelt tanulásra is.

Szemléltet˝ o példa: meggy és citrom íz˝ u cukor (1) ugyanolyan csomagolásban de (2) ötféle zacskóban,amelyekben különböz ˝ o arányban vannak a cukrok. Tudjuk hogy a lehetséges arányok a következ ˝ ok:

h1 100% meggyh2 75% meggy 25% citromh3 50% meggy 50% citromh4 25% meggy 75% citromh5 100% citrom

Ezek lesznek a hipotézisek. A példák egy adott zacskóból vett D1, . . . , DN  minták (Di értéke„meggy” vagy „citrom”), és a felügyelet nélküli tanulási feladat itt az, hogy döntsük el melyik hi-potézis igaz.

Bayes tanulás

A következ ˝ o fogalmak fontosak:

Prior : P (hi), azaz a hipotézisek a priori (tapasztalat el ˝ otti, azaz példákat nem tekint ˝ o) valószín˝ usége.

(A fenti példában eleve csak ötféle hipotézis valószín˝ usége különbözik nullától, ami nagyon er ˝ os apriori tudás.)

Posterior : P (hi|d), (d a megfigyelt adatok) azaz a hipotézisek valószín˝ usége, feltéve hogy a d ténye-ket ismerjük.

 Likelihood : P (d|hi), azaz a megfigyelt adatok valószín˝ usége, feltéve hogy a hi hipotézis áll fenn.

A prior valószín˝ uségek fejezik ki a világról alkotott háttértudásunk egy jelent ˝ os szeletét.

Az általános Bayes tanulás célja a posterior valószín˝ uségek megadása:

P (hi|d) = αP (d|hi)P (hi), α = 1/P (d)

67

Page 69: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 69/91

0

0.2

0.4

0.6

0.8

1

0 2 4 6 8 10

   P  o  s   t  e  r   i  o  r  p  r  o   b  a   b   i   l   i   t  y  o   f   h  y  p  o   t   h  e  s   i  s

Number of samples in d

P(h1 | d)P(h2 | d)P(h3 | d)P(h4 | d)P(h5 | d)

0.4

0.5

0.6

0.7

0.8

0.9

1

0 2 4 6 8 10

   P  r  o   b  a   b   i   l   i   t  y   t   h  a   t  n  e  x   t  c  a  n   d  y   i  s   l   i  m  e

Number of samples in d

A posterior valószín˝ uségek ismeretében egy ismeretlen X változó posterior eloszlását is megadhatjuk:

P(X |d) =

i P(X, hi|d) =

i P(X |hi, d)P (hi|d) =

i P(X |hi)P (hi|d)

feltéve hogy P(X |hi) ismert és X  független d-t ˝ ol feltéve hi.

Pl. legyen a h1, . . . , h5 hipotézisek prior eloszlása (0.1, 0.2, 0.4, 0.2, 0.1). Esetünkben feltehetjükhogy a D1, . . . , DN  adatok független és azonos eloszlású véletlen változók. Legyenek az értékeik (akonkrét megfigyelések) d1, . . . , dN . Ekkor a likelihood P (d|hi) =

 j P (d j |hi), pl. ha h5 áll fenn

(csak citrom), akkor a minták mind citromok lesznek. Ekkor pl. P (d|h3) = (1/2)N . Az α = 1/P (d)normalizálási konstanst a

P (d) =

i

P (d|hi)P (hi)

összefüggésb ˝ ol kiszámolva minden hipotézis P (hi|d) posterior valószín˝ uségét kiszámolhatjuk az egy-szer˝ u példánkban (álalában viszont ez nehéz lehet).

Minél nagyobb a minták száma, annál biztosabb a Bayes döntés, mert a helyes hipotézis posteriorvalószín˝ usége az egyhez tart, a többié pedig nullához. (Minták teljes hiányában (N  = 0) pedig a prioralapján döntünk.)

A Bayes tanulás (ami a posterior valószín˝ uségek meghatározásán, ill. az ezekkel való súlyozásonalapul, ahogy a fenti P(X |d) predikció szemlélteti) optimális, azaz a rendelkezésre álló tudás alapjánnem lehet valószín˝ uségi értelemben jobban dönteni, viszont általában túl költséges: egyszer˝ usítenikell. Erre jó a MAP és a maximum likelihood tanulás.

Maximum a posteriori (MAP) tanulás

A priorokkal súlyozott összeg helyett a maximális P (hi|d)-hez tartozó hi-t egyedül használjuk, ez a MAP hipotézis. Ez „veszélyesebb”, de gyakran olcsóbb. Sok adatból u.oda konvergál mint a Bayes.

A következ ˝ ot vehetjük észre: a MAP hipotézis éppen

hMAP  = arg maxhj

P (h j |d) = arg maxhj

P (d|h j )P (h j) = arg minhj

(− log P (d|h j ) − log P (h j ))

Az utolsó alak információelméleti értelmezése éppen az adatok információtartalma hi mellett és a hi

információtartalma: ennyi bit kell a hipotézis és az adatok együttes leírásához. A MAP hipotézis más

szóval tehát a maximális tömörítést biztosítja.

68

Page 70: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 70/91

Ezen kívül, speciális esetben, ha a P (d|hi) ugyanaz minden i-re, akkor a fenti képlet éppen az Occamborotvája elvét fogalmazza meg: vegyük a legegyszer˝ ubb hipotézist.

Maximum likelihood (ML) tanulás

Ha feltesszük hogy minden i-re a prior valószín˝ uségek megegyeznek, akkor a

hML = arg maxhj

P (d|h j )

maximum likelihood (ML) hipotézis éppen ugyanaz lesz mint a MAP hipotézis.

Az ML hipotézist egyszer˝ ubb kiszámolni viszont pontatlanabb, mert a priorokat nem veszi figye-lembe. Sok (végtelen) adat esetén ugyanazt adja mint a Bayes és a MAP, de kevés adaton problémás.

Tanulás teljesen specifikált példákból

Tegyük fel hogy a tanuló példákban minden változó értéke adott.

Maximum likelihood diszkrét változókkal

1. példa: meggy/citrom példa, de most legyen a meggy/citrom arány tetsz ˝ oleges (θ) és ismeretlen hθ

azt a hipotézist jelöli, amelyben az arány θ.

Legyen N  = m + c független példánk (m: meggyesek, c: citromosak). Ekkor hθ mellett az adatoklikelihoodja

P (d|hθ) =N 

 j=1

P (d j |hθ) = θm(1 − θ)c

Ez Melyik θ-ra maximális? Szokásos trükk: log likelihood  maximuma ugyanott van de könnyebbkiszámolni, mert összeget csinál a szorzatból, amit tagonként lehet maximalizálni:

L(d|hθ) = log P (d|hθ) =N 

 j=1

log P (d j |hθ) = m log θ + c log(1 − θ)

Itt vehetjük a log likelihood deriváltját, maximum csak ott lehet ahol ez nulla:

dL(d|hθ)

dθ=

m

θ− c

1 − θ= 0 −→ θ =

m

Ez elég intuitív eredmény. A maximum megtalálása általában függvényoptimalizálásra vezet (pl.hegymászó, stb.), ritkán adható meg képlettel mint ez a példa.

Mivel priorokat nem használ, kevés adatból nem jó, pl. ha N  = 1, azt mondja hogy minden cukormeggy vagy citrom.

69

Page 71: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 71/91

2. példa: Most legyen csomagolás is: piros és zöld,az ábrán látható Bayes háló szerinti eloszlásban.Három paraméterünk lesz: θ, θ1, θ2. Pl.

P (meggy,zöld|hθ,θ1,θ2) =

P (zöld|meggy,hθ,θ1,θ2)P (meggy|hθ,θ1,θ2) =

θ(1 − θ1)

Megint legyen N  = m + c független példa, ahol a csomagolások ezen belül m = pm + zm ésc = pc + zc. Ekkor

P (d|hθ,θ1,θ2) = θm(1 − θ)cθ pm1 (1 − θ1)zmθ pc

2 (1 − θ2)zc

Ismét a log likelihood módszerével tagonként maximalizálva kaphatjuk hogy θ = m/N , θ1 = pm/m,θ2 = pc/c.

Belátható hogy diszkrét Bayes hálókra mindig hasonló eredmény adódik, a táblázatokat becsüljük agyakoriságokból egymástól függetlenül.

 Alkalmazás: naiv Bayes. Korábban már láttuk az algoritmust. A fentiek szerint a naiv Bayes módszera maximum likelihood módszer alkalmazása, ahol a Bayes háló O(N ) paraméterét kizárólag a mintákgyakorisága alapján töltjük ki. Ez egy olcsó és sokszor jó módszer, turbózással (boosting) pedig még

 jobb.

Maximum likelihood folytonos változókkal

1. példa: Legyenek x1, . . . , xN  N  db független minta a µ, σ paraméter˝ u normális eloszlásból:

P (x) =1

σ√ 

2πe(x−µ)2

2σ2

ahol µ és σ ismeretlen.

A log likelihood ekkor:

L(d|hµ,σ) = N  · (− log σ − log√ 

2π) −N 

 j=1

(x j − µ)2

2σ2

Ebben a deriváltakat µ és σ szerint nullának véve azt kapjuk ML becslésre hogy

µ =1

N  j=1

x j, σ =

  1

N  j=1

(x j − µ)2

ami szintén elég intuitív.

70

Page 72: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 72/91

0

0.5

1

1.5

2

2.5

0 0.2 0.4 0.6 0.8 1

      P   (      Θ   =

      θ   )

Parameter θ

[1,1]

[2,2]

[5,5]

0

1

2

3

4

5

6

0 0.2 0.4 0.6 0.8 1

      P   (      Θ   =

      θ   )

Parameter θ

[3,1]

[6,2]

[30,10]

2. példa: Legyenek most X  és Y  két változó, valamint tegyük fel hogy

P (y|x) =1

σ√ 

2πe(y−(θ1x−θ2))

2

2σ2

és θ1, θ2 ismeretlenek.

Az adathalmazunk alakja tehát (x1, y1), . . . , (xN , yN ). Ismét a log likelihood technikával a problémaaN 

 j=1(y j − (θ1x j − θ2))2 minimalizálására vezet, ami éppen a lineáris regresszió a legkisebb négy- zetek összegének a módszere. A legkisebb négyzetek összegének a módszerével kapott egyenes tehátéppen a maximális likelihood hipotézis, ha az adathalmazunk olyan hogy az y az x-nek és független,normális eloszlású zajnak az összege.

Bayes tanulás

1. példa: Cukorkás példa (ismeretlen paraméter: θ, N  példa), de most a priort (P (θ) = (P (Θ = θ)) isfigyelembe vesszük (a Θ ∈ [0, 1] a hipotézis véletlen változója). Pl. Θ-nak lehet egyenletes eloszlása,ekkor pl. a MAP hipotézis éppen a maximum likelihood hipotézis.

A gyakorlatban sokszor vesszük a béta (β ) eloszlást priornak, a s˝ ur˝ uségfüggvénye:

beta[a, b](θ) = αθa−1(1 − θ)b−1

ahol a és b paraméterek, α normalizálási konstans. Néhány tulajdonság: ha a = b = 1, akkor az

egyenletes eloszlás; ha a = b, akkor szimmetrikus; ha a + b nagy, akkor csúcsos; végül: E (Θ) =a/(a + b).

A Bayes tanulásnál a P(Θ|d) posteriori eloszlást keressük. Legyen a prior beta[a, b](θ), ekkor egyminta után

P (θ|D1 = meggy) = αP (meggy|θ)P (θ) = αθbéta[a, b](θ) = α′θa(1 − θ)b−1 = béta[a + 1, b](θ)

Ez a konjugált prior  tulajdonság, azaz a prior eloszlás ugyanaz mint a poszterior eloszlás, csak másparaméterekkel.

Itt konkrétan a prior interpretációja virtuális számláló, azaz mintha már ismernék a pozitív és b negatívpéldát. Továbbá sok adat (nagy N ) esetén a priortól függetlenül konvergál a θ = a/(a+b) becsléshez,

mint ahogy a MAP és a maximális likelihood becslések is.

71

Page 73: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 73/91

2. példa: cukorka+csomagolás példa (ismeretlen paraméterek: θ, θ1, θ2). Most a prior alakjaP(Θ, Θ1, Θ2). Itt hasznos a változók függetlenségét feltenni: P(Θ, Θ1, Θ2) = P(Θ)P(Θ1)P(Θ2).

Pl. lehet mindegyik béta eloszlású.

Bayes hálók struktúrájának tanulása

Láttuk hogy egy rossz és egy jó Bayes háló között nagy különbség lehet tömörségben. Hogyan ta-lálhatunk jó Bayes hálót adott adatokra? Kézzel (szakért ˝ okkel), vagy automatikusan: optimalizálásiproblémát definiálhatunk.

1. A keresési tér a Bayes hálók halmaza (pontok adottak, éleket keresünk)

2. Az operátorok pl. hozzáadunk, elveszünk, megfordítunk éleket, stb.

3. A célfüggvényt úgy konstruáljuk hogy jutalmazza a függetlenségi feltételek teljesülését és apredikciós képességet, de büntesse a komplexitást, stb.

Az algoritmus lehet hegymászó, evolúciós, stb.

Rejtett változók

Eddig feltettük, hogy a megfigyelt példákban minden jellemz ˝ o értéke ismert volt. Lehetnek azonban(1) hiányos adatok (elvben megfigyelhet ˝ o, de mégis hiányzó információ), ill. (2) rejtett változók , amiknem figyelhet ˝ ok meg közvetlenül, de a tudásreprezentációt hatékonnyá teszik.

A rejtett változókra példa a betegségek: ismerhetjük a tüneteket, adott orvosok diagnózisát, a reagálásta kezelésekre, de magát a betegséget nem figyelhetjük meg.

Miért kellenek ha nem megfigyelhet ˝ ok? Mert egyszer˝ ubbé teszik a modellt, tömörebb tudásreprezen-tációnk lesz.

EM algoritmus: egy példa

Tegyük fel, hogy a példákban vannak rejtett (ismeretlen érték˝ u) jellemz ˝ ok: szeretnénk maximum

likelihood modellt építeni, amely az ismeretlen jellemz ˝ oket is figyelembe veszi (kés ˝ obb világosabb

72

Page 74: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 74/91

lesz, hogy ez mit jelent).

El ˝ oször egy példa: legyen az elméleti modell kétismert szórású (pl. σ1 = σ2 = 1) de különböz ˝ ovárható érték˝ u (pl. µ1 = −2, µ2 = 2) normá-lis eloszlás keveréke: azaz feltesszük, hogy egypélda úgy keletkezik, hogy el ˝ oször kiválasztjuk,hogy melyik normális eloszlást használjuk a kett ˝ oközül, majd ebb ˝ ol veszünk véletlen mintát. Ekkor

P(X ) =1

2 N (µ1, σ1) +

1

2 N (µ2, σ2)

0

0.05

0.1

0.15

0.2

0.25

0.3

−4 −2 0 2 4

       P       (     x       )

x

Elméleti (a priori) modell

Minden xi példához tartozik két rejtett jellemz ˝ o: zi1 és zi2, ahol zij = 1 ha xi a j-edik normáliseloszlásból vett minta, egyébként zij = 0 (i = 1, . . . , N  , j = 1, 2). A teljes minta tehát (xi, zi1, zi2),amelyb ˝ ol csak xi ismert.

Maximum likelihood becslést akarunk µ1-re és µ2-re:

hML = (µ∗1, µ∗2) = arg max(µ1,µ2)

P (x|µ1, µ2) = arg max(µ1,µ2)

z∈Z 

P (x, z|µ1, µ2),

ahol z az adatok zij értékeib ˝ ol álló mátrix, és Z  tartalmazza a zij változók értékeinek az összes le-hetséges kombinációját. Ez komplex kifejezés a szumma miatt, a tagok száma exponenciális az adat-pontok függvényében, tehát ha sok adatpont van, akkor nem kezelhet ˝ o. Tehát hatékonyabb módszertkeresünk a maximum likelihood meghatározására (ill. közelítésére).

A trükk, hogy iteratív módszert alkalmazunk: adott µ1, µ2 értékekhez kiszámoljuk a Z  várható érté-két , az így kapott teljes mintákon pedig új µ1, µ2 párt határozzunk meg maximum likelihood becslés-sel. Pontosabban, egy µ

(0)1 , µ

(0)2 hasraütéses becslésb ˝ ol kiindulva a teljes

(xi, E (Z i1|xi, µ(0)1 ), E (Z i2|xi, µ

(0)2 ))

példahalmaz segítségével meghatározzuk a paraméterek maximum likelihood becslését, ami legyenµ(1)1 , µ

(1)2 . Ezután az egészet ismételjük iteratívan, amíg a becslés nem konvergál. A lényeg hogy

közben a maximum likelihood értéke folyamatosan n ˝ o (amíg egy lokális maximumba el nem ér).

A képletek a konkrét példára a k. iterációban (i = 1, . . . , N  , j = 1, 2):

E (Z ij |xi, µ(k) j ) = P (Z ij = 1|xi, µ(k)

 j ) = αP (xi|Z ij = 1, µ(k) j )P (Z ij = 1|µ(k)

 j ) = α N (µ(k) j , 1)/2

µ(k+1) j =

1N i=1 E (Z ij |xi, µ

(k) j )

N i=1

xiE (Z ij |xi, µ(k) j )

Vegyük észre, hogy µ(k+1) j nem más mint a várható értékekkel súlyozott átlag, maguk a várható

értékek pedig egyfajta halmazhoz tartozási súlyként értelmezhet ˝ ok.

EM algoritmus: általános alak

Az EM jelentése: expectation maximization, azaz várható érték maximalizálás.

73

Page 75: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 75/91

Tegyük fel, hogy rendelkezésre áll egy ismert x példaatadbázis, amelynek Z változói ismeretlenek. IttZ  véletlen változó, x konkrét adat. Jelölje Θ az illeszteni kívánt valószín˝ uségi modell paramétereit.

A teljes adatok (x ∪ Z ) felett a P (x, Z |Θ) likelihood egy véletlen változó, hiszen Z -t ˝ ol függ, amiegy véletlen változó. A likelihood Θ-tól is függ. A likelihood várható értékét  maximalizáljuk Θváltozóban, feltéve, hogy a k. iterációban a modell θ(k). Szokás szerint a likelihood logaritmusátvesszük, azaz a log likelihoodot: L(x, Z |Θ), amivel könnyebb számolni, de a maximuma ugyanottvan.

A képlet:

θ(k+1) = arg maxΘ

E (P (x, Z |Θ)|x, θ(k)) = arg maxΘ

Z =z

P (z|x, θ(k))L(x, z|Θ)

Példányalapú tanulásAdott (x1, y1), . . . , (xN , yN ) példák. Ötlet: adott x-re az y-t az x-hez „közeli” példák alapján hatá-rozzuk meg. Hogyan?

Legközelebbi szomszéd modellek

1. Keressük meg x k legközelebbi szomszédját (k pl. 5 és 10 között).

2. A h(x) értéke ezen szomszédok y-jainak átlaga (esetleg távolsággal súlyozva) ha y folytonos,ha diszkrét, akkor pl. többségi szavazata a szomszédoknak.

S˝ ur˝ uség közelítése: Ha x1, . . . , xN  példák adottak (y nélkül), akkor a P(X ) s˝ ur˝ uség közelítésére is jó: adott x-re nézzük meg hogy a k legközelebbi szomszéd mekkora területen oszlik el. P (x) ekkorfordítottan arányos a területtel. A k megválasztása fontos.

Távolság függvény D(x1, x2): xi általában egy jellemz ˝ oket tartalmazó vektor. Folytonos jellemz ˝ o-ket normalizálni kell (pl. testh ˝ omérséklet és magasság nem ugyanaz a skála), pl. kivonni bel ˝ ole azátlagot és elosztani a szórással, különben a távolság torzít. Diszkrét esetben pl Hamming távolság: akülönböz ˝ o jellemz ˝ ok száma (pl Hamming(001,011)=1 (bináris jellemz ˝ ok)).

Egyszer˝ u, de sokszor jó algoritmus. Hibái:

1. érzékeny a távolságfüggvény definíciójára

2. sok példa esetén költséges a k legközelebbi szomszédot megtalálni (bár vannak algoritmusokés adatszerkezetek amik segítenek, külön kutatási terület)

3. a sok jellemz ˝ o van (sokdimenziós a tér) akkor „mindenki közel van mindenkihez”. Pl vegyünkN  példát a d dimenziós egységnyi oldalú hiperkockából. k szomszédos példa b oldalú kockábafér bele, ahol bd = k/N . Ebb ˝ ol b = (k/N )(1/d), pl ha N  = 106, k = 10, d = 100, akkorb ≈ 0.89!

74

Page 76: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 76/91

Kernel módszerek

Vegyünk egy K µ

(x) eloszlást (ill. s˝ ur˝ uségfüggvényt, ha folytonos változók), amelynek µ a várhatóértéke. Minden xi példához a kernelfüggvény a K xi(x) függvény. Az adatok eloszlását (s˝ ur˝ uségét)becsülhetjük: P (x) = 1

N i=1 K xi(x); ill. ha (xi, yi) alakúak a példák, akkor h(x) a kernelfügg-

vénnyel súlyozott átlaggal (ill. szavazással, diszkrét esetben) közelíthet ˝ o.

Itt minden példának van szerepe.

Mesterséges neurális hálók

A mesterséges neuron egy modellje az ábrán látható.

A neuron indexe i, a w0,i az eltolássúly (bias weight), a0 pedig fix bemenet, mindig -1. Az ini

függvény definíciója

ini =n

 j=0

a jw j,i = (w1,i, . . . , wn,i)

a1...

an

− w0,i

 Aktivációs függvény (g): Ha„jó” input jön, adjon 1-et (aperceptron tüzel), ha „rossz”input, akkor 0-t. Pl. küszöb-függvény vagy pl. szigmoidfüggvény (g(x) = 1/(1 +e−x)). Éppen w0,i-nél fog vál-tani. Ha deriválható, az jó,mert a tanulóalgoritmusok ele-mezhet ˝ ok: a szigmoidot hasz-náljuk.

Logikai m˝ uveleteket reprezentálhatunk neuronnal, pl n = 2, w1,i = w2,i = 1 és w0,i = 0.5 esetén ai

éppen a1 ∨ a2 (ha az input 0 vagy 1 lehet csak). Ha itt w0,i = 1.5-öt veszünk, ai ↔ a1 ∧ a2. Végül:

75

Page 77: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 77/91

ha n = 1, w1,i = −1 és w0,i = −0.5 akkor ai ↔ ¬a1. De általában nem ilyen logikai szemantikájavan a feladatoknak.

 Hálózatokat  szoktunk építeni neuronokból. Az ábrán egyel˝ orecsatolt körmentes hálózat látható (most nincsenek elto-lások). Ilyenkor egyértelm˝ u függvénnyel ekvivalens a háló:itt pl

a5 = g[w3,5g(w1,3a1 + w2,3a2) + w4,5g(w1,4a1 + w2,4a2)]

 Rekurrens hálók azok amikben van kör. Ez dinamikus rendszert definiál, ami vagy konvergál vagynem. (ilyet most nem nézünk).

Osztályozási feladat  reprezentálása: ha a kimenet nagyobb mint 0.5, akkor „igen”, ha kisebb akkor

„nem” a válasz. Ha nem csak egy hanem K osztályt kell tanulni (reprezentálni) akkor K  hálót szokáshasználni.

 Rétegek : az el ˝ orecsatolt hálózatokat általában rétegesen definiáljuk: input, output és rejtett  rétegek,ahol kapcsolatok csak az egymással szomszédos rétegek között vannak.

Egyréteg˝ u hálók (perceptron)

A perceptron egy vagy több (független) neuron, amely azonos inputból közvetlenül outputot képez.Mivel a neuronok függetlenek, csak egy neuront nézünk. Tehát erre

a = g n

 j=0

a jw j

= g [w · a]

ahol w · a a w és a vektorok bels ˝ o szorzata. A w · a = 0 egyenlet egy n − 1 dimenziós hipersíkothatároz meg (2D-ben egy egyenest). A perceptron mint osztályozó tehát a teret két részre osztja egyhipersíkkal, és w · a > 0 esetén (ami éppen g(w · a) > 0.5) elfogadja az inputot, egyébként nem.

Tehát csak lineárisan szepa-rálható függvények tanulha-

tók . A XOR például nem li-neárisan szeparálható. Mit te-hetünk? Kétréteg˝ u háló (ké-s ˝ obb)!

Kevés lineárisan szeparálható függvény van, de pl a többségi függvény ilyen (és ez döntési fávalnehéz). Sok perceptronnal és több réteggel viszont bármilyen halmaz „kiszabható”.

El ˝ onye még hogy egyszer˝ u tanuló algoritmus ismert.

76

Page 78: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 78/91

Perceptronok tanuló algoritmusa

Itt is keresésr ˝ ol van szó a súlyok terében. Gradiens módszer m˝ uködik itt, mert deriválható a célfügg-vény. Egy adott (x, y) példára a w súlyok hibafüggvénye

E (w, x) =1

2Err2(w, x) =

1

2(y − hw(x))2

A tanuló algoritmus durva vázlata a következ ˝ o:

1. veszünk egy (x, y) tanítópéldát

2. csökkentjük a példa hibafüggvényét

3. ezt ismételjük amíg w nem konvergál

A példákat vehetjük pl véletlen sorrendben, de függhet a példa hibájától, stb.

A hibacsökkentés egy példára a gradiens módszerrel történik. Kiszámoljuk minden w j-re

dE 

dw j= Err

dErrdw j

= Errd

dw j

y − g

n

 j=0

x jw j

= Err

d

dw j[y − g (in)] = −Err · g′(in) · x j

és a kapott érték irányába módosítjuk a súlyokat:

w j = w j + αErr·

g′(in)·

x j

Ez csökkenti a hibafüggvényt ha α nem túl nagy. α a tanulási faktor.

A döntési fa és a perceptron máshol jó, pl a többségi függvény tanulására a perceptron jobb, az éttermipéldánál a döntési fa jobb.

Többréteg˝ u hálók

Van egy vagy több rejtett réteg. Egy rejtett réteggel már bármilyen folytonos függvény közelíthet ˝ o.Az ábrán kett ˝ o ill. négy neuronos rejtett réteget használtunk, és egy output neuront.

-4 -2 0 2 4 x1-4

-20

24

 x2

00.10.20.30.40.50.60.70.80.9

hW( x1, x2)

-4 -2 0 2 4 x1-4

-20

24

 x2

00.10.20.30.40.50.60.70.80.9

1

hW( x1, x2)

77

Page 79: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 79/91

Tanuló algoritmus

A perceptron algoritmusának általánosítása. Különbség: vannak rejtett neuronok, és ezeknek a hibájátnem ismerjük, csak az output neuronok hibája ismert.

Ötlet : hiba „lecsorgatása”: ez lesz a visszaterjesztés (back-propagation) algoritmus.

 Jelölések : Erri: az output hibavektor i. kompo-nense. ∆i := Errig′(ini). Ekkor az i. output sza-

bálya w ji = w ji + αa j ∆i

De mi a szabály a wkj súlyokra? a j hibáját nem tudjuk. Intuitíve, a j hibáját definiálhatjuk azzalhogy a j. neuron mennyiben „felel ˝ os” az output hibájáért: az i. output hibájáért nyilván a w ji súllyalarányban:

∆ j := g′(in j)

i

w ji∆i, wkj = wkj + αak∆ j

A visszaterjesztés (back-propagation) lényege hogy ezzel a módszerrel akárhány rétegen át visszafelédefiniálhatjuk a hibát, és a perceptron tanulásnál látott képlettel tanulunk minden neuronra.

Az algoritmus egyébként megegyezik a perceptronéval: minden példára le kell futtatni többször, amíg

a súlyok nem konvergálnak,A fenti intuitív képletet le is lehet vezetni. Levezettük, hogy dE 

dwji= −a j∆i. Kiszámolható a dE 

dwkjis:

dE 

dwkj= −

i

(yi − ai)dai

dwkj= −

i

(yi − ai)dg(ini)

dwkj= −

i

(yi − ai)g′(ini)dini

dwkj=

i

∆iw jida j

dwkj= −

i

∆iw ji g′(in j)ak = −ak∆ j

Illetve hasonlóan akárhány rétegre.

Nagyon népszer˝ u módszer, sok alkalmazás. A háló struktúrája fontos.

Neurális háló struktúrájának tanulása

Ha túl sok a neuron és/vagy réteg, túlillesztés könnyen el ˝ ofordulhat. Ha túl kevés, nem elég a kifeje-z ˝ oer ˝ o.

Ha a rétegek közt minden élt behúzunk, akkor a rétegek száma és mérete a kérdés. Pl. keresztvalidá-cióval ellen ˝ orizhet ˝ o milyen beállítás optimális.

Kivehetünk linkeket is: „optimal brain damage” algoritmusok.

Növelhetjük is a hálót (csempézés (tiling)): egy neuronnal kezdünk, és ha marad tanulópélda amitnem tud osztályozni, hozzáadunk további neuronokat, stb.

78

Page 80: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 80/91

13. fejezet

Meger ˝ osítéses tanulás

Röviden: az ágensnek kizárólag bizonyos állapotokban tapasztalt jutalmak (meger ˝ osítés) ill. bünteté-sek alapján kell kitalálni, mikor mit kell tenni, hogy a jutalom maximális legyen.

Nagyon általános keret, sok alkalmazás, pl. robotok tájékozódása, vagy mozgás tanulása (pl. járnitanulás), játékok (dáma, sakk, stb.).

Markov döntési folyamatok (Markov decision processes)

Tekintsünk egy diszkrét , statikus, sztochasztikus és teljesen megfigyelhet˝ o feladatkörnyezetet. Részle-tesebben: tegyük fel, hogy a világ tökélesen modellezhet ˝ o a következ ˝ okkel:

• lehetséges állapotok halmaza

• egy opcionális s0 kezd ˝ oállapot (nem feltétlenül kell)

• minden s állapotban adott lehetséges cselekvések egy A(s) halmaza, és egy állapotátmenet-valószín˝ uség eloszlás, amely minden a ∈ A(s) cselekvéshez, és minden s′ állapothoz megadjaa P (s′|a, s) állapotátmenet-valószín˝ uséget

• állapot jutalomfüggvény, amely minden s állapothoz egy R(s) valós jutalomértéket rendel (le-het negatív is)

• opcionális célállapotok halmaza (nem feltétlenül kell)

A fenti feladatkörnyezet sztochasztikus mert az cselekvések kimenetele sztochasztikus. Markov tu-lajdonsággúnak azért nevezzük, mert csak az aktuális állapottól függ a cselekvés hatása, a korábbanmeglátogatott állapotoktól nem.

Feltesszük hogy a fenti feladatkörnyezetet az ágens tökéletesen ismeri. Kell szenzor is az ágensnek,mert nem tudni hová kerül: feltesszük hogy tökéletesen azonosítja az állapotot a szenzor.

79

Page 81: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 81/91

Példa: állapotok egy négyzetrács cellái; cselekvé-sek: fel, le, jobbra, balra; az R(s) jutalom minden-

hol konstans, kivéve két végállapot. A (2,2) cellafal.A választott cselekvés 0.8 valószín˝ uséggel végre-hajtódik, 0.1 valószín˝ uséggel valamelyik mer ˝ ole-ges irányba térünk ki. A fal irányába nem hajtódikvégre a cselekvés (ágens helyben marad).

Az ágens minél több jutalmat akar gy˝ ujteni, pl. a jutalmak összegét maximalizálja. A fenti példábanha a konstans R(s) negatív, akkor az ágens törekszik a végállapotokhoz, ha pozitív, akkor kerüli ˝ oket.

Mivel bárhová vetheti a sors, az ágensnek minden állapotban dönteni kell tudni, hogy merre tovább.Egy π eljárásmód (policy) ezt fejezi ki: egy s állapotban az ágens az a = π(s) cselekvést választja. Az

optimális eljárásmód (jelölés: π∗) az az eljárásmód, amely maximalizálja a teljesítménymérték (most jutalmak összege) várható értékét (az érintett állapotok, és így a jutalom is, a véletlent ˝ ol függenek).

Példa: az R(s) jutalom különböz ˝ o értékeire az optimális π∗ eljárásmód. Minél kellemetlenebb a világ

az ágensnek, annál gyorsabban akar szabadulni, akár kockázatok árán is.Ha a világ kellemes (pozitív jutalom) akkor a végállapotoktól távolodunk, a többi állapotban mindegymit csinálunk.

Hasznosság és optimális eljárásmód

Az ágens teljesítménymértéke a meglátogatott állapotokban látott jutalmaktól függ. Legyen pl egybejárt állapotsorozat els ˝ o n állapota s0, . . . , sn. Szokás a teljesítménymértéket itt hasznosságnak (uti-lity) nevezni, jelölése U (s0, . . . , sn). Eddig: az ágens teljesítménymértéke a meglátogatott állapotok

 jutalmainak összege volt. Nézzük ezt meg jobban.

Tegyük fel hogy végtelen id˝ ohorizontunk van, azaz az ágens m˝ uködésének nincs id ˝ okorlátja. Ebbenaz esetben mindegy hogy mikor kerül az ágens egy adott állapotba, nincs oka különböz ˝ o döntése-ket hoznia az id ˝ o függvényében, tehát az optimális eljárásmód független lesz az id ˝ ot ˝ ol. Ilyenkor azoptimális eljárásmód stacionárius (stationary).

Milyen hasznosságot van értelme definiálni? Belátható, hogy ha megköveteljük, hogy az ágens ál-lapotpreferenciája is stacionárius legyen, azaz teljesüljön, hogy ha s0 = s′0 és U (s0, s1, . . . , sn) ≤U (s′0, s′1, . . . , s′n) akkor U (s1, . . . , sn) ≤ U (s′1, . . . , s′n) (ill. ≥ relációra is hasonlóan), akkor csak akövetkez ˝ o alakú, leszámítolt jutalomnak (discounted reward) nevezett hasznosságfüggvények jöhet-nek szóba:

U (s0, . . . , sn) = R(s0) + γR(s1) +

· · ·+ γ nR(sn) =

n

t=0

γ tR(st)

80

Page 82: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 82/91

ahol 0 < γ  ≤ 1. Ha γ  = 1 akkor a példában szerepl ˝ o összeg képletet kapjuk. Ha γ  nagyon kicsi,akkor azzal azt fejezzük ki, hogy szeretnénk ha az ágens nemcsak sok jutalmat gy˝ ujtene, de azt minél

gyorsabban tenné.Fontos tulajdonság, hogy ha γ < 1 és ∀s, Rm ≥ |R(s)|, akkor

|U (s0, s1, . . .)| = |∞

t=0

γ tR(st)| ≤∞

t=0

γ tRm ≤ Rm

1 − γ 

azaz ha korlátosak a jutalmak, és γ < 1, akkor a hasznosság is korlátos, akkor is, ha végtelen sétárólvan szó.

Rögzített π eljárásmód esetén, mivel Markov tulajdonságú sétáról van szó, adott s0 állapot rákövet-kez ˝ o állapotai véletlen változók, amik az el ˝ oz ˝ o állapottól függnek: s0, S 1, S 2, . . .. Egy adott s állapothasznosságát a π eljárásmód mellett tehát várható értékkel így definiáljuk:

U π(s) = E (U (S 0, S 1, . . .)|π, S 0 = s) = E 

t=0

γ tR(S t)|π, S 0 = s

Egy π∗ eljárásmód optimális akkor és csak akkor ha kielégíti a

π∗ = arg maxπ

U π(s), ∀s

feltételeket. A π∗ jelöléssel mindig optimális eljárásmódot jelölünk. Az s állapot optimális hasznos-sága, vagy simán hasznossága: U (s) = U π

(s), azaz egyszer˝ uen a π∗-hoz tartozó hasznosság.

Ha csak U () ismert, akkor egy optimális π∗ eljárásmódot visszakaphatunk így:

π∗(s) = arg maxa∈A(s)

s′

P (s′|a, s)U (s′), (13.1)

tehát olyan cselekvést javasolunk, ami maximalizálja a várható hasznosságot.

Értékiteráció (value iteration)

Algoritmust adunk egy π∗ optimális eljárásmód meghatározására. Az ötlet, hogy meghatározzuk azU () hasznosságot, majd (13.1) alapján kapjuk π∗-t. A Bellman egyenletb˝ ol indulunk ki:

U (s) = R(s) + γ  maxa∈A(s)

s′

P (s′

|a, s)U (s′), (13.2)

ami egy rekurzív összefüggést állapít meg U ()-ra.

Rekurzív egyenleteket leginkább iterációval szokás megközelíteni. Az értékiteráció algoritmusánaklényege, hogy az U () értékeit tetsz ˝ olegesen kitöltjük: ez lesz az U 0() függvény, majd a következ ˝ oiterációt hajtjuk végre:

∀s, U i+1(s) = R(s) + γ  maxa∈A(s)

s′

P (s′|a, s)U i(s′), (13.3)

Belátható, hogy az iteráció konvergál. Az ötlet az, hogy észrevesszük, hogy az iteráció egy kontrakció.

Részletesebben: jelölje U i a hasznosságokat az i. iterációban, és B pedig legyen a (13.3) egyenlet által

81

Page 83: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 83/91

definiált iterációs operátor. Ezekkel a jelölésekkel az iterációt írhatjuk U i+1 = B(U i) alakban. Ekkorbelátható, hogy bármely U  és U ′ vektorokra

B(U ) − B(U ′) ≤ γ U  − U ′ahol · a max norma, azazx = maxi |xi|. Azaz az értékiteráció operátora a különbség maximumátcsökkenti, azaz a max normára nézve kontrakció.

A kontrakciókról ismert, hogy egy fixpontjuk van, és ebbe a fixpontba konvergál az iterációjuk. Más-fel ˝ ol a keresett U () függvény (azaz vektor) világos, hogy fixpont.

Megemlítjük, hogy a konvergencia exponenciális (a hiba exponenciálisan csökken), ami a gyakor-latban gyors konvergenciát jelent, valamint azt is fontos látni, hogy messze nem kell a pontos U ()függvényt ismerni ahhoz hogy a (13.1) alapján kapott π∗ optimális legyen, hiszen elég ha a legjobb-nak t˝ un ˝ o cselekvés tényleg a legjobb. Tehát általában elég egy jó közelítés.

Eljárásmód-iteráció

Az eddigi képletek alapján máshogy is lehet iterációt tervezni: az U () függvény helyett egyb ˝ ol azeljárásmódot is iterálhatjuk. Ehhez vegyünk egy tetsz ˝ oleges π0 eljárásmódot. Feltéve hogy már adottπi, számoljuk ki az U πi hasznosságfüggvényt, majd

πi+1(s) = arg maxa∈A(s)

s′

P (s′|a, s)U πi(s′),

ami a (13.1) egyenlet adaptációja iterációs célokra. A (13.1) egyenlet éppen azt mondja, hogy π∗

fixpont.

Az iterációt addig folytatjuk, amíg πi+1 = πi. Mivel végesszámú különböz ˝ o eljárásmód létezik, ésmivel belátható hogy minden iteráció javulást eredményez, garantáltan terminál az algoritmus.

U πi meghatározásához a Belman egyenlet lebutított változata kell, ahol optimális eljárásmód helyettrögzített eljárásmódot teszünk fel:

U πi(s) = R(s) + γ 

s′

P (s′|πi(s), s)U πi(s′), (13.4)

ami ezúttal egy lineáris egyenletrendszer (nincs benne max). Ezt megoldhatjuk explicit módon O(n3)id ˝ oben, vagy a hatékonyság drasztikus növelésére használhatunk inkább közelítést a

U πii+1(s) = R(s) + γ 

s′P (s′|πi(s), s)U πii (s′),

iteráció néhányszori végrehajtásával; ekkor az eljárást módosított eljárásmód-iterációnak  nevezzük.Ez többek között azért jó ötlet, mert választható U πi0 = U πi−1, ahol U πi−1 U πi−1 korábban kiszámoltközelítése. Ez egy jó kezd ˝ oérték, eleve jó közelítés, tehát csak néhány iterációt elég végrehajtani.

Meger ˝ osítéses tanulás

A feladatkörnyezet itt változik: feltesszük, hogy az ágens nem ismeri a P (s′|a, s) állapotátmenet-

valószín˝ uségeket (amik egy s állapotból a cselekvés hatására s′

-be kerülés valószín˝ uségét adják meg),

82

Page 84: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 84/91

Page 85: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 85/91

teljesen U π(s)-t, csak elmozdítjuk R(s) + γU π(s′) irányába egy kicsit, akkor ezek a kis elmozdításoka lehetséges különböz ˝ o s′ álapotok felett kiátlagolódnak éppen a P (s′|π(s), s) valószín˝ uségeknek

megfelel ˝ oen. Kicsit hasonlít ez a perceptronok tanuló algoritmusánál alkamlazott módszerhez.Tehát a frissítési szabályunk ez lesz:

U π(s) ← (1 − α)U π(s) + α(R(s) + γU π(s′)) = U π(s) + α(R(s) + γU π(s′) − U π(s)), (13.5)

ahol 0 < α < 1 a tanulási ráta, hasonlóan a perceptronokéhoz. U π-t tetsz ˝ olegesen inicializáljuk azalgoritmus futása el ˝ ott.

Konvergál ez a módszer? Ha α konstans, akkor nyilván nem, hiszen s állapotban minden különböz ˝ os′ rákövetkez ˝ o állapot másfelé húzhatja. Tehát α-nak csökkenni kell. Belátható, hogy ha pl. α =O(1/n), ahol n az s állapot meglátogatásainak a száma (tehát minden állapotnak külön α-ja van),akkor növekv ˝ o példahalmaz mellett a korrekt értékhez konvergál U π(s).

Fontos megjegyezni, hogy a módszer nem tárolja explicit módon a világ modelljét (állapotátmenet-valószín˝ uségeket), azaz modell-mentes.

Aktív meger ˝ osítéses tanulás

Most a π nem adott, hanem egy optimális π∗ közelítése a cél.

Adaptív dinamikus programozás

Az adaptív dinamikus programozás ötlete m˝ uködik továbbra is, csak most a (13.2) egyenletet kell

használni, amiben szükség van minden s állapotban az összes a ∈ A(s) cselekvéshez tartozó állapot-átmenet-valószín˝ uségekre (és nem csak egy rögzített eljárásmód szerinti cselekvéshez tartozóakra,mint a (13.4) egyenletben, amit korábban használtunk).

Azonban ezeket szintén lehet közelíteni a megfigyelt példák statisztikáival. Ezeket a közelítéseketa (13.2) egyenletekbe behelyettesítve pl. a korábban látott értékiteráció módszerével frissítjuk azoptimális U (s) hasznosság közelítését, és a (13.1) képlet alapján választunk cselekvést.

A gond csak az, hogy miközben gy˝ ulnek a példák, az eljárásmód is változik, visszahatva a példákeloszlására; az ágens arrafelé fog sétálni, ahol véletlenül korán talált jutalmat (mivel mindig csak arendelkezésére álló megfigyelések alapján optimális eljárásmódot követi), és pl. az ismeretlen részeketkerülheti, ezért gyakran ragad lokális optimumba ez a naív módszer.

Szokás ezt mohó viselkedésnek hívni.Mint sok más korábbi területen, itt is fontos tehát a kihasználás (exploitation) és a felfedezés (explo-ration) egyensúlya: néha véletlen vagy ismeretlen helyeket is ki kell próbálni.

Ötlet: ne U -t használjuk a példák gy˝ ujtésére, hanem mellette vezessünk be egy optimista U + hasz-nossági függvényt, amiben mesterségesen növeljük a felfedezési szellemet, és használjuk az U + általadott eljárásmódot a példagy˝ ujtésre.

Továbbra is azt feltételezve, hogy az értékiterációt használjuk a hasznosság meghatározására, az U +

kiszámításához módositsuk a korábbi (13.3) képletet így:

∀s, U +i+1(s) = R(s) + γ  max

a∈

A(s)

f s′

P (s′

|a, s)U +i (s′), N (s, a) , (13.6)

84

Page 86: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 86/91

ahol N (s, a) azoknak az eseteknek a száma, ahol az s állapotban az a cselekvés került alkalmazásra.Az f (u, n) függvény határozza meg az exploráció mértékét: u-ban n ˝ o, n-ben csökken. Sokféle f -

et választhatunk, pl. egy egyszer˝ u választás a következ ˝ o: f (u, n) = R

+

, ha n ≤ N e, egyébkéntf (u, n) = u. Magyarul, ha a releváns tapasztalatok száma kisebb mint egy el ˝ ore adott N e explorációsparaméter, akkor egy optimista R+ hasznosságot ad vissza (ami pl. a jutalmak egy fels ˝ o korlátja),egyébként pedig a tényleges hasznosságot.

Ez azt eredményezi, hogy a még ismeretlen helyzetek távolról is vonzzák az ágenst, hatásuk a (13.6)képletnek köszönhet ˝ oen távolabbi állapotok hasznosságában is megjelenik.

Id ˝ obeli különbség tanulás és Q-tanulás

Az id ˝ obeli különbség tanulás frissítés (13.5) képlettel adott szabálya változatlan formában alkalmaz-ható, az U  optimális hasznosságot alkalmazva.

Viszont az U -ból az ágens csak az állapotátment-valószín˝ uségek ismeretében tudja a (13.1) képletalapján meghatározni az optimális cselekvést, tehát itt is kell ezeket közelíteni, így most nem kapunkmodellmentes módszert mint a passzív esetben.

Van viszont modellmentes módszer: a Q-tanulás. A Q(a, s) függvény az a cselekvés értéke az sállapotban:

Q(a, s) = R(s) + γ 

s′

P (s′|a, s)U (s′) = R(s) + γ 

s′

P (s′|a, s) maxa′∈A(s′)

Q(a′, s′)

ahol a második egyenl ˝ oségnél felhasználtuk a (13.2) Bellman egyenletet. Ebb ˝ ol az id ˝ obeli különbségtanulás egy Q-verziója adódik:

Q(a, s) ← Q(a, s) + α(R(s) + γ  maxa′∈A(s′)

Q(a′, s′) − Q(a, s))

Itt nem kell a környezet modellje, mert az optimális cselekvés egyszer˝ uen

π∗(s) = arg maxa∈A(s)

Q(a, s)

Végül: itt is használhatók a korábban említett f (u, n) explorációs függvények, pl úgy, hogy az ágensa tapasztalatgy˝ ujtés során az arg maxa∈A(s) f (Q(a, s), N (s, a)) cselekvést hajtja végre, nem az opti-málisat, így fel tud fedezni ismeretlen régiókat.

85

Page 87: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 87/91

14. fejezet

Az MI filozófiája

Az MI-t úgy definiáltuk mint ami a racionális ágensekkel foglalkozik, nem az emberi intelligenciával.

Most térjünk vissza az emberi (öntudat, gondolkodás, elme) és a mesterséges intelligencia viszonyára.

Gyenge MI hipotézis: készíthetünk olyan „gépeket”, amik látszólag intelligensek, de „valójában” nemfeltétlenül van „elméjük” (ill. öntudatuk).

Er˝ os MI hipotézis: készíthetünk olyan „gépeket”, amelyeknek „valódi” „elméjük” van.

Vigyázat: (1) Mi a „gép”? pl. az óra gép, a számítógép gép, az ember nem gép (wetware?...) Hol ahatár? Mi ennek a jelent ˝ osége? (2) Mi az „elme”? Nekem van. Másoknak is van? Az órának nincs.Halaknak? Ha másnak is van, olyan mint az enyém? Vannak különböz ˝ o elmék? (nyelv szerepe)

Tehát: lehetséges álláspontok: gyenge MI tagadása (még látszólagos intelligencia sem érhet ˝ o el),gyenge MI elfogadása miközben er ˝ os MI tagadása, elfogadása vagy ignorálása.

Gyenge MI: lehetséges?

Miért ne? Bár még messze vagyunk (s ˝ ot, mint láttuk, nem is igazán cél). De sokan a gyenge MI-t semfogadják el.

Fontos, hogy a gyenge MI legalább ellen ˝ orizhet ˝ onek t˝ unik empirikusan (definíciója empirikus jelleg˝ ufeltételeket szab).

Turing teszt

A gyenge MI empirikus tesztje. Sok variációja van, pl.: a kísérletez ˝ o ember írott üzeneteket váltöt percig egy számítógéppel vagy egy másik emberrel, és el kell döntenie hogy ember-e a partner.(Loebner prize, részletes szabályok).

Fontos hogy mindegy hogyan csinálja a program, a lényeg hogy mit csinál (ez a gyenge MI lényege).

A Turing tesztet (mint a gyenge MI empirikus tesztjét) sok szempontból lehet kritizálni. Pl. (1) aviselkedés egy sz˝ uk szelete, nem vizsgálunk hang- vagy képfeldolgozást, motorikus képességeket.(2) Képzetlen, gyanútlan tesztel ˝ oket nagyon könny˝ u átverni, pl. ELIZA pszichoanalitikus program...

86

Page 88: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 88/91

Gyenge MI elleni érvek

1. Egy gép sosem lesz képes X-re! Miért ne?

2. Gödel nemteljességi tétele: az ember mindig többet lát mint bármely formális rendszer, tehátbármely formális rendszernél intelligensebb. De!

(a) A Turing gép végtelen memóriájú. Véges rendszerre nem merülnek fel a problémák.Az ember végtelen memóriájú vajon? Az Univerzum lehet hogy maga is végesállapotúrendszer. Releváns ez egyáltalán?

(b) A nemteljességi tételek központjában önreferencia van; de ez az emberekre is vonatkozik.Persze lehet tágabb, „meta” elméleteket gyártani, de ezeknek is van Gödel mondata.

(c) A legfontosabb: az emberi intelligencia és gondolkodás nem matematikai jelleg˝ u. A tu-dás nem konzisztens se nem formális. A Gödel tétel tehát irreleváns, érdektelen az MIszempontjából: nem a szimbólummanipuláló formális rendszerek az érdekesek, hanema bizonytalanság, inkonzisztencia modellezése, a heurisztikus, informális gondolkodás,asszociációk, mintafeldogozás, stb., kezelése. Ezeknek a modelljei is persze „formálisak”lesznek, de az intelligencia lényege nem a tételbizonyításra vezethet ˝ o vissza.

3. GOFAI (Good Old Fashioned AI) problémái: hasonló a fenti érveléshez: a formális, logikairendszereknek vannak problémái, de nem csak ilyen megközelítések vannak, pl. statisztikustudásreprezentáció és tanulás. Más szóval van nem-propozícionális tanulás (pl. neurális háló),nem-felügyelt tanulás, meger ˝ osítéses tanulás, stb.

Er ˝ os MI: lehetséges?

Tegyük fel hogy egy gép átmegy a tökéletesített Turing teszten: teljesen emberien viselkedik (beszél).Ekkor van elméje vagy nincs?

Két széls ˝ oség: (1) Van elméje, pusztán a viselkedéséb ˝ ol erre következtetünk (2) Az emberi agy elen-gedhetetlen az elméhez.

Általában hogyan döntjük el hogy valami „igazi” vagy nem?

1. vihar: egy számítógépes szimuláció nem igazi vihar; mi a helyzet a szél- és es ˝ ogéppel keltettviharral?

2. tokaji aszú: ha atomról atomra másolom, akkor se lesz tokaji, csak másolat (miért is? mert atokaji borászok nem keresnek rajta? vagy elveszik egy „esszenciális” tulajdonság?)

3. ló: atomról atomra másoljuk, akkor lovat kapunk vagy nem?

Feszültség van itt is a tesztelhet ˝ o tulajdonságokon alapuló, és az esszencialista megközelítések között.Az elme esetében mi a kulcs?

1. öntudat és qvália (qualia)? (Ez lehet hogy kell, de egyesek szerint nem elég). Meg lehet fi-gyelni? Közvetlenül nem, de neurális korrelátumokat lehet mérni.

87

Page 89: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 89/91

2. funkcionális egyezés (azaz az elme állapotainak oksági leírása egyezzen az emberével)? De ittaz elme modelljeinek egyezésér ˝ ol beszélünk; nem lakozhat az elme mégiscsak a modellek által

elabsztrahált dolgokban? Nem kell ehhez tökéletes modell?3. biológiai hardver kell? (wetware). Ez hasonlít a funkcionális modellekkel való érvelésre.

Etikai kérdések is felmerülnek: igazából csak a saját elmémr ˝ ol tudom hogy létezik, a többiekér ˝ ol csakfelteszem. De akkor mikr ˝ ol tegyem fel? Saját csoport? Ország? Faj? Idegenek?

A szabad akarat kérdése is felmerül néha; de ez f  ˝ oleg érzelmi kérdés már.

A f  ˝ o eszköz egyel ˝ ore a gondolatkísérlet , amivel nagyon kell vigyázni, de jobb mint a semmi.

Gondolatkísérletek

Agyak egy lavórban

Ha a világ csak szimuláció, vajon lehet-e igazi az elme (hiszen a mentális állapotai nem igazi dolgokat jelölnek). Ebb ˝ ol az egyik tanulság, hogy a mentális állapotokra vonatkozó megkötésekkel vigyáznikell a definíciókban.

Agyprotézis

Cseréljük ki az agyban a neuronokat egyenként azonos m ˝ uködés˝ u m˝ uneuronokra (tegyük fel hogy eztmeg tudjuk tenni, de jegyezzük meg hogy ez messze nem világos, aztán pl. nem biztos hogy csak a

neuronok számítanak, pl. fehérjék is, stb.). Tehát a gondolatkísérlet alapállása funkcionalista, hiszenfelteszi hogy lehetséges a neuronok tökéletesen azonos funkciójú m˝ uneuronnal való cseréje.

Kérdés: igazi marad-e az elme mindeközben. Van aki szerint az öntudat fokozatosan elveszik (?), míga viselkedés változatlan (hiszen ez feltétel volt).

Ha az öntudat elveszhet míg a viselkedés változatlan, akkor az öntudatnak nincs oksági szerepe afizikai jelenségekre. Tehát epifenomén.

Kínai szoba

Nagyon híres gondolatkísérlet.

Adott egy szoba, benne egy ember aki nem beszél kínaiul. A szobán van egy ablak amelyen át kínaiírásjelek jönnek. Az embernek van egy nagy könyve, benne szabályok, amelyek segítségével legyártkínai írásjeleket (miközben fogalma sincs mit jelentenek), és ezeket kiküldi az ablakon. (A szoba nemkell, az ember memorizálhatja a könyvet.)

Tegyük fel hogy a szoba átmegy a Turing teszten. Az embernek van öntudata. Akkor ez er ˝ os MI?Nem (mondja Searl). Miért ne (mondják mások)? Pl. a szoba mint egész esetleg tud kínaiul.

Vegyük észre, hogy a szoba a tárolt programú számítógép metaforája. Ugyanazt a viselkedést nagyonsok Turing géppel el lehet érni. Pl. ha van egy programom, akkor azt futtathatom univerzális gépen.S ˝ ot, az egész univerzális gépet a programmal együtt futtathatom egy másik univerzális gépen, stb.

88

Page 90: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 90/91

Világos hogy a viselkedés ugyanaz, míg a bels ˝ o állapotok elég különböz ˝ oek. Az érv tehát az, hogynem plauzibilis hogy mindegyiknek van tudata, de akkor melyiknek van? Csak egynek? Egynek sem?

Nyelv, intencionalitás, öntudat

Állítás: (1) szociális közegben a (2) modellezési képesség tökéletesedésével a nyelv és öntudat kb.egyszerre jelenik meg.

Melyik ez a pont? Az intencionalitás: modellezni tudom (megértem) a fajtársak (és más lények)mentális állapotait: hit, szándék, cél, motiváció. Szokták népi pszichológiának (folk-psychology)nevezni. Ekkor már

•logikus igény a másik mentális állapotainak befolyásolására: emiatt a kommunikáció spontánmegjelenik

• saját magamat is ugyanúgy tudom már modellezni mint másokat (énkép), (s ˝ ot kommunikálni istudok magammal): öntudat fontos eleme

• a nyelv bels ˝ ové válik: a gondolkodás a bels ˝ o beszéd, az öntudat narratíva saját magamról

• evolúciós adaptációk is rásegítenek (beszédszervek, kognitív képességek) hiszen a nyelvnek ésmások manipulációjának szelektív el ˝ onye van: öner ˝ osít ˝ o folyamat. De a nyelv megjelenése azáltalános kognitív képességek fejl ˝ odésének köszönhet ˝ o, az evolúció ezt „kapja fel”.

MI fejl ˝ odése: veszélyek és etikai problémák

Kreativitás

Ha „túl jó” a keres ˝ o algoritmus, és a célfüggvény nem pontos.

Pl. ápoló robot: ha célfüggvény a páciens szenvedésének a minimalizálása, akkor pl. a páciensmegölése nullára csökkenti.

Pl. takarító robot: ha a por mennyiségét minimalizáljuk, akkor pl. a szenzorok tönkretétele az érzékeltport nullára csökkenti, tehát optimális megoldás.

Ez nagyon komoly veszély, talán a legkomolyabb az MI-ben: ha nem korlátozzuk a kreativitást vala-hogy, akkor gond lesz, mert pontos célfüggvényt szinte lehetetlen adni.

Öntudat

Etikai problémák (kikapcsolás, szétszerelés, stb.).

Van spontán kialakulásra esély? Miért ne? (korábban láttuk: megfelel ˝ o kognitív képességek + szoci-ális környezet kell hozzá).

Pl. (1) egy mélytengeri búvárrobot: nem szociális; (2) takarító robot: szociális, de egyszer˝ u feladat,nem komplex a kognitív igény; (3) ápoló vagy focista robot: ilyen helyeken a legnagyobb az esély.

(Persze nem csak robotokra igaz, virtuális ágensekre is érvényes).

89

Page 91: Mesterséges intelligencia jegyzet

7/28/2019 Mesterséges intelligencia jegyzet

http://slidepdf.com/reader/full/mesterseges-intelligencia-jegyzet 91/91

Fontos: elvileg spontán bekövetkezhet, egyfajta fázisátmenet során, ha a kognitív képességek egykritikus szintet elérnek, és elég komplex a környezet is.

Hatalomátvétel

Kedvelt sci-fi téma.

Elvileg rosszul tervezett célfüggvény, és túl kreatív rendszer esetén gond lehet, de nem valószín˝ u hogyne lehetne id ˝ oben leállítani (?)

Valószín˝ ubb a kiborg forgatókönyv: örök élet, korlátlan intelligencia/er ˝ o.

Lényeg: a célfüggvény az eredeti emberi célfüggvény (hatalom, pénz, stb...)