Lớp đối tượng Sinh Viên

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 56)

Lớp SinhVien được miêu tả bởi tập thuộc tính tenSV, tuoi, chieuCao, can- Nang, và phương thứcsucKhoe(). Bảng 2.1 là một số thể hiện của lớp SinhVien, để đơn giản giới hạn bảng dữ liệu chỉ gồm những thuộc tính.

Bảng 2.1 Thể hiện của lớp SinhVienSinhVien SinhVien

iDSV tenSV tuoi chieuCao canN ang sucKhoe()

Id1 An trẻ hơn cao khoảng 62

Id2 Binh [21, 25] [1.62, 1.68] khoảng 60

Id3 Hà [26, 30] [1.63, 1.66] ít nặng

Id4 Hương [15, 24] cao ít nhẹ

Id5 Nhân hơn trẻ khoảng 1.45 ni

Id6 Thủy khoảng 18 khả năng cao [58, 60]

Phụ thuộctuoi∼→f a chieuCaothỏa mãn định nghĩa phụ thuộc thuộc tính mờ trong lớp SinhVien.

Thật vậy, 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(già) Htuoi(trẻ). Chọn f m(già) = 0.6, f m(trẻ) = 0.4, µ(khả năng) = 0.25, µ(ít) = 0.2, µ(hơn) = 0.15 và µ(rất) = 0.4.

ĐSGT của biến ngôn ngữ chieuCao, trong đó DchieuCao = [0, 2], các phần tử sinh là {0, thấp, W, cao, 1}, tập các gia tử là {ít, khả năng, hơn, rất},

F DchieuCao = HchieuCao(cao) HchieuCao(thấp). Chọnf m(thấp) = 0.6,f m(cao) = 0.4, µ(khả năng) = 0.2, µ(ít) = 0.2, µ(hơn) = 0.3 và µ(rất) = 0.3. Chúng ta thực hiện các bước sau:

Bước 1. Chuyển các giá trị thuộc tínhtuoichieuCao thành các giá trị khoảng. 1. Thuộc tính tuoi:

Áp dụng phương pháp 1 ở mục 1.5.7.1 để chuyển giá trị thuộc tính là giá trị số thành các giá trị khoảng.

Xây dựng ngữ nghĩa định lượng cho thuộc tính trong trường hợp giá trị thuộc tính là giá trị ngôn ngữ. Dựa trên ĐSGT của biến ngôntuoi, phân hoạch đoạn [0, 100] thành các khoảng tương tự mức 1 và 2:

- Khoảng tương tự mức 1: f m(rất trẻ)×100 = 0.4×0.4×100 = 16. vậy S(0) = [0, 16). (f m(khả năng trẻ) + f m(hơn trẻ))×100 = (0.25×0.4 + 0.15×0.4)×100 = 16, vậy S(trẻ) = [16, 32). Và bằng

cách tính tương tự ta có S(W) = [32, 52), S(già) = [52, 76), S(1)

= [76, 100].

- Khoảng tương tự mức 2: f m(rất rất trẻ)×100 = 0.4×0.4×0.4×

100 = 6.4. vậy S(0) = [0, 6.4]. (f m(khả năng rất trẻ) + f m(hơn rất trẻ))×100 = (0.45×0.25×0.4 + 0.15×0.4×0.4)×100 = 6.4,

vậy S(rất trẻ) = (6.4, 12.8]. Và bằng cách tính tương tự ta có các khoảng là: S(hơn trẻ) = (18.4, 20.8], S(trẻ) = (20.8, 26], S(khả năng trẻ) = (26, 30], S(ít trẻ) = (35.2, 38.4], S(W) = (38.4, 42.4],

S(ít già) = (42.4, 47.2], S(khả năng già) = (55, 61], S(già) = (61, 68.8], S(hơn già) = (68.8, 72.4], S(rất già) = (80.8, 90.4], S(1) = (90.4, 100].

2. Thuộc tính chieuCao:

Áp dụng phương pháp 1 ở mục 1.5.7.1 để chuyển giá trị thuộc tính là giá trị số thành các giá trị khoảng.

