Tải bản đầy đủ (.pdf) (71 trang)

Nghiên cứu hệ thống truy vấn mờ ngôn ngữ trên cơ sở dữ liệu quan hệ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.55 MB, 71 trang )

i

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC VINH

VÕ MINH HIẾU

NGHIÊN CỨU HỆ THỐNG TRUY VẤN MỜ
NGÔN NGỮ TRÊN CƠ SỞ DỮ LIỆU QUAN HỆ
Chuyên ngành: Công nghệ thông tin
Mã số: 60 48 02 01

LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN

NGHỆ AN - 2017


ii

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC VINH

VÕ MINH HIẾU

NGHIÊN CỨU HỆ THỐNG TRUY VẤN MỜ
NGÔN NGỮ TRÊN CƠ SỞ DỮ LIỆU QUAN HỆ
Chuyên ngành: Công nghệ thông tin
Mã số: 60 48 02 01

LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN


Người hướng dẫn: TS. Phan Anh Phong

NGHỆ AN - 2017


iii

LỜI CAM ĐOAN
Tơi xin cam đoan đây là cơng trình nghiên cứu của riêng tôi. Các số
liệu và kết quả nghiên cứu trong luận văn là trung thực và chưa hề được
sử dụng để bảo vệ ở một học vị nào. Các thơng tin được lược trích từ
nguồn tài liệu chính thống và được chỉ rõ nguồn gốc rõ ràng. Nếu sai tơi
hồn tồn chịu trách nhiệm.

Học viên thực hiện

Võ Minh Hiếu


iv

LỜI CẢM ƠN

Đầu tiên, tôi xin gửi lời cảm ơn sâu sắc nhất đến thầy giáo TS.
Phan Anh Phong, thầy đã tận tình chỉ bảo, giúp đỡ, định hướng và tạo
điều kiện cho tơi hồn thành luận văn này.
Em cũng xin chân thành cám ơn quý thầy cô khoa Công nghệ
thơng tin, trường Đại học Vinh đã tận tình truyền đạt các kiến thức quý
báo cho em, giúp cho em tiếp cận được nhiều kiến thức chuyên ngành
Sau cùng, em xin kính chúc q thầy cơ khoa Cơng nghệ thơng tin

được dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp
của mình là truyền đạt kiến thức quý báo cho thế hệ mai sau.
Xin chân thành cảm ơn!
Long An, ngày 25 tháng 03 năm 2017
Học viên thực hiện

Võ Minh Hiếu


v

MỤC LỤC
LỜI CẢM ƠN ......................................................................................... iv
MỤC LỤC ................................................................................................ v
DANH MỤC CÁC TỪ VIẾT TẮT ..................................................... viii
DANH MỤC HÌNH ................................................................................ ix
DANH MỤC BẢNG ................................................................................ x
MỞ ĐẦU .................................................................................................. 1
1. Sự cần thiết của vấn đề nghiên cứu ................................................... 1
2. Lịch sử của vấn đề nghiên cứu: ......................................................... 1
3. Mục tiêu nghiên cứu ........................................................................... 2
4. Đối tượng và phạm vi nghiên cứu ..................................................... 3
5. Nội dung nghiên cứu ........................................................................... 3
6. Đóng góp của luận văn ....................................................................... 3
Chương 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU, NGÔN NGỮ SQL
VÀ LÔ-GIC MỜ ..................................................................................... 4
1.1. Tổng quan về cơ sở dữ liệu ................................................................ 4
Mơ hình dữ liệu ............................................................................... 4
Thao tác với cơ sở dữ liệu............................................................... 4
Hệ quản trị cơ sở dữ liệu ................................................................ 4

1.2. Ngôn ngữ SQL ................................................................................... 5
Giới thiệu về SQL ............................................................................ 5
Logic 3–giá trị................................................................................. 6
Hạn chế của mệnh đề where trong câu lệnh SQL .......................... 8
1.3. Logic mờ ............................................................................................ 9


vi

