luanvancphoanchinh
TRANSCRIPT
-
7/31/2019 LuanvanCPhoanchinh
1/58
1
MC LC
LI CM N ..................................................................................................... 4
LI NI U ................................................................................................................ 5
PHN I. GII THIU V LP TRNH RNG BUC ............................................... 7
PHN II. NHNG C S V BI TON THA MN RNG BUC ................. 13
CHNG 1. GII THIU NHNG KHI NIM C BN ............................... 13
1.1. Nhng nh ngha quan trng trong CSP ................................................ 131.1.1. nh ngha min v nhn ............................................................. 131.1.2.
nh ngha rng buc ................................................................... 15
1.1.3. nh ngha s tha mn ............................................................... 151.1.4. nh ngha bi ton tha mn rng buc (CSP) .......................... 16
1.2. CSP cho rng buc nh phn ...................................................................... 161.3. V d: Bi ton N-qun hu ....................................................................... 17
CHNG 2. GII BI TON THA MN RNG BUC ............................... 18
2.1. Rt gn bi ton (Problem redution) ...................................................... 182.1.1. Cc nh ngha ............................................................................. 182.1.2. Vic rt gn bi ton .................................................................... 192.1.3. Bi ton ti thiu .......................................................................... 19
2.2. Tm kim b nghim ............................................................................... 202.2.1. Thut ton quay lui n gin (Simple Backtracking) .................. 202.2.2. c tnh tng qut ca khng gian tm kim trong CSPs ............ 212.2.3. Kt hp tm kim v rt gn bi ton .......................................... 222.2.4. Nhng im chn trong tm kim ................................................ 22
2.3. Tng hp nghim .................................................................................... 23CHNG 3. THUT TON NHM RT GN V TM KIM LI GII
CHO BI TON ..................................................................................................... 24
3.1. Mt s thut ton nhm rt gn bi ton ................................................ 243.2. Mt s thut ton nhm tm kim li gii cho bi ton .......................... 25
PHN III. BI TON N-QUN HU ....................................................................... 27CHNG 1. GII THIU BI TON ................................................................. 28
-
7/31/2019 LuanvanCPhoanchinh
2/58
2
1.1. Gii thiu bi ton ................................................................................... 281.2. Lch s bi ton ....................................................................................... 311.3. Nhng vn cn gii quyt trong bi ton ........................................... 31
CHNG 2. SI XNG TRONG BI TON N-QUN HU ................... 32
2.1. Si xng trong bi ton lp trnh rng buc ...................................... 322.1.1. nh ngha si xng trong CSPs ............................................ 322.1.2. Cc phng php loi bi xng .............................................. 32
2.2. Si xng trong bi ton N-qun hu .................................................. 34CHNG 3. LOI BI XNG CHO BI TON N-QUN HU .............. 39
3.1. Loi bi xng trc khi tm kim nghim ......................................... 393.1.1. Gii thiu v hnh vung Latin trc giao..................................... 393.1.2. Lin h bi ton N-qun hu vi hnh vung Latin trc giao ...... 423.1.3. Loi bi xng bng phng php thm rng buc trc khi
tm kim nghim ............................................................................... 43
3.2. Loi b i xng trong khi tm kim nghim (Symmetry BreakingDuring Seach_SBDS) ............................................................................. 44
3.2.1. Gii thiu vphng php SBDS ............................................... 443.2.2. Phng php SBDS cho bi ton N-qun hu ............................. 45
3.3. Loi bi xng nhvic nhn ra su th (Symmetry Breaking byDominance Detection_SBDD)................................................................ 50
3.3.1. Gii thiu vphng php SBDD............................................... 503.3.2. Phng php SBDD vi DFS ...................................................... 523.3.3. Phng php SBDD cho bi ton N-qun hu ............................ 533.3.4. So snh SBDD vi SBDS ............................................................ 56
PHN IV. KT LUN ................................................................................................. 57
TI LIU THAM KHO ............................................................................................. 59
-
7/31/2019 LuanvanCPhoanchinh
3/58
3
LiCm n
Chng ti xin trn trng cm n qu Thy c trong khoa Tin trng
i hc S Phm Nng tn tnh ging dy, truyn t nhng kin thc
qu bu v to iu kin cho chng ti c thc hin lun vn ny.
Chng ti xin chn thnh cm n thyNguynThanh Tun, ngi
nhit tnh hng dn, ch bo trc tip cho chng ti trong sut qu trnh lm
lun vn.
Xin chn thnh cm n s gip , ng vin v ch bo ca cc anh
ch i trc v tt c bn b, nhng ngi lun c mt gip trong thi im
kh khn nht, tip thm ch, ng lc cho chng ti hon thnh tt bi lun
vn.
Chng con xin gi tt c lng bit n, s knh trng n ng b, ba mcng ton th gia nh, nhng ngi sinh thnh, dng dc, thng yu
chng con, cho cng con nim tin v ngh lc vt qua mi kh khn.
V kin thc cn hn ch v thi gian c hn, mc d c gng n lc
ht sc mnh, song chc chn bi lun vn hon thnh khng trnh khi thiu
st. Chng ti mong nhn c s thng cm v ch bo tn tnh ca qu Thy
c cng cc bn.
Nng, ngy 02 thng 02 nm 2012
Nhm sinh vin thc hin
Nguyn Th Thu H -L Thanh Dng
-
7/31/2019 LuanvanCPhoanchinh
4/58
4
Lini u
Ngy nay cng vi s pht trin khng ngng ca nn khoa hc k
thut th gii l s pht trin vt bc ca ngnh cng ngh thng tin ni
chung v ngnh Tin hc ni ring.
nc ta nhm gp phn vo cng cuc Cng nghip ha -hin i ha
t nc, vn tin hc ha v ang c trin khai.Vic ng dng tin hc
vo thc t l mt nhu cu rt cn thit. Nhn thc c iu ny nn khi cn
trn gh nh trng, chng ti c tm hiu qua mt s ng dng Tin hc,c th l vic ng dng tin hc vo gii quyt mt s bi ton ng dng.
xy dng mt ng dng tin hc vo gii quyt cc bi ton c th,
iu u tin l cn nm cvn t ra ca bi ton . Sau ta lin h
vi thc t xem xt, a ra cch thc gii quyt bi ton tc l tm gii thut
tng ng vi vn yu cu ca bi ton . V vy t c hiu qu cao
th cn tm nhng cch thc, gii thut mi c chiu su v rng mang tnh u
vit nht.Bi ton N-qun hu trn bn c l mt trong nhng bi ton ng dng
tin hc m xung quanh n rt nhiu thut ton gii quyt nh: thut ton
quay lui, nhnh cn,
c s nht tr ca khoa Tin v sch dn ca thy Nguyn Thanh
Tun, Chng ti c nhn ti: Lp trnh rng buc vi bi ton N-qun
hu. ti ny c hon thnh t nhng hiu bit tch gp qua sch v, t
nhng kinh nghim hc hi anh ch i trc v nhng ti liu s c trch dn
r rng.
ti gm nhng ni dung chnh sau:
Phn I: Gii thiu v lp trnh rng buc
Phn II: Nhng c s v bi ton tha mn rng buc
Chng 1: Gii thiu nhng khi nim c bn
Chng 2: Gii bi ton tha mn rng bucChng 3: Thut ton nhm rt gn v tm kim li gii cho bi ton
-
7/31/2019 LuanvanCPhoanchinh
5/58
5
Phn III: Bi ton N- qun hu trn bn c
Chng 1: Gii thiu bi ton
Chng 2: S i xng trong bi ton N-qun huChng 3: Loi b i xng trong bi ton N-qun hu
Phn IV: Kt lun
Song vi lng kin thc c hn, thi gian cn hn ch nn lun vn
c hon thnh khng th trnh khi nhng sai st v khim khuyt. V vy
chng ti rt mong c s ch bo, truyn t ca qu thy cng cc bn nhm
to iu kin gip cho chng ti hon thnh tt bi lun vn ny.
nng, ngy 02 thng 2 nm
2012
Nhm sinh vin thc hin
Nguyn Th Thu H -L Thanh Dng
-
7/31/2019 LuanvanCPhoanchinh
6/58
6
PHN I
GII THIU V LP TRNH RNG BUC
Lp trnh rng buc (Constraint Programming - CP) l mt trong nhng
pht trin th v v mnh m nht ca ngn ng lp trnh trong thp k gn y.
c xy dng trn c s l thuyt ton hc vng chc, n ang pht trin v c
bit l n cng ang thu ht s quan tm mnh m trong vic p dng vo lnh vc
thng mi, n tr thnh phng php m hnh ha cho nhiu loi bi ton ti u,c th l trong cc rng buc c s hn tp v cc bi ton tm kim c tnh t hp.
L gii cho s quan tm trong CP tht n gin. Ngn ng lp trnh ra i
vi xu hng chnhl mang li s t do cho ngi lp trnh i vi vic nh ngha
cc i tng v th tc tng ng vi cc thc th v thao tc trong min ng
dng. Ngn ng lp trnh hng i tng (Object Oriented Programming
Language) cung cp mt k thut tt cho vic khai bo cc thnh phn kim sot
hnh vi ca thc th trong mt min bi ton c th. Tuy nhin, ngn ng lp trnh
truyn thng, bao gm ngn ng lp trnh hng i tng, cung cp rt t s h tr
vi cc thc thm ngi lp trnh mun din t nhng rng buc v nhng quan
h. Ngi lp trnh mong mun vai tr ca ngn ng duy tr nhng quan h v
tm ra nhng i tng tha mn.
V d, xt nh lut m sau:
U=I x R (1)(1) l cng thc m t mi quan h gia hiu in th, cng dng in v in
tr. Trong ngn ng lp trnh truyn thng, ngi lp trnh khng th dng quan h
ny mt cch trc tip, thay vo n phi c m ha thnh culnh m t
vic tnh ton gi tr camt thnh phn da trn 2 yutcn li. V vy, I c th
c suy ra t U v R bng cng thc sau:
:
U
I R
-
7/31/2019 LuanvanCPhoanchinh
7/58
7
Nhng nu gi tr ca R c tnh t hai thnh phn cn li, mt cng thc
khc li pht sinh:
:U
RI
Vic i hi ngi lp trnh m t v duy tr cc quan h gia cc i
tngtrong lp trnh l hp l cho cc ng dng c s dng. Tuy nhin trong nhiu
ng dng, vn quan trng l m hnh cc quan h v tm ra cc i tngtha
mn. V l do m t cui nhng nm 60, c nhiu chuyn gia quan tm n
cc ngn ng lp trnh cho php ngi lp trnh n gin ha ccquan h gia cc
trng thi ca i tng. N l vai tr thc thi c bn nhm m bo rng nhng
quan h hay nhng rng buc c duy tr. Nhngngn ng nh vy c coi
l ngn ng CP (Constraint programming).
Ban u nhng ngn ng CP ch thnh cng vi mt s phn. Chng b tr
cho mt ngn ng truyn thng vi vic gii quyt cc rng buc bng cc k thut
khng nh trc n gin. Nhng ngn ng ny phn ln ph thuc vophng
php lan truyn cc b (local propagation). Phng php lantruyn cc b dng
mt rng buc gn mt gi tr vo mt bin cha bitt cc gi tr bit cho
cc bin khc trong rng buc. V d, trong nh lut m c th tnh ton mt gi tr
R, I hoc U t hai gi tr bit. Bi ton vilan truyn cc b l phng php gii
quyt rng buc gia cc quan h yu.V d, n khng th dng gii cc phng
trnh xy ra ng thi nh X= Y-Z v X= 2Y+Z. Nh vy vic da trn lan truyn
cc b ca nhng ngn ng thi k u c hai im yu: Nhng thun li gii
quyt nhng rng buc l khng mnh v chnh nhng ngn ng ny khng mnh din t nhng rngbuc.
Trong thp k gn y ngn ng lp trnh rng buc c quan tm mnh
m. Hnna, cc ngn ng khc phc c nhng kh khn ca nhng ngn
ng trc. Chng h tr rng buc v tch hp trit vo ngn ng lp trnh, n
cho php ngi lp trnh lm vic vi bi ton mc cao hn, trong khi cc k
thut thc thi mc dicng s dng k thut thch hp cho rng buc. Vic ra
i cc ngn ng lp trnh rng buc th h mi p ng c nhng yu cu cho
mt lng ln cc ng dng.
-
7/31/2019 LuanvanCPhoanchinh
8/58
8
Mt v d n gin cho ng dng trong khi dng ngn ng lp trnh rng
buc, hy tng tng rng bn ang mua mt ngi nh v mun kim tra nhng
la chn khc nhau i vi vic tr li. Vi mi khong tr li, tng tin li dn li
l PxI, trong P l tng s tin vay v I l t l li sut. Li sut dn li c cng
thm vi tin vay t c mt s tin vay mi NP. Nu bn em tr R th
chnh l s tin b tr i. Nh vy ta c phng trnh rng buc:
NP= P+PIR
S cm c trong khong thi gian T c th c m t bi vic lp li vic
tnh ton ny, mi thi im, cho n khi ht thi gian. Tng cui cng gi l B
cn bng.
Bi ton ny c th tm gn trong chng trnh sau:
mortgage(P, T, I, R, B)
T=0,
B=P.
mortgage(P, T, I, R, B)
T>=1,NT= T-1,
NP= P + P*IR,
mortgage(NP, NT, I, R, B).
y, rng buc mortgage ch ra quan h gia tin vn ban u P, thi
gian vay T, t l li sut I, tng s phi l R v im cn bng l B. Lut u tin (3
dng u) x l trng hp khi kt thc thi gian. Trong trng hp ny im cn
bng chnh l s tin vn hin ti. Lut th hai (5 dng tip theo) x l trng hp
khi s khong thi gian ln hn hoc bng 1. Trong trng hp ny mt thi im
mi (NT) s tr i 1. Khi vic thay i vn cng c tnh li. Phn cn li ca
vic cho vay c xc nh trn mt lng vay mi v tng vn mi khi m thi
gian gim i 1.
Chng trnh trn dng nh c th d vit trn ngn ng lp trnh truyn
thng, v d Pascal hay C. Thun li ca chng trnh lbi v tt c cc cu lnh
c xem xt di gc rng buc, n din t bi ton rt linh hot.
-
7/31/2019 LuanvanCPhoanchinh
9/58
9
Thc thi chng trnh c khi to bng cch a ra mt ch. V d, nu
vic mn $1000 trong 10 nm vi li sut 10% cng vi vic phi tr $150 mt
nm. Chng ta c th vit nh sau:mortgage(1000, 10, 10/100, 150, B).
Khi ta a ra ch nh trn, cu tr li s l B=203.129, ch ra thi im
cnbng l $203.129.
Mt chng trnh tng t c th c dng trong nhiu cch khc nhau.
Vd vic mn $150 v n khi ht hn vic tr li ti thi im cn bng l 0,
chng ta c th tcu hi Cn phi vay bao nhiu trong vng 10 nm vili sut
10% vi vic tr $150 mt nm. Cu hi ny c th c vit:
mortgage(P, 10, 10/100, 150, 0).
Cu tr li l P= 921.685.
Mt cu hi phc tp hn gia quan h vn vy ban u, s tin phi tr
hng nm trong 10 nm vi li sut 10%. Chng ta c th a ra:
mortgage(P, 10, 10/100, R, B).
Cu tr li l mt rng buc P= 0.3855*B +6.1446*R, mt quan h gia ccbin P,B, v R.Trong tt c cc trng hp u c cng mt chng trnh gii. iu ny
tng phn vi lp trnh truyn thng khi m trong mt chng trnh khc nhau c
th yu cu tr li mt trong cc cu hi . Thc vy, vic vit chng trnh tr li
cu hi cui cng qu thc l kh. Lp trnh rng buc cho php chng ta ch ra bi
ton mt cch rt t nhin, v mc cao vi vic dng cc rng buc s hc. N l
cng vic ca ngn ng thc thi mc di gii nhng rng buc ny hn l cng
vic ca ngi lp trnh.
V d ny tuy n gin nhngcng minh ha tisao lp trnh rng buc
gii quyt c nhiu ng dng, bi ton trong i sng thc vi m hnh phc tp
mt cch t nhin v hiu qu.
Ngi ta cng cho rng, hu ht cc ng dng quan trng ca ngnng CP
c p dng cho cc bi ton mang tnh t hp kh, v n cng l mt m hnh
y sc mnh cho vic gii nhng bi ton ti u t hp. V d nh vic phi gii
quyt lin quan n lp bng thi gian (timetabling), lp lch (scheduling), nh
-
7/31/2019 LuanvanCPhoanchinh
10/58
10
tuyn (routing).Nhng kiu bi ton ny rt kh din tv gii quyt trn cc
ngn ng lp trnh truyn thng. iu ny do chng yu cu tm kim trong mt
khng gian nghim c hm m nhm tm ra cnghim ti u cho bi ton. t c hiu qu, cc rng bucphi dng cc k thut ct khng gian tm kim.
Khi nim cc bi ton tha mn iu kin rng buc (Constraint
Satisfaction Problems - CSPs) cng c chnh thc cng nhn bi cng ng tr
tu nhn to (AI). H cng ch ra nhng khi nim c bn ca tnh nht qun cc b
(local consistency) v cc thut ton gii chng. Mt cch c lp, nhiu phng
php khc nhau cng c hnh thnh. Mt trong s chng, nh quay lui
(backtracking) c a ra t th k 19, trong khi khi nim nhnh cn (branch and
bound) c a ra trong ti u t hp.
Nhng ng gp ca CP l ch ra nhng dng mi khc nhau trong tm
kim khi kt hp nhng k thut bit vi cc thut ton lan truyn rng bu c
khc nhau. Mt s s t hp c trng cng c nghin cu trong vng ti u
t hp.
S pht trin ca CSP dn n s ra i ca ngn ng lp trnh rngbuc. Trong thp nin 80, nhng ngn ng CP u tin ra i. Vic quan trng l
nhng ngn ng ny u da trn nhng nguyn l Lp trnh Logic. Chnh iu
ny dn n s pht trin ca Lp trnh Logic Rng buc (Constraint Logic
Programming-CLP) v c m rng t ngn ng lp trnh logic nh Prolog bng
cch thay th php hp nht (unification) bng vic kim tra vic tha mn rng
buc dng b gii nh. Chng c bt u t Chu u v Australia trong
nhng nm cui thp nin 1980. C hai v d trn u c th hin qua CLP.
Cc b gii khc nhau v min ng dng khc nhau s cn n cc ngn ng khc
nhau nhng c mt k thut nh gi chung.
Bt chp s thnh cng ca CLP, gn y, mt s ngn ng lp trnh rng
buc khc ang c bn tho. Bao gm: ngn ng rng buc ng thi, n dng
s k tha rng buc m rng ngn ng CLP bng cch cung cp cc thng tin
khng ng b gia cc tc t (agents); ngn ng truy vn rng buc cho c s d
liu, n m rng c s d liu quan h bng cch cho php cc b cha cc bin
-
7/31/2019 LuanvanCPhoanchinh
11/58
11
c rng buc; ngn ng lp trnh hm rng buc, ngn ng lp trnh mnh lnh
rng buc v b cng c gii rng buc hng i tng.
Tuy nhin, ngn ng CLP l ngn ng lp trnh rng buc nguyn mu.Theo cm nhn, chng l ngn ng lp trnh rng buc tinh khit v nhnht
do v bn cht ch c thao tc ngi lp trnh c th thc hin l vic nh ngha cc
rng buc mi ca h t nhng rng buc c s c trangb. V l do ny, vic
hiu CP l cng vic lin quan n bt k ngn ng lptrnh rng buc no.
c tnh ni bt ca lp trnh rng buc l cc rng buc c lin kt cht
ch mt cch t nhin. N lin quan mt thit vi cc kha cnh ca ton hc, khoa
hc my tnh truyn thng v tr tu nhn to. Lp trnh rng buc phcha cng
vic trong thut ton gii quyt rng buc t vic tm kim cc thao tc, tnh ton s
v k thut gii quyt rng buc trong cc bi ton tha mnrng buc, mt lnh
vc quan trng trong tr tu nhn to. N cng phc hanhng k thut t vic thit
k v thc thi ngn ng lp trnh, cng nh lp lun t ng, n l thuyt v vic
thc thi c s d liu.
-
7/31/2019 LuanvanCPhoanchinh
12/58
12
PHN II
NHNG C S V BI TON THA MN RNG BUC
Bi ton tha mn rng buc (Constraint Satisfaction Problem CSP) ang
ngy cng tr nn ph bin trong cng ng khoa hc my tnh cng nh tr tu
nhn to. Mc ch chnh ca phn ny l gii thiu nhng kin thc c ng nht
cho CSPs: Nhng nh ngha cng vi nhng khi nim quan trng cho CSPs; cc
k thut p dng nhm bin i bi ton sao cho d gii hn, ng thi cng nu ra
cc cch tip cn v gii CSPs.
CHNG 1. GII THIU NHNG KHI NIM C BN
1.1. Nhng nh ngha quan trng trong CSPTrongphn ny, chng ta s nu nhng nh ngha quan trng trong CSP.
Trc khi lm iu , chng ta s phi nh ngha min, nhn v khi nim s
tha mn.
1.1.1. nh ngha min v nhnnh ngha 1.1
Min ca mt bin l tp cc gi tr c th gn ti bin. Nu x l mtbin,
ta k hiu Dx l min ca x. Khi min ch cha cc s, cc bin c gi l bin s. Min ca bin
s c th c hn ch trong s nguyn, hu t hay s thc.
V d:Min ca bin nguyn l mt tp v hn {1, 2, 3, }. Trong bi
Lun vn ny ch tp trung vo CSP vi min hu hn.
Khi min ch cha gi tr boolean, bin s c gi l bin boolean. Khi m min cha kiu lit k cc i tng, bin s c gi l bin
biu tng.
-
7/31/2019 LuanvanCPhoanchinh
13/58
13
V d:Mt bin th hin ngy trong tun l bin biu tng vmin ca
n l mt tp hu hn {th hai, th ba, th t, th nm, th su, th by,
ch nht}.
nh ngha 1.2Nhn l mt cp bin-gi tr th hin rng bin c gn gi
tr.Chng ta dng ch rng bin x c gn gi tr v. ch c ngha
nu v lmt gi tr thuc min ca x.
nh ngha 1.3Mt php gn nhn kt hp l mt php gn ng thi cc gi tr (cth
l rng) n tp cc bin. Chng ta k hiu (, < x2, v2>< xn, vn>) ch
vic gn kt hp v1, v2 , , vn ti x1, x2 , , xn tng ng.
nh ngha 1.4Mt php gn nhn k-kt hp l mt php gn nhn kt hp ng thi ca
kgi tr ti kbin.
nh ngha 1.5Nu m v n l cc s nguyn sao cho m n, khi php chiu ca mt
nhn n-kt hp ti mt nhn m-kt hpM, c coi nh php chiu projection(N,
M) nu tt c cc nhn caMu c mt trongN.
nh ngha 1.6Cc bin trong gn nhn kt hp l tp cc bin xut hin trong nhn kt
hp .
1.1.2. nh ngha rng bucMt rng buc l tp cc bin c hn ch gi tr sao cho chng c th t
c mt cch ng thi. Mt cch khi nim, mt rng buc c th c xem nh
-
7/31/2019 LuanvanCPhoanchinh
14/58
14
mt tp cha tt c cc nhn kt hp cho cc bin; trong thc t, rng buc c th
c th hin nhiu cch khc, v d nh hm, ma trn, bt phng trnh
nh ngha 1.7Mt rng buc trn mt tp cc bin c coi nh l mt tp cc nhn kt
hp tng ng vi bin . thun tin, chng ta dng Cs k hiu cho rng
buc trn tp bin ca S.
nh ngha 1.8Bin ca rng buc l cc bin ca cc thnh vin trong rng buc
Variables_of1 2
1 2, ,...,( ) { , ,..., }k
k
x x xC x x x
nh ngha 1.9Nu m v n l cc s nguyn sao cho m n, khi mt m-rng buc Ml mt
subsumed-by ca n-rng buc N( c k hiu subsumed-by(N,M)) nu mi phn
tc trongMu tn ti mt phn tdtrongNsao cho c l php chiu ca d.
1.1.3. nh ngha s tha mnS tha mn (satisfies) l mt quan h nh phn gia cc nhn hoc nhn
kt hp vi rng buc.
nh ngha 1.10Nu cc bin trong nhn kt hp Xcng chnh l bin trong nhn kt hp
ca rng buc C, khi Xsatisfies Cnu v ch nuXl mt phnt trong C.
nh ngha 1.11 Cho mt tp nhn kt hp L v mt rng buc C sao cho bin trong C
l tp con ca tp bin trong L, nhn kt hp L satisfies rng buc C nu v ch
nu php chiu ca L nn cc bin trong C l mt phn t ca C.
V d: () satisfies rng buc Cc,d nu v ch nu
() l mt phn t ca Cc,d.
1.1.4.nh ngha bi ton tha mn rng buc (CSP) nh ngha 1.12
Mt bi ton tha mn rng buc l mt b ba (Z,D, C).
-
7/31/2019 LuanvanCPhoanchinh
15/58
15
Trong +Z= tp hu hnbin { x1, x2 , , xn};
+ D = mt hm nh x mi bin trong Z ti tp cc i tng ca bin
tng ng.
D: Z tp i tng hu hn
Chng ta giix
D l tp i tng nh x t xi bi D. Nh vyix
D lmin
ca xi
+ C= tp (c th rng) ccrng buc trn mt tp con ty ca cc bin
trongZ. Ni mt cch khc, Cl tp ca tp cc nhn kt hp.
Chng ta dng CSP(P ) k hiu rng P l mt bi ton tha mn rng buc.Ch s khc nhau gia Cx v Dx: Cx l tp cc nhn trong khi Dx l tp cc gi tr.
Gi tr ca x khng hn ch trong rng buc Cx, iu c ngha l satisfies
Cx, v tt c cc rng buc cha x, bao gm Cy,x, Cx,y,z,
Chng ta tp trung vo CSP c s bin hu hn v min ca chng cng hu hn.
1.2. CSP cho rng buc nh phnnh ngha 1.13
Mt CSP nh phn, hay bi ton rng buc nh phn, l mt CSP ch c
rng buc mt ngi (unary) hoc hai ngi (binary). Mt CSP m rng buc
khng b gii hn trong mt hoc hai ngi c coi nh l mt CSP tng qut.
C mt im kh quan trng l mi CSPs u c thchuyn vc di
dng CSP nh phn.
1.3. V d: Bi ton N-qun huy c th coi l bi ton kinh in nht trong CSP. Bi v n c nhiu c
tnh mang tnh c th trong CSPs. T cc nh nghin cu c th vn dng vo
vic tm hiu cc k thut chung cho CSP.
Chng ta cn xp n qun hu vo bn cvua nn, n>2, sao cho chng khng tn
cng ln nhau (Hnh 1.1):
-
7/31/2019 LuanvanCPhoanchinh
16/58
16
Hnh 1.1: Minh ha mt nghim cho bi ton 8-qun hu
y, ta d dng chuyn i sang CSP:
Bin: Z= {Q1, Q2, , Qn} chnh l cc ct
Min:1 2
... {1, 2,..., }Q Q QnD D D n , chnh l cc hng
Rng buc:
Th nht, 2 qun khng cng ct, : i ji j Q Q
Thhai, 2 qun khng cng ng cho, , , ,ii j if Q b then i j a b and i j b a
Ni chung, mt bi ton N-qun hu s c khong khnng khi tm nghim cho bi
ton.
CHNG 2. GII BI TON THA MN RNG BUC
CSPs thc s rt ng quan tm v n xut hin trong mt s ln cc ng
dng. N cng c nhng c tnh ring cn c khm ph v pht trin bng
nhng thut ton hiu quring. Chng ny, chng ta si qua tng quan cc k
thut gii CSP, chng ta c th phn thnh 3 loi:Rt gn bi ton, tm kim v s
tng hp nghim.
2.1. Rt gn bi ton (Problem redution)2.1.1. Cc nh ngha
-
7/31/2019 LuanvanCPhoanchinh
17/58
17
nh ngha 2.1Chng ta gi 2 CSPs l tng ng nu chng c chung tp bin v b
nghimnh ngha 2.2
Bi ton P =(Z, D, C) c rt gn (reduced) thnh P=(Z, D, C) nu:
a) P v Pl tng ng
b) Mi min ca bin trong D l tp con ca min bin trong D
c) C c hn chhn hoc bng C (mi nhn kt hp tha mn C
s tha mn C)
Vic rt gn bi ton chnh l vic loi b i nhng phn t trong rng
buc m khng xut hin trong b nghim. Chng ta cng cn nh ngha s d
tha gi trv d tha nhn kt hp.
nh ngha 2.3Mt gi tr trong min c gi l d tha (redundant) nu n khng c
mt trong b nghim.
Nhng gi trnh vy c gi l redundant bi v vic loi b n khnglm nh hng ti tp nghim.
nh ngha 2.4Mt nhn kt hp trong rng buc c gi l redundant nu n khng c
mt trong php chiu ca bt k b nghim no.
2.1.2. Vic rt gn bi tonK thut rt gn bi ton bin i CSPs thnh mt bi ton khc tng
ng vi hy vng n d gii hn bng cch gim i c ca min v rng buc
trong bi ton. iu ny l hon ton lm c trong khi gii CSPs v min v rng
buc c nh r.
Rt gn bi ton lin quan n 2 cng vic chnh:
1) Loi b nhng gi tr tha t cc min ca bin.
-
7/31/2019 LuanvanCPhoanchinh
18/58
18
2) Lm cht nhng rng buc sao cho ch mt vi nhn kt hp tha mnchng, nu cc rng buc c coi nh l cc tp th iu ny c ngha
l loi b cc nhn kt hp d tha ra khi rng buc. Nu min ca btk bin hoc rng buc no l rng, th c th kt lun rng bi ton v
nghim.
Rt gn bi ton yu cu cn c khnng nhn ra nhng gi tr v nhn kt
hp d tha (redundant). Nhng thng tin nh vy c th c ly t cc rng
buc. Thut ton rt gn sc tho lun chng 3.Cng cn phi ni thm
rng vic rt gn bi ton thng lin quan n vic bo ton s nht qun
(consistency maintainance). Bo ton s nht qun cng c ngha l rt gn bi ton
ti mt bi ton khc c cc tnh cht c xc nh.
2.1.3. Bi ton ti thiunh ngha 2.5
Mt graph ca mt CSP nhphn c gi l graph ti thiu nu khng
min no cha gi trd tha v khng rng buc no cha nhn kt hp d tha.Ni mt cch khc, mi nhn kt hp trong mt rng buc nhphn u xut hin
trong mt vi b nghim.
2.2. Tm kim b nghimPhn ln l lc trong vic nghin cu CSPs tp trung vo k thut tm
kim. Trong phn ny, chng ta s m t mt cch c bn thut ton tm kim sau
phn tch cc tnh cht CSPs. Cc thut ton c thc thit k gii CSPs
mt cch hiu qu nhc c nhng tnh cht ny.
2.2.1. Thut ton quay lui n gin (Simple Backtracking)Thut ton c bn tm kim nghim l thut ton quay lui n gin, n
chnh l mt chin lc tm kim tng qut v c dng rng ri trong vic gii
cc bi ton (Prolog dng n tr li cc cu hi). Trong mt trng hp c th
ca CSPs, thao tc c bn l chn mt bin ti mt thi im v xt mt gi tr cho
-
7/31/2019 LuanvanCPhoanchinh
19/58
19
n, m bo rng nhn c chn s ph hp vi tt ccc nhn trong tng lai.
Vic gn mt gi tr vo mt bin gi l labelling. Nu labelling bin hin ti vi
gi trc chn khng ph hp vi mt rng buc no , th mt gi tr khc csn sc chn. Nu tt c cc bin c gn nhn, khi bi ton c gii. Bi
v thut ton quay lui (Backtracking- BT) lun lun quay lui ti im quyt nh
cui cng khi qu trnh kt thc, nn n cng c gi l quay lui theo mt trnh t
(chronological backtracking).
Nu s bin l n, s rng buc l e, s min l a cho mi bin trong CSP.
Khi c th c an khnng cho b nghim, v phc tp thi gian cho vic kim
tra ton b rng buc l O(ane). phc tp b nhca bi ton l O(na). Thut
ton BT khng i hi b nhtm thi nhiu hn O(n) lu tr nhn kt hp. V
vy, phc tp khng gian lu tr cho Chronological_Backtracking l O(na). Ch
rng phc tp thi gian trn ch ra rng thut ton s hiu quhn nu ta
gim c a. iu ny c tht c bng cc k thut rt gn bi ton. Chng ta
s tho lun phn sau.
2.2.2. c tnh tng qut ca khng gian tm kim trong CSPsChng ta cn tm hiu mt s thuc tnh CSPs v n khc so vi bi ton
tm kim tng qut khi gii bi ton hiu quhn.
1) C ca khng gian tm kim l hu hnS l trong cy tm kim l
1 2| || | ... | |
nx x xL D D D , trong Dxi l min ca
bin xi v |Dxi|l cca min . Ch rngL khng bnh hng bi trt
t khi chng ta quyt nh gn nhn cho bin. Tuy nhin, trt t li nh
hng n s nt trung gian trong khng gian tm kim. V d, trong tng s
nt trung gian trong hnh 2.2 l 16, trong khi hnh 2.3 l 8. Tng qut hn,
nu chng ta gi s cc bin c sp theo th t x1, x2, , xn th s nt
trong cy tm kim l:
1 21
|1 | || | ... | |n
n
ix x xD D D
Vi cng thc trn, cng vi 2 v d nu, khng kh khn cho chng tanhn ra rng nu cc bin c sp theo trt t khi cc min ca n gim dn
-
7/31/2019 LuanvanCPhoanchinh
20/58
20
th s nt trong khng gian tm kim st gi tr ln nht. cng chnh l
bin ca c trong khng gian tm kim. Ngc li nu cc bin c sp
theo trt t khi cc min ca n tng dn th s nt trong khng gian tmkim st gi tr nh nht.
Tuy nhin, c ca bi ton li b chi phi bi tch cui cng:
1 2| || | ... | |
nx x xL D D D , chnh l snt l, n khng thay i khi trt t cc
bin thay i.
2) su ca cy c c nhKhi cc bin c cnh, su ca cy tm kim lun lun bng s bintrong bi ton. Trong c hai v dHnh 2.2 v 2.3, su u l 3. Khi trt t
ca bin khng cnh, su chnh xc l 2n, vi nl s bin.
-
7/31/2019 LuanvanCPhoanchinh
21/58
21
3) Cc cy con tng t nhauNu chng ta cnh bin, khi cc cy con cng mc stng t nhau.
iu ny rt c ngha trong khi tm kim mt cy con khi chng ta tmkim c anh em ca n (s ni thm trong phn loi bi xng ).
2.2.3. Kt hp tm kim v rt gn bi tonHiu qu ca quay lui sc ci thin nu mt bin c th b ct i khi n
khng c mt trong nghim. iu c gip bi qu trnh rt gn bi ton.
Nh phn trc chng ta bit, vic rt gn bi ton chnh l qu trnh lm gim
cmin ca bin v lm cht rng buc. Vic gim cmin c hiu qutng t
nh vic ct b mt nhnh trong cy tm kim. Vic lm cht rng buc c tim
nng gip chng ta gim khng gian tm kim mt trng thi sau. Rt gn bi
ton c thc thc hin ti bt k mt trng thi no ca tm kim. C rt nhiu
chin lc khc nhau nhm kt hp vic tm kim v rt gn bi ton (Chng ta s
ni nhng phn tip theo).
2.2.4. Nhng im chn trong tm kim(1) Bin no sc chn tip theo?
(2) Gi tr no sc chn tip theo?
(3) Rng buc no sc kim tra tip theo?
Hai la chn u c xt n. S khc nhau trong khng gian tm kim
sc khm ph di trt t khc nhau ca bin v gi tr. V rng buc c th
c lan truyn, trt t khc nhau ca bin v gi tr c xem xt c th nh
hng n hiu qu trong thut ton tm kim. iu ny c bit c ngha khi tm
kim c kt hp vi vn rt gn bi ton.
Vi bi ton ch cn tm mt nghim, hiu qu tm kim c thc ci
thin bng cch dng heuristics- n s ch ra nhng nhnh trong khng tm kim c
khnng nht tm ti nghim.
-
7/31/2019 LuanvanCPhoanchinh
22/58
22
Trong mt s bi ton, vic kim tra mt rng buc c tha mn hay khng
chi ph l kh ln. Trong trng hp , trt t rng buc kim tra c thnh
hng ti hiu qu bi ton.
2.3. Tng hp nghimTrong phn ny, chng ta sa ra tng quan v gii php tng hp
nghim trong khi gii CSPs. Vic tng hp nghim ging nh thut ton tm kim,
chng khm ph ng thi mt lc nhiu nhnh. N cng c xem nh vic rt
gn bi ton khi m rng buc i vi tp tt c cc bin (c ngha l n-rng buc
cho mt bi ton vi nbin) c to ra v rt gn n khi mt tp cha ton b
cc b nghim v ch b nghim thi.
Trong qu trnh tm kim mt nghim thnh phn c xem xt ti mt
thi im. Mt nhn kt hp c mrng bng cch thm mt nhn ti thi im
cho n khi mt b nghim c tm thy hoc ton b nhn kt hp c xt.
tng c bn ca tng hp nghim l tp hp tp tt c cc nhn hp l cho cc
tp bin ln hn, cho n khi tp ton b cc bin c lm. m bo tnh ngn, thut ton tng hp nghim phi m bo chc chn rng ton b nhn kt hp
khng hp l sc loi b khi tp ny. m bo tnh y , thut ton tng
hp nghim phi m bo chc chn rng khng nhn kt hp hp l no b loi b
khi tp ny.
-
7/31/2019 LuanvanCPhoanchinh
23/58
23
CHNG 3. THUT TON NHM RT GN V TM KIM LI
GII CHO BI TON
Do khun kh ca Lun vn khng cho php nu ht c nhng khi
nim v c bit l thut ton quan trng. Chng ny s nu ngn gn hai k thut
v thut ton quan trng nht cho CSPs: Rt gn v Tm kim.
3.1. Mt s thut ton nhm rt gn bi tonNh chng ta gii thch chng 2, rt gn bi ton l qu trnh loi b
nhng gi tr v lm cht rng buc trong CSP m khng loi b nghim. tng
c bn l chng ta loi b nhng gi tr hay nhng nhn kt hp d tha, nhng
thnh phn khng xut hin trong nghim. Sau , chng ta tip tc xt n rng
buc trn tp bin S v tp cc nhn kt hp hp l trong S.Nh vy chng ta rt
gn CSP ban u thnh mt bi ton tng ngbi ton c chung b nghim vi
bi ton ban u- vi hy vng l d gii hn. Mc d vic rt gn bi ton rt him
khi t c nghim, tuy nhin n gip cho vic gii CSP ddng hn rt nhiu.N c th dng trong qu trnh tin x l, tc l n c thc dng trc khi bt
k k thut no khc c p dng. N cng c thc dng trong thi gian tm
kimbng cch ct mt s khng gian tm kim sau khi mi nhn c hon
tt. i khi chng ta c th gim c mt lng ng k khng gian tm kim nh
vic rt gn bi ton. Chng ta c th tng qut khi p dng rt gn vi vic tm
kim st c nhng iu sau:
(1) Gim khng tm kimV cca khng gian tm kim c o bng tch ca ton b cca
min bin trong bi ton, rt gn bi ton c th gim khng gian tm kim
bng cch gim cca min bin.
(2) Trnh tm kim lp li cc nhnh cy thaNhng gi tr v nhn kt hp tha c th hin trn cc nhnh v
cc nhnh (path) m s dn n v nghim. iu ny c thc loi bbng vic rt gn bi ton.
-
7/31/2019 LuanvanCPhoanchinh
24/58
24
(3) Nhn ra cc bi ton v nghimNu thut ton rt gn bi ton tr v mt CSP m c t nht mt
min rng, khi c th kt lun rng bi ton l v nghim m khngphi lm g na. V t c cc thut ton thc thi p dng loi b gi
tr d tha t cc min, v mt s cc nhn kt hp t cc rng buc nh
thut ton a CSPs v chun dng: NC (Node-consistent), AC(arc-
consistent), DAC (Directional arc-consistent), PC (Path-consistent), DPC
(Directional path-consistent) l v cng quan trng.
3.2. Mt s thut ton nhm tm kim li gii cho bi ton Nh gii thiu chng 2 rng vic tm kim l mt trong nhng chin
lc c quan tm nht trong khi gii CSP. Chng ta c phn ra thnh cc chin
lc tm kim c bn sau:
(1) Cc chin lc tm kim tng qutNhng chin lc ny c pht trin trong nhng ng dng thng
thng, v n khng dng rng buc t tnh hiu qu.C hai chin lc trong phn ny:
Tm kim quay lui tun t (chronological backtracking) Tm kim mrng lp (iterative broadening-IB)
(2) Cc chin lc nhn vpha trc (lookahead)Chin lc lookahead s thc hin vic rt gn bi ton thngqua vic
p dng cc rng buc. Chin lc ny da trn thc t rng bin v rng
buc l hu hn, v rng buc c thc p dng kt hp vi nhau nhiu
ln.
C ba chin lc trong phn ny:
Kim tra pha trc (Forward Checking- FC) AC-kim tra pha trc c nh hng (Directional AC-L) AC-kim tra pha trc (AC-L)
(3) Cc chin lc thu thp thng tin trong khi tm kim
-
7/31/2019 LuanvanCPhoanchinh
25/58
-
7/31/2019 LuanvanCPhoanchinh
26/58
26
PHN III
BI TON N-QUN HU TRN BN C
Chc hn mi ngi khng l g vi bi ton 8 -qun hu, y ta xt bi
ton trn bn c vua c m t nh hnh sau:
Hnh 3:Bn c vua
Bi ton ging nh mt tr chi vui hn th xung quanh bi ton cn c
nhiu vn th v khc m chng ta s cng tm hiu trong nhng ni dung sau.
T bi ton ny ngi ta tng qut thnh bi ton n -qun hu v c th gii
bng nhiu thut ton, phng php khc nhau. bi Lun vn ny, chng ti s c
gng phn tch, trnh by bi ton ph hp vi vic gii bi ton tha mn rngbuc(CSPs), ng thi so snh vi cc phng php khc.
Trong phn ny chng ti thc hin nhng ni dung sau:
-
7/31/2019 LuanvanCPhoanchinh
27/58
27
CHNG 1. GII THIU BI TON
1.1. Gii thiu bi tonBi ton tm qun hu c pht biu nh sau: t 8qun hutrn bn c
kch thc 88 sao cho khng c qun hu no c th "n" c qun hu khc,
ngha l khng c hai qun no ng trn cng hng, hoc cng ct hoc cng
ng cho. Mu ca cc qun hu khng c nghatrong bi ton ny.
Theo quy tc c vua, cc bc i ca mt qun hu l:
Hnh 3.1: Nhng bc i ca qun huc th c
Q
http://vi.wikipedia.org/wiki/C%E1%BB%9D_vuahttp://vi.wikipedia.org/wiki/C%E1%BB%9D_vuahttp://vi.wikipedia.org/wiki/C%E1%BB%9D_vuahttp://vi.wikipedia.org/wiki/C%E1%BB%9D_vua -
7/31/2019 LuanvanCPhoanchinh
28/58
28
T , ta c th m hnh ha bi ton nh hnh v sau:
Hnh 3.2: M hnh ban u ca bi ton tm qun hu
Ta t qun hu Q ng v tr chn nh hnh v trn th theo yu cu bi ton du
X l v tr qun hu khng c i, ngha l cc qun hu tip theo phi c
chn cc v tr khng nm trn ng dc, ng ngang, ng cho ca cc
qun hu trc. T , vi bi ton tm qun hu th ngi ta tm ra 92 li giikhc nhau. Mt trong nhng li gii ny l:
Hnh 3.3:Mt trong nhng li gii bi ton tm qun hu
Bi ton cha dng li . Chng ta c c bi ton ti u tng qut hnl bi ton n-qun hu c pht biu: t nqun hutrn bn ckch thc nn
x x
x x x
x x x
x x x
x x x x x x x
x x x
x x x
x x x
Q
Q
Q
Q
http://vi.wikipedia.org/wiki/C%E1%BB%9D_vuahttp://vi.wikipedia.org/wiki/C%E1%BB%9D_vuahttp://vi.wikipedia.org/wiki/C%E1%BB%9D_vuahttp://vi.wikipedia.org/wiki/C%E1%BB%9D_vua -
7/31/2019 LuanvanCPhoanchinh
29/58
29
sao cho khng c qun hu no c th "n" c qun hu khc, ngha l khng c
hai qun no ng trn cng hng, hoc cng ct hoc cng ng cho. Mu ca
cc qun hu khng c ngha trong bi ton ny. Bi ton ging nh mt tr chi, tuy nhin ng ngc nhin l c mt s
ng dng thc t cho cc vn nh cch t chc lu tr b nh song song, kim
tra cc mch tch hp ln, kim sot tc ngn giao thng, ngn chn deadlock. Vn
ny cng c ng dng trong nhiu vn thc t m cc nghim lin quan n
hon v. Mt trong nhng vn nh vy l bi ton ngi du lch (travelling
salesperson problem). im hp dn ca bi ton n-qun hu l n d dng m t
nhng li khng d gii n mt cch hiu qu.
V mt thut ton, nu tch ring bi ton ny th n khng thc s qu
quan trng. Tuy nhin, bi ton thng c coi nh l mt pho th cho cc
phng php ti u c rt nhiu cc gii php cho vn ny trn trang web,
nhng ch c mt s t cho li gii trong thi gian ngn. Cng chnh v s l th ca
bi ton m trong ngnh khoa hc my tnh n c nghin cu rt a dng vi
nhiu thut ton k thut tm kim c s dng tng tc cho bi ton: tm kimquay lui (backtracking), nhnh cn (Branch and Bound), tm kim theo chiu su
vi Heuristic, thut ton tin ha, Hn th, trong khi gii bi ton ny, ngi ta
cn gp mt lot cc vn c ton hc quan tm t lu nh hnh vung k o
(magic squares), hnh vung Latin (Latin squares),
C khong 320 bi vit v bi ton n-qun hu, iu ny ni ln s thu
ht rt ln ca bi ton tng nh nh ny.
Cng trong qu trnh gii bi ton ngi ta thy rng trong tt c cc
nghim ca bi ton c rt nhiu nghim tha (c th suy ra t cc nghim khc
bng cc php i xng, quay hay kt hp c hai), chnh v vy ngi ta tm cch
loi b n tng hiu qu chng trnh (vn ny chng ta s tr li phn tip
theo).
1.2. Lch s bi tonBi ton tm qun hu c a ra vo 1848bi k th Max Bezzel, v sau
nhiu nhton hc, trong c Gauss v Georg Cantor, c cc cng trnh v bi
http://vi.wikipedia.org/wiki/1848http://vi.wikipedia.org/w/index.php?title=Max_Bezzel&action=edit&redlink=1http://vi.wikipedia.org/wiki/To%C3%A1n_h%E1%BB%8Dchttp://vi.wikipedia.org/wiki/To%C3%A1n_h%E1%BB%8Dchttp://vi.wikipedia.org/wiki/Carl_Friedrich_Gausshttp://vi.wikipedia.org/wiki/Georg_Cantorhttp://vi.wikipedia.org/wiki/Georg_Cantorhttp://vi.wikipedia.org/wiki/Georg_Cantorhttp://vi.wikipedia.org/wiki/Carl_Friedrich_Gausshttp://vi.wikipedia.org/wiki/To%C3%A1n_h%E1%BB%8Dchttp://vi.wikipedia.org/w/index.php?title=Max_Bezzel&action=edit&redlink=1http://vi.wikipedia.org/wiki/1848 -
7/31/2019 LuanvanCPhoanchinh
30/58
-
7/31/2019 LuanvanCPhoanchinh
31/58
31
CHNG 2. S I XNG TRONG BI TON N-QUN HU
2.1. S i xng trong bi ton lp trnh rng buc2.1.1. nh ngha s i xng trong CSPs
Vn i xng c cng nhn rng ri l c tm quan trng rt ln
trong CSPs. V hiu khi qut bi ton tha mn rng buc c tnh i xng l: bt
k mt b gn no cng c th c bin i thnh tp cc b gn khc tng
ng (c tnh i xng vi b gn ban u). Hay ni cch khc, s i xng trong
CSPs l nh x t nghim ti nghim, t khng phi l nghim ti khng phi l
nghim. Chnh v th m ch cn t mt nghim, chng ta c th suy ra cc nghim
khc c tnh i xng vi nghim va tm c.
y l nhn t hng u lm gim hiu qu trong qu trnh gii CSPs v qu
trnh tm kim s duyt qua nhng vng thng tin i xng nhiu ln (iu ny lm
gim hiu qu). Nh vy vic loi tr i xng (symmetry breaking-SB) lun c
u tin trong qu trnh gii CSPs, vic loi b i xng lm gim phm vi, khng
gian tm kim ng thi lm tng tnh hiu qu cho qu trnh tm li gii. Khi ,chng ta c nh ngha c th nh sau:
nh ngha3.1Vi bt k mt th hin ca mt CSPP=, mt nh x g nh x
mt php gn ny n mt php gn khc sao cho:
Vi tt c php gn thnh phn A= {vi=ai} thg(A)= {g(vi=ai)} Vi tt c php gn y A, nu A l nghim ca P nu v ch
nu g(A) l nghim ca P.
Khi g l hm i xng trongP.
Trong CSPs c hai loi i xng l:
i xng bin i xng gi tr
Chng ta s tm hiu k hai loi ny phn sau.
-
7/31/2019 LuanvanCPhoanchinh
32/58
32
2.1.2. Cc phng php loi b i xngC hai phng php chnh loi b i xng trong CSPs:
- Phng php th nht (cn gi l phng php tnh_SymmetryBreaking Statically-SBS): Cc rng buc c thm vo CSP to s
kim nh nhm ngn chn vic to ra nghim i xng v mi
nghim c sinh ra bi mt b gn tng ng cho lp nghim , do
vy ch cn li nghim khng i xng. Phng php ny lm mt cng
vic tng t nh vic pht biu li CSPs trc khi tm kim nhm
gim khng gian tm kim ban u cho CSP. Mt v d ca phng
php khi bi ton lin quan n m hnh ma trn l khng thm rng
buc theo mt trt t t in nhm loi b i xng trong hng v ct.
iu bt li cho phng php ny l vic i hi ngi gii ton cn c
nhiu kinh nghim, ngay c khi vic loi b hon ton i xng cng
ht sc kh khn. Nhng cng cn nhn mnh rng phng php ny
rt d dng kt hp vi bt k mt loi phng php no khc.
- Phng php th hai l phng php loi b i xng ng(Symmetry Breaking Dynamically_SBD). N c thc hin bng cch
thm rng buc trong thi gian tm kim nhm ct b nhng nhnh cy
tha m n pht hin ra nh vic cp nht nhng rng buc c thm
vo. Trong , c hai cch tip cn l loi b i xng trong thi gian
tm kim (Symmetry Breaking During Search_SBDS) v loi b i
xng nh vic nhn ra s u th (Symmetry Breaking via Dominance
Detection_SBDD). Trc khi quay lui, SBDS thm rng buc loi b
i xng vo CSP nhm loi b mi trng thi i xng gy ra s quay
lui (s khng lp li vi nhng trng thi tng t trong tng lai). Cn
vi SBDD, bt c khi no thut ton tm kim to ra mt trng thi mi,
n s kim tra xem n c b mt ln t bi mt nt no hay khng
(s khng lp li vi nhng trng thi tng t xy ra trong qu kh).
Nh vy tt c cc hng tip cn trn y u nhm trnh nhng phn i
xng, nhm tm ra mt nghim trong tp nghim i xng, t chng ta c th
-
7/31/2019 LuanvanCPhoanchinh
33/58
33
phc hi ton b nghim nh tnh i xng. iu ny lm tng tnh hiu qu trong
qu trnh tm kim nghim v khng gian tm kim l rt ln.
2.2. S i xng trong bi ton N-qun huNh ni trn, bi ton n-qun hu c hai kh khn chnh trong kh
khn th hai l do yu cu ca bi ton, ta khng th thay i c yu cu .
Trong bi lun vn ny chng ti s tp trung gii quyt kh khn th nht, l
kh khn v tnh i xng cao trong bi ton.
Trc tin chng ta cng xem xt tnh i xng ca bi ton ny. Vic xy
dng bi ton n-qun hu nh CSP c n bin tng ng vi cc hng trn bn c ta
t l Q1, Q2, , Qn, min cc gi tr tng ng vi cc ct trn bn c l D = {1, 2,
, n}. Khi , cc rng buc c th hin nh sau, c mt CSP hai ngi:
o Th nht, hai qun khng cng hng1, : , i ji j i j n Q Q
o Th hai, hai qun khng cng ng cho1, : , | | | |i ji j i j n Q Q i j
Bi ton 8-qun hu c 7 i xng l: s phn xqua chiu ngang, chiu
dc, hai ng cho v qua quay 90o, 180o, 270o. Tuy nhin, khng phi qua php
i xng no cngl i xng ca CSP trnh by cho bi ton n-qun hu nguyn
nhn l v ta c th a ra mt s bt i xng gia cc hng v ct trong bi ton
ny, l i xng qua php quay 90o v 270o, s i xng qua php quay ny
khng ng nht vi nh nghai xng trong CSPs m ta nu, bi v sau khithc hin i xng th kt qu tp b gn sau khng tng ng vi tp b gn
ban u nh ch nh l php gn hai gi tr phi cng mt bin. V d, ta xt bi
ton 8-qun hu c b gn ban u l (Q1, 1) v (Q2, 1) sau khi nh x qua i xng
quay 90oth c kt qu khng tng thch l (Q1, n) v (Q1, n-1). ng thi, ta
ni v s i xng gia cc hng v ct trn bn c c th l mi i xng hnh hc
trn bn c lun a n mt i xng rng buc cho bi ton n-qun hu vi n bt
k.
-
7/31/2019 LuanvanCPhoanchinh
34/58
34
R rng, tp cc nghim ca bi ton n-qun hu l bt bin vi i xng
hnh hc trn bn c. Do , t mt nghim ban u khi qua i xng hnh hc tr
thnh mt nghim mi ca bi ton n-qun hu vi n bt k. V sc th c nhiunghim mi c to ra t mt nghim ban u qua nhng i xng hnh hc ny.
Ty theo gi tr n ca bi ton, nhiu khi khng cn loi b ton b i
xng trong bi ton m ch quan tm n vic pht hin ra li gii cng nhanh cng
tt.Ta cng i xem xt mt s gi tr n ca bi ton.
Vi n=3 th bi ton 3-qun hu khng c li gii no cho bi ton.
Vi n=4 th bi ton 4-qun hu c 2 li gii c th hin trong hnh v
di y:
Hnh 3.4: Li gii ca bi ton 4-qun hu (2 hnh u) v php quay ca bn c
(hnh sau)
Mi li gii c th hin bi 4 qun Q trong 2 hnh v trn, n c lp vi
kch thc ca 44 . hnh th 3 cho bit t v tr ca mi qun Q i din cho
mi nh l mt bin gi tr tng ng vi v tr trn bn c hnh vung . Khi ,cc nh trong mt lp c th i v tr cho nhng nh khc v tng tm nh trong
. . . .
. . . .
. . . .
. . . .
Q
Q
Q
Q
Q
Q
-
7/31/2019 LuanvanCPhoanchinh
35/58
35
hnh ny u i xngc cho nhau. T y, ngi ta lit k c tng s cc
i xng l: !82!4!4 = 46.448.640 v con s ny chnh l nhng li gii i xng
cho bi ton 4 qun hu.
Vi n=5 th bi ton 5-qun hu c 10 li gii, nhng li gii ny c chia
thnh hai lp tng ng bi i xng hnh hc ca bn c. Ngi ta bin i mt
li gii bt k thnh mt li gii mi trong cng lp tng ng, trong 10 li gii
di y c 8 li gii u thuc mt lp, hai li gii sau thuc mt lp.
Hnh 3.5: Li gii bi ton 5-qun hu
Q
Q
Q
Q
Q
1
2
3
4
5
1 2 3 4 5
Q
Q
Q
Q
Q
1
2
3
4
5
1 2 3 4 5
Q
Q
QQ
1
2
34
5
1 2 3 4 5
Q
Q
QQ
1
2
34
5
1 2 3 4 5
Q
Q
Q
Q
Q
1
2
3
4
5
1 2 3 4 5
Q
Q
QQ
1
2
34
5
1 2 3 4 5
Q
Q
QQ
1
2
34
5
1 2 3 4 5
Q
Q
Q
Q
Q
1
2
3
4
5
1 2 3 4 5
Q
Q
Q
Q
Q
1
2
3
4
5
1 2 3 4 5
Q
Q
Q
Q
Q
1
2
3
4
5
1 2 3 4 5
-
7/31/2019 LuanvanCPhoanchinh
36/58
36
T 10 li gii trn cho thy mi vung ca bn c lun c t nht mt v tr qun
hu Q t . Nh bi ton 4-qun hu th bi ton ny cng c s th hin ca s
i xngtrong mi li gii, th hin r nt cht v tr qun hu c ttrong li gii ban u, qua i xngct hoc hng th c th to thnh mt li gii
mi ca bi ton v iu ny s c minh ha c th bi 2 li gii trong 10 li gii
ca bi ton ny nh sau:
Hnh 3.6:Hai li gii th hin i xngct ca bi ton 5-qun hu
Vi n > 5, ta c th m rng bi ton nqun hu nh sau:
K hiu Qi =j khi qun hu hng th i, ct th j. Khi , chng ta nhn
thyrng:
Nu chng ta hon v Qi= j Qj= i th bi ton c nghimmi.
Nu chng ta hon v Q i= j Qn-i=j th bi ton c nghimmi
Nu chng ta hon v Qi= j Qi= n-j th bi ton c nghimmi
Nh vy, chng ta cbng 1 di y s th hin c s nghim i xng
ca bi ton n qun hu vi mi gi tr n khc nhau.
Q
Q
Q
1
2
3
4
5
5 4 3 2 1
Q
Q
Q
1
2
3
4
5
1 2 3 4 5
-
7/31/2019 LuanvanCPhoanchinh
37/58
37
n S nghim i xng
3 9!
4 12! 4!5 16! 4! 4! 2
6 30! 6!
7 24! 13824
8 24! 12
9 11! 4
10 10!11 10!
12 11!
Bng 1: S nghim i xng ca bi ton n-qun hu
Nh vy, ch cn t mt nghim chng ta c th suy ra cc nghim khc
qua i xng. Tuy nhin xin lu li rng khng phi qua i xngno cng to ra
nghimca bi ton, ta s phi kim tra xem li gii c to ra sau i xng c
tha mn nhng rng buc ban u ca bi ton hay khng . Chng ta chng
minh c rng bi ton n-qun hu c tnhi xng cao.
-
7/31/2019 LuanvanCPhoanchinh
38/58
38
CHNG 3. LOI B I XNG TRONG BI TON N-QUN HU
Khi gii bi ton n-qun hu ni ring v CSPs ni chung thng chng ta
gp phi tnh cht i xng trong nghim, khi c hai cch loi bi xng: tnh
v ng. Nh nu trn, tnhl phng php thm rng buc trc khi tm kim
nghim, cn ng l phng php thm rng buc trong khi tm kim nghim.
Trong phn ny s gii thiu ccphng php trong vic loi bi xng i vi
ring bi ton n-qun hu.
3.1. Loi bi xng trc khi tm kim nghimPhng php loi bi xng trc khi tm kim nghim nh ni
trc c gi l phng php tnh. Phng php ny l phng php c bn
nht ca bi ton, t yu cu bi ton chng ta cn a ra nhng rng buc u
tin trc khi tm kim nghim. y, bi ton n-qun hu vi kch thc nn
nn ta nhn bit c rng m hnh bi ton l mt hnh vung Latin trc giao, v
vy nm chc c bi ton chng ta cn hiu vhnh vung Latin ny bitc nhng tnh cht cn thit xy dng nhng rng buc cho bi ton.
3.1.1.Gii thiu hnh vung Latin trc giaoTrc ht, ta mun gii thiu v hnh vung (Latin Square) v hnh ch
nht Latin (Latin Rectangle).
nh ngha 3.2Mt ma trn nn l hnh vung Latin cp n, nu mi s0, 1, , n-1
xut hin ng mt ln trn mi hng v mi ct.
V d v mt hnh vung Latin nh trong bng 2 l hnh vung Latin cp 4.
Tng qut hn, chng ta c th thay cc s bng cc i tng khc nhau.
0 1 2 3
2 3 0 1
-
7/31/2019 LuanvanCPhoanchinh
39/58
39
Bng 2: Mt v d vhnh vung Latin cp 4
nh ngha 3.3Mt ma trn rn c gi l hnh chnht Latin, nu mi s0, 1,,
n-1 xut hin nhiu nht mt ln trn mi hng v mi ct.
V d v mt hnh ch nht Latin nh trong bng 3.
Bng 3: Mt v d vhnh chnht Latin 34
Nh vy vi mi hnh vung Latin ta c tht c hnh ch nht Latin
bng cch loi b mt s hng trong hnh vung Latin. Cn t hnh ch nht Latin,
liu chng ta c t c hnh vung Latin khng? Cu hi c trongnh l sau:
nh l 3.4Nu r < n, th vi bt k mt hnh chnht Latin rn c thc
mrng thnh hnh chnht Latin (r+1)n.
By gi ti lc chng ta tho lun ti cc hnh vung Latin trc giao
(Mutually orthogonal Latin squares - MOLS)
nh ngha 3.5
3 2 1 0
1 0 3 2
0 1 2 3
2 3 0 1
3 2 1 0
-
7/31/2019 LuanvanCPhoanchinh
40/58
40
Mt tp MOLS l mt tp hnh vung Latin cn sao cho bt k mt
cp hnh vung L v L no t tp , th cp (L(i,j), L(i,j)) phi
khc nhau vi mi 1i, j n.
Ty suy ra mt tnh cht sau
Tnh cht 3.6Nu tp MOLS c k hnh vung Latin cn{Li| 1 i k} th khi b k
- gi (1( , ), ..., ( , )
ki iL i j L i j )phi khc nhau vi mi i v j, 1i, j n.
V d trong bng 4 l mt tp MOLS gm 3 hnh vung Latin
Bng 4: Hai hnh vung Latin trc giao
Tnh ngha 3.5chng ta cng suy ra c tp hnh ch nht trc giao
(Mutually orthogonal Latin rectangles - MOLR).
nh ngha3.7Mt tp MOLR l mt tp hnh chnht Latin sao cho bt k mt cp
hnh chnht L v L no ttp , th cp (L(i,j), L(i,j)) phi khc
nhau vi mi i v j.
V nh vy th MOLR cnn chnh l tp MOLS cn. Ch rng tnh
cht 7cng ng cho MOLR.
Chng ta giN(n) l s hnh vung ln nht c th t tp MOLS cp n, gi
N(mn) l s hnh ch nht ln nht c th t tp MOLR cp mn. Khi ta c 2
tnh cht sau:
N(n) N(mn), cho mi m n
0 1 2 3
3 2 1 0
1 0 3 2
2 3 0 1
0 1 2 3
2 3 0 1
3 2 1 0
1 0 3 2
0 1 2 3
1 0 3 2
2 3 0 1
3 2 1 0
-
7/31/2019 LuanvanCPhoanchinh
41/58
41
N(mn) n-1, cho mi 1< m n
3.1.2.Lin h bi ton N-qun hu vi hnh vung Latin trc giaoTrong nhng khi nim, nh l v tnh cht trn chng ta nu mt
cch khi qut v mt hnh vung Latin. lin h vo bi ton n -qun hu
mt cch c th chng ta s dng k hiu qun hu ng nm trn hng th
i ca li gii lQi. Cc ch s dng ct nh t trn xung di, tri sang phi
theo cch nh s trongma trn. Trong mt ma trn vung ta c:
Cc phn t nm trn cng hng c ch s hng bng nhau; Cc phn t nm trn cng ct c ch s ct bng nhau; Cc phn t nm trn cng mt ng cho song song vi ngcho chnh c hiu ch s hng vi ch s ct bng nhau;
Cc phn t nm trn cng mt ng cho song song vi ngcho ph c tng ch s hng vi ch s ct bng nhau;
V th ta gi cc ng cho song song vi ng cho chnh l ng cho tr
(hay hiu), cc ng cho song song vi ng cho ph l ng cho cng (hay
tng).Nh vy ta c th khngnh rng bi ton n-qun hu nh mt hnh vng
Latin trc giao vi kch thc ty thuc vo gi tr ca n.
3.1.3. Loi b i xng bng phng php thm rng buc trc khi tm kimnghim
Nm c yu cu v tnh cht ca bi ton,vi cch k hiu v phn tch
nh trn ta nhn thy rng mi li gii c th c biu din phi tha mn cc iu
kin:
- Cc ch s ct cc qun hui mt khc nhau, hay chng lpthnh mt hon v ca cc s 1, 2, , n.
- Tng ch s dng v ct ca cc qun hu i mt khc nhau;
-
7/31/2019 LuanvanCPhoanchinh
42/58
42
- Hiu ch s dng v ct ca cc qun hu i mt khc nhau. Tuy nhin trn y ch a ra nhng cch rng buc v hng, ct v ng
cho.Nhng trong bi ton ny chng ta tm c 7 i xng : phn x qua hng
ngang, ct, hai ng cho, quay 900, 1800 v 2700. p ng yu cu bi ton
y chng ti a ra nhng rng buc sau:
- x(Q[i] = j); Q[n-i+1] j // rng buc hng- y(Q[i] = j); Q[i] n-j+1 // rng buc ct- d1(Q[i] = j); Q[j] i // rng buc hai ng cho- d2(Q[i] = j); Q[n-j+1] n-i+1- r90(Q[i] = j); Q[j] n-i+1 // quay 900, 1800, 2700- r180(Q[i] = j); Q[n-i+1] n-j+1- r270(Q[i] = j); Q[n-j+1] i
-
7/31/2019 LuanvanCPhoanchinh
43/58
43
3.2. Loi b i xng trong thi gian tm kim (Symmetry Breaking DuringSearch - SBDS)
3.2.1. Gii thiu vphng php SBDSTrc tin, chng ta s cng nhau tm hiu s qua v phng php ny.
Chng ta nhn thy rng mt tnh cht v cng quan trng ca i xng l n bo
tn nghim, c ngha l: vi mt php gn y choA v bt k mt i xng g
no, th g(A) l nghim nu v ch nuA l nghim. Thng thng ta mrng cho
mt php gn thnh phn tA tiA+(var=val), khi :
g(A+(var=val)) = g(A)+g(var=val)
Nu chng ta c gng m rng cho tA ti A+(var=val) v php gn
thnh phn ny li, vic tm kim s phi chuyn sang nhnh khc, ni m var
val. Chng ta cng thm vo nhnh ny rng buc g(A)g(var val) cho
mi i xng g. iu ny c th c pht biu li nh sau: nu i xng
tng ng ca php gn A l ng, th g(var val) cng sng trong tt c
nhnh ny. Nu chng ta ch rng vic m rng tA ti i jvarsA A ,
th ( i j)varsg A g A g . Chng ta xy dng mt bin boolean mi cho
mi i xng g xem g(A) c tha mn hay khng. Gi tr cho g(A+) l s kt
hp ca g(A) v g(vars[i] = j). V vy chng ta c th tnh g(A) tng bc mt.
A php gn thnh phn
var= val var val+g(var val) nu g(A) l
ng
Hnh 3.7: Phng php SBDS trong khi tm kim nghim
-
7/31/2019 LuanvanCPhoanchinh
44/58
44
3.2.2. Phng php SBDS cho bi ton N-qun huChng ta hy xem hot ng phng php thng qua bi ton 8 -qun
hu. Gi s php gn u tin ca chng ta l Q1=2, c ngha l qun hu tihng u tin ct s 2. Trong bi ton 8-qun hu c 7 i xng: quay 900,
1800, 2700, s phn x theo chiu ngang, chiu dc v qua hai ng cho
chnh. V d khi Q1=2, ta c nghim i xng tng ng vi 7 i xng trn
mt cch tng ng l Q2=8, Q8=7, Q7=1, Q8=2, Q1=7, Q2=1 v Q7=8. Trong
4 gi tr cui tng thch vi Q1=2, nn chng khng c xt trong nhnh
ny (ct nhnh d tha). Nh vy chng ta bit ngay l i xng bng php
quay khng b loi b bi php gn ny. Hnh 3.8 sau s minh ha nghim i
xng trong bi ton 8-qun hu, vi php gn ban u l Q1= 1 bng php ly
i xng t nghim ban u ta c:
Quay 900
Quay 1800
Quay 2700
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
-
7/31/2019 LuanvanCPhoanchinh
45/58
45
i xng ng cho
i xng ct
i xng hng i xng ng cho
Hnh 3.8: ng vi mi nghim ca bi ton 8-qun hu sc 7 nghim i
xng vi php gn ban u l Q1=1
Xt v php gn ban u l Q1=2 th sau php gn ny gi s chng ta c phpgn th hai Q2 = 4 v nhnh ny (nhnh tri) li, nh vy rng buc Q2 4
c to ra. Chng ta thm rng buc g(A)g(var val) cho cc i xng cn
li. V d, cho i xng quay 900, chng ta c g(Q1= 2)g(Q2 4) iu ny
tng ng vi Q2 = 8 Q4 7.
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
QQ
Q
Q
Q
Q
Q
Q
Q
Q
-
7/31/2019 LuanvanCPhoanchinh
46/58
46
Q1= 2
Q12
Q2= 4 Q24
Hnh 3.9: SBDS cho bi ton 8-qun hu
Trong bi ton n-qun hu, loi bi xng vn cn l mt thch thc,trn bn c vua ta xt vn cn 7 i xng. loi b nhng nghim i
xng, chng ta cn xem xt ln lt 7 i xng ny tr li mt nghim i din
duy nht, tng ng vi i xng ny l var[i] = j. Hai trong sny c th
hin trong hnh 3.9, var[i] = j tng ng vi Qi = j, v n qun hu l mt bin
ton cc, chng ta ch cn khai bo chc nng i xng v kt qu sc th
hin c th trong on code bng 1 di y. Khi thc hin n, s quay lui
c gim ng k, thi gian tm kim gim n 75% trong cc nghim tm
thy l tt c cc nghim i xng ring bit.
Tuy nhin, trong thc t vn cn mt si xng vn cn tn ti sau
khi thc hin mt hoc nhiu php gn, khi vn cn vn khng th
gii quyt c. Hy xem xt php quay 1800 v gi s bin c sp xp theo
th t: Q1, Q2, Q3, Chng ta c th thm rng buc Q1 n+1-Qn ngn
chn trong nhiu trng hp tm kim c 2 nghim tng ng. Nhng
-
7/31/2019 LuanvanCPhoanchinh
47/58
47
iu ny vn c th xy ra nu Q1 = 2 v Qn = n-1. loib iu ny, chng
ta c thm mt rng buc mi vi iu kin:
1 2 1if 1 1n nQ n Q then Q n Q
Chng ta c th cn thm rng buc:
3 21 2 1 1if 1 1 nn n then Q n QQ n Q and Q n Q ,
chc chn loi b hon ton i xng ny, chng ti xy dng thm n/2
rng buc vi nhiu iu kin hn trc. Kt qu khi p dng phng php
SBDS cho bi ton n-qun hu th hin bng 5 c thc thi trn ILOG
Solver 4.3 on Sun Ultra 1/140s, trong No-solutions l nghim duy nht khiloi b i xng, fails l ch s li pht sinh, Cpu sec l thi gian thc hin tnh
bng giy.
-
7/31/2019 LuanvanCPhoanchinh
48/58
48
n No.solutions fails Cpu sec
SBDS
8 12 61 0.03
10 92 888 0.42
12 1787 17940 8.29
14 45752 487948 229
16 1846955 17383754 8400
17 11977939 113631630 59700
18 83263591 788699220 392000
No
SBDS
8 92 289 0.10
10 724 5072 1.60
12 14200 103956 34.4
14 365596 2932626 1000
16 14772512 105445065 35700
17 95815104 696830655 239000
18 - - -
Bng5: Kt qu p dng phng php SBDS trong bi ton n-qun hu
C hai thun li trong vic dng SBDS so vi vic thm rng buc vo
m hnh:
N c tnh ton din: nu chng ta thm mt hm m ti xng,chng ta c th loi bi xng , trong khi chng ta kh c th
t c hiu qutng t nhvic thm rng buc vo m hnh
SBDS khng tranh chp, mu thun vi cc chin lc tm kim(trt t cc bin v cc gi tr gn), n ch lm nhim v ngn
nhng gi tri xng c gn khi tin hnh quay lui. Ngc li,
vic thm rng buc vo m hnh c th gy mu thun vi chin
lc tm kim.
-
7/31/2019 LuanvanCPhoanchinh
49/58
49
3.3. Loi bi xng nhvic nhn ra su th (Symmetry Breaking byDominance DetectionSBDD)
3.3.1. Gii thiu v phng php SBDDSBDD l phng php c th nhn ra i xng trong qu trnh tm kim.
Ti mi thi im thut ton tm kim to ra mt nt mi, n s kim tra xem nt
c phi l mt i xng vi nhng nt c xt hay khng. Nu ng, nhnh
c th b ct. Nu khng qu trnh tm kim din ra bnh thng. Mc ch ca
loi bi xng l trnh khm ph phn khng gian m c thc nh x t
phn c xt bng mt hm i xng. Bi v nu khng cha bt k mt
nghim no, th cng khng cha nghim. Ngc li, tt c cc nghim trong
c thc suy ra t phn xt. Trc ht, chng ta cn nu ra mt snh ngha.
nh ngha 3.8GiX= {x1,, xn} l tp bin ca m hnh, D(x) l min ca bin xX.
BPc= (D
c(x1), , D
c(xn)) l trng thi c chn hin ti ca im c.
nh ngha3.9Gi P c = (Dc(x1),, Dc(xn)), P c= (Dc(x1),, Dc(xn)) l hai trng thi
c xt.
o Nu Pcbao gm Pc v ta k hiu Pc Pc nu v ch nu: xX: D
c D
c
o Chng ta t MDc = Dc(x1) Dc(xn)o
Mt nh xi xng : MD
c
MD
c
, chng ta ni rngP
c
Ln t(dominate) P
c(vi nh xi xng ) nu v ch nu (P
c) P
c.
Khi chng ta k hiu PcP
c
H qu 3.10Cho hai im chn c v c, trong c l th h sau ca c trong cy tm kim.
Khi chng ta c: Pc
Pc
Gii php m SBDD dng ct bt phn i xng trong khng gian tm
kim c da trn s tch hp sau:
-
7/31/2019 LuanvanCPhoanchinh
50/58
50
o Mt c sd liu Tdng cha ton b thng tin ca khng giantm kim c duyt.
o Mt hm chnh: : (P, P ) {false, true} tr gi trtrue nu vch nu P bLn t bi P vi mt shm i xng
o Cc i xng s s dng thut ton lan truyn, vi mi bin x, vicloi b mi gi trb t minx sao cho (P[x=b], P ) = true.
mi im chn, chng ta kim tra xem trng thi P c bLn t bi
mt s trng thi trong T khng. Nu nh vy, trng thi hin ti sc b qua,ngc li chng ta c th dng hm p dng thut ton lan truyn. Chng ta hy
xem Hnh 4.4, minh ha cho SBDD.
(a) (b)
Hnh 3.10: Minh ha cch thc hot ng ca SBDD: Nt trng l nt angi
c xt, nt en l nt c xt hon ton. Hnh vung l trng thi trong T,
hnh trn thhin n khng trong Thoc trong T. Hnh tam gic chnt
hin ti ang xt. (a) Ban u, trng thi phi c kim tra thng qua ton b
cc nt c xt. (b) Dng DFS, nt hin ti chcn so snh vi cc nt k-tri
(tnt gc ti ).
-
7/31/2019 LuanvanCPhoanchinh
51/58
51
Chng ta c hai cch tm kim khi p dng phng php ny, l: tm
kim theo chiu su (DFS-Depth First Search) v tm kim ty (theo mt cch
thc khc). Tuy nhin khi p dng tm kim ty , s trng thi cn lu tr trong T
stng ln rt nhanh v rt ln. Do vy SBDD s ch ph hp nht vi DFS. Phn
k tip s gii thiu cch thc thc hin SBDD.
3.3.2. Phng php SBDD vi DFSVi DFS, chng ta khng cn lu tr ton b trng thi pha trc. Thay
vo chng ta ch cn lu tr cc nt cc nt anh em bn tri trong T c th
quay lui. Chng ta xt b sau:
B 3.11:Cho c l im chn vi trng thi P
c= (D
c(x1),, D
c(xi),, D
c(xn)),
trong i l chsbin nhnh trong c, v Dc(xi)={v1, , vn}D(xi).Hn
na, ta k hiuP
ck
= (D
c
(x1),, {vi},, D
ck
(xn)),
1 k l l trngthi ca con c1, , cn ca c. Cui cng, coi P
cl trng thi trong im
chn c vi Pc
Pck
ng vi mt s 1 k n.
Khi : Pc
Pc
Dng b 4.3 khi kt hp vi DFS, ta c th thc hin mt cch hiu qu
nh sau: Chng ta khi u vi T= v tip tc qu trnh cho mi im chn nh
sau:
1. Kim tra trng thi Php chiu ca mi im chn hin ti c vi tt ccc trng thi trong T. Nu PTsao cho (Pc, P) = true th sinh li.
2. Qu trnh din ra bnh thng m khng c im chn3. Khi quay lui: nu c qu nhiu nt anh em c xt, th thm trng thi
hin ti vo T, nu khng xa ton b trng thi ca cc nt anh em
khc tT.
-
7/31/2019 LuanvanCPhoanchinh
52/58
52
Hiu qu ca phng php ny ph thuc vo s trng thi c kim
tra. S trng thi nhiu nht chnh l su ca cy tm kim v s phn t ln
nht trong min.
3.3.3. Phng php SBDD cho bi ton N-qun hui vi bi ton n-qun hu, mt nt p l d liu n trong pil s ct ca
qun hu t hng th i, hoc trong trng hp qun hu nm trong hng th i
nhng cha c thit lp, pi = * . E.g., tngng vi bn c th nht c th
hin trong hnh 3.11 l p = (1, 5, 2, 6, 3, 7, 4).Nh bi ton ngi chi gn, n cth thc hin da trn nhng xem xt i xng.
-
7/31/2019 LuanvanCPhoanchinh
53/58
53
Hnh 3.11: 6 nghim duy nht cho bi ton 7-qun hu
Trong bi ton n-qun hu ny, chng ti s dng m hnh theo tiu chun:
- Mi ct i = 1, , n thc i din bi mt bin s nguyn xi.Gn xi= j tng ng vi cch t qun hu hng th i v ct j.
- B sung thm bin s nguyn yi v wi vi i = 1, , n dng kim tra ng cho trn bn c, chng ti a ra nhng rng
buc: i i
y x i
v i iw x - i
.- Min gi tr ca x, y, w l: (1, ..., ), (1,...,2 ), w ( ,..., )x n y n n n - Tt c rng buc ca x, y, w phi m bo rng khng c hai
qun hu no c th n nhau.
Ngc li vi thut ton m chng ti pht trin y l s dng ct
ta i xng.Mt rng buc c a ra bi m hnh theo di trong sut qu
trnh tm kim, chng ti lan truyn bin thay v b hp chng li v hn ch s
lng gilan truyn thng thng.
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
-
7/31/2019 LuanvanCPhoanchinh
54/58
54
Trong bng 6, chng ti so snh s nghim, s li pht sinh, tnh ton
thi gian tnh tt c cc nghim, ch tnh nghim duy nht p dng SBDS, v
SBDD, chng ti b qua s nghim dng SBDD ging ht vi dng SBDS , duych c s li pht sinh (fails) hi khc so vi chng ti hy vng, nguyn nhn
gy ra bi s thayi nh trong khi thc hin .
Sym SBDD SBDS
n Solutions Fails Time Solutions Fails Time Fails Time
4 2 4 0.01 1 3 0.00 6 0.00
5 10 4 0.00 2 4 0.00 13 0.00
6 4 35 0.01 1 11 0.02 31 0.01
7 40 69 0.02 6 19 0.01 56 0.02
8 92 289 0.04 12 63 0.01 130 0.03
9 352 1111 0.16 46 216 0.04 397 0.08
10 724 5072 0.57 92 851 0.13 1464 0.2911 2680 22124 2.49 341 3808 0.53 5991 1.26
12 14200 103956 11.88 1787 17673 2.52 27731 6.27
13 73712 531401 61.56 9233 89534 12.55 140348 33.11
14 365596 2932626 337.00 45752 483214 69.62 745630 189.07
15 2279184 16920396 1946.07 285053 2784876 403.16 4391877 1213.36
16 14772512 105445065 12154.6 1846955 17277508 2608.51 27153758 7463.62
Bng 6: Kt qu loi bi xng vi phng php SBDD v so snh vi SBDS
trong bi ton n-qun hu
3.3.4. So snh SBDD v SBDSTrong phn trc, loi bi xng, SBDS thm rng buc vo m hnh
trong thi gian tm kim. V mt im quan trng na l SBDS i hi phi lit kra ton bdanh sch i xng. M slng i xng trong bi ton n-qun hu qu
-
7/31/2019 LuanvanCPhoanchinh
55/58
55
ln, do vy khng th loi b hon ton bng cch thm tt c cc rng buc cn
thit. Dng SBDD cho SGP, chng ta c th pht hin ra nghim duy nht cho bi
ton. Ngoi ra vic kt hp chng vi m hnh n gin l iu rt ng quan tm.SBDD dc thc thi v tt cn i hi l nh ngha cu trc trng thi
v hm kim tra trng thi c bln t hay khng. V vy, ngi dng c th
tp trung vo thut ton i xng m khng cn qu quan tm n rng buc.
SBDD gii bi ton Kirkmans School Problem trong vng 13254 giy (khong
4 gi).
-
7/31/2019 LuanvanCPhoanchinh
56/58
56
PHN IV
KT LUN
Bi ton n-qun hu l bi ton t hp kh, gii quyt cn c nhng
thut ton tht ph hp. Nh tm hiu th c hai cch gii quyt bng cch tip
cn truyn thng: mt l thc hin th cng th thut ton s gii bi ton mt cch
chnh xc trong lp trnh truyn thng v hai l m hnh bi ton dng thut ton c
sn cho lp cc rng buc s hc c th. Hai cch tip cn ny u cn nhng hn
ch r rt, cch th nht cn hn ch v chi ph ln khi thit k v khng d bini khi bi ton thay i cn cch tip cn th hai th hn ch v vic din t mt
cch hiu qu cc rng buc. Khi ngn ng lp trnh rng buc hin i c th
khc phc c nhng im yu ny bng cch cung cp mt lp trnh da trn vic
gii nhng rng buc mt cch tinh vi nht.
Chng ta u bit rng mi bi ton u c nhng rng buc, cng vic ca
ngi lp trnh l phi tm ra gi tr ca cc bin sao cho phi tha mn cc rng
buc . Lp trnh rng buc cng t r hiu qu trong nhng bi ton m yu cu
rng buc mang tnh mm do. V cng ngy lp trnh rng buc cng th hin r
vai tr mnh m ca mnh trong vic gii nhng bi ton lin quan n nhng thc
t cuc sng, cng ngy ng dng ca n cng trnn phong ph.
Chnh v th, gii quyt nhng bi ton tha mn rng buc th i hi
ngi lp trnh trang b nhng kin thc ton din v mt l thuyt ln knng
phn tch. i vi sinh vin nh chng em th vn cha t n nhng trnh nynn lun vn m chng em thc hin vn cn gp nhiu kh khn.
Trong bi lun vn m chng em hon thnh c bn thc hin c:
- a ra nhng kin thc c ng nht trong CSPs: nhng nhngha cng vi nhng tnh cht quan trng cho CSPs
- Gii thiu v trnh by mt cch h thng ph hp vi cc tiu chcho vic gii bi ton n-qun hu, cc phng php khc nhau
ln lt a ra so snh u nhc im ca mi phng php
khi p dng cho bi ton.
-
7/31/2019 LuanvanCPhoanchinh
57/58
57
Bi lun vn ca chng em cng to tin v mong mun cho nhng
nghin cu trong tng lai.
V thi gian c hn v s hiu bit cn khim tn, bn cnh vi c tracuti liu nc ngoi cn hn ch nn khng th trnh khi nhng sai st. V
vy chng em rt mong c s gp ,xy dng chn thnh ca thy c cng
cc bn bn thn rt ra nhng kinh nghim v cng c thm kin thc ngy
cng hon thin.Qua bi lun vn ny gip em nm vng kin thc chuyn ngnh, hiu
c vai tr cangi lp trnh, tp cho bn thn c t chc , k lut v tc
phong lm nhm, phc v cho cng vic sau ny trong iu kin cng
nghip ho,hin i ho t nc.Cui cng em xin chn thnh cm n s hng dntn tnh ca thy
Nguyn Thanh Tun cng s gip ca cc bn gip em hon thnh tt bi
Lun Vn ny.
Nng, ngy 10 thng 05nm 2012
Nhm sinh vin thc hin
Nguyn Th Thu H -L Thanh Dng
-
7/31/2019 LuanvanCPhoanchinh
58/58
TI LIU THAM KHO
Ting Vit
1.Nguyn Vn Hu, lun vn thc s: Lp trnh rng buc vi bi tonngi chi gn
Ting Anh
1. Cohen D., Jeavons P., Jefferson C., Karen E. P. and Smith B. (2005)Symmetry Definitions for Constraint Programming, Proceeding of
Principles and Practice of Constraint Programming - CP 2005.Constraint Programming online,http://www.cp-online.org/
2. Flener P., Frisch A., Hnich B., Kiziltan Z., Miguel I., Walsh T. (2002),Breaking row and column symmetry in matrix models, Proceeding of
Principles and Practice of Constraint Programming - CP 2002.
3. Gent I.P., and Smith B. (2000), Symmetry breaking during search incontraint programming, W. Horn, editor, EACI2000.
4. Harvey W. (2001), Symmetry Breaking and the Social Golfer Problem,Proceedings of SymCon-01: Symmetry in Constraints.
5. Kiziltan Z. (2004), Symmetry Breaking Ordering Constraints, PhDthesis, Department of Information Science, Uppsala University.
6. Marriott K., and Stuckey P.J. (1998), Programming with Constraints: AnIntroduction, MIT Press.
7.
Sellmann M., and Van Hentenryck P. (2005), Structural symmetrybreaking, Proceeding of IJCAI'05 workshop on Modelling and Solving
Problems with Constraints.
8. Puget J.F. (2005), Breaking symmetries in all different problems, Proceeding of 19th IJCAI (2005), pp. 272-277.
http://www.cp-online.org/http://www.cp-online.org/http://www.cp-online.org/http://www.cp-online.org/