Xây dựng ngữ nghĩa định lượng cho thuộc tính trong trường hợp giá trị thuộc tính là giá trị ngôn ngữ. Dựa trên biến ngôn ngữ chieuCao

được cho ở trên, ta phân hoạch đoạn [0, 2] thành các khoảng tương tự mức 1 và 2. Bằng cách tính tương tự như trên ta có các khoảng tương mức 1 là: S(1) = (1.76, 2], S(cao) = (1.36, 1.76], S(W) = (0.96, 1.36],

S(thấp) = (0.36, 0.96], S(0) = [0, 0.36]; và mức 2 là: S(1) = (1.928, 2], S(rất cao) = (1.808, 1.928], S(hơn cao) = (1.568, 1.688], S(cao) = (1.472, 1.568], S(khả năng cao) = (1.392, 1.472], S(ít cao) = (1.232, 1.312],S(W) = (1.152, 1.232], S(ít thấp) = (1.032, 1.152], S(khả năng thấp)= (0.792, 0.912],S(thấp) = (0.648, 0.792],S(hơn thấp) = (0.468, 0.648], S(rất thấp) = (0.108, 0.288], S(0) = [0, 0.108].

Kết quả sau khi chuyển các giá trị thuộc tính về giá trị khoảng được thể hiện ở bảng 2.2 (a).

Bước 2. Từ ĐSGT của biến ngôn ngữ các thuộc tính, ta đi xây dựng các khoảng mờ.

1. Thuộc tính tuoi: Ta có fm(rất già) = 24, fm(hơn già) = 9, fm(khả năng già) = 15, fm(ít già) = 12,fm(rất trẻ) = 16,fm(hơn trẻ) = 6, fm(khả năng trẻ) = 10, fm(ít trẻ) = 8.

Các khoảng mờ tương ứng: (rất trẻ) = [0, 16], (hơn trẻ) = [16, 22],

(khả năng trẻ) = [22, 32],(ít trẻ) = [32, 40], (ít già) = [40, 52], (khả năng già) = [52, 67], (hơn già) = [67, 76], (rất già) = [76, 100].

2. Thuộc tính chieuCao: Ta có fm(rất thấp) = 0.48, fm(hơn thấp) = 0.18,

fm(khả năng thấp) = 0.3, fm(ít thấp) = 0.24, fm(ít cao) = 0.16, fm(khả năng cao) = 0.2, fm(hơn cao) = 0.12, fm(rất cao) = 0.32.

Các khoảng mờ tương ứng: (rất thấp) = [0, 0.36], (hơn thấp) = [0.36, 0.72],(khả năng thấp) = [0.72, 0.96],(ít thấp) = [0.96, 1.2],(ít cao) = [1.2, 1.36],(khả năng cao) = [1.36, 1.52],(hơn cao) = [1.52, 1.76],(rất cao) = [1.76, 2].

Bước 3. Đối sánh các giá trị khoảng của thuộc tính và các khoảng mờ. Kết quả được cho ở bảng 2.2 (b).

Bảng 2.2 Thể hiện của lớp SinhVien khi chuyển về giá trị khoảng và đối sánh vớicác khoảng mờ của thuộc tính. các khoảng mờ của thuộc tính.

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

iDSV tenSV tuoi chieuCao

Id1 An [20.8, 26] [1.568, 1.688] Id2 Binh [21, 25] [1.62, 1.68] Id3 Hà [27, 30] [1.63, 1.66] Id4 Hương [15, 24] [1.472, 1.568] Id5 Nhân [18.4, 20.8] [1.4, 1.5] Id6 Thủy [17, 19] [1.392, 1.472]

(b) Kết quả thực hiện bước 3 SinhVien

iDSV tenSV tuoi chieuCao

Id1 An [22, 32] [1.52, 1.76] Id2 Binh [22, 32] [1.52, 1.76] Id3 Hà [22, 32] [1.52, 1.76] Id4 Hương [16, 22] [1.36, 1.52] Id5 Nhân [16, 22] [1.36, 1.52] Id6 Thủy [16, 22] [1.36, 1.52]

