Upload
vantrungnguyen101
View
233
Download
0
Embed Size (px)
Citation preview
Tr Tu Nhn To
Nguyn Nht Quang
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