43
Trí TuNhân To Nguyn Nht Quang [email protected] Vin Công nghThông tin và Truyn thông Trường Đại hc Bách Khoa Hà Ni Năm hc 2009-2010

Chuong 5 - Thoa man rang buoc.pdf

Embed Size (px)

Citation preview

  • Tr Tu Nhn To

    Nguyn Nht Quang

    [email protected]

    Vin Cng ngh Thng tin v Truyn thngTrng i hc Bch Khoa H Ni

    Nm hc 2009-2010

  • Ni dung mn hc:

    Gii thiu v Tr tu nhn to

    Tc t

    Gii quyt vn : Tm kim, Tha mn rng buc

    Logic v suy din

    Biu din tri thc

    Suy din vi tri thc khng chc chn

    Hc my Hc my

    Lp k hoch

    2Tr tu nhn to

  • Rng bucg Mt rng buc (constraint) l mt quan h trn mt tp cc bin

    Mi bin c (gn vi) mt tp cc gi tr c th nhn gi l min (g ) p g ggi tr (domain)

    Trong mn hc ny, chng ta ch xt cc min hu hn cc gi tr ri rc

    Mt rng buc c th c biu din bng Mt biu thc (ton hc / logic) Mt bng lit k cc php gn gi tr ph hp cho cc bin Mt bng lit k cc php gn gi tr ph hp cho cc bin

    V d v rng buc Tng cc gc trong mt tam gic l 180o

    di ca t W l 10 k t X nh hn Y Tun c th tham d bui seminar vo th 4 sau 14h

    3Tr tu nhn to

  • Bi ton tha mn rng bucg Mt bi ton tha mn rng

    buc (Constraint Satisfaction Problem CSP) bao gm:

    Mt tp hu hn cc bin X Min gi tr (mt tp hu hn cc

    gi tr) cho mi bin D Mt tp hu hn cc rng buc C

    Mt li gii (solution) ca bi ton V d: Mt li gii (solution) ca bi ton tha mn rng buc l mt php gn y cc gi tr ca cc bin sao cho tha mn tt c cc

    V d:Cc bin x1,,x6.Min gi tr {0,1}.Cc rng buc:

    rng buc Mt bi ton tha mn rng buc

    thng c biu din bng mt

    Cc rng buc: x1+x2+x6=1 X1-x3+x4=1 x4+x5-x6>0g g

    th (graph)

    4Tr tu nhn to

    x2+x5-x6=0

  • V d: Bi ton t mu bn (1)Cc bin: WA, NT, Q, NSW,

    V, SA, TV, SA, TCc min gi tr: Di = {red,

    green, blue}Cc rng buc: Cc vng linCc rng buc: Cc vng lin

    k nhau phi c mu khcnhauV d:V d:

    WA NT (WA,NT) = {(red,green),

    (red,blue), (green red)(green,red), (green,blue), (blue,red), (blue,green)}

    5Tr tu nhn to

  • V d: Bi ton t mu bn (2)

    Cc li gii l cc php gn y v chnh xcgn y v chnh xc(tha mn tt c cc rng buc)

    V d: WA=red, NT=green, Q=red,

    SNSW=green, V=red, SA=blue, T=green

  • th cc rng bucg

    i vi bi ton tha mn rng buc nh phn (binary CSP): Mi rng buc ch lin quan n 2 binlin quan n 2 bin

    th cc rng buc (constraint graph)(constraint graph) Cc nt biu din cc bin Cc cnh biu din cc rng

    buc

    7Tr tu nhn to

  • Cc kiu bi ton tha mn rng bucg Cc bin ri rc

    Cc min gi tr hu hn Vi n bin v kch thc min gi tr d, th s lng cc php gn y gi tr cn xt l O(dn)

    V d: Cc bi ton tha mn rng buc nh phn (Boolean CSPs)Cc min gi tr v hn Cc min gi tr v hn Min gi tr cc s nguyn, cc chui, ... V d: Trong bi ton xp lch cng vic, cc bin l cc ngy bt u v kt thc i vi mi cng vicg

    Cn mt ngn ng biu din rng buc (constraint language), v d: StartJob1 + 5 StartJob3

    Cc bin lin tc V d: Cc mc thi gian bt u v kt thc i vi cc quan

    st bng knh vin vng khng gian Hubble Bi ton cc rng buc tuyn tnh c th gii quyt c mc

    chi ph thi gian a thc bng phng php lp trnh tuyn tnh

    8Tr tu nhn to

  • Cc kiu rng bucg

    Rng buc n (unary constraint) ch lin quan n 1 binbin V d: SA green

    Rng buc nh phn (binary constraint) lin quan n 2 Rng buc nh phn (binary constraint) lin quan n 2 bin V d: SA WA

    Rng buc bc cao (higher-order constraint) lin quan n nhiu hn 2 bin

    V d: Cc rng buc trong bi ton mt m s hc (trnh by slide tip theo)

    9Tr tu nhn to

  • V d: Bi ton mt m s hc

    Cc bin: F T U W R O X1 X2 X3 (cc nh ca cc php +)Min gi tr: {0,1,2,3,4,5,6,7,8,9}

    Cc rng buc: Gi tr ca cc bin (F,T,U,W,R,O) khc nhau O + O = R + 10 * X1 X1 + W + W = U + 10 * X2

    X T T O 10 * X X2 + T + T = O + 10 * X3 X3 = F T 0 F 0 F 0

    10Tr tu nhn to

  • Cc bi ton CSP trong thc tg Cc bi ton giao nhim v

    V d: Gio vin no dy lp no?d G o o dy p o

    Cc bi ton lp thi kha (gian) biu V d: Lp hc no c dy vo thi gian no v u?

    Cc bi ton lp lch vn ti (giao hng) ca cc cng ty

    Cc bi ton lp lch sn xut ca cc nh my

    Lu : Nhiu bi ton thc t lin quan n cc Lu : Nhiu bi ton thc t lin quan n cc bin c gi tr thc (lin tc)

    11Tr tu nhn to

  • Tm kim bng kim th (1)g ( ) L phng php gii quyt vn tng qut nht

    Phng php gii quyt bng kim th (Generate and Test)

    Sinh ra mt kh nng (candidate) ca li gii Sinh ra mt kh nng (candidate) ca li gii Kim tra xem kh nng ny c thc s l mt li gii

    d h h ki th i i bi t CSP p dng phng php kim th i vi bi ton CSP Bc 1. Gn cc gi tr cho tt c cc bin Bc 2. Kim tra xem tt c cc rng buc c tha mn hay g y

    khng Lp li 2 bc ny cho n khi tm c mt php gn tha mn

    12Tr tu nhn to

  • Tm kim bng kim th (2)g ( ) im yu nghim trng ca phng php tm kim bng

    kim th l vic phi xt qu nhiu cc kh nng gnkim th l vic phi xt qu nhiu cc kh nng gn (hin nhin) khng tha mn cc rng buc

    V d V d

    Cc bin X,Y,Z ly cc gi tr {1,2}

    Cc rng b c X Y X Z Y>Z Cc rng buc: X=Y, XZ, Y>Z Cc php (kh nng) gn: (1,1,1); (1,1,2); (1,2,1);

    (1 2 2); (2 1 1); (2 1 2); (2 2 1)(1,2,2); (2,1,1); (2,1,2); (2,2,1)

    13Tr tu nhn to

  • Tm kim bng kim th (3)g ( ) Lm th no ci thin phng php kim th?

    Si h kh ( h i t ) t h Sinh ra cc kh nng (cc php gn gi tr) mt cch thng minh hn Khng theo th t tun t Khng theo th t tun t S dng cc kt qu (thng tin) thu c t bc

    kim tra (bc 2)

    Pht hin sm (t trc) cc mu thun Cc rng buc c kim tra ngay sau khi mi bin c gn gi tr (ch khng phi i n khi tt c cc bin c gn gi tr)

    14Tr tu nhn to

  • Tm kim quay lui (1)q y ( ) Tm kim quay lui (backtracking) l gii thut tm kim c s dng ph bin nht trong CSPc s dng ph bin nht trong CSP Da trn gii thut tm kim theo chiu su (depth-first search) Mi ln gn, ch lm vic (gn gi tr) cho mt bin

    (T ki b ki th i l h i t h tt (Tm kim bng kim th: mi ln gn xc nh cc gi tr cho tt c cc bin)

    Phng php tm kim quay lui i vi bi ton CSP Phng php tm kim quay lui i vi bi ton CSP Gn gi tr ln lt cho cc bin Vic gn gi tr ca bin ny

    ch c lm sau khi hon thnh vic gn gi tr ca bin khcS Sau mi php gn gi tr cho mt bin no , kim tra cc rng buc c c tha mn bi tt c cc bin c gn gi tr cho n thi im hin ti Quay lui (backtrack) nu c li (khng tha mn cc rng buc)(khng tha mn cc rng buc)

    15Tr tu nhn to

  • Tm kim quay lui (2)q y ( ) Cc yu t nh hng n phng php tm kim quay

    luilui Th t c xt ca cc bin? u tin xt trc cc bin c t gi tr (min gi tr nh) u tin xt trc cc bin c t gi tr (min gi tr nh) u tin xt trc cc bin tham gia vo nhiu rng buc u tin cc bin quan trng hn (c nh ngha ty vo bi

    ton c th)ton c th)

    Vi mi bin, th t c xt ca cc gi tr? Th t u tin ca cc gi tr vi mi bin c nh ngha ty t u t ca cc g t b c g a ty

    thuc vo bi ton c th

    16Tr tu nhn to

  • Gii thut tm kim quay luiq

    17Tr tu nhn to

  • Tm kim quay lui V d (1)q

    18Tr tu nhn to

  • Tm kim quay lui V d (2)q

    19Tr tu nhn to

  • Tm kim quay lui V d (3)q

    20Tr tu nhn to

  • Tm kim quay lui V d (4)q

    21Tr tu nhn to

  • Tm kim quay lui Cc vn (1)

    Lp i lp li li

    L d B i (kh kh i th ) l d th L do: B i (khng khai thc) l do ca mu thun

    V d:C bi A B C D E l i t t i 1 10 Cc bin A,B,C,D,E ly cc gi tr trong min 1..10

    Rng buc: A>E Phng php tm kim quay lui th tt c cc kh Phng php tm kim quay lui th tt c cc kh

    nng gn gi tr cho cc bin B,C,D cho n khi pht hin ra rng A1

    Gii php: Phng php Backjumping (chuyn n xt t ch sinh ra li)

    22Tr tu nhn to

  • Tm kim quay lui Cc vn (2)

    Cc thao tc (kim tra) khng cn thit

    Lp li cc kim tra rng buc khng cn thit

    V d: Cc bin A,B,C,D,E ly cc gi tr trong min 1..10

    Cc rng buc: B+8

  • Tm kim quay lui Cc vn (3)

    Pht hin mun cc mu thun (vi phm rng buc)

    Cc vi phm rng buc ch c pht hin sau khi cc gi tr c gn

    V d V d: Cc bin A,B,C,D,E ly cc gi tr trong min 1..10 Rng buc: A=3*E Rng buc: A=3 E Ch n khi gn gi tr cho bin E th mi pht hin

    ra rng A>2

    Gii php: Phng php Forward checking (kim tra trc cc rng buc)

    24Tr tu nhn to

  • Tm kim quay lui Ci thin

    Hiu qu ca phng php tm kim quay lui trong CSP c th c ci thin bngc th c ci thin bng

    Th t xt cc bin ( gn gi tr)

    Th t t ( ) i t i i i bi Th t xt (gn) cc gi tr i vi mi bin

    Pht hin sm cc li (vi phm rng buc) s xy ra

    25Tr tu nhn to

  • Bin b rng buc nhiu nhtg

    Quy tc la chn th t xt cc bin: u tin bin b rng buc nhiu nht (most constrained variable)rng buc nhiu nht (most constrained variable)

    Chn bin c s lng cc gi tr hp l t nht

    V d T i b S bi NT h V d: Ti bc S2, bin NT c chn v n c s lng cc gi tr hp l t nht (2)

    (S2)(S2)

    Cn c gi l quy tc u tin cc bin c tp gi tr hp l nh nht (Minimum Remaining Values MRV)hp l nh nht (Minimum Remaining Values MRV)

    26Tr tu nhn to

  • Bin rng buc cc bin khc nhiu nht Khi c >=2 bin c nh nhau s lng gi tr hp l t

    nht th chn bin no?nht, th chn bin no? V d: Trong v d trc, 2 bin NT va SA c cng s lng gi

    tr hp l t nht (2)

    Chn bin rng buc (khng ch) cc bin khc (chac gn gi tr) nhiu nht

    V d: Ti bc S tuy cng mc b rng buc nhng bin V d: Ti bc S2, tuy cng mc b rng buc, nhng binSA nn c xt trc bin NT v SA rng buc 5 bin khc, cn NT ch rng buc 3 bin khc

    S2

    27Tr tu nhn to

  • Gi tr rng buc cc bin khc t nhtg

    i vi mt bin, cc gi tr c xt ( gn) theo th t no?t no?

    Chn gi tr rng buc (khng ch) cc bin khc (cha i t ) t htc gn gi tr) t nht Gi tr ny gy ra hn ch ti thiu i vi cc kh nng

    gn gi tr ca cc bin khcg g

    28Tr tu nhn to

  • Kim tra tin (Forward checking)g

    Mc ch: Trnh cc tht bi, bng kim tra trc cc rng bucrng buc

    Kim tra tin m bo s ph hp (consistency) gia bin ang c xt gn gi tr v cc bin khc c linbin ang c xt gn gi tr v cc bin khc c lin quan (rng buc) trc tip vi n

    tng: tng: mi bc gn gi tr, theo di cc gi tr hp l (c th c

    gn) i vi cc bin cha c gn gi trL i b (d ) h t ki hi t i khi bt k t bi Loi b (dng) hng tm kim hin ti khi c bt k mt bin (cha c gn gi tr) no khng cn gi tr hp l

    29Tr tu nhn to

  • Kim tra tin V d (1)

    30Tr tu nhn to

  • Kim tra tin V d (2)

    31Tr tu nhn to

  • Kim tra tin V d (3)

    32Tr tu nhn to

  • Kim tra tin V d (4)

    33Tr tu nhn to

  • Lan truyn cc rng bucg Kim tra tin gip lan truyn thng tin (rng buc) t cc bin

    c gn gi tr n cc bin cha c gn gi tr Nhng: Phng php kim tra tin khng th pht hin

    trc (ngn chn) c tt c cc tht bi V d: NT v SA khng th cng l mu xanh! V d: NT v SA khng th cng l mu xanh!

    Lan truyn cc rng buc ch m bo tnh ph hp cc b

    34Tr tu nhn to

    (local consistency) ca cc rng buc

  • Ph hp cnh trong th rng buc (1) Trong th rng buc, mt cnh (X Y) c gi l ph

    hp (consistent) v rng buc, khi v ch khi i vi mi gi tr x ca bin X u c mt gi tr y ca bin Y sao cho rng

    buc gia 2 bin X v Y c tha mn

    h h h h h kh t h i nh ngha v ph hp cnh khng c tnh i xng (X Y) l ph hp khng c ngha l (Y X) l ph hp! V d: (SA NSW) l ph hp, nhng (NSW SA) khng( ) p p g ( ) g

    35Tr tu nhn to

  • Ph hp cnh trong th rng buc (2) cnh (X Y) l ph hp rng buc, th cn loi b

    bt k gi tr x ca bin X m khng c gi tr y nobt k gi tr x ca bin X m khng c gi tr y no ca bin Y lm cho rng buc gia 2 bin X v Y c tha mn

    cnh (NSW SA) l ph hp rng buc, th cn phi loi b gi tr mu xanh (blue) khi danh sch cc gi tr hp l i vi bin NSW

    36Tr tu nhn to

  • Ph hp cnh trong th rng buc (3) Sau khi loi b mt gi tr x khi danh sch cc gi tr hp l

    ca bin X, th cn xt li tt c cc cnh rng buc trc tip, g pti bin X: xt li mi cnh ( X) V d: Sau khi loi b gi tr mu xanh (blue) ca bin NSW, th

    cn xt li cc cnh (V NSW) (SA NSW) v (Q NSW)cn xt li cc cnh (V NSW), (SA NSW) v (Q NSW) cnh (V NSW) l ph hp rng buc, th cn loi b gitr mu (red) ca bin V

    37Tr tu nhn to

  • Ph hp cnh trong th rng buc (4)

    Phng php ph hp cnh (Arc consistency) pht hinc cc tht bi sm hn so vi phng php kim trac cc tht bi sm hn so vi phng php kim tratin (Forward checking)

    Kim tra ph hp cnh c th c s dng trc hoc Kim tra ph hp cnh c th c s dng trc hocsau mi php gn gi tr ca mt bin

    38Tr tu nhn to

  • Gii thut ph hp cnh AC-3

    39Tr tu nhn to

  • Tm kim cc b cho CSP (1)

    Mc ch: s dng cc phng php tm kim cc b (v d: hill climbing simulated annealing) cho bi tonb (v d: hill-climbing, simulated annealing) cho bi ton tha mn rng buc

    Mi trng thi (ca khng gian tm kim) ng vi mt Mi trng thi (ca khng gian tm kim) ng vi mt php gn y gi tr cho tt c cc bin Khng gian tm kim bao gm c cc trng thi trong cc rng g g g g g g

    buc b vi phm

    Dch chuyn trng thi = Gn gi tr mi cho cc bin

    Trng thi ch = Trng thi trong tt c cc rng buc c tha mn

    40Tr tu nhn to

  • Tm kim cc b cho CSP (2)

    Qu trnh tm kim La chn bin gn gi tr mi? Chn ngu nhin

    mt bin m gi tr ca n vi phm cc rng buc

    i vi mt bin la chn gi tr mi? Da theo chin i vi mt bin, la chn gi tr mi? Da theo chin lc min-conflicts: chn gi tr m n vi phm t nht cc rng buc

    V d: p dng phng php tm kim cc b Hill-climbing, vi hm c lng h(n) = tng s cc rng b b i hbuc b vi phm Trng thi (ln cn) tip theo chuyn n (c xt) l trng thi ng vi gi tr hm h(n) tt hn (=t rng buc b vi phm hn)g g ( ) ( g p )

    41Tr tu nhn to

  • V d bi ton 4 qun huq Cc trng thi: ng vi v tr ca 4 qun hu nm 4 ct

    Ch c duy nht mt qun hu mi ct Khng gian trng thi gm tng cng (4x4x4x4=) 256 trng thi

    Cc hnh ng: di chuyn ca mt qun hu (no ) trong mt ct (ca n)trong mt ct (ca n)

    Trng thi ch: khng c qun hu no n nhau Hm c lng: h(n) = tng s cc cp hu n nhau

    42Tr tu nhn to

  • Tha mn rng buc Tng ktg g Trong mt bi ton tha mn rng buc (CSP) :

    Mi trng thi tng ng vi mt php gn gi tr cho cc bin Kim tra trng thi ch = Kim tra tp cc rng buc i vi cc gi tr

    ca cc bin

    Phng php quay lui (Backtracking) = Tm kim theo chiu su (Depth-first search) vi mi nt tng ng vi mt php gn gi tr(Depth first search) vi mi nt tng ng vi mt php gn gi tr cho mt bin

    Cc chin lc chn th t xt cc bin v th t xt cc gi tr i vi mt bin s nh hng quan trng n hiu qu ca qu trnh tm li giitm li gii

    Phng php tm kim tin (Forward checking) cho php ngn chn cc php gn gi tr a n cc tht bi sau

    Lan truyn rng buc (v d: phng php ph hp cnh Arc Lan truyn rng buc (v d: phng php ph hp cnh Arc consistency) cho php gii hn hn na cc gi tr hp l v cho php pht hin cc mu thun

    Phng php tm kim cc b s dng chin lc Min-conflicts thng hiu qu trong nhiu bi ton thc tthng hiu qu trong nhiu bi ton thc t

    43Tr tu nhn to