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

Visszalépéses keresés (Backtrack) ELTE – IK – PSZT Istenes Zoltán 2006 március.

Hasonló előadás


Az előadások a következő témára: "Visszalépéses keresés (Backtrack) ELTE – IK – PSZT Istenes Zoltán 2006 március."— Előadás másolata:

1 Visszalépéses keresés (Backtrack) ELTE – IK – PSZT Istenes Zoltán 2006 március

2 2 Visszalépéses keresés (G.T.) globális munkaterülete: –út a startcsúcsból az aktuális csúcsba (ezen kívül a még ki nem próbált élek nyilvántartása) keresés szabályai: –a nyilvántartott út végéhez egy új (ki nem próbált) él hozzáfűzése, vagy az legutolsó él törlése (visszalépés szabálya) –vezérlés stratégiája a visszalépés szabályát csak a legvégső esetben alkalmazza visszalépés feltételei: –zsákutca, azaz végpontjából nem vezet tovább út –zsákutca torkolat, azaz végpontjából kivezető utak nem vezettek célba –kör, azaz végpontja megegyezik az út egy megelőző csúcsával –mélységi korlátnál hosszabb terminálási feltétel: –az aktuális út végén megjelenik egy célcsúcs, vagy ha a startcsúcsból vissza akarunk lépni sorrendi heurisztika, vágó heurisztika

3 3 BB_WW BW_BW _WBBW W_BBW WBB_W WBBW_ BWWB_ B_WWB BWW_B _BWWB WB_WB WW_BB BBWW_ BBW_W B_WBW _BWBW WB_BW WBWB_ WBW_B W_WBB _WWBB _BBWW BWB_W B_BWW BWBW_ BW_WB _WBWB W_BWB WWB_B WWBB_ Adott egy öt egység hosszú sín, amelyben két fekete (B), két fehér (W) négyzet alakú lapocska, és egy üres hely (_) van. Egy lapocskát a szomszédos üres helyre lehet csúsztatni, vagy egy szomszédos lapocskát átugorva az üres helyre lehet helyezni. A cél egy olyan állás elérése, ahol a fehér lapocskák mind megelőzik a fekete lapocskákat. Kezdetben a BBWW_ elrendezés adott.

4 4 Gradiens módszer A WW_BB állapothoz képest hány pozíció (lap+üres) van a helyén Pld: f(B_WBW)=1, f(BW_BW)=3

5 5 BB_WW BW_BW _WBBW W_BBW WBB_W WBBW_ BWWB_ B_WWB BWW_B _BWWB WB_WB WW_BB BBWW_ BBW_W B_WBW _BWBW WB_BW WBWB_ WBW_B W_WBB _WWBB _BBWW BWB_W B_BWW BWBW_ BW_WB _WBWB W_BWB WWB_B WWBB_ „nem tud feljebb menni…” Gradiens módszer

6 6 BB_WW BW_BW _WBBW W_BBW WBB_W WBBW_ BWWB_ B_WWB BWW_B _BWWB WB_WB WW_BB BBWW_ BBW_W B_WBW _BWBW WB_BW WBWB_ WBW_B W_WBB _WWBB _BBWW BWB_W B_BWW BWBW_ BW_WB _WBWB W_BWB WWB_B WWBB_ körfigyelés… Visszalépéses keresés Visszalépés nélkül… „ugyan az” mint a hegymászó módszer

7 7 Megtalált út hossza : 11 Mi történik ha rövidebb, pld. 2 hosszú utat szeretnénk találni? Visszalépéses keresés : úthossz korlát = 2

8 8 BB_WW BBWW_ BBW_W aktuális csúcs bejárási sorrend (lista) start csúc s cél függvény cél függvény gyermek csúcsok 1 a cél függvény miatt 1

9 9 BBW_W BB_WW BBWW_ BBW_W _BBWW B_BWW sorrendi heurisztika miatt

