Truy vấn dữ liệu

Một phần của tài liệu Cơ sở dữ liệu mờ và ứng dụng (Trang 66)

4.1.1 Hỏi mềm dẻo

Khẳng định mờ

Khi thực hiện truy vấn dữ liệu, đôi khi cần thiết biểu diễn các tham chiếu cũng nhƣ phân biệt các giá trị thỏa mãn điều kiện hoặc không thỏa mãn điều kiện theo các cung bậc. Để thực hiện điều này có một số giải pháp thực hiện và một giải pháp đƣa ra là biểu diễn các giá trị mơ hồ trên cơ sở tập mờ. Ứng dụng lý thuyết tập mờ để mô hình hóa các thuộc tính theo mức độ thỏa mãn theo cấp độ. Ví dụ một câu truy vấn tìm kiếm “vị trí đặt nhà xƣởng sản xuất không quá đắt và phải gần bến cảng” là một ví dụ về biểu diễn mức độ. Một câu hỏi mềm dẻo tốt sẽ trả về kết quả nhƣ có dạng sau: kết quả thứ nhất là rỗng theo phƣơng pháp truy vấn kinh điển (bởi câu hỏi yêu cầu nhiều điều kiện hơn), tiếp đó sẽ trả về các kết quả đƣợc sắp xếp theo mức độ phù hợp giảm dần.

Một câu hỏi bao gồm giá trị mờ hồ đƣợc biểu diễn bởi các tập mờ bằng sử dụng một số kiểu toán tử xây (constructor). Những khẳng định trong tập mờ trên một hay nhiều miền trị Di là một ánh xạ từ D1 x D2 x... Dn vào đoạn giá trị [0, 1]; ví dụ nhƣ các giá trị “cao”, “mới”, “đắt” ... Trong thực tế, hàm dạng hình thang thƣờng đƣợc sử dụng để biểu diễn các dạng giá trị mơ hồ (vào khoảng) . Biểu diễn giá trị mờ qua giá trị rõ hầu hết thông qua các hàm từ [0, 1] vào [0, 1] và đƣợc áp dụng vào các hàm quan hệ mờ để biểu diễn tác động của các giá trị ngôn ngữ mức

độ nhƣ “rất”, “ít”, “nhiều” ... [6] Các hàm biến đổi (Modifiers functions) giá trị đó có các dạng sau:

1. µmod p(x) = (µp(x))n (n > 1 đối với tổ hợp và n<1 đối với giá trị riêng lẻ) 2. µmod p(x) = On(µp(x)) trong đó O là một ma trận cho tập hợp

3. µmod p(x) = µp(x ± a)

Các điều kiện phức hợp đƣợc biểu diễn bằng biểu thức logic sẽ đƣợc biểu diễn bằng các phép toán tập mờ. Lý thuyết tập mờ đƣợc ứng dụng để liên kết cũng nhƣ tách rời các cấp độ của giá trị. Áp dụng lý thuyết tập mờ để biến đổi, chuẩn hóa các điều kiện:

mini max(µp(Ai(x)), 1-wi) = maxi min (µp(Ai(x)), wi)

trong đó wi là một trọng số quan trọng của mệnh đề trên thuộc tính Ai trong yêu cầu. Trọng số đƣợc xem nhƣ thỏa mãn trong điều kiện chuẩn: maxi wi = 1. Dễ thấy tất cả các phần tử của mệnh đề là bằng nhau mạnh (i, wi = 1).

Ví dụ: Tiếp theo ví dụ tìm kiếm “vị trí đặt nhà xƣởng sản xuất không quá đắt và phải gần bến cảng” đã đề cập ở trên

min (max (µch(price), 1 - wch)), max (µs - 1(area), 1 - ws-1) =

min (µch(price), max (µs - 1(area), 1 - ws-1))

Các phát biểu định lượng mờ

