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

Mesterséges intelligencia

Hasonló előadás


Az előadások a következő témára: "Mesterséges intelligencia"— Előadás másolata:

1 Mesterséges intelligencia
7

2 Költség és heurisztika
Optimális kereső: a „múltba” tekint Best-first kereső: a „jövőbe” tekint

3 A-algoritmus Ötvözi az optimális és a best-first keresőt.
Minden n csúcsban tároljuk: f(n) = g(n) + h(n) az s-ből a n-en keresztül valamely célcsúcsba vezető út becsült költsége A „múltba” és a „jövőbe” is tekint. s g(n) n h(n) f(n) t

4 A-algoritmus A legkisebb f-értékű nyílt csúcsot választja kiterjesztésre. A nyílt csúcsok listája legyen a csúcsok f-értéke szerint rendezett. Körfigyelés: zárt csúcsok problémája?

5 Körfigyelés S n m o o m

6 Körfigyelés Zárt csúcsok problémája
n m o Fel kell frissíteni az m-ből induló részfa csúcsainak költségét (g-értékét)!

7 Zárt csúcsok problémája
Járjuk be a részfát! Gond: szülőre mutatókat használunk. Bízzuk a frissítést az A-algoritmusra! A m-et visszaminősítjük nyílttá. (Mintha nem jártuk volna be a részfát.) Előzzük meg! Az optimális keresőnél nem volt ilyen gond. Mi a titka?

8 A-algoritmus ELVÁRT tulajdonságai
? Teljesség: Ha van megoldás, akkor tetszőleges állapottér gráfban megtalálja. Ha nincs megoldás, akkor véges állapottér gráfban felismeri. Optimalitás: garantálja az optimális megoldás megtalálását.

9 Teljesség vizsgálata Állítás: bármely csúcs csak véges sokszor lesz visszaminősítve nyílttá. Minden operátoralkalmazás költsége pozitív. Jelöljük a legkisebb ilyen költséget  -val! Minden visszaminősítés során a csúcs g-értéke min.  -val csökken. Minden csúcs g-értékének van egy alsó korlátja: a csúcsba jutás optimális költsége.

10 Teljesség vizsgálata Következmény: bármely nyílt csúcs véges sok lépés után kiterjesztésre kerül, hacsak az A-algoritmus előbb nem talál célállapotot.

11 A-algoritmus ELVÁRT tulajdonságai
Teljesség: Ha van megoldás, akkor tetszőleges állapottér gráfban megtalálja. Ha nincs megoldás, akkor véges állapottér gráfban felismeri. Optimalitás: garantálja az optimális megoldás megtalálását. ?

12 Optimalitás vizsgálata
Ellenpélda: 5 s 2 3 3 4 a b 4 2 t

13 A-algoritmus tulajdonságai
Teljesség: Ha van megoldás, akkor tetszőleges állapottér gráfban megtalálja. Ha nincs megoldás, akkor véges állapottér gráfban felismeri. Optimalitás: nem garantálja az optimális megoldás megtalálását.

14 A*-algoritmus Az optimális kereső speciális A-algoritmus:
h*(n): az n-ből célba jutás optimális költsége g*(n): a startcsúcsból n-be jutás optimális költsége f*(n) = g*(n)+h*(n) : a startcsúcsból n-en keresztül célba jutás optimális költsége Az optimális kereső speciális A-algoritmus: minden n csúcsra: h(n)=0 garantálja az optimális megoldás előállítását Milyen heurisztikával garantálja az A-algoritmus az optimális megoldást? a heurisztika legyen alsó becslés: minden n csúcsra: h(n)  h*(n)

