Phép chọn 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 83)

Đố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

PfC2 = σPf(C1×C2)

b. Attr’(C1) Attr’(C2) ̸=: nghĩa là có một vài thuộc tính chung trong C1

C2.

Trong trường hợp này, còn có thêm hai trường hợp:

(i) TrongPf,AB không đồng thời thuộc Attr’(C1)Attr’(C2) và Attr’(C1)

̸

= Attr’(C2). Khi đó Attr’(C) = Attr’(C1) (Attr’(C2) - (Attr’(C1)

Attr’(C2))) và có

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

o[Attr′(C1)(Attr′(C1)∩Attr′(C2))] =o1[Attr′(C1)

(Attr′(C1)∩Attr′(C2))]∧o[Attr′(C1)∩Attr′(C2)] = merge∩k(o1[Attr′(C1)∩Attr′(C2)], o2[Attr′(C1)

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

(3.6)

(ii) Trong Pf,AB đồng thời thuộc Attr’(C1) Attr’(C2) và Aθ B là A≈k

B. Khi đó phép kết nối trở thành phép kết nối tự nhiên mờ, ký hiệu C =

Các đối tượng của lớp C được tạo ra bởi thành phần của các đối tượng từ

C1vàC2, mà ngữ nghĩa của nó tương đương trên Attr’(C1)Attr’(C2) theo mức phân hoạch đã cho. Tuy nhiên, cần lưu ý rằng, Attr’(C1) Attr’(C2)

̸

= nghĩa là C1 và C2 có các thuộc tính xấp xỉ mức k cho các thuộc tính trong Attr’(C1) Attr’(C2). Đây là một yêu cầu không thể thiếu cần phải được thỏa mãn trong phép kết nối mờ.

C = C1◃ ▹kC2 = {o(C)|(∃o1)(∃o2)(o1(C1)∧o2(C2)∧o[Attr′(C1)

(Attr′(C1)∩Attr′(C2))] =o1[Attr′(C1)−Attr′(C1)∩Attr′(C2)]

o[Attr′(C1)∩Attr′(C2)] =merge∩k(o1[Attr′(C1)∩Attr′(C2)], o2[Attr′(C1)∩Attr′(C2)])∧o[Attr′(C2)(Attr′(C1)

∩Attr′(C2))] =o2[Attr′(C2)(Attr′(C1)∩Attr′(C2))])}

(3.7)

Ví dụ 3.4. Cho một lớp mờ C1, C2 với tập thuộc tính Attr(C1) = {khoa, tuoi} và Attr(C2) = {ten, trinhDo, tuoi}.

Lớp mờ C1 có hai đối tượng: o11(C1) = <khoa: CS, tuoi: 18>;

o12(C1) = < khoa: CS, tuoi: 34> Lớp mờ C2 có hai đối tượng:

o21(C2) = <tenHV: An, trinhDo: DH, tuoi: trẻ>;

o22(C2) = <tenHV: Binh, trinhDo: DH, tuoi: trung niên> Xây dựng các lớp tương tự mức k =1 cho thuộc tính tuoi, vì thuộc tính này gây ra tính mờ cho lớp C1 và C2. 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 C = C1◃▹1C2, với Attr(C) = {ten, khoa, trinhDo, tuoi}, là

o1(C) = <tenHV: An, khoa: CS, trinhDo: DH, tuoi: 18>

o2(C) = <tenHV: Binh, khoa: CS, trinhDo: DH, tuoi: 34>

3.2.5. Phép hợp mờ

Để thực hiện phép hợp mờ giữa C1 và C2 thì cần Attr’(C1) = Attr’(C2), có nghĩa rằng tất cả các thuộc tính tương ứng trong C1 và C2 phải hoàn toàn như

nhau. Cho một lớp mới C là phép hợp mờ giữa C1 và C2, và các đối tượng của lớp C bao gồm 3 loại đối tượng như sau:

a. Đối tượng của hai loại đầu tiên là những đối tượng được lấy trực tiếp từ mỗi lớp thành phần (ví dụ C1) và không dư thừa với bất kỳ đối tượng có trong lớp thành phần khác (ví dụ như C2) với mức phân hoạch k.

b. Loại đối tượng cuối cùng là các đối tượng mà kết quả là hợp nhất các đối tượng dư thừa từ hai lớp thành phần. Với k là mức phân hoạch, chúng ta có:

C = C1∪k C2 ={o(C)|(∀o2)(∃o1)(o2(C2)∧o1(C1)∧o=o1)

(∀o1)(∃o2)(o1(C1)∧o2(C2)∧o=o2)

(∃o2)(∃o1)(o1(C1)∧o2(C2)∧o= merge∪k(o1, o2)}

(3.8)

Ví dụ 3.5. Cho một lớp mờ C1, C2 với tập thuộc tính Attr(C1) = Attr(C2) = {khoa, tuoi}.

Lớp mờ C1 có hai đối tượng: o11(C1) = <khoa: CS, tuoi: 18>;

o12(C1) = <khoa: IS, tuoi: 34> Lớp mờ C2 có ba đối tượng: o21(C1) = < khoa: CS, tuoi: trẻ>;

o22(C1) = < khoa: IS, tuoi: trung niên>;

o23(C1) = < khoa: IS, tuoi: 16>.

Xây dựng các lớp tương tự với mức phân hoạchk = 1 cho thuộc tính tuoi, vì thuộc tính này gây ra tính mờ cho lớpC1 vàC2. 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 C = C11C2, với Attr(C) = {khoa, tuoi} là

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

o2(C) = <khoa: IS, tuoi: trung niên>;

o3(C) = < khoa: IS, tuoi: 16>

3.2.6. Phép giao mờ

Phép giao mờ giữa C1 và C2 tạo ra một lớp C là sự kết hợp các đối tượng chung của hai lớp, với Attr’(C1) = Attr’(C2), có nghĩa rằng tất cả các thuộc tính

tương ứng trongC1 vàC2 phải hoàn toàn như nhau. Cho một lớp mớiC là phép giao mờ giữa C1 và C2, k là mức phân hoạch. Ta có

C =C1∩kC2= {o(C)|(∃o2)(∃o1)(o1(C1)∧o2(C2) =merge∩k(o1, o2)} (3.9)

Ví dụ 3.6. Cho một lớp mờ C1, C2 với tập thuộc tính Attr(C1) = Attr(C2) = {khoa, tuoi}.

Lớp mờ C1 có hai đối tượng: o11(C1) = <khoa: CS, tuoi: 18>;

o12(C1) = <khoa: IS, tuoi: 34> Lớp mờ C2 có ba đối tượng: o21(C2) = < khoa: CS, tuoi: trẻ>;

o22(C2) = < khoa: IS, tuoi: trung niên>;

o23(C2) = < khoa: IS, tuoi: 16>.

Xây dựng các lớp tương tự với mức phân hoạchk = 1 cho thuộc tính tuoi, vì thuộc tính này gây ra tính mờ cho lớpC1 vàC2. Từ ví dụ 3.2, 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 C = C1∩kC2, với Attr(C) = {khoa, tuoi} là

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

o2(C) = <khoa: IS, tuoi: 34> .

3.2.7. Phép trừ mờ

Để thực hiện phép trừ mờ giữa C1 và C2 thì cần Attr’(C1) = Attr’(C2), có nghĩa rằng tất cả các thuộc tính tương ứng trong C1 và C2 phải hoàn toàn như nhau. Cho một lớp mới C là phép trừ mờ giữa C1 và C1, k là mức phân hoạch. Ta có

C =C1−kC2 = {o(C)|(∀o2)(∃o1)(o2(C2)∧o1(C1)∧o= o1) (3.10)

Ví dụ 3.7. Cho một lớp mờ C1, C2 với tập thuộc tính Attr(C1) = Attr(C2) = {khoa, tuoi}.

Lớp mờ C1 có ba đối tượng:o11(C1) = <khoa: CS, tuoi: 18>;

o13(C1) = < khoa: IS, tuoi: 16>. Lớp mờ C2 có hai đối tượng: o21(C2) = < khoa: CS, tuoi: trẻ>;

o22(C2) = < khoa: IS, tuoi: trung niên> Xây dựng các lớp tương tự với mức phân hoạch k =1 cho thuộc tính tuoi vì thuộc tính này gây ra tính mờ cho lớpC1 vàC2. 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 C = C1−kC2, với Attr(C) = {khoa, tuoi} là

o1(C) = < khoa: IS, tuoi: 16>

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