Từ bảng 2.2 (b), dễ dàng nhận thấy rằng phụ thuộctuoi∼→f a chieuCao thỏa mãn định nghĩa phụ thuộc thuộc tính mờ.

Bổ đề 2.1. Cho lớp mờ C với tập thuộc tính U, X U, A U, X∼→f a A, nếu A được thay thế bởi tập thuộc tính {A1, A2, . . . , Ak} trong C thì X∼→f a Ai,

i = 1,2, . . . , k.

Chứng minh.X∼→f a Anên với o1, o2 bất kỳ thuộc lớp đối tượng mờ C, ta có

SP(o1.A, o2.A)≥SP(o1.X, o2.X) và vì A được thay thế bởiA1, A2, . . . , Ak nên

SP(o1.A, o2.A)= min(SP(o1.Ai, o2.Ai)),i= 1,2, . . . , k. Do đóSP(o1.Ai, o2.Ai)

SP(o1.X, o2.X), i = 1,2, . . . , k. Theo định nghĩa phụ thuộc hàm mờ, suy ra

X∼→f a Ai, i= 1. . . k.

Định lý 2.1. Phụ thuộc hàm trong cơ sở dữ liệu quan hệ thỏa mãn định nghĩa phụ thuộc thuộc tính mờ trong CSDL HĐT mờ.

Chứng minh. Cho quan hệr(U)thỏa mãn phụ thuộc hàmX →Y, vớiX, Y ⊆U. Nên ∀t1, t2 r, t1[X] = t2[X] thì t1[Y] = t2[Y]. Giả sử U là tập các thuộc tính của lớp mờ C thì ∀o1, o2 C ta có: SP(o1.X, o2.X) =SP(o1.Y, o2.Y) = 1.

Do đó, SP(o1.X, o2.X) SP(o1.Y, o2.Y). Theo định nghĩa phụ thuộc thuộc tính mờ trong CSDL HĐT mờ X∼→f a Y.

Dựa vào định lý 2.1, có thể thấy rằng việc chuyển đổi từ mô hình quan hệ sang mô hình hướng đối tượng, các phụ thuộc hàm giữa các thuộc tính được bảo toàn.

2.2.2. Các luật suy dẫn trên phụ thuộc thuộc tính mờ

U là tập các thuộc tính của lớp C; X, Y, W ⊆U, các luật suy dẫn được xác định như sau:

Luật 2.1: Phản xạ. Nếu Y ⊆X thì X ∼→f a Y.

Luật 2.2: Tăng trưởng. Nếu X ∼→f a YZ ⊆U thì XZ ∼→f a Y Z.

Luật 2.3: Bắc cầu. Nếu X ∼→f a YY ∼→f a Z thì X ∼→f a Z.

Bổ đề 2.2. Các luật suy dẫn 2.1 đến 2.3 là đúng đắn và đầy đủ. Chứng minh.

a. Tính đúng đắn của các luật suy dẫn.

1. Vì Y X nên SP(o1.X, o2.X) SP(o1.Y, o2.Y) với ∀o1, o2 là các đối tượng của C. Theo định nghĩa phụ thuộc hàm mờ ta có X∼→f a Y.

2. vì X∼→f a Y được thỏa mãn trong lớp đối tượng mờ C, nên SP(o1.X, o2.X)

SP(o1.Y, o2.Y) với ∀o1, o2 là các đối tượng của C. Ngoài ra, chúng ta có min {SP(o1.X,o2.X),SP(o1.W,o2.W)}min {SP(o1.Y,o2.Y),SP(o1.W,o2.W)}, nên SP(o1.XW, o2.XW)} ≤ SP(o1.Y W, o2.Y W). Theo định nghĩa phụ thuộc hàm mờ ta có XW ∼→f a Y W.