Tập mờ và hàm thuộc ...................................................................... 9
Các phép toán trên tập mờ ............................................................ 10
Biến ngôn ngữ [5] ......................................................................... 13
Gia tử ngôn ngữ [5] ...................................................................... 14
Các lượng từ ngôn ngữ [3] ........................................................... 14
T-norm và S-norm [5] ................................................................... 18
1.4. Kết luận chương 1 ............................................................................ 20
Chương 2. TRUY VẤN MỜ NGÔN NGỮ TRÊN CƠ SỞ DỮ LIỆU
QUAN HỆ .............................................................................................. 21
2.1. Đặt vấn đề ........................................................................................ 21
2.2. Lược đồ của một câu truy vấn ......................................................... 21
Khối lệnh SELECT FROM WHERE cho truy vấn mờ .................. 21
Ví dụ về truy vấn mờ ngơn ngữ ..................................................... 22
2.3. Mơ hình truy vấn mờ ngơn ngữ từ cơ sở dữ liệu quan hệ ............... 24
2.4. Truy vấn ngôn ngữ linh hoạt ............................................................ 25
Tập mờ cho các nhãn ngôn ngữ .................................................... 25
Tính tốn mức độ phù hợp ............................................................ 26
Lựa chọn kết quả theo mức- ....................................................... 29
Ví dụ .............................................................................................. 29
2.5. Truy vấn mờ ngôn ngữ với chỉ số kết hợp tương thích (QCI) ......... 30
Chỉ số kết hợp tương thích ............................................................ 30

Phép And ....................................................................................... 34
Phép Or ......................................................................................... 36
Kết hợp phép And và Or ............................................................... 37
2.6. Truy vấn với lượng từ mờ ................................................................ 38
2.7. Những thuận lợi và khó khăn khi truy vấn mờ ngôn ngữ ................ 40
2.8. Kết luận chương 2 ............................................................................ 41


vii

Chương 3. THỬ NGHIỆM VÀ BÀN LUẬN ...................................... 42
3.1. Cơ sở dữ liệu thử nghiệm ................................................................. 42
3.2. Sơ lược về PostgreSQL .................................................................... 43
3.3. Định nghĩa tập mờ cho các nhãn ngơn ngữ của các thuộc tính ....... 44
3.4. Xây dựng các lượng từ mờ............................................................... 46
3.5. Lựa chọn các kết nối logic ............................................................... 47
3.6. Xây dựng giao diện truy vấn mờ ngôn ngữ ..................................... 50
3.7. Bàn luận ........................................................................................... 53
Những kết quả đạt được ................................................................ 53
Hạn chế ......................................................................................... 53
KẾT LUẬN ............................................................................................ 54
TÀI LIỆU THAM KHẢO .................................................................... 55
PHỤ LỤC ............................................................................................... 57


viii

DANH MỤC CÁC TỪ VIẾT TẮT
Các chữ viết tắt:


Giải nghĩa

BD

Bounded Difference

BS

Bounded Sum

CSDL

Cơ sở dữ liệu

DBMS

DataBase Management System

GLC

Generalized logical condition

QCI

Query Compatibility Index

SQL

Standard query language



ix

DANH MỤC HÌNH
Hình 1.1. Kết quả của câu truy vấn cổ điển .............................................. 4
Hình 1.2. Kết quả của câu truy vấn cổ điển chi tiết. ................................. 9
Hình 1.3. Hợp của hai tập mờ A và B. .................................................... 10
Hình 1.4. Giao của hai tập mờ A và B .................................................... 11
Hình 1.5. Phần bù của tập mờ A ............................................................. 11
Hình 1.6. Tập mờ Q và Q* ...................................................................... 15
Hình 1.7. Tập mờ tốt. .............................................................................. 17
Hình 2.1. Kiến trúc hệ thống truy vấn mờ .............................................. 25
Hình 2.2. Kiến trúc hệ thống truy vấn mờ ở mức thiết kế ứng dụng ...... 26
Hình 2.3. Các tập mờ của câu truy vấn linh hoạt.................................... 28
Hình 2.4 Các giá trị ngôn ngữ phân bổ trên một miền thuộc tính .......... 29
Hình 2.5. Cấu trúc truy vấn với thành phần mờ ..................................... 32
Hình 2.6. Các tập mờ .............................................................................. 34
Hình 3.1: Câu lệnh thêm dữ liệu vào bảng district ................................. 45
Hình 3.2. Giao diện định nghĩa biến, nhãn ngơn ngữ và lượng từ mờ ... 52
Hình 3.3. Giao diện thiết kế và thực thi câu truy vấn mờ ngôn ngữ ...... 53


x

DANH MỤC BẢNG
Bảng 1.1. Toán tử logic 2-giá trị ............................................................... 5
Bảng 1.2. Toán tử logic 3-giá trị ............................................................... 6
Bảng 2.1. Lương nhân viên trong các giới hạn ngôn ngữ ...................... 23
Bảng 2.2. Lương các nhân viên (dữ liệu mờ) ......................................... 24
Bảng 2.3. Kết quả truy vấn mờ. .............................................................. 25

