Lược đồ lớp NhanVien

Một phần của tài liệu cơ sở dữ liệu hướng đối tượng với thông tin ngôn ngữ mờ (Trang 76)

Sau đây là một số thể hiện của lớp BoPhan, lớp QuanLy để đơn giản ta giới hạn bảng dữ liệu chỉ gồm những thuộc tính.

Bảng 2.5 Thể hiện của lớp BoPhan và QuanLy

(a) lớp BoPhan

BoPhan

iDBP ten viTri trinhDo tienNgoaiGio luong

iD1 An ketoan CĐ 30 90

iD2 Binh ketoan CĐ 27 80

iD3 Hoa vanhanh TC 24 70

iD4 Hue vanhanh TH 23 65

(b) lớp QuanLy

QuanLy

iDQL ten viTri trinhDo tienThuong luong

iD1 Hai Gd CĐ 30 90

iD2 Minh Qlvh TC 27 ni

iD3 Tam Qlsp CĐ 15 25

iD4 Nam Qlht CH 22 30

Truy vấn 2.3: Cho biết lương của tất cả nhân viên quản lý

Từ CSDL HĐT đã cho ở ví dụ 2.8 ta nhận thấy lương của đối tượng Minh

là chưa định nghĩa (bị thiếu), vì vậy chúng ta cần tìm giá trị tương tự gần đúng cho lương của đối tượng này. Sử dụng thuật toán NQAO với ma trận độ tương tự giữa các thuộc tính được cho như sau:

Bảng 2.6 Ma trận độ tương tự giữa các thuộc tínhviTri trinhDo tienThuong luong viTri trinhDo tienThuong luong

viTri 1 0.7 0.7 0.7

trinhDo 0.7 1 0.8 0.8

tienThuong 0.7 0.8 1 0.9

Các bước thực hiện như sau:

Bước (1) - (2): Xác định thuộc tính liên quan

Từ ma trận trên suy ra thuộc tính tienThuong là thuộc tính liên quan đến thuộc tính luong, vì quan hệ phụ thuộc là 0.9.

Bước (3) - (26): Chọn độ đo tính mờ, xây dựng các mức phân hoạch 2 thuộc tính

tienThuongluong.

DtienT huong = [0, 30] và Dluong = [0, 100]. F DtienT huongF Dluong có cùng tập xâu giống nhau với tập các phần tử sinh là {0, thấp, W, cao, 1} và tập các gia tử là {ít, khá, hơn, rất}.

+ Đối với thuộc tính tienThuong: Chọn f m(cao) = 0.35, f m(thấp) = 0.65,

µ(khá) = 0.25, µ(ít) = 0.20, µ(hơn) = 0.15 và µ(rất) = 0.40. Ta phân hoạch đoạn [0, 30] thành 5 khoảng tương tự mức 1 như sau:

f m(rất cao)*30 = 0.35*0.35*30=3.675. vậyS(1)*30= (26.325, 30]. (f m(khá cao) + f m(hơn cao))*30 = (0.25*0.35 + 0.15*0.35)*30 = 4.2, vậy S(cao)*30 = (22.125, 26.325].

(f m(ít thấp) + f m(ít cao))*30 = (0.25*0.65 + 0.25*0.35)*30 =7.5, vậy S(W)*30 = (14.625, 22.125].

(f m(khá thấp) + f m(hơn thấp))*30 = (0.25*0.65 + 0.15*0.65)*30 = 7.8, vậy S(thấp)*30 = (6.825, 14.625], và S(0)*30 = [0, 6.825].

Từ đó, ta có lân cận mức 1 của các lớp tương tự như sau: F N1tienT huong(0) = [0, 6.825], F N1tienT huong(thấp) = (6.825, 14.625],F N1tienT huong(W) = (14.625, 22.125], F N1tienT huong(cao) = (22.125, 26.325] và F N1tienT huong(1) = (26.325, 30]. + Đối với thuộc tính luong: f m(cao) = 0.60, f m(thấp) = 0.40, µ(khá) = 0.15,

µ(ít) = 0.25, µ(hơn) = 0.25 vàµ(rất) = 0.35. Ta phân hoạch đoạn [0, 100] thành 5 khoảng tương tự mức 1 như sau:

