Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008



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

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

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

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

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Magyar Matematika-Informatika Intézet Babeş Bolyai Tudományegyetem, Kolozsvár 2015/2016 1/370

2. Visszalépéses keresés

Kereső algoritmusok a diszkrét optimalizálás problémájához

2. Visszalépéses stratégia

Mesterséges intelligencia 2. laborgyakorlat

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

Kereső algoritmusok a diszkrét optimalizálás problémájához

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Mesterséges Intelligencia MI

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

3. Gráfkeres stratégia

Az Előadások Témái. Mesterséges Intelligencia. A mesterséges intelligencia. ... trívia. Vizsga. Laborgyakorlatok: Bemutatók (5 20 pont)

Keresések Gregorics Tibor Mesterséges intelligencia

V. Kétszemélyes játékok

1. Milyen hatással van a heurisztika általában a keresõ rendszerek mûködésére?

Mesterséges intelligencia. Gregorics Tibor people.inf.elte.hu/gt/mi

Intelligens Rendszerek Elmélete IRE 4/32/1

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

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

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

za TANTÁRGY ADATLAPJA

Számítógép és programozás 2

A TANTÁRGY ADATLAPJA

Opcionális feladat 5p. A négyoszlopos hanoi tornyok feladata

Gépi tanulás és Mintafelismerés

Programozási módszertan. Mohó algoritmusok

Gráfkeresések A globális munkaterületén a startcsúcsból kiinduló már feltárt utak találhatók (ez az ún. kereső gráf), külön megjelölve az utak azon

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

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Számítógépes döntéstámogatás. Genetikus algoritmusok

5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus.

Kétszemélyes játékok Gregorics Tibor Mesterséges intelligencia

ÖSSZEFOGLALÁS a Bsc záróvizsga mesterséges intelligenciáról szóló témaköréhez

Dijkstra algoritmusa

Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}

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

Adatszerkezetek 2. Dr. Iványi Péter

Mesterséges Intelligencia MI

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

NeMa: Fast Graph Search with Label Similarity

Bevezetés az informatikába

Eloadó: Dr. Várterész Magdolna

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

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

Mesterséges Intelligencia I. (I602, IB602)

A számítástudomány alapjai

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Adatszerkezetek 7a. Dr. IványiPéter

Számítógép és programozás 2

Kereső algoritmusok a diszkrét optimalizálás problémájához

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}

Iványi Antal alkotó szerkeszt INFORMATIKAI ALGORITMUSOK

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

A mesterséges intelligencia alapjai

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

Algoritmusok bonyolultsága

Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:

Mesterséges Intelligencia MI

352 Nevezetes egyenlôtlenségek. , az átfogó hossza 81 cm

Algoritmuselmélet 1. előadás

Új típusú döntési fa építés és annak alkalmazása többtényezős döntés területén

Közösségek keresése nagy gráfokban

Algoritmuselmélet 1. előadás

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

Az optimális megoldást adó algoritmusok

Térinformatikai algoritmusok Elemi algoritmusok

Algoritmusok bonyolultsága

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

Általános algoritmustervezési módszerek

Mesterséges intelligencia

Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése

Algoritmizálás, adatmodellezés tanítása 8. előadás

Automaták és formális nyelvek

Euler tétel következménye 1:ha G összefüggő síkgráf és legalább 3 pontja van, akkor: e 3

angolul: greedy algorithms, románul: algoritmi greedy

Programozási segédlet

Algoritmuselmélet 18. előadás

Gráfkeresések A globális munkaterületén a startcsúcsból kiinduló már feltárt utak találhatók (ez az ún. kereső gráf), külön megjelölve az utak azon

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.

Kétszemélyes játékok

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

1. AZ MI FOGALMA. I. Bevezetés. Tulajdonságok. Kezdet ELIZA. Első szakasz (60-as évek)

Evolúciós algoritmusok

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Problémamegoldás kereséssel. Mesterséges intelligencia március 7.

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

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

Képrekonstrukció 9. előadás

MŰSZAKKIOSZTÁSI PROBLÉMÁK A KÖZÖSSÉGI KÖZLEKEDÉSBEN

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.

A gráffogalom fejlődése