Bảng 2.4. Danh sách các municipality ................................................... 30
Bảng 2.5. Kết quả câu truy cấu mờ municipality có diện tích>8000 ..... 30
Bảng 2.6. Kết quả câu truy cấu mờ chọn các municipality có diện tích
cao ........................................................................................................... 31
Bảng 3.1. Ý nghĩa bảng district .............................................................. 43
Bảng 3.2. Dữ liệu bảng district ............................................................... 45
Bảng 3.3. Miền giá trị “low”, “medium”, “high” của unemployment ... 47
Bảng 3.4. Miền giá trị “low”, “medium”, “high” của area .................... 47
Bảng 3.5. Miền giá trị “low”, “medium”, “high” của population. ......... 47
Bảng 3.6. Miền giá trị “low”, “medium”, “high” của density. ............... 48
Bảng 3.7. Giá trị các lượng từ mờ........................................................... 48
Bảng 3.8. Các giá trị biên của hàm thuộc “low”..................................... 49
Bảng 3.9. Các giá trị biên của hàm thuộc “medium” ............................. 49
Bảng 3.10. Kết quả của câu truy vấn mờ với phép kết nối “or”............. 50
Bảng 3.11. Kết quả của câu truy vấn mờ với phép kết nối “and”. ......... 51


1

MỞ ĐẦU
1. Sự cần thiết của vấn đề nghiên cứu
Trong cuộc sống hằng ngày, chúng ta thường sử dụng các từ như
“thấp” , “trung bình”, “cao” để diễn đạt và truy vấn các đối tượng. Tuy
nhiên, trong các hệ quản trị cơ sở dữ liệu truyền thống, phần lớn dữ liệu
đều được lưu trữ ở dạng chính xác, rõ ràng.
Do nhu cầu thực tế tại đơn vị, đang thực hiện hồ sơ bảo hiểm cho
các đối tượng thất nghiệp theo chính sách của nhà nước. Bên cạnh đó,
các nghiệp vụ liên quan đến thống kê và dự báo từ số liệu bảo hiểm cũng
rất cần thiết. Mục đích của thống kê và dự báo là khơng địi hỏi sự chính
xác tuyệt đối, mà chỉ là các thông tin tham khảo để điều chỉnh một số

chính sách cho phù hợp với tình hình thực tế tại địa phương như đào tạo
nghề hay giới thiệu việc làm. Các yêu cầu kết quả trong thống kê và dự
báo thường là “thấp”, “trung bình”, “cao”...
Tập mờ là một sự mở rộng của tập hợp kinh điển, cho phép xử lý
với thông tin mờ ngôn ngữ, đã và đang được ứng dụng nhiều vào thực
tiễn, như máy giặt điều khiển mờ, máy lạnh điều khiển mờ…
Từ các nguyên nhân trên em chọn đề tài “Nghiên cứu truy vấn mờ
ngôn ngữ trên hệ quản trị cơ sở dữ liệu quan hệ” để làm hướng nghiên
cứu cho luận văn thạc sỹ và phần nào có thể hỗ trợ các thống kê ở đơn vị
công tác.
2. Lịch sử của vấn đề nghiên cứu:
Trong nước cũng như trên thế giới có nhiều đề tài nghiên cứu về
truy vấn mờ trên cơ sở dữ liệu mờ và cơ sở dữ liệu rõ. Có thể liệt kê một
số đề tài, bài báo và tạp chí sau:


2

 Trong nước:
- Phát triển cơ sở dữ liệu quan hệ kinh điển thành cơ sở dữ liệu
mờ, trình bày cách tiếp cận mở rộng cơ sở liệu quan hệ thành cơ sở dữ
liệu mờ dựa trên lý thuyết khả năng (Phạm Vũ Hồng, năm 2006).
- Chuẩn hóa từ cơ sở dữ liệu quan hệ mờ (Trần Quang Duy,
năm 2007).
- Trình bày các chiến lược cập nhật cho CSDL quan hệ mờ dựa
trên phân bố khả năng mở rộng (Phạm Thị Linh, năm 2010).
 Ngoài nước:
- Cải tiến truy vấn mờ với SQL (Fuzzy improment of the SQL Miroslav Hudec, Institute of Informatics and Statistics, Bratislava,
Slovakia, 2012).
- Nghiên cứu phương pháp truy vấn cơ sở dữ liệu mờ (2011

International Conference on Advances in Engineering. A Study on
Database Fuzzy Query Method in SQL – Zhang Peng).
- SQL mờ cho các truy vấn ngôn ngữ (Fuzzy SQL for Linguistic
Queries – Poonam Rathee, Department of Computer Science Aim &Act,
Banasthali Vidyapeeth Rajasthan India – International Journal of
Computer Science Trends and Technology – Volume 1 Issue 1, Jan –
Feb 2015).
- Ứng dụng cơ sở dữ liệu quan hệ mờ trong tin học y khoa
(2011-Application

of

Fuzzy

Relational

Databases

in

medical

informatics).
3. Mục tiêu nghiên cứu
Xây dựng cấu trúc câu truy vấn thông minh với tập mờ và SQL.
SQL mờ cho các câu truy vấn ngôn ngữ.
Triển khai câu truy vấn mờ.


