Mesterséges Intelligencia I. (I602, IB602)



Hasonló dokumentumok
Mesterséges Intelligencia I. előadásjegyzet (vázlat)

Mesterséges Intelligencia MI

Lineáris programozás. Modellalkotás Grafikus megoldás Feladattípusok Szimplex módszer

2) = 0 ahol x 1 és x 2 az ax 2 + bx + c = 0 ( a,b, c R és a 0 )

Mesterséges intelligencia 1 előadások

Beadható feladatok december Add meg az alábbi probléma állapottér-reprezentációját!

Mesterséges intelligencia, 7. előadás október 13. Készítette: Masa Tibor (KPM V.)

Mesterséges Intelligencia I. gyakorlat

Ezeket az előírásokat az alábbiakban mutatjuk be részletesebben:

2. előadás: További gömbi fogalmak

Gyakorlatok. P (n) = P (n 1) + 2P (n 2) + P (n 3) ha n 4, (utolsó lépésként l, hl, u, hu-t léphetünk).

A lineáris programozás 1 A geometriai megoldás

Miskolci Egyetem. Diszkrét matek I. Vizsga-jegyzet. Hegedűs Ádám Imre

BIZONYTALAN ADATOK KEZELÉSE: FUZZY SZAKÉRTŐI RENDSZEREK

II. Szabályalapú következtetés

2. Hatványozás, gyökvonás

Programozási módszertan. Dinamikus programozás: Nyomtatási feladat A leghosszabb közös részsorozat

Klasszikus alkalmazások

8. Mohó algoritmusok Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete

Gráfokkal megoldható hétköznapi problémák

matematikai statisztika október 24.

SZAKDOLGOZAT. Hucker Dávid

JANUS PANNONIUS TUDOMÁNYEGYETEM. Schipp Ferenc ANALÍZIS I. Sorozatok és sorok

Forgácsolási paraméterek meghatározása Mikó Balázs, E ép. II. 7.

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

angolul: greedy algorithms, románul: algoritmi greedy

Analízis előadás és gyakorlat vázlat

Egy egyszerű ütemezési probléma megoldásának tanulságai

Legrövidebb utat kereső algoritmusok. BFS (szélességi keresés)

Analízisfeladat-gyűjtemény IV.

Dr. Jelasity Márk. Mesterséges Intelligencia I. Előadás Jegyzet (2008. október 6) Készítette: Filkus Dominik Martin

11. Matematikai statisztika

Bevezetés a játékelméletbe Kétszemélyes zérusösszegű mátrixjáték, optimális stratégia

különösen a média közleményeiben való reális tájékozódást. Mindehhez elengedhetetlen egyszerű matematikai szövegek értelmezése, elemzése.

MATEMATIKA 9. osztály Segédanyag 4 óra/hét

Analízis 1. (BSc) vizsgakérdések Programtervez informatikus szak tanév 2. félév

statisztikai menürendszere Dr. Vargha András 2007

Matematikai alapok. Dr. Iványi Péter

Készítette: Fegyverneki Sándor. Miskolci Egyetem, 2002.

Félévi időbeosztás (nagyjából) házi feladat beadási határidőkkel (pontosan) Valószínűségszámítás 2. matematikusoknak és fizikusoknak, 2009 tavasz

Nevezetes függvények

5. Előadás. Megyesi László: Lineáris algebra, oldal. 5. előadás Lineáris függetlenség

V. Bizonytalanságkezelés

MIKROÖKONÓMIA I. Készítette: K hegyi Gergely és Horn Dániel. Szakmai felel s: K hegyi Gergely június

Bemenet modellezése II.

Spike Trade napló_1.1 használati útmutató

Elméleti összefoglalók dr. Kovács Péter

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Disztribúciós feladatok. Készítette: Dr. Ábrahám István

Regressziószámítás alkalmazása kistérségi adatokon

9. előadás Környezetfüggetlen nyelvek

Intelligens robotok. Előadás vázlat. 1 előadás

Valószínűségszámítás