f m(rất cao) * 100 = 0.35*0.60*100=21, vậyS(1)*21= (79, 100].

(f m(khá cao) + f m(hơn cao))*100 = (0.25*0.60 + 0.15*0.60)*100 = 24, vậy S(cao)*100 = (55, 79].

vậy S(W)*100 = (30, 55].

f m(khá thấp) + f m(hơn thấp))*100 = (0.25*0.40 + 0.15*0.40)*100 = 16, vậy S(thấp)*100 = (14, 30], và S(0)*100 = [0, 14].

Từ đó, ta có lân cận mức 1 của các lớp tương tự như sau: F N1luong(0) = [0, 14], F N1luong(thấp) = (14, 30], F N1luong(W) = (30, 55], F N1luong(cao) = (55, 79] và F N1luong(1) = (79, 100].

Bước (27) - (30): Xác định giá trị gần đúng cho thuộc tính chưa định nghĩa. Vì o1.tienT huong = 30 F N1tienT huong(1), o2.tienT huong = 27

F N1tienT huong(1), nên o1.tienT huong 1 o2.tienT huong (theo định nghĩa 2.1). Từ suy diễn tương tự, ta suy ra o1.luong 1 o2.luong, mà o1.luong = 90

F N1luong(1). Vậy giá trị tương tự đúng cho thuộc tínhluong của đối tượng Minh

F N1luong(1) = (79, 100].

Truy vấn 2.4: “Cho biết thực lĩnh của tất cả nhân viên quản lý?

Do phương thức thực lĩnh thao tác trên hai thuộc tính tienThuongluong, do vậy để trả lời thực lĩnh của tất cả các nhân viên quản lý, trước tiên, cần phải xác định giá trị thuộc tính lương cho đối tượng tên Minh, vì giá trị này chưa định nghĩa (thiếu) trong CSDL. Áp dụng thuật toán NQMO, như sau:

Bước (1) - (29): Từ kết quả của truy vấn 2.3, ta có được giá trị gần đúng cho thuộc tính luong cho đối tượng Minh. Kết quả ở bảng 2.7(a)

Bước (30)-(34): Hàm tích hợp ĐSGT trong trường hợp này trung bình cộng của hai ĐSGT tienThuongluong. Kết quả ở bảng 2.7(b)

Bảng 2.7 Kết quả thực hiện trong truy vấn 2.4

(a) Kết quả thực hiện bước (1) – (29)

QuanLy

iDQL tienThuong luong thucLinh() iD1 30 (26.325, 30] 90 (79, 100]

iD2 25 (26.325, 30] (79, 100] iD3 15 (14.625, 22.125] 25 (14, 30] iD4 22 (14.625, 22.125] 30 (14, 30]

(b) Kết quả thực hiện bước (30) – (34)

QuanLy

iDQL tienThuong luong thucLinh() iD1 30 (26.325, 30] 90 (79, 100] (83, 100] iD2 25 (26.325, 30] (79, 100] (83, 100] iD3 15 (14.625, 22.125] 25 (14, 30] (31.38, 39.38] iD4 22 (14.625, 22.125] 30 (14, 30] (31.38, 39.38]

2.6. Kết luận

Trong chương này, dựa vào xấp xỉ mức k và hàm đo xấp xỉ ngữ nghĩa giữa các giá trị thuộc tính đối tượng, một số khái niệm phụ thuộc hàm mờ giữa các thuộc tính, phụ thuộc mờ giữa thuộc tính và phương thức trong một lớp đối tượng đã được giới thiệu. Tính đúng đắn của các hệ suy dẫn cũng đã được chứng minh. Trên cơ sở các dạng phụ thuộc hàm mờ, chúng tôi nghiên cứu và áp dụng vào quá trình suy diễn tương tự nhằm xác định giá trị thuộc tính chưa định nghĩa phục vụ cho việc tìm kiếm dữ liệu trong trường hợp câu trả lời là Null. Ngoài ra, vấn đề xây dựng các dạng phụ thuộc dữ liệu này sẽ nhằm đáp ứng cho việc chuẩn hóa và phát hiện tri thức từ CSDL hướng đối tượng mờ.

