ttnt-02-heuristic_and_astart

Upload: le-anh-khoa

Post on 08-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    1/30

    TR TU NHN T OTm ki m c thng tin heuristic, A*

    Ref: http://www.cs.cmu.edu/~awm/tutorials

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    2/30

    N i dung trnh byTm ki m c thng tin heuristic t t nh t

    Nh ng i m khng thch h p c a tm ki m t t nh tM o: tnh lun chi ph i n tr ng thi hi n t i.Vi c tm ki m k t thc khi no?

    2

    eur s c c p n n cTm ki m A* l y Tm ki m A* lun d ngKhuy t i m c a A*Ti t ki m nhi u b nh v i IDA* (Iterative Deepening A*)

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    3/30

    Tm ki m v i thng tin heuristicCc phng php tm ki m m (blind search):

    thng tin v tr ng thi ch khng ng vai trtrong vi c tm ki m.S Nn i

    n no?

    3

    C th s d ng c l ng kho ng cch n ch

    gi a cc tr ng thi tm ng i?

    a b c

    G

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    4/30

    Tm ki m v i thng tin heuristic (tt)Gi s ngoi vi c c t tm ki m chu n ta cng c m t

    heuristic .M t hm heuristic nh x m t tr ng thi thnh m t c l ng v chi ph n

    4

    .B n c th ngh ra v d v heuristics?

    VD. i v i bi ton 8-puzzle?VD. l p ng i trong ma tr n?

    K hi u heuristic b ng m t hmh(s)

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    5/30

    5

    Heuristic theo Kho ng cch Euclide

    GOAL

    b c

    a2

    81

    22

    5h=11

    h=8

    h=5 h=4

    h=0

    START

    d

    pq

    e

    h

    f

    r

    9 913

    5

    34

    4

    15

    1

    2

    h=12

    h=8

    h=6

    h=9

    h=4

    h=6h=11

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    6/30

    6

    Tm ki m v i thng tin heuristic t t nh t

    (Best-first)GOAL

    b c

    a2

    81

    22

    5h=11

    h=8

    h=5 h=4

    h=0

    START

    d

    pq

    e

    h

    f

    r

    9 913

    5

    34

    4

    15

    1

    2

    h=12

    h=8

    h=6

    h=9

    h=4

    h=6h=11

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    7/30

    7

    Tm ki m t t nh t (tt)

    GOAL

    b c

    a2

    81

    22

    5h=11

    h=8

    h=5 h=4

    h=0

    h=9

    START

    d

    pq

    e

    h

    f

    r

    9 913

    5

    34

    4

    15

    1

    2

    h=12

    h=8

    h=6

    h=4

    h=6h=11

    PQ = {(Start,12)}

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    8/30

    8

    Tm ki m t t nh t (tt)

    GOAL

    b c

    a2

    81

    22

    5h=11

    h=8

    h=5 h=4

    h=0

    h=12

    PQ = {(e,4),(d,8),(p,11)}

    START

    d

    pq

    e

    h

    f

    r

    9 913

    5

    34

    4

    15

    1

    2

    h=8

    h=6

    h=9

    h=4

    h=6h=11

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    9/30

    9

    Tm ki m t t nh t (tt)

    h=0

    GOAL

    b c

    a2

    81

    22

    5h=11

    h=8

    h=5 h=4

    PQ = {(h,6),(r,6),(d,8),(p,11)}

    START

    d

    pq

    e

    h

    f

    r

    9 913

    5

    34

    4

    15

    1

    2

    h=12

    h=8

    h=6

    h=9

    h=4

    h=6h=11

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    10/30

    10

    Tm ki m t t nh t (tt)

    GOAL

    b c

    a2

    81

    22

    5h=11

    h=8

    h=5 h=4

    h=0

    PQ = {(r,6),(d,8),(q,9),(p,11)}

    START

    d

    pq

    e

    h

    f

    r

    9 913

    5

    34

    4

    15

    1h=12

    h=8

    h=6

    h=9

    h=4

    h=6h=11

    d

    p

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    11/30

    Heuristic trong bi ton 8-puzzleTheo s n m sai v tr

    1 2 31 52 6 3 h = 6

    11

    7 87 4 8

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    12/30

    Heuristic trong bi ton 8-puzzle (tt)Theo t ng kho ng cch Manhattan

    1 5 1 2 3

    12

    2 6 37 4 8

    4 5 67 8

    h = 0 + 2 + 1 + 2 + 2 + 1 +0 + 1 = 9

    h = 9

    d = dx + dy

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    13/30

    Thu t ton tm ki m t t nh tInit-PriQueue(PQ)Insert-PriQueue(PQ,START,h(START))while (PQ khc r ng v PQ khng ch a tr ng thi ch)

    (s , h ) := Pop-least(PQ)V i m i s trong succs(s)N u s khn c tron PQ v s cha c vi n tr c bao

    13

    gi Insert-PriQueue(PQ,s,h(s))

    M t vi c i ti n c a thu t ton ny c th lm cho m i vi ct t p hn. N l th m chng ta g i l: A*.

    * Vi c s d ng heuristic lm thay i B

    Thu t ton T i u Th i gian Khng gianBestFS Best First

    SearchC K O(min(N,BLMAX )) O( min(N,BLMAX ))

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    14/30

    Hy Xem t t nh t ng ng n th no!

    S A CB G2

    4

    11 2

    14

    Tm ki m t t nh t r rng khng m b o tmth y ng i t i uCu h i: Chng ta c th lm g trnh l ing ng n ny?

    h=3 h=2 h=1h=4 h=0

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    15/30

    A* - t ng C b nBest-first: Khi b n m m t noden, l y node conn' v

    t n vo PriQueue v i u tinh(n' )A*: Khi b n m m t noden, l y node conn' v t nvo PriQueue v i u tin

    15

    (Chi ph i nn' ) + h(n' ) (1)

    t g (n) = Chi ph i nn (2)

    v nh ngha

    f (n) = g (n) + h(n) (3)

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    16/30

    A* khng ng ng n!

    S A CB G2

    411 2

    16

    h=3 h=2 h=1h=4 h=0

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    17/30

    A* d ng khi no? t ng: Ngay khi n pht sinh c tr ng thi ch?

    Xem v d sau:

    S1 11

    h = 3

    17

    D

    CA

    G

    1

    77

    h = 7

    h = 1

    h = 2

    h = 0

    h = 8

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    18/30

    Quy t c D ng A* ng n:A* D ng Ch Khi m t Tr ng Thi ch c L y ra

    kh i Priority QueueS1 1

    1h = 3

    18

    D

    CA

    G

    1

    7

    7

    h = 7

    h = 1

    h = 2

    h = 0

    h = 8

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    19/30

    Cc tr ng thi quay l i A*M t cu h i khc:i u g x y ra n u A* quay l i m t tr ngthi m , v tm c m t ng ng n hn?

    S1 11

    h = 3

    19

    D

    CA

    G

    1

    7

    h = 7

    h = 1

    h = 2

    Trong v d ny m t tr ngthi m c m l i.Nh th no v t i sao ?

    1/2

    h = 8

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    20/30

    i u g n u A* thm m t tr ng thi c trong hng i?

    S1 11

    h = 3

    h = 8

    Cc tr ng thi quay l i A*20

    D

    CA

    G

    1

    7

    h = 7

    h = 1

    h = 8

    Trong v d ny m t tr ng thi c trong hng i v ang i mc u tin tng v t ln. Nhth no v t i sao?

    1/2

    lu r ng gi tr h ny thay i so v i trang tr c.

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    21/30

    Thu t ton A*

    Priority queuePQ ban u r ng.V (= t p cc (b ba (state,f ,backpointer )) thm tr c b t u lr ng. t S vo PQ v V v i u tinf (s) = g (s) + h(s)PQ r ng?

    C? Khn c l i i i.

    21

    Khng? Lo i b node v if (n) th p nh t kh i queue. G i nl n.N un l m t ch, d ng v bo thnh cng.M n : V i m i n' trongsuccs (n)

    tf

    =g (n'

    ) +h

    (n'

    ) =g

    (n) +

    cost (n,n'

    ) +h

    (n'

    )N u n' cha th y tr c , hayn' m v i f (n' )>f , hay n' hi n trongPQ v i f (n' )>f Th t/C p nh tn' trong PQ v i u tinf v c p nh tV bao g m (state=n' , f , BackPtr =n).Ng c l i b qua n'

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    22/30

    A* C B o m Tm th y ng i T iu?

    A1

    1h = 6 h = 0

    22

    G3

    Khng. V v d sau cho th y t i sao.

    h = 7

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    23/30

    Heuristic ch p nh n c t h*(n) = chi ph t i thi u th p nh t tn n

    ch.M t heuristich l ch p nh n cn u

    h n

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    24/30

    24

    V d 8-Puzzle

    1 5

    2 6 37 4 8

    1 2 3

    4 5 67 8

    Tr ng thiv d

    Tr ng thich

    h(n) = S n m sai v tr trong

    tr ng thin h(n) = 0 h(n) = T ng kho ng cch

    Manhattan gi a m i so v i v trch

    h(n) = 1

    h(n) = min (2,h*(n)) h(n) = h*(n) h(n) = max (2,

    h*(n))

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    25/30

    A* v i heuristic ch p nh n c b o m ng i t i u

    Ch ng minh n gi n

    (B n c th t ch ng minh?)

    25

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    26/30

    So snh L p Su d n v i A*Trong sch c a Russell and Norvig, trang 107, Hnh4.8

    V i 8-puzzle, s tr ng thi cm trung bnh trong 100 bi ton c ch n ng u nhin trong n i t i u di

    26

    4 b c 8 b c 12 b c

    L p Su d n 112 6,300 3.6 x 106

    Tm ki m A* dngs sai vtrlm heuristic

    13 39 227

    A* dngT ng kho ng cchManhattanlm heuristic

    12 25 73

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    27/30

    27 A* : Khuy t i mA* c th dng nhi u b nh .

    Trn l thuy t:O(s tr ng thi)

    s l n, A* s dng h t b nh .

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    28/30

    IDA* : Tm ki m V i B nh Gi i h n

    A* l p v i su tng d n. Th t s , r t khc so v i A*. Gi s chiph l s nguyn.

    1. Th c hi n l p-khng dng DFS, khng m r ng node no cf (n) > 0. C tm th y ch? N u c, d ng.2. Th c hi n l p-khng dng DFS, khng m r ng node no c

    f (n) > 1. C tm th y ch? N u c, d ng.-

    28

    . ,f (n) > 2. C tm th y ch? N u c, d ng.

    4. Th c hi n l p-khng dng DFS, khng m r ng node no cf (n) > 3. C tm th y ch? N u c, d ng.

    l p l i i u ny, tng ng ngf (n) ln m t 1 m i l n, cho n khi d ng.

    Ci ny y B o m tm c l i gi i t i uNi chung t n chi ph nhi u hn A*.

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    29/30

    i u c n n mHi u th u o A*.C th ch y tay cc v d th c thi A*n gi n.

    29

    Hi u c tnh ch p nh n c c aheuristics. Ch ng minh tnh y ,b o m tnh t i u c a ng i.C th nh n xt v cc nh gi.

  • 8/7/2019 TTNT-02-Heuristic_and_Astart

    30/30

    Th c m c30