10. OPTIMÁLÁSI LEHETŐSÉGEK A MŰVELET-ELEMEK TERVEZÉSEKOR

Keresőeljárások kétszemélyes játékokhoz

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs

Árvainé Libor Ildikó Murátiné Szél Edit. Tanítói kézikönyv. tanmenetjavaslattal. Sokszínû matematika. 4

SZAKDOLGOZAT. Takács László

Csődvalószínűségek becslése a biztosításban

Szakdolgozat. Miskolci Egyetem. A genetikus algoritmus alkalmazási lehetőségei. Készítette: Biró Szilárd 5. Programtervező informatikus

különösen a média közleményeiben való reális tájékozódást. Mindehhez elengedhetetlen egyszerű matematikai szövegek értelmezése, elemzése.

Apor Vilmos Katolikus Iskolaközpont. Helyi tanterv. Matematika. készült. a 51/2012. (XII. 21.) EMMI rendelet 1. sz. melléklet 1-4./1.2.3.

Tevékenység: Olvassa el a fejezetet! Gyűjtse ki és jegyezze meg a ragasztás előnyeit és a hátrányait! VIDEO (A ragasztás ereje)

reális tájékozódást. Mindehhez elengedhetetlen egyszerű matematikai szövegek értelmezése, elemzése. A tanulóktól megkívánjuk a szaknyelv életkornak

MITISZK Miskolc-Térségi Integrált Szakképző Központ

10. JAVÍTÓKULCS ORSZÁGOS KOMPETENCIAMÉRÉS MATEMATIKA. példaválaszokkal. s u l i N o v a K h t. É R T É K E L É S I K Ö Z P O N T É V F O L Y A M

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Matematikai és matematikai statisztikai alapismeretek

Debrecen. Bevezetés A digitális képfeldolgozás közel hetven éves múlttal rendelkezik. A kezdeti problémák

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria I.

Vass Balázs. Online algoritmusok árverési feladatokban

Gyakorló feladatok ZH-ra

1.1. Gyökök és hatványozás Hatványozás Gyökök Azonosságok Egyenlőtlenségek... 3

Sugárzási alapismeretek

különösen a média közleményeiben való reális tájékozódást. Mindehhez elengedhetetlen egyszerű matematikai szövegek értelmezése, elemzése.

Programozási módszertan. Mohó algoritmusok

Algoritmusok bonyolultsága

Környezet és energia Operatív Program

Általános statisztika II. Kriszt, Éva Varga, Edit Kenyeres, Erika Korpás, Attiláné Csernyák, László

Matematika évfolyam. Vass Lajos Általános Iskola Helyi tanterv Matematika 1 4. osztály

Információs Technológia

p j p l = m ( p j ) 1

GAZDASÁGI STATISZTIKA

EMMI kerettanterv 51/2012. (XII. 21.) EMMI rendelet 2. sz. melléklet Matematika az általános iskolák 5 8.

HELYI TANTERV MATEMATIKA (emelt szintű csoportoknak) Alapelvek, célok

Reiczigel Jenő,

EMMI kerettanterv 51/2012. (XII. 21.) EMMI rendelet 1. sz. melléklet Matematika az általános iskolák 1 4. évfolyama számára

PROGRAMOZÁS MÓDSZERTANI ALAPJAI I. TÉTELEK ÉS DEFINÍCIÓK

Matematika. Padányi Katolikus Gyakorlóiskola 1

Minden az adatról. Csima Judit február 11. BME, VIK, Csima Judit Minden az adatról 1 / 41

1. Bevezetés. A számítógéptudomány ezt a problémát a feladat elvégzéséhez szükséges erőforrások (idő, tár, program,... ) mennyiségével méri.

5. gyakorlat. Lineáris leképezések. Tekintsük azt a valós függvényt, amely minden számhoz hozzárendeli az ötszörösét!

Felhasználói kézikönyv

Műszerek tulajdonságai

Online jegyzet az Egészérték Programozás I. és II. tárgyhoz

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

6. AZ EREDMÉNYEK ÉRTELMEZÉSE