Các khẳng định mờ áp dụng với các phần tử của một tập các giá trị là một ánh xạ từ tất cả các phần tử đến tập đơn vị. [6] Có hai dạng lƣợng từ mờ phân biệt:

1. “Q các phần tử của tập X thỏa mãn khẳng định mờ A” đƣợc biểu diễn (“Q X’s are A”).

2. “Q các phần tử của tập X thỏa mãn khẳng định mờ B cũng sẽ thỏa mãn khẳng định mờ A” đƣợc biểu diễn (“Q X’s B are A”).

Lƣợng từ mờ đƣợc giới thiệu lần đầu tiên bởi Zadeh [4] để biểu diễn các biểu thức ngôn ngữ nhƣ “nhiều”, “ít nhất một tá”. Lƣợng từ tuyệt đối đƣợc biểu diễn bằng số mà mỗi số đại diện cho một tỷ lệ. Lƣợng từ tuyệt đối đƣợc biểu diễn bởi hàm Q từ một số nguyên (hoặc thực) vào [0, 1] và lƣợng từ có liên quan đƣợc biểu diễn bởi một hàm Q từ [0, 1] đến [0, 1]. Trong cả hai trƣờng hợp giá trị Q(j) định nghĩa giá trị thật của phát biểu “Q X’s are A” khi phần tử j trong X thỏa mãn đầy đủ A (A trở thành không thỏa mãn với các phần tử còn lại ).

Có một số cách xác định giá trị thực của lƣợng từ kiểu “Q X’s are A”. Cách đầu tiên dựa trên cơ sở nguyên lý mở rộng:

có hàm ff(a1) = f(a2) = ... = f(an) và luận cứ mờ X, khả năng sự kiện “f(X) = c” là phát biểu “Q X’s are A”, hàm f đƣợc biểu diễn bởi Q và X là yếu tố mờ cf và giá trị mờ thật Q(cf) đƣợc biểu diễn bằng phân bố khả năng.

Những phƣơng pháp khác sử dụng sự tƣơng tự giữa trƣờng hợp A là một khẳng định và A cũng là một khẳng định mờ. Trƣờng hợp thứ nhất, những phần tử thuộc X thỏa mãn A từ một tập hợp có yếu tố mờ c là rõ và Q(c) là cấp độ thực của “Q X’s are A”. Trong trƣờng hợp này, tập hợp các phần tử của X thoả mãn A là mờ. Yếu tố mờ cf là lƣợng từ mờ. Zadeh đã đề xuất một yếu tố mờ cf bằng biểu thức ΣCount(A). Cấp độ của “Q X’s are A” là hoàn toàn xác định đƣợc.

Đề xuất “Q X’s are A” kéo theo tiến trình so sánh mẫu. Sự thay đổi đƣợc coi là một khẳng định mờ và cf đƣợc xem nhƣ phân bố khả năng. Hai cấp độ đƣợc tính toán biểu diễn sự mở rộng của khả năng : khả năng-đáp ứng, cần-thỏa mãn. Mối liên hệ giữa các phƣơng pháp này là mờ đầy đủ đã đƣợc nghiên cứu. Một cách tiếp cận rất khác đƣợc đề xuất: mọi lƣợng từ đƣợc định nghĩa bằng tổ hợp tuyến tính của lƣợng từ không (ANY) và lƣợng từ mọi (ALL).

Q X’s are A” là α * e + (1- α) * u

Trong đó e và u là các giá trị thực của phát biểu: “ít nhất một X là A” và “all X’s are A ”.

e = supxXµA(x) và u = inf xXµA(x).

Lƣợng từ của phát biểu “Q X’s B are A”. Zadeh đề xuất phần tử thỏa mãn A và thoả mãn B:

p = Σ Count(A∩B) / Σ Count(B). Và giá trị thực của “Q X’s B are A” là Q(p).

Phát biểu tổng hợp