3


Xây dựng chương trình mơ phỏng cho câu truy vấn mờ.
4. Đối tượng và phạm vi nghiên cứu
4.1. Đối tượng nghiên cứu
Logic mờ, lý thuyết tập mờ.
Ngôn ngữ SQL.
Truy vấn SQL với thành phần mờ.
Truy vấn mờ ngôn ngữ dựa trên SQL và logic mờ.
4.2. Phạm vi nghiên cứu
Mô phỏng truy vấn mờ ngôn ngữ trên hệ quản trị CSDL mã
nguồn mở PostgreSQL.
5. Nội dung nghiên cứu
Nghiên cứu các cách tiếp cận truy vấn CSDL bằng ngôn ngữ, xây
dựng hệ thống truy vấn mờ ngôn ngữ trên csdl quan hệ.
6. Đóng góp của luận văn
Nghiên cứu các cách tiếp cận truy vấn CSDL bằng ngôn ngữ.
Xây dựng hệ thống truy vấn mờ ngôn ngữ trên CSDL quan hệ.
Thử nghiệm vào bài toán Quản lý thất nghiệp tại Long An.


4

CHƯƠNG 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU, NGÔN NGỮ
SQL VÀ LÔ-GIC MỜ
1.1. Tổng quan về cơ sở dữ liệu
Mơ hình dữ liệu
Mơ hình dữ liệu là tập hợp các nguyên tắc cho phép mô tả dữ
liệu, mối quan hệ trên dữ liệu và các ràng buộc trên dữ liệu. Mơ hình dữ
liệu quyết định cách thức lưu trữ và phương pháp truy cập dữ liệu. Các
cơ sở dữ liệu (CSDL) có thể khác nhau về chức năng và mơ hình dữ liệu

(data model). Dựa vào từng ngữ cảnh quan hệ giữa các thành phần dữ
liệu trong CSDL, mô hình phức hợp có thể được áp dụng để việc lưu trữ
và truy xuất đạt hiệu quả cao nhất. Một số loại mơ hình dữ liệu như: Mơ
hình dữ liệu mạng; Mơ hình dữ liệu phân cấp; Mơ hình dữ liệu quan hệ;
Mơ hình dữ liệu hướng đối tượng; Mơ hình dữ liệu quan hệ - đối
tượng…
Thao tác với cơ sở dữ liệu
Các thao tác chính với cơ sở dữ liệu bao gồm: Tạo cơ sở dữ liệu
(tạo lập các bảng; thiết lập mối quan hệ giữa các bảng); Cập nhật cơ sở
dữ liệu (thêm thông tin; sửa thông tin; xóa thơng tin); Khai thác cơ sở dữ
liệu (xem dữ liệu, lọc dữ liệu, kết xuất dữ liệu).
Hệ quản trị cơ sở dữ liệu
Hệ quản trị CSDL là một phần mềm giúp tạo các CSDL và cung
cấp cơ chế lưu trữ, truy cập theo các mơ hình CSDL. Hệ quản trị CSDL
khi lưu trữ CSDL cần đảm bảo được tính cấu trúc trong CSDL và ngoài
ra cần phải hỗ trợ việc đọc, chỉnh sửa, thêm và xóa dữ liệu trên CSDL
một cách dễ dàng. Để làm được điều này trên các hệ quản trị CSDL các
nhà quản trị hệ thống thường sử dụng ngôn ngữ truy vấn SQL.


5

1.2. Ngôn ngữ SQL
Giới thiệu về SQL
SQL là một ngôn ngữ truy vấn cho CSDL quan hệ. SQL đã được
giới thiệu lần đầu tiên bởi Chamberlin và Boyce. SQL được chấp nhận
trong nhiều CSDL quan hệ và được sử dụng trong việc lưu trữ và tìm
kiếm số lượng lớn dữ liệu. Một số điểm mạnh của SQL là làm việc tối
ưu với các hệ quản trị CSDL quan hệ và khá dễ hiểu cho người sử dụng.
Phát biểu đơn giản của câu lệnh SQL dạng đơn giản như sau:

SELECT thuộc tính 1, thuộc tính2, …., thuộc tính n.
FROM các bảng (các quan hệ).
WHERE thuộc tính_p > P and thuộc tính_r < R.
Giả sử rằng, có một lỗi nhỏ trong các giá trị dữ liệu thì có thể việc
chọn dữ liệu sẽ khơng đáp ứng thích hợp. Kết quả của câu truy vấn được
minh họa trong hình 1.1.