ELEMI BÁZISTRANSZFORMÁCIÓ LÉPÉSEI 2.NEHEZÍTETT VÁLTOZAT 2.a) Paramétert nem tartalmazó eset

Átírás:

Dr. Jelasity Márk Mesterséges Intelligencia I. (I602, IB602) harmadik (2008. szeptember 15-i) előadásának jegyzete Készítette: Papp Tamás PATLACT.SZE KPM V.

HEURISZTIKUS FÜGGVÉNYEK ELŐÁLLÍTÁSA Nagyon fontos a jó és elfogadható (konzisztens) heurisztika. A kérdés az, hogy hogyan kaphatunk ilyeneket? 1,Relaxálás Ha van egy nehéz feladatunk, és ennek nem tudjuk a költségét, akkor találjunk ki egy egyszerűbb feladatot, ami bizonyíthatóan egyszerűbb, mint az eredeti feladat és akkor ennek számítsuk ki a költségét. Egy egyszerűbb feladat esetében ezt könnyebben meg tudjuk tenni. Mivel a feladatot egyszerűsítettük a költség kisebb lesz, mint az eredeti feladaté, és az így kapott értéket tudjuk alkalmazni a heurisztikához. Relaxált probléma optimális megoldása = h() relaxáció: feltételek elhagyása Pl.: A 8-as kirakó játékban Szóba jöhető heurisztikák: h 1 : rossz helyen lévő számok száma (itt h 1 = 8 ilyen van, mivel az összes számot legalább egyszer mozdítani kell, hogy jó helyre kerüljön) h 2 : Manhattan-távolság vagy háztömb-távolság (itt h 2 = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18) Azt számolja meg, hogy egy adott állapotból hány darab mozgatást kell elvégeznem, hogy eredeti helyükre tegyük a kockákat, de hagyjuk figyelmen kívül a többi kockát.

h opt : 26 (tényleges távolság), így egyik heurisztikánk sem becsüli túl a megoldás igazi költségét. Az első esetben (h 1 ) minden számot rögtön a helyére tolhatunk, mindenféle korlátozás nélkül, azaz minden kockát egy lépésben teszünk a helyére. A második esetben (h 2 ) kevesebbet egyszerűsítünk. Ez azt mondja, hogy tologassuk a számokat úgy, ahogyan az eredeti feladatban van, viszont hagyjuk figyelmen kívül, hogy melyik pozíció van elfoglalva. Nyugodtan betolhatjuk foglalt pozíciókba is a kockákat. Megj.: n: h 1 (n) h 1 (n), azaz h 2 dominálja h 1 -et. A h 2 a h 1 további relaxálása. Relaxált probléma optimális költsége mindig kisebb, vagy egyenlő mint az eredeti. Ezt egy elfogadható heurisztikának tekintjük az eredeti problémára. Mivel a számított heurisztika a relaxált problémára egy pontos költség, teljesítenie kell a háromszög egyenlőtlenséget is, és ebből kifolyólag konzisztens is. 2, Automatizált relaxálás Ha a feltételek formális nyelven adottak, akkor a relaxált problémákat automatikusan előállíthatjuk. Például: 8-as kirakójáték feltételei: a, egy kockát egy szomszédos pozícióba mozgathatsz ÉS b, egy kockát csak üres pozícióba mozgathatsz Ha a, és b, feltételt elhagyjuk akkor a h 1 esetet kapjuk. Ha b, feltételt elhagyjuk akkor h 2 esetet kapjuk. 3, Heurisztikák kombinálása h(n) = max (h 1 (n),..., h k (n)), => h i konzisztens, => h konzisztens 4., Mintaadatbázisok Részproblémákat vetünk fel, amelyek költségeit eltároljuk. Például a 8-as kirakóban "korábban megállunk", és csak 1-4ig vizsgáljuk az elemeket. Megj.: Önmagában is konzisztens heurisztika