3. vìX∼→f a YY ∼→f a ZthìSP(o1.X,o2.X)≤SP(o1.Y,o2.Y)vàSP(o1.Y,

o2.Y)≤SP(o1.Z,o2.Z)với∀o1, o2là các đối tượng của C. Chúng ta có,SP(o1.X,

o2.X) ≤SP(o1.Z, o2.Z). Theo định nghĩa phụ thuộc hàm mờ ta có X∼→f a Z. b. Tính đầy đủ của các luật suy dẫn

Các luật suy dẫn này chính là sự mở rộng các luật suy dẫn trong trường hợp kinh điển nên việc chứng minh tính đầy đủ của các luật suy dẫn này tương tự trường hợp kinh điển.

2.3. Phụ thuộc phương thức mờ trong lớp đối tượng

Mối quan hệ giữa phương thức với các thuộc tính trong lớp đối tượng mờ được xác định thông qua việc phương thức sử dụng các thuộc tính đó trong quá trình xử lý. Mối quan hệ như vậy được gọi là phụ thuộc phương thức mờ.

Định nghĩa 2.4. ChoMj là một phương thức của một lớp C, X ⊆U nhận giá trị đơn (giá trị rõ hoặc mờ). Ta nói Mj phụ thuộc mờ vào X (phụ thuộc phương thức mờ), ký hiệu X ∼→f m Mj, nếuX được sử dụng (đọc, sửa đổi,...) bởi Mj. Các luật suy dẫn của phụ thuộc phương thức mờ như sau:

Luật 2.4: Nếu X ∼→f m MjY ∼→f m Mj thì XY ∼→f m Mj.

Luật 2.5: Nếu X ∼→f m MiX ∼→f m Mj thì X ∼→f m MiMj.

Luật 2.6: Nếu X ∼→f m MjY ⊆X thì Y ∼→f m Mj.

Ví dụ 2.5. Phụ thuộc phương thức mờ của lớp SinhVien ở ví dụ 2.4 là{tuoi,chieuCao} f m

2.4. Truy vấn Null và lập luận tương tự

2.4.1. Các giá trị Null

Trong nghiên cứu về CSDL theo mô hình quan hệ, thông tin không đầy đủ được biểu diễn bằng các giá trị Null. Nhiều người sử dụng thuật ngữ này với những ý nghĩa khác nhau. Nói chung có các trường hợp như sau [4]:

1. Những giá trị không tồn tại, thường kí hiệu là noe(nonexistent). Nếunoe

xuất hiện ở đối tượng o C ứng với một thuộc tính A thì điều đó được hiểu là bất cứ một phần tử nào thuộc Dom(A) cũng không thể là giá trị của đối tượng o∈ C trên thuộc tính A. Nói cách khác, đối tượng o∈C là thông tin về một đối tượng mà đối tượng này không thể xét thuộc tính A. Ví dụ, không thể có tên cơ quan của một người đang thất nghiệp.

2. Những giá trị tồn tại nhưng chưa biết tại thời điểm đang xét, thường kí hiệu là unk(unknown). Nếu unk xuất hiện ở đối tượng o C tương ứng với một thuộc tính A thì điều đó được hiểu là bất cứ một phần tử nào thuộc Dom(A) cũng có thể là giá trị của đối tượng o C trên thuộc tính

A. Nói cách khác, biết rằng đối tượng o∈ C có một giá trị trên thuộc tính

Anhưng giá trị đó là gì thì chưa xác định được. Ví dụ biết An đi làm bằng xe của anh ta nhưng không hề biết xe anh ta màu gì.

3. Không có thông tin về một thuộc tính A của đối tượng o C, thường ký hiệu là ni (no-information), chúng ta không biết một giá trị xác định, lại cũng không rơi vào tình huống nào trong hai loại Null kể trên. Chẳng hạn chúng ta không biết nhà An có điện thoại hay không khi xét thuộc tính điện thoại của An.

2.4.2. Truy vấn Null