Hình 1.1: Kết quả của câu truy vấn cổ điển
Giá trị P và R là giới hạn của khơng gian dữ liệu thích hợp. Những
hình vng nhỏ trên hình sẽ hiển thị những bản ghi thỏa mãn và không
thỏa mãn điều kiện câu truy vấn. Trong hình mơ tả rõ ràng có hai bản ghi
rất gần nhau, nhưng việc thỏa điều kiện câu truy vấn lại khác nhau.
Tìm kiếm dữ liệu trong CSDL, người sử dụng phải xác định được


6

dữ liệu thích hợp. Những giá trị biên diễn tả trong mệnh đề WHERE chia
tách những dữ liệu thích hợp và những dữ liệu khơng thích hợp. Nhưng
khơng phải lúc nào người sử dụng cũng xác định dữ liệu thích hợp được
rõ ràng. Trong trường hợp này, người sử dụng không thể xác định được
rõ ràng dữ liệu chia tách giữa dữ liệu thích hợp và khơng thích hợp bằng
giá trị biên hoặc khi người sử dụng muốn thu nhận dữ liệu ở rất gần điều
kiện câu truy vấn.
Logic 3–giá trị
Có nhiều khả năng xảy ra trường hợp khuyết thiếu giá trị dữ liệu
(nulls) trong CSDL, khi đó SQL sử dụng logic 3-giá trị để đáp ứng các
truy vấn. Trong logic 3-giá trị có các giá trị chân lý là true, false và
unknown. Giá trị unknown được sử dụng khi toán hạng bất kỳ là null
trong một thao tác mà kết quả logic đưa ra giống phép so sánh.

Có một cuộc tranh luận lớn cho việc giải quyết vấn đề đưa giá trị
nulls vào trong logic 3-giá trị. Nó được xem như một ngoại lệ. Tuy nhiên
nếu dùng 2 giá trị logic không biểu diễn được hết.
Trong thế giới thực, có những thứ khơng phải lúc nào cũng là trắng
hoặc đen, đơi khi nó là màu xám. Ví dụ, khi một CSDL được truy vấn
như là một phạm nhân được sinh ra trước hay sau năm 1950, câu trả lời
có thể là khơng biết vì năm sinh lưu trữ trong cơ sở dữ liệu bị null.
Trong logic 2-giá trị, các tốn tử logic cơ bản and, or, not được mơ
tả trong bảng 1.1:
Bảng 1.1. Phép toán and, or và not trên logic 2-giá trị
P

Q

P and Q

P or Q

Not P

T

T

T

T

F


T

F

F

T

F

F

T

F

T

T


7

P

Q

P and Q

P or Q


Not P

F

F

F

F

T

Logic 3-giá trị, tương tự như logic 2-giá trị và được bổ sung giá trị
unknown khi làm việc với giá trị nulls như trong bảng 1.2:
Bảng 1.2. Phép toán and, or và not trên logic 3-giá trị
P

Q

P and Q

P or Q

Not P

T

T


T

T

F

T

F

F

T

F

F

T

F

T

T

F

F


F

F

T

unknown

Bất kỳ

Unknown

Unknown

unknown

Trong hệ thống logic 3-giá trị, “unknown”, nó khơng thể xác định là
đúng hay sai, do đó not “unknown” thì được xem như là “unknown”. Nói
cách khác, tốn tử “not” khơng thay đổi giá trị logic của “unknown”.
Ta xét ví dụ sau, trong một cột của CSDL được yêu cầu với phép so
sánh. Năm sinh < 1950 và giá trị lưu trong cột năm sinh bị null, giá trị
logic của phép so sánh sẽ là “unknown”. Đây là trường hợp thực tế bởi vì
giá trị năm sinh có thể là <1950 hoặc >=1950, nhưng giá trị hiện tại lại
bị thiếu. Bởi vậy, có 3 phương án trả lời cho câu truy vấn (năm sinh
<1950): Đúng khi năm sinh < 1950; Sai khi năm sinh >= 1950; và
Unknown khi năm sinh bị thiếu.
Khi đó biểu thức not (năm sinh <1950) sẽ thu kết quả như sau:
Đúng, năm sinh >= 1950; Sai, năm sinh < 1950; Unknown, năm sinh bị
thiếu.
Khi giá trị năm sinh bị thiếu, kết quả năm sinh <1950 và kết quả not

(năm sinh <1950) là giống nhau “unknown”. Các khái niệm đôi khi khó


8

