Hệ chuyên gia
HỆ CHUYÊN GIA
Chương 1: Nhập môn Trang 2
Chương 2: Quản trị tri thức (Knowledge management) Trang 8
Chương 3: Mô tơ suy diễn (Inference Engine/ motor) Trang 18
CHƯƠNG 4: GIAO DIỆN Trang 33
CHƯƠNG 5: MOĐUN GIAI THÍCH Trang 36
CHƯƠNG 6: SUY DIỄN TRONG LOGIC VỊ TỪ VÀ LẬP TRÌNH PROLOG
Trang 39
Chương 7: Biểu diễn tri thức bằng Logc mờ và suy diễn Trang 42
Chương 8: Suy diễn xác suất Trang 54
Trang 1
Hệ chuyên gia
HỆ CHUYÊN GIANgà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
Trang 2
Hệ chuyên gia
Chương 1: Nhập môn1.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
Nhà c/m
LTV
Analyzer
2. XD HCG
C gia
LTV
Kĩ sư TT
SUPER
Super
SUPER
S
Super
Super
Super
Super
Super
Trang 3
Hệ chuyên gia
iii) Xây dựng hệ chuyên gia
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 EngineeringCá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ó
Trang 4
Hệ chuyên gia
vii) Hệ chuyên gia phải đạt trình độ cao
HTTTQL HCG
Nhiều thông tin
Nhanh
Chính xác
Ít
Chậm SUPER cross - validation
KCX
1.2. Cấu trúc hệ chuyên gia
Phiên tư vấn chuyên gia
(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
Phân tích (If … then)
Trang 5
user TT(2) SD (3) Expert
Tập tin (1)Ngày, giờ, tháng, năm, giới tính
Kluận/ tư vấn (1)
C.Gia
NSD
Giao diện (1)
Mô tơ suy diễn (3)Các cơ chế Các cơ sử dụng chế ĐK
Soạn thảotri thức
(5)
Giải thích(4)
KDDCS luật Cs sự l.vực kiện
(NSD)
CSTT(2 )
CSDLL
KSTT
Hệ chuyên gia
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 - 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 đó:
Trang 6
Hệ chuyên gia
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
Trang 7
Hệ chuyên gia
Chương 2: Quản trị tri thức(Knowledge management)
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
Trang 8
Hệ chuyên gia
Bao đóng suy diễn cho R. Xét A F
A = f F/ A f
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+ =
+ =
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)
Trang 9
Tiến * **
A
PQ
B CK L
GT
Hệ chuyên gia
GT = tđ (P, AB), tđ (Q, AC), tđ (K,BQ), tđ (L,CP)
GT = … ?
VD: Quy nạp toán học P(x)
(1) P(1)
(2) P (i) P (i + 1)
=
P (x)
* Việc xác định bao đóng suy diễn dựa vào SD tiến:
suy diễn có tính chất đơn điệu
(a,d,h,g)
VD: Y(x,y) C (x,y)
Y(a,b), C(a,b)
Y(a,c), C(a,c)
VD: Xây dựng tập luật cho Robot
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) +
Trang 10
Max, min,quece, stack(đ.với logic m.đề) (3)
A
B
C E A
C
E
B
Hệ chuyên gia
Ta nói R1 R2 A F A = A
Giả sử R = m:
R =
ri : lefti qi
K
(1+K)m = (m)
= 0 (m)
ĐN:
Luật r R thừa trong R R\ R
Tiêu chuẩn 1 (áp dụng cho logic mệnh đề)
r: left q R dư thừa q left
giải thích:
left q
Câu hỏi: Thuật toán xác định bao đóng của 1 tập
A 0 (m2) 0(m) (logic mệnh đề)
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
Trang 11
(SD tiến)
Hệ chuyên gia
f được coi là dư thừa trong r thay r bởi r’ : left \ q vẫn có tập luật tương
đương ( R ) R
TC 2: f dư thừa f (left \ rf )
Giải thích: (m2)
r: (left\ ) 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 = KL =
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 ><
Trong logic vị từ: + p(a) >< (a)
+ (a) >< x p(x)
+ p(a) >< x (a)
Trong luật s.xuất: X = 3 >< X = 4
Trang 12
R+
Hệ chuyên gia
X 9 >< X > 10
Phát hiện mâu thuẫn m(m - 1) cặp (r, r’) 0(1)
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
(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\ R 0 chỉ
còn các đỉnh cô lập (tức là (R, R0, ))
+ Tiêu chuẩn (R0) max / min
Trang 13
2
A
Hệ chuyên gia
· Tiêu chuẩn (R0) = · R min
· w(r) min
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 độ
2) F chứa cặp sự kiện đụng độ F F
VD:
1) a b =
2) b c
3) c d
4) d e
5) a u v
6) v w
7) w u
* 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 = R1 R3 ; R = R2 R 3
Mâu thuẫn không tường minh (R) Mâu thuẫn không tường minh (R ) mâu thuẫn
không tường minh (R )
Nếu a R1 = hoặc R2 = ; R = LA’ thì mâu thuẫn không tường minh (R)
left chứa cặp sự kiện đụng độ 0(m2)
Trang 14
SUY DIỄN *
R
Hệ chuyên gia
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
2) b c d e
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
b
c
d
+ + + +
* * * *
- - - -
SK1
a
b
a
c
a
SK2
b
c
d
SK3
d
KL
c
e
f
g
f
B. Cấu trúc động
. . . . . . .
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)
Trang 15
a + +
b . . .
c * *
a
b
b e
c d e
a b cb c d ea d fc ga hd c hb u
Vế trái Vế phải
Hệ chuyên gia
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á
trị
NN Ques VT VP Tro STT Tên
s.k
Tro1 Tro2 Tro3 Dạng
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
Trang 16
Hệ chuyên gia
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
2.5. Soạn thảo tri thức:
Text Editor Text Editor
2.6. Cập nhật sửa đổi
A. Hiển thị
Trang 17
K.E
BDTT
Text Editor Checker Mâu thuẫn Quản lí dư thừa
CSTT
Sự chuyển đổi
Chuyên gia(NN tự nhiên)
a → b
Cú phápPT cú phápVăn phạm
text file
(NN lập trình)
Hệ chuyên gia
CSTT Dạng biểu thị ngoài text (linear)
Đồ hoạ (non-)
Linear a b c a c
b c d e b d
e
Trang 18
Brower
Hệ chuyên gia
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
___________________________________________________________________
Trang 19
Hệ chuyên gia
Chương 3: Mô tơ suy diễn (Inference Engine/ motor)3.1. Nhập môn
Độ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
Trang 20
USER
Động cơ
CSTTTình huống
Kernel
Hệ chuyên gia
D: 1) a b
2) b c
3) c e
4) c d
5) d e f
6) b h
7) f 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
rã CSTT
eval({F1, F2}) min
- Mô hình star
Trang 21
a b c c
e d f
h g
R1
R0
F0
R2
R4
R0R1 R2
R3
Hệ chuyên gia
- 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
2) b c
3) c e
4)c d
GT = {a}
{a}f min {a,b} min {a,b,c} {a,b,c,d}
{a}
{a, b}
{a, b, c} {a, b, h}
{a, b, h, c}
Trang 22
hedhbdc
ghf
A bB cC e
r1 2,6 r2
3,4,6 r3
r1
r2 r6
(3,4,6)
(3,4).....
..... .....
5) d e f
6) b h
7) f h g
Hệ chuyên gia
SUY DIỄN TIẾN ĐỒ THỊ SUY DIỄN TIẾN
1) GT
2) T.gian (SK đã chứng minh)
3) THOẢ
T.Gian T.Gian {q}
r: left q
r thoa
4) Kết thúc
T.Gian KL
5) VẾT
1) Đỉnh gốc
2) Nút
3) CUNG
T.Gian T.Gian
T.gian = Tgian {q}
4) Lá
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
{g} {f, h} {d, e, h}
ĐỒ THỊ SUY DIỄN LÙI ( And, or)
{g}
{f} {h}
{d} {e} {}
{c} {c} {a}
{b}
Trang 23
r
r1
fr5
r7
r6
r4 r3
{a}
Hệ chuyên gia
Suy diễn lùi tìm kiếm theo chiều sâu
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} {A, B} {B, C, B} …
r5 b hc A
chỉ số max: {c} {AB} {B}
B. Chọn hướng SD
- Tình huống GT, KL NSD SD Tiến, Lùi
- Tập luật R CTIẾN CLÙI
0(B ) 0(B )
- 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
Trang 24
r1 A r3
A B r1
Hệ chuyên gia
VD:
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 = max (2, 1, 4) = 4
= = 1,33
2.Ước lượng BL
Trang 25
Hệ chuyên gia
c có 3 luật
C có 1
B có 2 BL max = 3
A có 2 = = 1,6
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ả ?
2 cơ chế chọn: + cứng nhắc (LIFO, FIFO) (sâu, rộng)
Trang 26
Hệ chuyên gia
(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 (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} {a, b, R, A} {a b R A B} {a bR AB} {a b RABCc}
VET = {r7, r8, r4, r1, r9, r10, r11}
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} {a, b, R, A} {a, b, R, A, B} {a, b, R, A, B, C}…...
Trang 27
7,8
CS min r4 rmin
7,8 r7 r8 4 r4 1,13
Hệ chuyên gia
i) Đồ 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 (*)
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 {a b R A B C c}9,10,11
……..
1(r7)=kc(A,p)=3
1(r8)=kc(B,p)=3
1(r1)=kc(c,p)=1
1(r13)=kc(s,p)=
1(r9)=kc(P,p)=
1(r10)=kc(mc,p)=
1(r11)=kc(p,p)=0
Trang 28
Chọn r1
Chọn r11
hc R
A B
C
a b
ma c mb
mc
P p
ha Shb
r
Hệ chuyên gia
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ó:
*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
2 (r8)=kcRPG(r8, r16)=3
Trang 29
r5 r13
r6 r4 r1 r+9
r7 r2 r10
r8 r3 r11 r16
r14
r12 r15
Hệ chuyên gia
2 (r1)=kcRPG(r1, r16)=2
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
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
Kc(GT, left)=max(b,a)
b GT
Trang 30
Chọn r13
Hệ chuyên gia
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
3(r14)=kc(a b R,a b c p)= 4
3(r6)=kc(a b R,b hc)=
3(r17)=kc(a b R,a R)= 0
3(r5)=kc(a b R,a hc)=
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}
THOẢ’ THOẢ . Khi đó lựa chọn trong THOẢ’ bằng phương pháp vét cạn hay
heuristic.
Trang 31
Chọn r13
Chọn r7
Chọn r8
(Hạn chế các ứng viên)
Hệ chuyên gia
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
- Phân tách cơ sở tri thức (CSTT)
- 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)
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)
SS(XY,UV) SS(VU,YX)
A. Suy diễn tiến
GT: tđ (P, AB); tđ (Q, AC)
tđ (I, BQ); tđ (J, CP)
Trang 32
Control mechanisms
Explicit
Implici t
A
PQ
B CI J
Hệ chuyên gia
tđ (E, CQ)
KL { SS (PS, BC)
B : 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 : 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
Trang 33
Hệ chuyên gia
- 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.
CHƯƠNG 4: GIAO DIỆN4.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:
Trang 34
Hệ chuyên gia
- Người sủ dụng không chuyên, đầu cuối.
- Người sử dụng chuyên , thường sử dụng hệ thống ở trình độ không cao.
- Người sủ dụng là kĩ sư tri thức
- Người sử dụng la chuyên gia
ở 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.
4.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
4. d b h
5. m g
6. m a h
7. f h k
Trang 35
Thường là tư vấn
Làm việc chủ yếu với phần soạn thảo tri thức
Hệ chuyên gia
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}
TRÁI= lefti
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}
4.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
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.
Trang 36
Hệ chuyên gia
2. Hỏi gần
4.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
CHƯƠNG 5: MOĐUN GIAI THÍCH
Trang 37
Hệ chuyên gia
5.1. Mở đầu
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
5.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ẽ)
Trang 38
UserGD MTSD
CSTT
Hệ chuyên gia
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
5.3. Why r?
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: 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ứ.
Trang 39
TRẢ LỜI
UserGD
MTSDf ?
f !
WHY f?
CSTT
Hệ chuyên gia
5.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.
5.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.
CHƯƠNG 6: SUY DIỄN TRONG LOGIC VỊ TỪ VÀ LẬP TRÌNH PROLOG
6.1. Biểu diễn tri thức bằng LOGIC VỊ TỪ.
Trang 40
Hệ chuyên gia
CSTT(knowlegde) = Cơ sở sự kiện, Cơ sở luật
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.
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 ở đó.
Trang 41
Thông tin về tình huống(Do người sử dụng)
Tri thức về lĩnh vực chuyên môn(Do chuyên gia)
Cung cấp qua phiên hỏi
Có qua phiên thu nạp tri thức
Sói Dê Bắp cải Bờ bắc
Lái đò
Bờ nam
Hệ chuyên gia
………
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)
Trang 42
q q q:-
Rule Clause Prolog rule
Hệ chuyên gia
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)
Chương 7: Biểu diễn tri thức bằng Logc mờ và suy diễn
7.1. Tập mờ( Fuzzy set)
Trang 43
Hệ chuyên gia
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:
:x
Vậy khi có tập mờ : thì gọi là độ thuộc của x vào
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 =
+) 0 với x (0,25)
+) 1 với x (26,32)
Trang 44
Hệ chuyên gia
+) 0,7 với x (33,38)
+) 0,2 với x (39,45)
+) 0 với x> 45
7.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ờ trên U được một mô tả bởi hàm thuộc ( mebership function)
S= {x/ } Tập giá đỡ
K={x/ } Tập core
Một số dạng thường gặp:
Dạng 1:
+) 0 nếu x<a
+) nếu a x b
+) nếu b x c
+) 0 nếu x>c
Trang 45
U
1
a b c
Hệ chuyên gia
(a, b, c)
Dạng 2
= (a, b, c, d)
Tập mờ không phải là tập theo nghĩa thông thường nên
quan niệm 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 và là hai hàm thuộc tương ứng
Từ đó ta xây dựng 1).
max( )
Trang 46
Số mờ
a b c d
Hệ chuyên gia
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).
min ( )
Chú thích: Bây giờ ta lấy toàn bộ phần dưới.
3). Phần bù:
với khi đó phần bù là:
+) có hàm thuộc:
4). Hiệu hai tập hợp:
+)
5). Hai tập mờ bằng nhau:
Các tính chất:
1. Tính giao hoán
2. Tính kết hợp :
3. Tính lũy đẳng :
4.
5. Tính phân phối :
Trang 47
Hệ chuyên gia
6. Tính chất khác :
7.
8.
9.
Ví dụ :
Nhận xét : - L. Zadel (max, min, 1-)
*) MỞ RỘNG PHÉP TOÁN TẬP MỜ-
Hàm s là t – conorm :s : [0, 1] x [0, 1] → [0, 1]
- 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))
+
- 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))
+
Ví dụ : s(x, y) = x + y - xyt(x, y) = xy
→ Kiểm tra :1. Giao hoán : hiển nhiên2. Kết hợp :Hàm s :
Trang 48
Hệ chuyên gia
Hàm t :→ hiển nhiên3. Tính chất cuối :
+ ;
- Bộ ba : (s, t, n) ; Hàm negation :
1.
2. n(n(x)) = x3. Đơ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))
7.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 và và ... và then
*) xét X = A → Y = B- Logic kinh điển :
A → B ≡ BU = {x1, ... xn} = tập vũ trụ/nền của AV = {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
. Tập mờ → ma trậnX = ( μ1
*, μ2
* , ... , μn* )
Y = ( μ1B
, μ2B
, , ..., μnB )
μiA = μA (xi)
μjB = μB (yj)
Trang 49
Hệ chuyên gia
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 = μi
A . μj
B
μ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 = AIf Y = B then Z = C then Z = C
RC/A RC/B
- μijR = min (μiR , μjR)
Ví dụ : Xét X = A → Y = BA = (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
Trang 50
Hệ chuyên gia
)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 = ... then
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 = BRB/A tập mờ trên U x V
Tập A trên U
Tập B trên V
= ₣(μA, μB) có hai dạng : ₣(x, y) = xy
₣(x, y) = min(x, y)A → B ≡ ₣(x, y) = s(m(x), y)
Chú ý :
– 1 – x n (x)(kéo theo)
7.4 Suy diễn mờ. (Fuzzy Inference)
Cho tập luật : R = { r1, r2, ... , rm} ri : lefti → qi →
ri : → tri thức về lĩnh vực.Biết :
GT (giả thiết) = Cần xác định :
KL (kết luận) = Suy diễn : làm thế nào xác định được ?
= ₣
- Procedure SD ( R : set of rules ;
Trang 51
Hệ chuyên gia
GT, KL : set of facts ;var KQ : Boolen ;vet : set of rules
)- GT KL
- Xét :
là tập mờ trên U = { x1, x2, ... , xn} là tập mờ trên V = { y1, y2, ... , yn}
trong mờ
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.
Trang 52
Hệ chuyên gia
+) Đơ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
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 = {+, –}
a b a b a b(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.53 0.2 0.1 3 0.3 0.6
Trang 53
Hệ chuyên gia
a b(0.6 ; 0.6) a 0.2 0.3 1 0.1 0.2
b 0.9 0.7 2 0.3 0.43 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 :
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ác2. 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)
Trang 54
Hệ chuyên gia
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)
Chương 8: Suy diễn xác suất8.1. Biểu diễn tri thức theo cách tiếp cân xác suất
Nhắc lại một số lý thuyết về xác suất:
Không gian sự kiện
Độ đo xác suất
Ví dụ: Khi ta tung một đông xu: mặt sấp ={sấp, ngửa}
mặt ngửa:
P{sấp}=P{ngửa}=1/2
Các tiên đề:
i) P( )=0 P(x)=0 x=
Trang 55
Thông tin không chính xác(không chắc chắn)- imprecise unartain
Fuzzy approach
Membership function
Subjective approach
Probalistic approach
Hàm phân bố xác suất (Proba Distribution)và hàm mật độ xác suât(Proba measure
Lý thuyết khả năng (Possibility measure)
Hệ chuyên gia
ii) P( )=1
iii) )
nếu
Tổng quát:
Biểu diễn tri thức dưới dạng luât:
If
si: xác suất xảy ra với pi
s: xác suất xảy ra với q
Biểu diễn tri thức dưới dạng xác suất tổng quat:
với Si là biểu thức logic bất kì
Ví dụ:
S={(A, 0.6),(B,0.6)}
S={(A, 0.7), ( )}
S={ }
8.2. Tri thức xác suất ngoài và suy diễn(External Prob knowledge and Reasoning)
Cơ sở tri thức(CSTT)
Si biểu thức logic
có xác suất Pi
Ví dụ:
={A,B} tập các mệnh đề cơ sở/ atom
Mỗi phép gán trị chân lý cho các mệnh đề cơ sở đựôc gọi là một thế giới có
thể ( Possible World)
W: [ 0,1] với w(A) là trị chân lý của A
1 1 0 1
A 0 0 1 1
B 0 1 0 1
Trang 56
Hệ chuyên gia
Có lạ một vector phi mâu thuẫn ( là giá trị chân lí gán cho mệnh đề
Si) tương ứng với thế giới có thể w nếu:
với là giá trị gán cho Si dựa trên wi
với w1:
là phi mâu thuẫn
Xét ví dụ sau:
và
W1 W2 W3 W4 W5 W6 W7 W8
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
0 0 0 0 0 0 1 0
A 1 1 1 1 0 1 0 1
Nhận xét: Xem xét độ đo xác suất dựa trên hai thế giưói có thể ( có thể
coi là tương đương nhau)
Gọi Pi xác suất của sự kiện
Ví dụ:
Giả sử P(A)=
P( )=
Ta cần dùng suy luận logic xác suất.
Trang 57
P( )=?
Hệ chuyên gia
Để làm được ta cần giải hai bài toán quy hoạch tuyến tính 1 và 2.
Ví dụ :
S={A,B, }
A 0 0 1 1
1 1 0 1
B 0 1 0 1
P1 P2 P3 P4
ModusPonens mở rộng
P(A)= P(B)=?
P( )=
Ta thấy sự kiện B xảy ra khi A B và A
( phần này mới chỉ học đến đây---> Vẫn còn một đoạn nữa học ở buổi cuối cùng
ngày 5/11/2003)
Trang 58