TRUY VẤN DỮ LIỆU TRONG HỆ THỐNG HƯỚNG ĐỐI TƯỢNG VỚI THÔNG TIN

KHÔNG CHẮC CHẮN

Trên thực tế, chính sự kết hợp thông tin mờ vào CSDL HĐT sẽ cung cấp thêm sức mạnh cho mô hình dữ liệu hướng đối tượng và làm cho khả năng biểu diễn ngữ nghĩa của nó phong phú hơn. Cùng với việc phát triển mô hình dữ liệu hướng đối tượng mờ thì ngôn ngữ truy vấn dữ liệu mờ cũng cần được tập trung nghiên cứu, xây dựng các phương pháp định giá, đối sánh giữa chúng để thực thi các truy vấn dữ liệu mờ với mong muốn thao tác dữ liệu trở nên mềm dẽo và “chính xác”. Ngoài ra, các phép toán đại số đối tượng mờ cũng được quan tâm nghiên cứu vì đó là cơ sở lý thuyết cho việc xử lý và truy vấn dữ liệu trên mô hình CSDL HĐT mờ.

Chương này, trong phần đầu chúng tôi trình bày các phép toán đại số đối tượng mờ. Phần tiếp theo, giới thiệu một số thuật toán xác định giá trị chân lý của điều kiện mờ làm cơ sở xây dựng câu truy vấn OQL mờ. Cuối cùng là phương pháp định giá lượng từ ngôn ngữ và đưa lượng từ ngôn ngữ vào câu truy vấn.

Các kết quả nghiên cứu chính liên quan đến truy vấn dữ liệu và các phép toán đại số đối tượng mờ được công bố trong các bài báo (3), (4), (6), (7), (8).

3.1. Đối tượng mờ dư thừa

Trong CSDL HĐT rõ, một đối tượng được coi là dư thừa nếu và chỉ nếu trùng hoàn toàn với một đối tượng khác. Nhưng trong mô hình CSDL HĐT mờ, do đối tượng là mờ nên để đánh giá sự dư thừa của hai đối tượng mờ oioj, chúng tôi đưa ra định nghĩa như sau.

Định nghĩa 3.1. Cho lớp mờ C với tập thuộc tính {A1, A2, . . . , Am}, trong đó kiểu thuộc tính Ai (1 i m) là kiểu nguyên tố. Hai đối tượng oi, oj

thuộc lớp mờ C ở mức phân hoạch k, được coi là trùng lặp (bị dư thừa) nếu

∀h= 1,2, . . . , m,∀oi.Ah∃oj.Ah:oi.Ah≈koj.Ah, và ngược lại. Dùng ký hiệuoi≈koj

để nói rằng oi trùng lặp (bị dư thừa) đối với oj theo mức phân hoạch k (k {k1, k2, . . . , km}).

Ví dụ 3.1. Cho một lớp mờ C với tập thuộc tính Attr(C) = {tenHV, tuoi}, và

o1(C) = <tenHV: An, tuoi: 18>;

o2(C) = <tenHV: Binh, tuoi: trẻ>;

o3(C) = <tenHV: Huong, tuoi: 32>;

o4(C) = <tenHV: Nhan, tuoi: 34>.

Giả sử k ={0, 1}. Khi đó, mức phân hoạch cho thuộc tính tenHVk = 0 và k =1 cho thuộc tính tuoi. Nghĩa là, chỉ xây dựng mức phân hoạch cho thuộc tính mờ của lớp đối tượng.

Xét ĐSGT của biến ngôn ngữ tuoi, trong đó Dtuoi = [0, 100], các phần tử sinh là {0, trẻ, W, già, 1}, tập các gia tử là {ít, khả năng, hơn, rất}, F Dtuoi =

Htuoi(trẻ) Htuoi(già).

Chọnf m(trẻ) = 0.4,f m(già) = 0.6, µ(khả năng) = 0.25,µ(ít) = 0.2,µ(hơn) = 0.15 và µ(rất) = 0.4. Đoạn [0, 100] được phân hoạch thành 5 khoảng tương tự mức 1 và tương tự cách tính ở ví dụ 3.1 các khoảng tương tự như sau: S(0) = [0, 16), S(trẻ) = [16, 32), S(W) = [32, 52), S(già) = [52, 76), và S(1) = [76, 100]. Từ đó, ta có lân cận mức 1 của các lớp tương tự như sau: F N1(0) = [0, 16),