Átírás:

Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció stratégiák Szemantikus hálók / Keretrendszerek Játékok modellezése Bizonytalanság kezelése Grafikus modellek Tanuló rendszerek Szimulált kifűtés, Genetikus algoritmusok Neurális hálók Gépi tanulás Nemparametrikus módszerek

Adminisztra...... trívia Előadások honlapja http://www.cs.ubbcluj.ro/ csatol/mestint Vizsga Szóbeli (60%) + Gyakorlat (0%) (v) Előadás (60%) Laborgyakorlatok: 1 Clean vagy Prolog - dedukciós algoritmus 30% 2 C / C++ / C# / - genetikus algoritmus 10% vagy 3 Matlab - Neurális hálózatok vagy SVM 10%

Bioinformatika A számítástudomány és a molekuláris biológia között 2 David Haussler & Judea Pearl Kifejlesztették az emberi genomot feltérképező programokat. A lehetőséget a számítógéptechnológia és a biokémia fejlődése biztosította. A genom biológiai összetevőinek felderítését és elemzését a tudós által kidolgozott valószínűségi megközelítés alapozta meg. Az emberi génállomány mintegy hárommilliárd alappárt képez: a kettős spirál-alakú DNS négy alap-nukleotidból (A, C, G, T) épül fel; Minden egyes nukleotid része egy párnak. A mennyiség nagyon nagy, a munka csak számítógépes módszerekkel végezhető el. agent.ai 2 Pearl J (2000):Causality: Models, Reasoning, and Inference, The CUP Press

Bioinformatika 2001. júliusában közölték a módszer vázlatait, majd az emberi és egyéb organizmusok (egér, patkány, stb.) génszekvenciáit elemző, jegyzetekkel ellátott interaktív webalapú keresőket fejlesztettek. Tudományos fórumot teremtettek, míg programjaikat gyakran használják különböző biomedikális kutatásoknál, kísérleteknél. A gének evolúciója A CBSE kutatásai az interdiszciplináris megközelítés jegyében folynak. Biológia, információs és nanotechnológia fúziójára, minél kisebb szerkezetek létrehozására törekednek. Az emberi genom evolúciójának jobb megértése az egyik fo"irány: a cél érdekében permanensen fejlesztik az új statisztikai és algoritmikus módszereket.

Gráfkeresés : 1 egy megoldás megtalálása minimális út keresése Módszerek: 2 3 5 6 7 Heurisztika Visszalépés

I ( Futó:, 73.o) Visszalépés backtracking hátránya, hogy nem találja meg az optimális utat. Gráfkereső algoritmus: a startcsúcsból indul feltárja a reprezentációs gráfot 1 kiválaszt egy csúcsot, melynek utódai n NYILT nem ismertek, 2 kiterjeszti a választott csúcsot G G Γ(n) s G NYILT NYILT \ {n} NYILT NYILT Γ(n) addig keres, amíg egy célcsúcsot nem talál és van kiterjeszthető csúcs.

II Kommutatív rendszer a kiterjesztések bármilyen sorrendben végrehajthatók. = A vezérlési stratégia nem informatív, Másodlagos stratégia továbblépés. Módosítás: n argmin f (m) m NYILT ahol f : NYILT R kiértékelő függvény, amely egy csúcs jósága, pl. az s-ből m-be vivő legkisebb út hossza. dinamikus függvény. (felületes def.)

III Bevezetjük: kitüntetett szülő csúcsot (parent) (az s-ből egy utat specifikál). költségfüggvényt: g(m) az s-ből m-be vivő út költsége. Az n csúcs minden k utód-csúcsára k Γ(n): Ha k új csúcs, vagy Ha nem új és g(k) > g(n) + c(n, k), akkor p(k) n g(k) g(n) + c(n, k) p : G G p(s) = nil g : G R k G k G

IV Probléma: ha k zárt, korábban megkerestük utódjait és rövidebb utat találtunk, a g,p függvények nem helyesek a k utódain; a feszítőfa nem optimális. Megoldások: 1 k összes leszármazottját újraértékeljük; 2 a k csúcsot visszatesszük a NYILT halmazba. Hátrány: Nagyobb futási idő; p nem mindig optimális. 3 Olyan f választása, mely garantálja, hogy nem lesz ilyen k.

