Bùi Đức Dương – Khoa Công nghệ Thông tin Các hệ cơ sở tri thức
KBS
CSTT
4 4
1. Giới thiệu
Hệ cơ sở tri thức (KBS - Knowledge Based Systems):
Chương trình máy tính được thiết kế để mô hình hóa
khả năng giải quyết vấn đề của chuyên gia con người.
Hệ cơ sở tri thức là hệ thống dựa trên tri thức, cho phép
mô hình hóa các tri thức của chuyên gia, dùng tri thức
này để giải quyết vấn đề phức tạp cùng lĩnh vực.
Khác biệt giữa các hệ CSTT & CT truyền thống: cấu trúc
Hệ cơ sở tri thức đơn giản:
Cơ sở tri thức Động cơ suy diễn
Symbol - KBS
KBS
CSTT
5 5
2. Cơ sở tri thức
Cơ sở tri thức: Chứa các tri thức chuyên sâu
Có nhiều dạng (cách biểu diễn)
Đối tượng – Thuộc tính – Giá trị
Luật dẫn
Mạng ngữ nghĩa
Frames
Logic
Có thể không chắc chắn, mập mờ
KBS
CSTT
6
3. Động cơ suy diễn
Động cơ suy diễn thay đổi theo độ phức tạp của CSTT
Các kiểu suy diễn cơ bản:
Suy diễn tiến
Suy diễn lùi
Các cách điều khiển hoạt động của Hệ CSTT:
Data driven
Target driven
Sự kiện, tri thức
bên ngoài
Sự kiện, tri thức
bên trong
Động cơ
suy diễn Tri trức
mới
KBS
CSTT
7
Là hệ CSTT chuyên biệt, được thiết kế cho một lĩnh vực
ứng dụng cụ thể.
Ví dụ: Chẩn đoán bệnh Y khoa, chẩn đoán hỏng hóc máy tính...
Kỹ sư tri thức (Knowledge Engineer): thiết kế, xây dựng
và thử nghiệm Hệ chuyên gia
Các thành phần cơ bản:
Bộ giao tiếp ngôn ngữ tự nhiên
Động cơ suy diễn
Cơ sở tri thức
Cơ chế giải thích WHY-HOW
Bộ nhớ làm việc
Tiếp nhận tri thức
4. Hệ chuyên gia
KBS
CSTT
8
Động cơ suy diễn
Tìm kiếm
Điều khiển
Bộ xử lý NNTN
Giải thích
Cơ sở tri thức
Sự kiện
Luật
Vùng nhớ
làm việc
Tiếp nhận
tri thức
Chuyên gia
4. Hệ chuyên gia
KBS
CSTT
9
Động cơ suy diễn
Tìm kiếm
Điều khiển
Bộ xử lý NNTN
Giải thích
Cơ sở tri thức
Sự kiện
Luật
Vùng nhớ
làm việc
Tiếp nhận
tri thức
Chuyên gia
Nằm trong TP giao diện người máy: Nhận thông tin và đưa ra
trả lời
4. Hệ chuyên gia
KBS
CSTT
10
Động cơ suy diễn
Tìm kiếm
Điều khiển
Bộ xử lý NNTN
Giải thích
Cơ sở tri thức
Sự kiện
Luật
Vùng nhớ
làm việc
Tiếp nhận
tri thức
Chuyên gia
TP này giải thích các hoạt động khi có yêu cầu
4. Hệ chuyên gia
KBS
CSTT
11
Động cơ suy diễn
Tìm kiếm
Điều khiển
Bộ xử lý NNTN
Giải thích
Cơ sở tri thức
Sự kiện
Luật
Vùng nhớ
làm việc
Tiếp nhận
tri thức
Chuyên gia
Khớp sự kiện trong vùng nhớ với CSTT rút ra kết luận
4. Hệ chuyên gia
KBS
CSTT
12
Động cơ suy diễn
Tìm kiếm
Điều khiển
Bộ xử lý NNTN
Giải thích
Cơ sở tri thức
Sự kiện
Luật
Vùng nhớ
làm việc
Tiếp nhận
tri thức
Chuyên gia
Thu nhận tri thức từ chuyên gia, kỹ sư và user, lưu trữ vào
CSTT
4. Hệ chuyên gia
KBS
CSTT
13
Động cơ suy diễn
Tìm kiếm
Điều khiển
Bộ xử lý NNTN
Giải thích
Cơ sở tri thức
Sự kiện
Luật
Vùng nhớ
làm việc
Tiếp nhận
tri thức
Chuyên gia
Lưu trữ, biểu diễn tri thức; CSTT gồm sự kiện và luật
4. Hệ chuyên gia
KBS
CSTT
14
4. Hệ chuyên gia
Động cơ suy diễn
Tìm kiếm
Điều khiển
Bộ xử lý NNTN
Giải thích
Cơ sở tri thức
Sự kiện
Luật
Vùng nhớ
làm việc
Tiếp nhận
tri thức
Chuyên gia
Chứa các sự kiện của vấn đề đang xét
KBS
CSTT
15
5. Hệ hỗ trợ ra quyết định (DSS)
DSS : Decision Support System
Chức năng: Hỗ trợ ra quyết định
Hoạt động: Tương tác với User
Tính chất:
User khởi động và kiểm soát
Hướng đến quyết định của nhà quản lý
Trả lời câu hỏi tình huống
Uyển chuyển, linh hoạt
Làm việc với các bài toán có cấu trúc yếu
KBS
CSTT
16 16
6. Hệ học
Một số trường hợp không có sẵn tri thức
Kỹ sư tri thức cần thu nhận từ chuyên gia lĩnh vực:
Cần biết luật mô tả thuộc lĩnh vực
Bài toán không được biểu diễn tường minh theo luật, sự kiện hay
quan hệ.
Hai cách tiếp cận cho hệ thống học
Học từ ký hiệu: Hình thức hóa các luật, sự kiện hay quan hệ
Học từ dữ liệu số
Sử dụng trong hệ thống mô hình hóa dạng số
Mạng Neural nhân tạo, thuật giải di truyền, bài toán tối ưu
Không tạo ra CSTT tường minh
KBS
CSTT
17
7. Hệ điều khiển mờ
Mờ hóa: Chuyển đổi giá trị rõ thành các vector mờ
Xác định các luật hợp thành và thuật toán xác định giá trị
mờ
Giải mờ: Phương pháp điểm trọng tâm
KBS
CSTT
18
8. Các lĩnh vực ứng dụng Hệ CSTT
Diễn giải: Mô tả tình huống các dữ liệu thu thập được
Dự báo: Đề xuất các tri thức về dự báo một tình huống
Thiết kế: Lựa chọn cấu trúc phù hợp
Chẩn đoán: Dựa vào dữ liệu quan sát, chẩn đoán vấn đề
Vạch kế hoạch: Đề xuất các phương án
Dẫn dắt: So sánh dữ liệu & kết quả đạt được
Gỡ rối: Mô tả các phương pháp khắc phục của hệ thống
Hướng dẫn: Sửa chữa lỗi của học viên
Điều khiển: Dẫn dắt cấu trúc tổng thể của hệ thống
KBS
CSTT
20
1. Giới thiệu
Mục tiêu biểu diễn tri thức trong máy tính:
Phục vụ cho việc thu nhận tri thức
Truy xuất tri thức
Thực hiện các phép suy luận
Một số yếu tố cơ bản:
Tính tự nhiên, đồng bộ và dễ hiểu của biểu diễn tri thức.
Mức độ trừu tượng của tri thức: tri thức được khai báo cụ
thể hay nhúng vào hệ thống dưới dạng các mã thủ tục?
Tính đơn thể và linh động của cơ sở tri thức (có cho phép
dễ dàng bổ sung tri thức, mức độ phụ thuộc giữa các tri
thức, ...)
Tính hiệu quả trong việc truy xuất tri thức và sức mạnh
của các phép suy luận (theo kiểu heuristic) .
KBS
CSTT
21
Các loại tri thức
Tri thức thủ tục
Mô tả cách thức giải quyết một vấn đề
Đề xuất các giải pháp thực hiện công việc
Tiêu biểu là các luật, chiến lược, lịch trình & thủ tục
Tri thức khai báo
Mô tả vấn đề trực quan
Tiêu biểu là các phát biểu đơn giản (True/False); danh sách các khẳng định
Siêu tri thức (meta – knowledge)
Mô tả tri thức về tri thức
Giúp lựa chọn tối ưu tri thức
1. Giới thiệu
KBS
CSTT
22
Tri thức heuristic
Mô tả các “mẹo” dẫn dắt tiến trình lập luận
Không đảm bảo tối ưu về kết quả (chính xác dưới 100%)
Chuyển các luật, sự kiện… thành tri thức heuristic để thuận
tiện trong xử lý
Tri thức có cấu trúc
Mô tả tri thức theo cấu trúc
Mô tả mô hình tổng quan hệ thống theo quan điểm của
chuyên gia: khái niệm, khái niệm con & các đối tượng
Diễn tả chức năng và mối liên hệ giữa các tri thức dựa theo
cấu trúc xác định.
1. Giới thiệu
KBS
CSTT
23
2. Các PP biểu diễn tri thức
Bộ ba Đối tượng – Thuộc tính – Giá trị
Quả cam màu vàng
Trong các sự kiện O – A – V:
Một đối tượng có thể có nhiều thuộc tính
Một thuộc tính có một (đơn trị/single - valued) hay nhiều
giá trị (đa trị/multi - valued): Cho phép biểu diễn tri thức
linh hoạt
Xác định độ tin cậy: Nhân tố chắc chắn CF (certainly
factor)
O – A –V: Object-Attribute-Value
Ví dụ: Quả cam màu vàng
KBS
CSTT
24
Là cấu trúc tri thức dùng để liên kết thông tin đã biết với
thông tin khác giúp đưa ra các suy luận, kết luận
7 dạng luật cơ bản
Quan hệ
IF Không cài đặt HĐH
THEN Máy tính sẽ không khởi động được
Lời khuyên
IF Máy tính không khởi động được
THEN Xử lý dữ liệu bằng tay
Hướng dẫn
IF Máy tính không khởi động AND Phần cứng tốt
THEN Kiểm tra hệ điều hành
Các luật dẫn
2. Các PP biểu diễn tri thức
KBS
CSTT
25
Chiến lược
IF Máy tính không khởi động được
THEN Đầu tiên kiểm tra có điện không, sau đó đến phần cứng
và phần mềm
Diễn giải
IF Máy tính khởi động được
THEN Hệ điều hành bình thường
Chẩn đoán
IF Phần cứng tốt AND chạy chậm AND hay shutdown đột ngột
THEN Bị virus
Thiết kế:
IF Là nam giới AND làm ngành CNTT
THEN Nên mua máy Dell OR máy ASUS
2. Các PP biểu diễn tri thức
KBS
CSTT
26
Luật có biến
Áp dụng cần thực hiện cùng một phép toán trên một tập hay
các đối tượng.
Ví dụ: IF X là viên chức AND X là nam AND Tuổi X>60
THEN X có thể nghỉ hưu
Luật không chắc chắn
Sự kiện có thể không chắp chắc chắn: Mệnh đề phát biểu (luật)
đưa thêm hệ số chắc chắn CF.
Ví dụ: IF Giá vàng tăng THEN Giá đất tăng, CF=0.9
Siêu luật (meta-rules)
Luật mô tả cách thức dùng các luật khác (Không có thông tin
mới)
Ví dụ: IF Máy không khởi động AND Phần cứng tốt
THEN Sử dụng các luật liên quan đến HĐH
Mở rộng cho các luật
2. Các PP biểu diễn tri thức
KBS
CSTT
27
Là phương pháp biểu diễn tri thức dùng đồ thị: Nút biểu
diễn đối tượng; cung biểu diễn quan hệ.
Sẻ Chim
Bay
Cánh
Là
Có
Di chuyển
Mở rộng mạng ngữ nghĩa: Thêm các nút (đối tượng bổ
sung) và nối vào đồ thị bằng các cung:
Thêm một đối tượng tương tự
Thêm đối tượng đặc biệt hơn
Thêm một đối tượng tổng quát hơn
Mạng ngữ nghĩa
2. Các PP biểu diễn tri thức
KBS
CSTT
28
Ví dụ
Sẻ Chim
Bay
Cánh
Là
Có
Di chuyển
Con
vật
Kh.
khí
Là
Thở
Cánh
cụt
Là
Di chuyển
Chân
2. Các PP biểu diễn tri thức
KBS
CSTT
29
Có hình thức như bảng mẫu, tờ khai….
Cấu trúc cơ bản:
Tên frame
Lớp
Các thuộc tính: Biểu diễn như O – A - V
Frames
PHIẾU ĐIỂM
Họ tên
MSSV
Môn Điểm
CTDL 10
TTNT 7
CSTT 9
Tên frame
Lớp
Thuộc Tính Giá trị
TT1 GT1
TT2 GT2
... ...
Thuộc tính
2. Các PP biểu diễn tri thức
KBS
CSTT
30
Logic
Sử dụng ký hiệu để thể hiện tri thức & toán tử
Phép
toán
NOT AND OR Kéo
theo
Tương
đương
Ký hiệu , , , & , , + , → ,
Logic mệnh đề
Logic vị từ
2. Các PP biểu diễn tri thức
KBS
CSTT
31
Logic mệnh đề
Mệnh đề: Phát biểu/khẳng định đúng/sai
Các phép toán logic
X Y X X Y X Y X → Y X Y
T T F T T T T
T F F F T F F
F T T F T T F
F F T F F T T
Ví dụ:
IF Phần cứng hỏng (A) OR Chưa cài đặt HĐH (B)
THEN Máy tính không khởi động được (C)
Có thể biểu diễn là: A B → C
2. Các PP biểu diễn tri thức
KBS
CSTT
32
Logic vị từ
Phép toán mệnh đề suy diễn tự động nhưng chưa đủ khi cần
phải truy cập vào thành phần nhỏ trong câu, dùng biến số trong câu.
Ví dụ:
“Mọi sinh viên trường ĐHNT đều có bằng tú tài. Lan không có bằng
tú tài. Do vậy, Lan không là sinh viên trường ĐHNT”
“Lan” là một đối tượng cụ thể của “SV trường ĐHNT” – không thể
đặc tả được “quan hệ” này trong mệnh đề được mà chỉ có thể là:
“LAN là sinh viên trường ĐHNT thì Lan có bằng tú tài. Lan không có
bằng tú tài. Do vậy, Lan không là sinh viên trường ĐHNT”
Mệnh đề phải giải quyết bằng cách liệt kê tất cả các trường hợp
Không khả thi
Do đó, chúng ta cần một Logic khác hơn là phép toán mệnh đề
2. Các PP biểu diễn tri thức
KBS
CSTT
33
Vị từ là một phát biểu nói lên quan hệ giữa một đối tượng
với các thuộc tính của nó hay quan hệ giữa các đối tượng
với nhau.
Vị từ được biểu diễn bởi một tên được gọi là tên vị từ, theo
sau nó là một danh sách các thông số.
Ví dụ:
Phát biểu: “Nam là sinh viên trường ĐHNT”
Biểu diễn: sv_NT(“Nam”)
Ý nghĩa: đối tượng tên là “Nam” có thuộc tính là “sinh
viên trường ĐHNT”.
2. Các PP biểu diễn tri thức
KBS
CSTT
34
Biểu thức Vị từ: là sự kết hợp của các vị từ bởi các
phép toán vị từ.
Các phép toán:
Phủ định - một ngôi.
X Với mọi - một ngôi
X Tồn tại - một ngôi
^ Hội - hai ngôi.
v Tuyển - hai ngôi.
=> Suy ra - hai ngôi.
= Tương đương - hai ngôi.
2. Các PP biểu diễn tri thức
KBS
CSTT
35
Ví dụ:
Chuyển các câu sau sang biểu thức vị từ:
“Mọi sinh viên trường ĐHNT đều có bằng tú tài.
Lan không có bằng tú tài.
Do vậy, Lan không là sinh viên trường ĐHNT”
Với sv_NT(X) cho biết: “X là sinh viên trường DHNT”
tu_tai(X) cho biết: “X có bằng tú tài”
Các câu trên được chuyển qua vị từ là:
X(sv_NT(X) => tu_tai(X)).
tu_tai(“Lan”).
Do vậy, sv_NT(“Lan”).
2. Các PP biểu diễn tri thức
KBS
CSTT
36
Hiện nay vẫn chưa có một kiểu biểu diễn tri thức nào phù hợp
với mọi tình huống.
Khi phải làm việc với nhiều nguồn tri thức khác nhau (khác
loại, khác tính chất), nhiều lúc phải hy sinh tính đồng bộ bằng
cách sử dụng cùng lúc nhiều kiểu biểu diễn tri thức, mỗi kiểu
biểu diễn ứng với một nhiệm vụ con.
“Dịch" một tri thức từ kiểu biểu diễn này sang kiểu biểu diễn
khác. Tuy thế nhưng một số hệ chương trình trí tuệ gần đây
vẫn dùng cùng lúc nhiều kiểu biểu diễn dữ liệu khác nhau.
Một trong những ví dụ kết hợp nhiều kiểu biểu diễn tri thức
mà chúng ta đã từng làm quen là kiểu kết hợp giữa frame và
mạng ngữ nghĩa trong việc trợ giúp giải bài toán hình học.
2. Các PP biểu diễn tri thức
KBS
CSTT
37
Một trong những sự phối hợp tương đối thành công là sự
kết hợp giữa luật sinh và frame.
Luật sinh không đủ hiệu quả trong nhiều ứng dụng, đặc biệt
là trong các tác vụ định nghĩa, mô tả các đối tượng hoặc
những mối liên kết tĩnh giữa các đối tượng. Nhưng những
yếu điểm này lại chính là ưu điểm của frame.
Ngày nay, đã có rất nhiều hệ thống đã tạo ra một kiểu biểu
diễn lai giữa luật sinh và frame có được ưu điểm của hai
cách biểu diễn. Sự thành công của các hệ thống nổi tiếng
như KEE, Level5 Object và Nexpert Object đã minh chứng
cho điều này.
2. Các PP biểu diễn tri thức
KBS
CSTT
38
Ví dụ kết hợp biểu diễn tri thức bằng luật sinh và frame trong bài
toán điều chế chất hóa học
Vấn đề : Cho trước một số chất hóa học. Hãy xây dựng chuỗi các
phản ứng hóa học để điều chế một số chất hóa học khác.
Đây là một ứng dụng hết sức tự nhiên của tri thức biểu diễn dưới
dạng luật vì bản thân các phản ứng hóa học tiêu chuẩn đều được
thể hiện dưới dạng luật. Chẳng hạn ta có các phản ứng sau :
Na + Cl2 → NaCl
Fe + Cl2 → FeCl2
Cu + Cl2 → CuCl2
Cl2 + H2O → HCl + HClO
MnO2 + 4HCl → MnCl2 + Cl2+ H2O
HCl + KMnO4 → KCl + MnCl2 + H2O + Cl2
NaCl + H2O → Cl2 + H2+ NaOH
...
2. Các PP biểu diễn tri thức
KBS
CSTT
39
Như vậy, nếu xem một chất hóa học là một sự kiện và một phương
trình phản ứng như là một luật dẫn thì bài toán điều chế chất hóa
học, một cách rất tự nhiên, trở thành bài toán suy luận tiến trong
cơ sở tri thức dạng luật dẫn.
Tuy nhiên, số lượng các phản ứng là rất lớn, nên ta không thể sử
dụng các luật dựa trên các phản ứng cụ thể như vậy mà phải sử
dụng các phản ứng tổng quát hơn như :
Axit + Bazơ → Muối + Nước
Kiềm + Nước → Xút + H2
(trong hóa học cũng có nhiều phản ứng rất đặc biệt không thể tổng
quát được, trong trường hợp này, ta sẽ xem phản ứng đó như là
một luật riêng!).
Để mô tả được các phản ứng tổng quát như trên, ta sẽ sử dụng
các frame.
2. Các PP biểu diễn tri thức
KBS
CSTT
40
Modus ponens
1. E1
2. E1 → E2
Modus tollens
1. ¬ E2
2. E1 → E2
3. Suy diễn tri thức
Suy diễn là quá trình rút ra tri thức mới từ các tri thức cũ.
¬ E1
E2
KBS
CSTT
41
Suy diễn tiến
Thêm thông tin vào
bộ nhớ làm việc
Xét luật đầu tiên
Kết luận vào
bộ nhớ làm việc
Xét luật tiếp theo
Dừng suy diễn
Giả thiết khớp
với bộ nhớ Còn luật
True
False
False
True
3. Suy diễn tri thức
KBS
CSTT
42
Suy diễn tiến với logic mệnh đề
Input: Tập luật Rule= {r1, r2, ..., rm}; GT; KL.
Output: Return “True” nếu GT→KL
Ngược lại, return “False”.
Method:
TĐ=GT;
T= Filter(Rule, TĐ);
while (KL TĐ) and (T ) do
{
r = Get(T);
TĐ=TĐ{q}; // r: left→q
Rule = Rule \ {r};
T= Filter(Rule, TĐ);
}
if (KL TĐ) then return “True”
else return “False”
3. Suy diễn tri thức
KBS
CSTT
43
Suy diễn lùi
Thủ tục bắt đầu tìm kiếm từ dữ liệu đích của bài toán.
Chọn tất cả các luật ứng với vế kết luận hợp với dữ liệu đích,
thiết lập dữ liệu ở vế điều kiện phát sinh ra đích làm dữ liệu đích
mới.
Tại mỗi điểm dữ liệu đích mới, chọn tất cả các luật ứng với vế kết
luận hợp với đích mới, thiết lập dữ liệu ở điều kiện làm dữ liệu
đích mới hơn.
Thủ tục này lặp lại cho tất cả các đích mới cho đến khi nào dữ
liệu ban đầu của bài toán được tìm thấy.
3. Suy diễn tri thức
KBS
CSTT
44
Thêm thông tin vào
bộ nhớ làm việc
Kiểm tra bộ nhớ làm
việc
Đích khớp với
giả thiết Còn luật Quay lui
True
False True
Kết luận vào đích
True
Tìm đích mới
Dừng
False False
3. Suy diễn tri thức
KBS
CSTT
45
Suy diễn lùi với logic mệnh đề
Input: Tập luật Rule= {r1, r2, ..., rm}; GT; KL.
Output: Return “True” nếu GT→KL
Ngược lại, return “False”.
Method:
If (KL GT) then return “True”
Else
{
TĐ=; Vết = ; First=1; QuayLui= False;
}
For (Each qKL) do TĐ=TĐ{(q,0)};
Repeat
{
first ++;
(f,i)=Get(TĐ);
3. Suy diễn tri thức
KBS
CSTT
46
If (fGT) then { j=TìmLuật(f,i,Rule); // rj: Leftj → f If (Tìm có rj) THEN { Vết = Vết {(f,j)}; For (Each t (Leftj\GT)) do TĐ = TĐ {(t,0)}; } else { QuayLui=True; While ((fKL) and Quaylui) do { Repeat { (g,k)=Get(Vết); TĐ = TĐ \ Leftk; } Until (fLeftk);
3. Suy diễn tri thức
KBS
CSTT
47
l=Tìmluat(g,k,Rule);
If (Tìm có rl) Then
{
TĐ = TĐ \ Leftk;
For (Each t(Leftl\GT)) do
TĐ= TĐ{(t,0)};
Vết = Vết {(g,l)};
Quaylui = False;
} //end if3
else f=g;
} //end while
} //end if2
} //end if1
Until (TĐ = ) or ((f KL) and (First>2));
If (f KL) then Return False
else Return True;
3. Suy diễn tri thức
KBS
CSTT
48
Ví dụ: Cho cơ sở tri thức:
1. Cat(X)^Mother(X,Y)^Beauty(Y) → Good(X).
2. Cat(mimi).
3. Cat(lili).
4. Cat(kiki).
5. Mother(mimi,kiki).
6. Mother(kiki,titi).
7. Beauty(titi).
8. Beauty(kiki).
Áp dụng thuật toán suy lùi vào cơ sở tri thức trên để
chứng minh: Good(kiki).
3. Suy diễn tri thức
KBS
CSTT
49
Giải:
+ Giả thiết ban đầu; Good(kiki) hợp nhất với kết luận của
luật 1 bởi phép thế:
θ = [X | kiki] => tập giả thiết mới:
Cat(kiki)^Mother(kiki,Y)^Beauty(Y) (9)
+ Hợp nhất: Unify(9, 4, θ = [] ) => tập giả thiết mới:
Mother(kiki,Y)^Beauty(Y) (10)
+ Hợp nhất: Unify(10,6, θ = [Y | titi] => tập giả thiết mới:
Beauty(titi) trùng với sự kiện 7 trong tập các sự kiện đã cho.
+ Vậy Good(kiki) là đúng.
3. Suy diễn tri thức
KBS
CSTT
50
So sánh ưu điểm
Suy diễn lùi
Phù hợp với bài toán đưa ra giả
thuyết rồi kiểm chứng giả thuyết
đó đúng hay không.
Tập trung vào đích đã cho. Tạo
ra một loạt câu hỏi liên quan đến
vấn đề, hoàn cảnh đang xét.
Chỉ tìm trên một không gian con
CSTT liên quan đến bài toán
đang xét.
Suy diễn tiến
Làm việc tốt đối với bài toán
thu thập thông tin rồi tìm ra
điều cần suy diễn.
Cho khối lượng lớn các
thông tin (mới) từ một số
thông tin ban đầu.
Lý tưởng cho các bài toán
lập kế hoạch, điều hành,
điều khiển và diễn dịch.
3. Suy diễn tri thức
KBS
CSTT
51
So sánh nhược điểm
Suy diễn lùi
Thường phải tiếp dòng suy
diễn: Không dừng đúng lúc.
Suy diễn tiến
Không cảm nhận được: Chỉ
một số thông tin là quan
trọng. Hệ thống có thể hỏi
câu không liên quan và câu
trả lời có thể không quan
trọng.
3. Suy diễn tri thức
KBS
CSTT
53
4. Chứng minh mệnh đề
Bài toán chứng minh mệnh đề
Cho giả thiết:
VT = GT1, GT2, …, GTn
Và kết luận:
VP = KL1, KL2, … KLm
Chứng tỏ: VT VP
Ví dụ:
[(p q) (p s) q] q s
KBS
CSTT
54
4. Chứng minh mệnh đề
Thuật giải Vương Hạo
Bước 1: Phát biểu lại giả thiết và kết luận của vấn đề dưới
dạng chuẩn như sau:
GT1, GT2, …, GTn → KL1, KL2, … KLm
Trong đó các GTi và KLj được xây dựng từ các biến mệnh đề
và các phép toán , , ¬.
Ví dụ:
[(p → q) (p → s) q] → [q ¬s]
≡ (¬p q) (¬p s) q → q ¬s
Bước 2: Thay dấu “” ở trong GTi và dấu “” ở trong KLj bằng
dấu “,” (phẩy).
Ví dụ:
(¬p q) (¬p s) q → q ¬s
≡ (¬p q), (¬p s), q → q , ¬s
KBS
CSTT
55
4. Chứng minh mệnh đề
Thuật giải Vương Hạo
Bước 3: Chuyển vế các GTi và KLj có dạng phủ định.
Ví dụ:
(¬p q), (¬p s), q → q , ¬s
≡ ¬p q, ¬p s, q, s → q
Bước 4: Nếu GTi còn dấu “” và KLj còn dấu “” thì dòng đó
được tách thành hai dòng con.
Ví dụ:
¬p q, ¬p s, q, s → q
≡ 1. ¬p , ¬p s, q, s → q
2. q, ¬p s, q, s → q
Từ bước 2 đến bước 4 không cần làm theo thứ tự.
KBS
CSTT
56
Bước 5: Dòng tồn tại chung một mệnh đề ở cả 2 vế thì coi
như đúng (được CM).
Ví dụ:
p, q s p: mệnh đề đúng
Bước 6:
+ Nếu một dòng không còn dấu liên kết tuyển và hội mà cả ở
hai vế đều không có chung biến mệnh đề nào thì dòng đó sai.
Ví dụ:
p, ¬q, s q: mệnh đề sai
+ Một vấn đề được giải quyết một cách trọn vẹn nếu mọi
dòng dẫn xuất đều đúng.
4. Chứng minh mệnh đề
KBS
CSTT
57
Ví dụ:
(p q ) (s q) (r s) (p) → r u
Giải:
(p q ) (s q) (r s) (p) → r u
p q , s q, r s , p → r, u
p q , s q, r s → r , u, p
Tách phép : (p q) thành 2 dòng con
1: p, s q, r s → r , u, p (đcm vì có p ở hai phía)
2: q , s q, r s → r , u, p
s q, r s → r , u, p, q
4. Chứng minh mệnh đề
KBS
CSTT
58
Tách phép : (s q) thành 2 dòng con
2.1: q, r s → r , u, p, q (đcm vì có q ở hai phía)
2.2: s , r s → r , u, p, q
r s → r , u, p, q, s
Tách phép : (r s) thành 2 dòng con
2.2.1: r → r , u, p, q, s (đcm vì có r ở cả hai phía)
2.2.2: s → r , u, p, q, s (đcm vì có s ở cả hai phía)
Các dòng dẫn xuất từ dạng chuẩn ban đầu đều được chứng
minh, vậy vấn đề được chứng minh.
4. Chứng minh mệnh đề
KBS
CSTT
59
Thuật giải Robinson
Thuật giải Robinson hành động dựa trên phương pháp chứng minh
bằng phản chứng.
Bước 1: Đưa vấn đề về dạng chuẩn như sau:
GT1, GT2, ...,GTn → KL1, KL2,...,KLm
Trong đó các GTi và KLj được xây dựng từ các biến mệnh đề và
các phép logic: ,, .
Bước 2: Nếu GTi có phép thì thay bằng dấu",". Nếu KLj có phép
thì thay bằng dấu ",".
Bước 3: Biến đổi dạng chuẩn ở Bước 1 về dạng sau:
GT1, GT2, ...,GTn , KL1, KL2,..., KLm
Bước 4: Nếu trong danh sách mệnh đề ở Bước 3 có mệnh đề đối
ngẫu (p và p) thì mệnh đề được chứng minh. Ngược lại thì chuyển
sang Bước 5.
4. Chứng minh mệnh đề
KBS
CSTT
60
Bước 5: Xây dựng một mệnh đề mới bằng cách tuyển một cặp
mệnh đề trong danh sách mệnh đề. Nếu mệnh đề mới có các biến
mệnh đề đối ngẫu thì loại bỏ các biến đó. Thay thế hai mệnh đề
vừa tuyển trong danh sách mệnh đề bằng mệnh đề mới, áp dụng
phép hợp giải:
i) p ( p q) → q
ii) ( p q) ( p r) → q r
Bước 6: Nếu không xây dựng được thêm một mệnh đề mới nào và
trong danh sách mệnh đề không có hai mệnh đề nào đối ngẫu nhau
thì vấn đề không được chứng minh. Nếu danh sách mệnh đề không
còn mệnh đề nào (danh sách rỗng), vấn đề được chứng minh.
4. Chứng minh mệnh đề
KBS
CSTT
61
Ví dụ:
p q , (s q) (r s) , p u → r, u
Giải:
p q , (s q) (r s) , p u → r, u
p q , s q, r s , p , u → r, u
p q , s q, r s , p , u, r, u
ĐPCM
4. Chứng minh mệnh đề
KBS
CSTT
62
Ví dụ:
p q , (s q) (r s) , p → r, u
Giải:
p q , (s q) (r s) , p → r, u
p q , s q, r s , p → r, u
p q , s q, r s , p, r, u
(p q , s q), r s , p, r, u
(p s, r s) , p , r, u
(p r , p) , r, u
r , r, u
ĐPCM
4. Chứng minh mệnh đề
KBS
CSTT
64
64
1. Giới thiệu
Là hệ chuyên gia lập luận y học, về lĩnh vực chuẩn đoán
bệnh nhiễm trùng máu
1970-1973, Standford University, Mỹ.
Được viết trên ngôn ngữ INTERLISP, một nhánh của
LISP
Dùng cơ chế lập luận gần đúng xử lý luật: Sử dụng CF.
EMYCIN (empty MYCIN): Cải tiến MYCIN, bỏ phần
CSTT của nó để được một hệ thống dùng để phát triển các
ES khác.
KBS
CSTT
65
65
Các đặc điểm chính
Sử dụng kỹ thuật suy luận lùi.
Có khả năng phân tách tri thức và điều khiển.
Có tích hợp meta-rules.
Có thể dùng khi thiếu thông tin hay thông tin không
chính xác.
Có khả năng nhớ được các thông tin trong một phiên
làm việc với người bệnh cụ thể.
Dễ sử dụng – giao tiếp với bác sĩ qua tiếng Anh.
Cung cấp các chức năng giải thích: WHY, HOW.
1. Giới thiệu
KBS
CSTT
66
66
2. Độ đo chắc chắn
Các nguyên nhân của sự không chắc chắn:
Dữ liệu/thông tin/tri thức có thể: không đủ, không đáng tin
cậy, không đúng, không chính xác
Các phép suy luận có thể không hợp logic: suy luận
ngược từ kết luận về điều kiện (abduction reasoning)
Xử lý trường hợp không chắc chắn:
Tiếp cận thống kê: quan tâm đến mức độ tin tưởng
(belief) của một khẳng định.
Lý thuyết xác suất Bayesian (Bayesian Probability Theory)
Đại số chắc chắn Stanford (The Stanford Certainty Algebra)
Suy luận theo Logic mờ (Fuzzy Logic) quan tâm đến mức
độ thật (truth) của một khẳng định.
KBS
CSTT
67
Các chuyên gia đo sự tự tin trong các kết luận của họ và
các bước suy luận bằng từ „không có lẽ‟, „gần như chắc
chắn‟, „có khả năng cao‟, „có thể‟. Đây không phải là xác
suất mà là heuristic có từ kinh nghiệm.
Không phải là xác suất, mà là độ đo sự tự tin.
Lý thuyết chắc chắn là một cố gắng hình thức hóa tiếp
cận heuristic vào suy luận với sự không chắc chắn
2. Độ đo chắc chắn
KBS
CSTT
68
MB(H | E): độ tin tưởng của giả thuyết H, cho trước E
MD(H | E): độ không tin tưởng
0 < MB(H | E) < 1 trong khi MD(H | E) = 0
0 < MD(H | E) < 1 trong khi MB(H | E) = 0
CF (H | E) = MB(H | E) – MD(H | E)
CF(fact) [-1,1] : dữ liệu đã cho, dữ liệu suy luận được, giả thuyết.
CF tiến về 1 cho thấy sự tin tưởng dữ kiện là đúng
CF tiến về -1 cho thấy sự tin tưởng dữ kiện là không đúng
CF gần 0 cho thấy tồn tại rất ít bằng chứng cho việc ủng hộ hay
chống lại dữ kiện (Đề xuất giới hạn?).
CF(rule) [-1,1] : thể hiện sự tin tưởng của các chuyên gia vào độ
tin cậy của luật.
2. Độ đo chắc chắn
KBS
CSTT
69
Truyền CF trên các luật
Luật đơn giản: If (e) then (c)
Trong đó:
CF(e): độ tin tưởng của chứng cứ
CF(r): độ tin tưởng của luật
CF(c): độ tin tưởng của kết luận
Ví dụ:
CF(bệnh nhân bị sốt) = 0.8
CF(If bệnh nhân bị sốt Then bệnh nhân bị cúm) = 0.5
CF(bệnh nhân bị cúm) = 0.8*0.5= 0.4
CF (c) = CF(e) * CF(r)
2. Độ đo chắc chắn
KBS
CSTT
70
Luật phức tạp (dạng 1):
If (e1 AND e2) then (c)
CF (e1 AND e2) = min { CF(e1), CF(e2) }
Luật phức tạp (dạng 2):
If (e1 OR e2) then (c)
CF (e1 OR e2) = max { CF(e1), CF(e2) }
Luật phức tạp (dạng 3):
If ((e1 AND e2) OR e3) then (c)
CF ((e1 AND e2) OR e3) = max {min{CF(e1), CF(e2)}, CF(e3)}
2. Độ đo chắc chắn
KBS
CSTT
71
Toán tử NOT:
CF(NOT e) = - CF(e)
CF từ nhiều luật:
If e1 then c : CF1(c)
If e2 then c : CF2(c)
CF(c) = CF1(c) + CF2(c) – CF1(c) * CF2(c), khi CF1(c), CF2(c) >0
CF(c) = CF1(c) + CF2(c) + CF1(c) * CF2(c), khi CF1(c), CF2(c) <0
CF1(c) + CF2(c)
1- min ( |CF1(c)|, |CF2(c)| ) CF(c) = trường hợp khác
2. Độ đo chắc chắn
KBS
CSTT
72
Mạng suy diễn
Một số dạng cơ bản
If (e) then (c), CF(r)=0.7
Suy diễn đơn giản
c
e
0.7
If (e1 AND e2) then (c), CF(r)=0.8
Suy diễn có AND
c
0.8 e1
e2
3. Chuỗi lập luận
KBS
CSTT
73
If (e1 OR e2) then (c), CF(r)=0.9
Suy diễn có OR
c
0.9 e1
e2
If ((NOT e1)OR e2) then (c), CF(r)=0.8
Suy diễn có NOT
c
0.8 e1
e2
3. Chuỗi lập luận
KBS
CSTT
74
If (e1 AND e2) then (c), CF(r)=0.7
If (e3) then (c), CF(r)=0.9
Nhiều luật có cùng kết luận
If (NOT e1) then (c1), CF(r1)=0.8
If (e1 AND e2) then (c2), CF(r2)=0.7
Một chứng cứ được dùng trong 2 luật
0.9
e1 e2 e3
0.7
c
e1 e2
c1
0.7
c2
0.8
3. Chuỗi lập luận
KBS
CSTT
75
Ví dụ: Thể hiện mạng ngữ nghĩa cho 7 luật sau
r1: If (e1) then (c1) CF(r1)=0.8
r2: If (e2) then (c2) CF(r2)=0.9
r3: If (e3) then (c2) CF(r3)=0.7
r4: If (e4) then (c3) CF(r4)=0.6
r5: If (NOT e5) then (c3) CF(r5)=0.5
r6: If (c2 AND c3 ) then (c4) CF(r6)=0.9
r7: If (c1 OR c4 ) then (c5) CF(r7)=0.8
3. Chuỗi lập luận
KBS
CSTT
76
Mạng suy diễn với c5 là giả thiết hướng đến
c1
0.8
e1 c3
e2 e3 e4
0.5
e5
0.6 0.9 0.7
0.9 0.8
c5
r1: If (e1) then (c1) CF(r1)=0.8
r2: If (e2) then (c2) CF(r2)=0.9
r3: If (e3) then (c2) CF(r3)=0.7
r4: If (e4) then (c3) CF(r4)=0.6
r5: If (NOT e5) then (c3) CF(r5)=0.5
r6: If (c2 AND c3 ) then (c4) CF(r6)=0.9
r7: If (c1 OR c4 ) then (c5) CF(r7)=0.8
c2
c4
3. Chuỗi lập luận
KBS
CSTT
78
Lập luận trên mạng suy diễn
Giả sử ta có các độ đo chắc chắn như sau:
CF(e1)= 0.9,
CF(e2)= 0.9,
CF(e3)= -0.3,
CF(e4)= 0.4,
CF(e5)= -0.3. Hãy tính CF(c5)?
Các lập luận từ các CF
Dựa vào luật r1 tính được CF(c1)
CF(c1) = CF(e1) *CF(r1) = 0.9 * 0.8 =0.72
3. Chuỗi lập luận
KBS
CSTT
79
Dựa vào luật r2, r3 tính được CF(c2)
Với r2: CF(c2) = CF(e2) *CF(r2) = 0.9* 0.9 =0.81
Với r3: CF(c2) = CF(e3) *CF(r3) = -0.3* 0.7 = -0.21
Do CF(c2) của r2 trái dấu CF(c2) của r3 ta có:
CF(c2) = [0.81+(-0.21)] / [1- min(0.81, 0.21)] = 0.74
Dựa vào luật r4, r5 tính được CF(c3)
Với r4: CF(c3) = CF(e4) *CF(r4) = 0.4* 0.6 =0.24
Với r5: CF(c3) = CF(NOT e5) *CF(r5) = -(-0.3)* 0.5 = 0.15
Do CF(c3) của r4 và CF(c3) của r5 cùng dương, ta có:
CF(c3) = 0.24 + 0.15 – 0.24 * 0.15 = 0.324
3. Chuỗi lập luận
KBS
CSTT
80
80
Dựa vào luật r6 tính được CF(c4)
CF(c4) = min (CF(c2) , CF(c3)) * CF(r6) = min (0.74, 0.324) * 0.9
= 0.324* 0.9 =0.292
Dựa vào luật r7 tính được CF(c5)
CF(c5) = max (CF(c1) , CF(c4)) * CF(r7) = max (0.72, 0.292) * 0.8
= 0.72* 0.8 =0.58
Vậy, độ chắc chắn của giả thiết c5 là 0.58
3. Chuỗi lập luận
KBS
CSTT
81 81
c2
c3
c5
0.88
c4
e4 e5 e6
0.8
e7
0.6 0.7
0.9
c6 Ví dụ.
c1
e2 e3
0.91
0.7
e1
0.9
0.87 0.95 0.79 0.82
0.94 0.9
0.8
0.8
1. Tập luật tương ứng?
2. Suy luận tính CF(c6)?
3. Chuỗi lập luận
KBS
CSTT
82
4. Một phiên làm việc với hệ MYCIN
Mục đích:
Giúp đỡ các bác sĩ trong việc chẩn đoán và điều trị các bệnh
truyền nhiễm
Nhận dạng các cơ quan bị nhiễm bệnh
Chọn các loại thuốc khống chế các cơ quan này
Giao diện người dùng:
Đối thoại với bác sĩ để thu thập dữ liệu
Dữ liệu tổng quát về bệnh nhân
Các kết quả xét nghiệm
Các triệu chứng của bệnh nhân
EMYCIN = MYCIN – Tri thức Y học
= Sườn hệ chuyên gia (ES shell)
KBS
CSTT
83
Ví dụ 1.
Một vài thông tin về bệnh nhân
1. MYCIN: Họ tên ?
USER: Jack Durkin.
2. MYCIN: Tuổi ?
USER: 24
3. MYCIN: Giới tính ?
USER: Nam
4. MYCIN: Chủng tộc?
USER: CAUCASIAN
4. Một phiên làm việc với hệ MYCIN
KBS
CSTT
84
MYCIN cố gắng xác định bản chất lây nhiễm
5. MYCIN: Có bất kỳ phép cấy vi khuẩn cho Jack Durkin liên qua
đến bệnh hiện tại?
USER: Có
6. MYCIN: Mẫu vật lấy từ đâu?
USER: CSF
7. MYCIN: Ngày, giờ thực hiện cấy?
USER: 7- July-7:00
….
MYCIN: Gần đây Jack Durkin có các triệu chứng như: choáng
váng, hôn mê không?
USER: Có.
….
4. Một phiên làm việc với hệ MYCIN
KBS
CSTT
85
Ví dụ 2.
1. System: What is the patient's name?
User: George Washington
2. System: What is the patient's age?
User: 252 years
3. System: Is the patient male or female?
User: Male
4. System: What are the symptoms?
User: Headache, dizziness, upset, stomach, high fever
4. Một phiên làm việc với hệ MYCIN
KBS
CSTT
86
5. System: When did these symptoms first appear?
User: December 13,1799
6. System: I conclude that the patient has a viral infection,
my recommendation is that he should take two aspirin,
drink plenty of fluid, get lots of rest and call me in the
morning.
George Washington died the next day of a viral infection no
antibiotics
4. Một phiên làm việc với hệ MYCIN
KBS
CSTT
88
1. Giới thiệu
Trong nhiều trường hợp, ta không có sẵn tri thức
Kỹ sư tri thức cần thu nhận tri thức từ các chuyên gia
Cần biết các luật mô tả lĩnh vực cụ thể
Bài toán không được biểu diễn tường minh theo luật,
sự kiện hay quan hệ.
Hai hướng tiếp cận cho hệ thống học:
Học từ ký hiệu
Học từ dữ liệu số
KBS
CSTT
89
2. Các hình thức học
Học vẹt
Học bằng cách chỉ dẫn
Học bằng quy nạp
Học bằng tương tự
Học dựa trên giải thích
Học dựa trên tình huống
Học không giám sát (Khám phá)
KBS
CSTT
90
3. Cây định danh
Xây dựng cây định danh dựa trên sự phân hoạch của
các thuộc tính
Phân hoạch:
Nút cha là thuộc tính được phân hoạch
Các nút con: Các giá trị phân biệt ứng với thuộc tính được phân
hoạch.
Là công cụ phổ biến trong một số ứng dụng
KBS
CSTT
91
3. Cây định danh
Ví dụ 1:
Bảng quan sát người đi tắm biển có/không bị rám nắng
TT Tên Màu tóc Chiều cao Cân nặng Dùng thuốc Kết quả
1 Hoa Đen TB Nhẹ Không Bị rám
2 Lan Đen Cao Vừa Có Không
3 Xuân Râm Thấp Vừa Có Không
4 Hạ Đen Thấp Vừa Không Bị rám
5 Thu Bạc TB Nặng Không Bị rám
6 Đông Râm Cao Nặng Không Không
7 Mơ Râm TB Nặng Không Không
8 Đào Đen Thấp Nhẹ Có Không
KBS
CSTT
92
3. Cây định danh
Râm Đen Bạc
Dùng thuốc
Màu tóc
Không Có
Hoa, Hạ
Thu Đông, Xuân, Mơ
Lan, Đào
Một cây định danh tương ứng
KBS
CSTT
93
3. Cây định danh
Chuyển tri thức học từ dạng cây sang luật:
Đi từ nút gốc đến nút lá;
Lấy nút trong làm giả thiết;
Lấy nút lá làm kết luật .
Với cây định danh Ví dụ 1, ta có luật:
If (Màu tóc = Đen) and (Dùng thuốc = Không) then (Bị rám)
KBS
CSTT
94
4. Thuật toán Quinlan
Xây dựng các vector đặc trưng
VA(j) = (T(j, r1), T(j, r2),… T(j, rn))
Trong đó:
A: Thuộc tính dẫn xuất; r1, r2,… rn: Các thuộc tính mục tiêu
T(j, ri) = TAij/TAj
TAij : tổng số phần tử trong phân hoạch có thuộc tính A là j và thuộc
tính mục tiêu là ri.
TAj : tổng số phần tử trong phân hoạch có thuộc tính A là j.
Lưu ý: T(j, r1)+ T(j, r2)+… +T(j, rn) = 1
Vector đơn vị: Có 1 thành phần bằng 1; còn lại bằng 0.
Thuộc tính được chọn để phân hoạch là thuộc tính có
nhiều vector đơn vị nhất
KBS
CSTT
95
4. Thuật toán Quinlan
Ví dụ 2. Dựa trên bảng cho trong Ví dụ 1
Thuộc tính Màu tóc (3 giá trị)
Vmàu tóc(Đen) = (T(Đen/Bị rám), T(Đen/Không bị rám))
= (2/4, 2/4) = (0.5, 0.5)
Vmàu tóc(Râm) = (T(Râm/Bị rám), T(Râm/Không bị rám))
= (0/3, 3/3) = (0.0, 1.0)
Vmàu tóc(Bạc) = (T(Bạc/Bị rám), T(Bạc/Không bị rám))
= (1/1, 0/1) = (1.0, 0.0)
Số vector đơn vị: 02
KBS
CSTT
96
4. Thuật toán Quinlan
Thuộc tính Chiều cao (3 giá trị)
VChiều cao(Cao) = (0/2, 2/2) = (0.0, 1.0)
VChiều cao(TB) = (2/3, 1/3)
VChiều cao(Thấp) = (1/3, 2/3)
Số vector đơn vị: 01
Thuộc tính Cân nặng (3 giá trị)
VCân nặng(Nặng) = (1/3, 2/3)
VCân nặng(Vừa) = (1/3, 2/3)
VCân nặng(Nhẹ) = (1/2, 1/2)
Số vector đơn vị: 0
KBS
CSTT
97
4. Thuật toán Quinlan
Thuộc tính Dùng thuốc (2 giá trị)
VDùng thuốc(Có) = (0/3, 3/3) = (0.0, 1.0)
VDùng thuốc(Không) = (3/5, 2/5)
Số vector đơn vị: 01
Vậy, ta chọn thuộc tính màu tóc để phân hoạch!
Râm Đen Bạc
Màu tóc
Thu Đông, Xuân, Mơ Hoa, Hạ, Lan, Đào
KBS
CSTT
98
4. Thuật toán Quinlan
Màu tóc TT Tên Chiều
cao
Cân
nặng
Dùng
thuốc Kết quả
Đen 1 Hoa TB Nhẹ Không Bị rám
Đen 2 Lan Cao Vừa Có Không
Đen 3 Hạ Thấp Vừa Không Bị rám
Đen 4 Đào Thấp Nhẹ Có Không
Thuộc tính Chiều cao (3 giá trị)
VChiều cao(Cao) = (0/1,1/1) = (0.0, 1.0)
VChiều cao(TB) = (1/1, 0/1) = (1.0, 0.0)
VChiều cao(Thấp) = (1/2, 1/2)
Số vector đơn vị: 02
KBS
CSTT
99
4. Thuật toán Quinlan
Thuộc tính Cân nặng (2 giá trị)
VCân nặng(Vừa) = (1/2, 1/2)
VCân nặng(Nhẹ) = (1/2, 1/2)
Số vector đơn vị: 0
Thuộc tính Dùng thuốc (2 giá trị)
VDùng thuốc(Có) = (0/2, 2/2) = (0.0, 1.0)
VDùng thuốc(Không) = (2/2, 0/2) = (1.0, 0.0)
Số vector đơn vị: 02
Có 2 thuộc tính cùng có 2 vector đơn vị:
Chiều cao: Tỷ lệ 2/3
Dùng thuốc: Tỷ lệ 2/2
Chọn thuộc tính Dùng thuốc để phân hoạch
KBS
CSTT
100
4. Thuật toán Quinlan
Râm Đen Bạc
Dùng thuốc
Màu tóc
Không Có
Hoa, Hạ
Thu Đông, Xuân, Mơ
Lan, Đào
Cây định danh kết quả
KBS
CSTT
101
4. Thuật toán Quinlan
Râm Đen Bạc
Dùng thuốc
Màu tóc
Không Có
Hoa, Hạ
Thu Đông, Xuân, Mơ
Lan, Đào Kết quả học:
If (Màu tóc = Râm) then (Bị rám = Không)
If (Màu tóc = Bạc) then (Bị rám = Có)
If (Màu tóc = Đen) AND (Dùng thuốc = Không) then (Bị rám = Có)
If (Màu tóc = Đen) AND (Dùng thuốc = Có) then (Bị rám = Không)
KBS
CSTT
102
5. Học theo độ bất định
Độ bất định (entropy) của thuộc tính X
Thuật toán
b
bc
c b
bc
b t
b
n
n
n
n
n
nXE 2log)(
Trong đó:
nb: số mẫu nhánh b; nt: tổng số mẫu; nbc: số mẫu trong nhánh b
của lớp c;
Repeat
- Tính độ bất định cho mọi thuộc tính
- Chọn thuộc tính có độ bất định nhỏ nhất để phân hoạch
Until (Hết thuộc tính phân hoạch)
KBS
CSTT
103
5. Học theo độ bất định
Ví dụ 3. Dựa trên bảng cho trong Ví dụ 1
Thuộc tính Màu tóc (3 giá trị)
Tập tóc đen: 2/4 người bị rám; 2/4 người không bị rám
Tập tóc bạc: 1/1 người bị rám; 0/1 người không bị rám
Tập tóc râm: 0/3 người bị rám; 3/3 người không bị rám
E(Màu tóc) = 4/8(-2/4log22/4-2/4log2/4)
+ 1/8(-1/1log21/1-0/1log0/1)
+3/8(-0/3log20/3-3/3log3/3)
= 0.5 + 0 + 0 =0.5.
Tương tự ta có:
E(Chiều cao)= 0.69; E(Cân nặng)=0.94; E(Dùng thuốc)=0.61.
Vậy, ta chọn Màu tóc làm thuộc tính phân hoạch
KBS
CSTT
104
5. Học theo độ bất định
Ở bước tiếp theo, ta sẽ tính được:
E(Chiều cao)=0.5;
E(Cân nặng)=1.0;
E(Dùng thuốc)=0.0;
Vậy ta chọn Dùng thuốc làm thuộc tính phân hoạch và
được cây định danh kết quả.
KBS
CSTT
105
6. Thuật giải ILA
ILA: Inductive Learning Alogrithm
Ví dụ . Bảng quan sát người đi tắm biển có/không bị rám nắng
TT Tên Màu tóc Chiều cao Cân nặng Dùng thuốc Kết quả
1 Hoa Đen TB Nhẹ Không Bị rám
2 Lan Đen Cao Vừa Có Không
3 Xuân Râm Thấp Vừa Có Không
4 Hạ Đen Thấp Vừa Không Bị rám
5 Thu Bạc TB Nặng Không Bị rám
6 Đông Râm Cao Nặng Không Không
7 Mơ Râm TB Nặng Không Không
8 Đào Đen Thấp Nhẹ Có Không
KBS
CSTT
106
Chia bảng m mẫu thành n
bảng con theo tt quyết định
i=1; //số bảng con đã xét
R=; //Tập luật
Xét bảng con (i) Chia các tt theo các tổ hợp
phân biệt j thuộc tính
6. Thuật giải ILA
j=1; //số thuộc tính kết hợp
j++ Tìm tổ hợp lớn nhất
Tổ hợp lớn
nhất =
True False Đánh dấu các dòng thỏa
tổ hợp lớn nhất
Các dòng đều
đã đánh dấu
Thêm luật mới vào R
i++
True
False
i>n //Hết bảng con
False
END
True
KBS
CSTT
107
6. Thuật giải ILA
Ví dụ 5:
Bảng quan sát người đi tắm biển cho trong Ví dụ 1
TT Màu tóc Chiều cao Cân nặng Dùng thuốc Kết quả
1 Đen TB Nhẹ Không Bị rám
2 Đen Cao Vừa Có Không
3 Râm Thấp Vừa Có Không
4 Đen Thấp Vừa Không Bị rám
5 Bạc TB Nặng Không Bị rám
6 Râm Cao Nặng Không Không
7 Râm TB Nặng Không Không
8 Đen Thấp Nhẹ Có Không
KBS
CSTT
108
6. Thuật giải ILA
Bước 1: Chia thành 2 bảng con
Bảng TT Màu tóc Chiều cao Cân nặng Dùng thuốc Kết quả
1
1 Đen TB Nhẹ Không Bị rám
2 Đen Thấp Vừa Không Bị rám
3 Bạc TB Nặng Không Bị rám
Bảng TT Màu tóc Chiều cao Cân nặng Dùng thuốc Kết quả
2
1 Đen Cao Vừa Có Không
2 Râm Thấp Vừa Có Không
3 Râm Cao Nặng Không Không
4 Râm TB Nặng Không Không
5 Đen Thấp Nhẹ Có Không
KBS
CSTT
109
6. Thuật giải ILA
Xét bảng con i=1;
Bảng TT Màu tóc Chiều cao Cân nặng Dùng thuốc Kết quả
1
1 Đen TB Nhẹ Không Bị rám
2 Đen Thấp Vừa Không Bị rám
3 Bạc TB Nặng Không Bị rám
j=1 (1 thuộc tính):
Có 4 tổ hợp {Màu tóc}, {Chiều cao}, {Cân nặng} và {Dùng thuốc}
{Màu tóc} {Chiều cao} {Cân nặng} {Dùng thuốc}
Bạc (1)
Tổ hợp lớn nhất: {Màu tóc}= “Bạc”
KBS
CSTT
110
6. Thuật giải ILA
Bảng TT Màu tóc Chiều cao Cân nặng Dùng thuốc Kết quả
1
1 Đen TB Nhẹ Không Bị rám
2 Đen Thấp Vừa Không Bị rám
3 Bạc TB Nặng Không Bị rám
Tổ hợp lớn nhất: ;
Đánh dấu dòng có {Màu tóc}= “Bạc”
j=2 (2 thuộc tính):
{Màu tóc, Chiều cao}, {Màu tóc, Cân nặng}; {Màu tóc, Dùng thuốc}
{Chiều cao, Cân nặng}, {Chiều cao, Dùng thuốc}; {Cân nặng, Dùng thuốc}
R = R {IF Màu tóc = Bạc THEN Kết quả = Bị rám}
{Màu tóc} {Chiều cao} {Cân nặng} {Dùng thuốc}
KBS
CSTT
111
6. Thuật giải ILA
{Màu tóc, Chiều cao} {Màu tóc, Cân nặng} {Màu tóc, Dùng thuốc}
Đen, TB (1) Đen, Không (2)
{Chiều cao, Cân nặng} {Chiều cao, Dùng thuốc} {Cân nặng, Dùng thuốc}
TB, Nhẹ (1) TB, Không (1) Nhẹ, Không (1)
Vừa, Không (1)
Tổ hợp lớn nhất: {Màu tóc, Dùng thuốc}= “Đen, Không”
Bảng TT Màu tóc Chiều cao Cân nặng Dùng thuốc Kết quả
1
1 Đen TB Nhẹ Không Bị rám
2 Đen Thấp Vừa Không Bị rám
3 Bạc TB Nặng Không Bị rám
Đánh dấu dòng có {Màu tóc, Dùng thuốc}= “Đen, Không”
R = R {IF Màu tóc = Đen AND Dùng thuốc =Không
THEN Kết quả = Bị rám}
KBS
CSTT
112
6. Thuật giải ILA
Xét bảng con i=2;
Bảng TT Màu tóc Chiều cao Cân nặng Dùng thuốc Kết quả
2
1 Đen Cao Vừa Có Không
2 Râm Thấp Vừa Có Không
3 Râm Cao Nặng Không Không
4 Râm TB Nặng Không Không
5 Đen Thấp Nhẹ Có Không
j=1 (1 thuộc tính):
{Màu tóc} {Chiều cao} {Cân nặng} {Dùng thuốc}
Râm (3) Cao (2) Có (3)
Tổ hợp lớn nhất: {Màu tóc}= “Râm” và {Dùng thuốc}=“Có”
Chọn tổ hợp đầu tiên: {Màu tóc}= “Râm”
KBS
CSTT
113
6. Thuật giải ILA
Bảng TT Màu tóc Chiều cao Cân nặng Dùng thuốc Kết quả
2
1 Đen Cao Vừa Có Không
2 Râm Thấp Vừa Có Không
3 Râm Cao Nặng Không Không
4 Râm TB Nặng Không Không
5 Đen Thấp Nhẹ Có Không
R = R {IF Màu tóc = Râm THEN Kết quả =Không}
Đánh dấu các dòng có : {Màu tóc}= “Râm”
{Màu tóc} {Chiều cao} {Cân nặng} {Dùng thuốc}
Cao (1) Có (2)
Tổ hợp lớn nhất: {Dùng thuốc}=“Có”
KBS
CSTT
114
6. Thuật giải ILA
Bảng TT Màu tóc Chiều cao Cân nặng Dùng thuốc Kết quả
2
1 Đen Cao Vừa Có Không
2 Râm Thấp Vừa Có Không
3 Râm Cao Nặng Không Không
4 Râm TB Nặng Không Không
5 Đen Thấp Nhẹ Có Không
R = R {IF Dùng thuốc= Có THEN Kết quả =Không}
Đánh dấu các dòng có : {Dùng thuốc}= “Có”
Đánh dấu hết dòng
Đã xét hết các bảng con Kết thúc
KBS
CSTT
116 www.themegallery.com
Tập rõ (Crisp set - Cantor)
A là tập rõ, x là phần tử có 2 khả năng: x A hoặc x A
là hàm đặc trưng của tập A: (x)=1 nếu x A và (x)=0 nếu x
A.
Tập mờ (Fuzzy set)
Là khái niệm mở rộng để phản ánh mức độ x là phần tử thuộc
tập hợp mờ A.
Hàm thành viên A(x): phản ánh mức độ x thuộc về A.
Một tập mờ A trong tập vũ trụ U được xác định bởi hàm:
A: U →[0,1]
1. Tập rõ – tập mờ
KBS
CSTT
117 www.themegallery.com
Hàm đặc trưng vs. Hàm thành viên
Tập rõ
1
Tập mờ
1
Ví dụ:
Tập rõ: ”Nhiệt độ”.
Tập mờ: ”Lạnh”:
Nhiệt độ Nha Trang là 28oC: (Nha Trang)=0.2
Nhiệt độ Hà Nội là 16oC: (Hà Nội)=0.7
1. Tập rõ – tập mờ
KBS
CSTT
118
Biểu diễn tập mờ
Tập vũ trụ U hữu hạn, rời rạc
Tập vũ trụ U liên tục
Ux
A
x
xA
)(
Ux
A
x
xA
)(
Ví dụ:
cbaA
cbaU
6.07.03.0
},,{
Ví dụ: Cho tập mờ A = {“Số gần 7”} , ta có thể biểu diễn
Ux
x
x
A
x
eA
ex2
2
)7(
)7()(
1. Tập rõ – tập mờ
KBS
CSTT
119 www.themegallery.com
1. Tập rõ – tập mờ
Biến ngôn ngữ Là biến nhận các từ trong ngôn ngữ tự nhiên
Biến ngôn ngữ xác định bởi bộ 4 (x, T, U, M)
x: Tên biến. Ví dụ: “Tốc độ”. “Nhiệt độ”, “Chiều cao”
T: Tập các giá trị ngôn ngữ mà x có thể nhận. Ví dụ: Với x là
“Tốc độ” thì T={chậm, vừa, nhanh}
U: Là miền giá trị của x. Ví dụ: Với x là “Tốc độ”, U=[0..100]
M: Luật ngữ nghĩa, ứng mỗi từ tT với một tập mờ A
Gia tử: Tăng thêm tính mơ hồ
Ví dụ. Tập mờ gồm những xe chạy “rất” nhanh
Rất(A)(x) = ((A)(x))2
KBS
CSTT
120
xkhi
xkhix
xkhix
xkhi
xSx
1
))/()((21
))/()((2
0
),,,()(2
2
www.themegallery.com
Có 3 dạng
Dạng tăng
Hàm S tăng
1
0.5
0
2. Các dạng hàm thành viên
KBS
CSTT
121 www.themegallery.com
Dạng giảm
),,,(1)( xSx
Hàm S giảm
1
0.5
0
2. Các dạng hàm thành viên
KBS
CSTT
122 www.themegallery.com
Dạng chuông
Hàm dạng chuông
xkhixS
xkhixSxx
),2/,,(
),2/,,(),,()(
1
0.5
0 + - +/2 -/2
2. Các dạng hàm thành viên
KBS
CSTT
123 www.themegallery.com
Hàm thành viên cho các biến rời rạc
Cho tập vũ trụ E = Tốc độ = {20, 50, 80, 100}, đơn vị km/h
Xét tập mờ T1 = Nhanh
Nhanh(20) = 0: 20km/h là không nhanh
Tương tự: Nhanh(50) = 0.5, Nhanh(80) = 0.7, Nhanh(100) = 1
Nhanh
1
0.5
0
80 20 100 50
0.7
E
2. Các dạng hàm thành viên
KBS
CSTT
124 www.themegallery.com
Tương tự với tập mờ T2 = Vừa và T3 = Chậm
1
0.5
0
80 20 100 50
0.2
E
Vừa
1
0
80 20 100 50
0.6
Chậm
E
2. Các dạng hàm thành viên
KBS
CSTT
125 www.themegallery.com
2. Các dạng hàm thành viên
Hàm thành viên cho các biến liên tục
Cho tập vũ trụ E = Tốc độ, đơn vị km/h
Xét tập mờ T1 = Nhanh và T2 = Vừa
2)100/()( xxNhanh
1005050/)100(
502030/)20(
200
)(Vua
xifx
xifx
xif
x
KBS
CSTT
126
3. Các phép toán trên tập mờ
Cho 3 tập mờ A, B, C với A(x), B(x), C(x)
C = A B: C(x) = min {A(x), B(x)}
C = A B: C(x) = max {A(x), B(x)}
C = A: C(x) = 1- A(x)
0.5
0
80 20 100 50
0.2
E
NhanhChậm
NhanhChậm
1
0.5
0
80 20 100 50
0.7
E
Ví dụ:
KBS
CSTT
127
4. Suy diễn mờ
Mệnh đề mờ: Khẳng định giá trị cho biến ngôn ngữ
<Miền xác định X> is <tập mờ A>
Ví dụ: Chiều cao là vừa
Logic mờ sử dụng tập mờ trong các mệnh đề mờ
IF X is A THEN Y is B
Ví dụ: Chiều cao là vừa thì trọng lượng là trung bình
Hệ chuyên gia lưu trữ liên kết (A,B) trong ma trận M.
Hai kỹ thuật suy diễn thông dụng:
Suy diễn Max-Min
Suy diễn cực đại
KBS
CSTT
128 www.themegallery.com
5. Nguyên lý xử lý các bài toán mờ
Bộ lập luận mờ
Bộ mờ hóa Bộ giải mờ
Vào E Ra U
Bộ mờ hóa: Chuyển đổi dữ liệu thành trị mờ
Bộ lập luận mờ: Đưa ra kết quả mờ
Bộ giải mờ: Biến đổi trị mờ thành trị rõ
KBS
CSTT
129 www.themegallery.com
Bài toán 1
Ví dụ: Xét bài toán mờ xác định bởi các luật sau
Luật 1: If x is A1 and y is B1 Then z is C1
Luật 2: If x is A2 or y is B2 Then z is C2
Vào: x0, y0
Ra: z0
Dữ liệu đầu vào là các giá trị rõ
5. Nguyên lý xử lý các bài toán mờ
KBS
CSTT
130 www.themegallery.com
Bài toán 1 Phương pháp giải quyết
Ứng với tập mờ A1 ta có hàm thành viên A1(x)
Ứng với tập mờ A2 ta có hàm thành viên A2(x)
Ứng với tập mờ B1 ta có hàm thành viên B1(x)
Ứng với tập mờ B2 ta có hàm thành viên B2(x)
Ứng với tập mờ C1 ta có hàm thành viên C1(x)
Ứng với tập mờ C2 ta có hàm thành viên C2(x)
5. Nguyên lý xử lý các bài toán mờ
KBS
CSTT
131 www.themegallery.com
C C2 C1
A2 A2
A1 A1 B1 B1
C1 C1
B2 B2 C2 C2
x0 y0
w1
w2
c(z)= W1xc1 + W2xc2
5. Nguyên lý xử lý các bài toán mờ
KBS
CSTT
132 www.themegallery.com
Hàm thành viên cho kết luận
)()(1
zWzn
i
KLiC i
n
i
i
n
i
ii WzDefuzzy11
/).()(
Giải mờ
5. Nguyên lý xử lý các bài toán mờ
KBS
CSTT
133 www.themegallery.com
Ví dụ
Giải bài toán bơm nước lấy từ Giếng vào Hồ.
Giếng Hồ
10
0
y
2
x 0
Với biến ngôn ngữ Giếng có các tập mờ nước cao (N.Cao),
nước vừa (N.Vừa) và nước thấp (N.Thấp).
Với biến ngôn ngữ Hồ có các tập mờ hồ đầy (H.Đầy), hồ lưng
(H.Lưng) và hồ cạn (H.Cạn)
Với biến ngôn ngữ thời gian bơm có các tập mờ bơm lâu
(B.Lâu), bơm hơi lâu (B.Hơi Lâu) và bơm vừa (B.Vừa)
5. Nguyên lý xử lý các bài toán mờ
KBS
CSTT
134 www.themegallery.com
1
H.Đầy
1
H.Lưng H.Cạn 1
2 2 2 1
202/ xifxH.Đầy(x)
212
10
xifx
xifxH.Lưng(x)
202/1 xifxH.Cạn(x)
Các hàm thành viên của Hồ nước
5. Nguyên lý xử lý các bài toán mờ
KBS
CSTT
135 www.themegallery.com
10010/ yifyN.Cao(y)
1055/)10(
1005/
yify
yifyN.Vừa(y)
10010/1 xifyN.Thấp(y)
Các hàm thành viên của Giếng
1
N.Cao
1
N.Vừa N.Thấp 1
10 10 10 5
5. Nguyên lý xử lý các bài toán mờ
KBS
CSTT
136
30030/ zifzB.Lâu(z)
3020)20(05.01
20020/
zifz
zifzB.Hơi Lâu(z)
Các hàm thành viên của kết luận cho từng luật
301515/)30(
15015/
zifz
zifzB.Vừa(z)
1
B.Lâu
1
B.Vừa B.Hơi Lâu
1
30 30 15 20 30
0.5
5. Nguyên lý xử lý các bài toán mờ
KBS
CSTT
137
H.Đầy H.Lưng H.Cạn
N.Cao 0 B.Vừa B.Lâu
N.Vừa 0 B.Vừa B.Hơi Lâu
N.Thấp 0 0 0
Căn cứ vào bảng trên ta có 4 luật
Luật 1: If x is H.Lưng and y is N.Cao Then z is B.Vừa
Luật 2: If x is H.Lưng and y is N.Vừa Then z is B.Vừa
Luật 3: If x is H.Cạn and y is N.Cao Then z is B.Lâu
Luật 4: If x is H.Cạn and y is N.Vừa Then z is B.Hơi Lâu
Bảng mô tả
5. Nguyên lý xử lý các bài toán mờ
KBS
CSTT
138
Cho đầu vào: x0=1; y0=3
1
H.Lưng
2 1
1
N.Cao
10
1
B.Vừa
30 15
1
H.Lưng
2 1
1
B.Vừa
30 15
1
N.Vừa
10 5
H.Cạn 1
2
1
N.Cao
10
1
B.Lâu
30
H.Cạn 1
2
1
N.Vừa
10 5
B.Hơi Lâu
1
20 30
0.5
5. Nguyên lý xử lý các bài toán mờ
KBS
CSTT
139
Cho đầu vào: x0=1; y0=3
H.Lưng N.Cao
B.Vừa
H.Lưng
1
B.Vừa N.Vừa
H.Cạn N.Cao
B.Lâu
H.Cạn
2
N.Vừa
10
B.Hơi Lâu
30 3
r1
r2
r3
r4
5. Nguyên lý xử lý các bài toán mờ
KBS
CSTT
140
Ta có
H.Lưng(x0)=1
N.Cao(y0)=0.3 W1=min { 1; 0.3} = 0.3
H.Lưng(x0)=1
N.Vừa(y0)=0.6 W2=min { 1; 0.6} = 0.6
H.Cạn(x0)=0.5
N.Cao(y0)=0.3 W3=min {0.5; 0.3} = 0.3
H.Cạn(x0)=0.5
N.Vừa(y0)=0.6 W4=min {0.5; 0.6} = 0.5
5. Nguyên lý xử lý các bài toán mờ
KBS
CSTT
141
Suy ra
)()(1
zWzn
i
KLiC i
= W1xB.Vừa(z)+ W2xB.Vừa(z)+W3xB.Lâu(z)+ W4xB.Hơi Lâu(z)
= 0.3xB.Vừa(z)+ 0.6xB.Vừa(z)+0.3xB.Lâu(z)+ 0.5xB.Hơi Lâu(z)
Giải mờ
(min)66.16≈)z(/)z(.z=)z(Defuzzy ∫∫30
0
C
30
0
C μμ
5. Nguyên lý xử lý các bài toán mờ