You are on page 1of 71

BỘ GIAO THÔNG VẬN TẢI

TRƯỜNG ĐẠI HỌC HÀNG HẢI


BỘ MÔN: KHOA HỌC MÁY TÍNH
KHOA: CÔNG NGHỆ THÔNG TIN

BÀI GIẢNG
HỆ CHUYÊN GIA

TÊN HỌC PHẦN : HỆ CHUYÊN GIA


MÃ HỌC PHẦN : 17213
TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY
DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN

HẢI PHÒNG - 2010


MỤC LỤC

NỘI DUNG TRANG


Mở đầu 1
Chương 1: Tổng quan về hệ chuyên gia 2
1.1 Hệ chuyên gia - chƣơng trình ứng dụng (HCG - CTƢD) 2
1.2 Cấu trúc hệ chuyên gia 4
1.3 Ứng dụng hệ chuyên gia 5
B i tập chƣơng 1 6
Chương 2: Biễu diễn tri thức 7
2.1 Mở đầu 7
2.2 Dƣ thừa (Redundancy) 7
2.3 Mâu thuẫn (consistency - inconsistency) 11
2.4 Lƣu trữ CSTT 14
2.5 Soạn thảo tri thức 16
2.6 Cập nhật sửa đổi 16
B i tập chƣơng 2 17
Chương 3: Các kỹ thuật suy diễn và lập luận 18
3.1 Nhập môn 18
3.2 Phân rã CSTT 18
3.3 Mô tơ suy diễn 20
3.4 Biểu diễn tri thức bằng Logic vị từ v suy diễn 30
3.5 Ứng dụng các kỹ thuật suy diễn 32
B i tập chƣơng 3 37
Chương 4: Hệ hỗ trợ quyết định 38
4.1 Khái niệm về hệ hỗ trợ ra quyết định 38
4.2 Cấu trúc của một hệ hỗ trợ ra quyết định 39
B i tập chƣơng 4 41
Chương 5: Máy học 42
5.1 Thế n o l máy học 42
5.2 Học bằng cách xây dựng cây định danh 43
B i tập chƣơng 5 48
Chương 6: Logic mờ và lập luận xấp xỉ. 49
6.1 Biểu diễn tri thức bằng logic vị từ 49
6.2 Một số ví dụ 49
6.3 Cơ chế suy diễn 50
6.4 Biểu diễn tri thức bằng logic mờ v suy diễn 52
B i tập chƣơng 6 63
Đề cƣơng ôn tập 64
Đề thi mẫu 65
Tên học phần: Hệ chuyên gia . Loại học phần : 3
Bộ môn phụ trách giảng dạy : Khoa học máy tính Khoa phụ trách: CNTT.
Mã học phần: 17213 Tổng số TC: 3

TS tiết Lý thuyết Thực h nh/ Xemina Tự học B i tập lớn Đồ án môn học
60 45 0 0 15 0

Điều kiện tiên quyết:


Sinh viên phải nắm đƣợc một ngôn ngữ lập trình v học môn TTNT.
Mục tiêu của học phần:
- Cung cấp các kiến thức cơ bản về các kỹ thuật biểu diễn v xử lý tri thức.
- Rèn luyện tƣ duy khoa học.
Nội dung chủ yếu:
- Tổng quan về hệ chuyên gia;
- Biểu diễn tri thức v lập luận;
- Hệ hỗ trợ ra quyết định.
- Máy học;
- Logic mờ v lập luận xấp xỉ;
Nội dung chi tiết:

Phân phối số tiết


Tên chương mục TS LT BT Xemina KT
MỞ ĐẦU
Chương I. Hệ chuyên gia, chương trình ứng dụng 08 08
1.1. Hệ chuyên gia - chƣơng trình ứng dụng 03
1.2. Cấu trúc hệ chuyên gia 03
1.3. Ứng dụng hệ chuyên gia 02
Chương II. Biểu diễn tri thức 08 08
2.1. Mở đầu 01
2.2. Dƣ thừa (Redundancy) 01
2.3. Mâu thuẫn (consistency - inconsistency) 01
2.4. Lƣu trữ CSTT 02
2.5. Soạn thảo tri thức 02
2.6. Cập nhật sửa đổi 01
Chương III. Các kỹ thuật suy diễn và lập luận 09 08 01
3.1. Nhập môn 01
3.2. Phân rã CSTT 02 01
3.3. Mô tơ suy diễn 01
3.4. Biểu diễn tri thức bằng Logic vị từ v suy diễn 02
3.5. Ứng dụng các kỹ thuật suy diễn 02
Chương IV. Hệ hỗ trợ quyết định 06 05 01
4.1. Khái niệm về hệ hỗ trợ ra quyết định 02
4.2. Cấu trúc của một hệ hỗ trợ ra quyết định 03 01
Chương V. Máy học 08 08
5.1. Thế n o l máy học 02
5.2. Học bằng cách xây dựng cây định danh 06
Chương VI. Logic mờ và lập luận xấp xỉ. 06 05 01
6.1. Biểu diễn tri thức bằng logic vị từ 01
6.2. Một số ví dụ 01 01
6.3. Cơ chế suy diễn 01
6.4. Biểu diễn tri thức bằng logic mờ v suy diễn 02

Nhiệm vụ của sinh viên: Lên lớp đầy đủ v chấp h nh mọi quy định của Nh trƣờng.
L m b i tập lớn đúng hạn.
Tài liệu tham khảo:
1. Nguyễn Thanh Thủy - Hệ Chuyên gia - Trƣờng Đại học Bách khoa H nội - 2002
2. Ho ng Kiếm - Các hệ cơ sở tri thức - Nh xuất bản ĐHQG TPHCM - 2002
3. JohnDurkin - Expert systems - NXB Prentic Hall - 1994
Hình thức và tiêu chuẩn đánh giá sinh viên:
- Thi viết rọc phách, thời gian l m b i: 60 phút.
Thang điểm : Thang điểm chữ A,B,C,D,F.
Điểm đánh giá học phần: Z=0,3X+0,7Y.

B i giảng n y l t i liệu chính thức và thống nhất của Bộ môn Khoa học máy tính, Khoa
Công nghệ thong tin v đƣợc dùng để giảng dạy cho sinh viên.

Ngày phê duyệt: / /2010

Trưởng Bộ môn: (ký và ghi rõ họ tên)


Mở đầu
Ng y nay việc ứng dụng công nghệ kĩ thuật cao v o đời sống đang l một đòi hỏi
bức thiết. Một trong những lĩnh vực đó l trí tuệ nhân tạo, m một phần quan trọng
của nó l Hệ chuyên gia. Vậy hệ chuyên gia l gì? Theo giáo sƣ Edward
Feigenbaum của trƣờng đại học STANFORD , ông l một trong những chuyên gia
đầu ng nh về hệ chuyên gia đã cho rằng: Hệ chuyên gia l một hệ thống chƣơng
trình máy tính chứa các thông tin tri thức v các quá trình suy diễn về một lĩnh vực
cụ thể n o đó dể giải quyết các b i toán khó m dòi hỏi sự uyên bác của các chuyên
gia trong ngành. Một cách khác ta có thể thấy:

Hệ chuyên gia = CSTT + MTSD + GD + Modul hỏi đáp + Thu nhận tri thức
Các vấn đề của hệ chuyên gia:
Quản trị tri thức
Môtơ - suy diễn:
Sd thông thƣờng
Sd với Metaknowledge
Sd không chắc chắn
Sd xấp xỉ logic xác suất
Logic mờ
Giao diện
Hỏi đáp
KDD : thu nạp (phát hiện) tri thức từ dữ liệu
HCG phân tán

1
Chương 1: Tổng quan về hệ chuyên gia
1.1. Hệ chuyên gia - chương trình ứng dụng (HCG - CTƯD)
Khái niệm: Hệ chuyên gia (HCG ) l một chƣơng trình ứng dụng (CTƢD) khai
thác cơ sở tri thức (CSTT) thu nạp từ nguồn tri thức chuyên môn dựa trên việc sử
dụng cơ chế suy diễn để giải quyết các b i toán tƣ vấn KHÓ đạt trình độ cỡ nhƣ
một CHUYÊN GIA LÂU NĂM LÀNH NGHỀ
i) Ta có sơ đồ mô tả nhƣ sau:
HCGƢD = CSTT + MTSD
(BDTT)
Nguồn tri thức NSD

Chuyên gia T i liệu chuyên môn


Qua sơ đồ trên ta có thể thấy: Một chƣơng trình ứng dụng đƣợc xây dựng dựa trên
CSTT v (MTSD) mô tơ suy diễn. Trong đó CSTT đƣợc lấy từ nguồn tri thức. Có
hai loại l xin ý kiến từ các chuyên gia trong lĩnh vực đó, cũng có thể lấy theo cách
thứ hai đó l tổng hợp từ các t i liệu chuyên môn. Còn MTSD phụ thuộc v o ngƣời
dùng do ngƣời dùng đƣa ra .
ii) Vai trò của kỹ sƣ tri thức (knowledge Engineer)
Lĩnh vực CM Tin học
1. Xd HT3QL SUPER Super
Nhà c/m Super Super
LTV  Super
Analyzer SUPER 
2. XD HCG
C gia S 
LTV  Super
Kĩ sƣ TT  Super

iii) Xây dựng hệ chuyên gia

2
Sau khi đã xét ai trò của các nhân tố ở mục trên ta có thể thấy rằng để xây dựng một
hệ chuyên gia thì cần có sự tham gia của các nhân tố. v sự kết hợp của họ tiến h nh
trong một thời gian d i( long-term). Các nhân tố bao gồm:
- CGia
- LTV
- Kĩ sƣ tri thức
iv) Hai phƣơng cách xây dựng hệ chuyyên gia ứng dụng
Cách 1:
Với cách n y có sự kết hợp v nỗ lực giũa các chuyên gia, các kĩ sƣ tri thức và các
lập trình viên. Họ l m việc cùng nhau và kết quả l xây dựng một hệ chuyên gia.
HCGƯD = ∑ nỗ lực (CGia + KSTT + LTV)
Cognitive Engineering
Cách 2:
Trong cách này không có sự tham gia của Lập trình viên
HCGƯD = ∑ nỗ lực (CGia + KSTT) + CÔNG CỤ
ES Generation KBMS
Shell ES ES Building to
Empty ES
v) Hệ tri thức(knowledge system)
Tri thức đƣợc thu nạp từ nhiều nguồn khác nhau nhƣ là:
+T i liệu
+KDD
+Knowledge Base System
+Knowledge Base System : Hệ thống l m việc trên cơ sở tri thức
vi) Hệ chuyên gia nhằm giải quyết b i toán tƣ vấn (consultation) khó

vii) Hệ chuyên gia phải đạt trình độ cao

HTTTQL HCG
Nhiều thông tin Ít

3
Nhanh Chậm SUPER cross - validation
Chính xác KCX

1.2. Cấu trúc hệ chuyên gia


Phiên tƣ vấn chuyên gia Tập tin (1)
Ngày, giờ, tháng, năm, giới tính

user TT(2) SD (3)


Expert

Kluận/ tƣ vấn (1)

(0) Phiên thu nạp tri.thức : off - line


(1) Phiên hỏi: để lấy thông tin
(2) Suy diễn On - line
(3) Giải đáp

NSD
C.Gia

Giao diện (1)

KSTT

Soạn thảo Mô tơ suy diễn (3) Giải thích


tri thức Các cơ chế Các cơ (4)
(5) sử dụng chế ĐK

CSTT(2 )

CS luật Cs sự
KDD l.vực kiện
CSDL (NSD)
L

4
Phân tích (If … then)

