HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
QUÁCH THỊ QUỲNH TRANG
NGHIÊN CỨU LÝ THUYẾT, ỨNG DỤNG HỆ THỐNG
THÔNG TIN VÀ NHỮNG VẤN ĐỀ LIÊN QUAN
CHUYÊN NGÀNH: TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH
MÃ SỐ: 60.48.15
Người hướng dẫn khoa học: PGS.TS NGUYỄN BÁ TƯỜNG
LUẬN VĂN THẠC SĨ KỸ THUẬT
HÀ NỘI - 2010
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
1
PHẦN MỞ ĐẦU
1. Cơ sở khoa học và thực tiễn của đề tài
Hệ thống thông tin gọi tắt là hệ tin (system information) lần đầu tiên được đề
xuất bởi Z. Pawlak và nhanh chóng được xem như một công cụ hữu hiệu xử lý
thông tin dạng bảng. Hệ tin là trường hợp tổng quát của hệ quyết định, hệ chuyên
gia, hệ khai thác dữ liệu. Phương pháp trình bày bằng hệ tin đóng vai trò hết sức
quan trọng trong lĩnh vực trí tuệ nhân tạo và các ngành khoa học khác liên quan đến
nhận thức, đặc biệt là lĩnh vực máy học, thu nhận tri thức, phân tích quyết định,
phát hiện và khám phá tri thức từ cơ sở dữ liệu, các hệ chuyên gia, các hệ hỗ trợ
quyết định, lập luận dựa trên các bảng có các thuộc tính.
Hệ tin là một công cụ đắc lực và không thể thiếu của lý thuyết tập thô, tập mờ.
Hệ tin là trường hợp tổng quát của mô hình quan hệ. Tất các các tính chất, ứng dụng
của quan hệ đều có thể mở rộng và áp dụng trong hệ tin. Khi diễn đạt, trình bày các
thuật toan Quinlan, K_Mean, bằng hệ tin tạo một phương pháp và diễn đạt rõ
ràng, dễ hiểu và mạch lạc hơn các phương pháp cũ.
2. Mục đích, đối tượng và phạm vi nghiên cứu của đề tài
Nghiên cứu Hệ thống thông tin và các vấn đề liên quan đến hệ thống thông tin
gọi tắt là Hệ Tin là cấp bách và cần thiết vì hệ tin xuất hiện hầu khắp trong các lĩnh
vực của khoa học máy tính. Tuy nhiên trong luận văn này em chỉ muốn nêu những
vấn đề cơ bản nhất gắn chặt với hệ tin đó là những bài toán gắn với phân loại theo
quan điểm giống nhau trên các thuộc tính, quan hệ bất khả phân biệt IND(X) với X
là tập thuộc tính.
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
2
Chương I. LÝ THUYẾT TẬP HỢP
1.1. Giới thiệu tập hợp
Trong toán học, tập hợp có thể hiểu tổng quát là một sự tụ tập của một số hữu
hạn hay vô hạn các đối tượng nào đó. Các đối tượng này được gọi là các phần tử
của tập hợp. Tập hợp là một khái niệm nền tảng (fundamental) và quan trọng của
Lý thuyết tập hợp cũng thừa nhận có một tập hợp không chứa phần tử nào, được
gọi là tập hợp rỗng, ký hiệu là . Các tập hợp có chứa ít nhất một phần tử được gọi
là tập hợp không rỗng.
Tập hợp có thể được xác định bằng lời:
A là tập hợp bốn số nguyên dương đầu tiên.
B là tập hợp các màu trên quốc kỳ Pháp.
Có thể xác định một tập hợp bằng cách liệt kê các phần tử của chúng giữa
cặp dấu { }, chẳng hạn:
C = {4, 2, 1, 3}
D = {đỏ, trắng, xanh}
1.2. Quan hệ tương đương
- 3 tính chất của quan hệ tương đương R
1.1. Phản xạ: xRx với x U
1.2. Đối xứng: xRy suy ra yRx với x,y U
1.3. Bắc cầu: xRy và yRz suy ra xRz với x, y, z U
- Nếu quan hệ R chỉ thoả mãn hai tính chất phản xạ và đối xứng mà không thoả
mãn tính chất bắc cầu thì nó được gọi là một quan hệ dung sai (Tolerance
relation).
- Nếu R là một quan hệ dung sai thì hai phần tử x, y U được gọi là tương tự
nhau theo R (R-similar);
- Nếu R là một quan hệ tương đương thì hai phần tử x, y U được gọi là
không thể phân biệt được bởi R (R-indiscernable).
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
3
Chương II. HỆ TIN VÀ VẤN ĐÊ LIÊN QUAN
2.1. Định nghĩa Hệ thống thông tin
Hệ thống thông tin gọi tắt là Hệ Tin (Information System) là cặp S = (O, U).
Trong đó:
O là tập hữu hạn khác rỗng các đối tượng
U là tập hữu hạn khác rỗng các thuộc tính sao cho với mỗi thuộc tính a
U, a có miền giá trị V
a
.
o O vµ a U, o các giá trị tại thuộc tính a là f(o, a)
2.2. Sự dư thừa thông tin
Một hệ quyết định (Bảng quyết định) biểu diễn tất cả các tri thực về mô hình.
Bảng này có thể có kích thước lớn một cách không cần thiết do trong bảng này tồn
tại ít nhất hai khả năng dư thừa thông tin sau:
Nhiều đối tượng giống nhau, hay không thể phân biệt được với nhau lại
được thể hiện lặp lại nhiều lần.
Một số thuộc tính có thể là dư thừa, nghĩa là trong các thuộc tính điều
kiện ta cụ thể bỏ đi các thuộc tính thừa và không làm thay đổi các nhóm
phân loại theo thuộc tính quyết định
Ví dụ: Trong bảng dưới đây là hệ thống thông tin với ba thuộc tính điều kiện {A, B,
C} và một thuộc tính quyết định {D}.
Bảng 2.1: Hệ quyết định dư thừa thông tin
Đối tượng A B C D
1 0 0 1 0
2 1 0 0 1
3 0 0 1 0
4 0 0 1 0
5 1 0 0 1
6 1 0 0 1
7 1 0 0 1
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
4
8 1 0 0 1
9 0 0 1 0
10 1 0 0 1
11 0 0 1 0
Nếu xét ba điều kiện {A, B, C} thì có thể bỏ đi một thuộc tính C mà khi phân loại
các đối tượng theo các thuộc tính AB ta được các nhóm như khi phân loại theo các
thuộc tính AB
2.3. Quan hệ bất khả phân biệt ( quan hệ bằng nhau) trong hệ tin
Cho hệ thông tin S = (O, U) với tập thuộc tính P R có quan hệ tương đương
ký hiệu là IND
S
(P).
IND
S
(P) = {(x, y) U
2
, A P, A(x) = A(y)}
IND
S
(P) được gọi là quan hệ bất khả phân biệt theo P ( Ký hiệu S trong quan hệ
bất khả phân biệt thường được loại bỏ vì ta xác định được đang khảo sát hệ thông
tin nào, do đó ta có thể ký hiệu là IND(P)). Nếu (x, y) IND
S
(P) , thì các đối
tượng x và y là không thể phân biệt được qua tập thuộc tính P. Các lớp tương đương
của quan hệ bất khả phân biệt theo P được ký hiệu là [x]
P
.
Quan hệ bất khả phân biệt theo P phân hoạch tập đối tượng O thành các lớp
tương đương mà ta ký hiệu là O/ IND(P) ( hoặc O/P).
Ví dụ:
Xét hệ tin về sinh viên O = { 1, 2, 3, 4, 5, 6, 7, 8}, U = { Hoten, NS, Que}.
Bảng 2.2 : Ví dụ về quan hệ bất khả phân biệt
Hoten NS QUE
1 Anh 82 Hà Nội
2 Bình 82 Hà Nội
3 Linh 82 Nghệ An
4 Ngọc 83 Nghệ An
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
5
5 Hùng 83 Thái Nguyên
6 Trường 84 Thái Nguyên
7 Trang 84 Hà Tĩnh
8 Hoàn 84 Hà Tĩnh
Khi đó:
1 IND(NS) 2 & 1 IND(NS) 3 & 2 IND(NS)1& 2 IND(NS) 3 & 4 IND(NS) 5.
Rõ ràng quan hệ IND(X) là quan hệ tương đương.
Khi đó O/IND(X) là phân hoạch tương đương
O/IND(X) = { p
1
, p
2
, …, p
k
} mà mỗi p
i
là một nhóm gồm các đối tượng giống nhau
trên tập X. Xét ví dụ về tập sinh viên trên đây
O/IND(NS) = {p
1
, p
2
, p
3
}= {{ 1, 2, 3}, {4, 5}, {6, 7, 8}.
O/IND({NS,QUE}) = { p
1
, p
2
, p
3
, p
4
, p
5
, p
6
}={{1, 2}, {3}, {4}, {5}, {6}, {7, 8}}.
Tương tự
O/IND(Hoten) = O/IND(Hote, NS, Que) = O/IND(U) = {{1}, {2}, {3}, {4}, {5},
{6}, {7}, {8} }, mỗi phần tử là một nhóm.
2.4. Sự phụ thuộc hàm
Giả sử D và C là các tập con của U. Vùng dương của phân hoạch O/IND(D) đối với
tập thuộc tính C gọi là vùng dương của C được định nghĩa là:
)(/
C
)()(OS
DINDOX
XCDP
Đây là tập các đối tượng của U mà bằng cách sử dụng tập thuộc tính C ta có thể
phân loại chúng một cách chắc chắn vào một lớp của phân hoạch O theo tập thuộc
tính D. Ta nói D phụ thuộc vào C với mức k ( 0 k 1) biểu thị là C
k
D nếu:
||
|)(S|
),(
C
O
DPO
DCk
Vì
)(/
C
)()(OS
DINDOX
XCDP
, suy ra
)(/
||
|)(|
),(
DINDOX
O
XC
DC
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
6
Nếu k = 1 ta nói D phụ thuộc hoàn toàn vào C, nếu D < 1 ta nói D phụ thuộc
một phần vào C.
Hệ số k diễn tả tỷ lệ của các thành phần trong tập tổng thể, với sự phân loại
thành khối của phân hoạch U/D, các thuộc tính sử dụng trong C gọi là mức phụ
thuộc.
Dễ thấy rằng nếu D phụ thuộc hoàn toàn vào C thì IND(C)
IND(D), nghĩa là
phân hoạch được sinh ra bởi C tốt hơn phân hoạch được sinh ra bới D.
Ví dụ: Xét hệ thông tin trong bảng sau:
Bảng 2.3: Một hệ thông tin đơn giản
U a
0
a
1
a
2
a
3
a
4
x
0
1 A 2 34 Vàng
x
1
2 A 3 23 Trắng
x
2
4 B 3 33 Xanh
x
3
1 B 2 11 Vàng
x
4
3 B 1 33 Trắng
x
5
1 B 4 11 Vàng
Tập thuộc tính điều kiện: D = {a
0
, a
2
}.
Tập thuộc tính quyết định: C = {a
1
}.
O/IND(D) = {{x
0
, x
3
},
{x
1
}, {x
2
}, {x
4
}, {x
5
}}
O/IND(C) = {{x
0
, x
1
},
{x
2
, x
3
, x
4
, x
5
}}
Ta có POS
C
(D) = {x
1
}{x
2
}{x
3
}{x
4
}{x
5
} = {x
1
, x
2
, x
3
, x
4
, x
5
}
Vậy độ phụ thuộc k được tính như sau:
6
5
x, x, x, x,x,x
x, x, x, x,x
543210
54321
k
2.5. Hệ quyết định
Hệ quyết định hay hệ chuyên gia là hệ tin bất kỳ có dạng S = (O, U) với
U=CD, trong đó C ( condition) được gọi là tập thuộc tính điều kiện, D = {d
1
, d
2
,
, d
k
}(decision) là tập thuộc tính quyết định và C D = .
Đôi khi ta viết hệ quyết định S = ( O, C D).
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
7
Ví dụ:
Trong ví dụ này ta xét hệ tin các học sinh thi vào Đại học Quốc gia có thuộc tính
quyết định ( KQ ) có hai giá trị 0 (trượt) và 1(đậu). Các thuộc tính điều kiện như:
Môn 1,Môn 2, Môn 3, Điểm ưu tiên (ĐƯT), Khu vực (KV):
Bảng 2.4: Hệ tin các HS thi vào ĐHQGia
HỌC SINH _ THI ĐẠI HỌC
SBD Môn 1 Môn 2 Môn 3 ĐƯT KV KQ
AH01 7.25 5.0 6.5 1 1 1
AH02 7.0 5.5 8.0 0 2 1
AH03 1.75 4.0 3.5 0 2NT 0
AH04 1.55 5.0 4.0 1 1 0
AH05 1.5 5.0 6.0 1.5 2NT 0
Một lớp các bài toán liên quan đến hệ quyết định đó là tìm các luật của hệ quyết
định: từ tập thuộc tính điều kiện làm thế nào để có được một giá trị mong muốn
trong tập quyết định. Ví dụ nhìn vào bảng trên ta thấy có một số luật như sau:
Rule 1.
Nếu (Môn 1 = 7.25) & (Môn 2 = 5.0) & (Môn 3 = 6.5) & ( ĐƯT = 1) & ( KV=1) &
( KQ = 1) thì sẽ đậu vào trường Đại học Quốc gia.
Rule 2.
Nếu (Môn 1 = 7.0) & (Môn 2 = 5.5) & (Môn 3 = 8.0) & ( ĐƯT = 0) & ( KV=2)
&(KQ = 1) thì sẽ đậu vào trường Đại học Quốc gia.
Rule 3.
Nếu (Môn 1 = 1.75) & (Môn 2 = 4.0) & (Môn 3 = 3.5) & ( ĐƯT = 0) & ( KV=2NT
) &(KQ = 0) thì không đậu vào trường Đại học Quốc gia.
Rule 4.
Nếu (Môn 1 = 1.55) & (Môn 2 = 5.0) & (Môn 3 = 4.0) & ( ĐƯT = 1) & ( KV=1)
&(KQ = 0) thì không đậu vào trường Đại học Quốc gia.
Rule 5.
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
8
Nếu (Môn 1 = 1.5) & (Môn 2 = 5.0) & (Môn 3 = 6.0) & ( ĐƯT = 1.5) & (
KV=2NT) &(KQ = 0) thì không đậu vào trường Đại học Quốc gia.
2.6. Hệ khai thác dữ liệu ( data mining system)
Hệ khai thác dữ liệu là hệ tin S = ( O, U, V, f). Trong đó tập O được gọi là
tập các hóa đơn. Tập U = { i
1
, i
2
, , i
n
} được gọi là tập các mặt hàng. Tập V={0,1}.
Ví dụ:
Giá trị f(o
j
, i
k
) =1 cho ta biết hóa đơn o
j
chứa mặt hàng i
k
và f(o
j
, i
k
) = 0 có nghĩa là
hóa đơn o
j
không chứa mặt hàng i
k
.
Bảng 2.5: Ví dụ về hệ khai thác dữ liệu
i
1
i
2
i
3
i
4
i
5
i
6
i
7
o
1
1 1 1 1 1 1 1
o
2
1 1 1 0 0 1 0
o
3
1 1 0 1 0 0 0
o
4
1 0 0 0 1 0 0
o
5
1 0 0 0 0 0 0
2.7. Độ phổ biến
Độ phổ biến hay còn gọi là độ thường xuyên của tập hàng s trong tập hóa đơn.
Độ phổ biến của tập mặt hàng s, ký hiệu sp(s) là tỷ số giữa số lần xuất hiện trong
các hóa đơn của tập s trên số tất cả các hóa đơn. Hay gọi m là số các hóa đơn khi đó
ta có Sp(s) = (số lần xuất hiện của s)/m.
Ví dụ: Xét lại ví dụ ở bảng trên
Ta có sp({i
1
}) = 5/5 = 1; sp({i
2
,i
3
}) = 2/5 ;
sp({i
2
,i
3
,i
4
}) = 1/5; sp({i
7
}) = 1/5.
Vậy với mọi tập hàng s
I thì 0
sp(s)
1 và mọi số minsup
(0,1] chia họ
các tập con của I thành hai phần. Một phần gồm các tập s mà sp(s) < minsup và
phần kia gồm các tập s mà sp(s) mà sp(s)
minsup. Trong khai thác dữ liệu tập {s
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
9
I : sp(s)
minsup} được gọi là các tập phổ biến với ngưỡng minsup. Gọi FS là
họ các tập s mà sp(s)
minsup. Một bài toán quan trọng trong khai thác dữ liệu là
tìm các thuật toán có độ phức tạp bé nhất để tính FS.
2.8. Luật kết hợp
Cho hai tập hàng X, Y
I.
Luật kết hợp của X và Y ký hiệu X
Y là luật chỉ khả năng xuất hiện của Y khi X
xuất hiện.
Giả sử nếu lấy X = {i
1
, i
2
} và Y = X thì khả năng xuất hiện của Y khi X xuất hiện là
100% và luật X
Y có độ tin cậy 100%. Như vậy mỗi luật kết hợp có độ tin cậy
CF(X
Y) và trong khai thác dữ liệu CF(X
Y) = sp(X Y)/sp(X).
Vậy độ tin cậy của luật X
Y, ký hiệu CF(X
Y) là đại lượng sp(X Y)/sp(X),
tức CF(X
Y) = sp(X Y)/sp(X)
Xét dữ liệu trong ví dụ trên ta có
CF({i
1
,i
2
}
{i
3
,i
4
,i
5
}) = sp({i
1
,i
2
,i
3
,i
4
,i
5
}) / sp({i
1
,i
2
}) = 1/3. CF({i
1
}
{i
2
})
= sp({i
1
,i
2
}) / sp({i
1
}) = (3/5)/(5/5) = 3/5
2.9. Rút gọn hệ tin
Cho hệ tin S = ( O, U). Khi đó ta có PART(U) = {E
1
, E
2
, , E
k
}
Tập thuộc tính reduct U được gọi là rút gọn của U( đôi khi ta còn gọi là rút gọn
của hệ tin S) nếu reduct là tập tối thiểu mà PART(reduct) = PART(U).
Nói cách khác reduct U được gọi là rút gọn của U nếu :
(1) PART(U) = PART(reduct).
(2) reduct tối thiểu.
Thí dụ:
Xét hệ tin S = (O, U); với O = R = {t
1
, t
2
, t
3
, t
4
, t
5
, t
6
, t
7
} là quan hệ trên U={A, B, C,
D, E, H, I, J, L, M, N} và hàm thông tin được cho trong bảng sau :
Bảng 2.6: Ví dụ về hàm thông tin
R
A B C D E H I J L M N
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
10
t
1
0 1 2 3 3 4 2 1 2 3 4
t
2
0 0 0 0 3 3 3 3 4 0 3
t
3
1 2 1 1 2 2 4 2 6 1 1
t
4
4 4 4 5 5 5 5 5 5 5 5
t
5
1 3 3 3 4 7 6 7 8 9 0
t
6
2 5 6 4 5 6 8 6 7 8 9
t
7
2 6 5 2 2 1 7 8 3 4 4
Khi đó ta có các reduct của hệ tin là :
Reduct
1
= B ; reduct
2
= C; reduct
3
= H ; reduct
4
= I; reduct
5
= J ; reduct
6
= L;
Reduct
7
= M ; reduct
2
= N; reduct
8
= AD ; reduct
9
= AE ; reduct
10
= DE
a. Thuật toán tìm 1 rút gọn của S = ( O,U ) dựa vào ma trận E
Input : S = ( O, U) dạng bảng
Output : k - reduct của S
Nội dung thuật toán:
Bước 1: Tính nửa trên của E.
Bước 2: Lập họ cực đại M của E.
M gồm các phần tử của E ( không xét trên đường chéo chính) không chứa trong các
phần tử khác. Tức M = {e
ij
mà không có e
kl
chứa e
ij
}.
Bước 3: Đặt k = U
Bước 4: Lặp for each A in U nếu k- A không chứa trong một phần tử nào của M
then k:= k-A; { khi đó A gọi là thuộc tính thừa}
{ kết thúc vòng lặp ta được 1 reduct của S}
b. Thuật toán tìm hết các Reduct của S = ( O, U) dựa vào ma trận D
Input S = ( O, U)
Output k
1
, k
2
, …, k
l
là các reduct của S.
Nội dung thuật toán 2.2 :
Bước 1: Tính nửa trên D.
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
11
Bước 2: Coi mỗi thuộc tính của U là một biến logic và đặt log = ٨(٧ d
ij
).{ đọc là
hội của các tuyển d
ij
}
Bước 3: Tối giản log và đưa log về dạng tuyển của các hội log = k
1
k
2
… k
l
.
Khi đó mỗi k
i
là một reduct.
c. Thuật toán tìm các rút gọn của hệ tin S = ( O, U)
- Trường hợp S là hệ tin dạng quan hệ, các đối tượng từng đôi một khác nhau trên
U, khi đó thuật toán tìm một rút gọn, tìm tất cả các rút gọn được tiến hành như các
thuật toán tìm khóa dựa vào ma trận bằng nhau, ma trận khác nhau đã xét trong
quan hệ r.
- Trường hợp S là hệ tin dạng không phải quan hệ ; tức có các đối tượng giống
nhau trên tập thuộc tính. Khi đó thực hiện hai bước :
Bước 1: Trong mỗi nhóm đối tượng giống nhau trên U chọn ra một đại diện
Bước 2: Gọi r là tập các đại diện như vậy và thực hiện như phần a của thuật toán
2.3.
2.10. Quan hệ trên tập thuộc tính U
Mỗi tập con r của tích Descartes (Decac) các miền giá trị V(A
i
) với
i = 1, 2, 3, , n được gọi là một quan hệ trên U.
Về sau ta thường ký hiệu r hoặc R là quan hệ trên U. Vậy R là quan hệ trên tập
thuộc tính U nếu: R V(A
1
) V(A
2)
V(A
n
)
.
.
Từ định nghĩa ta thấy tích Decac V(A
1
) V(A
2
) V(A
n
) có rất nhiều tập con nên
trên U có nhiều quan hệ khác nhau.
2.11. Quan hệ R trên tập thuộc tính U là một Hệ tin
Từ định nghĩa Quan hệ và định nghĩa Hệ tin ta nhận thấy rằng:
Mọi quan hệ r trên U, với R = {t
1
, t
2
, , t
m
}; khi đó S = ( R, U ) là một hệ tin, với
f(o
i
, A
j
) = f(t
i
, A
j
) = t
i
.A
j
Ví dụ: Xét hệ tin S = (O, U) ; Tập miền trị V hàm f được xác định như bảng sau:
Bảng 2.7: Hệ tin có các đối tượng giống nhau
HOTEN NS QUE
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
12
o
1
Q.Anh 83 NA
o
2
Q.Anh 83 NA
o
3
Q.Anh 83 NA
o
4
Q.Anh 83 NA
o
5
Q.Anh 83 NA
Đây là hệ tin mà các đối tượng giống nhau ( bất khả phân biệt ) trên tập thuộc tính
U. Tức là trong hệ tin này ta luôn có:
f( o
1
, HOTEN) = Q.ANH, f( o
1
, NS) = 83, f( o
1
, QUE) = NA
f( o
2
, HOTEN) = Q.ANH, f( o
2
, NS) = 83, f( o
2
, QUE) = NA
f( o
3
, HOTEN) = Q.ANH, f( o
3
, NS) = 83, f( o
3
, QUE) = NA
f( o
4
, HOTEN) = Q.ANH, f( o
4
, NS) = 83, f( o
4
, QUE) = NA
f( o
5
, HOTEN) = Q.ANH, f( o
5
, NS) = 83, f( o
5
, QUE) = NA
Theo định nghĩa quan hệ R trên U những bộ giống nhau trên toàn bộ tập
thuộc tính U phải được coi là một phần tử của quan hệ. Vậy hệ tin trên chỉ được
biểu thị bằng quan hệ R trên tập thuộc tính U = {HOTEN, NS, QUE} là quan hệ chỉ
1 phần tử:
R
HOTEN NS QUE
Q. ANH 83 NA
2.12. Định nghĩa khoá (key) tối thiểu
Cho sơ đồ quan hệ W = < U, F >. Trong đó U = {A
1
, A
2
, , A
n
} là tập thuộc tính, F
là tập phụ thuộc hàm trên U. (Khái niệm phụ thuộc hàm sẽ được đề cập ở phần sau)
Tập thuộc tính k
U được gọi là khoá tối thiểu của W = < U, F > nếu nó thoả mãn
hai điều kiện:
(1) k
+
= U ( hay k
U)
(2) k tối thiểu.
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
13
Như vậy tập k U được gọi là khóa tối thiểu của sơ đồ quan hệ W = < U, F > nếu k
là tập tối thiểu kéo theo U.
Tức là k là khoá tối thiểu nếu: k
+
= U ( hay k
U) và bớt khỏi k dù một phần tử thì
bao đóng của tập còn lại khác U. Vậy tập k U gọi là khóa tối thiểu nếu: k
+
=U và
(k - A)
+
U, với A bất kỳ thuộc k.
Trực quan từ định nghĩa, ta thấy rằng nếu k là một tập thuộc tính mà k
+
= U thì từ k
ta có thể bớt dần các phần tử của k, để nhận được tập k tối thiểu có bao đóng bằng
U và đó chính là khóa tối thiểu của sơ đồ quan hệ.
Thuật toán 2.4: Thuật toán tìm một khoá của một sơ đồ quan hệ
Input: W= < U, F >;
Output: k là khóa của W;
Algorithm:
Bước 1: Gán k = U
Bước 2: A là một thuộc tính của k, đặt k' = k - A.
Nếu k'+ = U thì gán k = k'
Thực hiện bước 2
Thuật toán tìm tất cả các khoá
Bước 1: Xác định tất cả các tập con khác rỗng của U. Kết quả tìm được giả sử là các
tập thuộc tính A
1
, A
2
, , A
2
n
-1
.
Bước 2: Tìm bao đóng của các A
i
.
Bước 3: Siêu khoá là các A
i
của bao đóng đúng bằng U. Giả sử ta đã có các siêu
khoá là S = {S
1
, S
2
, , S
m
}
Bước 4: Xây dựng tập chứa tất cả các khoá của W từ tập S bằng cách xét mọi S
i
, S
j
con c
ủa S (i ≠ j),
nếu S
i
S
j
thì ta loại S
j
( i, j = 1 n), kết quả còn lại của S chính là
tất cả các khoá cần tìm
Thuật toán cải tiến
Trước khi đi vào thuật toán cải tiến, ta cần quan tâm một số khái niệm sau:
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
14
+ Tập thuộc tính nguồn (TN) chứa tất cả các thuộc tính có xuất hiện ở vế trái và
không xuất hiện ở vế phải của các phụ thuộc hàm và các thuộc tính không xuất hiện
ở cả vế trái lẫn vế phải của các phụ thuộc hàm.
+ Tập thuộc tính đích (TD) chứa tất cả các thuộc tính có xuất hiện ở vế phải và
không xuất hiện ở vế trái của các phụ thuộc hàm.
+ Tập thuộc tính trung gian (TG) chứa tất cả các thuộc tính xuất hiện ở cả vế trái lẫn
vế phải của các phụ thuộc hàm.
Hệ quả: Nếu k là khóa của W thì TN k và TD
∩ k =
Chứng minh TN k
Theo hệ quả 2 của thuật toán tìm bao đóng ta có k
+
k TD TG
Ta chứng minh A TN A k. Thật vậy:
Nếu A ∉ k k
+
k TD TG U
- A K không là khóa mâu thuẫn
Chứng minh TD ∩ k = ∅
Giả sử có thuộc tính A TD ∩ k ta sẽ dẫn đến điều mâu thuẫn. Thật vậy:
Theo hệ quả 1 của thuật toán tìm bao đóng thì k
+
= (k - A)
+
A
A TD có X là vế trái của một phụ thuộc hàm trong F sao cho
X → A (1) và A ∉ X
X k
+
= ( k - A)
+
A vì A ∉ X X (k - A)
+
(k - A) → X (2)
Từ (1) và (2) ta có
(k - A) → A A (k - A)
+
(k - A)
+
A = (k - A)
+
k
+
= (k - A)
+
mâu thuẫn với điều k là khóa.
Dựa vào hệ quả trên ta có thuật toán tìm tất cả khóa sau:
Dữ liệu vào: Lược đồ quan hệ Q và tập phụ thuộc hàm F
Dữ liệu ra: Tất cả các khóa của quan hệ
Thuật toán 2.7: Thuật toán tìm tất cả khóa của một lược đồ quan hệ
Bước 1: Tạo tập thuộc tính nguồn TN, tập thuộc tính trung gian TG
Bước 2: if TG = ∅ then lược đồ quan hệ chỉ có một khóa k
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
15
k = TN
kết thúc
Ngược lại
Qua bước 3
Bước 3: Tìm tất cả các tập con X
i
của tập trung gian TG
Bước 4: Tìm các siêu khóa S
i
bằng cách X
i
if (TN X
i
)
+
= Q
+
then S
i
= TN X
i
Bước 5: Tìm khóa bằng cách loại bỏ các siêu khóa không tối thiểu
S
i
, S
j
S
if S
i
S
j
then Loại S
j
ra khỏi Tập siêu khóa S
S còn lại chính là tập khóa cần tìm.
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
16
Chương III: PHỤ THUỘC HÀM TRÊN QUAN HỆ R VÀ
PHỤ THUỘC HÀM SUY RỘNG
3.1. Phụ thuộc hàm trong quan hệ R
Chúng ta đã có khái niệm cơ bản về phụ thuộc hàm (Functional Dependency) trong
một quan hệ. Phụ thuộc hàm có tầm quan trọng rất lớn trong việc phân tích và thiết
kế mô hình dữ liệu.
Khái niệm: Quan hệ R được định nghĩa trên tập thuộc tính U = { A1, A2, , An}.
A, B U là 2 tập con của tập thuộc tính U. Nếu tồn tại một ánh xạ f: A B thì ta
nói rằng A xác định hàm B, hay B phụ thuộc hàm vào A, và ký hiệu là A B.
Định nghĩa hình thức của phụ thuộc hàm như sau:
Quan hệ Q (A, B, C) có phụ thuộc hàm A xác định B (ký hiệu là A B) nếu:
" q, q’ € Q, sao cho q.A = q’.A thì q.B = q’.B
(Nghĩa là: ứng với 1 giá trị của A thì có một giá trị duy nhất của B)
A là vế trái của phụ thuộc hàm, B là vế phải của phụ thuộc hàm.
A B được gọi là phụ thuộc hàm hiển nhiên nếu B A. Nghĩa là, một tập A lớn
hơn và bao tập con B thì A xác định được giá trị của các thuộc tính trong tập B là
điều hiển nhiên.
A B được gọi là phụ thuộc hàm nguyên tố, hoặc nói cách khác, B được gọi là
phụ thuộc hàm đầy đủ (fully functional dependence) vào A nếu "A’ A đều không có
A’ B.
Ví dụ :
Trong lược đồ CSDL quản lý hóa đơn bán hàng đã cho quan hệ HÓAĐƠN (Số-hóa-
đơn, Số_chủng_loại_mặt_hàng, Tổng-trị-giá) có các phụ thuộc hàm sau:
f1: Số-hóa-đơn Số_chủng_loại_mặt_hàng;
f2: Số-hóa-đơn Tổng-trị-giá;
bởi vì Số-hóa-đơn là khóa của lược đồ quan hệ HÓAĐƠN. Nếu biết số hóa đơn thì
ta có thể xác định được tất cả các thông tin còn lại liên quan đến hóa đơn đó, trong
đó có thông tin về Số_chủng_loại_mặt_hàng và Tổng-trị-giá tất cả các mặt hàng của
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
17
hóa đơn. Các phụ thuộc hàm trên đều là nguyên tố.
Quan hệ CHITIẾT_HĐ (Số-hóa-đơn, Mã-hàng, Số-lượng-đặt, Đơn-giá, Trị-giá) có
các phụ thuộc hàm sau:
f1: Số-hóa-đơn, Mã-hàng Số-lượng-đặt.
f2: Số-hóa-đơn, Mã-hàng Đơn-giá.
f3: Số-hóa-đơn, Mã-hàng Trị-giá.
f4: Số-lượng-đạt, Đơn-giá Trị-giá.
Thuộc tính Đơn-giá phụ thuộc hàm không đầy đủ vào khóa (Số-hóa-đơn, Mã-hàng),
bởi vì nó chỉ phụ thuộc vào mặt hàng (thông qua Mã-hàng).
3.2. Phụ thuộc hàm trong quan hệ dựa vào quan hệ bất khả phân biệt IND(X),
IND(Y)
Cho quan hệ R trên tập thuộc tính A = { A
1
, A
2
, , A
n
} ; X, Y
A
Phụ thuộc hàm trong quan hệ R dựa vào các quan hệ IND(X), IND(Y).
Ta nói X xác định phụ thuộc hàm Y ( Y phụ thuộc hàm vào X ) trong R, ký hiệu X
Y nếu IND(X) IND(Y). Khi đó ta cũng nói R thoả phụ thuộc hàm X→ Y.
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
18
KẾT LUẬN
Hệ tin là một công cụ đắc lực và không thể thiếu của lý thuyết tập thô, tập mờ.
Hệ tin là trường hợp tổng quát của mô hình quan hệ. Tất các các tính chất, ứng dụng
của quan hệ đều có thể mở rộng và áp dụng trong hệ tin. Vậy nghiên cứu và phổ
biến rộng rãi đề tài về hệ tin là vấn đề cấp bách và cần thiết hiện nay.
Luận văn đã nghiên cứu được những vấn đề sau:
- Lý thuyết về tập thô, quan hệ tương đương, lớp tương đương.
- Khái niệm về hệ tin và rút gọn hệ tin
- Nghiên cứu về phụ thuộc hàm trên quan hệ R và phụ thuộc hàm suy rộng
Luận văn định hướng áp dụng rất nhiều trong thực tế như ứng dụng trong hệ
chuyên giạ hệ quyết định hay các bài toán tìm kiếm và phân loại các văn bản …
TÀI LIỆU THAM KHẢO
[1] Pawlak z., Systemy informacyjne warszawa 1983
[2] Pawlak z., Knowledge, Uncertainty and Indiscernibility. A Rough set
Perspective, October 1990.
[3] Đỗ Phúc - Giáo trình khai thác dữ liệu NXB ĐH QG TP Hồ Chí Minh 2006
[4] Nguyễn Bá Tường - Cơ sở dữ liệu - Lý thuyết và thực hành NXB KH&KT 2005
Nghiên cứu lý thuyết và ứng dụng hệ thống thông tin và những vấn đề liên quan
19
DANH MỤC BẢNG
Bảng 2.1: Hệ quyết định dư thừa thông tin 3
Bảng 2.2 : Ví dụ về quan hệ bất khả phân biệt 4
Bảng 2.3: Một hệ thông tin đơn giản 6
Bảng 2.4: Hệ tin các HS thi vào ĐHQGia 7
Bảng 2.5: Ví dụ về hệ khai thác dữ liệu 8
Bảng 2.6: Ví dụ về hàm thông tin 9
Bảng 2.7: Hệ tin có các đối tượng giống nhau 11