Thuat Toan-do Phuc Tap TT

Embed Size (px)

Citation preview

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    1/29

    THUT TON PHC TP CA THUT TON

    Mc lc

    THUT TON PHC TP CA THUT TON....................................................................1

    Mc lc ...................................................................................................................................................1

    1. THUT TON .................................................................................................................................. 2

    2. CC PHNG PHP BIU DIN THUT TON ....................................................................... 7

    3. PHC TP CA THUT TON ............................................................................................ 12

    4. PHN LOI VN - BI TON .............................................................................................. 15

    5. THUT TON QUY ................................................................................................................ 17

    6.THUT GII .................................................................................................................................... 217. CU HI .......................................................................................................................................... 27

    8.Bi vit khc: S PHN LP VN - BI TON ....................................................................28

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    2/29

    1. THUT TON

    Thut ton l mt khi nim c s ca Ton hc v Tin hc. Hiu mt cch n gin,thut ton l mt tp cc hng dn nhm thc hin mt cng vic no . i vi vic gii quyt

    mt vn - bi ton th thut ton c th hiu l mt tp hu hn cc hng dn r rng ngigii ton c th theo m gii quyt c vn . Nh vy, thut ton l mt phng php th hinli gii ca vn - bi ton.

    Ti sao li l "Thut ton" ?

    T thut ton (Algorithm) xut pht t tn mt nh ton hc ngi Trung l Abu Abd - Allah ibn MusaalKhwarizmi, thng gi l alKhwarizmi. ng l tc gi mt cun sch v s hc, trong ng dng phng phpm t rt r rng, mch lc cch gii nhng bi ton. Sau ny, phng php m t cch gii ton ca ng c xem lmt chun mc v c nhiu nh ton hc khc tun theo. T algorithm ra i da theo cch phin m tn ca ng.

    Vic nghin cu v thut ton c vai tr rt quan trng trong khoa hc my tnh v mytnh ch gii quyt c vn khi c hng dn gii r rng v ng. Nu hng dn gii saihoc khng r rng th my tnh khng th gii ng c bi ton. Trong khoa hc my tnh, thutton c nh ngha l mt dy hu hncc bc khng mp mv c th thc thi c, qu trnh hnhng theo cc bc ny phi dngv cho c kt qu nh mong mun.

    S bc hu hn ca thut ton v tnh cht dng ca n c gi chung l tnh hu hn.S bc hu hn ca thut ton l mt tnh cht kh hin nhin. Ta c th tm u mt li gii vn - bi ton c v s bc gii ? Tnh "khng mp m"v "c th thc thi c"gi chung l tnhxc nh.

    Gi s khi nhn mt lp hc mi, Ban Gim hiu yu cu gio vin ch nhim chn lptrng mi theo cc bc sau :

    1. Lp danh sch tt cc hc sinh trong lp.

    2. Sp th t danh sch hc sinh.

    3. Chn hc sinh ng u danh sch lm lp trng.

    Khi nhn c thng bo ny, gio vin chc chn s rt bi ri v khng hiu l trong danhsch hc sinh cn c nhng thng tin g? Danh sch ch cn h tn, hay cn thm ngy thng nm

    sinh? C cn thm im trung bnh khng? Yu cu 2 li cng gy nhiu thc mc. Cn phi sp xpdanh sch theo chiu tng dn hoc gim dn ? Sp theo ch tiu g ? Theo tn, theo ngy thng nmsinh hay theo im trung bnh chung, ...Gi s sp theo im trung bnh th nu c hai hc sinh cngim trung bnh th hc sinh no s sp trc, hc sinh no s sp sau ? ...

    Hng dn trn vi phm tnh cht "khng mp m"ca thut ton. Ngha l, c qu nhiuthng tin cn thiu lm cho cc bc 1,2 c hiu ngv hiu theo mt ngha duy nht. Nu sali mt cht t th hng dn trn s tr nn r rng hn rt nhiu v c th gi l mt thut ton chnlp trng !

    1. Lp danh sch tt cc hc sinh trong lp theo hai thng tin: H v Tn; im trung bnh cui nm.

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    3/29

    2. Sp hng hc sinh theo im trung bnh theo th t gim dn (t im cao n im thp). Hai hc sinhc cng im trung bnh s c cng hng.

    3. Nu ch c mt hc sinh c hng nht th chn hc sinh lm lp trng. Trng hp c nhiu hcsinh ng hng nht th chn hc sinh c im mn Ton cao nht lm lp trng.

    Nu vn cn nhiu hn mt hc sinh ng hng nht v c cng im mn Ton cao nht th tin hnh bcthm.

    y chng ta cn phn bit mp mvs chn la c quyt nh. Mp m l thiu thngtin hoc c nhiu chn la nhng khng iu kin quyt nh. Cn chn la c quyt nh lhon ton xc nh duy nht trong iu kin c th ca vn . Chng hn trong vn chn lptrng trn, bc 3 th hin mt s la chn c quyt nh. Tt nhin, khi cha lp danh sch,cha xp hng theo im trung bnh th gio vin khng th bit c s chn lp trng theo cchno. Nhng khi sp xong danh sch th ch c mt phng n chn duy nht.

    Tnh "thc thi c"cng l mt tnh cht kh hin nhin. R rng nu trong "thut ton"tn ti mt bc khng th thc thi c th lm sao ta c c kt qu ng nh mun? Tuynhin, cn phi hiu l "thc thi c"xt trong iu kin hin ti ca bi ton. Chng hn, khi ni"ly cn bc hai ca mt s m" l khng th thc thi c nu min xc nh ca bi ton l sthc, nhng trong min s phc th thao tc "ly cn bc hai ca mt s m" l hon ton thc thic. Tng t, nu ta ch ng cho mt ngi i xe my n mt bu in nhng con ng tach l ng ct, ng cm hoc ng ngc chiu th ngi i khng th i n bu in c.

    Tnh "dng"l tnh cht d b vi phm nht, thng l do sai st khi trnh by thut ton. Dnhin, mi thut ton u nhm thc hin mt cng vic no nn sau mt thi gian thi hnh huhn th thut ton phi cho chng ta kt qu mong mun. Khi khng tha tnh cht ny, ta ni rng

    "thut ton" b lp v tn hoc b qun. tnh tng cc s nguyn dng l trong khong t 1 n nta c thut ton sau :

    B1. Hi gi tr ca n.

    B2. S = 0

    B3. i = 1

    B4. Nu i = n+1 th sang bc B8, ngc li sang bc B5

    B5. Cng thm i vo S

    B6. Cng thm 2 vo i

    B7. Quay li bc B4.

    B8. Tng cn tm chnh l S.

    Ta ch n bc B4. y ta mun kt thc thut ton khi gi tr ca i vt qu n. Thayv vit l "nu i ln hn n" th ta thay bng iu kin "nu i bng n+1" v theo ton hc "i = n+1" thsuy ra "i ln hn n". Nhng iu kin "i=n+1" khng phi lc no cng t c. V ban u i = 1 l

    s l, sau mi bc, i c tng thm 2 nn i lun l s l. Nu n l s chn th n+1 l mt s l nnsau mt s bc nht nh, i s bng n+1. Tuy nhin, nu n l mt s l th n+1 l mt s chn, do i

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    4/29

    l s l nn d c qua bao nhiu bc i chng na, i vn khc n+1. Trong trng hp , thut tontrn s b qun.

    Tnh "ng"l mt tnh cht kh hin nhin nhng l tnh cht kh t ti nht. Thc vy,khi gii quyt mt vn -bi ton, ta lun lun mong mun li gii ca mnh s cho kt qu ng

    nhng khng phi lc no cng t c. Mi hc sinh khi lm bi kim tra u mun bi lm camnh c p s ng nhng trn thc t, trong lp hc ch c mt s hc sinh nht nh l c khnng a ra li gii ng!

    Thut ton th cng nhc !

    Cc tnh cht ca thut ton rt cht ch v cng nhc. Nhng iu cng c ngha l kh nng gii quytvn theo kiu thut ton cng b gii hn. Sau ny, ngi ta "lm mm" i hai tnh cht quan trng ca thut ton ltnh xc nh vtnh ng gii quyt nhng vn phc tp hn m vi cc tnh cht cht ch ca thut ton thkhng th gii quyt c. l cc thut ton quy v thut gii. Ta s tm hiu v iu ny ngay trong cc mc 4 v5 ca chng ny.

    Cc c trng khc ca thut ton

    Bn cnh 3 c trng chnh l xc nh, hu hn v ng, thut ton cn c thm 3 ctrng ph khc.

    1. u vo v u ra (input/output) : mi thut ton, d c n gin n my cng phinhn d liu u vo, x l n v cho ra kt qu cui cng.

    2. Tnh hiu qu (effectiveness) : tnh hiu qu ca thut ton c nh gi da trnmt s tiu chun nh khi lng tnh ton, khng gian v thi gian khi thut ton c thi hnh.Tnh hiu qu ca thut ton l mt yu t quyt nh nh gi, chn la cch gii quyt vn -

    bi ton trn thc t. C rt nhiu phng php nh gi tnh hiu qu ca thut ton. Trong mc3 ca chng , ta s tm hiu mt tiu chun c dng rng ri l phc tp ca thut ton.

    3. Tnh tng qut (generalliness) :thut ton c tnh tng qut l thut ton phi p dngc cho mi trng hp ca bi ton ch khng phi ch p dng c cho mt s trng hp ringl no . Chng hn gii phng trnh bc hai sau y bng Delta m bo c tnh cht ny v nlun gii c vi mi gi tr s thc a,b,c bt k. Tuy nhin, khng phi thut ton no cng m

    bo c tnh tng qut. Trong thc t, c lc ngi ta ch xy dng thut ton cho mt dng c

    trng ca bi ton m thi.

    Thut ton gii phng trnh bc hai ax2+bx+c=0 (a?0)

    1. Yu cu cho bit gi tr ca 3 h s a, b, c

    2. Nu a=0 th

    2.1. Yu cu u vo khng m bo.

    2.2. Kt thc thut ton.

    3. Trng hp a khc 0 th

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    5/29

    3.1. Tnh gi tr D = b2-4ac

    3.2. Nu D > 0 th

    3.2.1. Phng trnh c hai nghim phn bit x1 v x2

    3.2.2. Gi tr ca hai nghim c tnh theo cng thc sau

    3.2.3. Kt thc thut ton.

    3.3. Nu D = 0 th

    3.3.1. Phng trnh c nghim kp x0

    3.3.2. Gi tr ca nghim kp l

    3.3.3. Kt thc thut ton

    3.4. Nu D < 0 th

    3.4.1. Phng trnh v nghim.3.4.2. Kt thc thut ton.

    Thut ton tm hp c trng lng nng nht

    Vn : C n hp c khi lng khc nhau v mt ci cn da. Hy ch ra cch cn tm c hp c trng lng nng nht. Vn ny l th hin ca mt bi ton tng qut : Chomt tp hp A hu hn v mt th t ton phn trn A. Hy xy dng thut ton tm phn t lnnht ca A. Bi ton trong ton hc c v rt phc tp nhng mt th hin trn thc t li rt d hiu,v cch gii quyt cng n gin. T ta c th d dng suy ra cch gii bi ton tng qut.

    1.Nu ch c 1 hp (n=1) th

    1.1. Hp chnh l hp nng nht.

    1.2. Kt thc thut ton.

    2.Ngc li nu c t hai hp tr ln (n>1)

    2.1. Chn hai hp bt k v t ln bn cn.

    2.2. Gi li hp nng hn, ct hp nh hn sang ch khc.

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    6/29

    3.Nu cn hp cha c cn thc hin cc bc sau, nu khng cn hp no na, sangbc 5.

    3.1. Chn mt hp bt k v ln da cn cn trng.

    3.2. Gi li hp nng hn, ct hp nh hn sang ch khc.

    4. Tr li bc 3.

    5. Hp cn li trn cn chnh l hp nng nht. Kt thc.

    Thut ton Euclid tm c s chung ln nht

    Bi ton : Cho hai s nguyn dng a v b. Tm c s chung ln nht ca a v b.

    1. Yu cu cho bit gi tr ca a, b.

    2. a0 = a

    3. b0 = b

    4. i = 0

    5. Nu ai khc bi th thc hin cc thao tc sau, ngc li qua bc 7.

    5.1 Tng i ln 1.

    5.2. Nu ai-1 > bi-1 th

    ai = ai-1 - bi-1

    bi = bi-1

    5.3. Ngc li

    bi = bi-1 - ai-1

    ai = ai-1

    6. Tr li bc 5.

    7. c s chung ln nht ca a, b l ai .

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    7/29

    2. CC PHNG PHP BIU DIN THUT TON

    Khi chng minh hoc gii mt bi ton trong ton hc, ta thng dng nhng ngn tton hc nh : "ta c", "iu phi chng minh", "gi thuyt", ... v s dng nhng php suy lun tonhc nh php suy ra, tng ng, ...Thut ton l mt phng php th hin li gii bi ton nncng phi tun theo mt s quy tc nht nh. c th truyn t thut ton cho ngi khc haychuyn thut ton thnh chng trnh my tnh, ta phi c phng php biu din thut ton. C 3

    phng php biu din thut ton :

    1. Dng ngn ng t nhin.

    2. Dng lu -s khi (flowchart).

    3. Dng m gi (pseudocode).

    2.1. Ngn ng t nhin

    Trong cch biu din thut ton theo ngn ng t nhin, ngi ta s dng ngn ngthng ngy lit k cc bc ca thut ton (Cc v d v thut ton trong mc 1 ca chng sdng ngn ng t nhin). Phng php biu din ny khngyu cu ngi vit thut ton cng nhngi c thut ton phi nm cc quy tc. Tuy vy, cch biu din ny thng di dng, khng thhin r cu trc ca thut ton, i lc gy hiu lm hoc kh hiu cho ngi c. Gn nh khng cmt quy tc c nh no trong vic th hin thut ton bng ngn ng t nhin. Tuy vy, d c,ta nn vit cc bc con li vo bn phi v nh s bc theo quy tc phn cp nh 1, 1.1, 1.1.1, ...Bn c th tham kho li ba v d trong mc 1 ca chng hiu cch biu din thut ton theongn ng t nhin.

    2.2. Lu - s khi

    Lu hay s khi l mt cng c trc quan din t cc thut ton. Biu din thutton bng lu s gip ngi c theo di c s phn cp cc trng hp v qu trnh x l cathut ton. Phng php lu thng c dng trong nhng thut ton c tnh rc ri, kh theodi c qu trnh x l.

    biu din thut ton theo s khi, ta phi phn bit hai loi thao tc. Mt thao tc lthao tc chn la da theo mt iu kin no . Chng hn : thao tc "nu a = b th thc hin thaotc B2, ngc li thc hin B4" l thao tc chn la. Cc thao tc cn li khng thuc loi chn lac xp vo loi hnh ng. Chng hn, "Chn mt hp bt k v ln da cn cn trng."l mtthao tc thuc loi hnh ng.

    2.2.1. Thao tc chn la (decision)

    Thao tc chn la c biu din bng mt hnh thoi, bn trong cha biu thc iu kin.

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    8/29

    2.2.2. Thao tc x l (process)

    Thao tc x l c biu din bng mt hnh ch nht, bn trong cha ni dung x l.

    2.2.3.ng i (route)

    Khi dng ngn ng t nhin, ta mc nh hiu rng qu trnh thc hin s ln lt i t bctrc n bc sau (tr khi c yu cu nhy sang bc khc). Trong ngn ng lu , do th hincc bc bng hnh v v c th t cc hnh v ny v tr bt k nn ta phi c phng php thhin trnh t thc hin cc thao tc.

    Hai bc k tip nhau c ni bng mt cung, trn cung c mi tn ch hng thchin. Chng hn trong hnh di, trnh t thc hin s l B1, B2, B3.

    T thao tc chn la c th c n hai hng i, mt hng ng vi iu kin tha v mthng ng vi iu kin khng tha. Do vy, ta dng hai cung xut pht t cc nh hnh thoi, trnmi cung c k hiu /ng/Y/Yes ch hng i ng vi iu kin tha v k hiu S/Sai/N/No

    ch hng i ng vi iu kin khng tha.

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    9/29

    2.2.4. im cui (terminator)

    im cui l im khi u v kt thc ca thut ton, c biu din bng hnh ovan, bntrong c ghi ch bt u/start/begin hoc kt thc/end. im cui ch c cung i ra (im khi u)hoc cung i vo (im kt thc). Xem lu thut ton gii phng trnh bc hai trn thycch s dng ca im cui.

    2.2.5. im ni (connector)

    im ni c dng ni cc phn khc nhau ca mt lu li vi nhau. Bn trong imni, ta t mt k hiu bit s lin h gia cc im ni.

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    10/29

    2.2.6. im ni sang trang (off-page connector)

    Tng t nh im ni, nhng im ni sang trang c dng khi lu qu ln, phi vtrn nhiu trang. Bn trong im ni sang trang ta cng t mt k hiu bit c s lin h giaim ni ca cc trang.

    trn ch l cc k hiu c bn v thng c dng nht. Trong thc t, lu cn cnhiu k hiu khc nhng thng ch dng trong nhng lu ln v phc tp. i vi cc thutton trong cun sch ny, ta ch cn s dng cc k hiu trn l .

    2.3. M gi

    Tuy s khi th hin r qu trnh x l v s phn cp cc trng hp ca thut tonnhng li cng knh. m t mt thut ton nh ta phi dng mt khng gian rt ln. Hn na, lu ch phn bit hai thao tc l r nhnh (chn la c iu kin) v x l m trong thc t, cc thutton cn c thm cc thao tc lp (Chng ta s tm hiu v thao tc lp trong cc bi sau).

    Khi th hin thut ton bng m gi, ta s vay mn cc c php ca mt ngn ng lp trnhno th hin thut ton. Tt nhin, mi ngn ng lp trnh u c nhng thao tc c bn l xl, r nhnh v lp. Dng m gi va tn dng c cc khi nim trong ngn ng lp trnh, va gipngi ci t d dng nm bt ni dung thut ton. Tt nhin l trong m gi ta vn dng mt phnngn ng t nhin. Mt khi vay mn c php v khi nim ca ngn ng lp trnh th chc chnm gi s b ph thuc vo ngn ng lp trnh . Chnh v l do ny, chng ta cha vi tm hiu v

    m gi trong bi ny (v chng ta cha bit g v ngn ng lp trnh!). Sau khi tm hiu xong bi vth tc - hm bn s hiu m gi l g !

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    11/29

    Mt on m gi ca thut ton gii phng trnh bc hai

    ifDelta > 0 then begin

    x1=(-b-sqrt(delta))/(2*a)

    x2=(-b+sqrt(delta))/(2*a)

    xut kt qu : phng trnh c hai nghim l x1 v x2

    end

    else

    ifdelta = 0 then

    xut kt qu : phng trnh c nghim kp l -b/(2*a)

    else {trng hp delta < 0 }

    xut kt qu : phng trnh v nghim

    * Cc t in m l cc t kha ca ngn ng Pascal

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    12/29

    3. PHC TP CA THUT TON

    Mt chng trnh my tnh thng c ci t da trn mt thut ton ng giiquyt bi ton hay vn . Tuy nhin, ngay c khi thut ton ng, chng trnh vn c th khng s

    dng c i vi mt d liu u vo no v thi gian cho ra kt qu l qu lu hoc s dngqu nhiu b nh (vt qu kh nng p ng ca my tnh).

    Khi tin hnhphn tch thut ton ngha l chng ta tm ra mt nh gi v thi gian v"khng gian" cn thit thc hin thut ton. Khng gian y c hiu l cc yu cu v b nh,thit b lu tr, ... ca my tnh thut ton c th lm vic. Vic xem xt v khng gian ca thutton ph thuc phn ln vo cch t chc d liu ca thut ton. Trong phn ny, khi ni n

    phc tp ca thut ton, chng ta ch cp n nhng nh gi v mt thi gian m thi.

    Phn tch thut ton l mt cng vic rt kh khn, i hi phi c nhng hiu bit susc v thut ton v nhiu kin thc ton hc khc. y l cng vic m khng phi bt c ngi nocng lm c. Rt may mn l cc nh ton hc phn tch cho chng ta phc tp ca hu htcc thut ton c s (sp xp, tm kim, cc thut ton s hc, ...). Chnh v vy, nhim v cn li cachng ta l hiu c cc khi nim lin quan n phc tp ca thut ton.

    nh gi v thi gian ca thut ton khng phi l xc nh thi gian tuyt i (chythut ton mt bao nhiu giy, bao nhiu pht,...) thc hin thut ton m l xc nh mi linquan gia d liu u vo (input) ca thut ton v chi ph (s thao tc, s php tnh cng,tr, nhn,chia, rt cn,...) thc hin thut ton. S d ngi ta khng quan tm n thi gian tuyt i cathut ton v yu t ny ph thuc vo tc ca my tnh, m cc my tnh khc nhau th c tc rt khc nhau. Mt cch tng qut, chi ph thc hin thut ton l mt hm s ph thuc vo d liu

    u vo :T = f(input)

    Tuy vy, khi phn tch thut ton, ngi ta thng ch ch n mi lin quan gia ln ca d liu u vo v chi ph. Trong cc thut ton, ln ca d liu u vothng c thhin bng mt con s nguyn n. Chng hn : sp xp n con s nguyn, tm con s ln nht trong n

    s, tnh im trung bnh ca n hc sinh, ... Lc ny, ngi ta th hin chi ph thc hin thut tonbng mt hm s ph thuc vo n :

    T = f(n)

    Vic xy dng mt hm T tng qut nh trn trong mi trng hp ca thut ton l mtvic rt kh khn, nhiu lc khng th thc hin c. Chnh v vy m ngi ta ch xy dng hm Tcho mt s trng hp ng ch nht ca thut ton, thng l trng hp tt nhtv xu nht.

    Chng ta tr li v d v thut ton tm hp nng nht trong n hp cho trc, nhng lnny ta lm vic trn mt th hin khc ca vn . y l mt thut ton tng i n gin nnchng ta c th tin hnh phn tch c phc tp. Trc khi phn tch phc tp, ta nhc lii iu v thut ton ny.

    Tm s ln nht trong mt dy s

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    13/29

    Bi ton : Cho mt dy s a c n phn t a1, a2, ...an. Hy xy dng thut ton tm con s ln nht trongdy a.

    Nhn xt

    1.Nu dy ch c 1 phn t th phn t l s ln nht.

    2. Gi s dy c n phn t v ta xc nh c phn t ln nht l amax . Nu b sung thm phn t than+1 vo dy m an+1 > amax th an+1 chnh l phn t ln nht ca dy c n+1 phn t. Trng hp ngc li, ngha lan+1 amax th amax vn l phn t ln nht ca dy c n+1 phn t.

    Thut ton

    1. Ghi nh amax = a1.

    2. i = 2.

    3. Nu (i n) th thc hin cc bc sau, ngc li sang bc 5.

    3.1. Nu (ai > amax ) th

    3.1.1. Ghi nh amax = ai .

    3.2. Tng i ln 1.

    4. Tr li bc 3.

    5. Phn t ln nht dy a chnh l amax .Kt thc.

    Trong thut ton trn, n gin, ta ch xem chi ph l s ln so snh bc 3.1 v sln "ghi nh" trong bc 3.1.1. Trng hp tt nht ca thut ton ny xy ra khi con s ln nhtnm u dy (amax= a1); trng hp xu nht xy ra khi con s ln nht nm cui dy (a max=an) vdy c sp xp theo th t tng dn.

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    14/29

    Da theo s khi ca thut ton, ta nhn thy rng, trong mi trng hp ca bi ton,php "ghi nh" bc 3.1 lun c thc hin v s ln thc hin l n-1 (ng vi vic xt t phn t

    a2 n an). Ta gi y l chi ph c nh hoc bt bin ca thut ton.

    Trng hp tt nht: do amax = a1suy ra, vi mi i 2, ai< amax. Do , iu kin ai>amax bc 3.1 lun khng tha nn bc 3.1.1 khng bao gi c thc hin. Nh vy, chi ph chung chotrng hp ny chnh l chi ph c nh ca bi ton.

    T = f(n) = n-1

    Trng hp xu nht:

    Ta c : vi mi i>1, ai-1< ai (do nh ngha dy c sp xp tng dn) nn iu kin

    ai>amax bc 3.1 lun tha, bc 3.1.1 lun c thc hin. Nh vy, ngoi chi ph chung l n-1php so snh, ta cn phi dng thm n-1 php "ghi nh" bc 3.1.1. Nh vy, tng chi ph catrng hp ny l

    T = f(n) = 2(n-1)=2n-2

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    15/29

    nh ngha

    Cho hai hm f v g c min xc nh trong tp s t nhin . Ta vit

    f(n) = O(g(n))

    v ni f(n) c cp cao nht l g(n) khi tn ti hng s C v k sao cho

    | f(n) | C.g(n) vi mi n > k

    Tuy chi ph ca thut ton trong trng hp tt nht v xu nht c th ni ln nhiu iunhng vn cha a ra c mt hnh dung tt nht v phc tp ca thut ton. c th hnhdung chnh xc v phc tp ca thut ton, ta xt n mt yu t khc l tngca chi ph khi ln n ca d liu u vo tng.

    Theo nh ngha trn, ta nhn thy chi ph thp nht v ln nht ca thut ton tm s

    ln nht u b chn bi O(n) (tn ti hng s C=10, k=1 2n-2 < 10n vi mi n>1).

    Mt cch tng qut, nu hm chi ph ca thut ton (xt trong mt trng hp no ) bchn bi O(f(n)) th ta ni rng thut ton c phc tp l O(f(n)) trong trng hp .

    Nh vy, thut ton tm s ln nht c phc tp trong trng hp tt nht v xu nhtu l O(n). Ngi ta gi cc thut ton c phc tp O(n) l cc thut ton c phc tp tuyntnh.

    Sau y l mt s "thc o" phc tp ca thut ton c s dng rng ri. Cc phc tp c sp xp theo th t tng dn. Ngha l mt bi ton c phc tp O(n k) s phc tphn bi ton c phc tp O(n) hoc O(logan).

    4. PHN LOI VN - BI TON

    phc tp ca thut ton chnh l yu t c s phn loi vn -bi ton. Mtcch tng qut, mi bi ton u c th chia lm 2 lp ln l : gii c v khng gii c. Lp gii

    c chia lm 2 lp con. Lp con u tin l cc bi ton c phc tp a thc : ngha l bi tonc th gii c bng thut ton c phc tp a thc (hay ni ngn gn : lp a thc) c xem

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    16/29

    l c li gii thc t. Lp con th hai l nhng bi ton c phc tp khng phi l a thc m ligii ca n c xem l thc t ch cho nhng s liu u vo c chn la cn thn v tng i nh.Cui cng l nhng bi ton thuc loi NP cha th phn loi mt cch chnh xc l thuc lp biton c phc tp a thc hay c phc tp khng a thc.

    4.1. Lp bi ton c phc tp a thc

    Cc bi ton thuc lp ny c phc tp l O(nk) hoc nh hn O(nk). Chng hnnh cc bi ton c phc tp l O(nlog2n) c xem l cc bi ton thuc lp a thc v nlog 2n bchn bi n2 ( nlog2n n2 vi mi n>0). Nh vy cc bi ton c phc tp hng O(1), phc tptuyn tnh O(n) v logarith O(nlogan) u l cc bi ton thuc lp a thc. Cn cc bi ton c

    phc tp ly tha O(an) hoc giai tha O(n!) l khng thuc lp a thc.

    Tuy phc tp ch l s o v tng ca chi ph ng vi tng ca d liu u vonhng n cng cho chng ta c mt nh gi tng i v thi gian thi hnh thut ton. Cc thutton thuc lp a thc c xem l cc bi ton c li gii thc t.Li gii thc tc hiu rng l

    chi ph v mt thi gian v khng gian cho vic gii bi ton l chp nhn c trong iu kin hinti. Bt k mt bi ton no khng thuc lp ny th u c chi ph rt ln.

    C th gii c hay khng?

    Ngi ta c tnh thi gian cn thit gii mt mt m c m ha bng kha 128-bit l trn 1 triu nmvi iu kin lm vic trn cc siu my tnh mnh nht hin nay!

    Chnh v l do ny, mt bi ton c xem l c th gii c trn thc t hay khng phthuc vo phc tp ca bi ton c phi l a thc hay khng.

    4.2. Lp bi ton c phc tp khng a thc

    Tht khng may mn, nhiu bi ton thc s c li gii li khng thuc lp ca bi tona thc.V d : cho mt tp hp c n phn t, hy lit k tt c cc tp con khc trng ca tp hpny. Bng ton hc, ngi ta chng minh c rng s tp con ca mt tp hp c n phn t l 2 n-1. Li gii tuy c nhng khi th hin li gii ny bng bt k thut ton no th phi tn t nht 2 n-1

    bc. D thy rng phc tp ca bi ton ny cng c O(2n). Nh vy bi ton ny khng thuclp ca bi ton a thc. Vi n vo khong 16, s bc cn thit ch khong vi chc ngn l honton gii c trn cc my tnh hin nay. Nhng khi s phn t ln n 32 th ta tn mt s bcln n 4 t, ch thm mt phn t na thi, chng ta tn 8 t bc! Vi s lng bc nh vy,

    d chy trn mt siu my tnh cng phi tn mt thi gian ng k! Cc bi ton khng thuc lp athc ch gii c vi mt ln d liu u vo nht nh.

    4.3. Lp bi ton NP

    Chng ta u bit rng tnh xc nh l mt trong ba c tnh quan trng ca thut ton.Ngha l mi bc ca thut ton phi c xc nh duy nht v c th thc thi c. Nu c sphn chia trng hp ti mt bc th thng tin ti bc phi y thut ton c th t quytnh chn la trng hp no. Trong mc 4.3 ny, ta tm gi cc thut ton tha mn tnh xc nhl cc thut ton t quyt.

    Vy th iu g s xy ra nu ta a ra mt "thut ton" c tnh khng t quyt? Ngha lti mt bc ca "thut ton", ta a ra mt s trng hp chn la nhng khng cung cp y

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    17/29

    thng tin "thut ton" t quyt nh? Tht ra, trong cuc sng, nhng "thut ton" thuc loi nyrt hay c p dng. Chng hn ta c mt li ch dn khi i du lch : "Khi i ht khu vn ny, bnhy chn mt con ng m bn cm thy thch. Tt c u dn n bo tng lch s.".Nu l khchdu lch, bn s cm thy bnh thng. Nhng my tnh th khng! N khng th thc thi nhnghng dn khng r rng nh vy!

    n y, lp tc s c mt cu hi rng "Ti sao li cp n nhng thut ton c tnhkhng t quyt d my tnh khng th thc hin mt thut ton nh vy?". Cu tr li l, khi nghincu v thut ton khng t quyt, d khng dng gii bi ton no i na, chng ta s c nhnghiu bit v hn ch ca nhng thut ton t quyt thng thng.

    n y, ta hy xem s khc bit v phc tp ca mt thut ton t quyt v khng tquyt gii quyt cho cng mt vn .

    Bi ton ngi bn hng

    Mt nhn vin phn phi hng cho mt cng ty c giao nhim v phi giao hng cho cc i l ca cng ty,sau tr v cng ty. Vn ca ngi nhn vin l lm sao i giao hng cho tt c i l m khng tiu qu s tin xng m cng ty cp cho mi ngy. Ni mt cch khc, lm sao ng i qu mt s lng cy s no .

    Mt li gii c in cho bi ton ny l lit k mt cch c h thng tng con ng c thi, so snh chiu di mi con ng tm c vi chiu di gii hn cho n lc tm c mt conng ph hp hoc xt ht tt c cc con ng c th i. Tuy nhin, cch gii quyt ny c

    phc tp khng phi a thc. Bng ton hc, ngi ta chng minh c rng phc tp cathut ton ny l O(n!). Nh vy, vi s i l ln th thut ton trn c xem l khng thc t. Bygi, chng ta xem qua mt thut ton khng t quyt.

    1. Chn mt con ng c th v tnh chiu di ca n.

    2.Nu chiu di ny khng ln hn gii hn th bo l thnh cng, ngc li bo chn la sai.

    Quan im ca ta trong cch gii quyt ny l nu chn sai th l do li ca ngi chn chkhng phi li ca thut ton !.

    Theo thut ton ny th chi ph tnh chiu di ca con ng c chn s t l vi s il; chi ph so snh chiu di qung ng vi gii hn cho php th khng lin quan n s thnh

    ph. Nh vy, chi ph ca thut ton ny l mt hm c dng T = an+b vi n l s i l v a,b l cchng s. Ta kt lun rng, phc tp ca thut ton ny l O(n) hay phc tp thuc lp a thc.

    Nh vy, nu dng thut ton t quyt th bi ton ngi bn hng s c phc tp khngthuc lp a thc, cn nu dng thut ton khng t quyt th bi ton s c phc tp a thc.

    5. THUT TON QUY

    Thut ton quy l mt trong nhng s m rng c bn nht ca khi nim thutton. Nh bit, mt thut ton cn phi tha mn 3 tnh cht :

    Tnh hu hn.

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    18/29

    Tnh xc nh

    Tnh ng n

    Tuy nhin, c nhng bi ton m vic xy dng mt thut ton vi y ba tnh cht

    trn rt kh khn. Trong khi , nu ta xy dng mt thut ton vi phm mt vi tnh cht trn thcch gii li tr nn n gin hn nhiu v c th chp nhn c. Mt trong nhng trng hp lthut ton quy.

    T tng gii bi ton bng thut ton quy l a bi ton hin ti v mt bi toncng loi, cng tnh cht(hay ni mt cch nm na l ng dng) nhng cp thp hn (chnghn : ln d liu nhp nh hn, gi tr cn tnh ton nh hn, ....), v qu trnh ny tip tc chon lc bi ton c a v mt cp m ti c th gii c. T kt qu cp ny, ta sln ngc gii c bi ton cp cao hn cho n lc gii c bi ton cp ban u.

    Trong ton hc ta cng thng gp nhng nh ngha v nhng i tng, nhng khi

    nim da trn chnh nhng i tng, khi nim .

    nh ngha giai tha

    Giai tha ca mt s t nhin n, k hiu n! c nh ngha l :

    0! = 1

    n! = (n-1)!n vi mi n>0

    nh ngha dy s Fibonacci

    f0 = 1

    f1 = 1

    fn = fn-1 + fn-2 vi mi n>1

    Theo ton hc, nhng khi nim c nh ngha nh vy gi l nh ngha theo kiu quynp.

    Chnh v vy, quy c s lin h rt cht ch vi quy np ton hc. quy mnh im n c th nh ngha mt tp v hn cc i tng ch bng mt s

    hu hn cc mnh . Tuy nhin, c tnh ny ca quy li vi phm tnh xc nh ca thut ton.V nguyn tc, mt bc trong thut ton phi c xc nh ngay ti thi im bc c thihnh, nhng vi thut ton quy, bc th n khngc xc nh ngay trong ng cnh ca n m

    phi xc nh thng qua mt bc thp hn. Chng hn, tnh c gi tr phn t th 5 ca dyFibonacci theo nh ngha trn, ta phi tnh f3+f4, nhng ta cha bit gi tr f3 v f4 ti thi im ny.n y, ta phi li li tnh f3 v f4. tnh f3 ta li phi li v tnh f2,...Tt nhin, l qu trnhtnh li ny phi dng sau mt s hu hn bc. Trong trng hp ny, im dngchnh l gi tr f1v f0.

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    19/29

    u th ca thut ton quy l ta ch cn gii bi ton ti mt s trng hp c bit no, cn gi l trng hp dng. Sau , cc trng hp khc ca bi ton s c xc nh thngqua trng hp c bit ny. i vi vic tnh dy Fibonacci, trng hp dng chnh l gi tr ca f0v f1.

    Ni mt cch chnh xc, mi thut ton quy u gm hai phn:

    Phn c s

    L cc trng hp khng cn thc hin li thut ton (hay khng c yu cu gi quy).

    Nu thut ton quy khng c phn ny th s dn n b lp v hn v sinh li khi thi hnh. V ldo ny m ngi ta i lc cn gi phn c s l trng hp dng.

    Phn quy

    L phn trong thut ton c yu cu gi quy, tc l yu cu thc hin li thut tonnhng vi mt cp d liu thp hn.

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    20/29

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    21/29

    6.THUT GII

    6.1. M rng khi nim thut ton : thut giiTrong qu trnh nghin cu gii quyt cc vn - bi ton, ngi ta a ra nhng nhn

    xt nh sau :

    C nhiu bi ton cho n nay vn cha tm ra mt cch gii theo kiu thut ton v cng khng bit l ctn ti thut ton hay khng.

    C nhiu bi ton c thut ton gii nhng khng chp nhn c v thi gian gii theo thut ton qu ln hoc cc iu kin cho thut ton kh p ng.

    C nhng bi ton c gii theo nhng cch gii vi phm thut ton nhng vn chp nhn c.

    T nhng nhn nh trn, ngi ta thy rng cn phi c nhng i mi cho khi nim thutton. Ngi ta m rng hai tiu chun ca thut ton : tnh xc nh v tnh ng n. Vic mrng tnh xc nh i vi thut ton c th hin qua cc gii thut quy v ngu nhin. Tnhng ca thut ton by gi khng cn bt buc i vi mt s cch gii bi ton, nht l cc cchgii gn ng. Trong thc tin, c nhiu trng hp ngi ta chp nhn cc cch gii thngcho ktqu tt (nhng khng phi lc no cng tt) nhng t phc tp v hiu qu. Chng hn nu gii mt

    bi ton bng thut ton ti u i hi my tnh thc hin nhiu nm th chng ta c th sn lngchp nhn mt gii php gn ti u m ch cn my tnh chy trong vi ngy hoc vi gi.

    Cc cch gii chp nhn c nhng khng hon ton p ng y cc tiu chun cathut ton thng c gi l cc thut gii. Khi nim m rng ny ca thut ton m rng cacho chng ta trong vic tm kim phng php gii quyt cc bi ton c t ra.

    Mt trong nhng thut gii thng c cp n v s dng trong khoa hc tr tu nhnto l cc cch gii theo kiuHeuristic.

    6.2. Thut gii Heuristic

    Thut gii Heuristic l mt s m rng khi nim thut ton. N th hin cch gii biton vi cc c tnh sau :

    Thngtm c li gii tt (nhng khng chc l li gii tt nht)

    Gii bi ton theo thut gii Heuristic thng d dng v nhanh chng a ra kt qu hn so vi gii thutti u, v vy chi ph thp hn.

    Thut gii Heuristic thng th hin kh t nhin, gn gi vi cch suy ngh v hnh ng ca con ngi.

    C nhiu phng php xy dng mt thut gii Heuristic, trong ngi ta thngda vo mt s nguyn l c s nh sau:

    Nguyn l vt cn thng minh :

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    22/29

    Trong mt bi ton tm kim no , khi khng gian tm kim ln, ta thng tm cch giihn li khng gian tm kim hoc thc hin mt kiu d tm c bit da vo c th ca bi ton nhanh chng tm ra mc tiu.

    Nguyn l tham lam (Greedy):

    Ly tiu chun ti u (trn phm vi ton cc) ca bi ton lm tiu chun chn la hnhng cho phm vi cc b ca tng bc (hay tng giai on) trong qu trnh tm kim li gii.

    Nguyn l th t :

    Thc hin hnh ng da trn mt cu trc th t hp l ca khng gian kho st nhmnhanh chng t c mt li gii tt.

    Hm Heuristic:

    Trong vic xy dng cc thut gii Heuristic, ngi ta thng dng cc hm Heuristic. l cc hm nh gi th, gi tr ca hm ph thuc vo trng thi hin ti ca bi ton ti mi bcgii. Nh gi tr ny, ta c th chn c cch hnh ng tng i hp l trong tng bc ca thutgii.

    Bi ton hnh trnh ngn nht - ng dng nguyn l Greedy

    Bi ton :Chng ta tr li vi bi ton ngi bn hng. Nhng y, yu cu bi ton hi

    khc l lm sao tm c hnh trnh ngn nhtc th c.Tt nhin ta c th gii bi ton ny bng cch lit k tt c con ng c th i, tnh chiu

    di ca mi con ng ri tm con ng c chiu di ngn nht. Tuy nhin, cch gii ny li c phc tp O(n!) (tng s hnh trnh c th c l n!). Do , khi s i l tng th s con ng phixt s tng ln rt nhanh.

    Mt cch gii n gin hn nhiu v thng cho kt qu tng i tt l dng mt thut giiHeuristic ng dng nguyn l Greedy. T tng ca thut gii nh sau :

    1. T im khi u, ta lit k tt c qung ng t im xut pht cho n n i l ri

    chn i theo con ng ngn nht.

    2. Khi i n mt i l, chn i n i l k tip cng theo nguyn tc trn. Ngha llit k tt c con ng t i l ta ang ng n nhng i l cha i n. Chn con ng ngnnht. Lp li qu trnh ny cho n lc khng cn i l no i.

    Bn c th quan st hnh 2.14 thy c qu trnh chn la.

    Theo nguyn l Greedy, ta ly tiu chun hnh trnh ngn nht ca bi ton lm tiu chunchn la cc b. Ta hy vng rng, khi i trn n on ng ngn nht th cui cng ta s c mthnh trnh ngn nht. iu ny khng phi lc no cng ng. Vi iu kin trong hnh 2.14 th

    thut gii cho chng ta mt hnh trnh c chiu di l 14 trong khi hnh trnh ti u l 13. Kt quca thut gii Heuristic trong trng hp ny ch lch 1 n v so vi kt qu ti u. Trong khi ,

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    23/29

    phc tp ca thut gii Heuristic ny ch l O(n2). Tt nhin, thut gii theo kiu Heuristic i lcli a ra kt qu khng tt, thm ch rt t nh trng hp hnh 2.15.

    Bi ton phn vic ng dng ca nguyn l th t

    Mt cng ty nhn c hp ng gia cng m chi tit my J1, J2,...,Jm. Cng ty c n my gia

    cng ln lt l P1, P2, ...Pn. Mi chi tit u c th c gia cng trn bt k my no. Mt khi gia cng mt chi tit trn mt my, cng vic s tip tc cho n lc hon thnh, khng th b ngtngang. gia cng mt cng vic Ji trn mt my bt k ta cn dng mt thi gian tng ng l t i.

    Nhim v ca cng ty l phi lm sao gia cng xong ton b n chi tit trong thi gian sm nht.

    Chng ta xt bi ton trong trng hp c 3 my P 1, P2, P3 v 6 cng vic vi thi gian lt1=2, t2=5, t3=8, t4=1, t5=5, t6=1. Ta c mt phng n phn cng (L) nh hnh sau :

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    24/29

    Theo hnh ny, ti thi im t=0, ta tin hnh gia cng chi tit J2 trn my P1, J5 trn P2 vJ1 ti P3. Ti thi im t=2, cng vic J1 c hon thnh, trn my P3 ta gia cng tip chi tit J4.Trong lc , hai my P1 v P2 vn ang thc hin cng vic u tin mnh...S phn vic theohnh trn c gi l lc GANTT. Theo lc ny, ta thy thi gian hon thnh ton b 6cng vic l 12. Nhn xt mt cch cm tnh ta thy rng phng n (L) va thc hin l mt phng

    n khng tt. Cc my P1 v P2 c qu nhiu thi gian rnh.

    Xy dng mt thut ton tm mt phng n ti u L0 cho bi ton ny l mt bi tonkh, i hi cc k thut phc tp m chng ta s khng cp y. By gi ta xt n mt thutgii Heuristic rt n gin gii bi ton ny.

    1. Sp xp cc cng vic theo th t gim dn v thi gian gia cng.

    2. Ln lt sp xp cc vic theo th t vo my cn d nhiu thi gian nht.

    Vi t tng nh vy, ta s c mt phng n L* nh sau :

    R rng phng n L* va thc hin cng chnh l phng n ti u ca trng hp ny vthi gian hon thnh l 8, ng bng thi gian ca cng vic J3. Ta hy vng rng mt thut giiHeuristic n gin nh vy s l mt thut gii ti u. Nhng tic thay, ta d dng a ra c mttrng hp m thut gii Heuristic khng a ra c kt qu ti u.

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    25/29

    Nu gi T* l thi gian gia cng xong n chi tit my do thut gii Heuristic a ra v Tol thi gian ti u th ngi ta chng minh c rng

    Vi kt qu ny, ta c th xc lp c sai s m chng ta phi gnh chu nu dngHeuristic thay v tm mt li gii ti u. Chng hn vi s my = 2 (n=2) ta c

    , v chnh l sai s cc i m trng hp trn gnh chu. Theo cng thc ny, smy cng ln th sai s cng ln.

    Trong trng hp n ln th 1/(3n) xem nh bng 0. Nh vy, sai s ti a m ta phi chu lT* ? 4/3To, ngha l sai s ti a l 33%. Tuy nhin, kh tm ra c nhng trng hp m sai sng bng gi tr cc i, d trong trng hp xu nht. Thut gii Heuristic trong trng hp ny r

    rng cho chng ta nhng li gii tng i tt.

    Bi ton Ta-canh - ng dng ca hm Heuristic

    Bi ton Ta-canh tng l mt tr chi kh ph bin, i lc ngi ta cn gi y l biton 9-puzzle. Tr chi bao gm mt hnh vung kch thc 3x3 . C 8 c s, mi c mt s t1 n 8. Mt cn trng. Mi ln di chuyn ch c di chuyn mt nm cnh trng v pha trng. Vn l t mt trng thi ban u bt k, lm sao a c v trng thi cui l trng thim cc c sp ln lt t 1 n 8 theo th t t tri sang phi, t trn xung di, cui dng l

    trng.

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    26/29

    Cho n nay, ngi ta vn cha tm c mt thut ton chnh xc, ti u gii bi tonny. Tuy nhin, cch gii theo kiu Heuristic li kh n gin. Nhn xt rng : ti mi thi im tach c ti a 4 c th di chuyn. Vn l ti thi im , ta s chn la di chuyn no? Chnghn hnh trn, ta nn di chuyn (1), (2), (6) hay (7)?

    Gi T0 l trng thi ch ca bi ton v TK l trng thi hin ti. Ta gi V(i,j) l con snm (i,j), vi trng V(i,j)=0.

    Ta t d(i,j) l s cn di chuyn a con s (i,j) v ng v tr ca n trng thiTO .

    Hm FK ti trng thi TKbng tng ca cc d(i,j) sao cho v tr (i,j) khng phi l trng.

    Nh vy i vi trng thi hnh ban u, hm FK s c gi tr l

    FK = 2+1+3+1+0+1+2+2=12.

    Mt cch tng qut, gi tr hm FK ti trng thi TK s l

    T trng thi TK , ta c ti a 4 cch di chuyn.Ta k hiu cc trng thi mi ny ln lt lTKT ,TKD , TKTr ,TKP ng vi con s trn, di, tri, phi trng hin ti b di chuyn. Chnghn, ng vi hnh ban u, ta c th c 4 trng thi mi nh hnh bn.

    ng vi cc trng thi mi, ta cng s c cc hm FK tng ng l FKT ,FKD ,FKTr ,FKP.

    Da vo 4 con s ny, ta s chn hng i c hm F K tng ng l nh nht, trong trnghp bng nhau ta chn ngu nhin mt trong s cc ng . Vi v d, ta s chn di chuyn

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    27/29

    mang s (2) v FKD l nh nht. Sau khi di chuyn mt , bi ton chuyn v mt trng thi TKmi. Ta li thc hin qu trnh trn cho n lc t c trng thi ch.

    l;Hm FK trong v d ca chng ta l mt dng hm Heuristic. Tt nhin, gii c biton ny trong nhng tnh hung kh, hm FK cn c nhiu sa i.

    7. CU HI1. Thut ton l g ? Thut ton c nhng tnh cht c bn no?2. Theo quan im ca bn, sch dy nu n c trnh by cch nu n theo kiu thut ton

    khng ? Ti sao ?3. C bao nhiu phng php th hin thut ton? u, khuyt im ca tng phng

    php? 4. Hy v lu ca thut ton gii phng trnh trng phng , gii h phng trnhbc nht hai n s.

    5. phc tp ca thut ton l g? Ti sao phi c khi nim phc tp ca thutton? Bn hy th tm mt v d v phc tp hng, phc tp tuyn tnh v phc tpO(n2).

    6. Thut ton gii bi ton sau y c phc tp l g? Ti sao? "C mt gii th thaoc n i tham d. Cc i tham d s u vng trn tnh im (1 i phi u vi n-1 i cn li).Hy lit k tt c trn u phi din ra".

    7. Bi ton c xem l c li gii thc t thuc loi bi ton no? Hy cho v d v mtbi ton c xem l khng c li gii thc t.

    8. Thut ton quy l g? im mnh ca quy l g ? Hy cho vi v d v nhng itng trong thc t v trong ton hc c nh ngha theo kiu quy.9. Thut gii l g? Khi no th nn dng thut ton v khi no th nn dng thut gii?10. Phng php vn rubic l thut ton hay thut gii? Ti sao?

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    28/29

    8.Bi vit khc: SPHN LP VN - BI TON

    phc tp ca thut ton chnh l yu t c s phn loi vn - bi ton. Mtcch tng qut, ngi ta phn chia cc bi ton thnh 2 lp: lp cc bi ton gii c v lp cc biton khng gii c. Lp gii c chia lm 2 lp con: lp cc bi ton c phc tp a thc vlp cc bi ton c phc tp khng phi l a thc. Ngoi ra ta cn c nhng bi ton thuc loi

    NP, l nhng bi ton cha th phn loi mt cch chnh xc l thuc lp c phc tp a thchay c phc tp khng a thc.

    1.1 Lp bi ton c phc tp a thc

    Cc bi ton thuc lp ny c phc tp thuc loi O(nk). Cc bi ton c phc tpthuc loi O(n log n) cng l cc bi ton c phc tp a thc v lp O(n log n) bao hm trong lpO(n2). Tng t, cc bi ton c phc tp hng O(1), c phc tp tuyn tnh O(n) cng thuc

    lp cc bi ton c phc tp a thc. Cc bi ton c phc tp t l vi hm m theo n hay t lvi n! th khng thuc lp bi ton c phc tp a thc.

    phc tp tnh ton ca thut ton cho chng ta mt s nh gi tng i v thi gianthc hin ca thut ton. Cc bi ton thuc lp a thc, tc l c phc tp a thc, c xem lcc bi ton c li gii thc t. Li gii thc t c hiu l chi ph v mt thi gian v khng giancho vic gii bi ton l chp nhn c trong iu kin hin ti. Chng ta thy bi ton sp xpdy, bi ton tm kim trn dy u c phc tp a thc.

    Bt k bi ton no khng thuc lp cc bi ton c phc tp a thc u c chi ph ln.V vy i vi bt k bi ton no, ngi ta cng mong mun tm ra nhng thut ton gii quyt n

    mt cch hiu qu c phc tp a thc. Tuy nhin iu ny khng phi lc no cng lm c vc nhng trng hp khng th l c. l trng hp bi ton c phc tp khng a thc.

    1.2 Lp bi ton c phc tp khng a thc

    Nh cp trong mc trn, ngi ta lun mong mun tm ra thut ton c phc tp athc gii cc bi ton. Nhng c nhiu bi ton khng th c thut ton thuc lp phc tp athc gii n, mc d n c li gii. Bi ton lit k tt c cc tp hp con ca mt tp hp X huhn c n phn t l mt v d cho loi bi ton gii c nhng c phc tp khng a thc. Vmt ton hc, ta c th chng minh c rng tp hp X (c n phn t) s c tt c l 2n tp hp con.

    Nh vy, bt k thut ton no lit k tt c cc tp hp con ca X u phi thc hin t nht 2n

    bc. Ngoi ra ta c th nu ln mt thut ton lit k cc tp hp con ca X vi phc tp thucloi O(2n). iu ny chng t rng bi ton khng thuc lp a thc. Vi n ch c 32 th s bcthao tc gii bi ton trn 4 t, v vi n = 33 th s thao tc ca thut ton s hn 8 t! Vi slng thao tc nh vy, ngay c i vi mt siu my tnh th cng phi tn mt thi gian ng k.

    Mt v d khc v bi ton khng thuc lp cc bi ton c phc tp a thc l bi tonThp H ni v s ln chuyn a cho bi ton vi n a t nht l 2n-1.

    1.3 Lp bi ton NP

    Nh trnh by trong phn trn, i vi cc bi ton ngi ta mong mun tm ra mt thutton c phc tp a thc gii nhng rt khng may l c nhng bi ton c phc tp khng

  • 8/8/2019 Thuat Toan-do Phuc Tap TT

    29/29