H c vi n Cơng ngh Bưu chính Vi n thơng
ð Trung Tu n
Cơ s d li u đa phương ti n
Hà N$i, 2010
1
M cl c
M c l c........................................................................................................................... 2
Gi i thi u........................................................................................................................ 5
Chương I. T ng quan v cơ s d li u ña phương ti n..................................................... 6
1.1 M ñ$u ......................................................................................................... 6
1.2 Khái ni m d li u ña phương ti n ................................................................. 6
1.1.1. Ki(u d li u và ña phương ti n .............................................................. 6
1.1.2. Cơ s d li u và h qu*n tr, cơ s d li u .............................................. 7
1.1.3. Tìm ki1m thông tin tư li u văn b*n ........................................................ 7
1.1.4. Tìm ki1m và ch6 s7 hóa đa phương ti n.................................................. 7
1.1.5. Trích đ:c trưng, th( hi n n1.3. ð:c trưng c?a các đ7i tư@ng ña phương ti n ............................................... 8
1.3.1. SB gia tăng d li u đa phương ti n và các tính chCt c?a chúng............... 8
1.3.2. H qu*n tr, cơ s d li u và vai trị qu*n lí d li u đa phương ti n......... 9
1.3.3. H th7ng tìm ki1m thơng tin ñ7i v i d li u ña phương ti n ................ 11
1.3.4. Ti1p cHn tích h@p đ( tìm ki1m và ch6 s7 hóa đa phương ti n ................ 11
1.3.5. T ng quan v h th7ng tìm ki1m và ch6 s7 hóa đa phương ti n ............ 12
1.4. CCu trúc lưu tr cơ s d li u ña phương ti n............................................. 12
1.4.1. Gi i thi u ............................................................................................ 13
1.4.2. Cây kKD............................................................................................... 13
1.4.3. Cây tM phân ......................................................................................... 18
1.4.4. Cây tM phân MX.................................................................................. 21
1.4.5. Cây R .................................................................................................. 24
1.4.6. So sánh các cCu trúc d li u đa phương ti n......................................... 26
1.5. Ngơn ng thao tác d li u ña phương ti n.................................................. 27
1.5.1. Giao di n ngưRi dùng .......................................................................... 27
1.5.2. Kh* năng c?a h th7ng tìm ki1m và ch6 s7 hóa và Mng d ng ................ 27
1.6. K1t luHn ..................................................................................................... 28
Chương 2. Tư li u ña phương ti n tương tác.................................................................. 29
2.1 Cơ s d li u ña phương ti n tương tác....................................................... 29
2.1.1. Gi i thi u ............................................................................................ 29
2.1.2. Ki1n trúc c?a MIRS............................................................................. 29
2.1.3. Các mơ hình d li u ............................................................................ 31
2.1.4. Thi1t k1 giao di n ngưRi dùng ............................................................. 35
2.2. Mô hình hố tư li u đa phương ti n tương tác IMD.................................... 37
2.2.1. Mơ hình hố tương tác v i các sB ki n ................................................ 38
2.2.2. T h@p không gian, thRi gian và các nhân t7........................................ 40
2.2.3. D li u văn b*n ................................................................................... 42
2.2.4. ðU hVa vecto và hình đ
2.2.5. Âm thanh............................................................................................. 50
2.2.6. Hình *nh s7 ......................................................................................... 57
2.2.7. Video s7 .............................................................................................. 64
2.3. Phân lo[i.................................................................................................... 69
2
2.3.1. M
2.3.2. Các đ:c tính và u c$u c?a d li u và Mng d ng ña phương ti n......... 71
2.4 Mơ hình k,ch b*n ....................................................................................... 74
2.4.1. K,ch b*n trong IMD ............................................................................ 74
2.4.2. K,ch b*n ña phương ti n...................................................................... 75
2.5. Tìm ki1m tư li u đa phương ti n tương tác................................................. 77
2.5.1. Tìm tư li u đa phương ti n tương tác dBa trên cCu trúc không gian, thRi
gian...................................................................................................................... 78
2.6. K1t luHn ..................................................................................................... 81
Chương 3. Thành tBu và xu hư ng ................................................................................ 82
3.1 Các thành tBu chính c?a công ngh h qu*n tr, cơ s d li u đa phương ti n
................................................................................................................................ 82
3.1.1. Mơ hình hố ........................................................................................ 82
3.1.2. Tồn v_n.............................................................................................. 82
3.1.3. Tìm theo n
3.2 Các s*n ph\m thương m[i và m`u nghiên cMu............................................ 86
3.2.1. M
3.2.2. Qu*n lý ña phương ti n ....................................................................... 86
3.2.3. Các vai trò trong dB án ña phương ti n ................................................ 89
3.3. Hư ng phát tri(n c?a cơ s d li u ña phương ti n..................................... 90
3.3.1. M
3.3.2. An tồn d li u đa phương ti n............................................................ 91
3.3.3. Yêu c$u v t chMc d li u ña phương ti n .......................................... 93
3.4. K1t luHn ..................................................................................................... 95
Chương 4. Qu*n tr, d li u ña phương ti n.................................................................... 96
4.1. Khái ni m v qu*n tr, cơ s d li u ña phương ti n.................................... 96
4.1.1. D[ng d li u đa phương ti n................................................................ 96
4.1.2. Ngơn ng hei d li u ña phương ti n................................................... 97
4.1.3. VCn ñ khác......................................................................................... 98
4.2. Ki1n trúc h qu*n tr, cơ s d li u ña phương ti n ..................................... 98
4.2.1. Các ki1n trúc v t chMc n
4.2.2. Nguyên tfc tB qu*n.............................................................................. 98
4.2.3. Nguyên tfc ñUng ñ u ........................................................................... 98
4.2.4. Nguyên tfc t chMc hgn h@p ................................................................ 99
4.2.5. M
4.2.6. T chMc cơ s d li u dBa trên nguyên tfc th7ng nhCt........................ 100
4.3. Các ki thuHt mô hình hóa d li u............................................................ 100
4.3.1. Mơ hình quan h ................................................................................ 100
4.3.2. Cơ s d li u hư ng ñ7i tư@ng .......................................................... 101
4.3.3. Cơ s d li u ña phương ti n............................................................. 107
4.4 Các kĩ thuHt ch6 s7 hoá và trku tư@ng hoá.................................................. 108
4.4.1. Gi i thi u .......................................................................................... 108
4.4.2. Ch6 s7 hố cơ s d li u đa phương ti n ............................................ 109
4.4.3. Các ch6 s7 hi(n hi n........................................................................... 109
4.4.4. Trku tư@ng hoá video ........................................................................ 110
4.4.5. ðU th, chuy(n c*nh............................................................................ 112
3
4.5. Tìm thơng tin đa phương ti n dBa trên n
4.5.1. Gi i thi u v tìm thơng tin đa phương ti n......................................... 112
4.5.2. LVc thơng tin ..................................................................................... 113
4.5.3. Hei d li u ña phương ti n ................................................................ 113
4.5.4. Tìm theo n
4.6. Thí d v cơ s d li u đa phương ti n..................................................... 114
4.6.1. M
4.6.2. Tìm các đ7i tư@ng dBa trên hình d[ng................................................ 117
4.6.3. Th( hi n hình d[ng ............................................................................ 118
4.6.4. Vi c kh p các hình ............................................................................ 118
4.6.5. Các liên k1t video đa phương ti n...................................................... 118
4.7. Các Mng d ng c?a ña phương ti n ............................................................ 119
4.7.1. Các hình *nh thơ................................................................................ 120
4.7.2. Th( hi n *nh đã nén........................................................................... 122
4.7.3. Xm lí *nh thơng qua vi c phân đo[n *nh ............................................ 124
4.7.4. Tìm ki1m dBa trên sB tương tB........................................................... 126
4.7.5. T ng quát v cơ s d li u *nh .......................................................... 129
4.7.6. Th( hi n cơ s d li u *nh nhR mơ hình quan h ............................... 129
4.7.7. Th( hi n cơ s d li u *nh trên cây R ................................................ 132
4.7.8. K1t luHn v cơ s d li u *nh............................................................. 134
4.8. NhHn xét v d li u ña phương ti n.......................................................... 134
4.8.1. ð*m b*o QoS trong h th7ng truy n thông, t[i máy ch? và máy khách
.......................................................................................................................... 134
4.8.2. M
4.9. K1t luHn ................................................................................................... 137
Hư ng d`n sm d ng tài li u theo chương trình khung................................................... 138
Tài li u tham kh*o ...................................................................................................... 142
4
Gi i thi u
Trong nhi u năm, nghiên cMu và phát tri(n ña phương ti n là c$n thi1t trong Mng
d ng truy n thơng và đ( th( hi n thơng tin đa phương ti n. Ngày càng nhi u d li u s7
ña phương ti n ñư@c th( hi n dư i d[ng hình *nh, video, âm thanh… địi hei các kĩ
thuHt lưu tr , tìm ki1m hi u qu* và m[nh. NgưRi ta có th( so sánh yêu c$u này v i yêu
c$u th( hi n d li u kí tB dư i d[ng tính tốn đư@c nh ng năm 70 c?a th1 k6 XX.
Do vHy phát tri(n v qu*n tr, d li u ña phương ti n là bình thưRng đ7i v i các t
chMc. Trư c h1t do nhu c$u thBc t1, ti1p theo là công ngh hi n t[i khơng đ? kh* năng
gi*i quy1t vCn ñ ñ7i v i d li u ña phương ti n. M
s7 hóa và tìm ki1m d li u đa phương ti n.
NgưRi ta thCy c$n bi1t công ngh hi n t[i c?a qu*n lí d li u đa phương ti n. ð$u
tiên là các đ:c tính c?a d li u ña phương ti n và các khía c[nh v thi1t k1 cho phép h
th7ng cơ s d li u ña phương ti n ñáp Mng các yêu c$u v d li u. ð7i v i tkng lo[i d
li u ña phương ti n, như văn b*n, hình *nh, âm thanh và video, c$n có kĩ thuHt ch6 s7
hóa riêng, Mng v i đ:c tính chính c?a d li u thơ. Cơng c tìm ki1m d li u đa phương
ti n c$n l< ñư@c câu hei ngưRi dùng, dBa trên mMc ñ< tương tB c?a m`u và d li u ñã
lưu tr . Vi c tìm ki1m và ch6 s7 hóa theo n
và khó khăn, do các khía c[nh rút tk d li u thơ thưRng đư@c th( hi n qua vecto nhi u
chi u, địi hei nhi u thRi gian xm lí.
Các kĩ thuHt và các cCu trúc d li u có vai trị liên quan đ1n hi u qu* tìm ki1m d
li u. Cơ s d li u ña phương ti n v i truy cHp tk xa, qua m[ng máy tính, theo mơ hình
khách/ ch?… sq ph*i xm lí các tình hu7ng liên quan đ1n truy n d li u, mã hóa d li u.
VHy ki1n trúc máy tính, vi c lưu tr đa phương ti n, h th7ng ñi u hành, h[ t$ng m[ng
c$n ñư@c quan tâm.
Trong h qu*n tr, cơ s d li u truy n th7ng, hi u năng liên quan đ1n tính hi u qu*,
theo thRi gian tr* lRi câu hei. Trong h th7ng ña phương ti n, hi u qu* cũng quan trVng,
nhưng hi u qu* đ7i v i tìm ki1m, đ7i v i đ7i tư@ng đã có và phát hi n ñ7i tư@ng ti m
\n, là có ý nghĩa. NgưRi ta ñ cHp ñi u này do vi c tìm ki1m ñó theo so sánh tương tB,
và các d li u cũng không cho phép so sánh kh p. Do vHy ñ< ño hi u qu* là c$n thi1t
ñ7i v i h qu*n tr, cơ s d li u ña phương ti n. M
li u, chu\n… cũng ñáng ñư@c quan tâm.
5
Chương I. T ng quan v cơ s
d
li u ña phương ti n
1.1 M ñ u
Các nghiên cMu và phát tri(n v ña phương ti n nhsm vào truy n thơng và th( hi n
d li u đa phương ti n, xác ñ,nh quy n tác gi*. H qu*n tr, cơ s d li u ña phương ti n
gi vai trò như h qu*n tr, truy n th7ng, khác là d li u phMc t[p và ña d[ng. ð( ñ*m
b*o tính hi u qu* truy cHp và tìm ki1m, h qu*n tr, c$n có kĩ thuHt tìm ki1m và ch6 s7
hóa khác.
VHy vi c ch6 s7 hóa và tìm ki1m ña phương ti n là m c ñích chính, trư c khi xem
xét các chMc năng c?a h qu*n tr,. Ph$n ñ$u sq th( hi n h th7ng ch6 s7 hóa và tìm ki1m
MIRS1 và m
Hình. M"t s# logo đa phương ti n
1.2 Khái ni m d li u ña phương ti n
C$n thi1t xác ñ,nh tk ñ$u m
liên quan ñ1n h th7ng ña phương ti n.
1.1.1. Ki u d li u và ña phương ti n
ð nh nghĩa: Phương ti n2: phương ti n nh m ñ n các ki u thông tin hay ki u th
hi n thông tin, như d li u s", ch , hình $nh, âm thanh, video.
Có nhi u cách xác đ,nh phương ti n. Phân lo[i thơng thưRng dBa vào d[ng vHt lí và
m7i quan h phương ti n v i thRi gian. t đây xác đ,nh phương ti n khơng đ cHp y1u t7
thRi gian. ThRi gian cho phép xác ñ,nh phương ti n tĩnh v i phương ti n ñ
gian liên t c.
ð nh nghĩa: Phương ti n tĩnh3: phương ti n khơng có chi,u th-i gian, và n/i dung
và ý nghĩa c1a chúng không ph3 thu/c vào th-i gian th hi n.
Các phương ti n tĩnh gUm d li u s7, ch , đ< hVa, hình tĩnh. Hình tĩnh ñư@c xem
là s*n ph\m ñư@c vq, quét hay ch p bsng máy ch p *nh.
1
2
3
multimedia indexing and retrieval systems
media
static media
6
ð nh nghĩa: Phương ti n ñ/ng1: phương ti n có các chi,u th-i gian, v5i ý nghĩa
và tính chính xác tùy theo t"c ñ/ th hi n.
Phương ti n ñ
kho*ng đơn v, bên trong hay t7c ñ<. Chung h[n video có 25 khung trong m
th( hi n l[i c$n theo cách t chMc trư c đó. Do các phương ti n này th( hi n l[i liên t c
theo t7c ñ< c7 ñ,nh, chúng ñư@c gVi là phương ti n liên t c. NgưRi ta cũng gVi chúng là
phương ti n ñung thRi, tMc chi1m thRi gian như nhau, b i quan h c7 ñ,nh gi a các ñơn
v, phương ti n và thRi gian.
ða phương ti n nhsm vào tHp các ki(u phương ti n sm d ng cùng nhau. Nó cũng
ng$m xác đ,nh có ki(u d li u khác s7, ch . Do vHy thuHt ng “ña phương ti n” cũng
nhsm ch6 tính chCt như tính tk.
ð nh nghĩa: D li u ña phương ti n2: d li u hư5ng ñ n th hi n máy ñ:c ñư;c
c1a các ki u phương ti n g/p.
Thơng tin đa phương ti n hư ng t i thơng tin đư@c truy n t*i nhR các ki(u phương
ti n g
NgưRi ta cũng sm d ng thuHt ng ña phương ti n và phương ti n ñ( ch6 thBc th( tB tr,
trong MIRS, cho phép hei, tìm ki1m và th( hi n. ThuHt ng “đ7i tư@ng” khơng hồn
tồn chính xác như trong ti1p cHn hư ng ñ7i tư@ng.
1.1.2. Cơ s d li u và h qu n tr cơ s d li u
Trong tài li u v cơ s d li u, h th7ng cơ s d li u ñã phân bi t h qu*n tr, cơ s
d li u DBMS v i cơ s d li u DB3. Gi a nh ng vCn ñ v đa phương ti n này, đơi
khi l`n l
ð nh nghĩa: H qu$n tr cơ s? d li u4: phAn m,m cho phép mô t$, lưu tr và xC
lí các d li u m/t cách khoa h:c.
1.1.3. Tìm ki%m thơng tin tư li u văn b n
H th7ng tìm ki1m thơng tin tB đ
tài li u khoa hVc tk 1940. ChMc năng chính c?a h th7ng là lưu và qu*n lí s7 l n các tư
li u văn b*n theo cách tìm ki1m nhanh tư li u hi n ra cho câu hei ngưRi dùng.
ð nh nghĩa: H th"ng tìm thơng tin tD đ/ng (IR): h th"ng là lưu và qu$n lí s" l5n
các tư li u văn b$n theo cách tìm ki m nhanh tư li u hi n ra ñ"i v5i câu hKi ngư-i
dùng.
1.1.4. Tìm ki%m và ch* s+ hóa đa phương ti n
Vi c tìm ki1m trong DBMS dBa trên cCu trúc d li u cho phép so sánh kh p. IR
đư@c xem là h th7ng tìm ki1m theo văn b*n. Vi c tìm ki1m theo n
trưng phương ti n thBc t[i như màu sfc, hình dáng, thay vì ghi chú, diyn gi*i văn b*n
c?a phương ti n.
1
2
3
4
5
dynamic media
multimedia data
DBMS Database Management Systems, DB Database
DBMS
information retrieval
7
ð nh nghĩa: Tìm ki m theo theo n/i dung1: tìm ki m dDa trên đNc trưng thDc tOi
như màu sPc, hình dáng… c1a phương ti n.
Tìm ki1m theo n
câu hei và tHp các m c tin c?a cơ s d li u. t h th7ng đa phương ti n, MIRS hư ng
đ1n tìm ki1m theo c* (i) DBMS; (ii) IR; (iii) theo n
1.1.5. Trích đ/c trưng, th hi n n1i dung và ch* s+ hóa
ð nh nghĩa: ðNc trưng là đi m nRi bSt, giúp phân bi t cá th ñã cho v5i các cá
th khác mà ta có th đem ra so sánh.
Trong MIRS, trích đ:c trưng hay th( hi n n
dung trong m c tin, là vi c quan trVng. Q trình trích đ:c trưng có th( thBc hi n tB
đ
trưng” cũng dùng cho vi c ch6 s7 hóa.
Do vHy, khi sm d ng “ch6 s7”, ngưRi ta nhsm ñ1n cCu trúc d li u hay t chMc các
đ:c trưng đư@c rút ra đ( tìm hi u qu*.
1.3. ð c trưng c a các ñ i tư!ng ña phương ti n
ð cHp nhu c$u v h th7ng ch6 s7 hóa và tìm ki1m đa phương ti n, ngưRi ta thCy
ba vi c sau ñây cho thCy MIRS có ý nghĩa:
1. Ngày càng nhi u d li u ña phương ti n ñư@c thu thHp và lưu tr ;
2. D li u ña phương ti n khác v i d li u truy n th7ng
và ý nghĩa khác;
tính chCt riêng, có u c$u
3. Cho dù các kĩ thuHt IR có th( dùng đ( tìm ki1m đa phương ti n, nhưng m
khơng đ*m b*o tính hi u qu* đ7i v i xm lí d li u ña phương ti n.
ð nh nghĩa: ð"i tư;ng là m/t vSt, khái ni m hay thDc th .
1.3.1. S3 gia tăng d li u ña phương ti n và các tính ch5t c6a chúng
Khơng th( khơng đ7i m:t v i thơng tin đa phương ti n. NgưRi ta khơng th( tránh
h1t các d li u âm thanh và tranh, *nh. Xu hư ng sm d ng d li u ña phương ti n làm
tăng công ngh lưu tr s7. Dy dàng ñáp Mng nhu c$u ña phương ti n nhe, nhưng đ7i v i
u c$u tồn di n, địi hei c* h th7ng t chMc d li u, tìm ki1m nhanh.
Hình. S& d ng khái ni m đa phương ti n: máy bay vư-t ngư.ng âm thanh
NgưRi ta không ch6 ch,u sMc ép v kh7i lư@ng d li u, mà cịn các ki(u d li u đa
1
ContentKbased retrieval
8
d[ng và các tính chCt khác v i d li u s7, ch truy n th7ng. Các tính chCt chính c?a d
li u ña phương ti n ñư@c li t kê:
•
D li u đa phương ti n, đ:c bi t d li u âm thanh, video là nh ng d li u ñư@c nén
v i t6 l cao, kho*ng 1 Gb ch6 chMc đư@c kho*ng 10 phút video;
•
D li u âm thanh và video có chi u thRi gian, địi hei th( hi n theo t7c ñ< c7 ñ,nh ñ(
ñ[t hi u qu* dB đ,nh;
•
Các d li u âm thanh, hình *nh và video s7 đư@c th( hi n theo m
riêng, do vHy khó tB đ
nghĩa c?a chúng;
•
Nhi u Mng d ng đa phương ti n c$n th( hi n ñUng thRi c?a nhi u d[ng phương ti n
theo cách tương Mng v i khơng gian và thRi gian;
•
Ý nghĩa c?a d li u ña phương ti n thưRng mR và ch? quan, không ti n xác đ,nh rõ;
•
D li u đa phương ti n mang nhi u thơng tin, địi hei nhi u tham s7 th( hi n n
dung.
Hình. Hình đ"ng t0o b i các khung
1.3.2. H qu n tr cơ s d li u và vai trị qu n lí d li u ña phương ti n
ð nh nghĩa: H qu$n tr cơ s? d li , DBMS, là phAn m,m cho phép mơ t$, lưu
tr và xC lí d li u m/t cách khoa h:c.
Các DBMS truy n th7ng phù h@p v i d li u có cCu trúc. Mơ hình d li u quan h
là mơ hình thơng d ng tk 1980 đ1n nay. D li u theo mơ hình quan h ñư@c t chMc
trong các b*ng quan h , có thu
nhưng ngơn ng đ[i s7 quan h mà ñ[i di n là SQL ñư@c sm d ng nhi u.
Thí d
create table STUDENT (
stu# integer,
name char (20),
address char (100) );
và câu b sung d li u
insert into STUDENT values (10, "Lew, Tom", "2 Main St.,
Churchill, Australia");
B2ng. D li u thí d
9
Tìm ki1m d li u
select name
from STUDENT
where stu# = 32
Thu
32 bit. ð( tr@ giúp các bi1n ñ< dài thay ñ i, ngưRi ta ñưa ra khái ni m ñ7i tư@ng nh,
phân l n BLOB1.
ð nh nghĩa: BLOB2: BLOB là xâu bit l5n có đ/ dài thay đRi.
Thí d c$n lưu *nh c?a sinh viên
create table STUDENT (
stu# integer,
name char (20),
address char (100)
picture BLOB);
BLOB ch6 là xâu bit, nên DBMS quan h không bi1t n
nó, mà ch6 xem như kh7i d li u.
DBMS hư ng ñ7i tư@ng k1t h@p nhi u khía c[nh c?a qu*n tr, d li u, như lưu tr
và tìm ki1m, v i ti1p cHn hư ng đ7i tư@ng, v i khía c[nh đóng gói, thka k1, xác ñ,nh
ñ7i tư@ng. NgưRi ta cũng tB hei li u t7t khơng n1u k1t h@p mơ hình quan h v i mơ
hình hư ng đ7i tư@ng, trong khi chưa có mơ hình d li u đa phương ti n. Các ñ7i tư@ng
ña phương ti n ñư@c nhHn thMc theo ti1p cHn hư ng ñ7i tư@ng sq phù h@p và dy th( hi n
l[i hơn. H th7ng quan h ñ7i tư@ng cho phép (i) xác ñ,nh ñ7i tư@ng theo nghĩa hư ng
đ7i tư@ng; (ii) sm d ng chMc năng xm lí d li u quan h đã có.
Thí d : xác ñ,nh ki(u d li u hình *nh:
create type IMAGE (
private
size integer,
resolution integer,
content float[],
public
...
);
Và sm d ng nó trong
create table STUDENT (
stu# integer,
name char (20),
1
2
binary large object
binary large object
10
address char (100)
picture IMAGE);
Khác nhau chính gi a BLOB và các ñ7i tư@ng là các ñ7i tư@ng ñư@c xác ñ,nh phù
h@p, v i thu
ni m v BLOB và các ñ7i tư@ng cũng ñánh dCu m
ti n, nhưng BLOB ch6 dùng ñ( lưu tr d li u, trong lúc các đ7i tư@ng c$n nhi u thu
tính đ( th( hi n n
ti n là:
•
Cơng c trích rút n
ñ
•
CCu trúc ch6 s7 đ( qu*n lí các vecto đ:c trưng đa phương ti n;
•
ð< đo tính tương tB, trong tìm ki1m thay cho so sánh kh p;
•
H th7ng lưu tr phân tán ñ7i v i d li u l n và h[ t$ng truy n thơng đ7i v i
u c$u thRi gian thBc;
•
Giao di n ngưRi dùng, thi1t k1 cho ki(u d li u ña phương ti n khác nhau và cho
phép th( hi n đa d[ng.
1.3.3. H th+ng tìm ki%m thơng tin ñ+i v:i d li u ña phương ti n
ð nh nghĩa: Cơng c3 tìm ki m là m/t phAn m,m nh m cho phép ngư-i dùng tìm
ki m và đ:c các thơng tin có trong phAn m,m đó, trên m/t trang Web, hay trên
toàn b/ Internet.
H th7ng IR dùng cho d li u văn b*n. Các kĩ thuHt sm d ng trong IR quan trVng
nhR (i) nhi u tư li u văn b*n trong t chMc; (ii) văn b*n có th( minh hVa cho phương
ti n khác, như âm thanh, hình *nh, video. NgưRi ta có th( sm d ng kĩ thuHt IR ñ7i v i d
li u ña phương ti n. Tuy nhiên chúng có vài h[n ch1:
•
Minh hVa, ghi chú cho phương ti n khác thưRng thBc hi n th? cơng, t7n thRi
gian;
•
Minh hVa bsng văn b*n khơng th( đ? và ch? quan;
•
Các kĩ thuHt IR ch6 cho phép hei theo văn b*n;
•
M
t[p, không dùng văn b*n mà mô t* h1t.
1.3.4. Ti%p c;n tích h
Dù h th7ng tìm ki1m thơng tin IR có ích trong khung c*nh xm lí d li u ña phương
ti n, ñ7i v i d li u có cCu trúc, ngưRi ta c$n kĩ thuHt m i đ( qu*n lí các tính chCt riêng
c?a d li u đa phương ti n.
Ngồi các kĩ thuHt xm lí d li u c?a DBMS truy n th7ng đ7i v i d li u có cCu trúc,
vi c tích h@p thêm các kĩ thuHt cho d li u hình *nh, âm thanh, video sq cho phép h
th7ng tìm ki1m và ch6 s7 hóa đa phương ti n MIRS.
ð nh nghĩa: Ch\ s" là h th"ng dùng đ tìm ki m thông tin nhanh và d] hơn.
11
1.3.5. T=ng quan v> h th+ng tìm ki%m và ch* s+ hóa đa phương ti n
Trong h th7ng MIRS, m c tin trong cơ s d li u ñư@c ti n xm lí đ( rút các đ:c
trưng và n
Các câu hei ngưRi dùng ñư@c trích ñ:c trưng, so sánh tương tB v i ủ:c trng ủó ủ@c
ch6 s7.
Câu hỏi
Xử lí v trích đặc trng
Đặc trng
câu hỏi
các mục tin
Xử lí v chỉ số hóa
các mục tin đợc
chỉ số hóa
So sánh
tơng tự
Tìm các mục tin t−¬ng tù
Hình. Mơ hình tìm ki6m thơng tin t ng qt
Cịn m
các m c tin phương ti n; (iii) ñ< ño tương tB, v i khung nhìn ña d[ng c?a ngưRi dùng;
(iv) đánh giá hi u qu* tìm ki1m.
ð nh nghĩa: Th giác là kh$ năng nhSn và di]n gi$i thơng tin t^ ánh sáng đi vào
mPt. Vi c tri giác này cịn đư;c g:i là th lDc, sD nhìn.
Hình. Giác quan c7a con ngư8i
1.4. C$u trúc lưu tr
cơ s d li u ña phương ti n
Khi ñ cHp v cCu trúc d li u ña phương ti n, m
li u đa phương ti n ln mang khía c[nh (i) khơng gian và (ii) thRi gian. Khơng gian
đ7i v i d li u ña phương ti n thưRng nhi u chi u.
ð nh nghĩa: Cau trúc d li u là cách lưu tr và tR chbc d li u c3 th trong máy
tính đ các d li u đư;c sC d3ng hi u qu$.
NgưRi ta quan tâm vi c nhHn thMc các d li u ña phương ti n, cách hình thMc hố
chúng. Các khái ni m đa phương ti n c$n đư@c áp phương pháp hình thMc đ( có th(
phát tri(n Mng d ng. H$u h1t các d li u n chi u ñ u dùng cách th( hi n phân rã theo
cây thông tin.
12
ð( hình thMc hố, trku tương hố d li u ña phương ti n, ngưRi ta c$n ñ1n các kĩ
thuHt như cây kKchi u, cây tM phân theo ñi(m, cây tM phân, cây R. ðUng thRi cịn ph*i
quan tâm đ1n các phương pháp cài ñ:t các kĩ thuHt này.
ð nh nghĩa: Không gian, th-i gian: Không gian là m? r/ng ba chi,u, khơng gi5i
hOn, trong đó các đ"i tư;ng và các sD ki n x$y ra và có v trí và hư5ng tương ñ"i.
Th-i gian là m/t phAn c1a h th"ng ño, dùng cho các sD ki n tuAn tD, ñ so sánh
th-i lư;ng c1a các sD ki n và kho$ng th-i gian gi a chúng, và đ lư;ng hóa t\ l
thay ñRi chuy n ñ/ng c1a các ñ"i tư;ng.
1.4.1. Gi:i thi u
D[ng t chMc d li u đ,a lí thơng d ng như GIS, th( hi n
đi(m. Mgi đi(m khơng gian đư@c th( hi n qua cCu trúc d li u.
d[ng b*n đU, tMc các
D li u đ,a lí ña d[ng, có th( thCy như ñi(m, ñưRng thung, các ñưRng cong, các
hình, các b*n ñU, các d li u gfn v i b*n đU theo các t$ng đ,a lí khác nhau. Các thơng
tin này thay đ i theo thRi gian...
1.4.2. Cây kBD
Sm d ng cây kKd ñ( lưu tr các ñi(m c?a b*n ñU.
ð nh nghĩa: Cây là cau trúc d li u thông d3ng, th hi n cau trúc d li u phân
cap v5i tSp các nút liên k t nhau. V, tốn h:c, cây là đd th khơng xoay vịng c1a
các nút; mfi nút có các nút con, và thu/c v, m/t nút cha.
1.4.2.1. C u trúc nút
Nút c?a cây kKd có cCu trúc
Ki(u d li u nút = record
INFO: ki(u thông tin;
XVAL: real;
YVA L: real;
LLINK: ↑ ki(u nút;
RLINK: ↑ ki(u nút;
End;
Các m7i n7i RLINK và LLINK cho phép tre t i các nút con ph*i và trái c?a m
nút.
Gi* sm T là tre ñ1n g7c cây kKd. N1u N là nút cây thì ngưRi ta xác ñ,nh thêm mMc1
c?a nút N: MMc (N) = 0 n1u N là g7c cây; mMc (P) + 1 khi N là nút con c?a nút cha P.
ð nh nghĩa: Cây 2gd là cây nh phân tho$ mãn (i) Khi N là nút cây mbc chin thì
nút cây con trái M có M.XVAL < N.XVAL và nút L bên ph$i có L.XVAL ≥
N.XVAL; (ii) Khi N là nút cây mbc lm thì nút cây con trái M có M.YVAL <
N.YVAL và nút L bên ph$i có L.YVAL ≥ N.YVAL.
1
level
13
XVAL = 10, YVAL = 20
N
N tại mức chẵn
L
M
XVAL = 8 < N.XVAL
M tại mức lẻ
M.YVAL = 12
XVAL = 12 >= N.XVAL
L2
M2
YVAL = 8 < M.YVAL
YVAL = 14 >= M.YVAL
Hình. Qui ñ:nh các giá tr: X, Y c7a các nút con
1.4.2.2. B sung và tìm ki m trên cây 2 d
u c$u thêm nút N vào cây đã có. Cây này có tre T, ng$m hi(u con tre tre đ1n nút
T. NgưRi ta thCy có các kh* năng:
1. N1u N ≡ T thì hi(n nhiên đã có nút N trên cây;
2. Ngư@c l[i, ngưRi ta sang trái n1u N.XVAL < T.XVAL, do nút T là nút ch‘n (0);
và sang ph*i n1u N.XVAL khơng nhe hơn;
3. T[i nút vka đ1n P, n1u P ≡ N thì đã xong, ngư@c l[i do P là nút l’, nên căn cM
vào giá tr, YVAL ñ( quy1t ñ,nh sang trái hay ph*i. N1u N.YVAl < p.YVAL.
ngưRi ta sang trái; ngư@c l[i sang ph*i.
4. Ti1p t c tk bư c 2, cho ñ1n khi dkng hay ñ1n nút là thì b sung nút N.
Vi c tìm ki1m nút N v i giá tr, XVAL và YVAL đư@c thBc hi n như dị tìm đ( b
sung nút m i.
Thí d :
NgưRi ta có b*n đU v i các đi(m Hà n
38), Hà đơng (54, 40), và Hồ bình (4, 4). N1u xuCt phát tk Hà n
đư@c cây thơng tin.
DBa trên cây 2Kd đã có, ngưRi ta có th( ti1n hành (i) tìm ki1m; (ii) b sung nỳt m i
theo cỏch trờn.
H nội
(19, 45)
Ho bình
Hải phòng
(4, 4)
(40, 50)
H tây
(38, 38)
H đông
(54, 40)
Hỡnh. Cỏc nỳt trờn cây 2Bd
1.4.2.3. Xố nút trên cây 2 d
VCn đ đ:t ra là: gi* sm cây c$n xố nút có tre T; nút c$n xố có to[ đ< (x, y).
14
1. Bư c đ$u tiên c$n tìm ra nút (x, y), tho* mãn N.XVAL = x và N.YVAl = y. Bư c
này khung đ,nh có nút N c$n xố, đư@c thBc hi n theo cách ñã nêu trong m c trư c;
2. N1u nút N là nút lá, ngưRi ta hu“ nút N bsng cách thay ñ i con tre c?a các nút cha
tre ñ1n nút con N. Các tre c?a nút cha sq là NIL;
3. N1u N là nút trung gian, cơng vi c phMc t[p hơn.
P
R
N
N
R
P
Hình. ChCn nút R thay th6 N
i.
Khi N.LLINK ≠ NIL, tMc N có cây con trái Tl, và N.RLINK ≠ NIL, tMc có
cây con ph*i Tr: c$n tìm nút R trong Tl hay Tr đ( thay th1 N, và R b, xố khei
cây cây {Tl, Tr}. Do vHy ngưRi ta thBc hi n ba bư c nhe sau:
•
•
ii.
Bư c 1. Tìm nút R ñ( thay th1 {Tl, Tr};
Bư c 2. Thay trưRng n7i LLINK, RLINK khơng rgng c?a N vào các
trưRng nói c?a R;
• Bư c 3. Xố R ra khei {Tl, Tr};
• Q trình này sq k1t thúc do có Ti ∈ {Tl, Tr} v i mMc cao hơn;
VCn ñ ñ:t ra là bư c thM nhCt tìm R thay th1 {Tl, Tr} c$n có quan h khơng
gian đ7i v i tCt c* các nút P trong {Tl, Tr}, mà N sinh ra, cho đ1n nút P này.
•
•
•
N1u P thu
N1u P là tây bfc c?a N thì P là tây bfc c?a R;
ði u này có nghĩa R thay th có tính chCt
a. Mgi M trong Tl:M.XVAL < R.XVAL n1u N mMc ch‘n; M.YVAL <
R.YVAL n1u N mMc l’;
N ®ang ở mức chẵn
N
R
Cây con trái Tl
M
Hỡnh. V: trớ nỳt thay th6 R khi N t0i mGc chHn
b.
iii.
Mgi M trong Tr tho* mãn: M.XVAL ≥ R.XVAL n1u N mMc ch‘n;
ngư@c l[i khi N mMc l’.
Khi Tr ≠ NIL, xét trưRng h@p mMc ch‘n l’ c?a N:
15
•
iv.
v.
vi.
N1u N mMc ch‘n thì bCt kì nút nào trong Tr có giá tr, XVAL nhe nhCt là
nút R thay th1. Chung h[n nút Hà n
• N1u N mMc l’, nút thay th1 trong Tr có YVAL bé nhCt.
Nhìn chung ngưRi ta thBc hi n “tìm nút thay th1 trong cây con trái ch6 v i
m
• N1u N mMc ch‘n, nút phù h@p trong Tl là nút có XVAL l n nhCt;
• N1u N mMc l’, ngưRi ta chVn nút có YVAL đ[t cBc đ[i;
VCn đ đ:t ra khi trong Tl có nhi u nút đ[t giá tr, cBc đ[i, t[i XVAL hay
YVAL, thì đi u (2) trong ñ,nh nghĩa cây 2Kd sq b, vi ph[m khi áp d ng ba
bư c thBc hi n trên. Do vHy khi c$n xố nút N trung gian, nên tìm nút thay
th1 R trên cây con ph*i, b i vì vi c tác ñ
b n v ng cCu trúc cây;
Khi cây con ph*i Tr = NIL, ngưRi ta chVn R thay th1 trong Tl v i giá tr, x
nhe nhCt trong Tl khi N là nút t[i mMc ch‘n, hay chVn R thay th1 có y nhe
nhCt khi N mMc l’; và trong ba bư c thBc hi n nhe trên, thay
Bư c 2. Thay tCt c* trưRng không rgng c?a N bsng các trưRng c?a R. ð:t
N.RLINK = N.LLINK, N.LLINK = NIL;
N
N
NIL
NIL
Hình. CIu trúc nút
1.4.2.4. Câu h#i v$ ph&m vi trong c u trúc cây 2 d
VCn đ là tìm các nút (x, y) trong ph[m vi bán kính r tk (x0, y0). Sq có vịng trịn
bán kính r v i tâm là đi(m (x0, y0).
(x, y)
(19, 45)
Hình. Mi n cJn tìm khi có nút (19, 45)
Liên quan đ1n câu hei này, ngưRi ta thCy mgi nút N có mi n RN v i bán kinh r.
Vòng tròn t[o ra tk (x0, y0) khơng giao v i vịng trịn RN thì khơng xét cây con c?a N.
Khái ni m v mi n liên quan đ1n m
1. Xét nút Hà n
2. Nút H*i phòng cho bi1t mi n H*i phòng = {(x, y) | x ≥ 19};
16
3. Nút Hà tây cho bi1t mi n H*i tây = {(x, y) | x ≥ 19, y < 50};
4. Nút Hà đơng cho bi1t mi n Hà đơng = {(x, y) | x ≥ 38, y < 50};
5. Nút Hồ bình cho bi1t mi n Hồ bình = {(x, y) | x < 19}.
Trơc Y
(19, 45)
Trơc X
Hình. Xác đ:nh các biên
Nhìn chung mgi nút N có nhi u nhCt 4 ràng bu
vùng:
1. Xác ñ,nh biên dư i v X, XLB1, có d[ng x ≥ c1;
2. Xác đ,nh biên trên v X, XUB2, có d[ng x< c2;
3. Xác đ,nh biên dư i v Y, YLB3, có d[ng y ≥ c3;
4. Xác ñ,nh biên trên v Y, YUB4, có d[ng y< c4.
5. Do vHy c$n m r
Ki(u nút m i = record
INFO: ki(u thông tin;
XVAL, YVAL: real;
XLB, XUB, YLB, YUB: real ∪ {K∞, +∞};
LLINK, RLLINK: ↑ ki(u nút m i;
End;
Vi c b sung các nút c$n thBc hi n:
1. G7c cây nhHn XLB: = K∞, YLB: = K∞ và XUB: = +∞, YUB: = +∞;
2. N1u nút N có cha P và P t[i mMc ch‘n, thì các giá tr, ph[m vi c?a N đư@c xác đ,nh
theo P:
•
N.XLB = P.XLB n1u N là con trái c?a P; ngư@c l[i N là con ph*i, N.XLB =
P.XVAL;
• N.XUB = P.XVAL n1u N là con trái c?a P; ngư@c l[i N là con ph*i, N.XLB =
P.XUB;
• N.YLB = P. YLB;
• N.YUB = P. YUB;
3. N1u N có cha là P và mMc P là l’, thì:
•
1
2
3
4
N.YLB = P.YLB n1u N là con trái c?a P; ngư@c l[i N là con ph*i, N.YLB =
XLB lower bound on x
XUB upper bound on x
YLB lower bound on y
YUB upper bound on y
17
P.YVAL;
N.YUB = P.YVAL n1u N là con trái c?a P; ngư@c l[i N là con ph*i, N.YLB =
P.YUB;
N.XLB = P. XLB;
N.XUB = P. XUB;
•
•
•
ð7i v i vi c tìm ki1m vùng trên cây, ngưRi ta có nhHn xét:
•
•
Khi g7c T khơng giao, thì xét cây con trái, cây con ph*i;
V i cây con khơng giao, có th( lo[i be trong quá trình tìm ki1m.
1.4.2.5. Cây k d t ng quát
Cây kKd t ng quát có k ≥ 2. Cây 2Kd ñư@c dùng ñ( th( hi n các nút trong không
gian 2 chi u. Cây kKd v i k ≥ 2 ñư@c dùng cho không gian k chi u, chung h[n các ñi(m
(x, y, z) sm d ng cây 3Kd. ð7i v i cây t ng quát, không th( sm d ng XVAL, YVAL ñ( tre
ñ1n hai cây con, mà dùng vecto VAL k chi u, Mng v i b< các con tre tre ñ1n các cây
con.
ð nh nghĩa: Cây T có cau trúc nút cây kgd n u đ"i v5i nút N trên cây T, thì:
• Nút N có mbc i. Mbc này đư;c tính i = “mbc thDc sD” mod k;
• nút M trên cây con trái c1a N, M.VAL [i] < N. VAL [i];
• nút P trên cây con ph$i c1a N, P. VAL[i] ≥ N.VAL [i].
Các thuHt tốn đã sm d ng cho cây 2Kd đư@c phát tri(n dùng cho cây kKd. Khi k = 1,
ngưRi ta làm vi c v i cây nh, phân quen thu
1.4.3. Cây tD phân
Cây tM phân1, hay cây b7n ph$n, ñư@c dùng đ( th( hi n đi(m khơng gian 2 chi u.
Cây 2Kd cũng có tác d ng như vHy. Tuy nhiên ñi(m khác bi t là cây tM phân chia mi n
thành 4 ph$n, trong khi cây 2Kd cho phép tách mi n ra hai ph$n.
Trôc Y
Trôc Y
(N.XVAL, N.YVAL)
(N.XVAL, N.YVAL)
Trôc X
Khi N tại mức lẻ
Trục X
Khi N tại mức chẵn
Hỡnh. Vai trò c7a tr c ngang và dCc khi chia các mi n
B7n ph$n Mng v i b7n cây con trên cây tM phân ñư@c gVi tên theo hư ng ñ7i v i
nút N: ñông bfc NE, tây bfc NW, tây nam SW, và đơng nam SE2.
Ki(u d li u ñư@c mô t* là:
Ki(u nút tM phân = record
INFO: ki(u thông tin;
XVAL: real;
1
2
point quadtree
north east, north west, south west, south east
18
YVAL: real;
NW, SW, NE, SE: ↑ ki(u nút tM phân;
End;
PhÇn tây bắc
NW
Phần đông bắc
NE
(N.XVAL, N.YVAL)
Phần đông nam
SE
Phần tây nam
SW
Hỡnh. B#n phJn so v i m"t nút
1.4.3.1. Tìm ki m thơng tin và b sung nút trên cây t, phân
Khi có các giá tr, đi(m khơng gian, như trong thí d trư c v i b*n ñU các ñi(m Hà
n
ngưRi ta có th( xây dBng ñư@c cây bsng cách phát tri(n d$n các nút. Chung h[n tk nút
Hà n
n
Nót thø ba
Nót thø hai
N
Cấu trúc một nút trên
cây tứ phân
Nút thứ nhất
Hỡnh. Nguyờn tTc mô t2 nút cây tG phân
Vi c xây dBng cây ñư@c ti1n hành theo:
1. Cây rgng, ngưRi ta xác ñ,nh nút ñ$u là Hà n
2. Chia ra 4 ph$n khụng gian;
(40, 50)
H nội
N
W
S
W
N
E
S
E
(19, 45)
Hải phòng
N
W
S
W
N
E
S
E
Hỡnh. Thêm nút Hà n"i và xác đ:nh đư-c v: trí tương đ#i c7a H2i phịng so v i Hà n"i
3. B sung nút Hà tây. Do ph$n này chưa có nút nào, con tre tk nút Hà n
trBc ti1p ñ1n nút Hà tây;
4. V i nút Hà ñông: do ñã có nút Hà tây t[i SE c?a nút Hà n
thCy chính nút Hà tây cho phép tách khơng gian ra 4 ph$n, và nút Hà đơng là
NE c?a nút Hà tây;
19
5. Vi c b sung nút Hồ bình đơn gi*n.
H nội
N
W
S
W
N
E
S
E
Hải phòng
N
W
S
W
N
E
H tây
S
E
N
W
Ho bình
N
W
S
W
N
E
S
W
N
E
S
E
H đông
S
E
N
W
S
W
N
E
S
E
Hỡnh. Cỏc nỳt cõy tG phõn
Nhỡn chung, trong trưRng h@p xCu nhCt, n nút t[o nên ñ< cao nK1 mMc. Lưu ý rsng
thRi gian tìm ki1m nút, b sung nút đư@c bi(u diyn tuy1n tính theo s7 nút n.
1.4.3.2. Xoá m-t nút trên cây t, phân
Khi nút N c$n xố là nút lá thì cơng vi c ñơn gi*n. Nhưng khi N là nút trung gian,
vi c tìm nút thay th1 rCt phMc t[p, do:
•
Mgi nút gfn v i mi n, vùng c?a b*n đU, có cách xác ñ,nh khác cây 2Kd. Trong
cây 2Kd, ngưRi ta ñã dùng các ràng bu
• Trong cây tM phân, mô t* ki(u d li u là
Ki(u nút tM phân = record
INFO: ki(u thông tin;
XVAL, YVAl: real;
XLB, YLB, XUB, YUB: real ∪ {K∞, +∞}
NW, SW, NE, SE: ↑ ki(u nút tM phân;
End;
Vi c xoá nút c$n lưu ý ñ1n vi c b sung nút. Vi c b sung m
T đư@c thBc hi n:
1. N1u N là g7c cây T, thì N.XLB = K∞, N.YLB = K∞, N.XUB = +∞, N.YUB
= +∞;
2. N1u P là nút cha c?a con n, thì vi c gán giá tr, theo tham chi1u ñ1n b*ng
sau, tuỳ theo v, trí tương đ7i c?a con N đ7i v i P. Trong b*ng ngưRi ta sm
d ng kí hi u ñ< r
hình bao h = YUB – YLB.
TrưRng h@p
N.XLB
N.XUB
N.YLB
N.YUB
N là con tây bfc
P.XLB
P.XLB + w / 2
P.YLB + h / 2
P.YUB
N là con tây nam
P.XLB
P.XLB + w / 2
P.YLB
P.YLB + h / 2
N là con đơng bfc
P.XLB + w / 2
P.XUB
P.YLB + h / 2
P.YUB
N là con đơng nam
P.XLB + w / 2
P.XUB
P.YLB
P.YLB + h / 2
Hình. B2ng tra cGu giá tr: cVn trên/ dư i cho các nút con
Trong quá trình tìm nút R thay th1 N trong s7 các cây con, đ( xố N, ngưRi ta nhHn
20
thCy trưRng h@p xCu nhCt là ph*i t[o l[i m
công sMc t[o l[i các nút con c?a N.
V i cCu trúc d li u cây tM phân MX, ngưRi ta có th( thBc hi n vi c xố m
dàng hơn.
1.4.3.3. Câu h#i v$ ph&m vi trên cây t, phân
Vi c hei d li u trên cây tM phân đư@c thBc hi n qua vi c tìm d li u trên cây, v i
qui trình như đ7i v i cây 2Kd.
Có th( th( hi n vi c hei d li u này qua chương trình gi* lHp như sau:
Proc Mi n (T: ki(u d li u nút tM phân, C: hình trịn);
N1u mi n (T) ∩ C = rgng thì dkng;
Ngư@c l[i:
N1u (T.XVAL, T.YVAL) ∈ C thì in (T.XVAL, T.YVAL);
Ngư@c l[i
Mi n (T, NW, C);
Mi n (T, SE, C);
Mi n (T, NE, C);
Mi n (T, SW, C);
End Proc;
1.4.4. Cây tD phân MX
1.4.4.1. Gi/i thi0u
Trong hai cCu trúc d li u cây vka gi i thi u, là cây kKd và cây tM phân, ngưRi ta
thCy hình dáng c?a cây l thu
sung các nút. Do vHy đơi khi cây có hình d[ng tB do, và khơng cân đ7i, khơng ti n cho
vi c t chMc d li u cũng như tìm ki1m d li u trên cây.
Vi c chia mi n v i cCu trúc cây trên ñã tuân theo s7 ch‘n mi n, tMc chia m
thành 2 mi n, thành 4 mi n. Tuy nhiên, ngưRi ta thCy tuỳ theo v, trí c?a nút N, có th(
chia mi n thành s7 l’ mi n con. ðó là ti1p cHn c?a cây tM phân MX.
M c đích sm d ng cây tM phân MX là:
•
•
ð*m b*o hình dáng cây, hay đ< cao, khơng l thu
cũng như thM tB b sung, phát tri(n cây;
ð*m b*o xoá và tìm ki1m d li u hi u qu* hơn.
NgưRi ta làm vi c v i cây tM phân MX theo:
1. Gi* sm b*n ñU ñã ñư@c chia thành lư i 2k X 2k, v i k là s7 nguyên. NgưRi dùng
tB do chVn k ñ( ti n l@i cho hV rUi sau này sq c7 ñ,nh giá tr, k;
2. Cây có cCu trúc nút như cây tM phân, khác
k
chg g7c cây mang các giá tr,
k
3. XLB = 0; XUB = 2 ; YLB = 0; YUB = 2 ;
4. Chia mi n t[i gi a mi n: n1u N là nút thì 4 nút con c?a N có thơng s7, trong đó
w = N.XUB – N.XLB. đây ngưRi ta khơng phân bi t đ< r
TrưRng h@p
XLB
XUB
YLB
YUB
N là con tây bfc
N.XLB
N.XLB + w / 2
N.YLB + w/ 2
N.YLB + w
21
N là con tây nam
N.XLB
N.XLB + w / 2
N.YLB
N.YLB + w / 2
N là con đơng bfc
N.XLB + w / 2
N.XLB + w
N.YLB + w/ 2
N.YLB + w
N là con ñông nam
N.XLB + w / 2
N.XLB + w
N.YLB
N.YLB + w / 2
Hình. B2ng tra cGu giá tr: cVn trên/ dư i cho các nút con
MiỊn 1 x 1
(x, y)
Hình. Mi n 1 x 1
1.4.4.2. Tìm ki m và b sung trên cây t, phân MX
Nguyên tfc tìm ki1m d li u và b sung nút cây ñư@c thBc hi n theo nguyên tfc:
mgi ñi(m (x, y) trên cây th( hi n mi n 1 x 1, có góc trái dư i là (x, y). Mgi ñi(m ñư@c
b sung vào nút ñư@c kèm theo mi n 1 x 1 Mng v i đi(m đó.
Thí d b sung các đi(m A, B, C, và D. To[ ñ< c?a chúng: A (1, 3), B (3, 3), C (3,
1), và D (3, 0.5).
ð$u tiên, b sung A vào to[ đ< (1, 3).
•
•
•
•
G7c cây th( hi n c* vùng; A thu
Do vHy g7c cây con NW Mng v i mi m 2 x 2, v i góc tráo thCp là ñi(m (0, 2);
A thu
A ñư@c b sung vào mMc 2 c?a cây, tMc là mMc k. Nhìn chung các đi(m ln
đư@c b sung vào l p k c?a cây;
Gèc
(1,3)
3
3
2
N
W
2
1
(0, 0)
MiÒn 2 x 2
(2k, 2k)
Phần NW
cây con NW
N
W
1
0
1
2
3
ban đầu không gian đợc chia th nh 4 phần
N
E
A
0
1
2
3
có thêm A (1,3), sinh ra c©y con NW
Hình. Hình dáng mi n cJn phân chia khi bTt ñJu b sung nút ñJu tiên
ThM hai, b sung nút B (3, 3).
•
Xét trên cây vka đư@c t[o sau khi b sung nút A: tk nút g7c ngưRi ta thCy B
trí NE c?a g7c, c$n sinh ra nhánh NE;
G7c cây con NE t[o ra mi n 2 x 2 v i góc trái thCp là đi(m to[ đ< (2, 2);
Nút B thu
•
•
22
v,
Gốc
Miền 2 x 2
(1,3)
(1,3)
(3,3)
3
N
W
(3,3)
N
E
3
Phần NE của gốc
2
2
1
1
cây con NW
(2,2)
N
W
N
E
B
0
1
2
3
0
1
2
3
4
Hỡnh. Cỏc mi n gTn v i các nút và cách chia các mi n khi có các nút m i
ThM ba, b sung nút C (3, 1). Khi đã có hai mi n NW và NE c?a g7c, ngưRi ta thCy
C thu
•
•
Do chưa có cây con SE, c$n t[o cây con SE c?a g7c;
Trong mi n m i này, đi(m C thu
Gèc
(1,3)
N
W
(3,3)
N
E
S
E
3
c©y con SE
2
(2,2)
N
W
1
N
E
(3,1)
C
0
1
2
3
4
Hình. B sung nút C khi đã có A, B chia khơng gian ra 4 phJn m"t cách tương đ#i
ThM tư, nút D (3, 0.5) có v, trí SE c?a g7c, thu
•
•
Cây con SE c?a g7c đã có;
Nút D nsm t[i mi n SE c?a cây con này.
Gèc
N
W
c©y con NE
N
W
N
E
S
E
c©y con NW
N
E
N
W
A
c©y con SE
N
E
N
W
B
C
N
E
S
E
D
Hình. K6t qu2 cu#i cùng trên cây tG phân MX khi b sung A, B, C và D
1.4.4.3. Xoá m-t nút trên cây t, phân MX
NgưRi ta nhHn thCy các nút d li u ñ u là nút lá c?a cây. Do vHy vi c xoá m
trên cây tM phân MX ñơn gi*n.
Lưu ý rsng n1u nút N là nút trung gian trong cây, có tre T tre đ1n g7c thì mi n do N
th( hi n chMa ít nhCt m
c$n đ*m b*o tính chCt các con tre ñ1n N tk các nút cha sq thay bsng NIL.
23
1.4.4.4. Câu h#i v$ mi$n trên cây t, phân MX
Câu hei v mi n ñ7i v i cây tM phân MX ñư@c th( hi n như ñ7i v i cây tM phân.
M
•
N
•
Do các ñi(m ñư@c lưu tr t[i mMc lá, nên vi c ki(m tra đi(m nsm trong
hình trịn khơng đư@c xác ñ,nh theo nhu c$u hei ñ7i v i nút lá.
1.4.4.5. Cây t, phân PR
Cây tM phân PR là m
V i cây tM phân MX, ngưRi ta nhHn thCy các ñi(m d li u ñ u ñư@c lưu t[i mMc lá.
Do vHy v i cây có s7 mi n là 2k x 2k, quá trình tìm ki1m và b sung có đ< phMc t[p theo
O (k).
V i mgi nút N trên cây tM phân MX, ngưRi ta có m
Khi phát tri(n cCu trúc d li u ñ( lưu tr các ñi(m, c$n thay ñ i qui luHt tách cây tM
phân MX ñ( nút N ñư@c tách khi và ch6 khi m (N) chMa hai hay nhi u đi(m. N1u N ch6
có m
phân PR nhsm gi*m thRi gian tìm ki1m và b sung.
1.4.5. Cây R
1.4.5.1. Gi/i thi0u
Cây mi n ch nhHt ñư@c sinh ra nhsm nhsm cho phép sm d ng cCu trúc th( hi n d
li u là các mi n ch nhHt. NgưRi ta gVi nó là cây R. Ngồi tác d ng trBc quan trên, cây
R có ưu đi(m cho phép t chMc thơng tin trên đĩa tk, ít ra là ưu ñi(m trong vi c gi*m s7
l$n truy cHp ñĩa tk..
Mgi cây R có m
ph*i nút lá trên cây chMa m
ði u này d`n đ1n các nút trung gian, khơng là nút lá hay nút g7c, chMa ít ra là m
s7 nút.
Hình ch nhHt vka nêu là hình ch nhHt thBc, hay nhóm các hình ch nhHt. Riêng
nút lá là nút v i m
CCu trúc d li u ñ( mô t* m
Ki(u nút cây R = record
REC1,... RECk: hình ch nhHt;
P1,... Pk: ↑ ki(u nút cây R;
End;
G1
G2
G
1
c¸c R4, R5, R6, R7
c¸c R1, R2, R3
R
1
R
2
R
3
R
4
G
2
R
5
G
3
R
6
G3
c¸c R8, R9
miền ban đầu
Hỡnh. Cỏc hỡnh ch
24
một nút khác
nhVt ủ-c t0o nh\m chGa các ñi]m
R
7
R
8
R
9
1.4.5.2. B sung, tìm ki m nút trên cây R
c¸c R1, R2, R3
c¸c R1, R2, R3 v R10
c¸c R4, R5, R6, R7
G2
G1
c¸c R4, R5, R6, R7
G2
G1
Nót míi R11
Nót míi R10
G3
G3
c¸c R8, R9
các R8, R9
miền ban đầu
miền ban đầu
Hỡnh. Cỏc hỡnh ch
nhVt thay đ i kích thư c khi có đi]m m i
ð( b sung m
thBc hi n các bư c sau:
1. Xem xét các hình ch nhHt đang gfn v i g7c, chVn hình ch nhHt c$n n i r
ít nhCt, tMc di n tích mi n n i ra ít, mà đ*m b*o các hình có v, trí tương đ7i tách
bi t, rõ ràng v i nhau. Trong trưRng h@p hình trên, vi c n i G1 là thuHn l@i, do
s7 di n tích phát tri(n đ( bao trùm R10 tk G1 ít hơn tk G2 hay G3;
2. B sung R10;
3. Gi* sm c$n b sung thêm R11 vào cây. Do v, trí c?a R11, n i G2 là h@p lí. Tuy
nhiên G2 đã đ$y;
4. C$n xác đ,nh trong s7 các hình ch nhHt chưa ñ$y ñ( b sung R11. Trong trưRng
h@p này, c$n n i G3.
G2
c¸c R4, R5, R6, R7
G1
G3
c¸c R8, R9 v R11
miền ban đầu
Hỡnh. Cỏc tr8ng h-p c7a mi n chung khi b sung nút m i R10 và R11
1.4.5.3. Xố nút trên cây
Xố đ7i tư@ng, gfn v i hình ch nhHt, trên cây R có th( làm mCt nút trong đ7i
tư@ng đó. Khi xố m
cây R là hình ch nhHt chMa ít nhCt [K / 2] hình thBc hay nhóm hình.
Chung h[n c$n xoá nút R9 trong cây R trên. N1u hu“ R9 trong hình G3, G3 ch6 cịn
R8, vào tình tr[ng dư i t*i. ði u này khi1n ngưRi ta c$n t chMc l[i cây R, tMc t[o ra các
nhóm logic m i. Có th( đ xuCt phương án R7 tk G2 chuy(n sang G3.
25