HCG = 1 +(2 + 3) + 4 + 5 + 6
Kenel(nhân)
Ví dụ:
(1) Đánh cờ
i) CHƢƠNG TRÌNH CỜ = CTDL + Thuật giải Heuristic
ii) Cẩm nang
If thế cờ Then đi quân.....
(2) Hệ Tử vi
(3) Hệ khám bệnh
1.3. Ứng dụng hệ chuyên gia
Hiên nay hệ chuyên gia đƣợc ứng dụng trong nhiều lĩnh vực khác nhau: ví dụ nhƣ
công nghệp, nông nghiệp, khoa học máy tính, thƣơng mại khí tƣợng, y học, quân sự,
hoá học.....Đặ biệt trong giai đoạn gần đây việc ứng dụng hệ chuyên gia vào lĩnh vực
giáo dục đ o tạo đang đƣợc phát triển mạnh.
Ở đâu cần tƣ vấn ở đó có thể xây dựng hệ chuyên gia
nên
phải
* Các dạng b i toán (Sự tƣ vấn)
1 - Diễn giải (Interpretation): Đƣa ra mô tả tình huống các dữ liệu thu thập
đƣợc.
2 - Dự báo (Hediction): đƣa ra hậu quả của một tình huống nào đó, nhƣ là dự
báo thời tiết, dự báo giá cả thị trƣờng.
3 - Chuẩn đoán (Diagnosis): Xác định các lỗi , các bộ phận hỏng hóc của hệ
thống dựa trên các dữ liệu quan sát đƣợc.
(Khi hệ thống hoạt động không bình thƣờng)
4 - Gỡ rối (Debugging): Mô tả các phƣơng pháp khắc phục hệ thống khi gặp
sự cố.

5
5 - Thiết kế : lựa chọn cấu hình các đói tƣợng nhằm thoả mãn một số ràng
buộc nào đó:
x: CAD
Intelligent (x) : CAD
6 - Giảng dạy : Phần mềm dạy học, có thể chuẩn đoán và sủa lỗi của học sinh
trong quá trình học tập.
- Multimedia
- Internet
Bài tập chương 1:
Câu 1: Hệ chuyên gia l gì? Cho ví dụ?
Câu 2: Trình b y cấu trúc của một hệ chuyên gia trong thực tế.
Câu 3: Liệt kê các hệ chuyên gia đã đƣợc ứng dụng thực tế (tối thiểu 6 hệ).

6
Chương 2: Biểu diễn tri thức
2.1. Mở đầu
Ở chƣơng trƣớc chúng ta đã có khái niệm đơn giản nhƣ thế nào là một hệ
chuyên gia. Một thành phần vô cùng quan trọng của hệ chuyên gia đó là cơ sở tri
thức. Thông qua các phiên thu nạp tri thức ( trực tiếp hay gián tiếp) chúng ta đã xây
dựng đƣợc một cơ sở tri thức cho hệ chuyên gia. Vậy làm thế nào đẻ quản lí và thao
tác xử lí để hệ chuyên gia có thể hoạt động đƣợc. Trong chƣơng này chúng ta sẽ đề
cập đến vấn đề đó và giải quyết vấn đề đó nhƣ thế nào.

HCSTT/ HCGƢD = CSTT + MTSD + Giao Diện + Giải thích + Thu nạp (KDD)/
Soạn thảo (Tri thức chuyên gia)
KB Administrator - Dƣ thừa
- Đúng đắn Chính xác phi mâu thuẫn
Không chính xác
- Tổ chức lƣu trữ .....  suy diễn
hiệu năng
- Phân tán
- Chuyển đổi biểu diễn các mức / user
2.2. Dư thừa (Redundancy)
- CSTT = ( CS luật, CS sự kiện)
Rule Base, Fact base
Tri thức chuyên về l.vực Thông tin về một b i toán (cụ thể)
2.2.1. Dƣ thừa luật
ĐN: cho CSTT: B1 = (R1, F1)
B2 = (R2, F2)
Ta nói R1  R2  Sức mạnh suy diễn của R1 bằng sức mạnh suy diễn của R2
Bao đóng suy diễn cho R. Xét A  F

Tiến * **

7
A R = f  F/ A f

GT
VD:
1) a  b  c
2) b  c  d  e
3) a  d  f
4) c  g
5)a  h
6) d  c  h
7) b  u
a+ = a, h
a, b + = a, b, c, g , u, h
Nhận xét: Một luật trong logic mệnh đề  PTH v bao đóng = bao đóng của PTH
VD: Logic vị từ:
V1: td (U, XY)  tđ (V, XZ)  SS (UV, YZ)
V2: SS (UV, XY)  SS (XY, ST)  SS (UV, ST)
V3: SS (UV, XY)  SS (UT, XY)  THAG (U,V,T)

tđ (U, XY)  tđ (U, YX)


SS (UV, XY)  SS (XY, UV)
SS (UV, XY)  SS (VU, XY)
A

Q
P

K L
B C
GT = tđ (P, AB), tđ (Q, AC), tđ (K,BQ), tđ (L,CP)

8
GT R = … ?
VD: Quy nạp toán học P(x)
(1) P(1)
(2) P (i)  P (i + 1)
P(1)R = P(1), P(2), P(3),...
x P (x)
* Việc xác định bao đóng suy diễn dựa v o SD tiến:

a, d  Max, min,quece, stack


a, d , h  suy diễn có tính chất đơn điệu (a,d,h,g)
(đ.với logic m.đề) (3)
VD: Y(x,y)  C (x,y)
Y (a, b), Y (a, c) Y(a,b), C(a,b)
Y(a,c), C(a,c)
VD: Xây dựng tập luật cho Robot
A C

B E

C E A B

Robot Tay (x)


Tay ko
Trong (x)
Trên (x,y)
Tay ko  Trong (x)  Tay (x) +
Tay (x)  Trong (y)  Trên (x,y) +
Trong (y) -
Tay (x)  San (x), Trong (x) +
Ta nói R1  R2   A  F A R1 = A R 2
Giả sử R = m:
R=

9
ri : lefti  qi
le ft i  K

F  (1+K)m = (m)

 F = 0 (m)

ĐN:
Luật r  R thừa trong R  R\ r  R
Tiêu chuẩn 1 (áp dụng cho logic mệnh đề)
r: left  q  R dƣ thừa  q  left R / r
giải thích:
left  ... q
R / r 

Câu hỏi: Thuật toán xác định bao đóng của 1 tập
A R 0 (m2) 0(m) (logic mệnh đề)
(SD tiến)

VD:
1) a  m  u
2) u c u c
3) a  b  c ab  c
4) u b Q3 : Thứ tự có ảnh hƣởng r  R không
5) b g
6) g  c
- Khi xét các biểu diễn l logic vị từ  vấn đề dƣ thừa nhƣ thế n o?
2.2.2. Dƣ thừa sự kiện
Giả sử cơ sở luật không chứa luật dư thừa
ĐN: Xét r : left  q
f  left
f đƣợc coi l dƣ thừa trong r  thay r bởi r’ : left \  f   q vẫn có tập luật tƣơng
đƣơng ( R r)  r  R

10
TC 2: f dƣ thừa  f  (left \ rf )
R+
Giải thích: (m2)
r: (left\  f )   f   q 0 (m)
CHÚ Ý:
- Dƣ thừa không có ý nghĩa l vô ích
- Duy trì dƣ thừa kéo theo nâng cao chất lƣợng suy diễn
 KSTT q.định dƣ thừa có vô ích hay không?
VD: GT = a, m KL = c
Vet1 = r1, r2
Vet2 = { r1, r4, r5, r6 }
Luật hợp th nh (compositional rule):
T vet1: a  m  c (tăng suy diễn, giảm bộ nhớ)
VD: Hệ chuyên gia chứng minh biểu thức hoá học
Tri thức 7:
2.3. Mâu thuẫn (consistency - inconsistency)
2.3.1 Mâu thuẫn tƣờng minh
- Khi duyệt CSTT, chỉ qua ht bên ngo i của các luật đã phát hiện ra ><
ĐN:
Ta nói: r: left  q >< r’: left’  q’
 + left  left’ hoặc left’  left
+ q >< q’
_
Trong logic mệnh đề: p >< p
_
Trong logic vị từ: + p(a) >< p (a)
_
+ p (a) ><  x p(x)
_
+ p(a) ><  x p (a)

Trong luật s.xuất: X = 3 >< X = 4


X  9 >< X > 10
11
Phát hiện mâu thuẫn m(m - 1) cặp (r, r’) 0(1)
2
le ft  k 0(m2)

0(k2) 0 (K log2K)
* Xử lý mâu thuẫn
- Xử lý cục bộ : r >< r’
+ theo trọng số
+ theo lĩnh vực chuyên môn
r thuộc lĩnh vực chuyên môn A
r’ thuộc lĩnh vực chuyên môn B
+ theo xử lý ngoại lệ: r – chung; r’ - ngoại lệ; left left’
- Xử lý tổng thể: thể hiện trong:
ĐỒ THỊ MÂU THUẪN : - đỉnh l luật
- cạnh l mâu thuẫn
A
(r, r’)  A  r >< r’
Nhƣ vậy:
r10 r9

r1 r5

r8
r100
Biện pháp: Vứt bỏ tập luật (tập con các luật) R0  R sao cho R\ R0 trở th nh phi ><
Theo những đồ thị: bỏ luật cùng các cạnh liên thuộc để có một đồ thị con R\ R0 chỉ
còn các đỉnh cô lập (tức l (R, R0, ))
+ Tiêu chuẩn (R0)  max / min
· Tiêu chuẩn (R0) = · R  min

· 
rR0
w(r)  min

12
2.3.2. Mâu thuẫn không tƣờng minh (KTM)
ĐN: CSTT (R,F) chứa >< KTM
FF 1) F không chứa cặp sự kiện đụng độ

SUY DIỄN *
2) F R chứa cặp sự kiện đụng độ F F R
R
VD:
 _

1) a  b a, u R = a, u,...e,... e
 
2) b  c
3) c  d
4) d  e
5) a  u  v
6) v  w
_
7) w  u  e
* Thuật toán:
R={r1,r2……,rm}
Xét a  F: R1={rj:leftj  qj/a  leftj}
R2={rl:leftl  ql/a  leftl}
 R3=R\{R1,R2}

 R 1' = R1  R3 ; R '2 = R2  R 3

Mâu thuẫn không tƣờng minh (R)  Mâu thuẫn không tƣờng minh (R 1' )  mâu
thuẫn không tƣờng minh (R '2 )
Nếu  a R1 =  hoặc R2 =  ; R = LA’ thì mâu thuẫn không tƣờng minh (R) 
left R chứa cặp sự kiện đụng độ 0(m2)
2.4. Lưu trữ CSTT
A. Cấu trúc tĩnh: Với bảng luật lƣu trữ bằng mảng ARRAY
VD: 1) a  b  c a b c
b c d e
2) b  c  d  e a d f
c g
a h 13
d c h
b u
Vế trái Vế phải
3) a  d  f
4) c  g
5) a  h
6) d  c  h
7) b  u
Hai lƣu trữ cơ sở sự kiện v cơ sở luật
Tên Ý nghĩa Cơ sở luật
A ++++ SK1 SK2 SK3 KL
b  a b c
c **** b c d e
d ---- a d f
c g
a f

B. Cấu trúc động

a ++ a b e

b ... b c d e

.......
c **

14
C. Cấu trúc lại
CS/ Bảng sự kiện
Giá trị: lƣu thực trong máy tính (boolean)
Ngữ nghĩa: diễn giải ý nghĩa của nó
Câu hỏi: user đƣa ra các gợi ý đối với sự kiện
Trỏ: chỉ ra vị trí xuất hịên đầu tiên trong bảng luật
trỏ 1: chỉ sự kiện tiếp theo
trỏ 2: móc nối các sự kiện cùng tên
trỏ 3: nạp 1 danh sách móc nối giữa các luật
STT Tên Giá NN Ques VT VP Tro STT Tên Tro1 Tro2 Tro3 Dạng
trị s.k
1 a – +++ ? 1 1 a 1
2 b – &&&
?? 1 2 b 1
3 c – *** ??? 1 1 3 c 1
4 b 1
4 d – ### ???? 1 5 c 1
5 e – $$$ ????? – 1 6 d 1
7 c 1
8 a 1
9 d 1

Chú ý” Cấu trúc dữ liệu nào thì gắn với thao tác đó
+ Cập nhật: thêm, bớt, sửa: tất cả thao tác này là do ngƣời quản trị tri thức,
hay là kĩ sƣ tri thức đảm nhận
+ Suy diễn

