Professional Documents
Culture Documents
Sinh vin
: L Ngc Minh
Lp
: Khoa hc my tnh
Kho
: 52
SHSV
: 20071946
Mc lc
Chng 1. Gii thiu..................................................................................................................................3
Chng 2. Cy hu t................................................................................................................................ 4
2.1. Khi nim.......................................................................................................................................4
2.2. Biu din cy hu t trong my tnh...............................................................................................5
2.3. Gii thut dng cy hu t Ukkonen..............................................................................................6
2.3.1. Cy hu t ngm nh (implicit suffix tree)............................................................................6
2.3.2. Dng cy hu t ngm nh....................................................................................................7
2.3.3. Lin kt hu t (suffix link)....................................................................................................9
2.3.4. Tng tc thut ton s dng lin kt hu t............................................................................9
2.3.5. Thut ton dng cy hu t ngm nh trong thi gian tuyn tnh.......................................12
2.3.6. Dng cy hu t thc s.......................................................................................................13
Chng 3. Cy hu t tng qut.............................................................................................................. 14
3.1. Khi nim.....................................................................................................................................14
3.2. Biu din cy hu t tng qut trong my tnh.............................................................................14
3.3. Dng cy hu t tng qut trong thi gian tuyn tnh..................................................................15
Chng 4. Bi ton tm xu con chung di nht......................................................................................16
4.1. Khi nim.....................................................................................................................................16
4.2. Tm xu con chung di nht ca hai xu......................................................................................16
4.3. Tm xu con chung di nht ca nhiu hn hai xu.....................................................................16
4.3.1. Tnh s C(v)..........................................................................................................................17
Chng 5. Chng trnh th nghim.......................................................................................................18
5.1. Kt qu th nghim......................................................................................................................18
5.2. Hng dn ci t chng trnh...................................................................................................19
5.3. Hng dn s dng chng trnh.................................................................................................19
5.3.1. Trc quan ho cy hu t......................................................................................................19
5.3.2. Tm xu con chung di nht ca cc xu ln........................................................................20
5.3.3. Sinh xu ln..........................................................................................................................21
5.4. Hng dn bin dch m ngun................................................................................................... 21
5.5. M ngun chng trnh................................................................................................................27
Ph lc A. Ti liu tham kho..................................................................................................................28
Ph lc B. Danh mc hnh....................................................................................................................... 29
Ph lc C. Danh mc thut ng............................................................................................................... 30
Chng 2. Cy hu t
2.1.
Khi nim
nh ngha: Cy hu t T ca chui m k t S l cy c hng, c gc c cc tnh cht sau:
Cc ng i t gc n l tng ng 1-1 vi cc hu t ca S.
Nhn ng i ca mt nt l nhn ca ng i bt u t gc n nt
su chui ca mt nt l di nhn ng i ca nt
su nt (node-depth) ca mt nt l s nt trn ng i t gc n nt
2.2.
chui.
2.3.
Bo co ny s tip cn gii thut Ukkonen theo cch trc ht trnh by mt gii thut n gin,
d hiu nhng km hiu qu sau s tng tc dn bng cc quan st b sung v cc mo ci t.
2.3.1.
2.3.2.
Dng cy hu t ngm nh
cchcitingiithuttrongccphnsau.
2.3.3. Linkthut(suffixlink)
nh ngha: Gi x l mt xu bt k, x l mt k t v l mt xu (c th rng). Xt nt trong v
c nhn l x, nu c mt nt khc s(v) c nhn l , mt con tr t v n s(v) gi l mt lin kt hu
t.
Trong Hnh 1 (trang 5), nt v c nhn xa do s(v) l nt c nhn a, tn ti mt lin kt t v n
s(v). Trng hp ny ch gm mt k t.
Trng hp c bit khi l xu rng, lin kt c tr n nt gc. Nt gc khng c coi l
nt trong v khng c lin kt hu t no bt u t n.
B : Nu mt nt trong mi v c nhn x c thm trong ln m rng th j ca pha i+1 th
hoc mt ng i c nhn tn ti trong cy hoc mt nt trong mi c nhn s c thm
trong ln m rng tip theo, j+1 ca cng pha i+1.
CHNG MINH: Nt trong mi c to ra ch khi trng hp m rng th hai xy ra, ngha l ng
i c nhn x tip ni bi mt k t khc k t S i+1, ta gi k t l c. bc m rng th j+1, ta c
gng thm xu Si+1 vo cy, r rng ng i c nhn tn ti v tip ni bi k t c. C hai
trng hp xy ra:
Nu ng i c nhn cn hai hoc nhiu hn k t tip ni, chng hn c, d,... chc chn
tn ti nt c nhn .
Vy, b c chng minh.
2.3.4.
2.3.5. Thuttondngcyhutngmnhtrongthigiantuyntnh
Nhnxt1:Lutmrngs3ktthcmipha.
CHNGMINH:Nuluts3cpdngnghalngicnhnS[j..i]chcchncnitip
bngktSi+1nnttcccngicnhnS[k..i]vik>jcngvyvlutth3tiptccp
dngchoccbcmrngcnlicapha.
Gij*lch s cabcmrngutinluts 3cpdng.Theonhnxttrntakhng
cnthchinccbcmrngkvik>j*trongphahinti.
Nhnxt2:Mtkhilntlthlunlunlntl.
CHNG MINH: R rng trong 3 lut m rng khng c lut no cho php thm mt nt l mi bn
di mt nt l c nhn . Do khi mt nt l c to ra th n s lun lun l nt l cho n khi
pha cui cng ca thut ton kt thc.
Gi ji l bc m rng cui cng trong pha i m lut m rng 1 hoc 2 c p dng. Xt xu
S[1..i-1], lut m rng 1 p dng cho nt l c nhn S[1..i-1] m rng n thnh S[1..i], lut m rng 2
to ra mt nt l c nhn S[1..i] do vi mi k ji, nt c nhn S[1..k] l nt l. Trong pha i+1 tip
theo, cc bc m rng 1..ji u p dng lut 1 nn ji ji+1.
Nhn xt trn gi cch ci t hiu qu thut ton: thay v cp nht nhn ca cc nt l mt cch
tng minh, ta gn nhn cho cc nt l (lu rng trong ci t nhn ca nt l l mt cp s nguyn)
l (p, m). Trong p l v tr bt u ca xu con v m l di xu S, thay th cho v tr cui xu ang
xt. Nh vy trong pha i+1 ta khng cn thc hin ji bc m rng tng minh u tin.
nh l: S dng lin kt hu t v cc nhn xt trn, gii thut Ukkonen c th dng cy hu t
ngm nh trong thi gian O(m).
CHNG MINH: Trong mi pha i ca thut ton, ta ch cn thc hin cc bc m rng tng minh t
ji-1 n j*. Do bc m rng cui cng lut 1 hoc 2 c p dng chnh l mt bc trc khi lut 3
ln u tin c p dng nn ta c j i = j*-1. Nh vy s bc m rng c thc hin c th tnh theo
cng thc:
. Vy thi gian thc hin ca thut ton l
O(m).
Hnh 9: Hnh nh qu trnh thc hin ca thut ton. Mi dng l mt giai on trong thut ton, mi
s l mt bc m rng tng minh c thc hin.
2.3.6.
Dng cy hu t thc s
Khi nim
Trong cc phn trn ta tng bc xy dng cy hu t cho mt chui. gii quyt bi ton
xu con chung ln nht ca hai hay nhiu chui ta cn m rng khi nim cy hu t cha nhiu
chui hn trong mt cu trc d liu chung.
nh ngha: Cho tp cc chui {S1, S2,... SK}, cy hu t tng qut cho tp cc chui ny l cy
sao cho:
3.2.
Hnh 11: Cy hu t tng qut cho hai xu xabxa v abxbx cng vi cc lin kt hu t trong b nh
(cc ch s bt u t 0)
Nhn ca nt l l khng cn thit v xu cha n c xc nh qua cnh duy nht ni vi n.
3.3.
p dng gii thut Ukkonen gii thiu trong chng trc ta d dng dng c cy hu t tng
qut trong thi gian O(N) vi N l tng di cc xu.
u tin ta dng cy hu t thng thng cho xu S1. Vi cc xu S2, S3,... SK trc tin ta tm tin
t di nht Sk[1..i] tn ti trong cy. Ta thc hin cc giai on i+1, i+2,... m k ca thut ton
Ukkonen m rng cy hu t tng qut ph ton b xu.
i su vo chi tit, vic tm tin t di nht c trong cy ng ngha vi vic tm ng i di
nht trong cy c nhn Sk[1..i] bng cch qut tng k t trn ng i t gc. C hai trng hp xy
ra:
1. ng i kt thc nt v (c th l nt gc): thm nt con mi ni vi v bng cnh c nhn
l Sk[i+1].
2. ng i kt thc gia mt cnh: chia i cnh ti im ng i kt thc v to ra nt mi
v. To nt con ca v ni vi n bng cnh Sk[i+1].
Sau khi thc hin xong bc trn bc m rng u tin ca giai on i+1 hon thnh, ta c th
i theo nt cha ca v, theo lin kt hu t v.v... thc hin cc bc m rng tip theo. Lu rng
trong trng hp th 2 ta cng cn m bo lin kt hu t ca v s c thit lp trong bc m rng
tip theo.
Khi nim
Z = bc l xu con chung.
4.2.
4.3.
l(k)
xu con
sand
and
and
an
Tn ti thut gii cho bi ton tm tt c cc gi tr l(k) cng vi cc xu con tng ng trong thi
gian tuyn tnh O(N) [7]. Tht ng ngc nhin l mt lng ln thng tin nh vy li c th c trch
ra trong thi gian ch t l thun vi thi gian c xu. Tuy nhin y l mt gii thut phc tp, ti liu
ny ch xin trnh by gii thut c phc tp thi gian O(KN).
nh ngha: Vi mi nt trong v ca cy T, gi C(v) l s ch s xu phn bit xut hin trong cc
nt l ca cy con ti nt v.
Khi s C(v) cho mi nt trong bit, ta d dng tnh c l(k) vi mi k = 2, 3,..., K cng vi v
tr ca cc xu con trong thi gian tuyn tnh bng cch duyt cy. Trong qu trnh duyt ta xy dng
mng V(k) cha su ng i (v xu con) ca nt su nht c C(v) = k. Mng V sau khi xy dng
xong cha xu di nht trong nhng xu con xut hin ng k ln trong tp xu cho, do V(k)
l(k).tml(k)taduytmngVngctcuilnuvghiligitrV(k)lnnhtgphayni
cchkhc,nuV(k)lrnghocV(k)<V(k+1)thtV(k)=V(k+1).Ktqulmngl(k)cntnh.
4.3.1. TnhsC(v)
Cchnginnht tnhC(v)lbanutC(v)=0chominttrongsauthchinKln
duyttonbcy,tronglnthktatmttcccnttrongvmcyconticchantlc
chsxulkvtnggitrC(v)lnmtnv.
MilnduytcnthigianO(N)dosntcacytngtuyntnhviNnntngcngKln
duyttamtkhongthigianO(KN),ycnglphctpthigiancatonbthuttontmcc
xuconchungdinhtcaKxu.
Kt qu th nghim
Hnh 12 cho thy thi gian dng cy hu t ph thuc tuyn tnh vo di xu.
Hnh 12: th thi gian dng cy hu t ph thuc vo kch thc xu. Kch thc tnh theo n v
4Kb, thi gian tnh theo giy.
Hnh 13 cho thy thi gian gii bi ton k-xu con chung ln lt vi 2, 3, 4, 5 xu c di bng
nhau. th th hin rt r s ph thuc tuyn tnh ca thut ton vo tch ca s xu v di xu.
Chng trnh th nghim c ci t bng ngn ng C, chy trn my Intel Core Duo vi 1Gb
b nh trong.
Hnh 13: Thi gian di bi ton k-xu con chung theo di xu. Cc xu c sinh ngu nhin c
di bng nhau (tnh theo Kb).
5.2.
Chng trnh cs-suffix-tree s dng b giao din a nn GTK+ v phn mm GraphViz trc
quan ho cy hu t. Chng trnh c th chy trn h iu hnh *nix v Windows.
Mt bn GTK c pht hnh km vi chng trnh, chy chng trnh bng bn ny hy dng
tp cs-suffix-tree.bat. Nu ci GTK trong my v th mc bin c trong bin mi trng PATH ca
Windows, ngi s dng c th chy trc tip tp cs-suffix-tree.exe.
B ci t GraphViz i km vi chng trnh v cn c hon thnh trc khi chy chng
trnh. Sau khi ci t xong GraphViz ngi dng cng nn thm th mc bin (chng hn C:\Program
Files\Graphviz2.26.3\bin) vo bin mi trng PATH ca Windows tin li khi s dng.
5.3.
5.3.1.
Trc quan ho cy hu t
Kch hot chng trnh bng cch chy tp cs-suffix-tree.bat hoc cs-suffix-tree.exe khng c
tham s.
Mn hnh chng trnh gm hai phn:
5.3.2.
Trong :
5.3.3.
Sinh xu ln
Trong :
fileCount l s tp cn sinh
Chng trnh chn ngu nhin mt danh sch t c sn (ting Vit) to xu. di xu khng
c nh m chn ngu nhin trong khong fileSize/2 n fileSize.
5.4.
bin dch m ngun trn Windows ngoi Eclipse + CDT cn cn thit lp mi trng lp trnh
gm c (cc tp ci t c t trong th mc dev ca gi sn phm):
GTK
(http://www.gtk.org/download-windows.html
hoc
20101016_win32.zip): th vin giao din, gii nn vo th mc C:\GTK.
gtk+-bundle_2.22.0-
Giao din chng trnh c thit k bng chng trnh Glade v cha trong tp ui.glade. xem
tp ny cn ci t Glade 3 (http://ftp.gnome.org/pub/GNOME/binaries/win32/glade3/3.6/ hoc tp
glade3-3.6.7-with-GTK+.exe trong th mc dev).
Sau khi ci t cc gi phn mm trn, cn thit lp mi trng Eclipse c th tm c cc tp
thc thi cng nh cc tp header ca th vin. Tt nht l nn thm ng dn n th mc bin ca
MinGW, bin ca MSYS (nm trong MinGW), bin ca GTK vo bin mi trng PATH ca Windows.
Mt s hnh nh v cch cu hnh d n trong Eclipse nh sau (phi chut vo tn d n, chn
Properties...):
5.5.
Ph lc B. Danh mc hnh
Hnh 1: Cy hu t ca chui xabxac.........................................................................................................5
Hnh 2: Cy bn tri l mt phn ca cy hu t cho chui S=abcdefabcuvw vi nhn ca cnh c
vit tng minh. Cy bn phi biu din nhn s dng hai ch s. Lu rng cnh c nhn 2,3 cng c
th c gn nhn 8,9................................................................................................................................5
Hnh 3: Cy hu t cho chui xabxa$........................................................................................................6
Hnh 4: Cy hu t ngm nh cho xu xabxa...........................................................................................7
Hnh 5: Cy hu t ngm nh cho xu axabx trc khi k t th 6, b, c thm...................................8
Hnh 6: Cy hu t ngm nh sau khi thm k t b..................................................................................8
Hnh 7: Bc m rng j>1 trong pha i. i ln ti a l mt cnh t cui ng i S[j-1..i] n nt v sau
theo lin kt hu t n s(v), i xung theo ng i c nhn ri p dng lut b sung ph hp
thm hu t S[j..i+1]................................................................................................................................10
Hnh 8: Vi mi nt v trn ng i x, c mt nt s(v) trn ng i . Tuy nhin, su nt ca v
c th ln hn, bng hoc nh hn su nt ca s(v) mt n v. V d, nt c nhn xab c su
hai, nt c nhn ab c su mt; nt c nhn xabcdefg c su bn, nt c nhn abcdefg c su
nm...........................................................................................................................................................11
Hnh 9: Hnh nh qu trnh thc hin ca thut ton. Mi dng l mt giai on trong thut ton, mi
s l mt bc m rng tng minh c thc hin...............................................................................13
Hnh 10: Cy hu t cng vi cc lin kt hu t cho hai chui xabxa v abxbx....................................14
Hnh 11: Cy hu t tng qut cho hai xu xabxa v abxbx cng vi cc lin kt hu t trong b nh
(cc ch s bt u t 0)...........................................................................................................................15
Hnh 12: th thi gian dng cy hu t ph thuc vo kch thc xu. Kch thc tnh theo n v
4Kb, thi gian tnh theo giy....................................................................................................................18
Hnh 13: Thi gian di bi ton k-xu con chung theo di xu. Cc xu c sinh ngu nhin c
di bng nhau (tnh theo Kb)....................................................................................................................19
Hnh 14: Cu hnh Linker: thm c mms-bitfields..................................................................................23
Hnh 15: Cu hnh assembler: thm c mms-bitfields.............................................................................24
Hnh 16: Cu hnh compiler: thm c mms-bitfields...............................................................................25
Hnh 17: Thm ng dn n cc tp header.........................................................................................26
Hnh 18: Thm th vin cho linker..........................................................................................................27
Ph lc C. Danh mc thut ng
cy hu t...................................................................................................................................................4
cy hu t ngm nh.................................................................................................................................6
cy hu t tng qut.................................................................................................................................14
dy con.....................................................................................................................................................16
lin kt hu t.............................................................................................................................................9
lut m rng...............................................................................................................................................7
nhn............................................................................................................................................................4
nhn ng i.............................................................................................................................................4
xu con.....................................................................................................................................................16
xu con chung..........................................................................................................................................16
su chui...............................................................................................................................................4
su nt...................................................................................................................................................4