Một câu truy vấn được xem là truy vấn Null khi nó nhận được câu trả lời Null từ CSDL. Câu trả lời Null có thể được sinh ra do nhiều nguyên nhân khác nhau. Nguyên nhân thứ nhất, là khi dữ liệu trong CSDL không thỏa mãn điều kiện của câu truy vấn. Nguyên nhân tiếp theo, là do dữ liệu không tồn tại trong

CSDL, chẳng hạn chúng ta truy vấn các đối tượng từ lớp C, nhưng chúng không tồn tại trong CSDL. Một nguyên nhân nữa, đó là do thông tin không đầy đủ trong CSDL, nguyên nhân này thường là do giá trị thuộc tính của một số đối tượng bị thiếu.

Luận án tập trung nghiên cứu mô hình CSDL HĐT với thông tin mờ và không chắc chắn, vì vậy, với những thông tin không đầy đủ của các giá trị thuộc tính trong mô hình này chính là nguyên nhân gây ra dữ liệu bị thiếu và khi truy vấn dữ liệu câu trả lời Null có thể được sinh ra (1), (2).

Ví dụ 2.6. Cho một lớp mờ C với tập thuộc tính Attr(C) = {ten, quocGia, ngonNgu, mauMat}, và

o1(C) = <ten: An, quocGia: My, ngonNgu: Anh, mauMat: xanh>;

o2(C) = <ten: Binh, quocGia: VietNam, ngonNgu: Viet, mauMat: den>;

o3(C) = <ten: Quoc, quocGia: My, ngonNgu: Anh, mauMat: nau>;

o4(C) = <ten: Hai, quocGia: My, ngonNgu: ni, mauMat: den>;

Xét câu truy vấn “Cho biết ngôn ngữ của Hai”. Rõ ràng, câu trả lời Null được sinh ra, bởi thuộc tính ngonNgu của Hai bị thiếu. Ta có thể giả thiết rằng có câu trả lời gần đúng cho câu trả lời Null đó là ngôn ngữ của HaiAnh. Bởi vì, quốc gia của HaiMy và có thể tìm thấy ngôn ngữ trong tập các đối tượng có quốc gia MyAnh, đây chính là ngôn ngữ củaAnQuoc vì quốc gia của An

QuocMy. Tất nhiên, câu trả lời xấp xỉ có thể không đúng vì do ngôn ngữ của Hai có thể là Viet hoặc ngôn ngữ khác. Tuy nhiên, việc có được trả lời xấp xỉ vẫn tốt hơn là không có câu trả lời khi truy vấn dữ liệu.

2.4.3. Lập luận tương tự

Lập luận tương tự là một công cụ suy diễn quan trọng trong nghiên cứu trí tuệ nhân tạo. Trong lý thuyết lập luận tương tự, nếu gọi S là đối tượng nguồn,

T là đối tượng đích, đối tượng nguồn và đích có tính chất tương tự nhau là P. Khi đó, nếu S có tính chất P′ thì chúng ta suy ra T có thể cũng có P′ dựa vào tính chất P có trong cả ST. Sơ đồ, có thể được biểu diễn như sau:

Từ ví dụ 2.6, ta có

{quocGia(An, My) and ngonNgu(An, Anh) and quocGia(Hai, My)

ngonNgu(Hai, Anh)}

Trong thực tế, trong quá trình suy diễn nếu chọn tính chất P không đúng dẫn đến kết quả P′ sẽ có khả năng sai. Chẳng hạn, màu mắt của Hai là màu

den, và có thể tìm thấy ngôn ngữ trong tập các đối tượng có màu mắt den

Viet, đây chính là ngôn ngữ của Binh nên ngôn ngữ của Hai cũng là Viet, và câu trả lời xấp xỉ này là sai. Rõ ràng, thuộc tính quốc gia quan trọng hơn cho việc xác định ngôn ngữ bản xứ hơn là thuộc tính màu mắt.

Do đó, cần có một phương pháp định lượng cho thuộc tính P để nhận được kết quả P′ là đúng, và việc áp dụng phụ thuộc hàm cho quá trình suy diễn là hoàn toàn có thể. Bởi vì, dựa trên lý thuyết của phụ thuộc hàm nếu một lớp C