15
2.5. Soạn thảo tri thức:

K.E
CSTT
BDTT
Chuyên gia
(NN tự nhiên)
a→b (NN lập trình)
Text Editor Text Editor

Text Editor Checker Mâu thuẫn Quản lí dƣ thừa

Cú pháp
text file PT cú pháp Sự chuyển đổi
Văn phạm

2.6. Cập nhật sửa đổi


A. Hiển thị

CSTT Brower Dạng biểu thị ngo i text (linear)


Đồ hoạ (non-)
Linear ab  c a c
bcd  e b d

16
B. Cập nhật
Thêm có hại: mâu thuẫn
Bớt Dị thƣờng
Sửa bất lợi: dƣ thừa
___________________________________________________________________
Bài tập chương 2:
B i 1: Biểu diễn một cơ sở tri thức trong thực tế gồm 6 luật.
B i 2: Biểu diễn một cơ sở tri thức gồm 8 luật, xác định v xử lý các luật dƣ thừa.
B i 3: Biểu diễn một cơ sở tri thức gồm 8 luật, xác định v xử lý các mâu thuẫn.

17
Chương 3: Các kỹ thuật suy diễn và lập luận
3.1. Nhập môn

Động cơ
USER
CSTT
Tình huống
Kernel

Động cơ, mô tơ hay máy suy diễn gồm 2 bộ phận chính:


- Cơ chế suy diễn (Processor) gồm:
+ Suy diễn tiến Inference (CT, KL, set of facts) và KQ: boolean
+ Suy diễn lùi R: set of rule
- Cơ chế cổ điển (control unit):
+ chọn hƣớng suy diễn (MACRO)
+ chọn luật
thƣờng có MẸO (heuristc metaknowledge)
+ phân rã CSTT SD phân tán
SD song song
+ Lọc (tinh)
(nhìn thấy cái n o không cần thiết thì loại, xác định cái n o đƣợc chọn trƣớc)
3.2. Phân rã CSTT
Fact Precedence Graph (FPG) = (F, A)
+ Đỉnh : tập các sự kiện
+ Cung: (a,b)  A   r: left  b  R ; a  left

18
D: 1) a  b
2) b  c a b c
c
3) c  e
4) c  d
e d
5) d  e  f
6) b  h f

7) f  h  g h g

Tập sự kiện:
F = { a, b, c, d, e, f, g, h} tách ra hai sự kiện:
F1 = { a, b, c} R1 = { a  b, b  c}
F2 = { e, d, f, g, h} R2 = { d  e  f, f  h  g}
R0 = {c  e, c  d, b  h}
F0 = {b, c, d, b, h}

Đây l một cách phân


R1 R0 R2
F0 rã CSTT

eval({F1, F2})  min


- Mô hình star
R4

R1 R0 R2

R3

19
A b
B c
C e

cd
f h g
bh
d eh

- Nếu phân rã dựa trên tập luật l m gốc thì dẫn đến full condition
- Phân rã theo tập sự kiện hình sao.
3.3. Mô tơ suy diễn
A. Suy diễn tiến, lùi (nhắc lại)
1. Suy diễn tiến  tìm kiếm
VD: 1) a  b 5) d  e  f
2) b  c 6) b  h
3) c  e 7) f  h  g
4)c  d
GT = {a}
{a}f min {a,b} min {a,b,c} {a,b,c,d}
2,6 r2
r1 3,4,6 r3
{a}
r1

{a, b}
r2 r6

{a, b, c} {a, b, h}
(3,4,6)

..... {a, b, h, c}
(3,4)

..... .....

20
SUY DIỄN TIẾN ĐỒ THỊ SUY DIỄN TIẾN
1) GT 1) Đỉnh gốc
2) T.gian (SK đã chứng minh) 2) Nút
3) THOẢ 3) CUNG
r
T.Gian  T.Gian  {q} T.Gian  T.Gian
r: left  q T.gian = Tgian  {q}
r  thoa
4) Kết thúc 4) Lá
T.Gian  KL
5) VẾT 5) Đƣờng đi
Chú ý:
- Nếu SDT theo vét cạn  độ phức tạp tƣơng ứng với quá trình tìm kiếm
trên đồ thị SD.
CSD trên(vecan)  Ctìm kiếmVC = 0(BH)
B: Branching (độ phân nhánh) v H l chiều cao của cây
2. Suy diễn lùi  tìm kiếm
f
{g} {f, h} {d, e, h}
r1 r5
ĐỒ THỊ SUY DIỄN LÙI ( And, or)
{g}
r7

{f} {h}
r6

{d} {e} {}
r4 r3
{c} {c} {a}

{b} {a}

21
 Suy diễn lùi  tìm kiếm theo chiều sâu
H'
CSDlùi  CTKsâu = 0 (B )
- Trong trƣờng hợp suy diễn lùi mà có chu trình :
* Prolog
r1 A  B  c
r2 A  C  B GT = {a, b, hc}
r3 B  C  A KL = {c}
r4 a  hc  A {c} r1 {A, B} A {B, C, B} …
r3
r5 b  hc  A
chỉ số max: {c} {AB} {B} 
A B
r1
B. Chọn hƣớng SD
r5 r4
- Tình huống GT, KL NSD SD Tiến, Lùi
- Tập luật R CTIẾN CLÙI
0(B TH )
T
0(B HL )
L

- Cây SD tiến G.thiết Cây SD Lùi KL


K.luận GT
R R
BT (GT, KL, R) BL (GT, KL, R)
HT (GT, KL, R) HL (GT, KL, R)
BT = max BT(GT, KL, R)
G.thiết: + HT HL
+ Ƣớc lƣợng - BT
- BL
1. ƣớc lƣợng BT
VD:

22
1) a  b  C  c 9) a  b  c  P
2) a  b  ma  c 10) a  b  c  P
3) a  b  mb  c 11) a  b  c  mc
4) A  B  C 12) a  ha  S
5) a  hc  B 13) a  b  C  S
6) b  hc  A 14) a  b  c  P  S
7) a  R  A 15) b  S  hb
8) b  R  B 16) S  p  r
F1= {a, b, C}  R1 = {r1, r2}
F2 = {a, b, ma}  R2 = {r2}
F3 = {a, b, mb}  R3 = {r3}
F4 = {A, B}  R4 = {r4}
F5 = {a, hc}  R5 = {r5}
F6 = {b, hc}  R6 = {r6}
F7 = {a, R}  R7 = {r7}
F8 = {b,R}  R8 = {r8}
F9 = {a, b, c, p}  R9 = {r9, r10, r11, r14}
F10 = {a, ha}  R10 = {r12}
F11 = {b, S}  R11 = {r15}
F12 = {S, p}  R12 = {r16}
Ƣớc lƣợng:
B Tm = max (2, 1, 4) = 4
_
16
BT = = 1,33
12

23
2.Ƣớc lƣợng BL
c có 3 luật
C có 1
B có 2 BL max = 3
_
16
A có 2 BL = = 1,6
10
P có 1
p có 1
mc có 1
S có 3
hb có 1
r có 1
3. Luật (Meta Knowlegde)
1. If BT > BL Then chọn Lùi
2. If BT > BL Then chọn Tiến
3. If BT = BL # GT > # KL Then chọn Lùi
4. # GT < # KL Then chọn Tiến
0. If user thích Then chọn
C. Chọn luật trong quá trình SD (B i toán đụng độ luật - Rule Conflict)
1. Suy diễn tiến
Tại 1 thời điểm n o đó trong quá trình SD tiến chúng ta có thể dùng nhiều luật cùng
một lúc:
TGian = {sự kiện f đã CM}; TG = {GT}
(Mở) THOẢ = {r: left  q/ left  TGian} tập luật có thể áp dụng
(Đóng) VET = {r1… rk} tập những luật đã dùng
- Khi # THOA  2  chọn r  thoả ?

24
2 cơ chế chọn: + cứng nhắc (LIFO, FIFO) (sâu, rộng)
(max, min)
+ mềm dẻo
Đều l quá trình vét cạn (to n bộ tập luật)
 Độ phức tạp 0 (Bh)
_
 Để chọn theo mềm dẻo hàm h (r) (heurestic)
 Max/ min (extremum)
Đánh giá:
- # VET  min (c ng ít c ng tốt)
- Dƣ  min
VD: (*)
Gt = {a, b, R}, Kl = {p}
{a, b, R}CS min {a, b, R, A} {a b R A B} r4
{a bR AB} rmin
{a b RABCc}
7,8
VET = {r7…
, r8, r4, r1, r9, r10, r11}
r7 8 r8 1,13 r1 13,9,10,11
A B C c P  Dƣ = 2
Nên theo CS Min VET = {r7, r8, r4, r1, r9, r10, r11} (2)
CS Max VET = {r8, r7, r4, r13, r11} (1)
FIFO VET = {r7 r8 r4 r11 r13 r9 r10 r11} (3)
LIFO VET = {r8 r7 r4 r13 r15 r1 r9 r10 r11} (4)
Vậy có cách n o để Dƣ = 0 ?
{a, b, R} r {a, b, R, A} r8 {a, b, R, A, B} r4 {a, b, R, A, B, C}…...
7,8 7 4 1,13

25
Đồ thị FPG (Fact Precedence Graph)
Sử dụng để miêu tả mối tƣơng quan giữa điều n y với điều khác
Vd (*)
hc R

A B
C
a b
ma c mb
mc
P p

ha S
hb

ĥ 1(r) = ĥ 1(r: left  q)


= UL (a, K, L) = kcFPG (a, KL)
Chọn r: ĥ 1(r)  min
NXét: 1) f g FPG thì f đƣợc dùng trực tiếp để suy ra G (r: left  g, f  left)
2) Có đƣờng đi P: f  ……  g thì đƣợc dùng gián tiếp để suy ra g.
{a,b,r}7,8  {a b R A}8  {a b R A B}4  {a b R A B C}1,13  ……..
ĥ 1(r7)=kc(A,p)=3

ĥ 1(r8)=kc(B,p)=3

ĥ 1(r1)=kc(c,p)=1
Chọn r1
ĥ 1(r13)=kc(s,p)= 

ĥ 1(r9)=kc(P,p)= 
Chọn r11
ĥ 1(r10)=kc(mc,p)= 

ĥ 1(r11)=kc(p,p)=0

26
Nhận xét:
#VET +Complexity ĥ x m
ii)Đồ thị RPG(Rule Precedence Graph)
RPG=(R,A)
Trong đó R: Tập các đỉnh
A: l tập các cạnh sao cho:
r  r’, r:left  q  q  left’
r’:left  q’
VD:Xây dựng đồ thị RPG cho ví dụ trên ta có:

r5 r13

r6 r4 r1 r+9

r7 r2 r10

r8 r3 r11 r16

r14

r12 r15

*Xây dụng h m ĥ 2 (r)?


ĥ 2 (r)=?
RKL={r:left  q/q  KL}  R
ĥ 2 (r)=kcRPG(r,RKL)

Chọn r sao cho ĥ 2 (r)  min


Xét ví dụ sau:
GT={a b R}, KL={r}
{a,b,r}7,8  {a b R A}8  {a b R A B}4  {a b R A B C}1,13  {a b R A B C
c}9,10,11  ……..KL
ĥ 2 (r7)=kcRPG(r7, r16)=3

27
ĥ 2 (r8)=kcRPG(r8, r16)=3

ĥ 2 (r1)=kcRPG(r1, r16)=2
Chọn r13
ĥ 2 (r13)=kcRPG(r13, r16)=1

ĥ 2 (r15)=kcRPG(r15, r16)= 

ĥ 2 (r10)=kcRPG(r10, r10)=1

ĥ 2 (r11)=kcRPG(r11, r16)=1

ĥ 2 (r14)=kcRPG(r14, r16)=1