15 A*-algoritmus – 1. lemma 1. lemma: az optimális megoldásnak mindig van eleme a nyílt csúcsok között. Inicializálás után egyetlen nyílt csúcs van: s Induktív feltevés: aktuálisan ni nyílt. Ha nem ni –t terjesztjük ki  ni nyílt marad. s= n1 Ha ni –t terjesztjük ki  ha ni+1 nincs az adatbázisban  felvesszük ni+1 –et nyílt csúcsként. ha ni+1 az adatbázisban van (zártként)  utódjai közül némelyek nyílt csúcsként szerepelnek. n2 t= nr

16 A*-algoritmus – 2. lemma 2. lemma: ha n nyílt csúcsot választjuk kiterjesztésre  f(n) f*(s) 1. lemma alapján: az optimális útnak van eleme a nyílt csúcsok között. vegyük a legelső ilyen csúcsot: ni g(ni) = g*(ni) Jelöljük n-nel a kiterjesztésre választott csúcsot. f(n) bármely nyílt csúcs f-értékénél  f(n) f(ni) f(n)  f(ni) = g(ni)+h(ni)  g*(ni)+h*(ni) = f*(ni) = f*(s) = g*(ni) h*(ni)

17 A*-algoritmus – Tétel Tétel: az A*-algoritmus az optimális megoldást állítja elő. A megoldás előállításának pillanata: a t célcsúcsot terjeszti ki a vezérlő A 2. lemma alapján: f(t)  f*(s) f(t) = g(t)+h(t) = g(t)  f*(s) =

18 A*-algoritmus tulajdonságai
Teljesség: Ha van megoldás, akkor tetszőleges állapottér gráfban megtalálja. Ha nincs megoldás, akkor véges állapottér gráfban felismeri. Optimalitás: GARANTÁLJA az optimális megoldás megtalálását.

19 Szélességi, optimális keresők, A- és A*-algoritmusok
h(n)  h*(n) A*-algoritmus h(n)=0 Optimális kereső k(o,n)=1 Szélességi kereső

20 Zárt csúcsok problémája
Járjuk be a részfát! Gond: szülőre mutatókat használunk. Bízzuk a frissítést az A-algoritmusra! A m-et visszaminősítjük nyílttá. (Mintha nem jártuk volna be a részfát.) Előzzük meg! Az optimális keresőnél nem volt ilyen gond. Mi a titka?

21 monoton A-algoritmus Az optimális kereső speciális A-algoritmus:
minden n csúcsra: h(n)=0 nem fordul elő a zárt csúcsok problémája Milyen heurisztikával eliminálja az A-algoritmus a zárt csúcsok problémáját? a heurisztika legyen monoton: ha n gyermeke m: h(n)  h(m)+k(o,n)

22 A*- és monoton A-algoritmusok
A monoton A-algoritmus A*-algoritmus is. Tétel: ha h monoton, akkor h alsó becslés is. Bármely n csúcsra: h(n)  h*(n) Ha n-ből nem érhető el célcsúcs  h*(n) =  Ha n-ből elérhető valamelyik t célcsúcs 

23 A*- és monoton A-algoritmusok
Ha n-ből elérhető valamelyik t célcsúcs  n= n1 n2 Optimális út n-ből egy célcsúcsba t= nr

24 Szélességi, optimális keresők, A-, A* és monoton A-algoritmusok
h(n)  h*(n) A*-algoritmus h(n)  h(m)+k(o,n) monoton A-algoritmus h(n)=0 Optimális kereső k(o,n)=1 Szélességi kereső

25 monoton A-algoritmus Zárt csúcsok problémája
Tétel: Ha a monoton A-algoritmus az n nyílt csúcsot választjuk kiterjesztésre  g(n)= g*(n) s= n1 Indirekt feltevés: g(n) > g*(n) Legyen ni a startcsúcsból az n-be vezető optimális út első nyílt eleme. n2 Optimális út n-be n= nr

26 monoton A-algoritmus Zárt csúcsok problémája
Optimális út n-be n= nr Ellentmondás: nem n-et kellett volna kiterjesztésre kiválasztanunk!


Letölteni ppt "Mesterséges intelligencia"

Hasonló előadás


Google Hirdetések