Több részproblémát is felvehetek. (pl.: 3-7ig) Ezek a részproblémák egyenként könnyen kiszámolhatóak, ezután vesszük a maximumukat. A kis részproblémák megoldásait adatbázisban tárolhatjuk. 5., Független részproblémák A költségek összeadhatóak. Például: 1,2,3,4; és csak azokat számolja amiket mozgatunk 1-4ig. LOKÁLIS KERESÉS, OPTIMALIZÁLÁS A keresés modelljét kicsit megváltoztatjuk: 1, állapotok 2, operátorok (~cselekvések): állapotátmenetek lehetőségei: szomszédok 3, célfüggvény, f az állapotokhoz értelmezve, nincs jelentősége hogyan jutottunk el oda 4, célállapotok: pl.: globális maximum állapotok {x f(x)} = max f(y)} 5, kezdőállapot: általában nincs, vagy véletlenül generált. Nincs igazán jelentősége, ugyanis a célhoz vezető út érdektelen. Az aktuális állapotot vesszük figyelembe, és annak a szomszédait. Pl.: 8-királynő probléma : a királynők végleges felállása számít, és nem az a sorrend ahogy az újabb királynőket felhelyezzük. Megj.: Egyik állapotból eljuthatunk egy másikba; az állapotátmenetnek nincs költsége. Az állapot szomszédai elérhetőek valamilyen operátor segítségével. Célállapot mindig van. Célállapotok halmaza-> ahol a célfüggvény maximum.

