Mô hình lớp đối tượng mờ

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

1.5.7.1 Chuyển các giá trị thuộc tính về giá trị khoảng [a, b]

Giá trị thuộc tính mờ là hợp của hai thành phần giá trị rõ và giá trị mờ. Đối với giá trị rõ, các kiểu dữ liệu bao gồm các loại đơn giản như số nguyên, thực, chuỗi. Đối với giá trị mờ, giá trị ngôn ngữ thường được sử dụng để biểu diễn thông tin không chính xác. Như vậy, ta cần phải có phương pháp biểu diễn một cách thống nhất các dạng dữ liệu, nhằm thuận tiện cho việc đánh giá quan hệ gần nhau giữa chúng.

Trong phần này, sẽ trình bày phương pháp biến đổi các giá trị này về các khoảng [a, b] tương ứng. Với phương pháp biểu diễn này, sẽ xem xét các kiểu dữ liệu khác nhau trên một quan điểm thống nhất. Phương pháp chuyển về giá trị khoảng được thực hiện như sau:

1. Giá trị thuộc tính là giá trị số:

Nếu giá trị thuộc tính là athì chuyển thành[a, a]. Ví dụ, giá trị thuộc tính a = 10 thì khi chuyển thành khoảng sẽ là [10, 10].

Nếu giá trị thuộc tính là vào khoảng a thì chuyển thành[a−ε, a+ε], với εlà bán kính với tâma. Ví dụ, giá trị thuộc tính là vào khoảng 10 và chọn ε = 1 thì khi chuyển thành giá trị khoảng sẽ là [9, 11].

Nếu giá trị thuộc tính là a đến b thì chuyển thành [a, b]. Ví dụ, nếu giá trị thuộc tính là 24 đến 26 thì khi chuyển thành giá trị khoảng sẽ là [24, 26].

2. Giá trị thuộc tính là giá trị ngôn ngữ:

Thuộc tính 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 thuộc tính ngôn ngữ này.

Xác định giá trị ngôn ngữ thuộc lớp tương tự mứck và từ đó xác định được khoảng giá trị tương ứng cho giá trị thuộc tính này.

1.5.7.2 Định nghĩa lớp mờ

Các lớp trong CSDL HĐT mờ có thể mờ. Theo đó, một đối tượng thuộc một lớp tùy theo mức k và một lớp là lớp con của một lớp khác theo mức k (k∈ Z+). Trong CSDL HĐT, một lớp được xác định bởi mối quan hệ kế thừa, thuộc tính và phương thức. Về mặt hình thức, định nghĩa của một lớp mờ được thể hiện như sau:

CLASS tên lớp INHERITES

tên lớp thứ 1 WITH LEVEL OF mức 1 ...

tên lớp thứ n WITH LEVEL OF mức n

ATTRIBUTES

tên thuộc tính thứ 1: [FUZZY] DOMAIN dom 1: TYPE OF kiểu 1 ...

METHODS ...

END

Ví dụ 1.3. Cho một lớp “Nhân viên trẻ” như sau: CLASS NhanVienTre{

Oid: alllD hoTen: string

tuoi: [fuzzy] domain [18...60]: int queQuan: string

HSL: [fuzzy] domain [0...0.75]: float SLSP: [fuzzy] domain [0...30]: int }

Dưới đây, là một số đối tượng của lớp NhanVienTre (ký hiệu C):

o1(C) = <Oid:oid1,hoTen: An,tuoi: 27,queQuan: Hue,HSL: 2.67,SLSP: 15>;

o2(C)= <Oid: oid2, hoTen: Binh, tuoi: “khoảng 30”, queQuan: Hue, HSL: “ít thấp”, SLSP: “rất cao”>;

o3(C)= <Oid:oid3, hoTen: Hoa, tuoi: “khá trẻ”, queQuan: HaNoi, HSL: “khả năng ít thấp”, SLSP: “khả năng cao”>;