Truy vấn với các giá trị lớn nhất, nhỏ nhất, trung bình cộng, và các giá trị khác là một hàm vô hƣớng trên tập các đối tƣợng cụ thể trong cách biểu diễn mờ. Một ví dụ nhƣ truy vấn: “Lƣơng trung bình của những nhân viên trẻ là bao nhiêu?”. Có nhiều cách tiếp cận để trả lời câu hỏi này, chúng đều dựa trên cơ sở tập mờ với hệ số cắt α. Khả năng giá trị hàm f(A) trong đó f là một hàm tập hợp và A là một tập mờ và là tập mờ của giá trị N:

µN(r) = sup{α  [0, 1]| f(A α) = r} Trong đó A α là α cắt của A.

Ví dụ: Có quan hệ nhân viên NHANVIEN(Ma#, Ten, Luong, Tuoi) NHANVIEN (adsbygoogle = window.adsbygoogle || []).push({});

Ma# Ten Luong Tuoi µYOUNG

1 An 3500000 25 0.6

2 Hƣơng 4000000 30 1.0

3 Lan 2600000 24 0.9

4 Cƣờng 3000000 28 0.5

Bảng 4-1: Mối quan hệ tuổi trung bình và lương (tháng)

Kết quả của truy vấn mờ “Mức lƣơng trung bình của những ngƣời trẻ tuổi” :

N = 1/avg(4000000) + 0.9/avg(4000000,2600000) + 0.6/avg(4000000, 2600000,3500000) + 0.5/avg(4000000, 2600000,3500000,3000000)

4.1.2 Truy vấn mờ trong cơ sở dữ liệu quan hệ

Dựa trên lý thuyết khả năng

Truy vấn cơ sở dữ liệu quan hệ với những giá trị thuộc tính không đầy đủ đƣợc biểu diễn bằng phân bố khả năng. Ví dụ biểu diễn tuổi của John và số hạng “Trung niên”.

Hình 4-2: Tuổi của John và căn cứ “Trung niên”

µΠP(t) = Π(P; A(t)) = supdD min (µP (d), µA(t) (d))

µΠP(t) =N(P; A(t)) = 1 - Π(

__

P; A(t))

= 1 - supdD U {e} min (___p (d).A(t)(d)) = 1 - inf dD U {e} max(µP (d), 1- πA(t)(d)) Ví dụ: [6]

Hình 4-3: Tuổi của John = “Trung niên”

Tuổi 1

0

... min(πage(u), µp (u))

Tuổi 1

0

... max(1-πage(u), µp (u))

0.17

Căn cứ (Tuổi của John)

Tuổi 1

0

P D

BOOLEAN (Logic) VAGUE (Mơ hồ) (adsbygoogle = window.adsbygoogle || []).push({});

Precise (rõ) Π, N  {0, 1} Π=N= 1 nếu d  P Π, N  [0, 1] (d) 0 với các trƣờng hợp khác Π, N  {0, 1} Π= 1 nếu D ∩ P ≠Ø Π=N= µp(d) Π, N  [0, 1] Π= 1 nếu D ∩ core(P) ≠Ø Interval (giãn cách)

0 với các trƣờng hợp khác = 0 nếu D ∩ supp(P) ≠Ø (D) N = 1 nếu DP, 0 với các trƣờng hợp khác Π, N  [0, 1] Π= 1 nếu core(D) ∩ P ≠Ø 0 nếu supp(D) ∩ P ≠Ø N = 1 nếu Dcore(P) 0 nếu x  D  µp(x) = 0 Π, N  [0, 1]

Π= 1 nếu core(D) ∩ core(P) ≠Ø 0 nếu supp(D) ∩ supp(P) ≠Ø Fuzzy N = 1 nếu supp(D)(P) N = 1 nếu supp(D)core(P) (D) 0 nếu x  core(D)  x  P N > 0 => Π= 1 Π < 1=> N = 0 0 nếu x mà x  core(D)  x  supp(D) Π N

Bảng 4-4: Một số các đặc trưng của khả năng và cấp độ cần thiết

4.1.3 Hỏi mềm dẻo trong cơ sở dữ liệu quan hệ kinh điển

Phần này đề cập đến cách thức hỏi mềm dẻo với một cơ sở dữ liệu quan hệ kinh điển, nhằm trả về các kết quả ở các cấp độ ít hơn hoặc nhiều hơn nào đó so với cách hỏi truyền thống trong Cơ sở dữ liệu kinh điển. Đã có nhiều nỗ lực nghiên cứu và giới thiệu một số cách hỏi mềm dẻo trong cơ sở dữ liệu quan hệ kinh điển, đƣợc phân làm 2 dạng chủ yếu sau [6]:

i) Hỏi dựa trên các tập mờ và các khẳng định của nó