IV Probléma: ha k zárt, korábban megkerestük utódjait és rövidebb utat találtunk, a g,p függvények nem helyesek a k utódain; a feszítőfa nem optimális. Megoldások: 1 k összes leszármazottját újraértékeljük; 2 a k csúcsot visszatesszük a NYILT halmazba. Hátrány: Nagyobb futási idő; p nem mindig optimális. 3 Olyan f választása, mely garantálja, hogy nem lesz ilyen k.

Algoritmus G {s}, NYILT {s}, g(s) 0, p(s) nil. While nem ures(nyilt ), n arg min m NYILT f (m) If cél(n) then kilép. NYILT NYILT \ {n} For k Γ(n) If k G or g(k) > g(n) + c(n, k) p(k) n g(k) g(n) + c(n, k) NYILT NYILT {k} endfor G G Γ(n) endwhile

Algoritmus tulajdonságai Tulajdonságok Az általános gráfkereső algoritmus egy csúcsot véges sokszor terjeszt ki; véges gráfban mindig terminál; mindegyik n NYILT csúcs kiterjesztése előtt s n van m csúcs az optimális úton, mely 1 m NYILT, 2 g(m) = g (m), 3 minden m-et előző csúcs az úton zárt; Egy véges gráfban, ha létezik megoldás, akkor az algoritmus egy célcsúcs megtalálásával terminál. Csökkenő kiértékelőfüggvény használata mellett optimális és konzisztens a feszítőfa. Bizonyítás

Nevezetes gráfkereső algoritmusok Futó: pp. 83 Nem-informált gráfkeresések 1 keresés 2 keresés 3 keresés Heurisztikus keresések 1 keresés 2 oritmus 3 A algoritmus A c algoritmus

gráfkeresésre 2 1 k l nyílt csúcsok zárt csúcsok 3 p() szülő 5 6

gráfkeresésre 2 1 k l nyílt csúcsok zárt csúcsok 3 p() szülő 5 6

gráfkeresésre 2 1 k l nyílt csúcsok zárt csúcsok 3 p() szülő 5 6

gráfkeresésre 2 1 k l nyílt csúcsok zárt csúcsok 3 p() szülő 5 6

gráfkeresésre 2 1 k l nyílt csúcsok zárt csúcsok 3 p() szülő 5 6

gráfkeresésre 2 1 k l nyílt csúcsok zárt csúcsok 3 p() szülő 7 8 5 6

gráfkeresésre 2 1 k l nyílt csúcsok zárt csúcsok 3 p() szülő 7 8 5 6

gráfkeresésre 2 1 k l nyílt csúcsok zárt csúcsok 3 p() szülő 7 8 5 6 A harmadik iteráció végén tehát a zárt csúcsok halmaza {1,, 5}; a nyílt csúcsok halmaza {2, 3, 6, 7, 8}; a szülő-függvény (z, p(z)) párok: {(2, 1), (3, 1), (, 1), (5, ), (6, ), (7, 5), (8, 5)}

gráfkeresésre 2 1 k l nyílt csúcsok zárt csúcsok 3 p() szülő 7 8 5 6 A következő csúcs kiválasztása a nyílt halmazból bármilyen kritérium alapján történhet. A kritérium alapja az f ( ) függvény. A függvény megválasztásával különbnző keresési stratégiákhoz jutunk.

keresés Mindig a legmélyebben fekvő nyílt csúcsot választjuk, Ha minden él költsége ugyanannyi (pl. c(m, n) = 1), akkor a kiértékelő függvény: f (n) = g(n) n NYILT, Szükséges (? mikor) a mélységi korlát bevezetése, Az algoritmus nem mindig talál megoldást, Iteratív növelése a mélységi korlátnak megoldást talál (?optimális?).

keresés A mélységi keresés ellentettje, Mindig a legmagasabban fekvő nyílt csúcsot választjuk, Ha minden él költsége ugyanannyi (pl. c(m, n) = 1), akkor a kiértékelő függvény: f (n) = g(n) n NYILT Az algoritmus mindig talál megoldást amennyiben ez létezik.

keresés Súlyozott változata a szélességi keresésnek, A kiértékelő függvény (általános c(m, n) esetén): f (n) = g(n) n NYILT Az algoritmus mindig talál megoldást amennyiben ez létezik, Dijkstra algoritmusa (1959).