F N1(trẻ) = [16, 32), F N1(W) = [32, 52), F N1(già) = [52, 76) và F N1(1) = [76, 100].

o1.tuoi = 18, o2.tuoi = trẻ F N1(trẻ), và o3.tuoi = 32, o4.tuoi = 34

F N1(W).

Dễ dàng nhận thấy rằngo11o2 và o31o4, nghĩa là o1 dư thừa đối với o2 và

o3 dư thừa đối với o4 với mức phân hoạch k= 1.

Để loại bỏ những đối tượng mờ dư thừa theo mức phân hoạch ktrong lớp C, chúng ta thực hiện kết hợp những đối tượng dư thừa lại với nhau cho đến khi không còn tồn tại hai đối tượng mờ thừa đối với nhau nữa.

Choo1 và oj là hai đối tượng dư thừa mức k trong lớpC, để loại bỏ dư thừa này sẽ thực hiện kết hợp o1 và oj thành một đối tượng o mới. Có ba loại thao tác kết hợp cho các đối tượng mờ để đáp ứng các yêu cầu khác nhau trong các thao tác đối tượng.

o=merge∪k(oi, oj) =< merge∪k(oi.A1, oj.A1), merge∪k(oi.A2, oj.A2), . . . , merge∪k(oi.An, oj.An) > o= merge−k(oi, oj) =< merge−k(oi.A1, oj.A1), merge−k(oi.A2, oj.A2), . . . , merge−k(oi.An, oj.An) > o=merge∩k(oi, oj) =< merge∩k(oi.A1, oj.A1), merge∩k(oi.A2, oj.A2), . . . , merge∩k(oi.An, oj.An) >

(3.1)

Thuộc tính mờ của đối tượng được xem như là thuộc tính ngôn ngữ và được biểu diễn theo cấu trúc ĐSGT. Từ đó, xây dựng phân hoạch các lớp tương tự mức k cho các thuộc tính ngôn ngữ. Xác định giá trị ngôn ngữ thuộc lớp tương tự mức k và từ đó xác định được khoảng giá trị [a, b] tương ứng cho các giá trị thuộc tính.

Do vậy, các thao tác kết hợp giá trị thuộc tính của hai đối tượng là các phép giao, hợp, trừ trên các khoảng.

- merge∪k(oi.A1,oj.A1): hợp hai khoảng oi.A1 = [a, b] và oj.A1 = [c, d]. - merge∩k(oi.A1,oj.A1): giao hai khoảng oi.A1 = [a, b] và oj.A1 = [c, d]. - merge−k(oi.A1,oj.A1): trừ hai khoảng oi.A1 = [a, b] và oj.A1 = [c, d]. Có các trường hợp sau

2. nếu c ∈/ [a, b], và d [a, b] thì kết quả phép trừ là [d, b]. 3. nếu [c, d] [a, b] thì kết quả phép trừ là [a, c] [d, b]. 4. nếu [c, d] [a, b] = thì kết quả phép trừ là [a, b].

3.2. Các phép toán đại số mờ

Các phép toán đại số là cơ sở lý thuyết cho việc xử lý và truy vấn dữ liệu trong các mô hình CSDL. Trong cơ sở dữ liệu quan hệ có một tập chuẩn các phép toán đại số, khi nghiên cứu mô hình CSDL quan hệ mờ các tác giã đã mở rộng các phép toán đại số này thành các phép toán đại số quan hệ mờ sao cho phù hợp với mô hình mình nghiên cứu điển hình như trong Umano và Fukami 1994 [43]; Ma và Mili 2002 [36]; Hồ Cẩm Hà 2002 [4]. Tương tự như vậy, trong CSDL HĐT, đại số đối tượng đã được phát triển cho mô hình này (Alhajj and Arkun 1993 [14]; Zamulin 2002 [52]; Li Yan, Z.M.Ma, Fu Zhang 2012 [37]), và đó là cơ sở toán học để thực thi và xử lý các truy vấn đối tượng, và các phép toán bao gồm phép chọn, phép chiếu, phép tích Cartesian, phép kết nối, phép giao, phép hợp và phép trừ.