10 10 BBW_W BB_WW BBWW_ BBW_W _BBWW B_BWW útvonal hossz korlát visszalépés 2,4 _BBWW BB_WW

11 11 BBW_W BB_WW BBWW_ BBW_W _BBWW B_BWW ,4 3 sorrendi heurisztika miatt, a következő sorrendi heurisztika miatt, a következő 5

12 12 BBW_W BB_WW BBWW_ BBW_W _BBWW B_BWW útvonal hossz korlát visszalépés 2,42,4,6 2

13 13 BBW_W BB_WW BBWW_ BBW_W _BBWW B_BWW ,42,4,6,8 7 nincs több választható út visszalépés 1,9

14 14 BBW_W BB_WW BBWW_ BBW_W _BBWW B_BWW ,42,4,6,87,10 1,9

15 15 BBW_W BB_WW BBWW_ BBW_W _BBWW B_BWW ,42,4,6,87,10 1,9 B_WBW

16 16 BBW_W BB_WW BBWW_ BBW_W _BBWW B_BWW ,42,4,6,87,10,12 1,9 B_WBW 111

17 17 BBW_W BB_WW BBWW_ BBW_W _BBWW B_BWW ,42,4,6,8,137,10,12 1,9 B_WBW 111 2

18 18 BBW_W BB_WW BBWW_ BBW_W _BBWW B_BWW ,42,4,6,8,137,10,12,14 1,9 B_WBW 111

19 19 startcsúcsból visszalépés BBW_W BB_WW BBWW_ BBW_W _BBWW B_BWW ,42,4,6,8,137,10,12,14 1,9,15 B_WBW 111 nem talált megoldást

20 20 BB_WW BW_BW _WBBW W_BBW WBB_W WBBW_ BWWB_ B_WWB BWW_B _BWWB WB_WB WW_BB BBWW_ BBW_W B_WBW _BWBW WB_BW WBWB_ WBW_B W_WBB _WWBB _BBWW BWB_W B_BWW BWBW_ BW_WB _WBWB W_BWB WWB_B WWBB_ Visszalépéses keresés ,11,13,15,18 8, , Úthossz korlát : 9

21 21 BB_WW BW_BW _WBBW W_BBW WBB_W WBBW_ BWWB_ B_WWB BWW_B _BWWB WB_WB WW_BB BBWW_ BBW_W B_WBW _BWBW WB_BW WBWB_ WBW_B W_WBB _WWBB _BBWW BWB_W B_BWW BWBW_ BW_WB _WBWB W_BWB WWB_B WWBB_ Visszalépéses keresés, úthossz korlát : 7 vágó heurisztika : nem lépünk rosszabbra 12,26 7,9 6,10,14,18 5,19,29,34 4,30,33 3,31 2, ,23,25,27 15,17 11, ,

22 22 4 királynő – visszalépéses kereséssel

23 23 Heurisztikák az n-királynő problémára 1. Neminformált:  Diagonális és ptl-ps heurisztika  *  *  *  *  *  *  *  *  *  *  *  *  *  *  **      Diagonális heurisztika:      *  * 22 visszalépés 2 visszalépés0 visszalépés  *  *  **  *  * 3. reprezentáció mellett Készítette : Gregorics Tibor

24 24 Heurisztikák az n-királynő problémára 2. Neminformált:   Diagonális heurisztika: *  * * *         4 visszalépés0 visszalépés 4. reprezentáció mellett Készítette : Gregorics Tibor