thỏa phụ thuộc hàmf thì với mọi đối tượngo∈ C nếu bằng (hoặc xấp xỉ) nhau trên X thì cũng bằng (hoặc xấp xỉ) nhau trên Y, với X, Y Attr(C).

Có hai vấn đề có thể giải quyết trong quá trình lập luận:

- Thứ nhất, đó là xác định tính chất tương tự nhau P giữa đối tượng nguồn và đích, chẳng hạn, thuộc tính quốc gia như ở ví dụ trên.

- Thứ hai, là tính chất (thuộc tính) P trong cả ST có thể xác định tính chất (thuộc tính) Q không rõ. Vấn đề này liên quan đến phụ thuộc hàm (mờ) giữa các thuộc tính.

Lập luận tương tự có thể áp dụng để tìm ra câu trả lời gần đúng cho truy vấn Null khá hiệu quả. Trong phần tiếp theo, sẽ trình bày các thuật toán tìm ra câu trả lời gần đúng cho cả hai vấn đề của quá trình suy diễn.

2.4.4. Thuật toán tìm câu trả lời gần đúng cho truy vấn

Null

1. Trường hợp sử dụng tính chất tương tự nhau P trong đối tượng

Để xây dựng thuật toán trong trường hợp này, chúng ta dựa vào tính chất tương tự nhau về thuộc tính giữa các đối tượng, cụ thể như sau:

1. Ma trận b là ma trận độ tương tự giữa các thuộc tính, dựa trên khái niệm ái lực thuộc tính (attribute affinity) do Hoffer và Severance [42] đề xuất và độ đo cosin chúng ta có thể tính được các trọng số của ma trận này. Từ ma trận độ tương tự này chúng ta xác định thuộc tính liên quan nhất đến thuộc tính mà có giá trị thuộc tính chưa định nghĩa.

2. Xây dựng các khoảng tương tự mức k, k≤4 thường thì chỉ có tối đa 4 gia tử tác động liên tiếp lên phần tử nguyên thủy của c−c+ cho hai thuộc tính liên quan được xác định ở bước 1.

3. Sử dụng lý thuyết suy diễn tương tự để xác định giá trị thuộc tính chưa định nghĩa.

Từ đó, thuật toán NQAO thực hiện truy vấn Null cho thuộc tính được xây dựng như sau:

Thuật toán NQAO (Null Queries for Attributes Objects)

Vào: 1. Một lớp C với m thuộc tính vàp phương thức; O= {o1, o2, ..., on} ∈ C. Trong đó: (o1, o2, ..., on−1).[A1, A2, ..., Am] vàon.[A1, A2, ..., Am−1] được xác định (có nghĩa là giá trị dữ liệu tồn tại) vàon.Am chưa được định nghĩa (có nghĩa là giá trị dữ liệu bị thiếu).

2. Ma trận b, là ma trận độ tương tự thể hiện sự liên quan giữa các thuộc tính.

Ra: Trả về giá trị tương tự gần đúng cho on.Am.

Phương pháp:

//Dựa vào ma trận b xác định thuộc tính Ah (1≤h≤m−1) có liên quan //nhất đối với thuộc tính chưa biết Am

(1) µ = 1 - b[1, m]; (2) For i = 1 to m do

(4) Begin

(5) h = i;

(6) µ = 1 - b[i, m];

(7) End

//Chọn độ đo tính mờ và xây dựng các khoảng tương tự cho hai thuộc tính // liên quan h và m (8) t = h; (9) For d = 1 to 2 do (10) Begin (11) GAt = {0, c−, W, c+, 1}; HAt= HA+t ∪HA−t. Trong đó HA+ t= {h1, h2}, HA− t = {h3, h4}, với h1 < h2 và h3 > h4. Chọn độ đo tính mờ cho các phần tử sinh và gia tử.

(12) DAt = [minAt,maxAt] // giá trị nhỏ nhất và lớn nhất miền trị giá trị At. (13) F DAt =HAt(c+A

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 56)