keresés Heurisztikus kereső algoritmus, A kiértékelő függvény csak a heurisztika: f (n) = h(n) n NYILT h(n) heurisztikus függvény. pl. f (n) = W (n) a 8 as kirakójátékban; A keresőgráf kisebb, mint az egyenletes keresés esetében; A keresőgráf nem optimális; Erősen függ a választott keresőfüggvénytől.

A algoritmus Futó: pp. 90 ötvözi az egyenletes keresés óvatosságát az előretekintő keresés célratörésével, egyesítve előnyös tulajdonságaikat Kiértékelő függvény: ahol h(n) > 0. f (n) = g(n) + h(n) n NYILT h(n) becsüli az n-ből a cél csúcsba vivő optimális út költségét.

A algoritmus tulajdonságai Tulajdonságok f (n) = g (n) + h (n) - a startból a célba az n-en keresztül vivő optimális út költségének a becslése. Ha az oritmus nem terminál, akkor minden NYILT halmazba került csúcs véges sok lépés után kiterjesztésre kerül. Az oritmus mindig talál megoldást feltéve, hogy létezik megoldás.

A* algoritmus oritmus kiértékelő függvénye, ahol A heurisztikus függvény bármely csúcsban alulról becsüli a a célba vezető optimális út költségét, azaz h(n) < h (n) n G A fenti kritérium a heurisztika megengedhetősége. Egy gráfkereső algoritmus megengedhető, ha megoldás A tulajdonságai létezése esetén megtalálja az optimális megoldást. Bármely kiterjesztésre választott csúcsra f (n) f (n). Mindig optimális megoldással terminál, feltéve ha az létezik.

A c algoritmus Korlátozás a heurisztikus függvényre: h(n) kielégíti a monoton megszorítás (monotone restriction) feltételét, ha h(n) h(m) c(n, m) (n, m) A Egy n csúcs nem kedvezőtlen, ha egy utód m csúcs nagyon kedvező. A c algoritmus: az olyan oritmus, ahol h(n) monoton megszorításos és h(t) = 0 minden terminális csúcsra.

A c algoritmus tulajdonságai A c tulajdonságai Ha teljesül a monoton megszorítás, akkor egy n csúcsba vezető optimális út mentén a g + h növekvő. Bármely n kiterjesztésre választott csúcshoz az optimális út van megjelölve: g(n) = g (n) Mindig optimális megoldással terminál, feltéve ha az létezik.

Gráfkereső összefoglaló a heurisztika nagyon fontos egy algoritmus alkalmazhatósága a választott heurisztikán áll vagy bukik. heurisztikus neminformált A A * c A egyenletes szélességi elõretekintõ mélységi

Gráfkereső feladat 1. Particionálás: Vizsgáljuk meg, hogy létezik-e az {1,..., N}, N = 10 halmaznak a következő tulajdonságokkal rendelkező k darab k = 8 részhalmaza, melyekre: 1 bármely két (2) elem legtöbb két (2) halmazban szerepel, illetve 2 bármely két (2) halmaz metszete legtöbb két (2) elemből áll. http://www.maths.qmw.ac.uk/~pjc/oldprob.html Feladat: írjunk egy programot, mely megkeresi az első ilyen részhalmazrendszert. A program paraméterezhető kell, hogy legyen, a paraméterei az (N, k) páros. Nagyobb teszt: létezik az (N = 15, k = 12) esetre megoldás? (15 pont) Kötelező feladat

Gráfkereső feladat 2. A háromjegyű számok halmazán értelmezzük a következő feladatot: jussunk el egy I számból egy adott G-hez a következő szabályok szerint: 1 Egy számjegyet eggyel növelünk vagy csökkentünk, 2 Egymásutáni lépésekben különböző a számjegyeket módosítunk, 3 A 9-es számjegyhez nem lehet hozzáadni; a 0-ból nem lehet kivonni, Nem tehető olyan lépés, mely a tiltott halmazba tartozó számot állítana elő (a tiltott lista adott) A feladat megoldásához használjuk az A algoritmust. h(i) = G 1 I 1 + G 2 I 2 + G 3 I 3 (5 pont) Forrás: Szalay

Gráfkereső feladat 3. Legyen a következő összeadás : ahol: S E N D M O R E M O N E Y A betűk mindegyike számjegy. értelmes számok: S és M nem lehet 0. Feladat: Írjunk egy programot, mely a keresést végrehajtja. (3 pont) Forrás: Szalay