Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

2007.09.03 Előadó: Nagy Sára Mesterséges intelligencia Kereső rendszerek.

Hasonló előadás


Az előadások a következő témára: "2007.09.03 Előadó: Nagy Sára Mesterséges intelligencia Kereső rendszerek."— Előadás másolata:

1 2007.09.03 Előadó: Nagy Sára Mesterséges intelligencia Kereső rendszerek

2 Alapfeladat: egy út keresése valamilyen gráfban. Különbség az egyes kereső algoritmusokban: mennyire általános útkeresési problémát oldanak meg, optimalizálnak-e valamilyen szempontból.

3 MI problémamegoldás menete 1. Reprezentálás. 2. Megfeleltetése egy gráfhoz. 3. Valamelyik kereső algoritmus futtatása. 4. Az eredmény értelmezése az eredeti feladat szempontjából.

4 Általános sémák

5 Állapottér repr. megfeleltetése gráfhoz állapot művelet művelet költsége kezdő állapot célállapotok művelet sorozat megoldás csúcs irányított él élköltség stratcsúcs terminális csúcsok irányított út irányított út a startcsúcsból egy terminális csúcsba

6 Gráfreprezentáció fogalma Egy útkeresési probléma gráfreprezentációja egy (R,s,T) hármas, ahol R=(N,A) egy δ-gráf (az úgynevezett reprezentációs gráf) s ∈ N (a startcsúcs) T ⊆ N (a célcsúcsok) A feladat megoldása egy s → T út.

7 Keresőrendszer sémája Eljárás KR 1. ADAT := kezdeti érték; 2. Ciklus amíg nem Terminális(ADAT) 3. SZABÁLY:=Választ(Alkalmazható(ADAT)); 4. ADAT:=SZABÁLY(ADAT); 5. Ciklus vége; Eljárás vége.

8 Kereső rendszer részei Globális adatbázis (ADAT) Szabályok (SZABÁLYOK halmaza) Vezérlési startégia (Választ)

9 Elsődleges vezérlési stratégiák Nem módosítható Módosítható Visszalépéses Gráfkereső

10 Visszalépéses kereső rendszer Globális adatbázis: egy út a startcsúcsból az aktuális csúcsba Szabályok: egy él hozzá vétele vagy törlése (visszalépés) Vezérlési startégia: a fő elv, hogy a visszalépést utoljára választjuk. Terminálási feltétel: Sikeres: célcsúcs megjelenése az út végén Sikertelen: visszalépés a startcsúcsból

11 Visszalépés esetei Zsákutca. Zsákutca torkolat. Kör. Mélységi korlát elérése.

12 Visszalépéses KR algoritmusa Eljárás VL1(csúcs) : megoldás 1. ha cél(csúcs) akkor return nil; 2. szabályok:=kivezető_élek(csúcs); 3. ciklus amíg nem üres-e(szabályok) 4. szab:=kivesz_egyet(szabályok); 5. újcsúcs:=szab(csúcs); 6. megoldás:=VL1(újcsúcs); 7. ha megoldás <> hiba akkor return hozzáfűz(szab,megoldás); 7. ciklus vége; 8. return hiba; Eljárás vége.

13 Visszalépéses algoritmus 2. változat Eljárás VL2(csúcslista) : megoldás 1. csúcs:=első(csúcslista); 2. ha hossza(csúcslista) > mélységi korlát akkor return hiba; 3. ha eleme(csúcs,maradék(csúcslista)) akkor return hiba; 4. ha cél(csúcs) akkor return nil; 5. szabályok:=kivezető_élek(csúcs); 6. ciklus amíg nem üres-e(szabályok) 7. szab:=kivesz_egyet(szabályok); 8. újcsúcslista:=hozzáfűz(szab(csúcs),csúcslista); 9. megoldás:=VL2(újcsúcslista); 10. ha megoldás <> hiba akkor 11. return hozzáfűz(szab,megoldás); 12. ciklus vége; 13. return hiba; Eljárás vége.

14 Heurisztika A reprezentációban nem rögzített, a feladattal kapcsolatos konkrét ismeret (vezérlési tudás), amelytől a jó eredményt és a megfelelő hatékonyságot várjuk. sorrendi heurisztika: sorrendet ad a végpontból kivezető élek (utak) vizsgálatára vágó heurisztika: megjelöli azokat a végpontból kivezető éleket, amelyeket nem érdemes megvizsgálni

15 Állítások A VL1 véges, körmentes, irányított gráfokon mindig terminál, és ha létezik megoldás, akkor talál egy megoldást. A VL2 δ-gráfban mindig terminál, és ha létezik a mélységi korlátnál nem hosszabb megoldás, akkor megtalál egy megoldást.

16 Értékelés Előnyök: könnyen implementálható; kicsi memória igényű. Hátrányok: nem ad optimális megoldást; kezdetben hozott rossz döntés csak sok visszalépéssel javítható; több úton megközelíthető gráfrészeket többször is bejár.