ĥ 2 (r16)=kcRPG(r16, r16)=0
2. Suy diễn lùi
Đồ thị FPG
Tình huống đụng độ khi suy diễn lùi:
Goal= Tập những sự kiện cần chứng minh; ban đầu Goal=KL
Xét f  Goal. Có nhiều luật suy ra f. Ta chọn luật bằng các thử sai v quay lui. Để
tránh phải quay lui ta cần chọn luật nhƣ thế n o.
Nhắc lại các cách chọn có quay lui:
+ cứng nhắc: - Chỉ số max: chọn luật có chỉ số lớn nhất trong tập luât thoả
- Chỉ số min: chọn luật có chỉ số nhỏ nhất trong tập luât thoả
+ mềm dẻo : ĥ (r)  max/min: Đánh giá tốt hay không dựa v o quay lui, c ng
nhiều cáng kém
VD:
GT={a b R}
{S}12,13,14  {a b c p}  {a b mb p}  …….
* Cách tính ĥ 3(r)
ĥ 3(r)= ĥ 3(left  f)=kc(GT,left)

Chọn r: ĥ 3(r)  min


Kc(GT, left)=max(GT,a)
a  left

28
Kc(GT, left)=max(b,a)
b  GT
VD: GT={a b R}, KL={S}
{S}12,13,14  {a b c p}  {a b mb p}  …….
ĥ 3(r12)=kc(a b R,a ha)= 

ĥ 3(r13)=kc(a b R,a a b C)= 2 Chọn r13

ĥ 3(r14)=kc(a b R,a b c p)= 4

ĥ 3(r6)=kc(a b R,b hc)= 


Chọn r7
ĥ 3(r17)=kc(a b R,a R)= 0

ĥ 3(r5)=kc(a b R,a hc)=  Chọn r8


ĥ 3(r8)=kc(a b R,b R)= 0
ii) Đồ thị RPG.
* Cách tính ĥ 4(r)?
ĥ 4(r)=kcRPG(RGT , r)

Chọn r: ĥ 4(r)  min


RGT={r: left  q/left  GT}
VD: GT={a b R} KL={S}
{S}12,13,14  {a b c p}  {a b mb p}  …….
Tính ĥ 4(r) ta có:
…….
D. Hạn chế các ứng viên trong quá trình suy diễn
1. Suy diễn tiến
Giả sử xét tại một thời điểm trong quá trình suy diễn :
+ Thời gian
+ THOẢ= LỌC(R, TGian)={r: left  q/ left  TGian}
(Hạn chế các ứng viên)
THOẢ’ THOẢ . Khi đó lựa chọn trong THOẢ’ bằng phƣơng pháp vét cạn hay
heuristic.

29
1. Suy diễn lùi
Xét 1 sự kiện thuộc Goal.
ĥ () =  /min XACDINH (f) = {r; left  f}
= 0/max Kĩ sƣ tri thức
XACDINH’(f)  XACDINH (f)
Kết luận: Nâng cao hiẹu quả quá trình suy diễn
- Chọn hƣớng suy diễn
- Chọn luật Control
- Phân tách cơ sở tri thức (CSTT) mechanisms

- Hạn chế ứng viên


3.4. Biểu diễn TRI THỨC bằng LOGIC vị từ và SUY DIỄN
Luật ri P1 (…)  P2 (…)  ……  Pn (…)  q (…)
Pi (…) l vị từ / predicate: l những phát biểu có phụ thuộc v o các biến
q (…) hay tham số
VD: Các định lý hình học
1.tđ(U,XY)  tđ(V,XZ)  SS(UV,XZ)
2.SS(UV,XY)  SS(UV,ST)  SS(ST,XY) Explicit
3.SS(XY,UV)  SS(XZ,UV)  Thang(X,Y,Z)
4.SS(XY,UV)  Thang(X,Y,Z)  SS(UV,XZ)

tđ(U,XY)  tđ(U,YX)
SS(XY,UV)  SS(UV,XY) Implici t
SS(XY,UV)  SS(VU,YX)
A. Suy diễn tiến
A
GT: tđ (P, AB); tđ (Q, AC)
tđ (I, BQ); tđ (J, CP) Q
P
tđ (E, CQ)
KL { SS (PS, BC)
I J
B C

30
B 1' : TG0 = GT
THOA = {(r1,  1), (r1,  2), (r1,  3), (r1,  4)}
 1 = {A/X; B/Y; C/Z; P/U; Q/V}
 2 = {C/X; Q/Y; P/Z; E/U; J/V}
 3 = ...
 4 = ....
Chọn (r1,  1)
TG1 = TG0  {SS (UV, YZ),  1} = TG0  {SS (PQ, BC)}
B '2 : TG1 =
THOA = {(r1,  2), (r1,  3), (r1,  4)
….
Vđề: L m nhƣ thế n o để xác định (ri,  i)
B. Suy diễn lùi.
Nói chung suy diễn tiến v suy diễn lùi đều giống nhƣ nhau trong logic mệnh đề vì
đều l quá trình hợp nhất (Unification)
Để rõ hơn ta hãy xét ví dụ sau:
GT tđ(P,AB), tđ(Q,AC), tđ(I,PQ), tđ(J,CP), tđ(E,QC)
KL SS(IJ, BC)

Ta áp dụng thủ tục suy diễn lùi, nhƣng co khó khăn l khi không tiếp tục đƣợc ta lại
phải quay lui.Từ đây ta có thể đƣa ra nhận xét sau:
Sự giống v khác nhau giữa suy diễn lùi của logic vị từ v suy diễn Prolog
- Giống nhau: cả trong prolog cv logic vị từ đều có phép hợp nhất v quá trình
thử sai
- Khác nhau: Tính chất trong prolog l chúng minh suy ra điều vô lý, còn suy
diễn lùi l suy ra goal=0. Cơ chế của prolog l theo chỉ số min v đi từ trái
sang phải. Còn trong logic vị từ thì có thể áp dụng hất mọi cacchs đi thông
thƣờng: Trai, phải v ngƣợc lại hay l trên duới v ngƣợc lại.
31
3.5. Ứng dụng các kỹ thuật suy diễn vào xây dựng hệ chuyên gia
3.5.1. Giao diện
3.5.1.1. Mở đầu
Đầu tiên chúng ta xét đến các loại ngƣời sử dụng hệ chuyên gia. Bao gồm 4 loại sau:
- Ngƣời sủ dụng không chuyên, đầu cuối. Thƣờng
- Ngƣời sử dụng chuyên , thƣờng sử dụng hệ thống ở trình độ không cao. là tƣ vấn

- Ngƣời sủ dụng l kĩ sƣ tri thức Làm việc chủ yếu với


- Ngƣời sử dụng la chuyên gia phần soạn thảo tri thức

ở góc độ tƣ vấn cần giải quyết các vấn đề sau:

Tƣ vấn + Tình huống: +Đã biết


+ Điều cần biết
+ Thu thập giả thiết
+ Chất vấn v giải thích
Nhƣ vậy chúng ta có thể cùng đi đến một định nghĩa về giao diên: Ngƣời sử dụng
nhằm mục đích thu thập thong tin ban đầu về tình huống cần tƣ vấn.
Các vấn đề cần phải giải quyết:
- Xác định tập HỎI: những điều cần hỏi
- Phƣơng thức hỏi: Thân thiện với ngƣời sử dụng( ta có thể đƣa về gần ngôn ngữ tự
nhiên bao nhiêu c ng tốt bấy nhiêu) hay Tránh hỏi thừa.
3.5.1.2 Xác định tập những sự kiện cần hỏi.
A. Khi biết kết luận.
Khi đó tập các sự kiện cần hỏi l :
HỎI = Tập các sự kiện liên quan đến kết luận (xét trong liên quan đến tập luật)
i) Phƣơng thức hỏi gần
Ta xét ví dụ sau:
1. a  b  c
2. d  e  f
3. c  e  g

32
4. d  b  h
5. m  g
6. m  a  h
7. f  h  k
8. g  c  k
KL={k} Khi đó ta có:
HỎIgần= U{lefti / r:left  qi , qi  KL}
= {f c g h}
Nhận xét:
HỎIgần={f/  (f,g)  FPG, g  KL}
ii) Hỏi xa
HỎIxa= {f/  đƣờng đi p FPG, p= f  …  g, g  KL}
m
TRÁI=  lefti
ii

PHẢI={q1……qn}
R={r1…..rm}
ri: left i  qi
HỎIxa={f  TRAI\ PHẢI/  đƣờng đi p:f  …..  g, g  KL}
B. Không biết kết luận
HỎI= TRÁI \ PHẢI
Xét vid dụ ở trên:
TRÁI={ a b c m n f g h}
PHẢI={c f g h k}
HỎI=TRÁI \ PHẢI={a b d e m n}
3.5.1.3. Phƣơng thức hỏi gần
A. Hỏi thân thiện
HỎI={đau,…..}
 f  HỎI  Câu hỏi (f) l một văn bản hiện lên m n hình để nhằm gợi ý ngƣời
dùng đƣa thông tin về sự kiện f

33
B. Tránh câu hỏi thừa
Hỏi có tính đến kết quả trả lời của các câu hỏi trƣớc  KỊCH BẢN HỎI/ CÂY HỎI
1. Hỏi xa.
2. Hỏi gần
3.5.1.4 Giao diện ngƣời sử dụng
Giao diện l hiển thị cở sở tri thức bằng đồ hoạ
Các loại hiển thị:
+ Tuyến tính: ri: lefti  q1
………..
rm: leftm  qm
 f  F  Diễn giải (f)
r1: p1  ….  pn  q
Nếu nhƣ diễn giải p1 v ….. diễn giải pn thì diễn giải q
+ Phi tuyến:
. Đồ thị FPG
. Đồ thị RPG
. Cây lồng nhau

34
3.5.2. Modul giải thích
3.5.2.1. Mở đầu

G
D MTSD
User

CSTT

Trợ giúp đ o tạo: Cho NSD thông tin về vấn đề n o đó:


+CSTT: Why
+ Suy diễn : How
Yếu tố tâm lý với ngƣời dùng: Tăng sức thuyết phục .
Phân loại câu hỏi hỏi ngƣời sử dụng.
Why f? Tại sao lại cần có thông tin có thông tin về sự kiện f.
Why r? Tại sao lại có luật r trong CSTT
How f? L m thế n o đƣa ra Kết Luận, nhận định f
How not f Tại sao lại không có kết luận, sự kiện f.
Câu hỏi giả định: What If……1) what if thêm f
2) what if thêm r
3.5.2.2 Câu hỏi why f.
Phiên l m việc user gồm 2 phần Phiên HỎI
Phiên sử dụng( hình vẽ)

35
TRẢ LỜI

f? G MTSD
User D
f!

WHY f?

CSTT

Muc đích của câu hỏi why


- Ngƣời sƣr dụng muốn biết tầm quan trọng/ sự liên quan của f với quá trình sử dụng
Hệ thống chỉ ra mối liên hệ của f với mục đích sƣ dụng
Về mặt kĩ thuật : xác định xem f……KL có mối quan hệ n o không
Phƣơng thức trả lời: Có hai phƣơng thức đó l :
- Phƣơng thức 1:Dựa trên đồ thị FPG( Khi đó ta tìm xem có đƣờng đi từ f đến KL ?)
Ma trận liên thuộc
G=(N,A) Biểu diễn ma trận Mnxm Trong đó:
……….
- Phƣơng thức 2:Dựa v o phƣơng pháp xác định hỏi( xa, gần) . Phƣơng pháp n y
cần phải biết kết luận trƣớc
3.5.2.3. Why?
Mục đích: Tại sao lại có luật/ tri thức R trong cơ sở tri thức. Xuất sứ, nguồn thu
thâph tri thức r.
Hệ thống: Chỉ rõ đƣợc phƣơng thức có đƣợc tri thức r
Kĩ thuật: r  R  kèm theo xuất sứ:
- Nguồn t i liệu+ Kĩ sƣ tri thức/ chuyên gia
- Ý kiến chuyên gia
Sử dụng phƣơng pháp n o đó KDD v trên nguồn thông tin n o Thu nạp một cách
tự động.
Tóm lại hệ thống cần đảm bảo cho ngƣời sử dụng đƣợc cung cấp thông tin một cách
có xuất sứ.