ii) Hỏi trên cơ sở các bổ sung cụ thể vào các hệ thống quan hệ đó

Mở rộng số học đối với hỏi mềm dẻo

Cách mở rộng này sử dụng lý thuyết tập mờ và sự bổ sung các thuộc tính thể hiện cấp độ vào các bộ trong quan hệ. Cơ sở lý thuyết tập mờ đƣợc áp dụng ở đây

µR x S (xy) = min (µR (x), µS (y))

µR  S (x) = max (µR (x), µS (x))

µR  S (x) = min (µR (x), µS (x))

µR ÷ S (x) = µR __S (x) = min (µR (x), 1- µS (y)) Ví dụ : Có 2 quan hệ :

SANPHAM(Ma_sp#, Ten_sp, Sl_thuc, Gia) DONHANG(Ma_sp#, Sl_dh)

Có thể biểu diễn câu hỏi “Tìm số lƣợng đơn hàng và tên hàng của mọi mặt hàng có số lƣợng đặt hànglớn hơn số lƣợng thực có trong kho” nhƣ sau:

πMa_sp# (Sl_thuc << Sl_dh (SANPHAM |><|Ma_sp# = Ma_sp DONHANG )) x  RA ÷ A S  S  Ґ -1 (x) khi Ґ -1 (x) = {a | (x, a)  R} Có thể biểu diễn phép chia bằng quan hệ mờ nhƣ sau:

)) , ( ) ( ( inf ) (x a S S a f R a x S RA A        aS1n(S(a),R(a,x))/aS1n(S(a))

4.2 Ngôn ngữ truy vấn mờ có cấu trúc (FSQL)

FSQL (Fuzzy Structured Query Language) là mở rộng của SQL. Vì vậy những truy vấn đúng trong FSQL thì cũng đúng trong SQL. Hƣớng mở rộng các toán tử và phép toán trong SQL để thu đƣợc FSQL rất có ý nghĩa trong thực tiễn bởi hiện đa số các cơ sở dữ liệu hiện có đều là cơ sở dữ liệu quan hệ rõ và nhu cầu hỏi mềm dẻo ngày càng cao trong các ứng dụng đƣợc xây dựng. Phần này chỉ giới thiệu các bổ sung chính vào SQL để thu đƣợc FSQL.

4.2.1 Nhãn ngữ nghĩa

[10] Nếu có thể xử lý mờ trên một thuộc tính thì có thể định nghĩa các nhãn ngữ nghĩa trên nó. Các nhãn này sẽ đƣợc bổ sung thêm ký hiệu $ ở đầu để có thể phân biệt chúng một cách dễ dàng. Có hai loại nhãn đƣợc sử dụng ở các kiểu thuộc tính khác nhau:

Nhãn cho các thuộc tính mờ với một miền mờ có thứ tự (ordered underlined fuzzy domain). Nhãn này đƣợc sử dụng trong thuộc tính mờ loại 1 và loại 2.

Nhãn cho các thuộc tính mờ với một miền mờ không có thứ tự (noordered underlined fuzzy domain). Nhãn này đƣợc sử dụng trong thuộc tính mờ loại 3 và loại 4.

4.2.2 Các phép so sánh

Trong FSQL, các phép so sánh truyền thống (=, >, <, ...) đƣợc chuyển thành các phép so sánh mờ. Cũng giống nhƣ SQL, các phép so sánh mờ một cột với một hằng số hoặc so sánh giữa hai cột có cùng kiểu dữ liệu. Có rất nhiều phép so sánh mờ, tuy nhiên luận văn chỉ đề cập đến một số phép so sánh mờ thƣờng đƣợc sử dụng [10]:

Phép so sánh mờ Ý nghĩa

FEQ Phép bằng mờ

FGT Phép lớn hơn mờ

FDIF Phép khác mờ (adsbygoogle = window.adsbygoogle || []).push({});

FGEQ Phép lớn hơn hoặc bằng mờ

FLT Phép nhở hơn mờ

FLEQ Phép nhỏ hơn hoặc bằng mờ

MGT Phép lớn hơn rất nhiều mờ

MLT Phép nhỏ hơn rất nhiều mờ

4.2.3 Các hằng số mờ

Bên cạnh hằng số truyền thống NULL, [10] FSQL đƣợc bổ sung thêm các hằng số khác nhƣ : $[a, b, c, d], #n, $nhãn, [n, m], UNKNOWN, UNDEFINED, ...

4.2.4 Các thuộc tính mờ và biểu diễn giá trị mờ

Để mô phỏng các thuộc tính mờ, Medina et al đã chia dữ liệu ra làm hai loại: Miền có thứ tự và miền không có thứ tự. Trong miền có thứ tự có thể biểu diễn bất cứ loại phân bố khả năng hoặc tập mờ nào, tóm lại có thể kết hợp các loại phân bố khả năng sau: dạng hình thang, các nhãn ngữ nghĩa (đƣợc kết hợp với các phân bố khả năng cụ thể), các giá trị xấp xỉ (phân bố khả năng dạng hình tam giác), và các đoạn của khả năng (intervals of possibility). Trong miền không có thứ tự có các vô hƣớng đơn và phân bố khả năng trên các vô hƣớng. Cả hai loại dữ liệu này đều cho phép định nghĩa các giá trị Unknown, Undefined và Null.

Với các khái niệm đó, các thuộc tính mờ, theo Medina et al (1994) và Galindo (1999) [10] đƣợc phân thành 4 loại sau:

Các thuộc tính mờ loại 1: Lƣu trữ với các dữ liệu chính xác hoặc rõ. Tuy nhiên có thể định nghĩa các nhãn ngữ nghĩa trên các thuộc tính này và có thể sử dụng chúng trong các truy vấn mờ. Kiểu dữ liệu này đƣợc biểu diễn nhƣ những dữ liệu chính xác nhƣng có thể đƣợc chuyển đổi hoặc đƣợc thao tác sử dụng các điều kiện mờ. Nó thực sự hữu ích cho việc mở rộng các cơ sở dữ liệu truyền thống khi xây dựng các truy vấn mờ trên dữ liệu chính xác. Ví dụ một truy vấn : “Hãy cho biết các nhân viên có mức lƣơng lớn hơn rất nhiều mức lƣơng tối thiểu”. Các thuộc tính mờ loại 1 đƣợc biểu diễn giống các thuộc tính rõ vì chúng không cho phép lƣu trữ các giá trị mờ.

Các thuộc tính mờ loại 2: Đây là những thuộc tính có thể chứa những dữ liệu không chính xác trên một miền có thứ tự. Nó cho phép lƣu trữ cả dữ liệu rõ và dữ liệu mờ theo dạng phân bố khả năng trên cùng một miền có thứ tự. Thuộc tính này là mở rộng của thuộc tính mờ loại 1 trong đó cho phép lƣu trữ các thông tin không

chính xác. Ví dụ “Lƣơng của Nam khoảng 2000USD/ tháng”. Để biểu diễn một thuộc tính mờ loại 2 cần 5 thuộc tính truyền thống nhƣ trong bảng sau:

Loại giá trị Các thuộc tính trong CSDL với mỗi thuộc tính mờ loại 2

FT F1 F2 F3 F4

UNKNOWN 0 NULL NULL NULL NULL

UNDEFINED 1 NULL NULL NULL NULL

NULL 2 NULL NULL NULL NULL

Giá trị rõ d 3 d NULL NULL NULL

Nhãn 4 FUZZY_ID NULL NULL NULL

[n, m] 5 n NULL NULL m Giá trị xấp xỉ #d 6 d d – cận giới hạn d + cận giới hạn cận giới hạn Hình thang 7 α β γ δ Giá trị xấp xỉ d± m 8 d d-m d-m m Phân bố khả năng -2 9 p1 d1 p2 d2 Phân bố khả năng -4 10 d1 d2 d3 d4

Bảng 4-6: Biểu diễn bên trong của thuộc tính mờ loại 2 (Cho mỗi thuộc tính mờ F)

Trong đó:

FT: Lƣu kiểu giá trị tƣơng ứng với kiểu dữ liệu, nhƣ 0 cho UNKNOWN, 1cho UNDEFINED ,... 10 cho Phân bố khả năng -4.

F1, F2, F3, F4: Các thuộc tính đƣợc thêm vào, lƣu các miêu tả cho các tham số.

Các thuộc tính mờ loại 3: Lƣu trữ dữ liệu của miền vô hƣớng rời rạc (data of discrete nonordered dominion with analogy). Trong các thuộc tính này một số nhãn đƣợc định nghĩa, ví dụ nhƣ màu sắc (“đỏ”, “xanh đen”, “vàng”, ... ) là các vô hƣớng đối với một quan hệ tƣơng tự, quan hệ này chỉ ra phạm vi mỗi cặp nhãn tƣơng đƣơng nhau. Chúng cũng cho phép lƣu trữ các phân phối khả năng (hoặc tập mờ) ví

dụ nhƣ giá trị (1/đen, 0.4/nâu) cho biết một màu gần giống màu đen hơn màu nâu. Các thuộc tính mờ loại3 đƣợc biểu diễn bởi một số các thuộc tính rõ.

Loại giá trị Các thuộc tính trong CSDL với mỗi thuộc tính mờ loại 3 hoặc 4

FT FP1 F1 .... FPn Fn

UNKNOWN 0 NULL NULL ... NULL NULL (adsbygoogle = window.adsbygoogle || []).push({});

UNDEFINED 1 NULL NULL ... NULL NULL

NULL 2 NULL NULL ... NULL NULL

Vô hƣớng đơn 3 P d ... NULL NULL Phân bố khả năng 4 p1 d1 ... pn dn

Bảng 4-7: Biểu diễn bên trong của thuộc tính mờ loại 3 hoặc 4 (Cho mỗi thuộc tính mờ F)

Trong đó:

FT: Lƣu kiểu giá trị tƣơng ứng với kiểu dữ liệu, nhƣ 0 cho UNKNOWN, 1cho UNDEFINED ,... 4 cho Phân bố khả năng.

FT = 3: Trong trƣờng hợp này, việc biểu diễn chỉ cần thêm 2 thuộc tính FP1 và F1, trong đó F1 lƣu định danh nhãn và FP1 lƣu mức phân bố của nhãn.

FT = 4: Trong trƣờng hợp này, việc biểu diễn cần một danh sách 2n với n>1 thuộc tính theo từng cặp (giá trị khả năng/định danh nhãn). Mỗi cặp lƣu FPj/Fj với j = 1 ....n.

Các thuộc tính mờ loại 4: Chúng đƣợc định nghĩa giống các thuộc tính mờ

Một phần của tài liệu Cơ sở dữ liệu mờ và ứng dụng (Trang 66)