17 Gráfkereső rendszer Globális adatbázis: egy részgráf a startcsúcsból kiindulva Szabályok: egy csúcs rákövetkezőinek előállítása (kiterjesztés) Vezérlési stratégia: a „legígéretesebb” csúcs kiterjesztése Terminálási feltétel: Sikeres: célcsúcs kiválasztása kiterjesztésre Sikertelen: nincs kiválasztható csúcs

18 Gráfkeresés 0. verziója Eljárás GK0 : megoldás 1. G:= s; NYILT:={s}; 2. ciklus amíg nem üres-e(NYILT) 3. n:= választ(NYILT); 4. ha cél(n) akkor return megoldás; 5. G:= G + Γ(n); 6. NYILT:=NYILT \ {n} U Γ(n); 7. ciklus vége; 8. return hiba; Eljárás vége.

19 Problémák az alap algoritmussal Körökre érzékeny. Hogyan olvasható ki a megoldás? Nem feltétlenül talál optimális megoldást. Mi alapján válasszunk ki egy csúcsot kiterjesztésre?

20 Válaszok a problémákra Használjunk kiértékelő függvényt. f: NYILT → R a 3. lépésben: n:=min f (NYILT) A csúcsokhoz vezető minél kisebb költségű utat tartsunk nyilván. p: G → G; p(n): az egyikszülőre mutat g: G → R ; g(n):=c α (s,n), ahol α a nyilvántartott út. g* : N → R ; g*(n):=c*(s,n), ami az optimális út s-ből n-be.

21 Gráfkeresés alapalgoritmusa Eljárás GK : megoldás 1. G:= s; NYILT:={s}; g(s):=0; p(s):=nil 2. ciklus amíg nem üres-e(NYILT) 3. n:= min(NYILT); NYILT:=NYILT \ {n} f 4. ha cél(n) akkor return megoldás; 5. ciklus minden m  Γ(n)-re; 6. ha (m  G) vagy g(m)>g(n)+c(n,m) akkor p(m):=n, g(m):=g(n)+c(n,m), NYILT:=NYILT U {m}; ha vége; 7. ciklus vége; 8. G:= G + Γ(n); 9. ciklus vége; 10. return hiba; Eljárás vége.

22 Állítások 1. A GK működése során egy csúcsot legfeljebb véges sokszor terjeszt ki. 2. A GK véges reprezentációs gráfban mindig terminál. 3. Ha egy véges reprezentációs gráfban létezik megoldás, akkor GK egy célcsúcs megtalálásával terminál.

23 Invariáns lemma Minden s-ből elérhető n csúcsra igaz, hogy GK az n csúcs kiterjesztése előtt bármely s *→n optimális úton mindig nyilvántart egy olyan m csúcsot, amelyre teljesül, hogy 1. m  NYILT 2. g(m)=g*(m) 3. minden m-et megelőző csúcs zárt.

24 Gráfkereső algoritmusok csoportosítása Neminformált Mélységi Szélességi Egyenletes Heurisztikus Előretekintő A A* A c

25 Heurisztikus függvény h: N → R, ami minden csúcsra becsli a hátralévő út költségét. A h* függvény jelenti az optimális hátralévő utat, azaz h*(n) = min c*(n,t) = c*(n,T) t  T

26 Nevezetes gráfkereső algoritmusok és tulajdonságaik MegnevezésKiértékelő függvényÁllítások Mélységi f = -g és c(n,m)=1  élre Csak mélységi korláttal ad megoldást. Szélességi f = g és c(n,m)=1  élre Legrövidebb megoldást ad, a csúcsokat legfeljebb egyszer terjeszti ki. Egyenletesf = gLegolcsóbb megoldást ad, a csúcsokat legfeljebb egyszer terjeszti ki. Előre tekintőf = h- A f = g+h és 0  h  -gráfokon megoldást ad. A* f = g+h és 0  h  h*  -gráfokon optimális megoldást ad. A c (következetes) f = g+h és 0  h és h(t)=0  t  T- re és h(n)-h(m)  c(n,m)  élre  -gráfokon optimális megoldást ad, a csúcsokat legfeljebb egyszer terjeszti ki.

27 Csökkenő kiértékelő függvény a NYÍLT halmazbeli csúcsok kiértékelő függvényértéke az ott tartózkodás alatt nem nő, a NYÍLT halmazba visszakerülő csúcs kiértékelő függvényértéke határozottan kisebb, mint a csúcs megelőző kiterjesztésekor felvett függvényértéke. Megj.: A nevezetes gráfkereső algoritmusok ilyen csökkenő kiértékelő függvényt használnak.

28 Működési grafikon

29 Állítás Csökkenő kiértékelő függvény használata mellett a GK a küszöbcsúcsok kiterjesztésekor optimális költségű konzisztens feszítőfát tart nyilván. Def.: Küszöbcsúcsnak nevezzük azt a csúcsot, amely kiterjesztésekor mért kiértékelő függvényértéke ( a küszöb érték) nagyobb vagy egyenlő, mint a megelőző kiterjesztésekkor mért érték.


Letölteni ppt "2007.09.03 Előadó: Nagy Sára Mesterséges intelligencia Kereső rendszerek."

Hasonló előadás


Google Hirdetések