36
3.5.2.4. Câu hỏi How f
Ngƣời sử dụng đang đƣợc cung cấp sơ bộ về một lĩnh vực n o đấy . Much đích
ngƣời sử dụng muón biết quá trình suuy diễn để suy ra f.
Hệ thống:
- GIẢ THIẾT: Tập tin ngƣời sử dụng cung cấp trực tiếp hoặc gián tiếp.
Kĩ thuật: Xác địng đƣợc cách suy diễn. Từ đó có đƣợc vết suy diễn.
Vết ={ri1, ri2…..rik}
GT TG1 …….TGkf
Phƣơng thức trả lời.
-“Một lèo”: Đƣa ra to n bộ sự kiện
-“Nhát gừng”: Chỉ đƣa ra một bƣớc của ngƣời sử dụng( thƣờng l bƣớc cuối)
Chú ý: Việc lựa chọn phƣơng thức phụ thuộc v o ngữ cảnh của ngƣời sử dụng.
3.5.2.5.Câu hỏi How not f
Ngƣời sử dụng muốn biết lí do không có kết luận f
Hệ thống: GT KL
Phƣơng thức:
- “Trần thuật”: Dựa tên suy diễn lùi
- “Trực tiếp”: Dựa trên suy diễn tiến
Khắc phục những dị thƣờng: Bằng cách xây dựng tập hợp hỏi, thêm tri thức v o hệ
thống.
Bài tập chương 3:
B i 1: Biểu diễn một cơ sở tri thức bằng logic mệnh đề trong thực tế gồm 6 luật.
B i 2: Biểu diễn một cơ sở tri thức trong thực tế, áp dụng thủ tục suy diễn tiến v o
cơ sở tri thức.
B i 3: Biểu diễn một cơ sở tri thức trong thực tế, áp dụng thủ tục suy diễn lùi v o cơ
sở tri thức.

37
Chương 4: Hệ hỗ trợ ra quyết định
4.1. Khái niệm về hệ hỗ trợ ra quyết định
- Các khái niệm căn bản về quyết định
Thí dụ về hệ hỗ trợ quyết định (HHTQĐ)
• Nghiên cứu v hoạch định tiếp thị: chính sách giá cho khách h ng, dự báo sản
phẩm tiêu thụ ..
• Hoạch định chiến lƣợc v vận h nh: theo dõi, phân tích v báo cáo về xu hƣớng
thị trƣờng ..
• Hỗ trợ bán h ng: chi tiết v tổng hợp tình hình bán h ng, so sánh v phân tích xu
hƣớng bán h ng ..
- Quyết định là gì ?
Đó l một lựa chọn về “đƣờng lối h nh động” (Simon 1960; Costello & Zalkind
1963; Churchman 1968), hay “chiến lƣợc h nh động” (Fishburn 1964) dẫn đến “một
mục tiêu mong muốn” (Churchman 1968)
- Ra quyết định là gì ?
“Một quá trình lựa chọn có ý thức giữa hai hay nhiều phƣơng án để chọn ra một
phƣơng án tạo ra đƣợc một kết quả mong muốn trong các điều kiện r ng buộc đã
biết”. Quyết định có thể l nhận thức ở dạng sự kiện, “Chi $10,000 cho quảng cáo
v o quý 3” . Quyết định có thể l nhận thức ở dạng quá trình, “Trƣớc tiên thực hiện
A, sau đó B hai lần v nếu có đáp ứng tốt hãy thực thi C”. Quyết định có thể l một
hoạt động gi u kiến thức, Quyết định có kết luận n o thì hợp lý/hợp lệ trong ho n
cảnh n o ? Quyết định có thể l những thay đổi trạng thái kiến thức. Quyết định có
chấp nhận một kiến thức mới không ?
Tại sao phải hỗ trợ ra quyết định ?
‰ Nhu cầu hỗ trợ ra quyết định
+ Ra quyết định luôn cần xử lý kiến thức
+ Kiến thức l nguyên liệu v th nh phẩm của ra quyết định, cần đƣợc sở hữu hoặc
tích lũy bởi ngƣời ra quyết định

38
‰ Giới hạn về nhận thức (trí nhớ có hạn ..)
‰ Giới hạn về kinh tế (chi phí nhân lực ..)
‰ Giới hạn về thời gian
‰ Áp lực cạnh tranh
Bản chất của hỗ trợ ra quyết định
‰ cung cấp thông tin, tri thức
‰ có thể thể hiện qua tƣơng tác ngƣời - máy, qua mô phỏng
Các yếu tố ảnh hưởng đến ra quyết định
‰ Công nghệ - thông tin - máy tính
‰ Tính cạnh tranh - sự phức tạp về cấu trúc
‰ Thị trƣờng quốc tế - ổn định chính trị - chủ nghĩa tiêu thụ
‰ Các thay đổi biến động
4.2. Cấu trúc của một hệ hỗ trợ ra quyết định
Các định nghĩa trƣớc đây của HHTQĐ nhấn mạnh v o khả năng hỗ trợ các nh ra
quyết định quản lý trong các tình huống nửa cấu trúc. Nhƣ vậy, HHTQĐ có ý nghĩa
l một bổ trợ cho các nh quản lý nhằm mở rộng năng lực nhƣng không thay thế khả
năng phân xử của họ. Tình huống ở đây l cần đến các phân xử của các nh quản lý
hay các quyết định không ho n to n đƣợc giải quyết thông qua các giải thuật chặt
chẽ.
Thông thƣờng các HHTQĐ sẽ l các hệ thông tin máy tính hóa, có giao tiếp đồ họa
v l m việc ở chế độ tƣơng tác trên các mạng máy tính.
Cơ sở của các định nghĩa về HHTQĐ thay đổi từ nhận thức HHTQĐ l m gì (thí dụ,
hỗ trợ ra quyết định trong các b i toán phi cấu trúc) cho đến cách thức đạt đƣợc các
mục tiêu của HHTQĐ (các th nh phần yêu cầu, khuôn mẫu sử dụng, quá trình phát
triển ..)

39
Cấu trúc cơ bản của một hệ hỗ trợ ra quyết định:

Phân hệ quản lý dữ liệu gồm một cơ sở dữ liệu (database) chứa các dữ liệu cần
thiết của tình huống v đƣợc quản lý bởi một hệ quản trị cơ sở dữ liệu (DBMS - data
base management system). Phân hệ n y có thể đƣợc kết nối với nh kho dữ liệu của
tổ chức (data warehouse) - l kho chứa dữ liệu của tổ chức có liên đới đến vấn đề ra
quyết định.
Phân hệ quản lý mô hình còn đƣợc gọi l hệ quản trị cơ sở mô hình (MBMS -
model base management system) l gói phần mềm gồm các th nh phần về thống kê,
t i chánh, khoa học quản lý hay các phƣơng pháp định lƣợng nhằm trang bị cho hệ
thống năng lực phân tích; cũng có thể có các ngôn ngữ mô hình hóa ở đây. Th nh
phần n y có thể kết nối với các kho chứa mô hình của tổ chức hay ở bên ngoài nào
khác.
Phân hệ quản lý dựa vào kiến thức có thể hỗ trợ các phân hệ khác hay hoạt động
độc lập nhằm đƣa ra tính thông minh của quyết định đƣa ra. Nó cũng có thể đƣợc
kết nối với các kho kiến thức khác của tổ chức.

40
Phân hệ giao diện người dùng giúp ngƣời sử dụng giao tiếp với v ra lệnh cho hệ
thống. Các th nh phần vừa kể trên tạo nên HHTQĐ, có thể kết nối với
intranet/extranet của tổ chức hay kết nối trực tiếp với Internet.
Bài tập chương 4:
Câu 1: Nêu ra 5 hệ hỗ trợ ra quyết định đã đƣợc ứng dụng trong thực tế.
Câu 2: Trình b y chi tiết cấu trúc của một hệ hỗ trợ ra quyết định đã đƣợc ứng dụng.
Câu 3: Thiết kế một hệ hỗ trợ ra quyết định dựa trên lý thuyết đã đƣợc học.

41
Chương 5: Máy học
5.1. Thế nào là máy học?
Thuật ngữ "học" theo nghĩa thông thƣờng l tiếp thu tri thức để biết cách vận dụng.
Ở ngo i đời, quá trì học diễn ra dƣới nhiều hình thức khác nhau nhƣ học thuộc lòng
(học vẹt), học theo kinh nghiệm (học dựa theo trƣờng hợp), học theo kiểu nghe
nhìn,... Trên máy tính cũng có nhiều thuật toán học khác nhau. Tuy nhiên, trong
phạm vi của giáo trình n y, chúng ta chỉ khảo sát phƣơng pháp học dựa theo trƣờng
hợp. Theo phƣơng pháp n y, hệ thống sẽ đƣợc cung cấp một số các trƣờng hợp
"mẫu", dựa trên tập mẫu n y, hệ thống sẽ tiến h nh phân tích v rút ra các quy luật
(biểu diễn bằng luật sinh). Sau đó, hệ thống sẽ dựa trên các luật n y để "đánh giá"
các trƣờng hợp khác (thƣờng không giống nhƣ các trƣờng hợp "mẫu"). Ngay cả chỉ
với kiểu học n y, chúng ta cũng đã có nhiều thuật toán học khác nhau. Một lần nữa,
với mục đích giới thiệu, chúng ta chỉ khảo sát một trƣờng hợp đơn giản.
Có thể khái quát quá trình học theo trƣờng hợp dƣới dạng hình thức nhƣ sau :
Dữ liệu cung cấp cho hệ thống l một ánh xạ f trong đó ứng một trƣờng hợp p trong
tập hợp P với một "lớp" r trong tập R.
f : P |® R
p®r
Tuy nhiên, tập P thƣờng nhỏ (v hữu hạn) so với tập tất cả các trƣờng hợp cần quan
tâm P’ (P Ì P’). Mục tiêu của chúng ta l xây dựng ánh xạ f ’ sao cho có thể ứng mọi
trƣờng hợp p’ trong tập P’ với một "lớp" r trong tập R. Hơn nữa, f ’ phải bảo to n f,
nghĩa l :
Với mọi p Î P thì f(p) º f ’(p)
Phƣơng pháp học theo trƣờng hợp l một phƣơng pháp phổ biến trong cả nghiên cứu
khoa học v mê tín dị đoan. Cả hai đều dựa trên các dữ liệu quan sát, thống kê để từ
đó rút ra các quy luật. Tuy nhiên, khác với khoa học, mê tín dị đoan thƣờng dựa trên
tập mẫu không đặc trƣng, cục bộ, thiếu cơ sở khoa học.

42
5.2. Học bằng cách xây dựng cây định danh
Phát biểu hình thức có thể khó hình dung. Để cụ thể hợn, ta hãy cùng nhau quan sát
một ví dụ cụ. Nhiệm vụ của chúng ta trong ví dụ n y l xây dựng các quy luật để có
thể kết luận một ngƣời nhƣ thế n o khi đi tắm biển thì bị cháy nắng. Ta gọi tính chất
cháy nắng hay không cháy nắng l thuộc tính quan tâm (thuộc tính mục tiêu). Nhƣ
vậy, trong trƣờng hợp n y, tập R của chúng ta chỉ gồm có hai phần tử {"cháy nắng",
"bình thƣờng"}. Còn tập P l tất cả những ngƣời đƣợc liệt kê trong bảng dƣới (8
ngƣời) Chúng ta quan sát hiện tƣợng cháy nắng dựa trên 4 thuộc tính sau : chiều cao
(cao, trung bình, thấp), m u tóc (v ng, nâu, đỏ) cân nặng (nhẹ, TB, nặng), dùng kem
(có, không),. Ta gọi các thuộc tính n y gọi l thuộc tính dẫn xuất.
Dĩ nhiên l trong thực tế để có thể đƣa ra đƣợc một kết luận nhƣ vậy, chúng ta cần
nhiều dữ liệu hơn v đồng thời cũng cần nhiều thuộc tính dẫn xuất trên. Ví dụ đơn
giản n y chỉ nhằm để minh họa ý tƣởng của thuật toán máy học m chúng ta sắp
trình bày.