25 25 Adott néhány láncdarab, amelyekből hosszabb láncdarabok állíthatók elő két lánc összefűzésével. A láncdarabok hosszát a benne szereplő láncszemek száma adja meg. Egy összefűzött lánc hossza a két láncdarab hosszának összege. Adott kezdőállásból indulva hozzunk létre olyan célállást, ahol 3 darab, legalább 10 hosszúságú lánc van. A probléma egy közbeeső állását két sorozattal reprezentáljuk: az első („kész”) sorozat a legalább tíz, a második („maradék”) sorozat a tíznél rövidebb láncok hosszait tartalmazza. Például a <> lehet egy kezdőállás, a, egy közbeeső, a <> pedig egy célállás. Szemléltesse a visszalépéses keresés működését ezen a problémán, a <> kezdőállapotból indulva. Minden lépésben a maradék láncok közül válasszunk ki kettőt. Ha az új láncdarab hossza elég nagy, akkor az a kész láncok közé kerül, ellenkező esetben a maradék láncok között ez lesz az első. Az összefűzendő maradék láncpár kiválasztásánál a sorozatban elfoglalt legkisebb pozíciójú láncokat (lexikografikus értelemben) részesítsük előnyben: tehát először az első láncdarabot próbáljuk összefűzni a másodikkal, és ha ez nem vezet eredményre, akkor az elsőt a harmadikkal és így tovább. A visszalépéses keresés során lépjünk vissza az olyan állásból, ahol a maradék láncdarabok összhosszúsága nem elég a még hiányzó tíznél hosszabb láncok kialakításához.

26 26 <> <> 6 túl rövid  17 túl rövid  9 túl rövid  4 túl rövid  célállapot kezdőállapot nincs több  15← 8+7

27 27 Adjon heurisztikát az összefűzendő láncdarabok kiválasztására! A láncdarabokat rendezzük hosszúság szerint csökkenő sorrendbe. <> kezdőállapot <>      célállapot

28 28 A leghosszabb láncdarabhoz a sorozatban elfoglalt legnagyobb pozíciójú láncokat (lexikografikus értelemben) részesítsük előnyben: tehát először az első láncdarabot próbáljuk összefűzni az utolsóval, és ha ez nem vezet eredményre, akkor az elsőt az utolsó előttivel és így tovább <> kezdőállapot <> célállapot

29 29 Heurisztikák a 8-as játékra  Rossz helyen levő cellák száma: –W(a)=  i,j  (a i,j  cél i,j )  Rossz helyen levő cellák minimális távolsága a célbeli helyüktől: –P(a)=  i,j  (i,j), célhely(a i,j )  Készítette : Gregorics Tibor

30 W Rossz helyen levő cellák száma Készítette : Gregorics Tibor

31 P Rossz helyen levő cellák minimális távolsága a célbeli helyüktől Készítette : Gregorics Tibor

32 32 Példák SEND +MORE MONEY SEND +MORE MONEY E,D,M,N,O,R,S,Y=? E,D,M,N,O,R,S,Y mind különböző [0..9] S<>0, M<>0 Hogyan lehet egy adott összeget kifizetni, ha adott értékű és darabszámú pénzzel rendelkezünk? Rengeteg (logikai) „próbálgatós” játék/feladvány…

33 33 Linkek 71/fall97/hw/hw5.shtml bűvös négyzetek, SEND+MORE=MONEYhttp://www.csee.umbc.edu/www/courses/graduate/7 71/fall97/hw/hw5.shtml „MI lerakat”…http://ai-depot.com/Features/Tutorials.html Daedalus labirintus generálás, megoldáshttp://www.astrolog.org/labyrnth.htm labirintus megoldás, online…http://www.cs.bu.edu/teaching/alg/maze/ kOverview.html Overview of Backtrackinghttp://www.cs.ecu.edu/~karl/astarte/failSeq/Backtrac kOverview.html k.htm Várterész Magdolna MI backtrack anyagahttp://www.inf.unideb.hu/~varteres/mi/part3/backtrac k.htm courses.cs.uiuc.edu/~cs440/notes/lec6.pdf Constraint Satisfaction Problemshttp://www- courses.cs.uiuc.edu/~cs440/notes/lec6.pdf 22-Stacks3.ppt backtrack, labirintus, királynők, …http://home.wlu.edu/~lambertk/classes/112/Lectures/ 22-Stacks3.ppt e1/mazetraversal.html labirintus, Java, onlinehttp://gaia.ecs.csus.edu/~wang/backtrack/maze/maz e1/mazetraversal.html Backtrack Recursion and the Mysterious Mazehttp://www.siteexperts.com/tips/functions/ts20/page1.asp vathRichard/MIBev3.htmhttp://www.codexonline.hu/CodeX7/alap/vegyes/Hor vathRichard/MIBev3.htm vathRichard/MIBev4.htm Horváth Richárd anyaga backtrack, keresések, …http://www.codexonline.hu/CodeX8/alap/vegyes/Hor vathRichard/MIBev4.htm