Néhány globális optimalizálási fogalom Lokális maximum:(ha nem globális): ha a szomszédainak célfüggvényei kisebbek, azaz f(x) max f(y) (ahol y, x szomszédja) Globális maximum: egyben lokális is, és nincsen nála magasabb "csúcs", azaz f(x) = max f(y') Plató: szomszédok értékei ugyanazok (sok lehet) Lokális keresők Egy állapotot tárol, csak az aktuálisat, és általában ennek a szomszédjaira lépnek át. Előnye, hogy memóriaigénye gyakorlatilag nulla, és nagy keresési térben is elfogadható megoldást nyújtanak. Nem garantálják a globális maximum megtalálását Hegymászó keresés Csak felfelé "halad". Lokális maximumnál megáll, ugyanis megállítja az első optimum. Mohó keresésnek is hívják, a siker általában nem garantált. Algoritmus: 1, aktuális állapot véletlen állapot (vagy kezdő állapot, ha van)

2, szomszéd egy maximum értékű szomszédja aktuális-nak 3, ha f(szomszéd) f(aktuális) then return aktuális 4, aktuális szomszéd 5, goto 2 Jó példa erre a 8 királynő probléma: (sakktáblára tegyünk fel úgy 8 királynőt, hogy ne üssék egymást) Keresési tér: lehetséges felrakások száma Állapotok: {1,2..8} 8, pl.: (1,2,3,4,5,6,7,8): melyik sorba tegyük az i. királynőt ami az i. oszlopban van Operátorok: egy királynő adott pozíciójának megváltoztatása 8*7=56 operátor bármely állapotban Keresési függvény: számoljuk azokat a párokat amelyek ütik egymást Célfüggvény: minimumot keresünk, tehát a párok száma, amelyek ütik egymást, azoknak az értéke legyen 0 => h(x) = 0 : x célállapot Az esetek 14%-ban talál megoldást. Sokszor elakad, mert lokális optimum, vagy plató megállítja ha maximum 100 db oldallépést megengedünk (azaz elfogadjuk az új állapotot, ha legalább olyan jó mint a régi) => 94%-ban talál megoldást Hegymászás javításai: A hegymászó algoritmus számos változatát fejlesztették ki. Sztochasztikus hegymászó: Véletlen szomszédot választ, azok körül amelyek jobbak. Minél több véletlen szomszédot alkalmazunk annál biztosabban megtalálja az optimumot. Hosszabb futási idejű, de ritkábban akad el. Elsőnek-választott hegymászás: Ha sok szomszéd van, vegyük az elsőt ami jobb. Ez jó stratégia, ha egy állapotnak sok követője van. Véletlen újraindított hegymászás: Ha nem sikeres a keresés, indítsuk újra egy véletlen pontból. Ez a keresési tér struktúrájától

függően, nagyon jól futó algoritmust ad. Pl.: 3 millió királynő megoldása kevesebb mint egy perc alatt. Az NP teljes, komplexebb problémáknál már nem az igazi. A problémák 3 csoportja: sok megoldás nincs megoldás, túl sok korlát kevés megoldás Szimulált hűtés: Alapötlete a fémöntés technikájának az analógiáján nyugszik. Algoritmus: 1, aktuális véletlen állapot; t 0 2, t t + 1; T hűtési terv [t] 3, if T = 0 then return aktuális 4, szomszéd véletlen szomszédja az aktuális-nak 5, E = f(szomszéd) f(aktuális) 6, if E > 0 then aktuális szomszéd 7, else aktuális szomszéd exp( E/T) valószínűséggel 8, goto 2 Lokális optimumot úgy kerüli el, hogy néha rosszabb megoldásokat is elfogad, mint az aktuális. Ha a hőmérséklet lassan csökken, megtalálja a globális optimumot. A hűtési terv fontos, de problémafüggő. Pl.: T K+1 = αt K, α= 0,95 Mottó: Lassú hűtés a jó. Populáció alapú lokális keresés: Több aktuális állapotot is felvehetünk, nem csak egyet. Lokális nyaláb keresésnek is szokták emlegetni. Algoritmus: 1, K véletlen állapot generálás 2, Az összes K állapotnak az összes szomszédját generáljuk 3, ebből vesszük a legnagyobb K-t a következő aktuális állapotoknak 4, Ha bármelyik célállapot, return 5, goto 2 Nem úgy működik, mint K darab hegymászó, mert a K párhuzamos szál megosztja az információt

és gyorsabban fókuszál. Ennek eredményeképpen gyorsabban be is ragadhat. Egyik variánsa a sztochasztikus választás. Evolúciós algoritmusok A sztochasztikus nyaláb keresés egy variánsa, és hegymászó algoritmust általánosítja. Evolúciós algoritmus: a nyaláb keresés általánosításához szexuális operátorokat vezetünk be. Algoritmus: 1, K véletlen állapot generálása 2, szülők választása 3, új állapotok generálása rekombinációval a szülőkből 4, új állapotok mutációja 5, K állapot kibontása az új állapotok és a régiek uniójából 6,goto 2 Kisszótár az evolúciós szubkultúrához állapot = megoldás = egyed (individual) mutáció = operátor = cselekvés rekombináció = keresztezés(crossover) = 2 változós operátor A x A A (A : állapotok) fitness = célfüggvény érték szülő = aktuális állapotok közül választott állapot (2.sor) utód = új állapot (3., 4. sor) populáció = az aktuális állapotok halmaza operáció = a populáció egy adott időben túlélők = megoldások az új populációban (5.sor) az új komponens a rekombináció ezenkívül a szülők és a túlélők kiválasztásának is számtalan módja van Genetikus Algoritmus állapottér: véges betűkészletű sztringek (gyakran {0,1}) pl.: 8 királynő probléma ilyen mutáció: pl.: egy betű megváltoztatása pl.: a 8 királynőhöz használt operátor ilyen rekombináció: keresztezési pontnál vágás és csere

szülő szelekció: pl.: válasszunk K/2 darab párt a fitnesszel arányosan fitnesszel, vagy véletlen párosítással túlélő szelekció: pl.: válasszunk a K legjobbat, vagy véletlenül a fitnesszel arányosan, stb. számos változat, pl.: evolúciós stratégiák (német iskola ) valós terekben, vagy genetikus programozás (programok evolúciója) Hype faktor: (hasonló az MI-hez; az evolúció is szexi ) érdekes algoritmusok (lásd differenciál evolúció alább) Folytonos terek Eddig diszkrét terekben (kombinatorika) gondolkodtunk, de a célfüggvény lehet akár folytonos R d R => szomszédos állapot. A hegymászó algoritmus különböző verziói itt is működnek: Hegymászó: legmeredekebb lejtő (emelkedő) módszere, csak ha deriválható a célfüggvény f => határozzuk meg a maximálisan emelkedő irányt lépjünk egy ε nagyságút arrafelé (vagy véletlen nagyot, pl. (0,ε)-ból, stb.) Sztochasztikus hegymászás: véletlen irány, ha jó, akkor elfogadhatjuk. Differenciál evolúció (differential evolution) (1997, Storm & Price): a populáció: x 1,.., x k eleme R d szülő választás : minden egyed szülő is egyben rekombináció: minden x i {i=1,..,k}- hoz választunk három véletlen egyedet: x r1, x r2, x r3. Legyen: v = x r1 + F [ x r2 -x r3 ] + κλ[ y g x r1 ] ahol y g az eddigi legkisebb megoldás amit ismerünk. Megj.: v nem függ x i -től, mutáció: nincs (ill. néha mutációnak hívják a fentit) v-t keresztezzük a x i -vel: (v 1, v 2,.,v d ) (u 1, u 2,, u d ) (x i1, x i2,.,x id )

ahol az u j = x ij CR valószínűséggel, vj egyébként paraméterek: pl F~0,8 CR ~ 0,9, λ ~ 0,9 túlélők: u-val helyettesítjük x i -t ha f(u)> f(x i ) lényeg: az operátorok automatikusan adaptálódnak a populáció kiterjedéséhez és alakjához KORLÁTOZÁS KIELÉGÍTÉSI FELADATOK A keresési problémák fontos alosztálya; állapot és célállapot illeszkedik egy speciális belső struktúrájú reprezentációhoz. Általános célú heurisztikák használatával nagy problémák megoldását is lehetővé teszi. Definíció: állapottér: D= D 1 x D 2 x x D n ( D i az i. változó (x i ) lehetséges értékei) Korlátozások: C 1,, C m, ahol C i D A következő hozzárendelések konzisztensek (megengedettek): C 1 C 2. C m Egy hozzárendelést konzisztensnek nevezünk, ha nem sért meg egyetlen korlátozást sem. A célállapotok a megengedhető állapotok és néhány korlátozás kielégítési probléma az is igényli, hogy a megoldás célfüggvényt maximalizáljon. Általában egy Ci, a változók egy részhalmazára tartalmaz megszorítást, gyakran változópárra. Például.: gráfszínezési probléma: G(V,E), gráf n = V n változó: n ország (V), D 1 =D 2 =. = D n : a lehetséges színek e E egy C e korlátozás, amely kizárja az azonos színű hozzárendeléseket az adott élen. Kényszergráf: ha Ci párokra vonatkozik, adott, ha nem, akkor segédváltozók bevezetésével átalakítható. A gráf csomópontjai a probléma változóinak, élei pedig a korlátoknak felelnek meg. A keresési teret inkrementálisan is definiálhatjuk: kezdeti állapot: {} (üres halmaz), azaz egyik változónak sincs értéke. szomszédok: valamely hiányzó változóhoz rendeljük értéket amely nem okoz konfliktust

út költség: konstans költség mindegyik lépésre Inkrementális definíciós algoritmus Korábban tanult algoritmusok jól használhatóak (mélységi, szélességi, stb.), de a mélységi különösen jó, mert kevés memóriaigénye,és kicsi fa- magassága. Hátránya viszont az informálatlan keresés. Megoldás lehet: változók és értékeinek sorrendje fontos a fa bejárásánál kiterjesztéskor azt a változót választjuk amihez legkevesebb lehetséges megengedett érték maradt ha ez nem egyértelmű (pl.: kezdés), akkor azt amire a legtöbb korlátozás vonatkozik a választott változó értékeiből azt rendeljük hozzá, amelyik a legkevésbé korlátozza a következő lépések lehetséges számát Ezek lépések jelentős javulást hoznak általában, de még számos más optimalizálás is elképzelhető a bejárás során.