Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Mesterséges intelligencia
4
2
Megoldáskereső algoritmusok osztályozása
Visszavonható-e műveletvégzés? Nem módosítható keresők Módosítható keresők Műveletvégzés hatása nem vonható vissza. Egyszerű adatbázis. Műveletvégzés hatása visszavonható. Összetettebb adatbázis. visszalépéses kereső keresőfával kereső
3
Visszalépéses (Backtrack) kereső
Adatbázis: aktuális út (a kezdőcsúcsból az aktuális csúcsba) csúcs = Műveletek: operátorok visszalépés: az aktuális csúcs törlése állapot + az állapotra még nem alkalmazott operátorok
4
az összes a kezdőállapotra alkalmazható operátor
Alap backtrack Vezérlő: Inicializálás: start-csúcs az adatbázisba start-csúcs = Tesztelés: az aktuális csúcsban célállapot van-e? kezdőállapot + az összes a kezdőállapotra alkalmazható operátor
5
Alap backtrack Vezérlő: Az aktuális csúcs állapotára (a) Vissza a 2-re
Van-e még nem alkalmazott alkalmazható operátor? Ha nincs ⇒ visszalépés Ha van operátor választása (o) o eltávolítása az aktuális csúcsból o(a) hozzáfűzése az adatbázishoz (új csúcsként) Vissza a 2-re
6
Alap backtrack üres-e az adatbázis? i inicializálás n a tesztelése
o(a) új csúcsként az adatbázishoz i visszalépés n a-ra van-e még nem alkalmazott alkalmazható operátor? n i
7
Alap backtrack Ha megoldást talált:
A megoldás maga az adatbázis (mint út). A csúcsokban tárolandó: a csúcsban tárolt állapotra utoljára alkalmazott operátor.
8
Alap backtrack tulajdonságai
Teljesség: Ha van megoldás, akkor véges á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.
9
Backtrack úthosszkorláttal
A reprezentációs gráf köreinek átvágására: maximalizáljuk az adatbázis méretét! Legyen előre adott egy pozitív szám: korlát A visszalépési feltétel kibővítése: ha az adatbázis hossza > korlát ⇒ visszalépés
10
Backtrack úthosszkorláttal
üres-e az adatbázis? i inicializálás n a tesztelése o(a) új csúcsként az adatbázishoz i visszalépés n n |adatb|<korlát és a-ra van még operátor? i
11
Backtrack úthosszkorláttal tulajdonságai
Teljesség: Ha van megoldás, nem garantált annak megtalálása. (ha az úthosszkorlát túl kicsi) Ha nincs megoldás, akkor tetszőleges állapottér gráfban felismeri. Optimalitás: nem garantálja az optimális megoldás megtalálását.
12
Backtrack körfigyeléssel
A reprezentációs gráf köreinek eliminálására: ne engedjük állapotok duplikálását az adatbázisban! Az adatbázis kibővítésének feltételhez kötése: ha az új állapot (a’) már szerepel az adatbázisban ⇒ nem fűzzük hozzá a’-t
13
Backtrack körfigyeléssel
üres-e az adatbázis? i inicializálás n a tesztelése o(a) új csúcsként az adatbázishoz i visszalépés n i n n o(a) szerepel az adatbázisban? a-ra van még operátor? i
14
Backtrack körfigyeléssel tulajdonságai
Teljesség: Ha van megoldás, akkor tetszőleges állapottér gráfban megtalálja. Ha nincs megoldás, akkor tetszőleges állapottér gráfban felismeri. Optimalitás: nem garantálja az optimális megoldás megtalálását.
15
Ág és korlát algoritmus
Optimális megoldás keresésére Az úthosszkorlátos backtrack kereső egy változata Az úthosszkorlát dinamikusan változik megoldást találva az úthosszkorlát a megoldás hosszára csökken
16
Ág és korlát algoritmus
üres-e az adatbázis? inicializálás (korlát és megoldás is) inicializálás i n megoldás üres? i n o(a) új csúcsként az adatbázishoz megoldás:=adatb + korlát := |adatb| visszalépés a tesztelése i i n |adatb|<korlát és a-ra van még operátor? n i
17
Ág és korlát algoritmus tulajdonságai
Teljesség: Ha van megoldás, akkor tetszőleges állapottér gráfban megtalálja (ha a korlát kezdőértéke nem túl kicsi). Ha nincs megoldás, akkor tetszőleges állapottér gráfban felismeri. Optimalitás: garantálja az optimális megoldás megtalálását.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.