luanvancphoanchinh

Upload: thang-tran

Post on 05-Apr-2018

212 views

Category:

Documents


0 download

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/