Trong nghiên cứu mô hình CSDL HĐT với thông tin mờ và không chắc chắn, các phép toán đại số cho mô hình này được xây dựng bằng cách mở rộng tương ứng các phép toán trên mô hình CSDL HĐT truyền thống dựa trên định lượng ngữ nghĩa của đại số gia tử. Dựa trên cơ sở đó chúng tôi mở rộng các định nghĩa của các phép toán trên mô hình CSDL HĐT truyền thống thành các định nghĩa tương ứng của các phép toán trên mô hình CSDL HĐT mờ với thông tin ngôn ngữ sao cho nhất quán với mô hình này. Các phép toán đại số gồm: phép chọn mờ và phép chiếu mờ, phép tích mờ (×k), phép kết nối mờ (1k), phép hợp mờ (∪k), phép trừ mờ (−k), phép giao mờ (∩k).

3.2.1. Phép chọn mờ

Đối với các đối tượng mờ, phép toán đại số là phép chọn mờ. Một phép lựa chọn được xem như một qui trình chọn ra các đối tượng của lớp thỏa mãn điều kiện lựa chọn. Vấn đề đặt ra ở đây làm thế nào để xác định một đối tượng thỏa

mãn điều kiện lựa chọn. Trước tiên, chúng ta xem xét cú pháp của điều kiện chọn cho việc chọn đối tượng mờ.

Trong CSDL quan hệ truyền thống, điều kiện lựa chọn được ký hiệu là vị từP

được tạo thành thông qua việc kết hợp mệnh đề cơ bản "XθY" như các toán hạng với các phép toán¬ (not), (and) và(or), trong đó θ∈ {>, <,==,≥,≤},X

là thuộc tính, Y có thể là hằng số, các thuộc tính hoặc biểu thức mà biểu thức này được tạo thành thông qua việc kết hợp các hằng số, các thuộc tính hoặc các biểu thức với các phép toán số học. Đối với CSDL mờ, thuộc tính và hằng số trong "X θ Y" có thể mờ, và ngoài ra "θ" có thể là các phép toán so sánh mờ, chẳng hạn {>k, <k,≥k,≤k,≈k}, trong đó k là mức phân hoạch. Các phép toán so sánh mờ {>k, <k,≥k,≤k,≈k} có cùng tính chất với các phép toán so sánh cổ điển {>, <,==,≥,≤}. Từ đó, một biểu thức mờ cơ bản được hình thành và sử dụng như một dạng vị từ mờ, ký hiệu là Pf, được xem như một điều kiện lựa chọn mờ.

Cho C là lớp mờ, Pf là một vị từ mờ được ký hiệu là điều kiện lựa chọn và

k là mức phân hoạch. Việc lựa chọn Pf trên C với mức phân hoạch k được định nghĩa như sau:

σPf(C) ={o(C)|o(C)∧Pf(o)} (3.2)

Ví dụ 3.2. Cho một lớp mờ C với tập thuộc tính Attr(C) = {tenHV, khoa, tuoi}, và o1(C) = <tenHV: An, khoa: CS, tuoi: 18>;

o2(C) = <tenHV: Binh, khoa: IS, tuoi: trẻ>;

o3(C) = <tenHV: Huong, khoa: CS,tuoi: 32>;

o4(C) = <tenHV: Nhan, khoa: IS,tuoi: 34>.

Chọn các đối tượng thỏa mãn Pf: khoa = ’IS’ tuoi =’trẻ’. Từ điều kiện chọn mờ ta có k = 0 cho thuộc tính khoa và k = 1 cho thuộc tính tuoi. Từ đó xây dựng lân cận mức k = 1 cho thuộc tính tuoi.

Từ ví dụ (3.1), ta có lân cận mức 1 của các lớp tương tự cho thuộc tính tuoi như sau: F N1(0) = [0, 16), F N1(trẻ)= [16, 32), F N1(W) = [32, 52), F N1(già) = [52, 76) và F N1(1) = [76, 100]. Vậy, o1.tuoi = 18, o2.tuoi = trẻ F N1(trẻ).