Tên Tóc Ch.Cao Cân Dùng Kết quả


Nặng kem?

Sarah Vàng T.Bình Nhẹ Không Cháy

Dana Vàng Cao T.Bình Có Không

Alex Nâu Thấp T.Bình Có Không

Annie Vàng Thấp T.Bình Không Cháy

Emilie Đỏ T.Bình Nặng Không Cháy

Peter Nâu Cao Nặng Không Không

John Nâu T.Bình Nặng Không Không

Kartie Vàng Thấp Nhẹ Có Không

43
Ý tƣởng đầu tiên của phƣơng pháp n y l tìm cách phân hoạch tập P ban đầu th nh
các tập Pi sao cho tất cả các phần tử trong tất cả các tập Pi đều có chung thuộc tính
mục tiêu.
P = P1 È P2 È ... È Pn và " (i,j) i¹ j : thì (Pi Ç Pj = Æ ) và
" i, " k,l : pk Î Pi và pl Î Pj thì f(pk) = f(pl)
Sau khi đã phân hoạch xong tập P th nh tập các phân hoạch Pi đƣợc đặc trƣng bởi
thuộc tính đích ri (ri Î R), bƣớc tiếp theo l ứng với mỗi phân hoạch Pi ta xây dựng
luật Li : GTi ® ri trong đó các GTi l mệnh đề đƣợc hình th nh bằng cách kết hợp
các thuộc tính dẫn xuất.
Một lần nữa, vấn đề hình thức có thể l m bạn cảm thấy khó khăn. Chúng ta hãy thử
ý tƣởng trên với bảng số liệu m ta đã có.

Có hai cách phân hoạch hiển nhiên nhất m ai cũng có thể nghĩ ra. Cách đầu tiên l
cho mỗi ngƣời v o một phân hoạch riêng (P1 = {Sarah}, P2 = {Dana}, … tổng cộng
sẽ có 8 phân hoạch cho 8 ngƣời). Cách thứ hai l phân hoạch th nh hai tập, một tập
gồm tất cả những ngƣời cháy nắng v tập còn lại bao gồm tất cả những ngƣời không
cháy nắng. Tuy đơn giản nhƣng phân hoạch theo kiểu n y thì chúng ta chẳng giải
quyết đƣợc gì !!
5.2.1. Đâm chồi
Chúng ta hãy thử một phƣơng pháp khác. Bây giờ bạn hãy quan sát thuộc tính đầu
tiên – m u tóc. Nếu dựa theo m u tóc để phân chia ta sẽ có đƣợc 3 phân hoạch khác
nhau ứng với mỗi giá trị của thuộc tính m u tóc. Cụ thể l :
Pvàng = { Sarah, Dana, Annie, Kartie }
Pnâu = { Alex, Peter, John }
Pđỏ = { Emmile }
Ta thấy rằng phân hoạch Pnâu v Pđỏ thỏa mãn đƣợc điều kiện "có chung thuộc tính
mục tiêu" (Pnâu chứa to n ngƣời không cháy nắng, Pđỏ chứa to n ngƣời cháy
nắng).

44
Còn lại tập Pv ng l còn lẫn lộn ngƣời cháy năng v không cháy nắng. Ta sẽ tiếp tục
phân hoạch tập n y th nh các tập con. Bây giờ ta hãy quan sát thuộc tính chiều cao.
Thuộc tính n y giúp phân hoạch tập Pv ng th nh 3 tập con : PV ng, Thấp = {Annie,
Kartie}, PVàng, T.Bình= {Sarah} và PVàng,Cao= { Dana }
Nếu nối tiếp v o cây ở hình trƣớc ta sẽ có hình ảnh cây phân hoạch nhƣ sau :
Quá trình n y cứ thế tiếp tục cho đến khi tất cả các nút lá của cây không còn lẫn lộn
giữa cháy nắng v không cháy nắng nữa. Bạn cũng thấy rằng, qua mỗi bƣớc phân
hoạch cây phân hoạch ng y c ng "phình" ra. Chính vì vậy m quá trình n y đƣợc
gọi l quá trình "đâm chồi". Cây m chúng ta đang xây dựng đƣợc gọi l cây định
danh.
Đến đây, chúng ta lại gặp một vấn đề mới. Nếu nhƣ ban đầu ta không chọn thuộc
tính m u tóc để phân hoạch m chọn thuộc tính khác nhƣ chiều cao chẳng hạn để
phân hoạch thì sao? Cuối cùng thì cách phân hoạch n o sẽ tốt hơn?
5.2.2. Phƣơng án chọn thuộc tính phân hoạch
Vấn đề m chúng ta gặp phải cũng tƣơng tự nhƣ b i toán tìm kiếm : "Đứng trƣớc
một ngã rẽ, ta cần phải đi v o hƣớng n o?". Hai phƣơng pháp đánh giá dƣới đây sẽ
giúp ta chọn đƣợc thuộc tính phân hoạch tại mỗi bƣớc xây dựng cây định danh.
5.2.2.1. Quinlan
Quinlan quyết định thuộc tính phân hoạch bằng cách xây dựng các vector đặc trƣng
cho mỗi giá trị của từng thuộc tính dẫn xuất v thuộc tính mục tiêu. Cách tính cụ thể
nhƣ sau :
Với mỗi thuộc tính dẫn xuất A còn có thể sử dụng để phân hoạch, tính :
VA(j) = ( T(j , r1), T(j , r2) , …, T(j , rn) )
T(j, ri) = (tổng số phần tử trong phân hoạch có giá trị thuộc tính dẫn xuất A l j v
có giá trị thuộc tính mục tiêu l ri ) / ( tổng số phần tử trong phân hoạch có giá trị
thuộc tính dẫn xuất A l j )
* trong đó r1, r2, … , rn l các giá trị của thuộc tính mục tiêu

45
Nhƣ vậy nếu một thuộc tính A có thể nhận một trong 5 giá trị khác nhau thì nó sẽ có
5 vector đặc trƣng.
Một vector V(Aj ) đƣợc gọi l vector đơn vị nếu nó chỉ có duy nhất một th nh phần
có giá trị 1 v những th nh phần khác có giá trị 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.
Trở lại ví dụ của chúng ta, ở trạng thái ban đầu (chƣa phân hoạch) chúng ta sẽ tính
vector đặc trƣng cho từng thuộc tính dẫn xuất để tìm ra thuộc tính dùng để phân
hoạch. Đầu tiên l thuộc tính m u tóc. Thuộc tính m u tóc có 3 giá trị khác nhau
(v ng, đỏ, nâu) nên sẽ có 3 vector đặc trƣng tƣơng ứng l :
VTóc (v ng) = ( T(v ng, cháy nắng), T(v ng, không cháy nắng) )
Số ngƣời tóc v ng l : 4
Số ngƣời tóc v ng v cháy nắng l : 2
Số ngƣời tóc v ng v không cháy nắng l : 2
Do đó
VTóc(vàng) = (2/4 , 2/4) = (0.5, 0.5)
Tƣơng tự
VTóc(nâu) = (0/3, 3/3) = (0,1) (vector đơn vị)
Số ngƣời tóc nâu l : 3
Số ngƣời tóc nâu v cháy nắng l : 0
Số ngƣời tóc nâu v không cháy nắng l : 3
VTóc(đỏ) = (1/1, 0/1) = (1,0) (vector đơn vị)
Tổng số vector đơn vị của thuộc tính tóc v ng l 2
Các thuộc tính khác đƣợc tính tƣơng tự, kết quả nhƣ sau :
VC.Cao(Cao) = (0/2,2/2) = (0,1)
VC.Cao(T.B) = (2/3,1/3)
VC.Cao(Thấp) = (1/3,2/3)
VC.Nặng (Nhẹ) = (1/2,1/2)
VC.Nặng (T.B) = (1/3,2/3)
VC.Nặng (Nặng) = (1/3,2/3)

46
VKem (Có) = (3/3,0/3) = (1,0)
VKem (Không) = (3/5,2/5)
Nhƣ vậy thuộc tính m u tóc có số vector đơn vị nhiều nhất nên sẽ đƣợc chọn để
phân hoạch.
Sau khi phân hoạch theo m u tóc xong, chỉ có phân hoạch theo tóc v ng (Pv ng) l
còn chứa những ngƣời cháy nắng v không cháy nắng nên ta sẽ tiếp tục phân hoạch
tập n y. Ta sẽ thực hiện thao tác tính vector đặc trƣng tƣơng tự đối với các thuộc
tính còn lại (chiều cao, cân nặng, dùng kem). Trong phân hoạch Pv ng, tập dữ liệu
của chúng ta còn lại là :

Tên Ch.Cao Cân Dùng Kết quả


Nặng kem?

Sarah T.Bình Nhẹ Không Cháy

Dana Cao T.Bình Có Không

Annie Thấp T.Bình Không Cháy

Kartie Thấp Nhẹ Có Không

VC.Cao(Cao) = (0/1,1/1) = (0,1)


VC.Cao(T.B) = (1/1,0/1) = (1,0)
VC.Cao(Thấp) = (1/2,1/2)

VC.Nặng (Nhẹ) = (1/2,1/2)


VC.Nặng (T.B) = (1/2,1/2)
VC.Nặng (Nặng) = (0,0)

VKem (Có) = (0/2,2/2) = (0,1)

47
VKem (Không) = (2/2,0/2) = (1,0)
2 thuộc tính dùmg kem v chiều cao đều có 2 vector đơn vị. Tuy nhiên, số phân
hoạch của thuộc tính dùng kem l ít hơn nên ta chọn phân hoạch theo thuộc tính
dùng kem.
Bài tập chương 5:
B i 1: Nêu ra các 5 ví dụ ứng dụng máy học trong thực tế.
B i 2: Thu thập dữ liệu cho một hệ dự báo tăng giảm một chỉ số chứng khoán. Xây
dựng cây định danh v đƣa ra tập luật cho hệ trên.
B i 3: Thu thập dữ liệu cho một hệ dự báo đối với sinh viên dự thi tuyển sinh đại
học. Xây dựng cây định danh v đƣa ra tập luật cho hệ trên.

48
Chương 6: Logic mờ và lập luận xấp xỉ
6.1. Biểu diễn tri thức bằng LOGIC VỊ TỪ.
CSTT(knowlegde) = Cơ sở sự kiện, Cơ sở luật
Thông tin về tình Tri thức về lĩnh
huống vực chuyên môn
(Do ngƣời sử dụng) (Do chuyên gia)

Cung cấp qua Có qua phiên


phiên hỏi thu nạp tri thức

Các sự kiện(Fact) đƣợc mô tả bởi Vị từ(Predicate). Mỗi vị từ l một phát biểu, quan
sát về đối tƣợng m ta đang xét.
F={p(t1,t2….tn)/p vị từ}
p: Tên vị từ
ti: hạng thức( tẻm) có thể l một biến, mộthằng, hoặc l một h m(rất quan trọng)
VD: Ai cũng có ke yêu ngƣời ghét.
…..
Luật( Rule)
Mọi tri thức chuyên môn đều đƣợc biểu diễn bằng mệnh đề.: Nếu…..thì….
p1(t1….tk)……..pn(u1…..un) suy ra q(v1….vm)
trong đó: pi, q: Tên vị từ
ti, u, v: các hạng thức
Câu(clause)
……l một câu v tƣơng ứng với một luật có dạng nhƣ ở trên
6.2. Một số ví dụ
Bài toán chở đồ vật qua sông.
Coa một con sói, một con dê v mọt chiếc bắp cải muốn qua sông. Nhƣng chỉ só một
bác lái đò. L m thế n o dể bác lái đò có thể chở đƣợc các vật trên qua sông an to n.

49
Biết rằng Sói ăn thịt dê nếu chỉ có hai con một mình, dê ăn bắp cải nếu nhƣ không
có sói ở đó.
Sói Dê Bắp cải Bờ bắc

Lái đò

……… Bờ nam