để hiểu, vì vậy giá trị unknown được thêm vào SQL.
Hạn chế của mệnh đề where trong câu lệnh SQL
Hạn chế chính của câu truy vấn cổ điển là những giá trị trong CSDL
rất gần điều kiện câu truy vấn nhưng khơng hiển thị trong kết quả tìm
kiếm. Để nhận được kết quả, người dùng phải mở rộng điều kiện câu
truy vấn cho đến khi nào thỏa chính xác trong CSDL. Đơn giản là hệ
thống câu truy vấn cổ điển tạo một chọn lọc cứng nhắc. Để mở rộng các
dữ liệu được chọn từ CSDL thì người dùng phải làm giảm độ chính xác
trong câu truy vấn. Có hai vấn đề cần xem xét: một là thay đổi các điều
kiện biên trong mệnh đề WHERE, hai là thay đổi cách tính trong mệnh
đề WHERE.
Xét câu lệnh SQL sau đây:
SELECT thuộc tính 1,…,thuộc tính_n
FROM T (table / các bảng / các quan hệ)
WHERE thuộc tính_p > P and thuộc tính_r < R.
Kết quả của câu truy vấn SQL được minh họa trong chế độ đồ họa
ở hình 1.2. Các giá trị P và R giới hạn không gian các dữ liệu thích hợp.
Những hình vng trong đồ thị hiển thị các dịng dữ liệu trong cơ sở dữ
liệu. Người dùng khơng thể thu được bất kỳ thơng tin gì từ các dòng dữ
liệu mà rất gần điều kiện câu truy vấn (những vùng có đánh dấu màu
xám). Những vùng được đánh dấu đen nhất hầu hết thỏa mục đích của
câu truy vấn.
SQL tạo ra các sự chọn lựa rõ, có nghĩa là khơng chọn các dịng dữ
liệu thậm chí các dịng dữ liệu rất gần với mục đích của câu truy vấn.
Đây là một hạn chế trong việc sử dụng logic rõ.



9

Hình 1.2: Kết quả của câu truy vấn cổ điển chi tiết
Việc cải thiện việc truy cập đến dữ liệu bao gồm cả về ngôn ngữ và
những phương thức giao tiếp với dữ liệu. Ngôn ngữ câu truy vấn được
diễn tả bằng những từ như “cao”, “thấp”... logic mờ và các tập mờ cho
phép giao tiếp với dữ liệu ở mức cao hơn logic rõ.
1.3. Logic mờ
Gọi X={x1, x2, …, xn} là một tập vũ trụ.
Tập mờ và hàm thuộc
Tập mờ là phần mở rộng và khái quát của tập rõ. Một tập mờ F trên
miền vũ trụ X có thể được định nghĩa như một tập có thứ tự.
F = { (µF(x)/x) : x  X, µF(x)  [0,1] }

(1.1)

µF(x) là hàm thuộc của phần tử x vào tập mờ F.
Một hàm được gọi là hàm (µ) nếu giá trị nằm trong vùng [0,1].
µF(x): X  [0,1]
µF(x) = 0 khi đó x khơng thuộc tập F.
µF(x) = 1 khi đó x thuộc hồn tồn tập F.
Tập vũ trụ X = (x1, x2, …, xn} là rời rạc, một tập mờ F trên X có thể


10

diễn tả bởi:
F = µ1/x1 + µ2/x2 + ... + µn/xn


(1.2)

µi với i=1, 2, n được biểu diễn độ thuộc của các phần tử xi …
Các phép toán trên tập mờ
Tương tự như lý thuyết tập hợp, trên các tập mờ cũng định nghĩa
một số phép toán như: phép giao, phép hợp, bằng nhau, bao nhau...
Định nghĩa: Cho A và B là hai tập mờ trên vũ trụ tham chiếu U
với hai hàm thuộc tương ứng là A và B.
A bằng B: ký hiệu A = B, nếu A(u) = B (u),  u  U.
A chứa trong B: ký hiệu A  B, nếu A(u)  B (u),  u U.
Phép hợp: Hợp của hai tập mờ A và B, ký hiệu A  B, là một tập
mờ trên U với hàm thuộc AB : U → [0,1] được xác định như sau:

 u U, AB(u) = Max{A(u), B (u)}

A (u), B(u)
A

(1.3)

A

B

B(u)

1.0

B

A

uu
Hình 1.3. Giao của hai tập mờ A và B


11

Phép giao: Giao của hai tập mờ A và B, ký hiệuA  B, là một tập
mờ trên U với hàm thuộc  A  B: U → [0,1] được xác định bởi:
 u U, AB(u) = Min{A(u), B (u)}

(1.4)

A (u), B(u)
A

B(u)

1.0

A

B

B
A

u
Hình 1.4. Giao của hai tập mờ A và B