3.2.2. Phép chiếu mờ

Cho một lớp C′S là tập con của tập thuộc tính lớp C′. Một lớp mới C

được tạo thành từ phép chiếu của C′ trên S là bỏ đi các thuộc tính Attr(C’) - S từ C′ và chỉ giữ lại các thuộc tính S trong C′. Rõ ràng rằng S Attr(C’) và Attr(C) = S. Mỗi đối tượng trong C′ trở thành một đối tượng mới mà tập thuộc tính của các đối tượng này chỉ gồm những thuộc tính S và bỏ đi những thuộc tính Attr(C’) - S. Rõ ràng, có thể có sự dư thừa trong các đối tượng mới. Sau khi loại bỏ sự dư thừa có thể, các đối tượng mới tạo thành lớp C. Phép chiếu của C′ trên S được định nghĩa như sau:

C = ∏k

S(C′) ={o(C)|(∀o′)(o′(C′)∧o[S] =o′[S]∧o=merge∪k(o[S])} (3.3)

Ví dụ 3.3. Một lớp mờ C với tập thuộc tính Attr(C) = {tenHV, khoa, tuoi} đã cho ở ví dụ 3.2. Thực hiện phép chiếu trên hai thuộc tính khoa, tuoi và mức phân hoạch k = 1. Ta có ∏1

{khoa,tuoi}(C′), các đối tượng thuộc lớp C′ với tập

thuộc tính Attr(C’) = {khoa, tuoi} là

o1(C) = <khoa: CS, tuoi: 18>;

o2(C) = <khoa: IS, tuoi: 32>;

o3(C) = <khoa: CS,tuoi: 34>.

3.2.3. Phép tích mờ

Phép tích mờ củaC1 vàC2 là một lớp mớiC, trong đó gồm có các thuộc tính chung của C1 và C2, cũng như các thuộc tính thành viên của C1 và C2. Thông thường, yêu cầu trong phép tích mờ Attr’(C1) Attr’(C2) = . Các đối tượng của lớp C được tạo ra từ việc kết hợp các đối tượng từ lớp C1 và C2, trong đó lớp C chứa các thuộc tính Attr’(C1) và Attr’(C2).

C = C1×kC2 = {o(C)|(∀o1)(∀o2)(o1(C1)∧o2(C2)∧o[Attr′(C1)] =

o1[Attr′(C1)] o[Attr(C2)] =o2[Attr′(C2)])} (3.4)

3.2.4. Phép kết nối mờ

Phép kết nối mờ là phép kết nối hai lớp lại với nhau, bằng cách kết hợp tất cả các cặp đối tượng trong hai lớp mà thỏa mãn điều kiện đã cho. Cho hai lớp

mờ C1, C2 và vị từ điều kiện mờ Pf, sự kết nối giữa C1 và C2 thông qua Pf

sẽ tạo thành một lớp mới C. Pf là vị từ điều kiện mờ có dạng "A θ B", với

θ ∈ {>k, <k,≥k,≤k,≈k}, A Attr’(C1), và B Attr’(C2). Dựa trên Pf cũng như mối quan hệ giữa Attr’(C1) và Attr’(C2), chúng ta có thể xác định các phép toán kết nối mờ khác nhau.

a. Attr’(C1) Attr’(C2) = : nghĩa là không có thuộc tính chung trong C1

C2. Trong trường hợp này, phép kết nối mờ thực chất là một phép tích có điều kiện: chỉ những đối tượng thỏa mãn Pf tương ứng trong C1 và C2 thì được kết hợp tạo thành nhóm. Lớp mới C chứa các thuộc tính Attr’(C1) và Attr’(C2). Phép kết nối mờ được định nghĩa như sau:

C =C1◃ ▹PfC2 = {o(C)|(∃o1)(∃o2)(o1(C1)∧o2(C2)∧Pf(o1, o2)

o[Attr′(C1)] =o1[Attr′(C1)]∧o[Attr′(C2)] =o2[Attr′(C2)])} (3.5)

Thực ra trường hợp này sẽ là: C = C1◃ ▹k

Một phần của tài liệu cơ sở dữ liệu hướng đối tượng với thông tin ngôn ngữ mờ (Trang 76)