Biểu diễn:
-Vị trí :vt(LĐ,S,D,B)
-An toàn: at(LĐ,S,D,B)
-Vị trí xuất phát, đến : ql(Đ1, Đ2)
Ta có mô tả nhƣ sau:
1. vt(b,b,b,b)
2. dd(b,n)
3. dd(n,b)
4. vt(LD,S,D,B)  dd at(LD,LD’)  at(LD’,S,D,B)  vt(LD’,S,D,B)
5. vt(X,X,D,B)  dd(X,X’)  at(X,X’,D,B)  vt(X’,X,D,B)
6. vt(X,S,X,B)  dd(X,X’)  at(X,X’,B,S)  vt(X’,X’,B,S)
7. vt(X,S,X,D)  dd(X,X’)  at(X,X’,D,S)  vt(X’,X’,D,S)
8. at(X S X B)
9. dd(X X’)  at(X X X’ X)
Tóm lại ta thấy đây chỉ l luật v sự kiện chứ không phải tri thức chuyên gia
6.3. Cơ chế suy diễn
SUY DIỄN: +Suy diễn tiến( Modus Ponens, Modus Tollens)
+Suy diễn lùi( Modus Ponens, Modus Tollens)

50
pq pq q : p
p p p:

q q q:-

Rule Clause Prolog rule

Ví dụ:
1. membership( x1, [x1:-] )
l danh sách có hai phần tử với: +) x l phần tử đầu
+)- l mô tả các phần còn lại
2. membership( x2, [-:y] )
:- membership (x2, y)
Goal: membership(1, [ 1,2,3]): :- membership (1, [1,2,3])
Chú ý: Trong Prolog áp dụng suy diễn lùi với: luật theo chỉ số min v sự kiện từ trái
qua phải
Từ giả thiết v áp dụng phƣơng pháp suy diễn lùi ta có quá trình suy diễn nhƣ sau:
3. :-mb(x, [1,2,3])
4. :- {x/x1, 1/x1} (3,1) nên x=1
5. :-mb(x,[2,3] {x/x2 ; 2,3/x1} (3,2)
6. :- {x/x3; 2/x} (5,1)nên x=2
7. :-mb(x,[3]) {x/x4; 3/x4} (5,2)
8. :- {3/x} (7,1) nên x=3
9. :--mb(x,[]) (7,2)
10. fail (9,1)
11. fail (9,2)

51
6.4. Biểu diễn tri thức bằng logic mờ và suy diễn
6.4.1. Tập mờ( Fuzzy set)
Trở lại với các kiểu định nghĩa về tập hợp (set) . Chúng ta đã biết l có hai kiểu định
nghĩa tập hợp:
1- Phƣơng pháp lệt kê tất cả các phần tử thuộc tập hợp đó. Ví dụ tập số nguyên
nhỏ hơn 10 l tập: N=1,2,3,4,5,6,7,8,9
2- Phƣơng pháp mô tả thông qua vị từ đặc trƣng( characteurstic predicate)
PA(x) = 1 nếu x  A
0 nếu x  A
PA: U  {0,1}
X  U  PA(x)

Trực quan Trừu tượng


A B PA  PB
A B PA  PB
A \B PA   PB
A =B PA  PB

Mở rộng:  A~  0,1

:x 0   A~ ( x)  1
~ ~
Vậy khi có tập mờ A : thì  A~ ( x) gọi l độ thuộc của x v o A

H m thuộc: l h m do ngƣời quan sát cung cấp (subjective opinon)


Mờ hoá:
Với mọi mọi giá trị ngôn ngữ ta gán một tập mờ
VD : Tuổi = “Trạc 30”

~
Tuổi = A

52
 A~ ( x)  +) 0 với x  (0,25)

+) 1 với x  (26,32)
+) 0,7 với x  (33,38)
+) 0,2 với x  (39,45)
+) 0 với x> 45
6.4.2. Các phép toán trên tập mờ:
Cho tập nền ( tập vũ trụ ) U ( Universer Set)
~
Một tập mờ A trên U đƣợc một mô tả bởi h m thuộc ( mebership function)
 A : U  0,1

A

S= {x/  A ( x)  0 } Tập giá đỡ


K={x/  A ( x)  1} Tập core
A  x /  A   

Một số dạng thƣờng gặp:


Dạng 1:

a b c

 A (x)  +) 0 nếu x<a

53
+) x   nếu a  x  b
+) x   nếu b  x  c
+) 0 nếu x>c
~
A  (a, b, c)

Số mờ

Dạng 2

a b c d

~
A = (a, b, c, d)
~ ~
Tập mờ A không phải l tập theo nghĩa thông thƣờng nên quan niệm A phải định
nghĩa theo h m thuộc. Do đó không biểu diễn bằng biểu đồ Ven m biểu biểu diễn
bằng đồ thị
Hợp của các tập mờ
Cho hai tập mờ A, B với  A và  B l hai h m thuộc tƣơng ứng
~ ~ ~
Từ đó ta xây dựng 1). A  B  C

 C ( x)   AB ( x)  max(  A ( x);  B ( x) )

54
Chú thích: lấy tất cả phần trên của đồ thị
Khi đó hợp của hai tập mờ l một tập rõ
~ ~ ~
2). AB C

 C ( x)   AB ( x)  min (  A ( x);  B ( x) )

Chú thích: Bây giờ ta lấy to n bộ phần dƣới.


3). Phần bù:
~ ~
A với  A ( x) khi đó phần bù l : A
~
+) A có h m thuộc:  A ( x)  1   A ( x)

4). Hiệu hai tập hợp:


~ ~ ~ ~
+) A \ B  A  B
5). Hai tập mờ bằng nhau:
~ ~
A  B   A   B  x :  A ( x)   B ( x)

Các tính chất:


1. Tính giao hoán
~ ~ ~ ~
AB  B A
~ ~ ~ ~
AB  B A
2. Tính kết hợp :
~ ~ ~ ~ ~ ~
(A  B)  C  A  (B)  C)
~ ~ ~ ~ ~ ~
(A  B)  C  A  (B)  C)
3. Tính lũy đẳng :
~ ~ ~
A A  A
~ ~ ~
A A  A
~ ~ ~ ~
4. ( A  B ) A  A

55
~ ~ ~ ~
( A  B ) A  A
5. Tính phân phối :
~ ~ ~ ~ ~ ~ ~
A ( B  C )  ( A  B )( A  C )
~ ~ ~ ~ ~ ~ ~
A ( B  C )  ( A  B )( A  C )
6. Tính chất khác :
~ ~ ~
A   
~
A  u~  u~
~
7.   u~
~
u~  
~ ~
8. AA 
~ ~
AA  ~ u
~ ~ ~ ~
9. A B  A B

~
Ví dụ : A  {(a, 0.1), (b, 0.2), (c, 0.3), (d, 0.4)}
~
A  {(a, 0.9), (b, 0.8), (c, 0.7), (d, 0.6)}
~ ~
A  A  { (a, 0.1, (b, 0.2), (c, 0.3), (d, 0.4), (a, 0.9), (b, 0.8), (c, 0.7), (d, 0.6)}
Nhận xét : - L. Zadel (max, min, 1-)

*) MỞ RỘNG PHÉP TOÁN TẬP MỜ



-  A B ( x )  s(  A ( x ),  B ( x ))
Hàm s là t – conorm :
s : [0, 1] x [0, 1] → [0, 1]


-  A B ( x )  t(  A ( x ),  B ( x ))
Hàm t là t – norm :
s : [0, 1] x [0, 1] → [0, 1]
- Hàm t – conorm thỏa mãn các tính chất :
+ s(x, y) = s(y, x)
+ s(s(x, y), z) = s(x, s(y, z))
 s( x , 1 )  1
+
 s( x ,0 )  x
- Hàm t – norm thỏa mãn các tính chất :
+ t(x, y) = t(y, x)
+ t(s(x, y), z) = t(x, s(y, z))
 t( x , 1 )  x
+
 t( x , 0 )  0
Ví dụ : s(x, y) = x + y - xy

56
t(x, y) = xy
→ Kiểm tra :
1. Giao hoán : hiển nhiên
2. Kết hợp :
Hàm s :
s (x, s(y, z))  ...  x  y  z xy yz zx  xyz 
  s ( x , s ( x , y ))  s ( s ( x , y ), z )
s (s (x, y), z)  ...  x  y  z xy yz zx  xyz 
Hàm t :
→ hiển nhiên
3. Tính chất cuối :
 s( x , 1 )  ...  1  t( x , 1 )  ...  x
+  ; 
 s( x ,0 )  ...  x  t( x ,0 )  ...  0
- Bộ ba : (s, t, n) ;  A ( x )  n(  A ( x ) n : [ 0,1]  [ 0,1]
Hàm negation :
 n( 0 )  1
1. 
 n( 1 )  0
2. n(n(x)) = x
3. Đơn điệu : x  y → n(x)  n(y)
Ví dụ : hàm 1 – x

- Bộ ba : (s, t, n) → thích hợp khi :


1. s (x, t (y, z)) = t (s (x, y), s (x, z))
2. t (x, s (y, z)) = s (t (x, y), t (x, z))
3. n ( s (x, y)) = t (n (x), n (y))
4. n ( t (x, y)) = s (n (x), n (y))

6.4.3 Biểu diễn tri thức mờ :


- Dạng luật :
If X1 = v1 và X2 = v2 và ... và Xn = vn then Y = v
+ vi , v : l giá trị ngôn ngữ.
- Mờ hóa :
~ ~ ~ ~

If X 1  A1 và X 2  A2 và ... và X n  An then Y B
    
 
U1 U2 Un V
*) xét X = A → Y = B
- Logic kinh điển :
A → B ≡ A B
U = {x1, ... xn} = tập vũ trụ/nền của A
V = {y1, ... yn} = tập vũ trụ/nền của B
- Luật mờ ≡ quan hệ mờ ≡ tập mờ trên U x V
. Luật mờ → vectơ : A ~ μA

57
. Tập mờ → ma trận
X = ( μ1*, μ2* , ... , μn* )
Y = ( μ1B, μ2B, , ..., μnB )
μiA = μA (xi)
μjB = μB (yj)

If X = x1 then Y = y1 μ11
... ...
If X = x2 then Y = ym μ1m
... ...
If X = xn then Y = y1 μn1
... ...
If X = xn then Y = ym μnm

→ ma trận n x m.
→ từ một luật X = A → Y = B, ta có n x m luật, mỗi luật có độ chắc chắn n o
đó ( có khoảng 37 cách khác nhau)

Ví dụ :

- Nguyên tắc tính : μij = s (n (μiA , μjB ))


- Nếu có 1 luật :
If x = V then Y = U

→ Ma trận : y1 y2 ... ym
x1 μ11 μ12 ... μ1m
x2 μ21 μ22 ... μ2m
... ... ... ... ...
xn μn1 μn2 ... μnm

- Ngyên tắc tính khác :


μij = μiA . μjB
μij = min (μiA , μjB )
...
- Nếu có nhiều luật :
If X = A  Y = B then Z = C
RC/A, B = RC/A  RC/B
If X = A If Y = B
then Z = C then Z = C

RC/A RC/B

- μijR = min (μiR , μjR)


58
Ví dụ : X=A→Y=B
Xét
A = (0.1, 0.3, 0.6)
B = (0.1, 0.3, 0.2)
(Min) 0.1 0.1 0.1 (Product) 0.07 0.03 0.02 ( ... 0.9 0.9 0.9
)
0.3 0.2 0.2 0.21 0.03 0.06 0.7 0.7 0.7
0.6 0.3 0.2 0.42 0.18 0.12 0.7 0.4 0.4

- Tri thức mờ ≡ Luật mờ :


If x1 =  A1  A2  ...  An then Y B
 
U1 U2 Un V
Quan hệ mờ giữa U1 ... Un và V :
Tập mờ trên U1 x U2 x ... x Un x V
If X = A then Y = B
RB/A tập mờ trên U x V   B / A : U x V  [ 0, 1]
 B / A ( u , v )  [ 0, 1]

Tập A trên U   A : U  [ 0, 1]
 A ( u )  [ 0, 1]
Tập B trên V   B : V  [ 0, 1]
 B ( v )  [ 0, 1 ]
 B / A = ₣(μA, μB)
 có hai dạng : ₣(x, y) = xy