Phần bù: Phần bù của tập mờ A, ký hiệu A là một tập mờ trên U
với hàm thuộc   : U → [0,1] được xác định như sau:
 u U, A(u) = 1- A(u)
A (u), 

(1.5)

(u)

A
1.0

0

U

Hình 1.5. Phần bù của tập mờ A
Tích Đề - các: Cho Ai là các tập mờ được xác định tương ứng trên
miền tham chiếu Ui với i = 1, 2, …, n. Tích Đề - các của các tập mờ Ai


12

ký hiệu A1  A2  …  An là một tập mờ A trên miền tham chiếu U = U1

 U2  …  Un, với hàm thuộc μA : U → [0,1] được xác định như sau:
u

= (u1, u2, …, un)  U; μA(u) = min{μA1(u1),…, μAr(un)}


(1.6)

Ví dụ: Xét tập U gồm 8 căn hộ u1, u2,…, u8, mỗi căn hộ có số phịng
tương ứng là 1, 2,…,8 phòng. Gọi A là tập hợp gồm các căn hộ “rộng”,
B là tập hợp gồm các căn hộ “thích hợp cho 4 người”. Ta xây dựng hàm
thuộc cho các phần tử của tập A và B như sau:
μA(3) = 0.4; μA(4) = 0.5; μA(5) = 0.6; μA(6) = 0.8; μA(7) = 0.9; μA(8)
= 1.0
μA(3) = 0.4; μA(4) = 1.0; μA(5) = 0.7; μA(6) = 0.5
Tập mờ A = {0.4/3; 0.5/4; 0.6/5; 0.8/6; 0.9/7; 1.0/8}
Tập mờ B = {0.4/3; 1.0/4; 0.7/5; 0.5/6}.
A là tập hợp các căn hộ “rộng”. A = {0.4/3; 0.5/4; 0.6/5; 0.8/6; 0.9/7;
1.0/8}
B là tập hợp các căn hộ “thích hợp cho 4 người”. B = {0.4/3; 1.0/4;
0.7/5; 0.5/6}
Khi đó ta có:
A  B = {Các căn hộ thích hợp cho 4 người “hoặc” rộng}
= {0.4/3; 1.0/4; 0.7/5; 0.8/6; 0.9/7; 1.0/8}
A  B = {Các căn hộ thích hợp cho 4 người “và” rộng}
= {0.4/3; 0.5/4; 0.6/5; 0.5/6}
A

= {Các căn hộ không rộng}

= {0.6/3; 0.5/4; 0.4/5;0.2/6;0.1/7}
Giá đỡ của tập mờ [5]: Giá đỡ của tập mờ A~, ký hiệu là
Support(A~), là tập con của U sao cho 𝜇A~(u) ≠ 0,
Support(A~) = {u: 𝜇A~(u) > 0}

(1.7)


Độ cao của tập mờ: Độ cao của một tập mờ A~, ký hiệu là


13

High(A~), là cận trên đúng của hàm thuộc 𝜇A~ trên U, High(A~) =
Sup(𝜇A~(u):u𝜖U}. Nếu U rời rạc thì:
High(A~) = max{𝜇A~(u)>0:u𝜖U}

(1.8)

Tập mờ chuẩn (normal): Tập mờ A~ được gọi là chuẩn nếu
High(A~)=1, Ngược lại, tập mờ được gọi là dưới chuẩn.
Nhân của tập mờ: Nhân của tập mờ A~, ký hiệu là Core(A~), là
một tập con của U được xác định như sau:
Core(A~) = { u𝜖U: 𝜇A~(u):=High(A~)}

(1.9)

Tập mờ lồi: Một tập mờ A~ trên tập số thực R được gọi là tập mờ
lồi nếu mọi lát cắt Aα đều là tập lồi, với 𝛼𝜖(0,1]. Hay nói cách khác với
mọi cặp phần tử a, b 𝜖 R và với mọi số thực λ 𝜖 [0,1], hàm thuộc của A
thỏa mãn:
𝜇A[λx+(1-λ)y] ≥ [𝜇A(x), 𝜇A(y)]

(1.10)

Số mờ: Tập mờ A~ trên tập số thực được gọi là một số mờ, nếu A~
là tập mờ lồi và chuẩn. Các số mờ tam giác, số mờ hình thang… sẽ được