o4(C) = <Oid: oid4, hoTen: Binh, tuoi: “ít khá trẻ”, queQuan: HaNoi, HSL: “khoảng 3.0”, SLSP: “khoảng 17”>;

Khi cần xác định mức độ thuộc của các đối tượng vào lớp, ta chỉ cần xác định mức trong quan hệ bằng nhau của thuộc tính tuổi.

Trước tiên, ta xem miền trị của thuộc tính tuổi là một đại số gia tử và được xác định như sau: G ={0, trẻ, W, già, 1}, H− = {gần, ít}, H+ = {khá, rất}. Các tham số mờ f m(trẻ) = 0.42; f m(già) = 0.58, µ(rất) = 0.2; µ(khá) = 0.28;

µ(gần) = 0.27; µ(ít) = 0.25, và miền trị của thuộc tính tuổi của những người đang công tác là DOMtuoi = [18, 60]. (adsbygoogle = window.adsbygoogle || []).push({});

1.5.7.1 để chuyển về các giá trị khoảng:

o1.Tuổi = 27, sẽ chuyển thành o1.Tuổi = [27, 27].

o2.Tuổi = “khoảng 30”, sẽ chuyển thành o2.Tuổi = [29, 31].

Đối với giá trị thuộc tính là ngôn ngữ, ta sử dụng phương pháp 2 ở mục 1.5.7.1 để chuyển về các giá trị khoảng. Các lân cận mức k được xây dựng như sau: Với k = 1, ta có: f m(rất trẻ) = 0.2*0.42*42 = 3.528, vậy I(rất trẻ) = [18, 21.528]; f m(khá trẻ) = 0.28*0.42*42 = 4.9392, vậy I(khá trẻ) = (21.528, 26.4672] f m(ít khá trẻ) = 0.25*0.28*0.42*42 = 1.2342, vậy I(ít khá trẻ) = (25.2324, 26.4672] Với k = 2, ta có: f m(ít khá trẻ) = 0.25*0.28*0.42*42 = 1.2342, vậy I(ít khá trẻ) = (25.2324, 26.4672].

I(khá trẻ) = I(khá khá trẻ) I(gần khá trẻ), mà f m(khá khá trẻ) = 0.28 *0.28*0.42*42 = 1.382976 và f m(gần khá trẻ) = 0.27 *0.28*0.42*42 = 1.333584, vậy I(khá trẻ) = (22.51584, 25.2324].

Với k = 3, tương tư cách tính k = 2, ta có: I(khá trẻ) = (23.55308, 24.16554], và I((ít khá trẻ) = (25.4794, 26.1585].

Với “Nhân Viên Trẻ”, ta có các lớp tương đươngF Nk(trẻ) như sau:

F N1(trẻ) = I(khá trẻ) I(gần trẻ) = (21.5280, 31.23].

F N2(trẻ) = I(ít khá trẻ) I(rất gần trẻ) = (25.2324, 27.91476].

F N3(trẻ) = I(ít ít khá trẻ) I(rất rất gần trẻ) = (26.1585, 26.2767]. Vậy, sử dụng định nghĩa trên ta được các đối tượng thuộc vào lớp “Nhân Viên Trẻ” như sau:

Khi k = 1, cả o1, o2, o3, o4 đều thuộc lớp “Nhân Viên Trẻ”, vì:

o1.Tuổi = [27, 27] F N1(trẻ); o2.Tuổi = [29, 31] F N1(trẻ); o3.Tuổi = [21.5280, 26.4672] F N1(trẻ); o4.Tuổi = [25.2324, 26.4672] F N1(trẻ);

Khi k = 2, cả o1, o4 thuộc lớp “Nhân Viên Trẻ”, vì:

o1.Tuổi = [27, 27] F N2(trẻ); o4.Tuổi = [25.2324, 26.4672] F N2(trẻ); và khi k = 3, không có đối tượng nào thuộc lớp “Nhân Viên Trẻ”.

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