₣(x, y) = min(x, y)
A → B ≡ AB
₣(x, y) = s(m(x), y)
Chú ý :  max s ( x, y )
 min t ( x, y )
– 1–x n (x)
(kéo theo)  max( 1   A , B )

7.4 Suy diễn mờ. (Fuzzy Inference)

Cho tập luật : R = { r1, r2, ... , rm}


ri : lefti → qi →
~ ~ ~ ~
ri : X 1  A1  X 2  A2  ...  X n  An  Y  B
→ tri thức về lĩnh vực.
Biết :
~ ~ ~
GT (giả thiết) = { U1  C1 , U 2  C2 , ... ,U l  Cl }
59
Cần xác định :
~ ~ ~
KL (kết luận) = { V1  D1 , V2  D2 , ... ,Vk  Dk }
 Suy diễn : l m thế n o xác định đƣợc  D ,  D , ... ,  D ? 1 2 k

 D = ₣ (  r ,  r , ... ,  r ;  e ,  e , ... ,  e )
 
i 1 2 m 1 2 l

R GT
- Procedure SD ( R : set of rules ;
GT, KL : set of facts ;
var KQ : Boolen ;
vet : set of rules
)
- GT KL

~ ~ ~ ~
X 1  A1  X 2  A2  ...  X n  An  Y  B
~ ~ ~
X 1  A1 X 2  A2 ... X n  An

Y  B  B  F (  r ,  A , ... ,  A )
1 n

- Xét :
~ ~
If X  A then Y  B
~
X  A

~
Y  B
 B   A  RB / A
RB / A  A

 B
 11 12 ... 1m 
 
  21  22 ...  2 m 
( 1 ,  2 , ... ,  n )  ... ... ... ... 
 
 ...  nm 
 n1  n 2
~
A l tập mờ trên U = { x1, x2, ... , xn}
~
B l tập mờ trên V = { y1, y2, ... , yn}
i   A ( xi )
 n
 j   B ( y j )    . 
k 1
k kj

trong mờ
max (min (  k ,  kj ))
~ ~
If X  Ai then Y  Bi

60
~
X  A

~
Y  B
 B  max (  A  RBi / Ai )
 

Vét cạn
*) B i toán : Cho một số luật → có thể tạo ra hình thức để duyệt luật không vét cạn
hay không ?
+ Heuristic (TTNT)
+ GT di truyền.
~ ~ ~ ~
If X 1  A1  X 2  A2  ...  X n  An then Y  B
~ ~ ~
X 1  A1 X 2  A2 ... X n  An
~
Y  B
 B  (  A1 ,  A2 , ... ,  An )  RB~ / A1 , ... , An

~ ~
If X i  Ai then Y  B
~
X  Ai
n
~ ~ ~
Y  B ; Y  B   B i
i 1
~ ~ ~
If X 1  A1  X 2  A2 then Y  B
~
X  A

n
~ ~ ~
Y  B ; Y  B   B i
i 1

+) Đơn luật Đơn điều kiện


+) Đa luật Đơn điều kiện : Vét cạn
+) Đơn luật Đa điều kiện : trực tiếp
gián tiếp AND : 
OR : 
+) Đa luật Đa điều kiện : Vét cạn

*) Suy diễn mờ = áp dụng liên tiếp nhiều lần Modus Ponen (Fred Forward)

Ví dụ :

1. If X = A1 then Y = B1
2. If X = A2 then Y = B2
3. If X = B3 then Z = C3
4. If X = B4 then Z = C4

61
5. If X = A5 then Z = C5
6. If X = A6 then Y = B1
7. If X = A1  Y = B6 then Z = C7 (bỏ qua luật n y chƣa xét)

Tập nền X : U = {1, 2, 3}


Tập nền Y : V = {A, b}
Tập nền Z : W = {+, –}

MB / A a B MB a b MC a b
1 1 2 / A2 4 / B4

(0.6 ; 0.2 ; 0.1) 1 0.6 0.5 1 0.7 0.8 a 0.6 0.7


2 0.3 0.9 2 0.4 0.3 b 0.8 0.5
3 0.2 0.1 3 0.3 0.6

MC MC / A a b
3 / B3 5 5

(0.6 ; 0.6) a 0.2 0.3 1 0.1 0.2


b 0.9 0.7 2 0.3 0.4
3 0.9 0.3

Đồ thị :
X Y Z (DAG)
`

x = A0 = (0.6, 0.2, 0.1)

*) Áp dụng nguyên tắc min :


- MP (r1 , A 0 ) Y  (0.6, 0.5) 
  Y  (0.6, 0.6)  B0
- MP (r2 , A 0 ) Y  (0.6, 0.6) 
- MP (r3 , B0 ) Z  (0.6, 0.6) 
  Z  (0.6, 0.6)  C 0
- MP (r4 , B0 ) Z  (0.6, 0.6) 
max
- MP (r1 , A 0 ) Z  (0.2, 0.2)  Z = (0.6, 0.6)

*)
- MP (r1 , A 0 ) Y  (0.6, 0.5)  B10
- MP (r3 , B10 ) Z  (0.6, 0.5) 
  (0.6, 0.6)
- MP (r4 , B10 ) Z  (0.6, 0.6) 
- MP (r2 , A 0 ) Y  (0.6, 0.6)  B02
- MP (r3 , B 02 ) Z  (0.6, 0.6) 
  (0.6, 0.6)
- MP (r4 , B 02 ) Z  (0.6, 0.6) 

62
- MP (r5 , A 0 )  (0.2, 0.2)  Z  (0.6, 0.6)

Chứng minh :
...

Tổng kết :
1. Biẻu diễn tập mờ → chỉ số mờ & thao tác
2. Nghiên cứu về : t – norm : 
t – conorm : 
n(.) : not
₣ (x, y) : 
3. Mâu thuẫn : tƣờng minh
không tƣờng minh
( chƣa có trong TLTK  tự tìm hiểu )
4. Dƣ thừa (trong tập luật)
5. Duyệt / Áp dụng không vét cạn.
6. Lựa chọn thể hiện phép toán phù hợp.
7. Suy diễn thao tác trực tiếp (Linguistic Reasoning)
Bài tập chương 6:
B i 1: Trình b y ba tập mờ trong thực tế.
B i 2: Trình b y hai tập mờ trong thực tế, chỉ ra quan hệ mờ giữa chúng.
B i 3: Biểu diễn một hệ mờ gồm 5 luật.

63
Đề cương ôn tập

1. Nắm vững cấu trúc v chi tiết các th nh phần của hệ chuyên gia.

2. Nắm vững các phƣơng pháp biểu diễn tri thƣc

3. Nắm vững các phƣơng pháp lập luận

4. Nắm vững khái niệm v cấu trúc của hệ hỗ trợ ra quyết định.

5. Nắm vững khái niệm về máy học. Phƣơng pháp xây dựng cây định danh

6. Nắm vững logic mờ v lập luận xấp xỉ

64
Đề thi tham khảo:

Đề 1:

Câu 1 (3 đ):
Hệ chuyên gia là gì?
Hãy cho biết những đặc trƣng cơ bản của một hệ chuyên gia.

Câu 2 (4 đ): Cho tập các luật sau R = {r1, ..., r6}

r1: a ^ b -> c r5: c ^ d -> e


r2: b -> c r6: a ^ e -> f
r3: b ^ h -> d r7: e ^ f -> m
r4: a ^ c -> d
a) Tập sự kiện {a, b} có l cơ sở sự kiện của tập sự kiện cho trong R không?
b) Với GT = {a, b}, KL = {m}. Hãy áp dụng kỹ thuật suy diễn để đƣa ra kết
luận.

Câu 3 (3 đ)

Cho luật IF A THEN B với A = (0, 0.5, 0.6, 0.8, 0) và B = (0, 0.5, 1, 0.5, 0.4),
A' = (0, 0.5, 0, 0, 0). Tìm B' bằng cách sử dụng suy diễn tích cực đại.

Đề 2:

Câu 1 (3 đ):
Trong cấu trúc của một hệ chuyên gia.
Vì sao việc phân tách cơ sở tri thức v cơ chế lập luận (mô tơ suy diễn) l
quan trọng?

Câu 2 (4 đ): Cho tập các luật sau R = {r1, ..., r6}

r1: b ^ c -> a r5: a ^ d -> e


r2: b -> a r6: a ^ e -> k
r3: a ^ h -> d r7: k ^ e -> x
r4: a ^ c -> d
a) Tập sự kiện {b, c} có l cơ sở sự kiện của tập sự kiện cho trong R không?
b) Với GT = {b, c}, KL = {x}. Hãy áp dụng kỹ thuật suy diễn để đƣa ra kết
luận.

65
Câu 3 (3 đ)

Cho luật IF A THEN B với A = (0, 0.5, 0.6, 0.8, 1) v B = (0, 0.5, 1, 0.5, 0),
A' = (0, 0.5, 0, 0, 0). Tìm B' bằng cách sử dụng suy diễn max - min.

Đề 3:

Câu 1 (3 đ)

a) Nêu đặc điểm chính của hệ chuyên gia.


b) Ý nghĩa của việc xây dựng hệ chuyên gia.

Câu 2 (4 đ)
Cho miền của các đối tƣợng có các thuộc tính v có các giá tri nhƣ sau:
Tóc = {nhiều,ít}
M u tóc ={trắng,đen,v ng}
Dáng ngƣời ={cao, thấp,trung bình}
1. Sử dụng vị từ logic để biểu diễn các đối tƣợng n y.
2. Sử dụng các phép toán tổng quát để định nghĩa không gian học của các đối
tƣợng
3. Xây dựng các tập mẫu huấn luyện dƣơng P v âm N để học nhận dạng đối
tƣợng l ngƣời có dáng ngƣời cao sử dụng cả 3 giải thuật đã thảo luận trên.

Câu 3 (3 đ)
Xem xét các câu sau đây:
Hùng thích tất cả các loại thực phẩm
Táo l thực phẩm
G l thực phẩm
Bất cứ thứ gì mọi ngƣời ăn v không bị hại đó l thực phẩm
Phong ăn đậu phọng v vẫn còn sống
Lan ăn bất cứ thứ gì Phong ăn
1. Hãy biểu diễn các sự kiện trên bằng logic vị từ
2. Chuyển đổi các tiên đề ở câu 1 sang mệnh đề
3. Chứng minh Hùng thích ăn đậu phọng sử dụng phƣơng pháp hợp giải
4. Sử dụng phƣơng pháp hợp giải để trả lời câu hỏi:”Lan ăn thực phẩm n o?”.

66
Đề 4:

Câu 1 (3đ)

a) Anh (chị) cho nhận xét của mình về


Chƣơng trình = Cấu trúc dữ liệu + Giải thuật
Hệ chuyên gia = Cơ sở tri thức + mô tơ suy diễn
b) Anh (chị) cho biết lý do xây dựng hệ chuyên gia.

Câu 2 (4đ)
Sử dụng thuật toán Quinlan để rút ra quy luật cho những ngƣời có đặc điểm
n o có khả đỗ đại học hoặc không theo cơ sở dữ liệu ở bảng sau:

Thứ Tên Bố hoặc mẹ Điều kiện Học lực Có Kết


tự ngƣời đỗ Đại học kinh tế học thêm quả
1 Giáp Có Trung bình Giỏi Không Đỗ
2 Ất Có Cao Trung bình Có Không
3 Bính Có Thấp Trung bình Có Không
4 Đinh Không Thấp Trung bình Không Không
5 Mậu Có Trung bình Khá Có Đỗ
6 Kỷ Không Thấp Khá Không Không
7 Canh Có Trung bình Khá Có Đỗ
8 Tân Có Thấp Giỏi Có Đỗ

Câu 3 (3đ)
Cho Ω = {1, 2, 3, 4, 5}.
A, B l các tập mờ trong Ω nhƣ sau:
A = {(1,0), (2,1), (3,0.5), (4,0.3), (5,0.2)}
B = {(1,0), (2,0.5), (3,0.7), (4,0.2), (5,0.4)}
Hãy tính: A∩B, B∩Ac, A∪B

67

You might also like