nghiên cứu trong các hệ mờ.
Biến ngôn ngữ [5]
Theo Zadeh “ khi thiếu hụt tính chính xác bề ngoài của những vấn
đề phức tạp, một cách tự nhiên là tìm cách sử dụng các biến ngơn ngữ,
đó là các biến mà giá trị của chúng không phải là số mà là các từ hoặc
các câu trong ngôn ngữ tự nhiên hoặc nhân tạo. Động lực cho việc sử
dụng các từ, các câu hơn các số là đặc trưng ngơn ngữ của các từ, các
câu thường là ít xác định hơn số”.
Biến ngôn ngữ là một bộ năm (X,T(X),U,R,M) trong đó:
 X là tên biến.
 T(X) là một tập các giá trị ngôn ngữ của biến X.


14

 U là không gian tham chiếu của biến cơ sở u, mỗi giá trị ngôn
ngữ xem như là một biến mờ trên U kết hợp với biến cơ sở u.
 R là một qui tắc cú pháp sinh các giá trị ngôn ngữ của T(X).
 M là qui tắc ngữ nghĩa gán mỗi giá trị ngôn ngữ trong T(X)
với một tập mờ trên U.
Ví dụ: Cho X là biến ngơn ngữ có tên là age, biến cơ sở u lấy theo
số tuổi của con người có miền xác định là U=[0,100]. Tập các giá trị
ngôn ngữ T(age)={old, very old, more or less young, less young, very
young …}. R là một qui tắc sinh ra các giá trị này. M gán ngữ nghĩa mỗi
tập mờ với một giá trị ngôn ngữ. Chẳng hạn, đối với giá trị nguyên thủy
old, M(old)={u, µold(u) | u ∈ [0,100]}, ta chọn:
0
µold(u) = (1+

u ∈ [0,50]

𝑢−50 -2 -1
) )
5

u ∈ [50,100]

(1.11)

Gia tử ngôn ngữ [5]
Gia tử là những từ đặc biệt dùng để thay đổi (tăng/giảm) ngữ nghĩa
của một giá trị ngơn ngữ. Ví dụ: very, more, less ….
Gia tử có thể sử dụng để thay đổi mệnh đề mờ, giá trị chân lý mờ. Ví dụ:
x là rất đẹp, x đẹp là rất đúng. Gia tử có thể hình thức hóa thành tốn tử
1-ngơi, chẳng hạn:
 Gia tử mạnh: sử dụng phép Contration / phép co như more, very
 Gia tử yếu: sử dụng phép Dillation / phép giản như less …
Các lượng từ ngơn ngữ [3]
Trong lơgic vị từ chúng ta có khái niệm lượng hóa tồn tại và lượng
hóa khái quát. Tương tự như vậy, trong lơgic mờ chúng ta cũng có
những khái niệm mang hàm ý như vậy như khoảng 10 học sinh thi tốt
nghiệp giỏi; nhiều hơn nhiều 100 có thể voọc mũi hếch đang sinh sống


15

trong khu bảo tồn quốc gia; ít nhất là 7 sinh viên đang làm thực tập tốt
nghiệp ở Công ty Microsoft Việt Nam; hầu hết nữ sinh viên khóa 2005
đều có nguyện vọng theo học khoa CNTT, khoảng một nửa số sinh viên
trong khóa 2006 là nữ, … Những từ in nghiêng trong các ví dụ trên đều
thể hiện ngữ nghĩa khơng chính xác, mờ về số lượng và được gọi là các

lượng hóa mờ.
(i)

Lượng hóa tuyệt đối: Ngữ nghĩa mờ được ấn định liên quan đến

một giá trị cụ thể (tuyệt đối) trong tập các số thực không âm. Ví dụ: ít
nhất 7 sinh viên đạt loại giỏi.
(ii) Lượng hóa tương đối: Xác định trên tập [0;1], chỉ tỷ lệ mờ số
phần tử thỏa một điều kiện hay mệnh đề nào đó, ví dụ như: hầu hết sinh
viên khóa 23 ra trường đều có việc làm. Chẳng hạn hầu hết chỉ có một số
tỷ lệ mờ số phần tử thỏa một điều kiện hay mệnh đề mờ nào đó. Tương

Hình 1.6: Tập mờ Q và Q*
tự, ta hiểu cụm từ lượng hóa mờ khoảng một nữa.
Lượng hóa tuyệt đối Q được cho bởi một tập mờ trên tập các số thực
dương R+. Chẳng hạn Q là lượng hóa mờ khoảng 10 sẽ là tập mờ Q
trong hình 1.6. Lượng hóa tương đối được xác định dựa trên tính tỷ số
giữa bản số của tập mờ và bản số của tập mờ giới hạn phạm vi các cá thể
được đề cập. Ví dụ, trong mệnh đề “hầu hết sinh viên khóa 23 ra trường
đều có việc làm” phạm vi được đề cập là sinh viên khóa 23. Phạm vi
cũng có thể là tập mờ, chẳng hạn trong mệnh đề “hầu hết sinh viên giỏi


×