34 34 Köszönöm a figyelmet Ha valami nem volt világos, kérem kérdezzék meg

35 35 Kancsó (vödör) töltögetés 3 kancsó : 5,3,2 literes Kezdetben : 5 literes tele, a többi üres Célállapot : a 2 literesben 1 liter van. …

36 36 5/5,0/3,0/2 2/5,3/3,0/2 3/5,0/3,2/2 0/5,3/3,2/2 5/5,0/3,0/2 2/5,1/3,2/2 3/5,2/3,0/2 0/5,3/3,2/2 3/5,0/3,2/2 4/5,1/3,0/2 2/5,3/3,0/2 1/5,2/3,2/2 5/5,0/3,0/2 3/5,0/3,2/2 2/5,3/3,0/2 0/5,3/3,2/2 5/5,0/3,0/2 3/5,2/3,0/2 2/5,1/3,2/2 4/5,0/3,1/2 1/5,3/3,1/2

37 37 5/5,0/3,0/2 2/5,3/3,0/2 3/5,0/3,2/2 0/5,3/3,2/2 2/5,1/3,2/2 3/5,2/3,0/2 4/5,1/3,0/2 1/5,2/3,2/2 4/5,0/3,1/2 1/5,3/3,1/2

38 38 5/5,0/3,0/2 2/5,3/3,0/2 3/5,0/3,2/2 0/5,3/3,2/2 2/5,1/3,2/2 3/5,2/3,0/2 4/5,1/3,0/2 1/5,2/3,2/2 4/5,0/3,1/2 1/5,3/3,1/

39 39 5/5,0/3,0/2 2/5,3/3,0/2 3/5,0/3,2/2 0/5,3/3,2/2 2/5,1/3,2/2 3/5,2/3,0/2 4/5,1/3,0/2 1/5,2/3,2/2 4/5,0/3,1/2 1/5,3/3,1/ Előre…

40 40 5/5,0/3,0/2 2/5,3/3,0/2 3/5,0/3,2/2 0/5,3/3,2/2 2/5,1/3,2/2 3/5,2/3,0/2 4/5,1/3,0/2 1/5,2/3,2/2 4/5,0/3,1/2 1/5,3/3,1/ ,8 5,9 4,10 3,11 2,12 Vissza…

41 41 5/5,0/3,0/2 2/5,3/3,0/2 3/5,0/3,2/2 0/5,3/3,2/2 2/5,1/3,2/2 3/5,2/3,0/2 4/5,1/3,0/2 1/5,2/3,2/2 4/5,0/3,1/2 1/5,3/3,1/ ,8,17 5,9,16 4,10,15 3,11,14 2,12 Újra előre („korlát”!)… 13

42 42 5/5,0/3,0/2 2/5,3/3,0/2 3/5,0/3,2/2 0/5,3/3,2/2 2/5,1/3,2/2 3/5,2/3,0/2 4/5,1/3,0/2 1/5,2/3,2/2 4/5,0/3,1/2 1/5,3/3,1/ ,8,17 5,9,16,18 4,10,15,19 3,11,14,20 2,12 Újra vissza… 13,21


Letölteni ppt "Visszalépéses keresés (Backtrack) ELTE – IK – PSZT Istenes Zoltán 2006 március."

Hasonló előadás


Google Hirdetések