Giáo Trình HCG 2022

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 138

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN


BỘ MÔN HỆ THỐNG THÔNG TIN
-------------o0o------------

BÀI GIẢNG MÔN HỌC


HỆ CHUYÊN GIA
HỆ ĐẠI HỌC CHÍNH QUY

Giảng viên biên soạn: Nguyễn Thu Hương


Nguyễn Thị Thanh Nhàn

NĂM 2021

1
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN HỆ THỐNG THÔNG TIN
-------------o0o------------

BÀI GIẢNG MÔN HỌC


HỆ CHUYÊN GIA
HỆ ĐẠI HỌC CHÍNH QUY

KHOA PHÊ DUYỆT BỘ MÔN PHÊ DUYỆT GIÁO VIÊN PHỤ TRÁCH

TS. Nguyễn Hải Minh Nguyễn Thị Thanh Nhàn Nguyễn Thu Hương

NĂM 2021

2
MỤC LỤC

CHƯƠNG 1. GIỚI THIỆU VỀ HỆ CHUYÊN GIA ..................................................8


1.1.Giới thiệu chung
.....................................................................................................................................8
1.1.1. Hệ chuyên gia? ..............................................................................................8
1.1.2. Sự phát triển của công nghệ hệ chuyên gia .................................................11
1.1.3. Các lĩnh vực ứng dụng của hệ chuyên gia...................................................12
1.2. Cấu trúc của hệ chuyên gia ..............................................................................12
1.3. Các đặc tính của hệ chuyên gia .......................................................................16
1.3.1. Tách tri thức khỏi điều khiển .......................................................................16
1.3.2. Tri thức chuyên gia ......................................................................................17
1.3.3. Tập trung nguồn chuyên gia ........................................................................17
1.3.4. Lập luận trên các kí hiệu .............................................................................18
1.3.5. Lập luận may rủi..........................................................................................18
1.3.6. Lập luận không chính xác ............................................................................19
1.3.7. Khả năng giải vấn đề ...................................................................................19
1.3.8. Độ phức tạp vừa phải của vấn đề ................................................................19
1.3.9. Chấp nhận sai lầm .......................................................................................20
1.4. Công nghệ tri thức ............................................................................................20
1.5. Nhóm người tham gia xây dựng hệ chuyên gia..............................................21
1.5.1. Chuyên gia về lĩnh vực ................................................................................21
1.5.2. Kĩ sư tri thức ................................................................................................23
1.5.3. Người sử dụng .............................................................................................25
CHƯƠNG 2. THỂ HIỆN TRI THỨC .......................................................................27
2.1. Các loại tri thức ................................................................................................27
2.1.1. Giới thiệu tri thức ........................................................................................27
2.1.2. Các dạng tri thức .........................................................................................28
2.2. Các kỹ thuật thể hiện tri thức..........................................................................29
3
2.2.1. Thể hiện tri thức bằng cặp ba đối tượng- thuộc tính- giá trị ......................29
2.2.2. Thể hiện các sự kiện không chắc chắn ........................................................31
2.2.3. Thể hiện tri thức nhờ các luật......................................................................33
2.2.4. Thể hiện tri thức trong bảng đen .................................................................38
2.2.5. Thể hiện tri thức nhờ mạng ngữ nghĩa ........................................................40
2.2.6. Thể hiện tri thức thông qua khung...............................................................42
2.2.7. Thể hiện tri thức thông qua logic mệnh đề ..................................................47
2.3. Các luật trong hệ chuyên gia ...........................................................................52
CHƯƠNG 3. CÁC KỸ THUẬT SUY LUẬN...........................................................56
3.1. Lập luận .............................................................................................................56
3.1.1. Lập luận theo cách suy diễn ........................................................................56
3.1.2. Lập luận quy nạp .........................................................................................56
3.1.3. Lập luận phỏng đoán ...................................................................................57
3.1.4. Lập luận tương tự, loại suy..........................................................................57
3.1.5. Lập luận theo lẽ thường ...............................................................................58
3.1.6. Lập luận không đơn điệu .............................................................................58
3.2. Suy luận .............................................................................................................59
3.2.1. Modus ponens và modus tollens ..................................................................60
3.2.2. Giải vấn đề...................................................................................................61
3.2.3. Giải vấn đề một cách tự nhiên .....................................................................63
3.3. Suy luận tiến ......................................................................................................63
3.4. Suy luận lùi ........................................................................................................67
3.5. Hướng dẫn xây dựng hệ chuyên gia với các tri thức về máy tính................69
CHƯƠNG 4. LÝ THUYẾT CHẮC CHẮN ..............................................................72
4.1. Tổng quan về lý thuyết chắc chắn ...................................................................72
4.1.1. Lập luận không chính xác trong MYCIN .....................................................72
4.1.2. Thể hiện dấu hiệu không chắc chắn ............................................................73
4.1.3. Thể hiện các luật không chắc chắn .............................................................73

4
4.1.4. Suy luận không chắc chắn ...........................................................................73
4.1.5. Tổ hợp dấu hiệu từ nhiều nguồn ..................................................................74
4.1.6. Độ tin cậy thực.............................................................................................74
4.1.7. Cơ sở của lí thuyết chắc chắn......................................................................75
4.2. Nhân tố chắc chắn dưới khía cạnh sác xuất ...................................................77
4.2.1. Dấu hiệu không chắc chắn ..........................................................................77
4.2.2. Lan truyền chắc chắn đối với các luật có giả thiết đơn ..............................78
4.2.3. Lan truyền chắc chắn đối với các luật có nhiều giả thiết ...........................79
4.2.4. Lan truyền chắc chắn đối với các luật có cùng kết luận .............................79
4.2.5. Lan truyền chắc chắn đối với các luật phức hợp ........................................82
4.3. Ví dụ tổng hợp...................................................................................................82
CHƯƠNG 5. LẬP LUẬN BẰNG LOGIC MỜ........................................................84
5.1. Tổng quan về logic mờ .....................................................................................84
5.1.1. Các biến ngôn ngữ .......................................................................................85
5.1.2. Tập mờ .........................................................................................................86
5.2. Thiết lập và thể hiện các tập mờ .....................................................................87
5.2.1. Thiết lập tập mờ ...........................................................................................87
5.2.2. Thể hiện mờ .................................................................................................88
5.3. Gia tử .................................................................................................................89
5.3.1. Tập trung(rất) ..............................................................................................89
5.3.2. Co giãn (một chút) .......................................................................................89
5.3.3. Nhấn mạnh (thực sự là) ...............................................................................90
5.3.4. Mạnh mẽ (rất rất) ........................................................................................90
5.4. Các phép toán trên tập mờ ..............................................................................90
5.4.1. Phép giao .....................................................................................................90
5.4.2. Phép hợp ......................................................................................................91
5.4.3. Phép bù (phủ định) ......................................................................................91
5.4.4. Các tập mờ dẫn xuất khác ...........................................................................91

5
5.5. Suy diễn mờ .......................................................................................................92
5.5.1. Nhân ma trận vectơ mờ ...............................................................................93
5.5.2. Các ý tưởng cơ bản của suy diễn mờ...........................................................93
5.5.3. Suy diễn max-min.........................................................................................94
5.5.4. Suy diễn tích cực đại....................................................................................96
5.6. Các luật nhiều giả thiết ....................................................................................97
5.6.1. Việc làm rõ, giải mờ ....................................................................................98
5.6.2. Nhóm các luật mờ ........................................................................................98
CHƯƠNG 6. MẠNG TÍNH TOÁN .........................................................................101
6.1. Giới thiệu mạng tính toán ..............................................................................101
6.1.1. Các quan hệ ...............................................................................................101
6.1.2. Mạng tính toán và các ký hiệu ...................................................................103
6.2. Vấn đề trên mạng tính toán ...........................................................................104
6.3. Giải vấn đề .......................................................................................................106
6.3.1. Tính giải được của bài toán.......................................................................106
6.3.2. Thuật toán tính bao đóng...........................................................................108
6.3.3. Thuật toán tìm lời giải ...............................................................................109
6.3.4. Thuật toán tìm lời giải tốt ..........................................................................111
6.3.5. Ví dụ...........................................................................................................113
6.3.6. Lời giải tối ưu của bài toán .......................................................................115
6.3.7. Kiểm định giả thiết cho bài toán ...............................................................115
6.4. Ứng dụng trong các phản ứng hoá học .........................................................119
CHƯƠNG 7. HỆ HỌC ..............................................................................................124
7.1. Học ...................................................................................................................124
7.1.1. Mở đầu .......................................................................................................124
7.1.2. Các hình thức học ......................................................................................125
7.2. Cây định danh .................................................................................................126
7.2.1. Thí dụ về thế giới thực thu gọn ..................................................................126

6
7.2.2. Phân loại đối tượng theo các thuộc tính ...................................................128
7.2.3. Độ lộn xộn của tập hợp .............................................................................129
7.2.4. Chuyển cây sang luật .................................................................................131
7.3. Thuật giải học quy nạp ILA ..........................................................................135
7.3.1. Xác định dữ liệu.........................................................................................135
7.3.2. Thuật giải ILA ............................................................................................136
7.3.3. Mô tả thuật giải ILA ..................................................................................136
7.3.4. Đánh giá thuật giải ....................................................................................138

7
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ CHUYÊN GIA

1.1. Giới thiệu chung

Nhiều ngành cần có các máy móc trợ giúp cả công việc thường ngày và sản xuất
lâu dài và người ta thấy máy móc đóng góp nhiều trong việc tăng năng suất. Lịch sử
phát triển của xã hội loại người cho thấy hiệu quả sử dụng của việc sử dụng máy móc
công cụ
Khi con người càng có trí tuệ thì họ cũng đòi hỏi các thiết bị tự động hơn và có
khả năng xử lý tình huống và thu nhận kiến thức như người. Nhiều tổ chức đã sử dụng
thiết bị và phần mềm trong việc ra quyết định hoặc trong việc tổ chức huy động tri thức
chuyên gia. Ngoài ra việc nghiên cứu về các máy cũng giúp con người hiểu rõ về cách
lập luận của mình
Tuy rằng có nhiều quan điểm về vai trò giữa con người và máy nhưng người ta
không phủ nhận vai trò trợ giúp của máy đặc biệt là các máy thông minh. Theo thời gian
càng ngày nhu cầu về máy thông minh càng cấp thiết.
Khoảng đầu năm 1800 người ta trình diễn máy chơi cờ làm kích thích con người
nghiên cứu về máy thông minh.
Năm 1934 C. Babbage thiết kế máy tính đầu tiên. Ông đề nghị phát triển máy để
chơi cờ và để thi đua lành mạnh với con người.
Năm 1950 mong ước về máy thông minh còn là giấc mơ mặc dù công nghệ cho
phép máy tính phát triển.
Các máy tính đầu tiên có khả năng xử lý dữ liệu tuy nhiên việc lập luận vẫn là
của con người.
Khi quan niệm về máy tính khá lên người ta đưa các tri thức vào các bài toán giải
trên máy tính. Các sự kiện, các luật và các cấu trúc được mã hoá thành các kí hiệu. Các
ngôn ngữ lập trình như LISP, PROLOG cho phép mã hoá và truy nhập các thông tin
dạng kí hiệu.
Người ta bắt đầu nhằm vào việc phát triển chương trình diễn tả hành vi thông
minh khi được trang bị phương tiện thể hiện tri thức, các phương pháp tìm kiếm và các
ngôn ngữ xử lý kí hiệu.
1.1.1. Hệ chuyên gia?

Theo E. Feigenbaum: “Hệ chuyên gia (Expert System) là một chương trình máy
tính thông minh sử dụng tri thức (knowledge) và các thủ tục suy luận (inference

8
procedures) để giải những bài toán tương đối khó khăn đòi hỏi những chuyên gia
mới giải được”.
Hệ chuyên gia là một hệ thống tin học có thể mô phỏng (emulates) năng lực
quyết đoán (decision) và hành động (making abilily) của một chuyên gia (con
người). Hệ chuyên gia là một trong những lĩnh vực ứng dụng của trí tuệ nhân tạo
(Artificial Intelligence) như hình dưới đây.

Artificial Intelligence

Robotic

Speech Vision

Artificial Natural
Neural Systems Language

Expert System Understanding

Hình 1.1. Một số lĩnh vực ứng dụng của trí tuệ nhân tạo
Hệ chuyên gia sử dụng các tri thức của những chuyên gia để giải quyết các
vấn đề (bài toán) khác nhau thuộc mọi lĩnh vực.
Tri thức (knowledge) trong hệ chuyên gia phản ánh sự tinh thông được tích
tụ từ sách vở, tạp chí, từ các chuyên gia hay các nhà bác học. Các thuật ngữ hệ
chuyên gia, hệ thống dựa trên tri thức (knowledge-based system) hay hệ chuyên gia
dựa trên tri thức (knowledge-based expert system) thường có cùng nghĩa.
Một hệ chuyên gia gồm ba thành phần chính là cơ sở tri thức (knowledge
base), máy suy diễn hay môtơ suy diễn (inference engine), và hệ thống giao tiếp với
người sử dụng (user interface). Cơ sở tri thức chứa các tri thức để từ đó, máy suy
diễn tạo ra câu trả lời cho người sử dụng qua hệ thống giao tiếp.
Người sử dụng (user) cung cấp sự kiện (facts) là những gì đã biết, đã có thật
hay những thông tin có ích cho hệ chuyên gia, và nhận được những câu trả lời là
những lời khuyên hay những gợi ý đúng đắn (expertise).
Hoạt động của một hệ chuyên gia dựa trên tri thức được minh họa như sau :

9
Hệ Cơ sở tri thức
thống (Knowledge Base)
giao tiếp
Người sử dụng (User
(User) interface)
Máy suy diễn
(Inference Engine)

Hình 1.2. Hoạt động của hệ chuyên gia


Mỗi hệ chuyên gia chỉ đặc trưng cho một lĩnh vực vấn đề (problem domain) nào
đó, như y học, tài chính, khoa học hay công nghệ, v.v..., mà không phải cho bất cứ một
lĩnh vực vấn đề nào.
Tri thức chuyên gia để giải quyết một vấn đề đặc trưng được gọi là lĩnh vực tri
thức (knowledge domain).

Lĩnh vực vấn đề


(Problem Domain)

Lĩnh vực tri thức


(Knowledge Domain)

Hình 1.3. Quan hệ giữa lĩnh vực vấn đề và lĩnh vực tri thức

Ví dụ : hệ chuyên gia về lĩnh vực y học để phát hiện các căn bệnh lây nhiễm
sẽ có nhiều tri thức về một số triệu chứng lây bệnh, lĩnh vực tri thức y học bao
gồm các căn bệnh, triệu chứng và chữa trị.
Chú ý rằng lĩnh vực tri thức hoàn toàn nằm trong lĩnh vực vấn đề. Phần
bên ngoài lĩnh vực tri thức nói lên rằng không phải là tri thức cho tất cả mọi vấn
đề.
Tùy theo yêu cầu người sử dụng mà có nhiều cách nhìn nhận khác nhau về
một hệ chuyên
gia.

Loại người sử dụng Vấn đề đặt ra


Người quản trị Tôi có thể dùng nó để làm gì ?
10
Loại người sử dụng Vấn đề đặt ra
Kỹ thuật viên Làm cách nào để tôi vận hành nó tốt nhất ?
Nhà nghiên cứu Làm sao để tôi có thể mở rộng nó ?
Người sử dụng cuối Nó sẽ giúp tôi cái gì đây ?
Nó có rắc rối và tốn kém
không ? Nó có đáng tin cậy
không ?
1.1.2. Sự phát triển của công nghệ hệ chuyên gia
Sau đây là một số sự kiện quan trọng trong lịch sử phát triển của công
nghệ hệ chuyên gia (expert system technology).
Năm Các sự kiện
1943 Dịch vụ bưu điện ; mô hình Neuron của (Mc Culloch and Pitts Model)
1954 Thuật toán Markov (Markov Algorith m) điều khiển thực thi các luật
1956 Hội thảo Dartmouth ; lý luận logic ; tìm kiếm nghiệm suy (heuristic search)
; thống
nhất thuật ngữ trí tuệ nhân tạo (AI: Artificial Intelligence)
Rosenblatt phát minh khả năng nhận thức ; Newell, Shaw và Simon đề
1957 xuất giải bài toán tổng quát (GPS: General Problem Solver)
1958 Mc Carthy đề xuất ngôn ngữ trí tuệ nhân tạo LISA (LISA AI language)
Nguyên lý Rosenblatt’s về chức năng thần kinh trong nhận thức
1962 (Rosenblatt’s
Principles of Neurodynamicdynamics on Perceptions)
Phương pháp hợp giải Robinson. Ưng dụng logic mờ (fuzzy logic) trong
1965 suy luận về các đối tượng mờ (fuzzy object) của Zadeh. Xây dựng hệ
chuyên gia đầu tiên về nha
khoa DENDRAL (Feigenbaum , Buchanan , et.al)
Mạng ngữ nghĩa (semantic nets), mô hình bộ nhớ kết hợp (associative
1968 memory model) của Quillian
1969 Hệ chuyên gia về Toán học MACSYMA (Martin and Moses)
1970 Ưng dụng ngôn ngữ PROLOG (Colmerauer, Roussell, et, al.)
Hệ chuyên gia HEARSAY I về nhận dạng tiếng nói (speech recognition).
1971 Xây dựng các luật giải bài toán con người (Human Problem Solving
popularizes rules
(Newell and Simon)
1973 Hệ chuyên gia MYCIN về chẩn trị y học (Shortliffe, et,al.)
1975 Lý thuyết khung (frames), biểu diễn tri thức (knowledge representation)
(Minsky)
Toán nhân tạo (AM: Artificial Mathematician) (Lenat). Lý thuyết
Dempster Shafer về tính hiển nhiên của lập luận không chắc chắn
1976 (Dempster Shafer theory of Evidence for reason under uncertainty) . Ứng
dụng hệ chuyên gia PROSPECTOR
trong khai thác hầm mỏ (Duda, Har)
Sử dụng ngôn ngữ chuyên gia OPS (OPS expert system shell) trong hệ
1977 chuyên gia
XCON/R1 (Forgy)
Hệ chuyên gia XCON/R1 (McDermott, DEC) đ ể bảo trì hệ thống máy tính
1978 DEC
(DEC computer systems)
Thuật toán mạng về so khớp nhanh (rete algorithm for fast pattern
1979 matching) của
Forgy ; thương mại hoá các ứng dụng về t rí tuệ nhân tạo
1980 KýLMI.
hiệu học (symbolics), xây dựng các máy LISP (LISP machines) từ

11
Năm Các sự kiện
Hệ chuyên gia về Toán học (SMP math expert system) ; mạng nơ-ron
Hopfield (Hopfield Neural Net) ;
1982 Dự án xây dựng máy tính thông minh thế hệ 5 ở Nhật bản
(Japanese Fifth Generation Project to develop intelligent computers)
Bộ công cụ phục vụ hệ chuyên gia KEE
1983 (KEE expert system tool) (intelli Corp)
Bộ công cụ phục vụ hệ chuyên gia CLIPS (CLIPS expert system tool
1985 (NASA)

1.1.3. Các lĩnh vực ứng dụng của hệ chuyên gia


Cho đến nay, hàng trăm hệ chuyên gia đã được xây dựng và đã được báo
cáo thường xuyên trong các tạp chí, sách, báo và hội thảo khoa học. Ngoài ra
còn các hệ chuyên gia được sử dụng trong các công ty, các tổ chức quân sự mà
không được công bố vì lý do bảo mật. Bảng dưới đây liệt kê một số lĩnh vực ứng
dụng diện rộng của các hệ chuyên gia.
Lĩnh vực Ứng dụng diện rộng
Cấu hình Tập hợp thích đáng những thành phần của một hệ thống theo
(Configuration) cách riêng
Chẩn đoán (Diagnosis) Lập luận dựa trên những chứng cứ quan sát được
Truyền đạt Dạy học kiểu thông minh sao cho sinh viên có thể hỏi
(Instruction) vì sao (why?), như thế nào (how?) và cái gì nếu (what if?) giống
như hỏi một người thầy giáo
Giải thích (Interpretation) Giải thích những dữ liệu thu nhận được
So sánh dữ liệu thu lượm được với dữ liệu chuyên môn để đánh
Kiểm tra (Monitoring)
giá hiệu quả
Lập kế hoạch
Lập kế hoạch sản xuất theo yêu cầu
(Planning)
Dự đoán (Prognosis) Dự đoán hậu quả từ một tình huống xảy ra
Chữa trị (Remedy) Chỉ định cách thụ lý một vấn đề
Điều khiển một quá trình, đòi hỏi diễn giải, chẩn đoán, kiểm tra,
Điều khiển (Control)
lập kế hoạch, dự đoán và chữa trị

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


Một hệ chuyên gia kiểu mẫu gồm bảy thành phần cơ bản như sau:

12
Hình 1.4. Những thành phần cơ bản của một hệ chuyên gia

• Cơ sở tri thức (knowledge base). Gồm các phần tử (hay đơn vị) tri thức, thông thường
được gọi là luật (rule), được tổ chức như một cơ sở dữ liệu.

Tin học thực hiện việc thu thập tri thức và mã hoá chúng theo một vài kĩ thuật.
Một cách thể hiện tri thức điển hình là dùng các luật. Một luật là cấu trúc IF …THEN
cho phép thể hiện liên hệ logic giữa thông tin trong phần IF và thông tin khác trong phần
THEN

VD: IF trời mưa THEN dùng áo mưa hay dùng ô

• Máy duy diễn (inference engine). Công cụ (chương trình, hay bộ xử lý) tạo ra sự suy
luận bằng cách quyết định xem những luật nào sẽ làm thỏa mãn các sự kiện, các đối
tượng, chọn ưu tiên các luật thỏa mãn, thực hiện các luật có tính ưu tiên cao nhất.

Mô tơ suy luận làm việc trên các sự kiện trong bộ nhớ làm việc và tri thức lĩnh
vực trong CSTT để rút ra thông tin mới. Vậy nó cần tìm ra các luật để khớp phần giả
thiết của luật với thông tin có trong bộ nhớ. Khi phát hiện thấy khớp, kết luận của luật
này là thông tin mới

Ví dụ: trong CSTT có luật IF béo THEN tốt bụng.


* Có thể làm các việc sau

Hệ thống hỏi: ông Mỗ thế nào

Người dùng trả lời: béo

13
“Mỗ béo” được bổ sung vào bộ nhớ làm việc

Hệ chuyên gia suy luận: “tốt bụng”

“Mỗ tốt bụng” được bổ sung vào bộ nhớ làm việc

• Lịch công việc (agenda). Danh sách các luật ưu tiên do máy suy diễn tạo ra thoả mãn
các sự kiện, các đối tượng có mặt trong bộ nhớ làm việc.

• Bộ nhớ làm việc (working memory). Cơ sở dữ liệu toàn cục chứa các sự kiện phục vụ
cho các luật.
Khi trao đổi với hệ chuyên gia, người dùng nhập thông tin về vấn đề hiện tại vào
bộ nhớ làm việc. Hệ thống khớp thông tin này với tri thức trong CSTT để suy luận ra sự
kiện mới. Hệ thống lại nhập sự kiện mới này vào bộ nhớ làm việc và tiếp tục qua strình.
Vậy bộ nhớ làm việc sẽ có các thông tin do người dùng đưa vào và các thông tin do máy
suy luận ra. Các thông tin này thường được gọi là ngữ cảnh của phiên làm việc

Nhiều ứng dụng hệ chuyên gia có thể lấy các thông tin từ bộ nhớ ngoài như cơ
sở dữ liệu, bảng tính…Chúng được tải vào bộ nhớ làm việc trước phiên làm việc. Quá
trình suy luận có thể chỉ dùng các thông tin này hoặc dùng các thông tin này như thông
tin bổ sung.

• Khả năng giải thích (explanation facility). Giải nghĩa cách lập luận của hệ thống cho
người sử dụng.

Nói đến hệ chuyên gia người ta thường đề cập đến khả năng không thể tách rời
là khả năng giải thích các suy luận của nó. Trong mô hình giải vấn đề của hệ chuyên gia
người ta có thể bổ sung một khối gọi là phương tiện giải thích. Dùng phương tiện giải
thích này hệ chuyên gia giải thích cho người dùng tại sao nó yêu cầu một câu hỏi và
cách đi đến kết luận

Phương tiện giải thích tạo thuận lợi cho cả người phát triển hệ thống lẫn người
dùng. Người phát triển có thể dùng nó để phát hiện chỗ sai trong tri thức của hệ thống
trong khi người dùng sẽ thuận lợi và dễ dàng thấu hiểu lập luận của hệ thống

*Giải thích về cách suy luận


Giải bài toán trong hệ chuyên gia không giống như trong chương trình bình
thường. Chúng khác nhau ở chỗ hệ thống chuyên gia làm việc trên vấn đề không có cấu
trúc giống nhau trong khi các bài toán trong chương trình cổ điển đã có các bước giải
tức bài toán có cấu trúc hoàn toàn xác định. Việc giải thích thế nào của hệ chuyên gia sẽ

14
khiến người dùng tin tưởng thêm vào khuyến cáo của hệ thống và cũng là cách để nâng
cao độ tin cậy của kết luận
Ví dụ: vấn đề “ốm thì mặc ấm” và “chị Mơ có nhiệt độ cao”

Có thể đưa ra giải thích sau

Chuyên gia: chị Mơ ốm

Người dùng: Cách nào mà biết

Chuyên gia: Vì chị ta mặc ấm. Tôi nghĩ rằng có chuyện với nhiệt độ cơ thể.
Đo nhiệt độ thấy 38 độ. Chắc chị Mơ ốm

Hệ chuyên gia trả lời câu thế nào theo cách đi lùi theo luật đã giúp đưa ra kết
luận. Đường đi ngược này là mạch suy luận của hệ thống

*Giải thích tại sao


Một hệ chuyên gia có thể giải thích tại sao nó đặt ra một câu hỏi. Khi tham vấn
chuyên gia, sự tương tác có nghĩa quan trọng ở chỗ nó giúp hệ chuyên gia cởi mở, thân
thiện, có tác dụng gợi mở tri thức chuyên gia. Người ta cũng có thể hỏi chuyên gia tại
sao về các xét đoán suy luận khi thấy tiện. Câu trả lời có tác dụng làm người dùng thoải
mái thêm và có thể biết được điều mà chuyên gia đang cho là quan trọng

Ví dụ:

Chuyên gia: chị Mơ hôm nay mặc ấm chứ

Người dùng: tại sao

Chuyên gia: vì ốm thì mặc ấm

Để trả lời câu hỏi tại sao, hệ chuyên gia mô tả cách đưa ra kết luận. Đa số hệ
chuyên gia liệt kê danh sách các luật đã dùng trong việc rút ra kết luận

• Khả năng thu nhận tri thức (explanation facility). Cho phép người sử dụng bổ sung
các tri thức vào hệ thống một cách tự động thay vì tiếp nhận tri thức bằng cách mã hoá
tri thức một cách tường minh. Khả năng thu nhận tri thức là yếu tố mặc nhiên của nhiều
hệ chuyên gia.

• Giao diện người sử dụng (user interface). Là nơi người sử dụng và hệ chuyên gia trao
đổi với nhau.

Tương tác giữa hệ chuyên gia và người dùng thường được thiết kế theo kiểu như
ngôn ngữ tự nhiên. Yêu cầu đặt ra đối với người thiết kế là đảm bảo tương tác này giống
như tương tác giữa những con người. Yêu cầu cơ bản của thiết kế là trả lời được các câu
15
hỏi. Để đạt được độ tin cậy cao về các ý kiến chuyên gia, cũng như đạt được tin tưởng
cao từ phía người dùng, việc thiết kế câu hỏi cũng cần được chú ý. Các loại giao diện
như hướng đồ hoạ, thực đơn, biểu tượng hay tự xác định là các loại dùng được.
Một lưu ý khác là nên trang bị các khả năng cho phép người dùng thay đổi thông
tin hay thay đổi các phát biểu về bài toán. Việc này giúp người dùng chỉnh lý kết luận
thu được dựa trên các thông tin cũ.

Cơ sở tri thức còn được gọi là bộ nhớ sản xuất (production memeory) trong hệ
chuyên gia. Trong một cơ sở tri thức, người ta thường phân biệt hai loại tri thức là tri
thức phán đoán (assertion knowledge) và tri thức thực hành (operating knowledge).

Các tri thức phán đoán mô tả các tình huống đã được thiết lập hoặc sẽ được thiết
lập. Các tri thức thực hành thể hiện những hậu quả rút ra hay những thao tác cần phải
hoàn thiện khi một tình huống đã được thiết lập hoặc sẽ được thiết lập trong lĩnh vực
đang xét. Các tri thức thực hành thường được thể hiện bởi các biểu thức dễ hiểu và dễ
triển khai thao tác đối với người sử dụng.

Hình 1.5. Quan hệ giữa máy suy diễn và cơ sở tri thức


Từ việc phân biệt hai loại tri thức, người ta nói máy suy diễn là công cụ triển khai
các cơ chế (hay kỹ thuật) tổng quát để tổ hợp các tri thức phán đoán và các tri thức thực
hành. Hình trên đây mô tả quan hệ hữu cơ giữa máy suy diễn và cơ sở tri thức.
1.3. Các đặc tính của hệ chuyên gia

1.3.1. Tách tri thức khỏi điều khiển

CSTT và mô tơ suy luận là các khối tách rời. Một khối tri thức chuyên gia
về lĩnh vực và khối kia là cơ chế giải vấn đề độc lập với khối CSTT. Việc tách tri
thức của hệ thống với điều khiển là khía cạnh có giá trị trong hệ chuyên gia đó
cũng là điểm khác biệt của hệ chuyên gia với chương trình bình thường.

16
Các chương trình máy tính bình thường nhập các tri thức của chương trình
cùng với thao tác điều khiển trên tri thức đó. Điều này không đảm bảo tính độc
lập giữa việc mã hoá các tri thức và việc xử lý các tri thức đó. Do vậy mà khó xem
xét các tri thức ở dạng mã hoá và khó hiểu được đang dùng tri thức nào và cách
dùng ra sao.
Do hệ chuyên gia đã tách 2 khối tri thức và xử lý, các nhiệm vụ bảo trì và
thay đổi dễ thực hiện. Người ta dễ dàng thay đổi một phần tri thức cũng như thêm
bất kì tri thức nào tại bất cứ đâu trong CSTT. Nếu cần thay đổi điều khiển, người
ta thay đổi thuật toán trong mô tơ suy luận.
1.3.2. Tri thức chuyên gia

Điểm quan trọng trong hệ chuyên gia là thu thập được tri thức của các
chuyên gia. Tri thức này bao gồm tri thức về lĩnh vực và kĩ năng giải vấn đề. Các
tri thức thu được từ nhiều chuyên gia, không nhất thiết là các ý tưởng sáng chói
hay độc dáo mà là đặc biệt, sâu về lĩnh vực.
Thuật ngữ “chuyên gia” mô tả người có kĩ năng về giải đúng vấn đề và giải
vấn đề một cách hiệu quả. Họ có thể thể hiện khả năng lập luận và khả năng này
là quá khó đối với những người trong cùng lĩnh vực. Các chuyên gia là người sở
hữu các tri thức chuyên gia lĩnh vực.
1.3.3. Tập trung nguồn chuyên gia

Hầu hết các chuyên gia có kĩ năng giải vấn đề trong lĩnh vực liên quan đến
nguồn tri thức chuyên gia. Tuy nhiên ngoài lĩnh vực này các chuyên gia có thể
không có khả năng giải vấn đề. Ví dụ: không thể dùng hệ chuyên gia ngành y để
trợ giúp sửa xe đạp.
Một khó khăn chung đối với các nhà thiết kế hay phát triển hệ thống là thu
thập các tri thức chuyên gia để giải các vấn đề khó, phức tạp. Một trong những
phương pháp đề xuất là trực tiếp làm việc với tri thức chuyên sâu về vấn đề và
làm việc với bài toán được xác định tốt.
Ví dụ: Giả sử muốn phát triển một hệ chuyên gia để chẩn đoán tất cả các trục trặc
của ô tô. Đây không chỉ là vấn đề phức tạp mà còn không thể quản lí được do
phạm vi rộng của bài toán.
Người ta có thể đơn giản hoá bài toán bằng cách chia bài toán thành các bài
toán con như hệ thống điện, máy móc cơ khí, xăng dầu…Tuy nhiên đó mới chỉ
17
giải quyết được khó khăn bước đầu. Khi động đến các bài toán con người ta vẫn
gặp các khó khăn do phạm vi lĩnh vực rộng
1.3.4. Lập luận trên các kí hiệu

Các hệ chuyên gia thể hiện tri thức ở dạng kí hiệu. Người ta có thể dùng
các kí hiệu để thể hiện các loại tri thức đa dạng như các sự kiện, khái niệm hay
luật. Chẳng hạn “Mơ bị ốm” có thể được thể hiện qua ốm(Mơ)
Ngoài thể hiện các câu ngôn ngữ tự nhiên ở dạng kí hiệu, các hệ chuyên gia
còn xử lý các kí hiệu này khi giải vấn đề. Chẳng hạn “người ốm cần uống thuốc”.
Phép toán vị từ dùng kí hiệu “” để chỉ phép kéo theo và dùng các biến để so
sánh khớp các câu thuận lợi hơn
Ví dụ:
Tiên đề “Mơ bị ốm” được thể hiện qua ốm(Mơ)
Luật IF ốm THEN uống thuốc được thể hiện qua ốm(X) uống(X, thuốc)
Kết luận thu được do xử lý luật và thông tin tiên đề: uống(Mơ, thuốc)
Qua Ví dụ trên, được ta thấy hệ chuyên gia giải bài toán bằng cách xử lý
các kí hiệu thay vì thực hiện việc xử lý số. Đối với những nhiệm vụ có các thông
tin ở dạng dữ liệu thì nên dùng các chương trình bình thường. Nhìn chung có thể
coi chương trình như các xử lý dữ liệu và các hệ chuyên gia như các xử lý tri thức
1.3.5. Lập luận may rủi

Các chuyên gia tinh tường trong việc dùng kinh nghiệm để giải đúng và
hiệu quả bài toán đang xét. Qua kinh nghiệm đã dùng, họ hiểu về vấn đề một cách
thực tế và giữ dưới dạng các may rủi. Các may rủi điển hình do chuyên gia dùng
khi giải vấn đề trong một số ví dụ là:
Với vấn đề hỏng xe ô tô, kiểm tra điện trước tiên
Trong mùa hè, người ta hiếm khi mặc áo bông
Nếu gặp bệnh có tính di truyền nên kiểm tra lịch sử bệnh nhân
Thực tế cho thấy một số kĩ thuật may rủi đã thành công trong việc giải vấn
đề. Theo Baraiko năm 1982 thì Minski đã chú ý đến tìm kiếm may rủi như là “nếu
được ta không thể khuyên máy tính cách thực hiện tốt nhất thì hãy lập trình để
may ra tìm thấy một cách nào đó”.

18
May rủi được dùng trong hệ chuyên gia để giúp người ta đi nhanh đến giải
pháp. Trong hệ chuyên gia, chiến lược lập luận này không giống như các thủ tục
chính xác của chương trình bình thường. Chương trình xử lý dữ liệu theo thuật
toán nhưng hệ chuyên gia thường dùng các kĩ thuật lập luận may rủi. Thuật toán
thể hiện một loạt các nhiệm vụ xác định rõ cần thực hiện.
1.3.6. Lập luận không chính xác

Hệ chuyên gia được coi là thành công trong ứng dụng cần đến lập luận
không chính xác. Những loại ứng dụng này đặc trưng bằng thông tin không chắc
chắn, nhập nhằng hay không sẵn sàng, đặc trưng bằng tri thức lĩnh vực do việc
suy luận một cách không chính xác. Thực tế thường xảy ra như vậy, chẳng hạn
bác sĩ khám bệnh nhân vào cấp cứu trong hoàn cảnh không hỏi được nhiều thông
tin.
Ví dụ: các thông tin không chính xác như “có thể Mỗ mua xe đó”, ”máy
chạy nóng”,… và tri thức không chính xácnhư “nếu có vẻ nắng thì Mỗ khoẻ”, “xe
của Mỗ thường là tốt”.
1.3.7. Khả năng giải vấn đề

Hệ chuyên gia được xây dựng trên cơ sở tri thức chuyên gia. Vậy không
nên cho rằng hệ chuyên gia giải được bất kì bài toán nào. Hệ chuyên gia chỉ dùng
tốt đối với các loại bài toán mà chuyên gia giải được.
Nếu không có chuyên gia giải vấn đề thì người ta khó hy vọng có được hệ
chuyên gia thay thế. Nếu vấn đề là quá mới và thay đổi nhanh thì không thiết kế
được hệ chuyên gia.
1.3.8. Độ phức tạp vừa phải của vấn đề

Đánh giá về loại vấn đề giải bằng hệ chuyên gia, người ta nhận thấy các
vấn đề cần phức tạp vừa phải. Nói chung nếu nhiệm vụ dễ thì khó đánh giá công
sức của hệ chuyên gia nhưng có các nhiệm vụ đơn giản cần thực hiện nhiều lần,
chẳng hạn như thực hiện nhiều lần cùng một việc ra quyết định.
Vấn đề cũng không phức tạp đến mức gây ra tình trạng không quản lý nổi
ở tầm hệ chuyên gia, chẳng hạn cần đến hàng giờ mới giải xong bài toán. Một hệ
chuyên gia chấp nhận các vấn đề phức tạp ở mức giải được trong vòng 15 đến 20
phút.

19
1.3.9. Chấp nhận sai lầm

Người ta coi hệ chuyên gia giải vấn đề như chuyên gia, chấp nhận hệ thống có
thể mắc sai lầm. Về điều này thì chương trình bình thường ưu việt hơn, với nghĩa chỉ
chấp nhận giải pháp đúng. Tuy nhiên so sánh tổng thể, người ta thấy trong một số bài
toán cụ thể việc hệ chuyên gia có lời giải sai lầm mạng tính người hơn, do cần xử lý các
thông tin không chính xác thậm chí mâu thuẫn nhau
Các chương trình bình thường áp dụng cho các bài toán mà thông tin chính xác
và đầy đủ. Chẳng hạn đó là các hệ quản trị cơ sở dữ liệu, các chương trình kế toán. Tuy
nhiên với bài toán mà dữ liệu thiếu và sai, chương trình không thể cho ra kết quả. Ngược
lại bài toán trong hệ chuyên gia ít cấu trúc: các thông tin thiếu đến mức không thể cho
kết luận chính xác. Tuy vậy nó vẫn cho các kết luận có lý thậm chí tốt
Đối tượng xử lý chương trình bình thường Các hệ chuyên gia
Xử lý Số Kí hiệu
Sử dụng Thuật toán May rủi
Tổ chức thông tin Thông tin và điều khiển được Tri thức tách rời điều khiển
tích hợp
Khả năng thay đổi Khó thay đổi Dễ thay đổi
Tính chắc chắn Thông tin chính xác Thông tin không chính xác
Giao diện Giao diện câu lệnh Hội thoại tự nhiên có giải thích
Loại kết quả Kết quả cuối cùng Khuyến cáo kèm theo giải thích
Tính tối ưu Nghiệm tối ưu Giải pháp chấp nhận được
1.4. Công nghệ tri thức
Chương trình bình thường quan tâm đến dữ liệu của bài toán để tìm cách xử lý
và đi đến kết quả. Còn hệ chuyên gia thì quan tâm đến tri thức của vấn đề. Hệ chuyên
gia hỏi, tổ chức và nghiên cứu tri thức để hiểu vấn đề. Nó cũng xây dựng và thử hệ thống
để hiểu thêm về các tri thức. Giải pháp cuối cùng là thể hiện tự nhiên và thể hiện phù
hợp các hiểu biết đó. Những nhà thiết kế hệ chuyên gia dùng thuật ngữ xử lý và xây
dựng hệ thống là công nghệ tri thức.
* Định nghĩa công nghệ tri thức

Công nghệ thông tin bao gồm tất cả các hoạt động đi kèm theo vòng đời của một
hệ thống dựa trên tri thức. Trong khuôn khổ của các hệ chuyên gia thì công nghệ tri thức
là quá trình xây dựng hệ thống tri thức như một hệ chuyên gia.

Công nghệ tri thức mở rộng các dữ liệu bằng kĩ thuật suy luận và mở rộng công
nghệ phần mềm trong các lĩnh vực ứng dụng. Không như việc xây dựng chương trình
bình thường, việc phát triển hệ chuyên gia cần độ tương tác người máy cao. Người thiết
kế xây dựng từng bước hệ thống, thử nó, thay đổi tri thức hệ thống. Quá trình này được
20
lặp trong công việc chung. Khi đó việc hiểu của người thiết kế về hệ thống và tri thức
hệ thống tăng dần sau mỗi lần thử.

Hình 1.6. Các pha phát triển Hệ chuyên gia


1.5. Nhóm người tham gia xây dựng hệ chuyên gia
Các vai trò chính trong hệ chuyên gia gồm chuyên gia về lĩnh vực, kĩ sư tri thức
và người dùng. Mỗi người đều đóng vai trò quan trọng đối với sự phát triển của hệ thống
và có các phẩm chất sau:
Chuyên gia về lĩnh vực: là được có tri thức chuyên gia, có kĩ năng giải vấn đề, có
khả năng liên kết các tri thức, có thời gian và tính cách hợp tác.

Kĩ sư tri thức là người có kĩ năng công nghẹ, có khả năng liên lạc, có thhẻ chương
trình hoá bài toán và có năng lực lạp trình hệ chuyên gia.

Người dùng: là người có thể trợ giúp xác định đặc tả giao diện, có khả năng thu
thập tri thức, có thể giúp phát triển hệ thống.

1.5.1. Chuyên gia về lĩnh vực


*Định nghĩa chuyên gia về lĩnh vực
Người có kĩ năng và tri thức để giải vấn đề chuyên sâu một cách tốt hơn người
khác.

Các hệ chuyên gia lưu trữ trong CSTT các tri thức về lĩnh vực bài toán hạn chế.
Tri thức lĩnh vực này có được từ chuyên gia lĩnh vực do các kĩ thuật thu thập tri thức.
“lĩnh vực” nhằm vào ngữ cảnh của hệ chuyên gia. Người ta xây dựng hệ chuyên gia để
giải bài toán đặc biệt trong lĩnh vực đã biết.

- Tri thức chuyên gia

Khác nhau chính giữa chuyên gia và người khác là tri thức về lĩnh vực. Năm 1983
Davis cho rằng “giá trị tuyết đối của chuyên gia là tri thức mà họ có về một vấn đề nào

21
đó”. Vậy giá trị tuyệt đối của chuyên gia liên quan trực tiếp đến giá trị tri thức về vấn
đề.
Khi xây dựng hệ chuyên gia nhiều cá nhận trong tổ chức có trách nhiệm giải vấn
đề. Tuy nhiên sẽ có người thể hiện khả năng cao hơn người khác: đó là chuyên gia về
lĩnh vực.

- Các kĩ năng giải vấn đề

Ngoài tri thức chuyên gia, chuyên gia còn hơn người bình thường ở chỗ họ có
kinh nghiệm giải vấn đề. Đó là một nhân tố để đánh giá và phân biệt các chuyên gia.
Chuyên gia dùng phần quan trọng của thông tin và dùng chúng để đi đến kết luận. Vậy
chuyên gia không chỉ có tri thức chuyên gia mà còn có kĩ năng giải vấn đề một cách
hiệu quả.

- Các kĩ năng giao tiếp

Các chuyên gia lĩnh vực tích luỹ tri thức trong nhiều năm, sau nhiều lần giải các
bài toán tương tự. Qua kinh nghiệm họ diễn dịch tri thức và kĩ năng giải vấn đềra dạng
dễ dùng và hiệu quả. Thông thường họ dùng các tri thức này dưới dạng cảm giác không
thật rõ. Do vậy mà quyết định của họ có thể làm người khác không hiểu.

Một nhiệm vụ quan trọng của hệ chuyên gia là giải mã các tri thức này để dùng
trong hệ chuyên gia. Điều này không dễ, nhất là khi bản thân chuyên gia cũng gặp khó
khăn khi giải vấn đề.
Khi triển khai một đề án hệ chuyên gia, thường người ta chọn người khá nhất để
giải vấn đề. Tuy nhiên nếu cá nhân này có khó khăn về giao tiếp với tri thức thì người
ta có thể chọn người kém hơn nhưng có khả năng giải thích tri thức.

- Tính sẵn sàng

Do thời gian của chuyên gia là ít mà thông thường tổ chức quản lý thường yêu
cầu chuyên gia giải vấn đề ngay lập tức nên việc phát triển hệ chuyên gia cần giải quyết
mâu thuẫn về thời gian này.

Việc phát triển hệ chuyên gia là quá trình dài, cần xây dựng nhiều giao thức nhỏ,
thử nghiệm, làm lại hay thay đổi, bổ sung tri thức. Quá trình này lặp nhiều lần và đều
cần đến thời gian của chuyên gia. Do vậy mà nhìn chung hệ chuyên gia cần đến tính sẵn
sàng của chuyên gia.

- Tính hợp tác

22
Thái độ hợp tác của chuyên gia là yếu tố sống còn đối với thành công của đề án
hệ chuyên gia. Nếu các chuyên gia cảm thấy không hài lòng hay không muốn hợp tác
thì việc thu thập tri thức coi như không đạt kết quả. Do vậy điều quan trọng là người ta
phải có phương pháp thu thập được thông tin ngay cả đối với chuyên gia không có tính
hợp tác. Đây là việc cụ thể đối với người phát triển hệ chuyên gia và họ thường sử dụng
các kĩ thuật đã được giới thiệu trong trí tuệ nhân tạo.

1.5.2. Kĩ sư tri thức


Người thiết kế hệ chuyên gia giữ nhiều vai trò quan trọng trong đề án. Họ là nhà
tâm lí học, ngoại giao, nghiên cứu và cũng là người ứng dụng công nghệ thông tin.
Người thiết kế cần các yêu cầu như vậy bởi họ mang nhiều trách nhiệm: thu thập, xử lý
và mã hoá tri thức. họ được gọi là kĩ sư tri thức
* Định nghĩa kĩ sư tri thức

Người thiết kế xây dựng và thử nghiệm hệ chuyên gia.

Theo nghĩa nào đó thì kĩ sư tri thức cũng giống như người lập trình bình thường
vì họ đều phát triển trên các chương trình máy tính. Tuy nhiên với hệ chuyên gia họ có
thêm một số chức năng khác trong lĩnh vực công nghệ tri thức.

- Kĩ năng về công nghệ tri thức

Công nghệ tri thức là nghệ thuật xây dựng hệ thống dựa trên tri thức, ở đây là hệ
chuyên gia. Sở dĩ như vậy là vì công việc ngày này phức tạp và đôi khi chỉ thay đổi, gia
giảm một chút về tri thức hay kĩ thuật cũng có thể đưa tới thành công.

Trong hệ chuyên gia, các trách nhiệm chính của kĩ sư tri thức gồm:

Đánh giá vấn đề

Phỏng vấn chuyên gia

Định tên khái niệm


Định tên phương pháp giải vấn đề

Chọn phần mềm

Lập trình xây dựng hệ thống


Thử, rà soát hệ thống

Tích hợp hệ thống với môi trường làm việc

Bảo trì hệ thống

23
Kĩ sư tri thức trước hết cần khẳng định được ý muốn sử dụng hệ chuyên gia của
người dùng. Để thoả mãn người dùng, kĩ sư tri thức nghiên cứu đặc tính của vấn đề
nhằm xác định khả năng đạt được lời giải. Thực tế có một vài vấn đề là phù hợp với tiếp
cận theo kiểu hệ chuyên gia nhưng có vấn đề lại không phù hợp. Việc đánh giá mong
muốn sử dụng hệ chuyên gia thường không cứng nhắc như phân tích giá cả, lợi nhuận
trong chương trình bình thường.

Khi tiến hành thu thập tri thức, mục đích chính của kĩ sư tri thức là phát hiện
được tri thức của chuyên gia. Do vậy các kĩ sư tri thức cần có tố chất của người gợi mở,
khai thác trong đối thoại. Vừa thu thập tri thức, kĩ sư tri thức vừa lưu ý đến quá trình
giải để đặt ra các câu hỏi phù hợp và thông minh. Đó là thách thức không nhỏ đặt ra đối
với hệ chuyên gia.
Các tri thức chuyên gia sẽ được tổ chức dưới dạng mà hệ chuyên gia tham chiếu
thuận tiện. Cụ thể là các tri thức và các phương pháp giải được cấu trúc theo dạng mà
hệ chuyên gia sẽ dùng để giải vấn đề như chuyên gia giải. Kĩ sư tri thức cần chọn phần
mềm thích hợp để có thể thể hiện tốt nhất các tri thức chuyên gia và các chiến lược suy
luận.

- Các kĩ năng giao tiếp

Khối lượng kiến thức thu được nhiều hay không phụ thuộc vào khả năng giao
tiếp của kĩ sư tri thức với chuyên gia hay người dùng. Các chuyên gia có khuynh hướng
phát biểu tri thức của họ theo dạng cho phép giải vấn đề nhanh và hiệu quả. Các chuyên
gia có cách lập luận nhanh trên các thông tin phù hợp; đó là điều mà hệ chuyên gia cần
bắt chước xem như một tri thức giải vấn đề.

Một việc khó khăn trong giao tiếp là giải mã tri thức. Để dễ dàng hiểu được tri
thức chuyên gia đòi hỏi có sự huấn luyện đặc biệt trong lĩnh vực thu thập tri thức. Việc
thu thập tri thức yêu cầu cấu trúc hoá quá trình phỏng vấn theo cách tạo điều kiện tăng
cường trao đổi tri thức. Các kĩ năng giao tiếp có thể giúp chuyên gia phát biểu được các
tri thức ẩn giấu.

- Khả năng khớp bài toán với phần mềm

Có nhiều công cụ phát triển ngôn ngữ chương trình và hệ chuyên gia gọi là shell.
Mỗi công cụ như vậy dùng cho một lớp bài toán. Kĩ sư tri thức có trách nhiệm chọn
phần mềm thích hợp với ứng dụng.

Trong điều kiện có nhiều phần mềm như vậy kĩ sư tri thức cần khớp bào toán với
phần mềm. Hệ thống chuyên gia đã nhận biết được rằng các chuyên gia dùng các dạng
24
tri thức khác nhau, tổ chức lại theo các kiểu đa dạng, dùng các phương pháp giải vấn đề
khác nhau để giải bài toán. Theo phương châm họ hỏi các chuyên gia, các kĩ sư tri thức
phải liên kết các yêu cầu của bài toán với khả năng của phần mềm.
- Các kĩ năng chương trình hoá hệ chuyên gia

Kĩ sư tri thức có trách nhiệm mã hoá tri thức vào hệ thống trong phỏng vấn
chuyên gia. Điều này đòi hỏi họ phải biết lập trình hay sử dụng phần mềm một cách
uyển chuyển. Để trở thành người lập trình có kinh nghiệm trong hoàn cảnh này trước
hết họ cần biết cách thể hiện và xử lý tri thức.

1.5.3. Người sử dụng


Người dùng trong hệ chuyên gia là cá nhân thực sự làm việc với hệ thống chuyên
gia sau khi hệ thống được thiết kế xây dựng. Thành công của hệ chuyên gia còn được
đánh giá bằng khả năng đáp ứng yêu cầu của người dùng. Lịch sử phát triển hệ chuyên
gia cho thấy nhiều hệ thống thành công về kĩ thuật nhưng không được dùng hiệu quả
bởi vì chúng không quan tâm đến nhu cầu của người dùng.

- Xác định đặc tả giao diện

Để thực sự hỗ trợ người dùng, hệ chuyên gia cần đáp ứng các đặc tả do người
dùng xác định. Người dùng thường phải xác định các khía cạnh sau.

Truy nhập hệ thống. Người sử dụng có thể mô tả cách truy nhập hệ chuyên gia
của người dùng. Điển hình của yêu cầu này là truy nhập theo lô, theo thực đơn hay truy
nhập từ chương trình khác.

Nhập thông tin. Thông tin nhập vào hệ chuyên gia thường rất đa dạng. Hệ thống
thu thập các thông tin này thông qua câu hỏi yêu cầu người dùng trả lời đúng/sai hay
chọn phương án phù hợp trong một số hạn chế các giải pháp.

Giải thích hệ thống. Người dùng trong hệ chuyên gia được phép yêu cầu hệ thống
giải thích luồng lập luận. Yếu tố này quan trọng bởi lẽ trong một vài ứng dụng, người ta
cần kiểm chứng khuyến cáo do hệ thống đưa ra. Người dùng có thể hướng dẫn người
thiết kế để hệ thống trang bị các đặc tả cho các chức năng giải thích.

Tạo dạng kết quả cuối cùng. Hình thức của kết quả cũng như khía cạnh cần nhấn
mạnh của kết quả tác động đến người dùng theo ảnh hưởng khác nhau. Để phù hợp với
bản thân mình người dùng trong hệ chuyên gia có thể yêu cầu hệ chuyên gia thể hiện
kết quả theo một số dạng mong muốn.

25
Nhu cầu về tiện ích. Ngoài các chức năng đã có đôi khi người dùng cần thêm các
tiện ích phụ. Chẳng hạn họ cần truy nhập cơ sở dữ liệu, bảng tính. Các nhu cầu này
nhằm phục vụ tăng cường hoạt động tương tác giữa hệ chuyên gia và người dùng.
Thiết kế giao diện của hệ thống là công việc phức tạp, đôi khi dùng đến một nửa
đầu tư của đề án. Tuy nhiên công việc này tác động mạnh đến thành công chung của đề
án. Không có trợ giúp của người dùng thì hệ chuyên gia không có giá trị sử dụng và hệ
chuyên gia sẽ không trở thành hệ thống mạnh được.
- Trợ giúp thu thập tri thức

Người dùng cũng góp phần vào nhiệm vụ thu thập tri thức khi họ là người sử
dụng bình thường hay họ là một chuyên gia. Kĩ sư tri thức lúc đầu không có chút tri thức
nào nhưng sau trao đổi với người dùng hay chuyên gia sẽ có nhiều tri thức. Khi được
hỏi về bài toán các chuyên gia thường hay trả lời rất sâu về vấn đề; tuy lúc đàu người ta
chưa cần đến tri thức sâu. Người dùng bình thường không có khả năng trả lời sâu, nhưng
có thể phát biểu về các vấn đề chung. Do vậy mà hệ thống nên giới thiệu các ý rộng để
người dùng có thể cung cấp hiểu biết chung. Sau đó chuyên gia sẽ cung cấp các tri thức
sâu.

26
CHƯƠNG 2. THỂ HIỆN TRI THỨC

2.1. Các loại tri thức

2.1.1. Giới thiệu tri thức


Trước khi xử lý tri thức, các hệ chuyên gia dùng các kĩ thuật mã hoá tri thức. Các
kĩ thuật mã hoá tri thức này khác nhiều so với cách mã hoá dữ liệu trong các chương
trình, thuật toán xử lý dữ liệu thường gặp. Các hệ thống thông minh cần xử lý các tri
thức và các tri thức cần được biểu diễn ở dạng kí hiệu mà hệ thống xử lý được. Do tính
đa dạng của thực tế, của bài toán cần giải và vì chẳng có kĩ thuật nào là phù hợp cho tất
cả các ứng dụng, người ta cần chọn một kĩ thuật thích hợp đối với một lớp bài toán.

Câu tri thức là sức mạnh thường được nhấn mạnh trong hệ thống thông minh. Đã
từ lâu hiệu quả của hệ chuyên gia phụ thuộc trực tiếp đến chất lượng tri thức mà hệ
thống đã thu nhập và sẽ bổ sung thêm về bài toán cần phải giải.

Tuy không xác định một cách chính xác, người ta cần biết tri thức là gì? Nó là
thuật ngữ trừu tượng nhằm chỉ hiểu biết của một cá nhân về chủ đề đã cho. Trong hệ
chuyên gia tri thức được xem như cái liên quan chặt chẽ đến miền chủ đề của vấn đề cần
xét.

*Định nghĩa tri thức

Sự hiểu biết về một lĩnh vực của chủ đề

Ví dụ:

Trong các vấn đề về y học, khả năng chữa bệnh là tri thức. Khi xây dựng hệ
chuyên gia chẳng hạn như hệ chuyên gia về y học, không phải người ta muốn thu thập
tất cả các tri thức chuyên gia. Chỉ những tri thức chuyên gia được chọn và hơn thế người
ta chỉ chọn tri thức chuyên gia theo một vài chủ đề quan trọng của miền chủ đề. Chẳng
hạn người ta cần chọn ra các hiểu biết chỉ chuyên về bệnh nhiễm trùng máu. Khi ấy
người ta cần các kiến thức chuyên về lĩnh vực

*Định nghĩa lĩnh vực

Miền chủ đề được chú trọng.


Điểm then chốt để phát triển thành công hệ chuyên gia là tính tập trung của lĩnh
vực. Khi miền chủ đề gồm nhiều khía cạnh mà tri thức cần thiết chỉ nằm trong một vài
khía cạnh thì việc xét đồng thời nhiều tri thức của nhiều khía cạnh sẽ làm hệ thống mất
tập trung vào lĩnh vực chuyên sâu và điều này sẽ ảnh hưởng đến hiệu quả của toàn bộ
hệ thống.

27
Sau khi thu thập tri thức của các chuyên gia về lĩnh vực quan tâm, người ta mã
hoá các tri thức trong CSTT. Để thực hiện việc này người ta cần cấu trúc các tri thức
trong hệ thống một cách phù hợp để hệ thống giải vấn đề thuận tiện cũng như một chuyên
gia. Đó là một yêu cầu về thể hiện tri thức.

*Định nghĩa thể hiện tri thức

Phương pháp cho phép mã hoá tri thức trong CSTT của hệ thống.

2.1.2. Các dạng tri thức


Trong quá trình phát triển của loài người, tri thức được dùng để con người hoàn
thiện mình, để làm việc tốt hơn và cuối cùng là tạo ra tri thức mới. Tri thức gắn với các
bước phát triển loài người thông qua việc xây dựng nhân cách con người, tăng năng suất
lao động và biết được tri thức là quan trọng, có vai trò như tiền tệ hay quyền lực.

Từ lâu các nhà tâm lý học về nhận thức đã xây dựng lý thuyết giải thích về giải
vấn đề. Các lý thuyết này đã cho người ta thấy các dạng tri thức con người hay dùng,
cách con người tổ chức có suy nghĩ trên các tri thức đó và cách dùng các tri thức một
cách hiệu quả. Các nhà nghiên cứu cũng dùng các nghiên cứu này để phát triển các kĩ
thuật thể hiện tri thức trên máy tính.

Có 5 dạng tri thức sau:

Tri thức thủ tục: Diễn tả cách giải vấn đề. Loại tri thức thủ thục cho biết phương
hướng thực hiện các hoạt động. Các luật, các chiến lược, các lịch, các thủ tục là các dạng
đặc trưng của tri thức thu tục.

Tri thức mô tả: Cho biết một vấn đề được thấy như thế nào. Tri thức mô tả gồm
các khẳng định đơn giản nhận giá trị chân lí là đúng hoặc sai. Tri thức mô tả cũng có thể
gồm xâu các khẳng định để diễn tả đầy đủ hơn về đối tượng hay một khái niệm nào đó.

Tri thức meta: Diễn tả tri thức về tri thức. Thuật ngữ meta mang ý nghĩa diễn tả
về bản thân đối tượng. Loại tri thức này giúp lựa chọn tri thức thích hợp nhất trong số
các tri thức khi giải vấn đề. Các chuyên gia dùng tri thức meta để tăng hiệu quả giả vấn
đề bằng cách hướng lập luận về miền tri thức có khả năng hơn cả.

Tri thức may rủi: Diễn tả luật may rủi, cung cách may rủi dẫn dắt quá trình lập
luận. Tri thức may rủi còn được gọi là tri thức nông cạn do không đảm bảo chính xác
khoa học. Tri thức may rủi xuất phát từ các kinh nghiệm, từ tri thức về việc giải các vấn
đề quá khứ. Các chuyên gia thường dùng các tri thức mang tính khoa học về vấn đề như
các điều luật cơ bản, các quan hệ chức năng…rồi chuyển chúng thành các tri thức may
rủi đơn giản để thuận tiện trong việc giải vấn đề.
28
Tri thức cấu trúc: diễn tả các cấu trúc của tri thức. Đối với một hệ chuyên gia
thì tri thức cấu trúc thể hiện cách tổ chức tri thức, mô hình về tri thức. Do vậy tri thức
cấu trúc liên quan đến các loại tri thức, chức năng và quan hệ giữa các tri thức.
2.2. Các kỹ thuật thể hiện tri thức
Trải qua nhiều chặng đường phát triển của công nghệ thông tin, các nhà nghiên
cứu và ứng dụng hệ chuyên gia đã cho thấy một số cách thể hiện tri thức có hiệu quả
trên máy tính.
Có 5 kĩ thuật phổ biến nhất dùng để phát triển một hệ chuyên gia là:

Cặp ba đối tượng- thuộc tính- giá trị

Các luật
Các mạng ngữ nghĩa

Các khung

Logic mệnh đề, logic vị từ

Mỗi kĩ thuật nhấn mạnh vào một mặt nào đó của vấn đề chứ không xét đầy đủ
các khía cạnh của vấn đề. Mỗi kĩ thuật có ưu nhược điểm đối với một loại tri thức cụ
thể. Do vậy việc chọn một kĩ thuật thể hiện tri thức một cách hợp lí sẽ cho phép thể hiện
cấu trúc tri thức có hiệu quả đối với việc giải vấn đề. Chẳng hạn tri thức vốn đã được
các chuyên gia phát biểu dưới dạng “nếu… thì…” thì hệ chuyên gia sử dụng kĩ thuật thể
hiện theo luật và xử lí tri thức như xử lý các luật thì phù hợp với cách giải mà chuyên
gia quen áp dụng.

2.2.1. Thể hiện tri thức bằng cặp ba đối tượng- thuộc tính- giá trị
a. Giới thiệu

Lý thuyết nhận thức coi trọng việc thể hiện và tổ chức tri thức. Con người đều
dùng sự kiện như nền tảng cơ bản. Một sự kiện là dạng tri thức mô tả; trong một số
trường hợp cho phép hiểu về một sự kiện hay về vấn đề.

Trong hệ chuyên gia các sự kiện tri thức dùng để mô tả các phần của khung, mạng
ngữ nghĩa hay luật. Chúng cũng được dùng để mô tả quan hệ giữa các cấu trúc tri thức
phức tạp hơn và điều khiển việc dùng cấu trúc này khi giải vấn đề. Một sự kiện thường
được tham chiếu như một mệnh đề.

*Định nghĩa mệnh đề

Một khẳng định hoặc đúng hoặc sai.

29
Mệnh đề nhận giá trị logic là đúng hoặc sai và sẽ được dùng khi xử lý các tri thức
khác.
Ví dụ: mệnh đề có thể là câu đơn giản như “mèo màu đen”, “quả bóng xanh” hay các
câu phức tạp như “trời đầy mây và gió to”.

Một sự kiện cũng có thể được dùng để gán giá trị riêng cho một đối tượng nào
đó. Ví dụ như câu “màu của quả bóng là xanh” dùng để gán giá trị xanh cho màu sắc
của quả bóng. Loại sự kiện này được coi như cặp ba đối tượng- thuộc tính- giá trị kí hiệu
lạ O-A-V (Object-attribute-value).

Một O-A-V được dùng để thể hiện các mệnh đề đơn giản hay phức tạp. Cấu trúc
của O-A-V gồm 3 phần ứng với đối tượng, thuộc tính, giá trị thuộc tính.

Ví dụ: “màu của chiếc ghế là nâu” theo cấu trúc O-A-V thì đối tuợng là chiếc ghế, thuộc
tính là màu và giá trị là nâu.

Đối tượng thể hiện trong cấu trúc O-A-V có thể được vật lý hoá như cái xe, quả
bóng, hay vật trừu tượng như tình yêu, sự sống. Thuộc tính là tính chất hay những nét
quan trọng để nhận ra đối tượng. Giá trị cho biết thuộc tính nhận một thể hiện cụ thể.
Giá trị có kiểu dữ liệu tuỳ thuộc vào tính chất của thuộc tính có thể là logic, số hay chữ.
Việc dùng nhiều thuộc tính để mô tả đối tượng như trong các khung hay mạng ngữ nghĩa
cho phép mô tả rõ hơn về các đối tượng. Đối tượng có thể có nhiều thuộc tính.

b. Các sự kiện nhận một hay nhiều giá trị


Về bản chất, một vài thuộc tính của đối tượng được sự kiện mô tả chỉ nhận một
giá trị hoặc nhận nhiều giá trị. Người ta gọi các sự kiện đó là sự kiện nhận giá trị đơn
hay sự kiện nhận nhiều giá trị. Thuộc tính trong cấu trúc O-A-V sẽ được thiết kế nhận
một hay nhiều giá trị. Việc chọn lựa bao nhiêu giá trị cho một sự kiện tuỳ thuộc vào độ
uyển chuyển có thể có được trong khâu thể hiện tri thức.
Ví dụ: Dùng O-A-V để thể hiện mệnh đề mô tả việc đọc áp suất trên đồng hồ đo. Đối
tượng là đồng hồ đo và thuộc tính là đọc áp suất. Các giá trị có thể lấy là xuống, ổn định
hay lên. Khi cần thông tin về áp suất do đồng hồ chỉ, hệ thống hỏi:

Hệ thống: Hãy cho biết áp suất do đồng hồ trỏ, ứng với trường hợp nào trong số các
trường hợp sau:

Kim trỏ xuống

Kim ổn định
Kim trỏ lên
30
Trả lời: Trỏ xuống

Về mặt logic, áp suất đồng hồ chỉ có một trong 3 giá trị. Người ta cần thiết kế O-A-V
này có giá trị đơn. Người ta có thể dùng cấu trúc O-A-V để thể hiện một trong các khả
năng. Lúc đó cấu trúc O-A-V được thiết kế để nhận giá trị đơn. Tuy nhiên khi cần chọn
nhiều trong số các khả năng thì người ta dùng cấu trúc O-A-V nhận nhiều giá trị. Chẳng
hạn cần chọn một số tiêu chuẩn để tuyển thư kí, đối tượng là người, thuộc tính là hình
dáng, các giá trị là cao, béo, cân đối, nặng cân…
Hệ thống: chọn trong số các giá trị là cao, béo, cân đối, nặng cân…

Trả lời: cao, nặng cân…

Cả 2 loại sự kiện O-A-V đơn hay đa giá trị đều cho phép ngầm định sự suy luận. Khi
người dùng chọn một giá trị của danh sách, hệ thống sẽ khẳng định mệnh đề ứng với giá
trị chọn này là đúng và với các giá trị khác là sai. Chẳng hạn lúc chọn một số chỉ tiêu
cho thư kí, hệ thống nhận được thông tin từ người dùng rằng không những thư kí sẽ cao
và năng cân mà còn không béo. Hay khi xem mặt đồng hồ, người dùng trả lời chiều trỏ
của kim là xuống, hệ thống không chỉ biêt sự kiện này mà còn biết áp suất không lên và
không ổn định. Khía cạnh này của O-A-V được quan tâm hơn so với cách thể hiện bằng
câu đơn giản chỉ nhận giá trị đơn như chị Nụ xinh.

2.2.2. Thể hiện các sự kiện không chắc chắn


a. Giới thiệu

Người ta không rõ sự kiện nào là đúng hay sai với độ chắc chắn hoàn toàn. Thứ
nhất sự kiện xảy ra là chắc chắn nhưng người ta không hoàn toàn biết rõ. Thứ hai không
có gì đảm bảo một sự kiện là đúng nên người ta không biết rõ về nó. Bởi thế người ta
sử dụng thêm một khái niệm là mức độ tin cậy vào sự kiện. Trong câu nói thông thường
luôn nhận một mức độ tin cậy, chẳng hạn như có thể, hình như, có vẻ…

Phương pháp truyền thống trong hệ chuyên gia khi quản lí thông tin không chắc
chắn là sử dụng nhân tố chắc chắn. Nhân tố chắc chắn kí hiệu là CF (certainty factor) là
giá trị bằng số gán cho mệnh đề để thể hiện mức độ tin cậy vào mệnh đề đó.

Hình 2.1. Các giá trị của CF trong hệ chuyên gia MYCIN
31
Khái niệm CF bắt đầu từ hệ thống MYCIN rồi được hình thức hoá vào năm 1975
trong kĩ thuật lập luận gọi là lí thuyết chắc chắn. Người ta có thể dùng CF để quản lí
mức độ chắc chắn trong câu trả lời của người dùng và thông tin suy luận.
Ví dụ: câu “hôm nay có thể nắng” được gán giá trị CF 0.7

Người ta có thể dùng xác suất hay lí thuyết mờ để thể hiện các sự kiện không
chắc chắn.

b. Các mệnh sự kiện mờ

Thực tế cho thấy khi thể hiện vấn đề của thế giới thực, đôi khi cần dùng đến các
thuật ngữ nhập nhằng như thường thấy trong ngôn ngữ tự nhiên. Khi ấy người ta có thể
tham chiếu đến khái niệm không chắc chắn để diễn đạt. Chẳng hạn với câu “ông ấy cao”
là không rõ ràng, có thể gây nên sự hiểu không rõ vì không xác định rõ được cao có
nghĩa là gì. Công cụ nhờ máy tính hỗ trợ thể hiện tri thức này dựa vào logic mờ do Zadeh
đưa ra năm 1965. Logic mờ đề xuất phương pháp thể hiện và lập luận trên các thuật ngữ
nhập nhằng. Các thuật ngữ nhập nhằng được thể hiện được lượng hoá trong tập mờ.

Ví dụ: dùng tập mờ để thể hiện chiều cao của người

Hình 2.2. Các giá trị của tập mờ chiều cao


Có 3 tập mờ là thấp, trung bình, cao. Trong các tập mờ, một chiều cao cụ thể
được gán với con số gọi là gia strị thành viên, mức độ thành viên hay giá trị thuộc. Giá
trị thuộc lấy giá trị từ 0 đến một để phản ánh mứ độ tin cậy để chiều cao đã biết rơi vào
các tập mờ. Chẳng hạn một người cao 1m60 được xem là thành viên của những người
tầm thước với giá trị thuộc là 1; trong khi họ được xem là cao hay thấp với giá trị thuộc
cùng là 0.25.

Logic mờ dùng các luật mờ để tạo ra tập mờ. Một luật mờ có các tập mờ trong
cả phần if và then.

32
Ví dụ: IF chiều cao của người là cao THEN trọng lượng của người ấy là nặng.

2.2.3. Thể hiện tri thức nhờ các luật


a. Giới thiệu

Các sự kiện do người dùng cung cấp rất có ý nghĩa đối với các hoạt động của hệ
chuyên gia. Chúng cho phép hệ thống hiểu trạng thái hiện tại của thế giới. Đương nhiên
khi giải bài toán hệ thống có các tri thức phụ, tri thức bổ sung có quan hệ với các sự kiện
này và làm cho tri thức về hệ thống sẽ tăng thêm. Một cấu trúc tri thức các sự kiện này
và làm cho tri thức về hệ thống sẽ tăng thêm. Một cấu trúc tri thức thông dụng dùng
trong thiết kế hệ chuyên gia mà yêu cầu sử dụng thêm tri thức bổ sung là các luật.

*Định nghĩa luật:

Luật là cấu trúc tri thức dùng để liên kết thông tin đã biết với các thông tin khác;
các thông tin này có thể được suy luận để người ta hiểu biết thêm.

Tri thức dưới dạng luật được xếp vào các tri thức thủ tục. Luật gắn thông tin đã
cho với một vài hoạt động. Các hoạt động này có thể là khẳng định về thông tin mới hay
là thủ tục sẽ được thực hiện. Bằng cách này, luật mô tả cách giải vấn đề.

Về mặt logic, cấu trúc của luật kết nối một hay nhiều giả thiết hay cái có trước
trong câu IF với một hay nhiều kết luận hay được gọi là kết quả trong câu THEN.

Ví dụ:

IF màu của quả bóng là xanh THEN tôi thích quả bóng

Nói chung phần giả thiết của một luật có thể gồm nhiều giả thiết nhỏ gắn với
nhau thông qua phép logic and hay or hay cả hai. Luật cũng có thể dùng câu else dùng
cho suy luận khi giả thiết sai.

Trong hệ thống dựa trên luật, người ta thu thập tri thức lĩnh vực trong một tập và
lưu chúng trong CSTT của hệ thống. Hệ thống dùng các luật này cùng với các thông tin
trong bộ nhớ để giải bài toán. Khi câu IF của luật khớp với thông tin trong bộ nhớ, hệ
thống thực hiện các hoạt động mô tả trong câu then của luật. Lúc này luật được xem như
thực hiện hay cháy; câu Then được bổ sung vào bộ nhớ. Mệnh đề mới này cũng có thể
là cho các luật khác được thực hiện.
Ví dụ

Ban đầu CSTT có 2 luật và bộ nhớ làm việc là rỗng. Khi nhận được trả lời xanh
cho câu hỏi xe màu gì? bộ suy điễn của hệ chuyên gia dựa trên luật sẽ thực hiện các luật
và rút ra được thông tin mới sẽ mua xe.
33
Việc xử lý các luật trong hệ thống dựa trên luật được quản lý bằng một modun
gọi là bộ suy diễn. Ví dụ trên mô tả vài hành động của bộ suy diễn.
b. Khai thác một thủ tục

Ngoài việc sản sinh các thông tin mới thông qua các sự kiện trong câu then, một
luật có thể thực hiện các hành động. Hành động trong luật có thể là tính toán đơn giản
như là.

IF cần đến diện tích hình chữ nhật THEN diện tích=chiều dài*chiều rộng

Để thực hiện tốt các thao tác phức tạp hơn, nhiều hệ chuyên gia truy nhập các thủ
tục bên ngoài hệ thống. Chương trình loại này đa phần là phần mềm về cơ sở dữ liệu,
chương trình ngôn ngữ C… Chúng có thể được viết bằng ngôn ngữ lập trình hay các
lệnh trên bảng tính.

Ví dụ:

- Luật liên quan đến thủ tục chương trình

IF xem bói AND khách=trẻ THEN gọi chương trình bói AND tính tiền

- Luật liên quan đến thao tác của bảng tính


IF tính lương tháng tư THEN tháng=4 AND mở file lương.xls

- Luật liên quan đến việc tìm kiếm thông tin

IF biết số báo danh là X THEN mở file diem.001 AND tìm điểm với mã=X

Nhìn chung khả năng truy nhập hay thay đổi thông tin nhờ chương trình bên
ngoài tạo điều kiện để công việc thiết kế hệ chuyên gia trở nên uyển chuyển hơn. Có thể
dùng khối lượng lớn các thông tin có trong CSDL và bảng tính hay thay đổi các thông
tin nhờ chức năng hỗ trợ quyết định của hệ thống xử lý luật.
c. Các dạng khác nhau của luật

Các luật thể hiện tri thức có thể được phân loại theo loại tri thức. Nếu vậy có các
lớp luật liên quan đến tri thức quan hệ, tri thức khuyến cáo, tri thức hướng dẫn, tri thức
chiến lược hay tri thức may rủi. Ví dụ sau đây sẽ giới thiệu các lớp luật đó.

- Quan hệ

IF acquy hỏng THEN không khởi động ô tô


- Khuyến cáo

IF ô tô không khởi động được THEN đi bộ

34
- Hướng dẫn

IF ô tô không khởi động được AND xăng dầu tố THEN kiểm tra hệ thống điện

- Chiến lược

IF ô tô không khởi động được THEN trước tiên kiểm tra hệ thống xăng dầu rồi
kiểm tra hệ thống điện

- May rủi

IF ô tô không hởi động được AND mác xe là chiến thắng THEN kiểm tra bộ phận
an toàn

Các luật cũng có thể được phân loại theo bản chất của chiến lược giải quyết vấn
đề, thường được gọi là các thức giải vấn đề. Các luật điển hình theo phân loại này là các
luật theo cách thức diễn giải, cách thức chuẩn đoán, hay cách thức thiết kế.

- Diễn giải

IF cao 1m65 AND năng 65 kg THEN phát triển bình thường

- Chẩn đoán

IF sốt cao AND hay ho AND họng đỏ THEN viêm họng

- Thiết kế

IF cao 1m 75 AND da sẫm THEN chọn áo vải sáng AND chọn tấm vải khổ 1m40

d. Dùng biến trong luật

Sử dụng biến trong các luật nhằm phù hợp với các ứng dụng thực hiện cùng một
số thao tác trên tập đối tượng như nhau. Thông thường với mỗi phát biểu về tri thức liên
quan đến nhiều sự kiện, người ta dùng nhiều luật. Nếu viết một luật đơn cho mỗi đối
tượng thì số lượng các luật rất nhiều; như vậy không hiệu quả và hệ thống khó quản lí
các luật tương tự nhau.

Ví dụ: Luật sau cho biêt Toto có thể nghỉ ngơi hay không?

IF Toto là công chức AND tuổi của Toto quá 60 THEN Toto có thể nghỉ ngơi
Khi hệ thống muốn kiểm tra đối với các cá nhân khác không phải là Toto, thì
người ta cần sử dụng các luật tương tự như luật này. Do vậy không kinh tế. Thậm chí
độ tuổi nghỉ ngơi của con người cần được linh động trong khoảng từ 55 đến 60 tuổi. Có
thể dùng ngôn ngữ lập trình để tạo ra một luật để luật này có thể khớp với dải giá trị
rộng hơn. Các luật này dùng biến để khớp với các mệnh đề tương tự.

35
Ví dụ:

IF X là công chức AND tuổi của X quá 60 THEN X có thể nghỉ ngơi

Luật này quét trong bộ nhớ để xem khớp được hai giả thiết không. Nếu thấy khớp,
luật này kết luận rằng người đó có thể nghỉ. Chẳng hạn trong bộ nhớ có thông tin về tên,
nghề nghiệp, tuổi của nhiều đối tượng.

Giả thiết đầu tiên gán tên một cá nhân cho biến X nếu người ấy là công chức. Giả
thiết thứ 2 kiểm tra xem người có tên gán cho biến X có quá 60 tuổi không. Nếu khớp
cả 2 giả thiết, luật kết luận rằng người này có thể nghỉ ngơi và đưa thông tin đó vào bộ
nhớ. Như trong Ví dụ tri thức Xuân có thể nghỉ ngơi được bổ sung vào bộ nhớ.

Việc khớp luật có sử dụng biến cho phép xử lý thông tin một cách hiệu quả.
Người ta có thể viết một luật thay cho nhiều luật, thuận lợi cho việc mã hoá và bảo trì
cơ sở luật. Luật trên có được do tri thức chuyên gia “Nếu công chức quá 60 tuổi họ có
thể nghỉ ngơi”.

e. Các luật không chắc chắn

Mệnh đề phát biểu về sự kiện hay bản thân sự kiện có thể không chắc chắn. Người
ta đã dùng hệ số chắc chắn CF đối với các sự kiện không chắc chắn. Đã có sự kiện không
chắc chắn thì cũng có luật không chắc chắn. Luật này thiết lập quan hệ không chính xác
giữa giả thiết và kết luận.

Ví dụ:

IF tức nước THEN hầu như chắc chắn vỡ bờ

Chuyên gia tin rằng “hầu như chắc chắn”…nếu…thì…Để có được độ tin cậy về
tri thức chuyên gia trong quan hệ này, người ta dùng nhân tố chắc chắn. Chẳng hạn luật
trên có thể được viết lại với giá trị CF là 0.8

IF tức nước THEN vỡ bờ, CF=0.8


Ví dụ này mới chỉ giới thiệu sơ lược về luật với sự không chắc chắn. Nó cũng
như các luật bình thường, ngoại trừ kết luận được khẳng định với một mức độ tin cậy.
Những khía cạnh phức tạp về sự không chắc chắncần được xét kĩ thêm.

g. Các luật meta

Khi giải vấn đề các chuyên gia cũng cần cả tri thức lĩnh vực và tri thức hướng
dẫn đặc trưng cho việc sử dụng tri thức. Tri thức hướng dẫn dùng tri thức lĩnh vực để
xác định cách gaỉi vấn đề tôt nhất. Loại tri thức này gọi là tri thức meta.

36
*Định nghĩa tri thức meta

Tri thức về cách sử dụng và điều khiển tri thức lĩnh vực

Tri thức meta thường được thể hiện trong hệ thống dựa trên luật thông qua luật
meta để chúng có thể truy nhập trực tiếp.

*Định nghĩa luật meta

Một luật mô tả cách thức dùng các luật khác

Luật meta đưa ra chiến lược dùng các luật về lĩnh vực chuyên dụng thay vì đưa
ra thông tin mới.

Ví dụ

IF ô tô không khởi động được AND hệ thống điện hoạt động bình thường THEN
dùng các luật liên quan đến hệ thống xăng dầu
Luật meta chẩn đoán về ô tô này hướng việc sửa chữa ô tô về hệ thống xăng dầu
nếu không phát hiện được gì trong hệ thống điện. Luật meta hướng dẫ tri thức hệ thống
rẽ nhánh về một phần của công việc cũng như làm tăng hiệu quả của hệ thống bằng cách
hướng dẫn hệ thống suy luận tại nhánh có khả năng giả vấn đề.
h. Tập các luật

Các tri thức chuyên gia được tích luỹ thành các luật để giải các vấn đề. Tập các
luật có thể dùng cho vấn dề này nhưng không dùng được cho vấn đề khác. Tập các luật
phản ánh kinh nghiệm khéo léo của chuyên gia về lĩnh vực. Việc chọn lựa tập luật nào
cũng thể hiện trình độ của chuyên gia.

Tuy nhiên chỉ riêng ccá luật không đủ để lập luận. Do vậy cần biết khi nào áp
dụng luật và áp dụng như thế nào.

Ví dụ:

Để sửa chữa xe ô tô, người ta kiểm tra các bộ phận của xe theo các luật hướng
dẫn như sau:

37
Hình 2.3. Mô hình chuẩn đoán hỏng hóc xe ô tô
Một trong các giải pháp hướng dẫn sử dụng luật khi thiết kế hệ thống dựa trên
luật là dùng cấu trúc modun để sắp xếp thứ tự các luật về lĩnh vực. Loại cấu trúc này
cũng gợi ý cách giải quyết bài toán từ trên xuống, ở đó các tập luật được dùng chỉ khi
phù hợp. Hệ thống có thể chuyển điều khiển đến tập luật đã cho bằng cách dùng luật
meta.

Người ta nhận xét về việc dùng tập các luật có cấu trúc mô đun như sau:

- Ưu điểm chính của thiết kế này là thể hiện được cách giải quyết vấn đề phức
tạp. Nhìn chung con người có xu hướng chia vấn đề phức tạp ra các vấn đề nhỏ hơn dễ
quản lí hơn.

- Ưu điểm khác của cấu trúc các luật theo môdun là dễ phát triển và bảo trì hệ
thống. Khi phát triển hệ thống người ta chỉ tập trung vào một môđun. Khi cần thiết người
ta có thể thử và kiểm tra riêng từng mô đun theo cách độc lập. Đối với việc quản lí toàn
bộ CSTT, việc thiết kế theo các mô đun tỏ ra thuận tiện.

- Về kĩ thuật tiếp cận này có ưu điểm dễ tích hợp các kĩ thuật thể hiện tri thức,
chiến lược suy diễn khác nhau vào cùng một hệ thống.

2.2.4. Thể hiện tri thức trong bảng đen


Một nhu cầu đặt ra trong các hệ thống tri thức là sự hợp tác giữa các chuyên gia.
Do vậy trên phương diện tổ chức hệ thống, liệu có cách nào cho phép liên kết thông tin
giữa các tập luật tách biệt
Thực tế cho thấy việc giải các bài toán phức tạp cần đến tri thức của nhiều chuyên
gia. Chẳng hạn bài toán tạo chiến lược tiếp thị trong giới kinh doanh có thể được giải
quyết bằng cách lập ra mối liên kết giữa các chuyên gia trong công ty; tiếp theo người
38
ta tổng hợp các nhận định chuyên gia về một khía cạnh sẽ cho phép thu được kế hoạch
tiếp thị hiệu quả. Phương pháp này thường được coi như phương pháp giải vấn đề phân
tán. Trong hệ chuyên gia việc giải vấn đề phân tán có thể thực hiện thông qua liên kết
các tập luật.

Một trong những hệ thống đầu tiên dùng phương thức liên kết tập luật là hệ
chuyên gia hiểu tiếng nói HEARSAY-II do Erman đưa ra năm 1980. Hệ thống này diễn
giải câu nói liên tục với từ điển 1000 từ. Để làm nhiệm vụ này HEARSAY đã dùng 12
mô đun chuyên gia với các nhiệm vụ tách biệt. Các mô đun này làm việc tương tác đồng
thời theo cách trao đổi thông tin qua một cấu trúc gọi là bảng đen.
*Định nghĩa bảng đen

Một thiết kế trong đó vài hệ chuyên gia dùng chung thông tin từ một nguồn

Mô hình bảng đen hay gọi là BB (Black Board) là hệ thống nhiều thành phần độc
lập sử dụng cơ sở dữ liệu và tri thức chung. Các thành phần khác nhau trao đổi với nhau
qua phần chung là bảng đen.

Nguyên tắc của mô hình BB là:

- Sử dụng nhiều nguồn tri thức

- Đảm bảo tính độc lập của các nguồn tri thức. Các thành phần độc lập chỉ liên
hệ với nhau qua bảng đen

- Các thành phần của BB hoạt động không đồng bộ do vậy các thành phần có thể
tham gia vào một hệ thống hoạt động song song

- BB là cơ sở các sự kiện phức tạp có cấu trúc tổng quát sao cho phù hợp với tất
cả các CSTT thành phần

- Có cấu trúc điều khiển

- Tri thức được trình bày theo cả 2 kiểu là thủ tục và mô tả

Kiến trúc chung của một hệ chuyên gia theo cấu trúc BB có 3 phần chính sau:

- Nhiều CSTT thành phần là các hệ chuyên gia khác

- Nơi trao đổi thông tin giữa các thành phần là BB

- Phần điều khiển có nhiệm vụ xếp lịch làm việc giữa các thành phần

Mỗi chuyên gia gắn với một vấn đề nhỏ, tách biệt. Tuy vậy họ cùng sử dụng
thông tin chung để thực hiện nhiệm vụ riêng. Các mô đun chuyên gia liên lạc với nhau
theo cách viết thông tin lên bảng đen và đọc thông tin từ các mô đun khác. Thông tin
39
điển hình trên bảng đen liên quan đến việc tìm mô đun hay tìm các giả thiết nhằm giải
bài toán. Bộ xếp lịch giữ điều khiển chung và hướng dẫn chiến lược lập luận.
Kiến trúc của hệ thống này tương tự như kiến trúc thảo luận kế hoạch tiếp thị nêu
trên. Bảng đen đóng vai trò nơi hội thảo, bộ xếp lịch đóng vai trò chủ toạ cuộc trao đổi.
Kiến trúc này cho phép các mô đun chuyên gia làm việc tương tranh theo phương thức
song song.

2.2.5. Thể hiện tri thức nhờ mạng ngữ nghĩa


a. Giới thiệu

Đồ thị diễn tả thế giới sẽ trực quan và đỡ trừu tượng hơn các phương tiện thể hiện
khác. Mạng ngữ nghĩa là một trong những kĩ thuật thể hiện tri thức đầu tiên mà con
người sử dụng khi nghiên cứu các hệ thống tri thức.

*Định nghĩa mạng ngữ nghĩa

Phương pháp thể hiện tri thức bằng cách dùng đồ thị gồm các nút và các cung;
nút thể hiện đối tượng và cung thể hiện quan hệ giữa các đối tượng.

Thông qua mạng ngữ nghĩa người ta dễ thấy đối tượng nào là quan trọng, nhận
ra các thuộc tính và mối quan hệ của các đối tượng một cách trực quan. Đồ thị gồm nút
và các cung nối các nút; nút và cung đều có nhãn ứng với đối tượng và mối quan hệ bản
chất giữa các đối tượng. Nút thể hiện đối tượng, thuộc tính hoặc giá trị của thuộc tính.
Các cung thể hiện mối quan hệ giữa các nút.
Ví dụ: mạng ngữ nghĩa có các nút chim, bay, cánh thể hiện ý nghĩa chim có cánh
và chim biết bay. Nút sẻ nối nút chim theo cung ISA thể hiện ý nghĩa con sẻ là chim

Hình 2.4. Mô hình mạng ngữ nghĩa

đối tượng tổng quát như con vật. Lúc này người ta không những biết chim là con vật mà
còn biết chíp thở bằng không khí

40
b. Tính kế thừa trong mạng ngữ nghĩa

Tính chất quan trọng của mạng ngữ nghĩa là tính kế thừa. Nó cho phép các nút
được bổ sung sẽ nhận các thông tin của nút liên quan ở đây là thông tin của nút đã có
trước. Tính kế thừa của mạng ngữ nghĩa cho phép mã hoá tri thức một cách dẽ dàng. Ví
dụ khi thêm nút đặc biệt là chíp vào mạng ngữ nghĩa, nó kế thừa thông tin theo cung IS
A. Hơn nữa khi thêm nút đối tượng tổng quất con vật các nút khác kế thừa tính chất của
nó. Đó chính là tính chất đặc biệt của mạng ngữ nghĩa.

c. Phép toán trên mạng ngữ nghĩa


Để minh hoạ tính kế thừa của mạng ngữ nghĩa, hãy xét 1 câu hỏi trên đồ thị.
Chẳng hạn tại nút chim, người ta muốn hỏi xem con chíp chíp hoạt động như thế nào?
Thông qua cung hoạt động người ta biết được nó bay.

Nếu không có cung trực tiếp như vậy có thể tìm câu trả lời thông qua cung ISA.
Khi cần biết chíp hoạt động như thế nào, người ta trả lời dần dần cho tới khi thu được
bay thì trở về nút câu hỏi.

d. Ngoại lệ

Tính chất kế thừa các thuộc tính của đối tượng này sang đối tượng khác trong tỏ
ra thuận lợi đối với việc mô tả các đối tượng. Tuy nhiên đôi khi việc kế thừa lại áp đặt
cứng nhắc các giá trị thuộc tính không chính xác cho một số đối tượng gây cho được ta
hiểu lầm về đối tượng. Chẳng hạn cố đi tìm khả năng bay của cánh cụt theo cung ISA.
Để khỏi phải đi tìm mãi một điều phi lý là chim cánh cụt người ta dùng kĩ thuật gọi là
ngoại lệ.

Kĩ thuật này yêu cầu người dùng chỉ ra ngoại lệ để tránh một nút kế thừa thông
tin không đúng. Khi ấy cần nối thêm một nút tới nó với thông tin mới; thông tin hày cho
phép cập nhật thông tin không đúng. Do vậy khi trả lời câu hỏi cánh cụt hoạt động như
thế nào người ta phát hiện ra thông tin đi quanh đối tượng; do vậy người ta không đi

41
theo cung IS A để tìm xem nó hoạt động ra sao nữa. Kĩ thuật ngoại lệ tuy đơn giản
nhưng được dùng một cách hiệu quả để tránh các sai sót trong mạng ngữ nghĩa.

Hình 2.5. Các bước thực thiện phép toán trên mạng ngữ nghĩa
2.2.6. Thể hiện tri thức thông qua khung
a. Giới thiệu

Một trong những kĩ thuật thể hiện tri thức là dùng khung. Khung được phát triển
từ khái niệm lược đồ. Năm 1932 FC Barlett đề nghị dùng lược đồ để thay mạng ngữ
nghĩa trong việc thể hiện tri thức. Một lược đồ được coi là khối tri thức điển hình về
khái niệm hay đối tượng nào đó và gồm cả tri thức thủ tục và tri thức mô tả. Chẳng hạn
trong lược đồcó tri thức về cánh và chân của chim cũng như cách săn bắt nó. Một lược
đồ có nhiều thông tin về khái niệm sẽ phục vụ tốt cho các nghiên cứu đặc biệt.

Những người thiết kế hệ chuyên gia tiếp thu tư tưởng về lược đồ nhằm nắm bắt
và thể hiện tri thức khái niệm trong hệ thống. Họ cụ thể hoá lược đồ dưới dạng hình thức
của khung, là khái niệm do Minski đưa ra vào năm 1975.

*Định nghĩa khung

Cấu trúc dữ liệu để thể hiện tri thức đa dạng về khái niệm hay đối tượng nào đó
Ban đầu Minski mô tả khung như sau: khi một người vào hoàn cảnh mới (hay
thay thế cách nhìn của người ấy về một vấn đề) họ tìm trong trí nhớ một cấu trúc gọi là
khung. Đây là một khung được nhớ lại một cách thích nghi để phù hợp với thực tại bằng
cách thay đổi các chi tiết cần thiết.
b. Thiết kế khung cơ bản

Một khung có hình thức như bảng mẫu, như tờ khai cho phép người ta điền các
ô trống. Cấu trúc cơ bản của khung có tên đối tượng được thể hiện trong khung có các
trường thuộc tính của đối tượng. Mỗi thuộc tính có một ngăn để nhập dữ liệu riêng.
42
Chẳng hạn Titi có ngăn tuổi nhận các giá trị nguyên chẳng hạn 30. Các thuộc tính và giá
trị thuộc tính tạo nên danh sách các sự mệnh đề O-A-V cho phép thể hiện đầy đủ về đối
tượng.
Một khung cũng có trường dự trữ như trường lớp. Người ta nhập vào đó khung
liên kết với đối tượng một có giá trị Titi và trường đối tượng 2 có giá trị người thì thể
hiện Titi là người. Giá trị thiết lập kết nối giữa hai khung như hai nút liên kết trong mạng
ngữ nghĩa. Đối tượng một thừa kế thông tin của đối tượng 2.

Hình 2.6. Cấu trúc khung tổng quát


c. Khung lớp

Một khung lớp thể hiện các tính chất tổng quát của tập các đối tượng chung.
Chẳng hạn người ta cần mô tả tính chất tổng quất như bay, có cánh, sống tự do...của cả
loài.

Hình 2.7. Khung lớp cho phép mô tả các đối tượng chim

43
Trong mỗi khung lớp người ta xác định các tính chất chung cho tất cả các đối
tượng trong lớp; đôi khi có cả giá trị mặc định. Tính chất của các đối tượng được phân
ra 2 loại điển hình là tĩnh hay động. Tính chất tĩnh mô tả khía cạnh không thay đổi giá
trị của đối tượng. Tính chất động mô tả khía cạnh của đối tượng có giá trị thay đổi khi
hệ thống hoạt động.
Ví dụ:

Khung lớp có tên khung là chim mô tả đối tượng thuộc loại chim. Các tính chất
mô tả đặc trưng chung của hầu hết loài chim. Tuy đặt trong cùng khối thuộc tính của
khung nhưng cần phân biệt tính chất màu, mấy cánh như là tính chất tĩnh, đói, hoạt động
như tính chất động.

Người ta dùng một dạng khung khác để mô tả một thể hiện của khung lớp và
được gọi là khung thể hiện. Khi tạo ra một thể hiện của một lớp, khung này kế thừa tính
chất và giá trị của lớp. Có thể thay đổi giá trị để phù hợp với thể hiện cụ thể. Thậm chí
người ta có thể thêm tính chất khác đối với khung thể hiện.

Hình 2.8. Khung thể hiện ứng với một đối tượng cụ thể là chip thuộc lớp chim

d. Tính kế thừa của khung


Cũng như tính chất kế thừa giữa các đối tượng trong mạng ngữ nghĩa, khung thể
hiện nhận giá trị kế thừa từ khung lớp. Khi tạo một khung thể hiện người ta khẳng định
khung đó là thể hiện của một khung lớp. Khẳng định này cho phép nó kế thừa các thông
tin từ khung lớp.

Trong ví dụ chip kế thừa các tính chất của chim. Nói chung người ta cho phép
một thể hiện nhân các giá trị mặc định hoặc nhận giá trị cố định đưa vào. Bên cạnh việc
44
kế thừa thông tin từ lớp của nó một thể hiện còn kế thừa hành vi. Do vậy trong khung
lớp chứa cả thủ tục thường được gọi là phương pháp. Thủ tục này xác định hành động
mà khung sẽ thực hiện. Chẳng hạn trong khung lớp chim người ta có thể bổ sung thủ tục
chỉ hành động chim phải làm khi có thuộc tính đói hay không nhận giá trị có

e. Cấu trúc phân cấp

Ngoài các khung lớp đơn giản và các thể hiện gắn với nó người ta có thể tạo ra cấu trúc
khung phức tạp.

Hình 2.9. Cấu trúc phân cấp các khung mô tả các loài chim

Ví dụ:
Dùng cấu trúc phân cấp các khung để mô tả thế giới loài chim. Cấu trúc này tổ
chức khái niệm về chim theo các mức trừu tượng khác nhau. Khung ở mức cao mang
thông tin chung về tất cả loài chim. Mức giữa có khung lớp con mạng thông tin đặc thù
hơn của nhóm chim. Mức cuối cùng là khung thể hiện ứng với đối tượng cụ thể.
g. Các mặt dùng trong khung
Ngoài các thuộc tính mà đối tượng trong khung được phép nhận bình thường còn
có các thuộc tính cho phép đối tượng nhận các giá trị khi nó thoả mãn điều kiện ràng
buộc nào đó. Người ta bổ sung các thuộc tính có điều kiện này nhờ các mặt. Vậy các
mặt cho phép xác điịnh một khía cạnh bổ sung của đối tượng chịu ràng buộc về giá trị
thuộc tính. Người ta dùng mặt để hạn chế dạng dữ liệu của các giá trị thuộc tính. Bởi
vậy tri thức do các mặt mô tả liên quan đến giá trị thuộc tính và được gọi là thông tin
điều khiển.
*Định nghĩa mặt

45
Phương tiện cho phép bổ sung tri thức về giá trị thuộc tính trong hệ thống dựa
trên khung
Một ứng dụng khác của mặt là hướng dẫn cho thuộc tính nhận các giá trị và cách
thay đổi các giá trị của nó. Các loại mặt này tri thức gọi là mặt IF-NEEDED (nếu cần
thiết) và IF-CHANGE (nếu thay đổi).

Hình 2.10. VD mặt được dùng trong khung

h. Mặt IF-NEEDED

Một vài ứng dụng cần thực hiện thủ tục khi thuộc tính đạt đến một giá trị xác
định. Trường hợp điển hình là khi thuộc tính nhận giá trị từ một dãy tính toán hay từ cơ
sở dữ liệu hoặc từ bảng tính bên ngoài. Đôi khi giá trị này phụ thuộc vào giá trị động
của thuộc tính khác. Phương pháp hay thủ tục được viết bằng ngôn ngữ thủ tục và được
gắn với mặt IF-NEEDED.

*Định nghĩa phương pháp


Thủ tục gắn với một đối tượng và được khai thác khi cần thiết

i. Mặt IF-CHANGE

Một thủ tục gắn với mặt IF-CHANGE cho phép thực hiện các hành động khi giá
trị của thuộc tính thay đổi. Người ta cần sử dụng loại mặt này khi giá trị thuộc tính tham
chiếu đến một khung khác, thường xảy ra trong các ứng dụng về điều khiển hay mô

46
phỏng quá trình. Tuy nhiên thủ tục cũng được dùng để thay đổi giá trị thuộc tính trong
phạm vi khung hiện tại.
2.2.7. Thể hiện tri thức thông qua logic mệnh đề
a. Logic

Loại thể hiện tri thức cổ điển nhất trong máy tính là logic. Trong những năm qua
nhiều kĩ thuật thể hiện đã được đề nghị và nghiên cứu. Loại thường gắn với hệ chuyên
gia là logic mệnh đề và phép toán vị từ. Cả hai kĩ thuật này đều dùng kí hiệu để thể hiện
tri thức và toán tử áp lên các kí hiệu để suy luận logic. Logic đã cung cấp cho các nhà
nghiên cứu một công cụ hình thức để thể hiện và suy luận tri thức.

*Các phép toán logic và các kí hiệu sử dụng

Dù rằng người thiết kế hệ chuyên gia ít khi tiếp cận theo thể hiện logic cổ điển
nhưng tiếp cận này tạo cơ sở cho nhiều ngôn ngữ lập trình trí tuệ nhân tạo và nhiều công
cụ phát triển hệ chuyên gia. Ngôn ngữ PROLOG là Ví dụ về ngôn ngữ lập trình dựa trên
các phép toán vị từ. Phép toán vị từ như hợp ngữ, cho phép thể hiện tri thức. Việc hiểu
rõ về logic giúp con người đi sâu vào kĩ thuật tri thức ở mức độ cao.

Ví dụ:

Chương trình bằng ngôn ngữ Turbo Prolog cho phép kiểm tra ông Mỗ có thích
đá bóng không. Do Mỗ là bạn của Mễ, người ta biết được Mỗ thích đá bóng do Mễ thích
đá bóng

Domain

Người, thể_thao=symbol

Predicate

Thích (người, thể_thao)

Bạn (người, người)

Clause

Bạn (mỗ, mễ)

Bạn (mỗ, mơ)

Thích (mễ, bóng_đá)


47
Thích (mỗ, bơi_lội)

Thích (Ta, Thể_thao): - Bạn (Bạn, Ta), Thích (Bạn, Thể_thao)

Goal

Thích (mỗ, bóng_đá)


b. logic mệnh đề

Logic mệnh đề thể hiện và lập luận vơi các mệnh đề. Mệnh đề là một câu nhận
giá trị đúng hoặc sai. Giá trị này gọi là giá trị chân lí của mệnh đề. Logic mệnh đề gán
một biến kí hiệu cho mệnh đề như là phép gán A= “ô tô sẽ khởi động”.

Khi cần kiểm tra giá trị chân lí của câu trên trong bài toán sử dụng logic mệnh đề
người ta kiểm tra giá trị của A. Nhiều bài toán sử dụng logic mệnh đề để thể hiện tri
thức và giải vấn đề. Bài toán loại này được đưa về bài toán xử lý các luật; mỗi phần giả
thiết và kết luận của luật có thể có nhiều mệnh đề.

Ví dụ:

Bài toán có một luật


IF ô tô không khởi động (câu A)

AND xa quá không đi bộ được (câu B)

THEN phải nghỉ hôm nay (câu C)


Luật này liên quan đến các câu A, B, C. Việc thực hiện luật yêu cầu kiểm tra giá trị chân
lí của các mệnh đề. Các phép toán logic mệnh đề như AND, OR, NOT, kéo theo, tương
đương cho phép lập luận với các cấu trúc luật đa dạng.

Luật có thể được viết lại là AB C

Các phép toán quen thuộc trên các mệnh đề được cho trong bảng sau:

Bảng chân lý với các giá trị T (đúng) và F (sai)

48
Một số phép toán có thể được suy diễn từ các phép toán khác. Ví dụ phép kéo
theo AB chỉ cho giá trị sai khi A đúng B sai vậy AB  AB.

Logic mệnh đề cung cấp công cụ thu nhận các sự kiện và các luật theo dạng kí
hiệu và dùng các phép toán logic để thao tác trên các sự kiện và luật. Tiếp cận logic hình
thức này đảm bảo một phương pháp chính xác để quản lí các câu có giá trị đúng hay sai.
Tuy vậy trong nhiều bài toán khó người ta cần khẳng định giá trị của toàn bộ câu gồm
nhiều mệnh đề. Do vậy một câu phức tạp được tách ra thành các câu thành phần nhỏ
hơn. Các phần nhỏ này có thể được thể hiện và lập luận bằng logic. Đối với bài toán này
phép toán vị từ là công cụ uyển chuyển hơn cả.

c. Phép toán vị từ

*Định nghĩa phép toán vị từ

Phép toán vị từ hay còn được gọi là logic vị từ là mở rộng của phép toán mệnh
đề để thể hiện rõ hơn các tri thức.

Ví dụ: Người ta thể hiện toàn bộ nội dung câu đơn chẳng hạn A được kí hiệu cho quả
bóng màu xanh. Phép toán vị từ cho phép mô tả theo quan hệ của tri thức theo dạng
mau(quả bóng, xanh). Cách thể hiện này thuạn tiện đối với việc dùng biến và hàm trong
xử lí tri thức.

Phép toán vị từ cũng như logic mệnh đề dùng các kí hiệu để thể hiện tri thức.
Những kí hiệu này gồm hằng số, vị từ, hàm và biến. Phép toán vị từ cho phép thực hiện
các phép toán logic mệnh đề trên các kí hiệu.

*Các hằng số

Các hằng dùng để đặt tên các đối tượng đặc biệt hay thuộc tính. Nhìn chung các
hằng số được kí hiệu bằng chữ viêt thường cẳng hạn như tutu, nhiệt độ. Hằng số mỗ có
thể được dùng để thể hiện đối tượng Mỗ là một người được xét.

*Các vị từ
Một sự kiện hay mệnh đề trong phép toán vị từ được chia thành 2 phần: vị từ và tham
số. Tham số thể hiện một hay nhiều đối tượng của mệnh đề; còn vị từ dùng để khẳng
định về đối tượng. Chẳng hạn mệnh đề “Nam thích Mai” được viết lại theo vị từ sẽ có
dạng: thích (nam, mai).

Với cách thể hiện nay người ta dùng từ đầu tiên tức thích là vị từ. Vị từ cho biết
quan hệ giữa các đối số đặt trong ngoặc. Đối số là các kí hiệu thay cho các đối tượng
của bài toán. Theo quy ước chuẩn người ta dùng các chữ thường để thể hiện các đối số.

49
*Biến

Các biến dùng để thể hiện các lớp tổng quát của các đối tượng hay các thuộc tính.
Biến được viết bằng các kí hiệu bắt đầu là chữ hoa. Như vậy có thể dùng vị từ có biến
để thể hiện nhiều vị từ tương tự.

Ví dụ:

Có 2 mệnh đề tương tự “Nam thích Mai” và “Bắc thích Cúc”. Hai biến X, Y được
dùng trong mệnh đề thích (X, Y).

Các biến nhận giá trị hay được thể hiện thông qua X=Nam, Bắc; Y=Mai, Cúc.
Trong phép toán vị từ người ta dùng biến đối số của biểu thức vị từ hay của hàm
*Hàm

Hàm được thể hiện bằng kí hiệu cho biết quan hệ hàm số

Ví dụ:

Mỗ là cha của Nam, Mơ là mẹ của Mai. Mỗ và Mơ là bạn của nhau. Hàm được
viết để thể hiện quan hệ này:
cha (nam)=mỗ

mẹ (mai)=mơ

bạn (mỗ, mơ)


Các hàm cũng có thể dùng trong vị từ như là

bạn (cha (nam), mẹ (mai))

*Phép toán

Phép toán vị từ dùng các phép toán như logic mệnh đề


Ví dụ:

Cần viết câu “nếu hai người cùng thích một người thì họ không thích nhau”

Ở dưới dạng của logic vị từ. Trước hết các câu đơn giản được viết như sau:

“Nam thích Mai” được viết lại theo Phép toán vị từ thích (nam, mai)
“Đông thích Mai” được viết lại theo Phép toán vị từ thích (đông, mai)

Đa số trong các trường hợp như vậy thì Nam không thích Đông. Khẳng định được viết:

thích (X, Z) AND thích (Y, Z) kéo theo NOT thích (X, Y) hoặc viết là

thích (X, Z)  thích (Y, Z) thích (X, Y)


50
Áp dụng khẳng định này, tức cho các biến nhận giá trị cụ thể dễ dàng thu được

 thích (nam, đông).

Để giải bài toán nhỏ này cũng như trong việc giải các bài toán với logic vị từ nó
dùng, việc khớp các biến với các giá trị cần được xét chi tiết hơn
Phép toán vị từ cũng dùng 2 kí hiệu gọi là biến lượng từ, để xác định phạm vi của các
biến trong biểu thức logic. Đó là là lượng từ với mọi kí hiệu là  và tồn tại kí hiệu là 

Ví dụ

Ai cũng thích Mai được viết thành X thích (X, mai)

Biểu thức đúng với tất cả các giá trị gán cho X

Ví dụ

Ít nhất một người thích Mai được viết thành  X thích (X, mai)

Chỉ một giá trị nào đó của X khớp với vị từ là biểu thức đúng

Dấu ngoặc dùng để chỉ phạm vi của lượng từ.

Ví dụ:

Câu “nếu Mai xinh thi ai thích Mai đều khoẻ” sẽ được viết thành

X (thích (X, mai)  xinh (mai) khoẻ (X))

d. Lập luận logic

Việc lập luận theo cách không hình thức đòi hỏi một khả năng rút ra được kết
luận từ các sự kiện đã có. Việc lấy ra thông tin mới từ các thông tin đã biết và các luật
là trọng tâm của lập luận trong các hệ chuyên gia. Quá trình lập luận được hình thức hoá
trong bài toán suy luận.

Trong bài toán dùng logic vị từ, người ta có thể lập luận dựa trên các tri thức.
Một trong những cách đơn giản để tiến hành lập luận là sử dụng Modus ponens với các
phép toán logic vị từ. Modus ponens khẳng định Nếu A đúng và A kéo theo B thì B
đúng. Chẳng hạn có trời mưa và nếu trời mưa thì mát người ta sẽ biết trời mát.

Ví dụ:
Bài toán về người máy sẽ minh hoạ quá trình lập luận logic. Giả sử người máy
có tay gắp có thể chuyển động tịnh tiến hoặc xoay, cho phép chuyển đồ vật từ vị trí này
sang vị trí khác. Cần cho người máy hiểu thế giới quanh nó thông qua phép toán vị từ
để nó có thể thực hiện các chức năng vận chuyển đồ vật.
51
Đồ vật quanh người máy gồm khối hộp A, B, D; hình cầu E, hình chóp C. Vị trí
các đồ vật trên mặt bàn như hình vẽ. Hiện tại tay người máy đang rỗi:

Hình 2.11. Sơ đồ mô tả quá trình lập luận logic

*Mô tả thế giới các khối:

- Xác định các đối tượng: khối (A)  khối (B)  chóp (C)  khối (D)  cầu (E)

- Hiện trạng của các khối: trên (A, bàn)  trên (B, bàn)  trên (D, A)  trên (C,
B)

- Hiện trạng của tay máy là rỗng tức không nắm vật nào: tay_máy (rỗng)

- Yêu cầu của bài toán là đặt khối B trên khối A. Yêu cầu này là đích của bài toán
và nó được viết lại là đặt (B, A)

Người ta chỉ đặt khối nào đó lên khối a khi khối A trống tức trống (A). Khối B được
mạng đi đặt vào đau đó khi B được tay người máy nắm tức tay_máy (B). Do vậy đích
của bài toán liên quan đến tay_máy (B)  trống (A)  đặt (B, A). Để có thể áp dụng tri
thức này cho trường hợp tổng quát nó được viết lại với các biến và các lượng tử

XY (tay_máy (X)  trống (Y)  đặt (X, Y)

Trong bài toán này cần kiểm tra một khối có bị khác đè lên không, tức cần kiểm tra một
khối có được là trống hay không. Do vậy cần dùng khẳng định nếu không có gì đề trên
khối X thì khối X gọi là trống. Khẳng định này được viết:

X ( Ytrên (Y, X)  trống (Y))

Tuy chưa đến đích cuối cùng nhưng lần lượt qua các suy diễn người máy sẽ đặt được
khối B lên khối A

2.3. Các luật trong hệ chuyên gia


Hiện nay, hầu hết các hệ chuyên gia đều là các hệ thống dựa trên luật, bới lý do như sau:

• Bản chất đơn thể (modular nature). Có thể đóng gói tri thức và mở rộng hệ
chuyên gia một cách dễ dàng.

52
• Khả năng diễn giải dễ dàng (explanation facilities). Dễ dàng dùng luật để diễn
giải vấn đề nhờ các tiền đề đặc tả chính xác các yếu tố vận dụng luật, từ đó rút ra được
kết quả.
• Tương tự quá trình nhận thức của con người. Dựa trên các công trình của Newell
và Simon, các luật được xây dựng từ cách con người giải quyết vấn đề. Cách biểu diễn
luật nhờ IF THEN đơn giản cho phép giải thích dễ dàng cấu trúc tri thức cần trích lọc.

Luật là một kiểu sản xuất được nghiên cứu từ những năm 1940. Trong một hệ
thống dựa trên luật, công cụ suy luận sẽ xác định những luật nào là tiên đề thỏa mãn các
sự việc.

Các luật sản xuất thường được viết dưới dạng IF THEN. Có hai dạng:

IF < điều kiện > THEN < hành động >

hoặc

IF < điều kiện > THEN < kết luận > DO < hành động >

Tuỳ theo hệ chuyên gia cụ thể mà mỗi luật có thể được đặt tên. Chẳng hạn mỗi luật có
dạng Rule: tên. Sau phần tên là phần IF của luật.

Phần giữa IF và THEN là phần trái luật (LHS: Left - Hand -Side), có nội dung
được gọi theo nhiều tên khác nhau, như tiền đề (antecedent), điều kiện (conditional part),
mẫu so khớp (pattern part),

Phần sau THEN là kết luận hay hậu quả (consequent). Một số hệ chuyên gia có
thêm phần hành động (action) được gọi là phần phải luật (RHS: Right - Hand -Side).
Ví dụ:

Rule: Đèn đỏ

IF

Đèn đỏ sáng
THEN

Dừng

Rule: Đèn-xanh
IF

Đèn xanh sáng

THEN
53
Đi

Trong ví dụ trên, Đèn đỏ sáng và Đèn xanh sáng là những điều kiện, hay những khuôn
mẫu. Sau đây là một số ví dụ khác:

Rule: Điều trị sốt

IF

Bệnh nhân sốt

THEN

cho uống thuốc Aspirin

Hệ thống chẩn đoán xe máy (OPS5)

IF

Máy xe không nổ khi khởi động

THEN

Dự đoán: Xe bị panne sức nén. Pittong, bạc xéc-măng và lòng xy lanh sai tiêu
chuẩn, dễ tạo thành những khe hở nhỏ làm cho pittong không còn kín nên hoà khí không
được nén lên đầy đủ.

Xử lý: nên điều chỉnh hoặc thay mới pittong, bạc xéc-măng và lòng xy lanh cho
đúng tiêu chuẩn

IF

máy xe nổ không ổn định, OR máy xe nổ rồi lại tắt, AND bugi khô

THEN
Dự đoán: Xe đã bị nghẹt xăng.

Xử lý: nên xúc rửa bình xăng và bộ khoá xăng của xe.

MYCIN hệ thống chẩn đoán bệnh viêm màng não và hiện tượng có vi khuẩn bất thường
trong máu (nhiễm trùng)

IF
Tại vị trí vết thương có máu, AND

Chưa biết chắc chắn cơ quan bị tổn thương, AND

Chất nhuộm màu âm tính, AND Vi khuẩn có dạng hình que, AND Bệnh
nhân bị sốt cao
54
THEN

Cơ quan có triệu chứng (0.4) nhiễm trùng.

55
CHƯƠNG 3. CÁC KỸ THUẬT SUY LUẬN
Để giải bài toán trong hệ chuyên gia trước hết người ta thể hiện tri thức như được
trình bày trong chương trước. Sau đó cần có hệ thống lập luận trên các tri thức. Trong
hệ chuyên gia việc lập luận được thực hiện thông qua kĩ thuật suy luận và các chiến lược
điều khiển. Các kĩ thuật suy luận hướng dẫn hệ thống một cách tổng hợp tri thức từ tri
thức đã có trong cơ sở tri thức và từ các sự kiện ghi lại trong bộ nhớ. Các chiến lược
điều khiển thiết lập đích cần đến và hướng dẫn hệ thống lập luận.

3.1. Lập luận


Con người giải bài toán bằng cách kết hợp các sự kiện với các tri thức. Họ dùng
các sự kiện riêng về bài toán và dùng chúng trong ngữ cảnh hiểu tổng thể về lĩnh vực
của bài toán để rút ra kết luận logic. Quá trình này gọi là lập luận.
* Định nghĩa lập luận

Quá trình làm việc với tri thức, sự kiện và các chiến lược giải bài toán để rút ra
kết luận.

Hiểu cách con người lập luận và cách họ làm việc với thông tin về bài toán đã
cho cộng với kiến thức tổng quát của họ về lĩnh vực này sẽ đảm bảo rõ các bước trong
việc xử lý tri thức trong hệ chuyên gia.

3.1.1. Lập luận theo cách suy diễn


Con người dùng lập luận suy diễn để rút ra thông tin mới từ các thông tin đã biết.
Các thông tin này có quan hệ logic với nhau. Lập luận suy diễn dùng các sự kiện của bài
toán gọi là các tiên đề và kiến thức chung có liên quan ở dạng luật gọi là các kéo theo.

Ví dụ:

Kéo theo: cây sẽ buồn nếu không thấy mặt trời lên

Tiên đề: mặt trời chưa mọc

Kết luận: cây sẽ buồn

Lập luận suy diễn là 1 trong các kĩ thuật phổ biến nhất. Suy diễn đã dùng modus
ponens là loại cơ bản của lập luận suy diễn. Khi có A B và A đúng thì rút ra được B
đúng.

3.1.2. Lập luận quy nạp


Con người dùng lập luận quy nạp để rút ra kết luận tổng quất từ 1 tập các sự kiện
theo cách tổng quát hoá

Ví dụ:
56
Giả thiết: Chị Mơ hát hay

Giả thiết: Chị Nụ hát hay

Kết luận: Nói chung các chị hát hay

Qua lập luận này người ta cho rằng kết luận sẽ đúng cho tất cả các trường hợp
cùng loại, dựa trên một số hạn chế của các trường hợp. Thực chất của lập luận quy nạp
là đem cái tối thiểu áp đặt cho đa số. Năm 1988 Firebaugh mô tả quá trình này như sau:

Cho tập các đối tượng X={a,b,c,…}, nếu tính chất P đúng đối với a, và nếu tính chất P
đúng với b, và nếu tính chất P đúng với c…, thì tính chất này đúng với tất cả X.
3.1.3. Lập luận phỏng đoán
Suy diễn là lập luận chính xác từ các sự kiện và thông tin đã biết. Lập luận phỏng
đoán, giả định là 1 loại suy diễn có vẻ hợp lí. Điều này có nghĩa câu kết luận có thể đúng
nhưng cũng có thể không đúng.

Ví dụ

Kéo theo: Đất ướt trời mưa

Tiên đề: Đất ướt


Kéo theo: trời mưa

Kết luận trời mưa cho rằng trời có thể mưa cũng có thể không phải trời mưa mà
đất ướt xảy ra vì lí do khác.

3.1.4. Lập luận tương tự, loại suy


Người ta tạo một mô hình của 1 vài khái niệm thông qua kinh nghiệm của họ. Họ
dùng mô hình này để hiểu một vài hoàn cảnh và đối tượng tương tự. Họ vạch ra điểm
tương đồng giữa hai vật đem so sánh, rút ra sự giống nhau và khác nhau nhằm hướng
dẫn việc lập luận của họ

Ví dụ:

57
Một khung cho biết thông tin đa dạng về đối tượng. Người ta có thể dùng khung
để thể hiện các nét điển hình của đối tượng tương tự. Nếu cho rằng Sư tử giống Hổ thì
Sư tử có nhiều tính chất như trên. Loại lập luận này có thể dùng để hiểu biết về đối tượng
mới và để hiểu rõ thêm bằng cách tra cứu đến những sự khác biệt giữa các đối tượng.
Trong thí dụ này, Sư tử được phân biệt với hổ do các nét khác nhau giữ chúng.
3.1.5. Lập luận theo lẽ thường
Nhờ kinh nghiệm con người có thể giải vấn đề 1 cách hiệu quả. Họ sử dụng lẽ
thông thường để nhanh chóng rút ra kết luận. Lập luận theo lẽ thường có xu hướng thiên
về phán xét sự đúng đắn hơn là lập luận chính xác về logic.
Ví dụ:

Vấn đề chẩn đoán hỏng hóc xe máy: Bugi hỏng thì máy không nổ được. Kết luận
này có được do kinh nghiệm sử dụng các loại xe máy. người ta đoán “thứ nhất tại bugi”
khi thấy xe máy không khởi động được. Loại tri thức này được coi như may rủi, cầu
may.

Khi các may rủi được dùng để hướng dẫ giải bài toán trong he chuyên gia người
ta có kiểu tìm kiếm may rủi hay tìm phù hợp. Loại tìm kiếm này páht hiện lời giải tại
nơi có vẻ là tốt nhất. Như vậy cũng không đảm bảo nơi đó có lời giải. Tuy nhiên cách
tìm kiếm may rủi là thích hợp đối với những ứng dụng cần nhanh chóng thu được lời
giải.

3.1.6. Lập luận không đơn điệu


Đối với nhiều trường hợp người ta lập luận trên các thông tin tĩnh. Các thông tin
này không thay đổi trạng thái trong quá trình giải bài toán. Loại lập luận này được gọi
là lập luận đơn điệu

Ví dụ

Trong bài toán trạng thái của các sự kiện thay đổi
IF trăng tròn THEN trời mát

Nếu có sự kiện ngày rằm thì câu trong IF đúng, tức là người ta đã sử dụng nếu
ngày rằm thì trăng tròn. Lúc này trong cấu trên người ta thu được kết luận trong câu
THEN tức ngày rằm  trăng tròn  trời mát

Sau ngày rằm đã lâu người ta muốn rằng trời hết mát. Tuy nhiên hệ thống với
cách lập luận đơn điệu sẽ giữ trạng thái mát của thời tiết.

58
Do việc theo dõi sự thay đổi của thông tin không mấy khó khăn, khi có sự kiện
nào thay đổi người ta có thể dựa vào sự kiện phụ thuộc khác để thu được kết luận mong
muốn. Loại lập luận như vậy được goi là lập luận không đơn điệu.
Hệ thống có thể lập luận không đơn điệu nếu nó có hệ thống quản lí giá trị chân
lí. Hệ thống này quản lí dữ liệu về nguyên nhân để sự kiện được khẳng định. Do vậy khi
nguyên nhân thay đổi, sự kiện cũng thay đổi theo. Một hệ thống dùng lập luận không
đơn điệu cho thí dụ trên sẽ không tiếp tục cho thời tiết mát mẻ.
3.2. Suy luận
Hệ chuyên gia mô hình hoá quá trình lập luận của con người nhờ kĩ thuật gọi là
suy luận. Việc suy luận là quen thuộc trong hệ chuyên gia.

*Định nghĩa suy luận

Suy luận là quá trình dùng trong he chuyên gia để rút ra thông tin mới từ các
thông tin cũ.

Suy luận là kĩ thuật trong tâm trong trí tuệ nhân tạo, liên quan đến việc mô hình
hoá và hình thức hoá các quá trình lập luận. Lập luận chắc chắn là hoạt động nhận thức
của con người còn có trước trí tuê nhân tạo và hệ chuyên gia. Suy luận có nghĩa rút ra
các kết luận từ tập các giả thiết; do vậy tri thức mới sinh ra từ tri thức cũ. Việc mô hình
hoá các giả thiết, kết luậ là công việc của thể hiện tri thức. Việc mô hình hoá các phần
suy luận trùng với việc tìm các thủ tục suy luận phù hợp.

Một hệ chuyên gia thực hiện suy luận bằng mô đun gọi là mô tơ suy luận hay
quen gọi là mô tơ suy diễn.

*Định nghĩa mô tơ suy luận

Bộ xử lí trong he chuyên gia khớp các sự kiện trong bộ nhớ với tri thức lĩnh vực
trong CSTT để rút ra các kết luận về vấn đề đang xét.

Người ta thường quan tâm về 1 số khía cạnh của suy luận cũng như cách thức
thực hiện 1 mô tơ suy luận. Trong hệ thống mô tơ suy luận thường được coi là kín ít
thấy tường minh. Tuy nhiên người sử dụng cần biết.

Câu hỏi nào sẽ được chọn để người sử dụng trả lời:


Cách tìm kiếm trong CSTT

Làm sao chọn được luật đưa ra thực hiện trong số các luật có cùng khả năng thực
hiện

Thông tin vừa được kết luận có ảnh hưởng thế nào đối với việc tìm kiếm
59
3.2.1. Modus ponens và modus tollens
Hai loại suy luận thông dụng là Modus ponens và modus tollens. Lập luận theo
logic đã được giới thiệu qua các luật suy luận đơn giản gọi là Modus ponens.
*Định nghĩa Modus ponens

Modus ponens là luật logic hình thức khẳng định rằng nếu biết A là đúng và A
kéo theo B thì B đúng.

*Định nghĩa Modus Tollens

Modus tollens là luật logic hình thức cho biết rằng nếu biết A kéo theo B và B là
sai thì A là sai.
Modus ponens làm việc với các tiên đề (các câu đúng) để suy ra các sự kiện mới.
Chẳng hạn có tiên đề với dạng E1E2 và tiên đề khác E1 thì logic suy ra E2 tức E2
đúng. Các tiên đề này có thể được dịch thành danh sách trong đó tiên đề 3 là kết quả của
tiên đề 1 và tiên đề 2

E1

E1E2

E2

Nếu có tiên đề khác E2E3 thì E3 được đưa vào danh sách

Ví dụ:

IF nhiệt độ lớn hơn 38 THEN bệnh nhân bị nóng, ứng với E1 E2

IF bệnh nhân bị nóng THEN uống thuốc cảm, ứng với E2 E3


Coi như đây là 2 tiên đề đầu tiên. STATE-0. Giả sử bệnh nhân nhiệt độ hơn 38, thêm
tiên đề mới “nhiệt độ trên 38” vào trạng thái tạo nên STATE-1

E1E2

E2E3

E1

E2 được thêm vào tạo nên STATE-2

E1E2

E2E3

E1
60
E2

Thông tin mới thêm tạo ra tiên đề E3. Thêm E3 vào tạo nên STATE-3

E1E2

E2E3

E1
E2

E3

Dựa trên tập các kéo theo tức các luật và dữ liệu ban đầu luật Modus ponens tạo nên 1
dãy các khẳng định. Quá trình suy luận được tiến hành nhờ các thông tin đã được khẳng
định. Loại suy luận này là cơ sở của suy luận dữ liệu hay hệ chuyên gia suy luận tiến

3.2.2. Giải vấn đề


Modus ponens suy ra thông tin mới từ các dữ liệu ban đầu. Chính qua strình suy
luận cho biết thông tin nào là phù hợp với ứng dụng. Đương nhiên trong các ứng dụng
phải thu thập thêm thông tin để suy ra đích bài toán. Chẳng hạn muốn khẳng định rõ về
bện bác sĩ cần làm các xét nghiệm tại phòng thí nghiệm. Loại suy luận này là cơ sở của
việc giải vấn đề. Robinson giới thiệu phương pháp này vào năm 1965 và dùng làm thuật
toán cơ bản được dùng trong ngôn ngữ lập trình Prolog.

*Định nghĩa giải vấn đề

Chiến lược suy luận dùng trong các hệ thống logic để xác định chân lí của 1
khẳng định.

Phương pháp giải muốn chứng minh rằng định lí nào đó hay 1 đích thể hiện qua
mệnh đề P có đúng không dựa trên tập các tiên đề đã cho về vấn đề này. Thực ra phương
pháp này chứng minh phủ định của P không thể đúng được. Do vậy nó có tên là chứng
minh bằng phản chứng. Phương pháp giải đưa ra biểu thức mới gọi là khối giải bằng
cách hợp các tiên đề và phủ định của điều phải chứng minh.

Để minh hoạ cho cách giải, giả sử có 2 tiên đề dạng AB và BC. Phương pháp tạo
khối giải bằng cách dùng logic AND

(AB)(BC) = AC

Về hình thức có thể cộng các biểu thức và lưu ý B và B triệt tiêu. Khối giải này được
bổ sung vào tập các tiên đề. Quá trình tiếp tục cho đến khi thấy mâu thuẫn. mâu thuẫn

61
đơn giản là 2 tiên đề có giá trị logic trái nhau như P và P. Mâu thuẫn ngầm chỉ ra rằng
mệnh đề đố đúng tức câu ban đầu đúng.

Thuật toán giải được tổng kết như sau:

Giả sử P đúng

Chỉ ra được các tiên đề và P đưa đến mâu thuẫn

Kết luận rằng P là sai vì nó đưa đến mâu thuẫn

Do P sai nên P đúng

Ví dụ:

Tiếp tục thí dụ về bệnh nhân bị nóng. Lưu ý luật IF A THEN B được biểu diễn bằng kí
hiệu là AB nó có giá trị logic như AB

Ban đầu có

IF nhiệt độ lớn hơn 38 THEN bệnh nhân bị nóng, ứng với E1E2 tức E1E2

IF bệnh nhân bị nóng THEN uống thuốc cảm, ứng với E2E3 tức E2E3

Nhiệt độ trên 38 tức E1

Người ta muốn chứng minh E3 là đúng. Theo thuật toán giả sử E3 là đúng. Lúc này bài
toán có STATE-0

1. E1E2

2. E2E3

3. E1

4. E3

Giải tiên đề 1 và 2 ta thu được E1E3. Bổ sung nó vào tập trạng thái được trạng thái
STATE-1

1. E1E2

2. E2E3

3. E1

4. E3

5. E1E3

62
Giải tiên đề 3 và 5 ta thu được E3. Bổ sung nó vào tập trạng thái được trạng thái STATE-
2

1. E1E2

2. E2E3

3. E1

4. E3

5. E1E3

6. E3

Cuối cùng thấy được mâu thuẫn giữa tiên đề 4 và 6. Do vậy E3 là sai tức E3 là
đúng. Vậy là đích ban đầu là uống thuốc cảm được thiết lập. Kết quả này như kết quả
thu được bằng Modus ponens nhưng cách tiếp cận khác.

Trong modus ponens dữ liệu ở dạng thông tin dùng khởi động tìm kiếm và kết quả có
được do dùng kéo theo. Nếu bài toán có nhiều phép kéo theo quá trình có thể rối lên,
suy luận ra tất cả thông tin có thể. Việc giải chỉ tập trung vào đích chỉ xét các kéo theo
có nghĩa

Cách giải vừa nêu dựa trên logi mệnh đề. Việc dựa vào phép toán vị từ cũng tương tự
nhưng phức tạp hơn cần có các thủ tục làm việc với biến và các luọng từ. Điêù này cần
đến các thuật toán như thuật toán thống nhất và dùng hàm Skolem.

3.2.3. Giải vấn đề một cách tự nhiên


Trong việc giải không cần phân biệt đâu là đích là giả thiết hay luật. Tất cả thông
tin đưa vào danh sách và được luật suy luận xử lí. Loại xử lí này cũng có thể lẫn đường
do đó không giữ được đâu là điều cần chứng minh. Vậy nên kĩ thuật suy luận một cách
tự nhiên hay giải như không giả chứng minh câu hướng đến đích. Suy luận tự nhiên
dùng luật suy luận quay lui theo dạng sau:

Để chứng minh [H(AB)C]: Nếu đã có (BC) thì chứng minh (HA)

Giải theo cách tự nhiên có ưu điểm là cho phép trao đổi vói người dùng trong quá
trình chứng minh. Cách này thành công trong hệ thống IMPLY năm 1977. Nó cũng có
những nét như hệ chuyên gia hướng đích hay quay lui.

3.3. Suy luận tiến


a. Giới thiệu

63
Quá trình giải đối với vài vấn đề bắt đầu bằng việc thu thập thông tin. thông tin
này được lập luận để suy ra kết luận. Điều này cũng như bác sĩ chẩn đoán bằng một loạt
các câu hỏi về triệu chứng của bệnh nhân. Loại suy luận này được mô hình hoá trong hệ
chuyên gia thực hiện việc tìm kiếm dữ liệu với tên là suy luận tiến. Suy luận tiến sử
dụng Modus ponens.
*Định nghĩa suy luận tiến

Suy luận tiến là chiến lược suy luận được bắt đầu bằng tập sự kiện đã biết, rút ra
các sự kiện mới nhờ dùng các luật mà phần giả thiết khớp với sự kiện đã biết và tiếp tục
quá trình này cho đến khi thấy trạng thái đích hoặc cho đến khi không còn luật nào khớp
với các sự kiện đã biết hay được sự kiện suy luận.

*Ứng dụng đơn giản nhất của hệ thống suy luận tiến hoạt động như sau

Trước tiên hệ thống lấy các thông tin về bài toán do người dùng cung cấp và đặt
chúng vào bộ nhớ làm việc.

Suy luận quét các luật theo dãy xác định trước xem phần giả thiết có trùng khớp
với nội dung trong bộ nhớ.

Nếu phát hiện 1 luật như mô tả trên, bổ sung kết luận của luật này vào bộ nhớ.
Luật này gọi là cháy.

Tiếp tục quá trình này có thể bỏ qua các luật đã cháy. Quá trình tiếp cho đến khi
không khớp được luật nào.

Quá trình dừng khi người ta không tiếp tục làm được hay thấy điều phải chứng
minh. Lúc này bộ nhớ có các thông tin của người dùng và thông tin do hệ thống suy
luận.

Ví dụ:

Giả sử bệnh nhân đến khám bệnh. Bác sĩ dùng kiến thức y học và thông tin do
bệnh nhân khai để chẩn đoán bệnh. Mô hình chẩn đoán theo suy luận tiến.

Thí dụ xét bệnh viêm họng

Luật 1: IF bệnh nhân rát họng AND nghi viêm nhiễm THEN tin rằng bệnh nhân
viêm họng, đi chữa viêm họng

Luật 2: IF nhiệt độ bệnh nhân quá 37 độ THEN bệnh nhân bị sốt

Luật 3: IF bệnh nhân ốm trên 1 tuần AND bệnh nhân sôt THEN nghi bệnh nhân
viêm nhiễm

64
Thông tin từ bệnh nhân là

Bệnh nhân có nhiệt độ 39

Bệnh nhân đã ốm 2 tuần

Bệnh nhân rát họng


Khi hệ thống thấy giả thiết của luật khớp với thông tin trong bộ nhớ, câu kết luận của
luật tri thức bổ sung vào bộ nhớ. Nhờ các thông tin hệ thống kết luận được 3 thông tin
mới:
Bệnh nhân sốt

Nghi viêm nhiễm

Phải chữa họng bệnh nhân

Hệ thống suy luận tiến kết luận mọi thứ có thể suy luận được một cách ngô nghê.
Tiếp cận này phù hợp đối với một vài ứng dụng. Tuy nhiên trong ứng dụng khác tiếp
cận này đưa ra các thông tin không cần thiết. Giả sử cho thêm 2 luật

Luật 4: IF bệnh nhân sốt THEN lúc ấy bệnh nhân không đi lại được

Luật 5: IF bệnh nhân không đi lại được THEN bệnh nhân ở nhà và đọc sách

Hệ thống dễ dàng suy được bệnh nhân sốt. Thông tin này làm cháy luật 4 và luật
5. Thông tin mới về việc họ ở nhà và đọc sách chẳng giúp ích gì cho bác sĩ. Đương nhiên
làm sao hệ thống biết được thông tin đó quan trọng hay không.

Nói chung hệ thống suy luận tiến không làm thế nào biết được thông tin này là
quan trọng hơn thông tin kia. Do vậy nó tốn công sức vào việc phát hiện các sự kiện
không cần thiết.
b. Giải quyết xung đột

Trong ví dụ về suy luận tiến, hệ thống kiểm tra các luật để thực hiện luật khi giả
thiết khớp với nội dung của bộ nhớ làm việc. Tất nhiên có các luật khác có thể cháy
được nhưng không được hệ thống kịp thời xem xét đến. Sở dĩ như vậy là vì mô tơ suy
luận xử lí các luật theo thứ tự. Thứ tự xem xét các luật là khía cạnh quan trọng trong hệ
chuyên gia và được tôn trọng. Vì vậy tiếp cận này có thể là thuận lợi đối với một vài
ứng dụng hoặc gây khó khăn cho các ứng dụng khác do thứ tự cứng nhắc đã quy định.

Ví dụ: Dùng hệ chuyên gia để trợ giúp lựa chọn hình thức giải trí khi có thời gian rỗi.
Giả sử người ta có 2 luật và đang rỗi:

65
Luật 1: IF có trận đấu bóng bàn AND có thời gian rỗi THEN rủ nhau đi xem và
cổ vũ cho trận đáu bóng bàn
Luật 2: IF có bạn rủ chơi bài AND có thời gian rỗi THEN chơi bài

Khi các giả thiết của 2 luật đều đúng dùng luật như đã làm thì cả 2 luật đều cháy.
Tuy vậy không thể thực hiện 2 luật cùng 1 lúc.

Để giải quyết xung đột này trong hệ thống người thiết kế hệ chuyên gia cần tính
đến chiến lược giải quyết xung đột.

- Chiến lược đơn giản là trước tiên thiết lập đích và ngừng hệ thống ngay khi đích
đạt được. Như vậy trong thí dụ nếu đích là tôi sẽ đến X thì khi xácđịnh giá trị X dừng
hệ thống lại. Trong chiến lược này thứ tự luật có ý nghĩa.
- Chiến lược khác dùng độ ưu tiên của luật. Độ ưu tiên đơn giản là con số gán
cho luật để thể hiện mứ độ quan trọng của nó. Khi đó hệ thống sẽ kiểm tra các luật và
chọn ra luật có độ ưu tiên cao nhất để thực hiện.

- Chiến lược chọn luật để thực hiện khi nó đã cháy vài lần.

Các chiến lược này gọi là chiến lược giải quyết xung đột.

*Định nghĩa giải quyết xung đột

Chiến lược chọn 1 xâu luật cháy trong số nhiều luật có thể cháy.

Trong hệ thống dùng chiến lược giải quyết xung đột này việc giải bài toán được
thực hiện theo các bước của quá trình ghi nhận - giải - hoạt động trên các luật.

Ghi nhận: khớp giả thiết của các luật với sự kiện liệt kê trong bộ nhớ làm việc và định
tên các luật có thể cháy này.

Giải: nếu nhiều luật có thể cháy chọn 1luật theo chiến lược nào đó.
Hoạt động: thực hiện luật này và bổ sung kết luận vào bộ nhớ làm việc

Bước ghi nhận định tên các luật có thể thực hiện được rồi đặt chúng vào tập tranh chấp.
Bước giải dùng 1 chiến lược để chọn ra 1 luật trong tập tranh chấp. Các chiến lược giải
quyết xung đột điển hình được dùng là:

- Luật đầu tiên có giả thiết khớp với nội dung bộ nhớ làm việc

- Luật có độ ưu tiên cao nhất. Trong hệ thống dùng chiến lược này thứ tự của
thông tin là quan trọng

66
- Luật đặc biệt nhất. Chiến lược này để ý đến luật khác biệt so với các luật tổng
quát. Chẳng hạn một luật là khác biệt hơn nếu nó có nhiều giả thiết hơn. Tư tưởng của
ý này là nếu xử lí nhiều thông tin thì khả năng thành công nhiều hơn.
- Luật liên quan đến phần tử vừa được thêm vào bộ nhớ. Chiến lược liên quan
đến của sự kiện trong bộ nhớ làm việc.

- Không thực hiện luật đã cháy. Chiến lược này tránh được suy luận xoay vòng.
Nó thường được dùng kèm với chiến lược khác.

- Thực hiện các luật với lập luận tách biệt. Nó yêu cầu làm cháy tất cả các luật
nhưng bổ sung các kết luận vào bộ nhớ tách rời. Điều này cho phép hệ thống quản lí các
dòng suy luận tách rời và xem xét được nhiều lần giải.

- Các chiến lược giải quyết xung đột đều là hoạt động điều khiển việc thực hiện
luật. Người ta có thể thêm vào hệ thống chức năng tìm may rủi để hướng dẫn tìm luật 1
cách thông minh. Việc chọn 1 hoặc nhiều luật phụ thuộc vào mức độ cần thiết của ứng
dụng.

3.4. Suy luận lùi


a. Giới thiệu

Kĩ thuật suy luận tiến là tốt khi làm việc với bài toán bắt đầu từ các thông tin cần
lập luận một cách logic đến kết luận. Trong bài toán loại khác người ta bắt đầu từ các
giả thiết cần chứng minh rồi tiến hành thu thập thông tin. Chẳng hạn bác sĩ nghi người
bệnh bị bệnh nào đó ông ta tìm các triệu chứng của bệnh ấy. Loại lập luận này tri thức
mô hình hoá trong he chuyên gia với tên là suy luận lùi.

*Định nghĩa suy luận lùi

Chiến lược suy luận để chứng minh 1 giả thiết bằng cách thu thập thông tin hỗ
trợ.

Hệ thống suy luận lùi bắt đầu từ đích cần chứng minh.

- Trước hết nó kiểm tra trong bộ nhớ làm việc để xem đích này đã được bổ sung
trước đó chưa. Bước này cần thiết vì cơ sở tri thức khác có thể đã chứng minh đích này.
- Nếu đích chưa hề được chứng minh nó tìm các luật có phần then chứa đích.
Loại luật này gọi là luật đích.

- Hệ thống xem phần giả thiết của các luật này có trong bộ nhớ làm việc không.
Các giả thiết không được liệt kê trong bộ nhớ gọi là các đích mới hay đíchcon cần được
chứng minh. Các đích con này được cung cấp tức giải nhờ các luật khác.
67
Quá trình này tiếp tục đệ quay cho đến khi hệ thống tìm thây 1 giả thiết không
được luật nào cung cấp. Đó là 1 sơ khởi.
*Định nghĩa sơ khởi

Sơ khởi là 1 giả thiết mà không do luật nào kết luận

Khi thấy sơ khởi hệ thống yêu cầu người dùng cung cấp thông tin. hệ thống dùng
các thông tin này để giải đích con và đích ban đầu. Suy luận lùi thực hiện tương tự như
cách con người kiểm tra 1 giả thiết có đúng không.

Ví dụ:
Giả sử sau khi tiếp bệnh nhân bác sĩ nghi rằng người bệnh viêm họng. Công việc
của ông ta là chứng tỏ nghi ngờ này. Thủ tục chẩn đoán được mô hình hoá bằng hệ
chuyên gia suy luận lùi.

Luật 1: IF có dấu hiệu viêm họng AND có cơ quan nội tạng bị viêm THEN bệnh
nhân bị viêm họng

Luật 2: IF họng bệnh nhân đỏ THEN có dấu hiệu viêm nhiễm

Luật 3: IF cơ quan bị thương tổn AND có khuẩn cầu AND có hạt THEN chắc
chắn cơ quan nội tạng bị viêm

b. Lên lịch các đích

Suy luận lùi đơn giản chỉ có 1 đích cần chứng minh. Mỗi hệ thống suy luận lùi
có ít nhất 1đích để bắt đầu. Tuy nhiên nhiều ứng dụng cần 1 xâu các đích theo dãy sắp
đặt thứ tự gọi là lịch các đích.

*Định nghĩa lịch các đích

Lịch các đích là 1 xâu các đích tuân theo thứ tự mô tả trước
Lịch các đích có thể chỉ là liệt kê thứ tự một hai. hệ thống sẽ thực hiện các đích
theo thứ tự xuất hiện trong lịch. Người ta dùng lịch các loại đích này khi về bản chất bài
toán được trình bày theo quá trình tuần tự.
Người ta có thể chỉ thị cho hệ thống cái cần làm khi đích được chứng minh.
Chẳng hạn như quyết định để hệ thống tiếp tục chứng minh các đích khác hay dừng lại.
Cũng có thể đua ra lịch phức tạp để hệ thống phải biết làm gì khi đích đúng hay sai.

Việc dùng lịch các đích được dùng nhiều trong trường hợp người dùng muốn có
nhiều thông tin về vấn đề đang xét. Tuỳ theo mức thông tin đã đạt được mà họ có thể
suy luận tiếp.
68
c. Các đích do người dùng đặt ra

Khi thiết kế lịch các đích cần xác định thứ tự hệ thống tìm đích. Danh sách có
thứ tự này là cứng nhắc, ngăn cản hệ thống dùng được các điểm mạnh của thông tin về
bài toán trong quá trình giải vấn đề.

Ví dụ:

Giả sử cần chẩn đoán sai sót trong hệ thống chuyển mạnh truyền thông lớn gồm
10 môđun khác nhau người ta có thể xếp lịch các mô đun kế tiếp. Do chẳng có lí do gì
đảm bảo môđun này dễ hỏng hơn môđun kia khi xảy ra sự cố người ta có thể kiểm tra
lần lượt từng môđun theo thứ tự từ 1 đến 10.

Nhưng nếu có khói bốc lên tại môđun thứ 10 kĩ thuật viên cầu cứuhệ thống. hệ
thống kiểm tra lần lượt từ môđun thứ nhất đến môđun thứ 9 thì môđun cuối cùng đã
hỏng.

Để tránh loại trục trặc này hệ thống được thiết kế với người dùng thông minh.
“Thông minh” có nghĩa người dùng có thông tin hướng dẫn hệ thống làm việc. Cách
đơn gảin là cho phép người dùng truy nhập đến thực đơn kiểm tra các mô đun để chọn
ngay môđun có vấn đề. Nếu người dùng chẳng có thông tin nào hệ thống thực hiện theo
lịch đã vạch sẵn. Người ta có thể dùng ý tưởng này khi hệ thống có nhiều đích con.

d. Đích do luật tạo ra

Đối với một vài ứng dụng khi thực hiện các luật lại sinh ra các đích mới. Tiếp
cận này cho phép hệ thống thích nghi với việc tìm kiếm tuỳ theo kết quả tìm.

Ví dụ: Cần chọn bóng bán dẫn của bộ khuyếch đại công suất. Về kĩ thuật người ta dùng
bộ phận giảm nhiệt khi cần công suất quá ngưỡng nào đó. Do bộ hạ nhiệt không nhất
thiết phải có người ta dùng các luật sau để thay đổi đích của hệ thống.

IF đầu ra của bộ khuyếch đại quá 10 w THEN cần dùng bán dẫn công suất cao
AND tạo đích mới để thiết kế toả nhiệt bán dẫn.

Việc cho phép hệ thống điều khiển thao tác dựa trên thông tin tìm được một khía
cạnh quan trọng trong hệ chuyên gia. Một cách cho phép làm điều này dùng luật thay
đổi đích hệ thống. Loại luật đặc biệt như vậy gọi là luật meta.
3.5. Hướng dẫn xây dựng hệ chuyên gia với các tri thức về máy tính
Trong phạm vi rộng (large extent), việc phát triển một hệ chuyên gia phụ thuộc
vào nguồn tài nguyên cung cấp. Tuy nhiên, giống như các dự án khác, việc phát triển
còn phụ thuộc vào cách tổ chức quản lý quá trình phát triển như thế nào.

69
a. Quản lý dự án (Project Management)

Quản lý dự án, chủ đề tiếp cận hệ chuyên gia, bao gồm các công đoạn như sau:

Quản lý hoạt động (Activity Management), gồm:


• Lập kế hoạch:

- Định nghĩa các hoạt động (define activities) (planning)

- Xác định hoạt động ưu tiên (specify priority of activities)

- Nhu cầu tài nguyên (resource requirement)


- Ghi nhớ các sự kiện (milestones)

- Xác định thời gian (duration)

- Phân công trách nhiệm (responsabilities)

• Lập biểu công việc

- Ấn định điểm bắt đầu và điểm kết thúc dự án (scheduling)

- Giải quyết xung đột khi gặp các việc cùng mức ưu tiên

• Phân bổ thời gian (chronicling)

- Kiểm tra thực hiện dự án (monitor project performance)

• Phân tích (analysis)

- Phân tích các hoạt động về lập kế hoạch

- Lập biểu công việc và phân bổ thời gian hoạt động

Quản lý cấu hình sản phẩm (Product Configuration Manage ment):

• Quản lý sản phẩm (product management)

- Quản lý các phiên bản khác nhau của các sản phẩm

• Quản lý thay đổi (change management)

- Quản lý các giải pháp sửa đổi sản phẩm và ước lượng ảnh hưởng của thay đổi
sản phẩm

- Phân công người sửa đổi hệ thống

- Cài đặt phiên bản mới


Quản lý tài nguyên (Resource Management):
70
• Dự báo nhu cầu tài nguyên (forecast needs for resource)

• Thu nhận tài nguyên (acquire resources)

• Phân công trách nhiệm để sử dụng tối ưu nguồn tài nguyên (assign responsabilities for
optimium use of resources)

• Phân bổ tài nguyên để giảm thiểu tắc nghẽn (provide critical resources to minimize
bottle-necks)

Hình dưới đây mô tả quá trình quản lý dự án phát triển một hệ chuyên gia.

Quản lý dự án (project management)

Quản lý hoạt động Quản lý cấu hình sản phẩm Quản lý tài nguyên

Lên Ghi Quản Quản Thu Sử


Lập Nhu Phân
lịch chép Phân lý sản lý nhận dụng
kế cầu tài bổ tài
công sự tích phẩm thay tài tài
hoạch nguyên nguyên
tác kiện đổi nguyên nguyên

71
CHƯƠNG 4. LÝ THUYẾT CHẮC CHẮN
Một dạng thông dụng của lí thuyết xác suất để lập luận không chính xác trong hệ
chuyên gia là lí thuyết chắc chắn. Lí thuyết này phát triển trong MYCIN và liên quan
đến các độ đi giám định độ tin cậy chứ không gắn chặt với các đánh giá xác suất một
cách chặt chẽ. Các kết quả nghiên cứu và ứng dụng dẫn đến việc phát triển mô hình chắc
chắn. Mô hình này cho phép lập luận không chính xác trong nhiều ứng dụng của hệ
chuyên gia.

4.1. Tổng quan về lý thuyết chắc chắn


Các chuyên gia thường đánh giá, suy xét khi giải vấn đề. Thông tin về vấn đề có
thể không đầu đủ và một vài tri thức có thể không xác thực. Do vậy mà họ cần thích
nghi với tình trạng này và tiếp tục lập luận thông minh. Đây chỉ là 1 trong các khó khăn
vì việc quản lí lập luận không chính xác cũng không dễ dàng.

Người ta có thể dùng lí thuyết xác suất. Dù rằng chặt chẽ về toán học, kic thuật
này đòi hỏi cơ sở thống kê mà ít loại bài toán trong he chuyên gia đáp ứng được. Chẳng
hạn khi xác định người bệnh có đau nặng không người ta thu lll kết luận với tin cậy 0.7.
Do thiếu cơ sở thống kê nên những thông tin để giúp páhn đoán không dùng được trong
các luật của he chuyên gia mà chỉ dùng để giải thích và vì vậy không thể suy luận xác
suất bằng kĩ thuật Bayes được.

Tuy nhiên nếu xem hệ chuyên gia như cơ chế giải vấn đề may rủi thì người ta có
thể dùng các kĩ thuật lập luận không chính xác như trong MYCIN.
4.1.1. Lập luận không chính xác trong MYCIN
MYCIN là hệ chuyên gia được phát triển để cho lời khuyên khi chẩn đoán bệnh
nhân nhiễm trùng máu. Đây là bài toán điển hình trong nhiều lĩnh vực nhưng có ý nghĩa
đặc biệt trong lĩnh vực y học do các ràng buộc về thời gian. Trong phòng cấp cứu cần
thiết có các hành động đúng và nhanh. Đối với các bệnh đe doạ đến tính mạng thầy
thuốc có thể tiến hành xét nghiệm trước đó để có các thông tin đầy đủ và chính xác.
Nhưng đối với ca cấp cứu các bác sĩ buộc phải xử lí với tình trạng thông tin không chính
xác và phải có chẩn đoán tốt nhất.
Về suy luận không chính xác trong lĩnh vực y học người ta thấy có nhiều luật
không chính xác. Một số ít luật có thể giúp chẩn đoán tốt cho ca bệnh nhưng những luật
này ít được dùng đến. Phần lớn các luật dùng trong y học ở dạng không chính xác. Chẳng
hạn thầy thuốc phát biểu nếu thấy triệu chứng A và B thì có vài chỉ định liên quan đến
bệnh này bệnh nọ.

72
Nhóm MYCIN ghi nhận rằng kĩ thuật lập luận không chính xác cần được tích
hợp vào hệ thống. Họ cũng thấy được tính không phù hợp của tiếp cận xác suất vì không
đáp ứng được các thông tin thống kê về vấn đề. Để quản lí tình trạng này nhóm MYCIN
quyết định nới lỏng các yêu cầu chặt chẽ của kĩ thuật xác suất cổ điển và tiếp cận đơn
giản hơn. Trước tiên họ quyết định đặt các câu hỏi liên quan đến điều họ muốn kĩ thuật
lập luận không chính xác thực hiện chứ không hỏi về cách thức thực hiện. Họ cảm thấy
việc quan sát cáchchuyên gialàm trên thông tin không chính xác sẽ nhìn thấu đủ để phát
triển các yêu cầu của kĩ thuật lập luận không chính xác.

4.1.2. Thể hiện dấu hiệu không chắc chắn


Nhóm MYCIN quan sát thấy thầy thuốc làm việc với ca cấp cứu thường dùng
thông tin không chắc chắn thậm chí không rõ. Họ ghi nhận rằng dưới điều kiện như vậy,
thầy thuốc thường phân tích thông tin sẵn có với thuật ngữ định tính như có thể, có vẻ
như, hầu như chắc chắn rằng…

Đối với dấu hiệu không chắc chắn nhóm MYCIN quyêt định gán 1 nhân tố chắc
chắn CF để thể hiện độ tin cậy của thầy thuốc vào dấu hiệu đó. Số này chạy từ –1 ứng
với sai hoàn toàn đến +1 ứng với đúng hoàn toàn. Số dương thể hiện sự tin cậy, số âm
thể hiện sự không tin cậy. Chẳng hạn thầy thuốc phát biểu rằng dấu hiệu nào đó có thể
đúng thì giá trị CF=0.6 được gán cho dấu hiệu đó.

4.1.3. Thể hiện các luật không chắc chắn


Nhóm MYCIN cũng quan sát thấy các thầy thuốc thường dùng suy luận không
chính xác trên các thông tin có sẵn. Tức là thầy thuốc chỉ tin 1 phần vào sự suy xét trên
dấu hiệu nào đó. Đối với suy luận không chính xác cần giá trị CF cho mỗi luật.

Ví dụ:

Có luật: IF có dấu hiệu thương tổn AND hình thái khuẩn cầu AND hình thể trên
vết thương là chuỗi THEN chỉ định khuẩn cầu chuỗi với CF 0.7

Nếu kết luận chỉ phụ thuộc một phần vào 1 trong các giả thiết trong luật thì CF
có thể dùng cho riêng giả thiết đó. Khi đó luật có dạng.

IF E1 AND E2 AND …AND En THEN H có CF=CFi


4.1.4. Suy luận không chắc chắn
Người ta thấy rằng khi độ tin cậy của thầy thuốc vào dấu hiệu đang có là nhỏ hơn
sự chắc chắn thì độ tin cậy này trong suy luận liên quan cũng giảm đi. Chẳng hạn luật
đầu tiên kết luận về việc chỉ ra tổ chức bị viêm dạng hạt người ta dùng giả thiết không

73
chắc chắn CF(Ei)<1 và mức độ tin cậy trong kết luận giảm CF(H)<0.7. Hệ thống
MYCIN áp dụng suy luận không chắc chắn theo kĩ thuật này.
4.1.5. Tổ hợp dấu hiệu từ nhiều nguồn
Khi thầy thuốc nhận thông tin trợ giúp để kết luận từ nhiều nguồn người ta thấy
rằng kết luận có độ tin cậy lớn hơn. Do vậy lí thuyết chắc chắn cần tăng độ tin cậy về
kết luận khi nhận trợ giúp từ nhiều luật.

Thí dụ:

Luật R1. IF A AND B THEN Z CF=0.8

Luật R2. IF C AND D THEN Z CF=0.7


Cả 2 luật đều kết luận về sự kiện Z nhưng với giá trị CF khác nhau. Nếu 2 luật
đều cháy thì người ta thu được 2 độ tin cậy về Z. Ở đây người ta cần kết hợp hai luật tức
hai nhận định có khả năng và có thể.

Trong MYCIN thay vì dùng công thức người ta quyết định hỏi. Sau đó người ta
không dùng công thức chính xác mà áp một số thuộc tính để công thức phải thoả mãn
trong 1 số trường hợp. Hai thuộc tính tri thức chọn là tráo đổi và tiệm cận.

Thuộc tính tráo đổi quan trọng ở chỗ tránh được sự phụ thuộc về thứ tự áp dụng
luật. Chẳng hạn khi có 2 luật có cùng độ tin cậy về quyết định cuối cùng thì áp dụng luật
nào đầu tiên cũng như vậy. Còn thuộc tính tiệm cận cho phép tổ hợp theo nghĩa tiệm
cận về kết luận hợp lí trừ phi người ta có giải pháp đưa ra lời giải đúng. Với cách làm
này kết luận sẽ có độ tin cậy tăng từng phần.

4.1.6. Độ tin cậy thực


Thông thường thầy thuốc sẽ cân đối độ tin cậy về giả thiết cho cả dấu hiệu dương
tính và dấu hiệu âm tính. Tuỳ theo trường hợp mà dấu hiệu được chấp nhận hay bị loại.
Vấn đề đặt ra là độ tin cậy thực là bao nhiêu?

Đối với trường hợp nàyMYCIN quyết định tạo độ tin cậy thực trong giả thiết của
luật. Trước hết người ta tập hợp tất cả thông tin trợ giúp và gọi nó là độ đo tin cậy MB
trong giả thiết. Việc tập hợp tiên hành theo cách hoán đổi và tiệm cận. Tiếp theo các
thông tin loại bỏ giả thiết được tập hợp lại theo cách tiệm cận và hoán đổi gọi là độ đo
không tin cậy MD. Độ tin cậy thực hay CF trong giả thiết được tính bằng độ lệch giữa
hai giá trị đo này.

74
Ví dụ: Một vài thông tin hỗ trợ giả thiết với độ MB(H)=0.8 trong khi dấu hiệu khác loại
trừ h cho giá trị MD(H)=0.2. Trong trường hợp này độ tin cậy thực tế về H được tính
CF(H)=0.8-0.2=0.6. Lúc này H được xem là có khả năng đúng
4.1.7. Cơ sở của lí thuyết chắc chắn
Phần trên đã nêu lên sự cần thiết vầ mô hình chắc chắn. Nhu cầu này sinh ra 1
cách tự nhiên khi thày thuốc quản lí thông tin không chính xác. Dù vậy nhưng cần khẳng
định rằng mô hình này không hoàn toàn dựa vào lí thuyết xác suất mà chỉ theo lí thuyết
này khi thành lập mô hình.

Lí thuyết chắc chắn giả thiết rằng xác suất trước của giả thiết H, p(H) thể hiện độ
tin cậy được giám định của chuyên gia về H. Độ không tin cậy p(~H) củachuyên gia
được coi là tuỳ theo ràng buộc xác suất truyền thống tức p(H) + p(~H)=1. Ngoài ra còn
giả thiết rằng nếuchuyên gia quan sát dấu hiệu thấy xác suất về giả thiết có dấu hiệu (tức
xác suất có điều kiện p(H|E)) lớn hơn xác suất trước là p(H) tức là:
P(H|E) > p(H) đúng thì độ tin cậy củachuyên giavề giả thiết tăng tỉ lệ thuận đến
(p(H|E) - p(H)) / (1- p(H))

Mặt khác nếu P(H|E) < p(H) thì độ tin cậy củachuyên gia về giả thiết sẽ giảm tỉ
lệ thuận về (p(H) – p(H|E)) / p(H)

Cái chính của lí thuyết này là khi có một chút dấu hiệu, độ tin cậy của chuyên gia
về giả thiết có thể tăng hay giảm chút ít. Ý này được phát triển gắn với độ đo MB và
MD.

*Định nghĩa độ đo tin cậy

Giá trị bằng số thể hiện độ tin cậy tăng lên về giả thiết H dựa trên dấu hiệu E.

*Định nghĩa độ đo không tin cậy

Giá trị bằng số thể hiện độ không tin cậy tăng lên về giả thiết H dựa trên dấu
hiệu E.

Các giá trị này thoả mãn 0 ≤MD, MB 1. Chúng được xác định hình thức theo
xác suất trước có điều kiện theo công thức sau

 MB(H, E)=1 nếu p(H)=1

Ngược lại thì MB(H, E)=(max{p(H | E), p(H)}-p(H))/(1-p(H))

 MD(H, E)=1 nếu p(H)=0

Ngược lại thì MD(H, E)=(min{p(H | E), p(H)}-p(H))/(1-p(H))

75
Do người ta quan sát một vài thông tin, thông tin này làm thay đổi độ tin cậy hay
độ không tin cậy vào giả thiét cho nên người ta kết hợp 2 giá trị trên vào giá trị độ tin
cậy chung, CF=MB-MD; -1 ≤ CF ≤+1
*Định nghĩa nhân tố tin cậy

Giá trị bằng số thể hiện mức độ tin cậy thực vào giả thiết khi có thông tin

Giá trị –1 của CF thể hiện “sai chắc chắn” và +1 thể hiện “đúng chắc chắn”. Giá
trị 0 cho biết “không biết”, giá trị âm thể hiện độ không tin vào giả thiết trong khi giá trị
dương ngược lại.

Hình 4.1. Phạm vi của các giá trị CF

Tuỳ theo tình huống thực tế có một số trường hợp điển hình xảy ra như sau:
*Trường hợp 1. Dấu hiệu khẳng định hoàn toàn giả thiết

Nếu dấu hiệu đã có E khẳng định hoàn toàn giả thiết H thì p(H|E)=1. Do vậy
MB(H,E)=1, MD(H,E)=0 và tính được CF(H,E)=1. Do vậy khi E hoàn toàn xác định H,
theo sơ đồ về giá trị CF thì H đúng chắc chắn.

*Trường hợp 2. Dấu hiệu hoàn toàn không xác định giả thiết

Nếu dấu hiệu đã có E hoàn toàn không xác định giả thiết H thì p(~H | E)=1 thì
p(H,E)=1-p(~H,E)=0. Vậy MB(H,E)=0, MD(H,E)=1 nên tính được CF(H,E)=-1 tức H
sai chắc chắn.

*Trường hợp 3: Thiếu dấu hiệu

Nếu dấu hiệu đã có E độc lập với giả thiết thì khẳng định hay phủ nhận được H
tức p(H | E)=p(H). Theo công thức tính MD, MB thì MB(H,E)=MD(H,E)=0 và tính
được CF(H,E)=0. Trường hợp này có nghĩa nếu H và E là độc lập thì H được xem như
không biết.

*Trường hợp 4: Dấu hiệu dương

Nếu dấu hiệu đã có E xác định 1 phần giả thiết H thì p(H) < p(H | E) < 1 và tính
các độ đo theo MB(H,E)=(p(H | E)-p(H))/(1-p(H)), MD(H,E)=0 do đó
CF(H,E)=MB(H,E).

76
Vậy khi E xác định H 1 phần thì theo sơ đồ về giá trị CF thì CF(H,E) thuộc miền
dương tức miền tin cậy vào giả thiết H.
*Trường hợp 5: Dấu hiệu âm

Nếu dấu hiệu đã có E không xác định 1 phần giả thiết H thì 0 < p(H | E) < p(H)
do vậy MD(H, E) = (p(H | E) - p(H)) / (1 - p(H)), MB(H, E)=0 do đó CF(H,E) = -
MD(H,E).

Vậy khi E không xác định từng phần giả thiết H thì CF(H,E) thuộc miền âm tức
miền không tin cậy vào giả thiết H.

*Trường hợp 6: Nguồn mạng nhiều khẳng định nhưng cũng có điều không khẳng
định
Theo nguồn xác định giả thiết thì giá trị MB sẽ hội tụ đến 1 tức
MB(H,E1,E2,…)1. Nhưng nếu có 1 nguuồn phủ định giả thiết này thì có i để
MD(H,Ei)>0 chẳng hạn MD(H,Ei)=0.8.

Giả sử MB(H,E1,E2,…)=0.999 thì CF(H,E)=0.199

Trong thực tế diều này không phù hợp; nhiều điều khẳng định đã bị 1 điều áp đảo
và giá trị tin cậy về H quá thấp. Tường hợp này này bằng cách sử dụng cách tính CF:

CF(H,E)=(MB(H,E)-MD(H,E))/(1-min{MB(H,E),MD(H,E)})

Trong thí dụ này người ta thu được CF(H,E)=0.995. Cách tính này có tác dụng
ngược lại so với cách tính trước; nó giảm tác dụng của 1 số nhỏ ý kiến trái ngược.

Trong hầu hết các vấn đề việc đánh giá CF nhờ cácchuyên giakhông phải là dễ
dàng. Việc dùng CF thực chất thay cho độ đo p(H) và P(H|E).

4.2. Nhân tố chắc chắn dưới khía cạnh sác xuất

4.2.1. Dấu hiệu không chắc chắn

Các hệ thống dùng lập luận không chính xác cần có cách thể hiện các dấu hiệ
không chắc chắn. Chẳng hạn “hôm nay có khả năng mưa” là câu có độ không chắc chắn
do “có khả năng”.

77
Loại không chắc chắn CF
Không xác định -1.0
Hầu như không xác định -0.8
Có khả năng không -0.6
Có thể không -0.4
Không biết -0.2 đến +0.2
Có thể +0.4
Có khả năng +0.6
Hầu như chắc chắn +0.8
Xác định +1.0
Người ta dùng CF với các giá trị từ –1 đến +1 để thể hiện độ tin cậy trong câu.
Chẳng hạn CF(E)=CF(hôm nay có khả năng mưa)=0.6. Tiếp cận này đã thay xác suất
hình thức p(E) bằng CF(E). Trong bảng là các giá trị CF điển hình.

Các nhân tố chắc chắn không phải là xác suất mà là các độ đo không hình thức
về sự tin tưởng vào 1 phần dấu hiệu. Chúng thể hiện mức độ mà người ta tin rằng dấu
hiệu là đúng. Để thể hiện độ tin cậy này trong he chuyên gia người ta viết câu dưới dạng
chính xác và thêm giá CF phù hợp. Chẳng hạn “hôm nay có khả năng sẽ mưa” hay “hôm
nay sẽ mưa CF=0.6”.
*Các luật không chắc chắn

CF dùng cho câu và cho cả các luật để thể hiện quan hệ không chắc chắn giữa
dấu hiệu E trong giả thiết của luật và giả thiết H trong phần kết luận của luật. Cấu trúc
cơ bản của luật dùng trong mô hình chắc chắn có dạng IF E THEN H CF(luật) trong đó
CF(luật) thể hiện mức độ tin cậy H khi có E. Tức là khi E đúng thì người ta tin H theo
CF(H,E)=CF(luật).

Ví dụ

Luật 1: IF có mây đen - E THEN sẽ mưa - H với CF=0.8 sẽ được tham chiếu đến
bảng miêu tả để hiểu rằng nếu có mây đen thì hầu như chắc chắn trơì mưa

4.2.2. Lan truyền chắc chắn đối với các luật có giả thiết đơn
Lan truyền nhân tố chắc chắn liên quan đến việc thiết lập mức độ tin cậy vào kết
luận của luật trong trường hợp dấu hiệu trong giả thiết là không chắc chắn. Đối với luật
có phần giả thiết đơn người ta tính CF(H, E)= CF(E)*CF(luật)

Ví dụ

78
Theo thí dụ trên nhưng có dấu hiệu thuận về E, tức CF(E)=0.5 thì
CF(H,E)=0.5*0.8=0.4. Điều này có nghĩa “có thể mưa”. Nếu người ta có dấu hiệu không
thuận về E, tức CF(E)=-0.5 thì CF(H, E)=-0.4 có nghĩa “có thể không mưa”.
Thí dụ cho thấy dấu hiệu bổ sung tính tin cậy hay không tin cậy về một giả thiết.

4.2.3. Lan truyền chắc chắn đối với các luật có nhiều giả thiết
Trong trường hợp luật có nhiều giả thiết nhân tố chắc chắn đối với kết luận của
luật được lập theo cách tương tự như cách dùng trong hệ thống PROSPECTOR. Như
nhóm MYCIN thì người ta giả sử có độc lập điều kiện của dấu hiệu theo dạng AND hay
OR khi xét độ tin cậy vào giả thiết

a. Các luật AND

Mô hình chắc chắn dùng các luật có dạng

IF E1 AND E2 AND … AND En THEN H CF(luật)

CF(H, E1 AND E2 AND … AND En)= min{CF(Ei)}*CF(luật)

Ví dụ

IF trời tối AND gió mạnh THEN sẽ mưa CF=0.8


Giả thiết rằng CF(trời tối)=1.0 và CF(gió mạnh)=0.7 thì CF(sẽ
mưa)=min{1.0,0.7}*0.8=0.56 có nghĩa có khả năng mưa

b. Các luật OR

Các luật trong mô hình có dạng

IF E1 OR E2 OR … OR En THEN H CF(luật)

CF(H, E1 OR E2 OR … OR En)= max{CF(Ei)}*CF(luật)

Ví dụ

IF trời tối AND gió mạnh dần THEN sẽ mưa CF=0.9

Giả thiết rằng CF(trời tối)=1.0 và CF(gió mạnh)=0.7 thì CF(sẽ


mưa)=max{1.0,0.7}*0.9=0.9 có nghĩa hầu như chắc chắn mưa
4.2.4. Lan truyền chắc chắn đối với các luật có cùng kết luận
Trong một vài ứng dụng người ta có thể viết nhiều luật về cùng 1 kết luận. Chẳng
hạn tin rằng trời sắp mưa người ta căn cứ vào ý kiến của nhà dự báo khí tượng hay vào
nông dân

Luật 1: IF nhà dự báo nói sắp mưa - E1 THEN sắp mưa - H với CF(luật 1)=0.8

79
Luật2: IF nông dân nói sắp mưa - E2 THEN sắp mưa - H với CF(luật 2)=0.8

Hai luật dựa trên 2 nguồn có cùng giá trị CF. Về tâm lí thì khi có nhiều nguồn
khẳng định 1 kết luận người ta sẽ cảm thấy tin tưởng hơn, chẳng hạn tin hơn vào trời sẽ
mưa nếu được khẳng định của cả chị dự báo thời tiết và bác nông dân. Nhóm MYCIN
dùng ý tưởng này trong kĩ thuật “dấu hiệu thu thập nhiều lên” để kết hợp các giá trị tin
cậy và phản bác của các luật về cùng 1 kết luận

Chẳng hạn có luật 1: IF E1 THEN H và luật 2: IF E2 THEN H dạng nguyên bản của
đẳng thức dùng trong kĩ thuật này do Shortlife và Buchanan đư ra năm 1975 là:

MB(H, E1&E2)=0 nếu MD(H, E1&E2)=1 hoặc

MB(H, E1&E2)= MB(H, E1)+ MB(H, E2)*(1- MB(H, E1)) nếu ngược lại
MD(H, E1&E2)=0 nếu MB(H, E1&E2)=1 hoặc

MD(H, E1&E2)= MD(H, E1)+ MD(H, E2)*(1- MD(H, E1)) nếu ngược lại

Các đẳng thức khẳng định rằng dấu hiệu bổ sung E2 sẽ làm tăng các giá trị do
dấu hiệu E1 đã xác định. Các MD và MB được cập nhật sễ cho phép tính nhân tố tin cậy
theo CF=MB-MD.

Trong một vài ứng dụng nên tính đến MD, MB như các trợ giúp khi có thêm
thông tin. Nhưng trong vài ứng dụng khác người ta chỉ quản lí một bản ghi về giá trị CF
được cập nhật. Đối với các ứng dụng này người ta dùng đẳng thức.

CFkết hợp=CF1+CF2(1-CF1) khi cả hai CFi dương

CFkết hợp=CF1+CF2(1+CF1) khi cả hai CFi âm

CFkết hợp=(CF1+CF2)/(1-min{|CF1|, |CF2|})

Trong đó Cfi thể hiện độ tin cậy vào H theo luật thứ i
Các đẳng thức MD, MB và CF trong mô hình chắc chắn có thuộc tính hoán đổi
và tiệm cận.
a. Hoán đổi

Tính chất hoán đổi cho phép thay đổi trật tự sử dụng luật. Mô hình chắc chắn cần
tính chất này để thu thập các dấu hiệu theo trật tự tuỳ ý. Tức néu có nhiều luật thu thập
thông tin thì giá trị tổng hợp Cf không bị lệ thuộc vào thứ tự xử lí luật.

b. Tiệm cận

80
Tính chất tiệm cận khẳng định tri thức càng được thu thập càng làm đúng giả
thiết. Người ta cần tính chất tiệm cận bởi 2 lí do. Trước hết nó phản ánh cách mà thày
thuốc thu thập độ tin cậy về giả thiết nào đó từ nhiều nguồn thông tin. Trong số nhiều
nguồn khẳng định giả thiết thì người ta cảm thấy tin ở một nguồn nào đó và ứng với nó
là độ tin cậy cao hơn. Thứ 2 tính chất này đảm bảo tổng hợp các độ tin cậy không vượt
quá 1 mà chỉ tiệm cận về 1.

Giả sử tiếp tục sử dụng 2 luật trên về dự báo mưa. người ta thấy có các trường
hợp xảy ra như sau:

*Trường hợp 1

Cả người dự báo và cả người nông dân đề chắc chắn về mưa. CF(E1) = CF(E2)
= 1.0. Theo đẳng thức CF tổng hợp người ta thu được

CF1=CF1(H, E) = CF(E1)*CF(luật)=1.0*0.8=0.8

CF2=CF2(H, E) = CF(E2)*CF(luật)=1.0*0.8=0.8

CFkết hợp (CF1, CF2)=CF1+CF2*(1-CF1)=0.8+0.8*(1-0.8)=0.96

Trường hợp này cho biết cách tăng nhân tố chắc chắn nhờ dấu hiệu của cả hai
luật đối với cùng 1 giả thiết. Thực tế cũng cho thấy khi có nhiều khẳng định thì người
ta tin tưởng hơn

*Trường hợp 2

Nhà dự báo khẳng định mưa còn người nông dân thì không. Tức là:

CF(E1) =1.0, CF(E2) = -1.0

CF1=CF1(H, E)= CF(E1)*CF(luật)=1.0*0.8=0.8

CF2=CF2(H, E)= CF(E2)*CF(luật)=-1.0*0.8=-0.8


CFkết hợp(CF1,CF2)=(CF1+CF2)/(1-min{|CF1|,|CF2|})=(0.8-0.8)/(1-0.8)=0

Trường hợp này cho biết nhân tố tiên đoán mưa ứng với không biết vì một nguồn
khẳng định mưa bị mất tác dụng bởi nguồn kia. ở đây người ta dùng độ tin cậy tinh vào
giả thiết.

*Trường hợp 3

Nhà dự báo và người nông dân tin rằng không mưa theo độ tin cậy khác nhau
chẳng hạn CF(E1) = -0.8 và CF(E2) = -0.6

CF1=CF1(H, E) = CF(E1) * CF(luật)=-0.8*0.8=-0.64

81
CF2=CF2(H, E) = CF(E2) * CF(luật)=-0.6*0.8=-0.48

CFkết hợp(CF1,CF2) = CF1+CF2*(1+CF1)=-0.64-0.48*(1-0.64)=-0.81

Kết quả cho thấy độ tin cậy càng giảm khi có nhiều dấu hiệu phản bác

*Trường hợp 4
Các nguồn có cùng độ tin cậy về mưa nhưng có 1 nguồn cho rằng không mưa.
Chẳng hạn CF(mưa)=0.8 do có nhiều nguồn nên

CF kết hợp(CF1,CF2,…)0.999=CFcũ

CF này thể hiện độ tổng hợp về mưa từ các nguồn thông tin cũ. Nếu có nguồn
mới có độ tin cậy CFmới=-0.8 theo công thức tính CF kết hợp.

CFkết hợp (CFcũ, Cfmới)=(CFcũ + Cfmới) / (1 – min { |CFcũ|, |CFmới| })= 0.995

Kết quả cho thấy một dấu hiệu phản bác không tác dụng nhiều lắm so với nhiều
dấu hiệu khẳng định.

4.2.5. Lan truyền chắc chắn đối với các luật phức hợp
Một số ứng dụng có thể có các luật dùng dạng hỗn hợp AND và OR chẳng hạn
IF (E1 AND E2) OR (E3 AND E4 )THEN H CF=CF (luật). Người ta quản lý lan truyền
đối với các luật loại này bằng cách kết hợp cách tính đối với luật AND và luật OR, chẳng
hạn luật trên có CF(H)=max{min{CF(E1), CF(E2)}, min{CF(E3), CF(E4)}}*CF(luật).

4.3. Ví dụ tổng hợp

Ví dụ này nhằm minh họa việc lan truyền các nhân tố chắc chắn. người ta cần
biết thời tiết ra sao trước khi chơi bóng. Giả sử có giả thiết Mơ không chơi bóng được
và tập các luật sau:
Luật 1: CF(luật 1)=0.9 IF trời ảm đạm (sự kiện E1) OR Mơ buồn (sự kiện E2)
THEN Mơ không chơi bóng (giả thiết H1)
Luật 2: CF(luật 2)=0.8 IF Mơ tin là sắp mưa (sự kiện E3) THEN trời ảm đạm (sự
kiện E1)
Luật 3: CF(luật 3)=0.9 IF Mơ tin là sắp mưa (sự kiện E3) AND nhà dự báo nói
rằng sắp mưa (sự kiện E4) THEN Mơ buồn (sự kiện E2)
Luật 4: CF(luật 4)=0.7 IF nhà dự báo nói rằng sắp mưa (sự kiện E4) THEN trời
ảm đạm (sự kiện E1)
Luật 5: CF(luật 5)=0.95 IF trời ảm đạm (sự kiện E1) THEN Mơ buồn (sự kiện
E2)
82
Giả sử rằng người ta nhập vào các nhân tố chắc chắn ban đầu ở dạng sơ khởi gồm:
1. Nhà dự báo tin rằng sắp mưa CF(E4) = 0.85
2. Mơ tin sắp mưa CF(E3) = 0.95
Ngoài ra giả sử theo hệ thống thực hiện suy luận quay lui, xuất phát từ đích H1,
Mơ không chơi bóng và các luật được sử dụng hết.
Bước 1: Xét giả thiết của luật 1thấy trời ảm đạm, E1. Các luật 2 và luật 4 đều kết
luận về E1
Bước 2: Xét luật 2. Có nhận xét ở đây: hệ thống xét luật này trước tiên vì nó có
giá trị CF cao hơn luật 4. Theo đẳng thức CF(E1, E3) = CF(E3) * CF(luật 2) = 0.95 *
0.8 = 0.76
Bước 3: Xét luật 4 CF(E1, E4) = CF(E4) * CF(luật 4) = 0.85*0.7 = 0.6
Bước 4: Có hai khẳng định đối với E1, tức trời ảm đạm từ bước 2 và 3. người ta
kết hợp chúng theo tiếp cận làm tăng các dấu hiệu
CF(E1) = CF(E1, E3) + CF(E1, E4) * (1 - CF(E1, E3) ) = 0.76 + 0.6 * (1 - 0.76) = 0.9
Bước 5: Xét giả thiết 2 trong luật 1 Mơ buồn tức E2. Lưu ý luật 3 và luật 5 kết
luận về E2
Bước 6: Xét luật 5. Nhận xét rằng hệ thống dùng luật này trước do nó có CF cao
hơn
CF(E2, E1) = CF(E1) * CF(luật 5) = 0.9 * 0.95 = 0.86
Bước 7: Xét luật 3. CF(E2, E3 AND E4) = min{ CF(E3), CF(E4) } * CF(luật 3)
= min{ 0.95, 0.85} * 0.9 = 0.77
Bước 8: người ta có 2 khẳng định đối với E2 từ bước 6 và 7. Lại dùng tiếp cận
tăng dấu hiệu người ta có
CF(E2)=CF(E2, E1) + CF(E2, E3 AND E4) * (1 - CF(E2, E1)) = 0.86 + 0.77 *(1
- 0.86) = 0.97
Bước 9: quay lại luật 1. CF(H1, E1 OR E2)= max{CF(E1), CF(E2)} * CF(luật
1) = max{0.9, 0.97} * 0.9 = 0.87. đó chính là CF(Mơ không chơi bóng).

83
CHƯƠNG 5. LẬP LUẬN BẰNG LOGIC MỜ

5.1. Tổng quan về logic mờ

Công nghệ tri thức là chuyên ngành tích hợp tri thức con người với các hệ thống
máy tính. Các đặc tính tiêu biểu của các hệ thống dựa trên tri thức thể hiện ở việc xử lí
chuyển trạng thía chứ không dựa vào thể hiện cứng nhắc của trạng thái. Cácc quyết định
về các xử lí dữ liệu cũng là một phần tri thức của hệ thống. Lúc đó người ta đề cập nhiều
đến tri thức thủ tục.
Để giải vấn đề người ta tăng cường các thủ tục suy diễn với cơ chế kết hợp các
luật với các lập luận logic. Lập luận logic dùng để rút ra kết luận từ các sự kiện xem là
đúng đắn.
Một hướng khác dựa trên lí thuyết tập mờ và dùng lập luận xấp xỉ. Lập luận xấp
xỉ dùng để rút ra các kết luận theo mức độ vững chắc của các sự kiện. Thể hiện tính chất
mờ là 1 khía cạnh trong việc thể hiện tri thức nói chung.
Người ta thường dùng từ ngữ trong ngôn ngữ tự nhiên để thí dụ về sự kiện mờ.
Tính bất định tuỳ thuộc vào khái cạnh ngữ nghĩa của từ chứ không phải trạng thái tri
thức của con người. Trong các hệ chuyên gia dựa trên việc xử lí các kí hiệu và lập luận
logic sự không chắc chắn được dùng để chỉ trạng thái của tri thức con người. Trong hệ
chuyên gia dựa trên xử lí ngữ nghĩa và lập luận xấp xỉ thì việc nhấn mạnh vào tính mờ
như thuộc tính của ngôn ngữ tự nhiên.
Nếu thể hiện các sự kiện như các đối tượng và các luật như các ánh xạ thì lí thuyết
toán học về phạm trù là ngôn ngữ tốt để mô tả các cơ chế xử lí tri thức. Sự khác nhau
giữa lập luận xấp xỉ và n logic trở thành sự khác nhau giữa các phạm trù mà người ta
dùng để mô hình hoá các sự kiện.
So sánh giữa các hệ thống giải vấn đề theo cách xấp xỉ với logic, người ta còn
thấy năng lực của việc giải vấn đề của hệ chuyên gia theo lập luận logic và xử lí theo
các kí hiệu là khả năng của thông tin về lĩnh vực trong CSTT và năng lực giải vấn đề
trong hệ thống dựa vào lập luận xấp xỉ và xử lí ngữ nghĩa là chức năng của phương pháp
suy diễn.
Trong các hệ thống tri thức dựa trên lập luận xấp xỉ người ta ít quan tâm đến các
cấu trúc liệt kê mà quan tâm nhiều hơn đến lập trình logic.
Các chuyên gia thường dùng lẽ thông thường để giải vấn đề. Người ta tháy các
tri thức loại này của chuyên gia khi họ gặp các bài toán với các thuật ngữ mơ hồ. Thí dụ
khi xe nóng máy thì giảm tốc độ một chút. Xử lí tình huống với các luật này đã gây ra
nhiều khó khăn. Để máy tính cũng hiểu theo cách như vậy còn khó khăn hơn và cần thể
84
hiện cũng như lập luận trên các thuật ngữ đó nữa. người ta dùng tập mờ, logic mờ và xét
các dạng thức toán học của logic mờ. Những cố gắng nhằm sử dụng logic mờ trong hệ
chuyên gia. Sau đây là tiêp cận cấu trúc cho phép thiết kế hệ chuyên gia mờ.
Các hệ thống mờ có từ những năm 20, khi người Balan Lukasiewicz đưa ra trước
tiên, Lucasiewicz nghiên cứu cách thể hiện toán học của thuật ngữ mờ như cao, già và
nóng. Công việc này cần thiết do các thuật ngữ này không thể tuân theo cách thể hiện
hai trị 0, 1 theo logic của Aristot chỉ gồm đúng và sai.
Ông đã phát triển một hệ thống logic mở rộng hạng các giá trị đúng thành các số
thực trong khoảng 0,1. Số trong khoảng này thể hiện khả năng mà một câu là đúng hay
sai. Chẳng hạn khả năng 1 người cao 1m70 là cao được ứng với giá trị 0.9; tức hầu như
người đó cao. Nghiên cứu này cho phép dùng kĩ thuật lập luận hình thức không chính
xác được gọi là lí thuyết khả năng.
Năm 1965 Zadeh phát triển lí thuyết khả năng, đề xuất hệ thống hình thức của
logic toán học. Điều quan trọng là Zadeh đã hướng các nhà khoa học và các kĩ sư về các
khái niệm mới. Đó là khái niệm có giá trị trong thuật ngữ ngôn ngữ tự nhiên. Công cụ
logic để thể hiện và xử lí các thuật ngữ mờ được gọi là logic mờ.
*Định nghĩa logic mờ
Một ngành của logic xác định mức độ thuộc hay mức độ thành viên của 1 đối
tượng đối với các tập thay vì xác định đối tượng đó thuộc hay không thuộc vào 1 tập.
5.1.1. Các biến ngôn ngữ

Logic mờ liên quan đến việc lượng hoá và lập luận trên các thuật ngữ mờ và mơ
hồ trong ngôn ngữ tự nhiên của con người. Trong logic mờ các thuật ngữ mờ được coi
là các biến ngôn ngữ hay được gọi là biến mờ.
*Định nghĩa biến ngôn ngữ
Thuật ngữ dùng trong ngôn ngữ tự nhiên của con người để miêu tả một vài khái
niệm mơ hồ hay các giá trị mờ
Ví dụ:
Xuân là trẻ nhằm vào biến ngôn ngữ Tuổi mang giá trị ngôn ngữ là trẻ. Bảng thí dụ cho
biết các biến ngôn ngữ và các giá trị điển hình mà người ta gán cho biến.
Biến ngôn ngữ Các giá trị điển hình
Nhiệt độ Nóng, lạnh
Độ cao Thấp, trung bình, cao
Tốc độ Chậm, vừa, nhanh

85
Trong các hệ chuyên gia mờ người ta dùng các luật mờ. Một luật mờ suy diễn
thông tin về 1 biến ngôn ngữ trong phần kết luận của luật từ các thông tin về biến khác
trong phần giả thiết.
Ví dụ:
IF tốc độ xe máy chậm THEN vào số cao hơn
Người ta gọi phạm vi các giá trị có thể nhận của biến ngôn ngữ là miền xác định
của biến. Chẳng hạn biến tốc độ của luật trên miền xác định từ 0 đến 100km/h. Câu tốc
độ chậm ứng với 1 phần của miền xác định đó là tập mờ.
5.1.2. Tập mờ

Lý thuyết tập truyền thống phân biệt hai giá trị đúng/sai. Tức là 1 đối tượng hoặc
tham gia hoặc không tham gia vào 1 tập. Chẳng hạn xét tập những người trẻ như là trẻ
con, thiếu niên, thanh niên. Lý thuyết tập cổ điển thiết lập đường biên rõ trên tập này và
cho các phần tử của tập giá trị 1, các phần tử không thuộc tập này thì giá trị 0. Việc này
ứng với tập có biên hay tập rõ. Chẳng hạn các phần tử của tập chỉ gồm các em có tuổi
từ 10 trở xuống. Dùng diễn giải chặt chẽ này đối với em 10 tuổi thì thấy năm sau chúng
không thuộc tập trẻ con nữa.
Logic mờ đảm bảo diễn giải có lí hơn bằng cách dùng tập mờ. Một tập mờ gán
các giá trị thuộc tức giá trị thành viên giữa 0 và 1 để thể hiện mối liên quan tự hiên hơn
của mỗi phần tử đối với tập. Chẳng hạn nếu tuổi của 1 em là % thì người ta gán giá trị
0.9 hay nếu tuổi là 13 thì giá trị là 0.1. Trong ví dụ này, tuổi là biến ngôn ngữ và trẻ là
1 trong các tập mờ. Các tập khác già, trung niên. Mỗi tập dùng 1 tính từ đi kèm với biến
ngôn ngữ. Nói chung 1 tập mờ cho phép chuyển dịch nhẹ nhàng tại biên. Như trong hình
vẽ thì trục x chỉ miền xác định dùng cho tuổi. Trục y chỉ giá trị thuộc. Tập mờ của người
trẻ tương ứng các giá trị tuổi với các giá trị thuộc. Người ta dễ thấy được em 11 tuổi
không còn là trẻ em. Mỗi người trượt từ từ theo phân loại này khi tuổi tăng lên.

1.0
Giá trị Tập phân cách
thành
0.5
viên
Tập mờ
0

0 10 20 tuổi

Các tập mờ và tập rõ của những người trẻ

86
*Định nghĩa tập mờ
Cho X là miền xác định có các phần tử kí hiệu là x. Tập mờ A của X được đặc
trưng bằng hàm thuộc hay hàm thành viên A(x). Hàm này liên kết mỗi phần tử x với
mức độ thuộc của X vào tập A.
Lí thuyết xác suất gán xác suất cho 1 sự kiện trên cơ sở tần suất xuất hiện của sự
kiện đó. Ngược lại với lí thuyết xác suất logic mờ gán các giá trị cho sự kiện đó trên cơ
sở hàm thuộc A(x).

Hàm A(x) được xác định X[0,1]


Như vậy trong logic mờ sự kiện hay phần tử x được gán giá trị thuộc bằng hàm
thuộc . Giá trị này thể hiện mức độ mà phần tử x thuộc về tập mờ A.

Tức A(x)=mức độ(xA)

Giá trị thuộc của x bị chặn bởi 0,1: 0A(x) 1

Tóm lại tập mờ là mở rộng của lí thuyết tập cổ điển. Nó tổng quát hoá khái niệm
thuộc bằng hàm thộc . Hàm này cho giá trị từ 0 đến 1 để cho biết độ thuộc hay giá trị
thuộc của X vào tập A.
5.2. Thiết lập và thể hiện các tập mờ

5.2.1. Thiết lập tập mờ

Để thể hiện tập mờ trong máy tính cần xác định hàm thuộc. Một tiếp cận đã dùng
là thăm dò trong nhóm người về việc hiểu của họ đối với thuật ngữ khi thể hiện tập mờ.
Chẳng hạn xét khái niệm cao. Người ta hỏi mỗi người trong nhóm về mức độ tin của họ
khi xếp 1 người đã biết vào lớp cao. Sau khi thu thập các câu trả lời về hạng cao người
ta có thể thấy ý kiến chung về tập mờ đối vơi người cao. Người ta có thể dùng hàm này
để gán độ tin cậy hay giá trị thuộc cho cá nhân đã biết khi nói về mức độ mà người này
thuộc vào tập người cao.
Người ta có thể tiếp tục thăm dò để thu được miêu tả về chiều cao khác như là
thấp hay tầm thước. Theo cách đó các tập mờ phản ánh ý kiến chung của đa ssố mọi
người về phân loại. Ba phạm trù về chiều cao này được thể hiện bằng các đường tuyến
tính trong hình vẽ. Khi xác định nhiều tập mờ trên cùng miền xác định người ta thường
dùng thuật ngữ các tập con mờ.
Bằng cách xây dựng các tập con mờ đối vơi các thuật ngữ mơ hồ người ta có thể
gán giá trị thuộc của đối tượng đã biết đối với mỗi tập. Chẳng hạn 1 người 1m60 là tầm

87
thước với giá trị thuộc là 1 và là thấp hay cao với giá trị thuộc là 0.25. Kết quả lí thú ở
đây là một đối tượng lại có thể tham gia vào nhiều tập.

1.0
Giá
trị 0.5
thành

0
1.0 1.50 1.55 1.65 1.70

Chiều cao đo bằng mét

Tiếp cận khác thường thấy trong thực tế dùng để xây dựng tập mờ liên quan chặt
chẽ đến diễn giải của 1 chuyên gia. Người ta có thể hỏi chuyên gia này theo kĩ thuật như
đã dùng để biết độ tin cậy của ông ta về các đối tượng khác nhau thuộc về một tập đang
xét. Dù tiếp cận này thiếu ý kiến của động đảo quần chúng nó thể hiện tri thứcchuyên
gia về khái niệm này.
Tiếp cận mới đây vào năm 1992 của Kosko dùng kĩ thuật mạng nơron. Chúng
được dùng trong các ứng dụng điều khiển điển hình mà thông qua việc học mạng nơron
dùng thông tin thao tác với hệ thống để rút ra dạng của tập mờ.
5.2.2. Thể hiện mờ

Giả sử có tập xác định X và tập mờ A trên X. ngoài ra tập X gồm các phần tử
{x1,x2,…,xn}. Tập mờ A xác định hàm thuộc A(x) ánh xạ các phần tử xi của X sang
độ thuộc trong [0,1]. Các gía trị cho biết xi thuộc vào A theo mức độ nào. Có thể viết

Ai=A(xi) trong đó A=(a1, a2, …, an)


Tập A được thể hiện rõ hơn bằng
A = (a1/x1, a2/x2, …, an/xn)
Ví dụ
Xét tập mờ cao về chiều cao của người thì
Cao = (0.0/1.50, 0.25/1.55, 0.7/1.60, 0.9/1.65, 1.0/1.70)
Kí pháp chuẩn của tập mờ thể hiện hợp các chiều của véc tơ như sau với kí hiệu + dùng
cho phép hợp logic

A = 1/x1 + 2/x2 + … n/xn hay biểu diễn qua tổng hoặc tích phân

A=  i/xi với i=1, n hay A=∫(xi)/xi dx theo x

88
Đối với tập liên tục của các phần tử người ta cần hàm số để tương ứng các phần
tử vơi các giá trị thuộc. Các hàm điển hình được dùng có dạng sigmoid, hàm gauss và
hàm pi. Các dạng hàm này đều trơn và có thể đảm bảo thể hiện đủ các dữ liệu cho tập
mờ. Tuy nhiên các hàm này làm tăng tải đối với máy tính.
Trong thực tế hầu hết các ứng dụng dùng các đường tuyến tính để thể hiện tập
mờ. Để nhận được đường phù hợp người ta có thể mã hoá mỗi tập mờ dưới dạng vecto
thích hợp. Chẳng hạn tập mờ cao được mã bằng (0.0/1.50, 0.25/1.55, 0.7/1.60, 0.9/1.65,
1.0/1.70). Các công cụ phát triển logic mờ trên thị trường thường dùng hàm tam giác
mã hoá giá trị 2 đầu mút và điểm giữa; chẳng hạn tập mờ tầm thước được mã bằng
(0/1.50, 1/1.65, 0/1.70).
5.3. Gia tử

Trong gia tiếp thường ngày con người có thể làm mơ hồ thêm các câu khi dùng
các trạng từ như rất, hơi, có vẻ. Trạng từ là từ cho phép biến đổi động từ, tính từ hay các
trạng từ khác hoặc cả 1 câu. Chẳng hạn ông ta rất cao.
Người ta có thể dùng kĩ thuật thăm dò ý kiến về những người cao như trước đây
đã dùng để thu được tập mờ rất cao. Tuy nhiên các kĩ thuật khả thi là dùng tập mờ đã có
rồi nhấn mạnh vào trạng từ được bổ sung. Đó là việc dùng gia tử.
Các tập mờ đã giới thiệu về chiều cao được áp gia tử rất sẽ có dạng như hình vẽ
ở trên.
Một người cao 1m65 theo tập mờ cao thì có độ tin cậy là 0.7 nhưng theo tập mờ
rất cao sẽ là 0.4.
5.3.1. Tập trung(rất)

Phép toán tập trung có tác dụng giảm giá trị thuộc của các phần tử mạng giá trị
nhỏ hơn. Phép toán được tính theo

rất(A)(x) = (A(x))2
Bằng phép toán này người ta tạo được tập mờ rất cao từ tập mờ cao
5.3.2. Co giãn (một chút)

Phép toán co giãn chỉnh lí các phần tử mờ bằng cách tăng giá trị thuộc của các
phần tử. Tuy nhiên việc tăng nhằm vào các thuộc mang giá trị thấp tức là các thuộc
mang giá trị thấp được tăng với lượng nhiều hơn các thuộc mạng giá trị lớn. Do vậy mà
phép toán được tính theo:

co giãn(A)(x) = (A(x))0.5

89
Nếu xuất phát từ tập mờ người tầm thước thì qua phép toán người ta thu được tập
mờ người thiên về cao và thấp trong số người tầm thước
5.3.3. Nhấn mạnh (thực sự là)

Để nhấn mạnh vào nghĩa của câu người ta có thể tăng các gia strị thuộc của các
phần tử tập mờ mạng giá trị trên 0.5 và ngược lại sẽ giảm đối với các gía trị đang ở dưới
0.5. Phép toán này được biểu diễn qua.

nhấn mạnh(A)(x) = 2(A(x))2 đối với 0 A(x)  0.5

nhấn mạnh(A)(x) =1- 2(1-A(x))2 đối với 0.5< A(x)  1.0


Sau khi dùng phép toán này với tập mờ cao thu được tập mờ thực sự là cao.
5.3.4. Mạnh mẽ (rất rất)

Nhiều lần dùng phép rất sẽ được phép rất rất. Phép toán mạnh mẽ là trường hợp
mở rộng của phép tập trung. Khi áp phép này lên tập mờ cao thu được tập mờ rất rất cao

rất rất(A)(x) = (A(x))n

5.4. Các phép toán trên tập mờ

5.4.1. Phép giao

Trong lí thuyết tập cổ điển giao của 2 tập hợp chứa các phần tử chung của cả 2
tập. Trong tập mờ khi 2 tập khônggiao nhau thì vẫn có phần tử được xem là thuộc vào
cả 2 tập. Do vậy giao của 2 tập mờ không bị giới hạn trong phần chung của 2 tập mờ.
Phép toán mờ để tạo giao của 2 tập mờ A và B trên miền xác định X được biểu
diễn bằng

A^B(x) = min (A(x), B(x)), x X

= A(x)  B(x)

=A(x)  B(x)

Kí hiệu  được dùng trong logic mờ để thể hiện phép toán min
Ví dụ
Xét 2 tập mờ
Cao = (0/1.50, 0.2/1.55, 0.5/1.60, 0.8/1.65, 1/1.70)
Thấp = (1/1.50, 0.8/1.55, 0.5/1.60, 0.2/1.65, 0/1.70)

90
Giao của 2 tập này là

cao  thấp = (0/1.50, 0.2/1.55, 0.5/1.60, 0.2/1.65, 0/1.70)


Khi xét thuật ngữ cao và thấp nếu người ta nghĩ đó là tầm thước thì cũng bình
thường. Cách nghĩ đó phù hợp với kết quả của tập giao cho thấy giá trị cao nhất của hàm
thuộc nằm giữa tập và thấp nhất ở hai bên.
5.4.2. Phép hợp

Phép hợp cũng cho phép tổ hợp hai tập mờ. Hợp hai tập gồm các phần tử thuộc
hoặc tập này hoặc tập kia hoặc cả 2tập. Các phần tử của hợp không thể nhận các giá trị
thuộc nhỏ hơn giá trị thuộc đối với mỗi tập thành phần.

AB(x) = max (A(x), B(x)), x X

= A(x)  B(x)

=A(x)  B(x)

Kí hiệu  dùng trong logic mờ để chỉ phép toán max

Ví dụ
Xét tiếp 2 tập cao và thếp trên người ta có

cao  thấp = (1/1.50, 0.8/1.55, 0.5/1.60, 0.8/1.65, 1/1.70)


Kết quả cho thấy giá trị hàm thuộc ứng với hợp của các tập mờ đạt các giá trị cao
nhất tại biên và thấp nhất ở giữa. Diễn giải theo ngôn ngữ học của tập mờ mới này là
không tầm thước.
5.4.3. Phép bù (phủ định)

Cho tập mờ A người ta thu được phần bù của nó ~A bằng phép toán sau

~A (x)=1-A (x)

Nếu có tập mờ người cao thì phép toán này dùng để tạo nên tập mờ người không
cao, hay tầm thước, hay người thấp.
5.4.4. Các tập mờ dẫn xuất khác

Sử dụng gia tử và các phpé toán trên tập mờ người ta thu được các tập mờ khác.
Chẳng hạn có tập mờ người cao. Tập B được suy ra là người không quá cao.

B(x)=1-(A (x))2
Tiếp tục ý này nếu có thêm tập mờ C người thấp thì có thể suy ra tập mờ D người
không quá cao và không quá thấp bằng.
91
Dx) = ( 1-(A (x))2)  (1-(C (x))2)

Nhìn chung người ta có thể dùng các toán tử mờ và các gia tử để suy ra các tập
mờ ứng với mô tả trong ngôn ngữ học hay ứng với các tổ hợp câu bằng ngôn ngữ tự
nhiên.
5.5. Suy diễn mờ

Logic mờ sử dụng các tập mờ trong mệnh đề mờ. Một mệnh đề mờ là mệnh đề
khẳng định 1 giá trị cho biến ngôn ngữ nào đó, chẳng hạn như chiều cao là cao. Nói
chung người ta có thể thể hiện mệnh đề mờ theo.
Mệnh đề: miền xác định X là tập mờ A
Một luật mờ liên kết hai mệnh đề mờ dưới dạng
IF X là A THEN Y là B
Luật này tạo nên quan hệ hay liên kết giữa hai mệnh đề
Các hệ chuyên gia mờ lưu trữ các quan hệ mờ. Đối với luật IF A THEN B mà A,
B là tập mờ thì he chuyên gia mờ lưu trữ liên kết (A, B) trong ma trận M. Ma trận M
thường được kí hiệu là R để thể hiện quan hệ. Ma trận liên kết mờ M ánh xạ tập mờ A
sang tập mờ B. Năm 1992 Kosko gọi liên kết mờ hay luật mờ là bộ nhớ liên kết mờ
(FAM).
Giống như các kĩ thuật lập luận không chính xác khác trong quá trình thiết kế hệ
chuyên gia, suy diễn mờ thiết lập độ tin cậy về kết luận của luật theo giả thiết đã có. Tuy
nhiên vì các mệnh đề trong luật mờ có các tập mờ, logic mờ cần tương xứng thông tin
giả thiết với thông tin tập kết luận. Để làm được điều này suy diễn mờ tạo nên 1 tập mờ
từ các thông tin tập kết luận.
Ví dụ:
Tập mờ A chiều cao là cao và tập mờ B trọng lượng là nặng liên kết với nhau
trong luật IF A THEN B
IF chiều cao là cao THEN trọng lượng là nặng
Người ta có thể thể hiện cả A và B như các vectơ (A, B) thích hợp và đặt quan
hệ này vào ma trận M. Thực tế thì người ta có thể dùng luật này để tạo độ tin cậy về
chiều cao của người nặng cân. Suy diễn mờ thực hiện điều này bằng cách đưa thông tin
về chiều cao đã mã hoá vào tập con của A là A’ và suy ra tập mờ B’ trong B. B’ nhận
độ tin cậy này. Để rút ra tập mờ dẫn suất suy diễn mờ liên kết với tích của ma trận véc
tơ mờ.

92
Hai kĩ thuật suy diễn thông dụng nhất dùng trong thực tế là suy diễn max-min và
suy diễn cực đại.
5.5.1. Nhân ma trận vectơ mờ

Phép nhân ma trận vectơ cổ điển giữa vectơ X có n cột nhân với ma trận A có n
dòng và P cột thu được vectơ y có p cột được chi tiết hoá theo.
XlxnAnxp=ylxp, yj=xiaij

Phép nhân ma trận véc tơ mờ dùng kĩ thuật mệnh đề max-min trên véc tơ và ma
trận đã cho. Cho luật mờ FAM IF A THEN B trong đó A là tập mờ trên X và B là tập
mờ trên Y. Các véc tơ thích hợp của A và B được xác định.

A = (a1, a2, …, an), ai=A(xi)

B = (b1, b2, …, bp), bi=B(yi)

Ma trận mờ M nxp được xác định A M = B và các thành phần bj được tính theo

Bj = max{min(ai, mij)}, 1 i  n

Ví dụ
A=(0.2, 0.4, 0.6, 1) và ma trận mờ M

0.1 0.6 0.8

M=
0.6 0.8 0.6

.8 .6 .5
B được tính b1=max{min(0.2, 0.1), min(.4,.6), min(.6,.8), min(1,0)}=0.6
.0 .5 .5
Tương tự b2=0.6 và b3=0.5
5.5.2. Các ý tưởng cơ bản của suy diễn mờ

Để đạt được hiểu biết cơ bản về các tiếp cận ngày nay về suy diễn mờ người ta
cần trở về các ý tưởng xưa từ năm 1965 của Zadeh.
Zadeh xem tập mờ như là hàm phân bố xác suất. Hàm này ánh xạ các phần tử của
miền xác định vào các số trong đoạn [0,1] để phản ánh độ tin cậy của phần tử thuộc về
tập mờ. Như vậy có thể coi tập mờ A = phân bố xác suất =A(x)= A.

Zadeh cũng thấy được nhu cầu về suy diễn thông tin về tập mờ B dựa trên các
thông tin tập A khác. Tiếp cận này tương tự như trong lí thuyết xác suất người ta dùng

93
toán tử kết hợp đối với phép toán ma trận vectơ cổ điẻn. Zadeh tìm ma trận phân bố xác
suất B|A như là cách để thu được phân bố của B.

AB|A=B trong đó A là véc tơ 1xn, B|A là vectơ 1xp


Dùng tiếp cận này Zadeh có thể dùng thông tin về A, kí hiệu là A’ để thu được
thông tin về B, kí hiệu B’. Gọi kĩ thuật này là suy diễn tổng hợp.

Vấn đề tiếp theo là cách tạo ma trận phân bố B|A. Zadeh diễn giải các thành
phần của của ma trận B|A như sự kéo theo giữa A và B. chẳng hạn cho ácc tập mờ ở
dạng vectơ thích hợp thì ma trận B|A này có dạng

a1b1 a1b2…

a2b1 a2b2…

Ma trận này giống như ma trận liên kết M đã giới thiệu. Những năm sau người ta
cũng giới thiệu một vài toán tử kéo theo; năm 1983 Whalen và Schott cho kết quả thông
dụng hơn.
5.5.3. Suy diễn max-min

Trong suy diễn max-min toán tử kéo theo được thay thế bằng cực tiểu hoá, tức là
mij=trị chân lí (aibj) = min(ai, bj).
Khi biết ma trận A và B người ta dùng quy ước này để tạo M. Ngoài ra có thể rút
ra B’ từ A’ như vừa giới thiệu.
Ví dụ
Giả sử có miền xác định trên X thể hiện nhiệt độ tập mờ A trên X thể hiện nhiệt
độ bình thường. Y có miền ứng với tốc độ và B là tập mờ trên Y cho phép thể hiện tốc
dộ vừa pahỉ. Giả sử có luật IF nhiệt độ bình thường THEN tốc độ vừa phải hay IF A
THEN B.
Giả sử các tập mờ được thể hiện bằng các véc tơ. Để tiện theo dõi các phần tử
của vectơ cho biết cả hệ thống lẫn miền tương ứng.
Nhiệt độ bình thường = (0/100, 0.5/125, 1.0/150, 0.5/175, 0.0/200)
Tốc độ vừa phải = (1.0/10, 0.6/20, 1.0/30, 0.6/40, 0.0/50)
Ma trận M được tạo theo quy ước là M: mij=min(ai,bj)

94
min(0,0) min(0,.6) min(0,1) min(0,.6) min(0,0)
min(.5,0) min(.5,.6) min(.5,1) min(.5,.6) min(.5,0)
min(1,0) min(1,.6) min(1,1) min(1,.6) min(1,0)
min(.5,0) min(.5,.6) min(.5,1) min(.5,.6) min(.5,0)
min(0,0) min(0,.6) min(0,1) min(0,.6) min(0,0)

Hay dạng rút gọn là

0.0 0.0 0.0 0.0 0.0


0.0 0.5 0.5 0.5 0.0
0.0 0.6 1.0 0.6 0.0
0.0 0.5 0.5 0.5 0.0
0.0 0.0 0.0 0.0 0.0

Tiếp theo giả sử tập con A’ có các giá trị là A’=(0/100,.5/125,0/150, 0/175,
0/200). Tập này cho phép thấy tập rõ tại nhiệt độ 125 độ. Số đo này ứng với giá trị thuộc
vào tập mờ nhiệt độ bình thường là 0.5. Dùng nó suy ra tập mờ B’ tức độ tin cậy trong
B.

Phần trên cho biết cách tính bj =max{min(ai’,mij)} 1  i  n cho nên ở đây thu
được:
B1=max{min(0,0), min(.5,0), min(0,0), min(0,0), min(0,0)}=0
B’=(0.0/10, 0.5/20, 0.5/30, 0.5/40, 0.0/50)

A B
IF A THEN B

đọc

Thực ra tập mờ thu được này là 1 dạng trượt của B mà A’ xác định độ cao. Đây
là hiệu quả tổng quát của suy diễn max-min. Điều mà người ta làm với tập được rút ra
này sẽ được xét thêm khi thực hiện việc làm rõ.
Điều đáng lưu ý ở đây là kết quả đạt được thông qua việc giới hạn A’ bằng 1 gia
strị. Tức là đã giới hạn 125 độ để đạt được vec tơ thích hợp A’=(0,0.5,0,0,0) và tính
được B’=(0, 0.5,0.5,0.5,0).

95
Trong hầu hết các ứng dụng các hệ thống logic mờ người ta dùng giá trị phân
cách theo số đo nào đó như xk =125 độ. Từ giá trị Xk này người ta có thể dùng trực tiếp
A(xk) với thể hiện tập mờ của B’ được gọi là B(y) để thu được tập mờ trên B’.

B’=A(x) B(y)
Quay lại ví dụ trên khi giả sử nhiệt độ đọc là 125 độ có

A(x)=0.5 và

B’=(min(.0,0), min(.5,.6), min(.5,1), min(.5,0))=(0,.5,.5,.5,0)


Kết quả này khớp với kết quả thu được trong ma trận liên kết mờ. Do vậy khi
thông tin đầu vào ở dạng tập rõ người ta không cần tính và giữ ma trận mờ mà chỉ làm
việc với thông tin tập mờ ít được yêu cầu.
Khi đầu vào cho luật ở dạng mờ thì người ta có thể dùng giải pháp đơn giản. Giả
sử IF A THEN B và A’ chỉ định mờ của tập A. Thông thường người ta sẽ tính giao của
2 đầu vào, tính min(ai’,ai) để rút ra tập mờ B’.

A A’ B B’
IF A THEN B

đọc

Suy diễn max-min đối với đầu vào mờ

5.5.4. Suy diễn tích cực đại

Suy diễn tích cực đại dùng phép nhân như toán tử ngầm định khi toạ thành các
thành phần tức mij=ai*bj.
Sau đó cách tính max-min được dùng để suy ra B’ từ vec tơ tập con A’ nào đó
Ví dụ
A=(0.0, 0.5, 1.0, 0.5, 0.0), B=(0.0, 0.6, 1.0, 0.6, 0.0). M được tính từ A, B là

0.0 0.0 0.0 0.0 0.0


0.0 0.3 0.5 0.3 0.0
0.0 0.6 1.0 0.6 0.0
0.0 0.3 0.5 0.3 0.0
0.0 0.0 0.0 0.0 0.0

96
Giả sử A’=(0.0,0.5,0.0,0.0,0.0) thì các tổ hợp max-min được tính theo
bj=max{min(ai,mij)}, 1 i  n

b1=max{min(0,0), min(.5,0), min(0,0), min(0,0), min(0,0)}=0


thu được B’=(0.0,0.3,0.5,0.3,0.0)
Kĩ thuật suy diễn tích cực đại cho người ta 1 dạng có tỉ lệ của B. Trong hình vẽ
người ta được tập mờ hình tam giác.

A B B’
IF A THEN B

đọc

Suy diễn tích cực đại

Như đã làm trước đây véc tơ thích hợp A’ chứa gái trị đơn cho phép chỉ định mờ.
Vì hạn chế mạng tính điển hình này người ta lưu ý đến khía cạnh thuận tiện cho việc
tính B’. Với số đo xk của A, người ta thu được B’ bằng B’=A(xk) B(y). Cụ thể là:

B’=0.5*(0,.6,1,.6,0)=(0,.3,.5,.3,0)
Suy diễn max-min sinh ra dạng tập rõ của B còn kĩ thuật suy diễn tích cực đại
sinh ra nhiều dạng có tỉ lệ của B. Theo nghĩa này thì suy diễn tích cực đại bảo toàn nhiều
thông tin hơn suy diễn max-min. Khi kết hợp các tập mờ từ nhiều luật trong việc làm rõ
háo thì điều này rất có ý nghĩa.
5.6. Các luật nhiều giả thiết

Vấn đề đặt ra ở đây là cách tạo nên ma trận liên kết mờ M đối vớ luật có nhiều
giả thiết chẳng hạn như IF A AND B THEN C.
Giả sử có tập mờ A trên miền xác định X, B trên Y và C trên Z. tiếp cận năm
1992 của Kosko xác định mỗi giả thiết với một ma trận M tách biệt tức MAC và MBC.
Khi có thông tin về các giả thiết tức A’ và B’ thì các tập mờ trên C lll tính độc lập theo
côngt hức A’MAC=CA’, B’MBC=CB’.
Bước tiếp theo là hơp các CA’ và CB’ lại. Tiếp cận này phụ thuộc vào các giả thiết
liên kết bằng AND hay OR

Loại suy diễn Liên kết  Cách tính C’ đối với


giữa các giả thiết IF A  B THEN C
Max-min AND Min(ai,bj)  C(z)
97
Loại suy diễn Liên kết  Cách tính C’ đối với
giữa các giả thiết IF A  B THEN C
Max-min OR Max(ai,bj)  C(z)
Tích cực đại AND Min(ai,bj). C(z)
Tích cực đại OR Max(ai,bj). C(z)
Đối với liên kết AND dùng toán tử giao logic mờ để kết hợp các tập mờ dẫn suất
C’=(A’MAC)  (B’ MBC) = CA’  CB’

Còn với liên kết OR người ta có C’=(A’MAC)  (B’ MBC) = CA’  CB’. Quy định
này tổng kết trong bảng trong đó các giá trị thuộc ai=A(xi), bj=B(yj).
5.6.1. Việc làm rõ, giải mờ

Phần trên đã giới thiệu 2 kĩ thuật xác định tập mờ B’ khi có đánh giá A’ về A.
Trong nhiều trường hợp người ta cần dùng B’ để biết giá trị rõ.
Ví dụ:
IF nhiệt độ bình thường THEN tốc độ vừa phải
Và dùng số đo nhiệt độ để rút ra tập mờ trên tốc độ trung bình. Trong ứng dụng
điều khiển người ta còn muốn biết thêm về gái trị tốc độ cần đạt đến. Yêu cầu này khiến
người ta dùng tập mờ thu được để biết giá trị rõ. Đó là việc làm rõ thêm.
Kĩ thuật làm rõ thông dung nhất được dùng lag phương pháp mờ ở giữa. kĩ thuật
cho phép tính yi từ B’ theo công thức:

yi=yjmB’(yj)/  mB’(yj), j= 1,…,p


Trong ví dụ này công thức đảm bảo tính gái trị vận tốc đơn. Tuy nhiên chỉ được
giá trị đơn không phải tốt vì giá trị này sẽ luôn không đổi đối với một B. Nói chung việc
làm rõ là quan trọng khi nhiều luật cùng đưa đến 1 sự kiện.
5.6.2. Nhóm các luật mờ

Xét tình huống có n luật mờ hay n liên kết (A1,B1), (A2,B2), …, (An,Bn). Các
tình huống này dùng ma trận M1, M2, …, Mn để mã hoá các liên kết hay quan hệ giữa
các Ai và Bi.
Quan tâm về các luật mờ này là độ tin cậy chung vào B khi có số đo A’. Một cách
song song người ta tính B’i đối với mỗi luật. Rồi người ta lấy tổng các B’i này để tạo
nên B’ trên miền xác định X.

B’= B’1  B’2 … B’n =max(B’1(x), B’2(x), …, B’n(x)), xX


Tiếp theo dùng phương pháp mờ trung tâm để làm rõ B’ thu được giá trị rõ yi

98
B’1
IF A1 THEN B1

A’ B’2 B’ yi
Số đo
IF A2 THEN B2
 Làm rõ

B’3
IF A3 THEN B3

Kiến trúc của hệ thống dùng nhiều luật mờ

Ví dụ
Giả sử cần điều khiển tốc độ của phương tiện theo quyết định dụa trên nhiệt độ
phương tiện và áp suất thu được như các luật sau:
IF nhiệt độ bình thường OR áp suất thấp THEN tốc độ vừa phải
IF nhiệt độ bình thường AND áp suất bình thường THEN tốc độ thấp

IF nhiệt độ T=bình thường OR áp suất P=thấp THEN tốc độ V=vừa phải

Vừa phải
Bình thường
Max(T,P)
Thấp
đọc
đọc

Bình thường Bình thường Chậm


Min(T,P)

IF nhiệt độ T=bình thường AND áp suất P=bình thường THEN tốc độ V=chậm

Lấy tốc độ =trung tâm

Xử lí các luật mờ để làm rõ hoá theo suy diễn max-min

99
Hình vẽ mô tả quá trình suy diễn với 2 luật này theo suy diễn max-min và hình
tiếp theo sau theo suy diễn tích cực đại. Việc đọc nhiệt độ và áp suất dùng để quyết định
các giá trị thuộc tương ứng trong các tập mờ.
Giá trị lớn nhất được chọn đối với luật OR, nhỏ nhất đối với luật AND. Các giá
trị này được dùng hoặc để cắt tập mờ thu được hoặc tạo dạng tỉ lệ của tập mờ. Các tập
mờ về tốc độ mong muốn trên các tham số đầu vào.

IF nhiệt độ T=bình thường OR áp suất P=thấp THEN tốc độ V=vừa phải

Vừa phải
Bình thường
Max(T,P)
Thấp
đọc
đọc

Bình thường Bình thường Chậm


Min(T,P)

IF nhiệt độ T=bình thường AND áp suất P=bình thường THEN tốc độ V=chậm

Lấy tốc độ =trung tâm

Xử lí các luật mờ để làm rõ hoá theo suy diễn tích cực đại

100
CHƯƠNG 6. MẠNG TÍNH TOÁN

6.1. Giới thiệu mạng tính toán

Mạng tính toán là một dạng biểu diễn tri thức cú thể dựng biểu diễn các tri thức
về các vấn đề tính toán và được áp dụng một cách có hiệu quả để giải quyết các vấn đề
nầy. Mỗi mạng tính toán là một mạng ngữ nghĩa chứa các biến và những quan hệ có thể
cài đặt và sử dụng được cho việc tính toán. Có thể nói rằng mạng tính toán là một sự
tổng quát hoá của kiểu dữ liệu trừu tượng có khả năng tự xây dựng các hàm dùng cho
việc tổng hợp thành các chương trình.
Trong chương này chúng ta xét một mạng tính toán gồm một tập hợp các biến
cùng với một tập các quan hệ (chẳng hạn các công thức) tính toán giữa các biến. Trong
ứng dụng cụ thể mỗi biến và giá trị của nó thường gắn liền với một khái niệm cụ thể về
sự vật, mỗi quan hệ thể hiện một sự tri thức về sự vật.
Cách biểu diễn tri thức tính toán dưới dạng các đối tượng này rất tự nhiên và gần
gũi đối với cách nhìn và nghĩ của con người khi giải quyết các vấn đề tính toán liên quan
đến một số khái niệm về các đối tượng, chẳng hạn như các tam giác, tứ giác, hình bình
hành, hình chữ nhật, v.v....

6.1.1. Các quan hệ

Cho M = { x1, x2,..., xm} là một tập hợp các biến có thể lấy giá trị trong các miền
xác định tương ứng D1, D2,..., Dm. Đối với mỗi quan hệ Ri: D1 x D2 x...x Dm trên các tập
hợp D1, D2,..., Dm ta nói rằng quan hệ này liên kết các biến x1, x2,..., xm và ký hiệu là
R(x1, x2,..., xm) hay vắn tắt là R(x) (ký hiệu x dùng để chỉ bộ biến < x1, x2,..., xm >). Quan
hệ R(x) xác định một (hay một số) ánh xạ:

( , ): →

trong đó u, v là các bộ biến và u  x, vx; Du và Dv là tích của các miền xác


định tương ứng của các biến trong u và trong v.
Ta có thể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ fR,u,v với
uv = x, và ta viết:

( , ): ®
hay vắn tắt là:
: →

101
Đối với các quan hệ dùng cho việc tính toán, cách ký hiệu trên bao hàm ý nghĩa
như là một hàm: ta có thể tính được giá trị của các biến thuộc v khi biết được giá trị của
các biến thuộc u.
Trong phần sau ta xét các quan hệ xác định bởi các hàm có dạng:
: →
trong đó ∩ = ∅ (tập rỗng).
Đặc biệt là các quan hệ đối xứng có hạng (rank) bằng một số nguyên dương k.
Đó là các quan hệ mà ta có thể tính được k biến bất kỳ từ m-k biến kia (ở đây x là bộ
gồm m biến < x1, x2,..., xm >). Ngoài ra, trong trường hợp cần nói rõ ta viết u(f) thay cho
u, v(f) thay cho v. Đối với các quan hệ không phải là đối xứng có hạng k, không làm
mất tính tổng quát, ta có thể giả sử quan hệ xác định duy nhất một hàm f với tập biến
vào là u(f) và tập biến ra là v(f); ta gọi loại quan hệ này là quan hệ không đối xứng xác
định một hàm, hay gọi vắn tắt là quan hệ không đối xứng.
Ta có thể vẽ hình biểu diễn cho các quan hệ đối xứng và các quan hệ không đối xứng
(xác định một hàm) như trong hình 6.1 và 6.2.

Hình 6.1. Quan hệ đối xứng có hạng k

Hình 6.2. Quan hệ không đối xứng có hạng k


Nhận xét:
1/ Một quan hệ không đối xứng hạng k có thể được viết thành k quan hệ không
đối xứng có hạng 1.

102
2/ Nếu biểu diễn một quan hệ đối xứng có hạng k thành các quan hệ đối xứng có
hạng là 1 thì số quan hệ có hạng 1 bằng:

Dưới đây là một vài ví dụ về các quan hệ (tính toán) và mô hình biểu diễn tương
ứng.
Ví dụ 1: Quan hệ f giữa 3 góc A, B, C trong tam giác ABC cho bởi hệ thức: A+B+C =
180 (đơn vị: độ).

Quan hệ f giữa 3 góc trong một tam giác trên đây là một quan hệ đối xứng có hạng 1.
Ví dụ 2: quan hệ f giữa nửa chu vi p với các độ dài của 3 cạnh a, b, c:

Ví dụ 3: Quan hệ f giữa n biến x1, x2,..., xn được cho dưới dạng một hệ phương trình
tuyến tính có nghiệm. Trong trường hợp này f là một quan hệ có hạng k bằng hạng của
ma trận hệ số của hệ phương trình.
6.1.2. Mạng tính toán và các ký hiệu

Như đó nói ở trên, ta sẽ xem xét các mạng tính toán bao gồm một tập hợp các
biến M và một tập hợp các quan hệ (tính toán) F trên các biến. Ta gọi một mạng tính
toán một cách vắn tắt là một MTT, và trong trường hợp tổng quát có thể viết:
M = {x1, x2,..., xn},
F = {f1, f2,..., fm}.

103
Đối với mỗi fF, ta ký hiệu M(f) là tập các biến có liên hệ trong quan hệ f. Dĩ
nhiên M(f) là một tập con của M: M(f)  M. Nếu viết f dưới dạng:

: ( ) → ( )

thì ta có M(f) = u(f) v(f).


Ví dụ 4:
Trong ví dụ 1 ở trên, ta có M(f) = {A,B,C}.
Trong ví dụ 2 ở trên, ta có M(f) = {a,b,c,p}.
Trong ví dụ 3 ở trên, ta có M(f) = {x1, x2,..., xn}.
Ví dụ 5: Mạng tính toán cho một hình chữ nhật.
Việc tính toán trên một hình chữ nhật liên quan đến một số giá trị của hình chữ
nhật như sau:
b1, b2: hai cạnh của hình chữ nhật;
d: đường chéo của hình chữ nhật;
s: diện tớch của hình chữ nhật;
p: chu vi của hình chữ nhật;
trong đó mỗi biến đều có giá trị là thuộc tập các số thực dương. Giữa các biến ta
đó biết có các quan hệ sau đây:
f1: s = b1 * b2;
f2: p = 2 * b1 + 2 * b2;
f3: d2 = b12 + b22;
các quan hệ này đều là các quan hệ đối xứng có hạng 1.
Như vậy tập biến và tập quan hệ của mạng tính toán này là:
M = {b1, b2, d, s, p},
F = {f1, f2, f3}.
6.2. Vấn đề trên mạng tính toán

Cho một mạng tính toán (M,F), M là tập các biến và F là tập các quan hệ. Giả sử
có một tập biến A  M đó được xác định (tức là tập gồm các biến đó biết trước giá trị),
và B là một tập biến bất kỳ trong M.
*Các vấn đề đặt ra là:

104
1. Có thể xác định được tập B từ tập A nhờ các quan hệ trong F hay không? Nói
cách khác, ta có thể tính được giá trị của các biến thuộc B với giả thiết đó biết giá trị của
các biến thuộc A hay không?
2. Nếu có thể xác định được B từ A thì quá trình tính toán giá trị của các biến
thuộc B như thế nào?
3. Trong trường hợp không thể xác định được B, thì cần cho thêm điều kiện gì để
có thể xác định được B.
Bài toán xác định B từ A trên mạng tính toán (M, F) được viết dưới dạng: A B

trong đó A được gọi là giả thiết, B được gọi là mục tiêu tính toán (hay tập biến
cần tính) của vấn đề. Trường hợp tập B chỉ gồm có một phần tử b, ta viết vắn tắt bài
toán trên là Ab.

*Định nghĩa 2.1:

Bài toán AB được gọi là giải được khi có thể tính toán được giá trị các biến
thuộc B xuất phát từ giả thiết A. Ta nói rằng một dãy các quan hệ { f1, f2,..., fk}F là
một lời giải của bài toán AB nếu như ta lần lượt áp dụng các quan hệ fi (i=1,...,k) xuất
phát từ giả thiết A thì sẽ tính được các biến thuộc B. Lời giải { f1, f2,..., fk} được gọi là
lời giải tốt nếu không thể bỏ bớt một số bước tính toán trong quá trình giải, tức là không
thể bỏ bớt một số quan hệ trong lời giải. Lời giải được gọi là lời giải tối ưu khi nó có số
bước tính toán ít nhất, tức là số quan hệ áp dụng trong tính toán là ít nhất.
Việc tìm lời giải cho bài toán là việc tìm ra một dãy quan hệ để có thể áp dụng
tính ra được B từ A. Điều này cũng có nghĩa là tìm ra được một quá trình tính toán để
giải bài toán.
Trong quá trình tìm lời giải cho bài toán chúng ta cần xét một dãy quan hệ nào
đó xem có thể tính thêm được các biến từ một tập biến cho trước nhờ dãy quan hệ này
hay không. Do đó chúng ta đưa thêm định nghĩa sau đây.
*Định nghĩa 2.2:
Cho D = {f1, f2 ,..., fk} là một dãy quan hệ của mạng tính toán (M,F), A là một
tập con của M. Ta nói dãy quan hệ D là áp dụng được trên tập A khi và chỉ khi ta có thể
lần lượt áp dụng được các quan hệ f1, f2,..., fk xuất phát từ giả thiết A.

*Nhận xét: Trong định nghĩa trên, nếu đặt: A0 = A, A1 = A0  M(f1),..., Ak = Ak-1 
M(fk), và ký hiệu Ak là D(A), thì ta có D là một lời giải của bài toán A  D(A). Trong
trường hợp D là một dãy quan hệ bất kỳ (không nhất thiết là áp dụng được trên A), ta
vẫn ký hiệu D(A) là tập biến đạt được khi lần lượt áp dụng các quan hệ trong dãy D (nếu
105
được). Chúng ta có thể nói rằng D(A) là sự mở rộng của tập A nhờ áp dụng dãy quan hệ
D.
*Thuật toán tính D(A):

Input: Mạng tính toán (M,F),


A M, dãy các quan hệ D = { f1, f2,..., fm}.

Xuất: D(A).
Thuật toán:

1. A’ A;

2. for i=1 to m do
if fi áp dụng được trên A’ then

A’ A’  M(fi);

3. D(A)  A’

6.3. Giải vấn đề

6.3.1. Tính giải được của bài toán

Trong mục này chúng ta nêu lên một khái niệm có liên quan đến tính giải được
của vấn đề trên một mạng tính toán: bao đóng của một tập hợp biến trên một mạng tính
toán.
*Định nghĩa 6.1:
Cho mạng tính toán (M, F), và A là một tập con của M. Ta có thể thấy rằng có
duy nhất một tập hợp B lớn nhất M sao cho bài toán AB là giải được, và tập hợp B
này được gọi là bao đóng của A trên mô hình (M, F). Một cách trực quan, có thể nói
bao đóng của A là sự mở rộng tối đa của A trên mô hình (M, F). Ký hiệu bao đóng của
A là , chúng ta có kiểm tra dễ dàng các tính chất liên quan đến bao đóng trong mệnh
đề dưới đây.
*Mệnh đề 6.1: Cho A và B là hai tập con của M. Ta có:

(1)  A.

(2) .

(3)

106
(4)

(5)
Đối với tính giải được của bài toán, ta có thể dễ dàng kiểm chứng mệnh đề sau:
*Mệnh đề 6.2.

(1) Bài toán AB là giải được khi và chỉ khi các bài toán A  b là giải được với
mọi b  B.

(2) Nếu AB và BC là các bài toán giải được thì bài toán AC cũng giải
được. Hơn nữa, nếu {f1, f2,..., fm} và { g1, g2,..., gp} lần lượt là lời giải của bài toán AB
và bài toán BC thỡ { f1, f2,..., fm, g1, g2,..., gp } là một lời giải của bài toán AC.

(3) Nếu bài toán AB là giải được và B’ là một tập con của B thì AB’ cũng
là một bài toán giải được. Hơn nữa, nếu {f1, f2,..., fm} là một lời giải của bài toán AB
thì đó cũng là một lời giải của bài toán AB’.

Từ khái niệm bao đóng đó nói ở trên ta cũng cõ các định lý sau:

*Định lý 6.1. Trên một mạng tính toán (M,F), bài toán AB là giải được khi và chỉ khi
B

Từ định lý này, ta có thể kiểm tra tính giải được của bài toán AB bằng cách
tính bao đóng của tập A rồi xét xem B có bao hàm trong hay không.

*Mệnh đề 6.3: Cho một dãy quan hệ D = { f1, f2,..., fk} F, AM. Đặt:

A0 = A, A1 = A0 M(f1),..., Ak = Ak-1 M(fk). Ta có các điều sau đây là tương đương:

(1) Dãy D áp được trên A.


(2) Với mọi i=1,..., k ta có:
Card (M(fi) \ Ai-1) ≤ r(fi) nếu fi là quan hệ đối xứng,

M(fi) \ Ai-1  v(fi) nếu fi là quan hệ không đối xứng.

(ký hiệu Card (X) chỉ số phần tử của tập X).


*Ghi chú: Dựa vào mệnh đề 3.3 ta có một thuật toán để kiểm tra tính áp dụng được của
một dãy quan hệ D trên một tập biến A.
*Định lý 6.2. Cho một mạng tính toán (M, F), A, B là hai tập con của M. Ta có các điều
sau đây là tương đương:

(1) B .

107
(2) Có một dãy quan hệ D = {f1, f2,..., fk} F thỏa các điều kiện:

(a) D áp được trên A.


(b) D(A)  B.

Chứng minh: Giả sử có (1), tức là B . Khi đó bài toán AB là giải được. Do đó có
một dãy quan hệ {f1, f2,..., fk}  F sao cho khi ta lần lượt áp dụng các quan hệ fi (i=1,...,k)
xuất phát từ giả thiết A thì sẽ tính được các biến thuộc B. Dễ dàng thấy rằng dãy {f1,
f2,..., fk} này thỏa các điều kiện (2).
Đảo lại, giả sử có (2). Với các điều kiện có được bởi (2) ta thấy {fi} là lời giải
của vấn đề Ai-1 Ai, với mọi i = 1, 2, ..., k. Từ mệnh đề 3.2 suy ra bài toán A0 Ak là
giải được. Do đó bài toán AB cũng giải được, suy ra B theo định lý 3.1.
*Nhận xét:

1. Dãy quan hệ {f1, f2,..., fk} trong định lý trên là một lời giải của vấn đề AB
trên mạng tính toán (M,F).

2. Trong lời giải {f1, f2,..., fk} ta có thể bỏ bớt những fi nào mà M(fi)Di-1(A),
với Di-1 = { f1, f2,..., fi-1}.
Qua các định lý trên, ta thấy rằng việc xác định bao đóng của một tập biến trên
mô hình tính toán là cần thiết. Dưới đây là thuật toán cho phép xác định bao đóng của
tập hợp AM. Trong thuật toán này chúng ta thử áp dụng các quan hệ fF để tìm dần
những biến thuộc M có thể tính được từ A; cuối cùng sẽ được bao đóng của A.
6.3.2. Thuật toán tính bao đóng
Nhập: Mạng tính toán (M,F),

AM.

Xuất: ̅

Thuật toán:

1. B A;

2. Repeat

B1B;

for f  F do

if (f đối xứng and Card (M(f)\B)≤r(f)) or ( f không đối xứng and


M(f)\Bv(f) ) then

108
begin

B  B  M(f);

F  F \ {f}; // loại f khỏi lần xem xét sau

end;

Until B = B1;

3. ̅ B;

Ghi chú: Trên đây ta đã nêu lên đặc trưng cho tính giải được của bài toán trên
một mạng tính toán và chỉ ra thuật toán để kiểm tra khi nào bài toán là giải được.
Ngoài ra chúng ta sẽ cũng nêu lên cách để kiểm định giả thiết của bài toán; và
trong trường hợp bài toán chưa đủ giả thiết có thể bổ sung thêm nếu được.
2. Lời giải của bài toán
Ở trên ta đó nêu lên cách xác định tính giải được của bài toỏn. Tiếp theo, ta
sẽ trình bày cách tìm ra lời giải cho bài toán A  B trên mạng tính toán (M, F).
Trước hết từ nhận xét sau định lý 3.2 ta có mệnh đề sau đây:
*Mệnh đề 3.4: Dãy quan hệ D là một lời giải của bài toán A  B khi và chỉ khi
D áp dụng được trên A và D(A)  B.
Do mệnh đề trên, để tìm một lời giải ta có thể làm như sau: Xuất phát từ giả thiết
A, ta thử áp dụng các quan hệ để mở rộng dần tập các biến có giá trị được xác
định; và quá trình này tạo ra một sự lan truyền tính xác định trên tập các biến cho
đến khi đạt đến tập biến B. Dưới đây là thuật toán tìm một lời giải cho bài toán A
B trên mạng tính toán (M, F).
6.3.3. Thuật toán tìm lời giải

Nhập: MTT ( , ). Tập giả thiết . Tập kết luận .

Xuất: lời giải cho bài toán →


+ Solution: là dãy các quan hệ sẽ áp dụng
+ Solution_found: biến; Solution_found = true nếu bài toán có lời giải.
Thuật toán:
1. Solution ←empty;
2. If ⊆ then

109
Begin
Solution_found = true;
goto 4;
end
Else
Solution_found = false;
3. Repeat
_ ← ;

Chọn ra một ∈ chưa được xét;


While not Solution_found and (chọn được f) do
Begin
If (f đxứng and 0< ( ( )\A)≤ ( )) or (f không đối xứng and
∅≠ ( )\A⊆ ( ) then
Begin

← ∪ ( );

Solution ← ∪{ };
end
If ⊆ then
Solution_found ← true;
Chọn ra một ∈ chưa được xét;
End
Until Solution_found or ( = _ );
4. If not Solution_found then Bài toán không giải được
Else Solution là một lời giải.
*Ghi chú:
1. Về sau, khi cần trình bày quá trình giải (hay bài giải) ta có thể xuất phát từ lời
giải tìm được dưới dạng một dãy cãc quan hệ để xây dựng bài giải.
2. Lời giải (nếu có) tìm được trong thuật toán trên chưa chắc là một lời giải tốt.
Ta có thể bổ sung thêm cho thuật toán ở trên thuật toán để tìm một lời giải tốt từ một lời
110
giải đó biết nhưng chưa chắc là tốt. Thuật toán sẽ dựa trên định lý được trình bày tiếp
theo đây.

*Định lý 3.3. Cho D = {f1, f2,..., fm} là một lời giải của bài toán A B. Ứng với mỗi
i=1,...,m đặt Di = {f1, f2,..., fi}, D0 =. Ta xây dựng một họ các dãy con Sm, Sm-1,..., S2,
S1 của dãy D như sau:

Sm =  nếu Dm-1 là một lời giải,


Sm = {fm} nếu Dm-1 không là một lời giải,
Si = Si+1 nếu Di-1 ẩ Si+1 là một lời giải,
Si = {fi}  Si+1 nếu Di-1  Si+1 không là một lời giải, với mọi i = m-1, m-2,...,2,1
Khi đó ta có:

(1) Sm  Sm-1 ...  S2  S1.

(2) Di-1  Si là một lời giải của bài toán A  B với mọi i=m,..., 2, 1.

(3) Nếu S’i là một dãy con thật sự của Si thì Di-1 S’i không phải là một lời giải
của bài toỏn A  B với mọi i.

(4) S1 là một lời giải tốt của bài toán A  B.

Từ định lý 3.3 trên ta có một thuật toán tìm lời giải tốt từ một lời giải đó biết sau đây:
6.3.4. Thuật toán tìm lời giải tốt
Nhập: Mạng tính toán (M, F)

Lời giải {f1, f2, …, fm} của bài toán AB

Xuất: Lời giải tốt cho bài toán AB trên mạng tính toán (M, F)

Thuật toán:
1. D{ f1, f2, …, fm};

2. For i=m downto 1 do


If D\{fi} là một lời giải then

DD\{fi};

3. D là một lời giải tốt.

Trong thuật toán trên có sử dụng việc kiểm tra một dãy quan hệ có phải là lời giải hay
không. Việc kiểm tra này có thể được thực hiện nhờ thuậ toán sau đây:

Thuật toán kiểm tra lời giải cho bài toán:


111
Nhập: Mạng tính toán (M, F)

Bài toán AB

Dãy các quan hệ {f1, f2, …, fm}

Xuất: Thông tin cho biết {f1, f2, …, fm} có phải là lời giải của bài toán AB hay không?

Thuật toán:
1. For i = 1 to m do

If(fi đối xứng and Card(M(fi)\A) r(fi)) or (fi không đối xứng and M(fi)\Av(fi)) then

AAM(fi);

2. If AB then

{f1, f2, …, fm} là lời giải

Else

{f1, f2, …, fm} không là lời giải

Ở trên ta đã có một thuật toán tổng quát để tìm lời giải tốt cho bài toán khi đã biết
trước một lời giải. Tuy nhiên, trong các ứng dụng cụ thể ta thường gặp các quan hệ dối
xứng có hạng 1 hơn là các hệ đối xứng có hạng>1. Trong trường hợp như thế, ta có thể
áp dụng một thuật toán khác để tìm một lời giải tốt từ một lời giải biết trước với một
mức độ tính toán ít hơn. Theo thuật toán này, ta lần lượt xem xét các quan hệ trong tập
lời giải đã biết và chọn ra các quan hệ để đưa vào một lời giải mới sao cho trong lời giải
mới này không thể bớt ra bất kỳ một quan hệ nào.

Thuật toán tìm một lời giải tốt từ một lời giải đã biết không chứa quan hệ đối xứng
có hạng>1
Nhập: Mạng tính toán (M, F)

Bài toán AB

Dãy các quan hệ {f1, f2, …, fm}

Điều kiện: fi không phải là quan hệ đối xứng có hạng>1

Xuất: Lời giải của bài toán AB

Thuật toán:

1. NewSolution; //đầu tiên tập lời giải chưa có quan hệ nào

A0A;
112
For i=1 to m do Ai = Ai-1M(fi);

2. //Dò theo chỉ số i từ 0, tìm i đầu tiên sao cho AiB

i0;

While not (AiB) do

ii+1;

3. If i=0 then goto 8;

4. mi;

5. //Ghi nhận fm trong lời giải mới

NewSolution{fm} NewSolution;

6. //Dò theo chỉ số i từ 1 đến m-1 tìm đến i đầu tiên (nếu có) sao cho ta có thể áp dụng
fm trên Ai để tính ra được B

i_foundFalse;

i1;

While not i_found and (1m-1) do

If((fm đối xứng and Card(M(fm)\Ai)r(fm)) or (fm ko đối xứng and


M(fm)\Aiv(fm)) and (BM(fm)Ai) then

i_foundTrue;

Else

ii+1;

7. If i_found then

Begin

B(BM(fm))Ai;

Goto 2;

8. NewSolution là một lời giải tốt của bài toán AB

6.3.5. Ví dụ
Cho tam giác ABC có cạnh a và 2 góc kề là ,  được cho trước.

Tính diện tích S của tam giác.

113
Để tìm ra lời giải của bài toán đã cho, trước hết ta xét mạng tính toán của tam giác. Mạng
tính toán này gồm:

M = {a, b, c, , , , ha, hb, hc, S, p, R, r,…}

Trong đó: a, b, c là cạnh;

, ,  là 3 góc tương ứng với 3 cạnh

ha, hb, hc là 3 đường cao

S là diện tích tam giác

P là nửa chu vi

R là bán kính đường tròn ngoại tiếp tam giác

r là bán kính đường tròn nội tiếp tam giác


F: tập các quan hệ:

f1: + +  = 180 f5: p=(a+b+c)/2 f9: S=a.b.sin/2

f2: = f6: S=a.ha/2 f10: S=b.c.sin/2

f3: = f7: S=b.hb/2 f11: S=a.c.sin/2

f4: = f8: S=c.hc/2 f12: = ( − )( − )( − )

Hãy tính S (diện tích của tam giác)

Theo đề bài ta có giả thiết là A={a, , }, và tập biến cần tính B={S}

Áp dụng thuật toán tìm lời giải (thuật toán 3.2) ta có một lời giải cho bài tính là
dãy quan hệ sau: {f1, f2, f3, f5, f9}.
Xuất phát từ tập biến A, lần lượt áp dụng các quan hệ trong lời giải ta có tập các
biến được xác định mở rộng dần đến khi S được xác định:

{ a, b, g } { a, b, g, a } { a, b, g, a, b} { a, b, g, a, b, c}
{ a, b, g, a, b, c, p} { a, b, g, a, b, c, p, S}.
Có thể nhận thấy rằng lời giải này không phải là lời giải tốt vì có bước tính toán
thừa, chẳng hạn là f5. Thuật toán 3.3 hay thuật toán 3.4 sẽ lọc ra từ lời giải trên một lời
giải tốt là { f1, f2, f9}:

{ a, b, g } { a, b, g, a } { a, b, g, a, b} { a, b, g, a, b, S}.

114
Theo lời giải này, ta có quá trình tính toán như sau:
bước 1: tính a (áp dụng f1).
bước 2: tính b (áp dụng f2).
bước 3: tính S (áp dụng f9).
Quá trình tính toán (gồm 3 bước) này có thể được diễn đạt một cách rõ ràng trên
sơ đồ mạng hình 6.3.
6.3.6. Lời giải tối ưu của bài toán

Liên quan đến lời giải tối ưu cho bài toán, ta có thể dễ dàng chứng minh mệnh đề
dưới đây dựa vào tính thứ tự tốt của tập hợp các số tự nhiên.

*Mệnh đề 3.3. Nếu bài toán A B là giải được thì sẽ tồn tại một lời giải tối ưu cho bài
toán.
Ngoài ra, ta có thể áp dụng thuật toán A* (thuật toán heuristic) để tìm ra một lời
giải tối ưu trong trường hợp bài toán là giải được.

Hình 6.3. Sơ đồ thể hiện một mạng tính toán.


6.3.7. Kiểm định giả thiết cho bài toán

Xét bài toán AB trên mạng tính toán (M, F). Trong mục nầy chúng ta xem xét
giả thiết A của bài toán xem thừa hay thiếu, và trong trường hợp cần thiết ta tìm cách
điều chỉnh giả thiết A.
Trước hết ta cần xét xem bài toán có giải được hay không. Trường hợp bài toán giải
được thì giả thiết là đủ. Tuy nhiên có thể xảy ra tình trạng thừa giả thiết. Để biết được

115
bài toán có thật sự thừa giả thiết hay không, ta có thể dựa vào thuật toán tìm sự thu gọn
giả thiết sau đây:
Thuật toán 3.5. Tìm một sự thu gọn giả thiết của bài toán.
Nhập: Mạng tính toán (M,F),
Bài toán AB giải được,

Xuất: tập giả thiết mới A’A tối thiểu theo thứ tự .
Thuật toán:
Repeat

A’A;

for xA do

if A\{x}B giải được then

AA\{x};
Until A = A’;
*Ghi chú: Trong thuật toán trên nếu tập giả thiết mới A’ thật sự bao hàm trong A thì
bài toán bị thừa giả thiết và ta có thể bớt ra từ giả thiết A tập hợp các biến không thuộc
A’, coi như là giả thiết cho thừa.

Trường hợp bài toán AB là không giải được thì ta nói giả thiết A thiếu. Khi đó
có thể điều chỉnh bài toán bằng nhiều cách khác nhau để cho bài toán là giải được. Chẳng
hạn ta có thể sử dụng một số phương án sau đây:

Phương án 1: Tìm một A’M\( B) tối tiểu sao cho bao đóng của tập hợp
A’A chứa B.
Phương án 2: Khi phương án 1 không thể thực hiện được thì ta không thể chỉ
điều chỉnh giả thiết để cho bài toán là giải được. Trong tình huống này, ta phải bỏ bớt
kết luận hoặc chuyển bớt một phần kết luận sang giả thiết để xem xét lại bài toán theo
phương án 1.
6.3.8. Định lý về sự phân tích quá trình giải

Xét bài toán AB trên mạng tính toán (M,F). Trong các mục trên chúng ta đó
trình bày một số phương pháp để xác định tính giải được của bài toán, tìm ra một lời
giải tốt cho bài toỏn.
Trong mục này ta nêu lên một cách xây dựng quá trình giải từ một lời giải đó
biết. Đối với một lời giải, rất có khả năng một quan hệ nào đó dẫn tới việc tính toán một
116
số biến thừa, tức là các biến tính ra mà không có sử dụng cho các bước tính phía sau.
Do đó, chúng ta cần xem xét quá trình áp dụng các quan hệ trong lời giải và chỉ tính
toán các biến thật sự cần thiết cho quá trình giải theo lời giải. Định lý sau đây cho ta một
sự phân tích tập các biến được xác định theo lời giải và trên cơ sở đó có thể xây dựng
quá trỡnh tớnh toỏn cỏc biến để giải quyết bài toán.

Định lý 3.4. Cho {f1, f2, ..., fm} là một lời giải tốt cho bài toán AB trên một mạng
tính toán (M, F). Đặt:
A0 = A, Ai = {f1, f2, ..., fi} (A), với mọi i=1, ..., m.
Khi đó có một dãy {B0, B1, ..., Bm-1, Bm}, thỏa các điều kiện sau đây:
(1) Bm = B.

(2) BiAi, với mọi i=0, 1, ..., m.


(3) Với mọi i=1, ..., m, {fi} là lời giải của bài toỏn Bi-1 đ Bi nhưng không phải là
lời giải của bài toán GBi, trong đó G là một tập con thật sự tùy ý của Bi-1.

Chứng minh: Ta xây dựng dãy {B0, B1,..., Bm-1, Bm} bằng cách đặt: Bm = B, và ứng
với mỗi i < m, đặt:

Bi = (Bi+1  Ai)  Ai’

với Ai’ là tập có ít phần tử nhất trong Ai \ Bi+1 sao cho fi+1 áp dụng được trên tập
hợp (Bi+1 Ai) Ai’. Thật ra, Ai’ có được xác định như sau:
Ai’ = u(fi+1) \ Bi+1 nếu fi+1 không đối xứng,
và nếu fi+1 đối xứng thì

Ai’ = một tập con gồm max(0, ti) phần tử của tập hợp (M(fi+1)\Bi+1)  Ai

trong đó ti = card(M(fi+1)) - r(fi+1) - card(M(fi+1)  Bi+1  Ai).

117
Với cách xây dựng này ta có thể kiểm tra được rằng dãy { B0, B1,..., Bm-1, Bm}
thỏa mãn các điều kiện ghi trong định lý.
*Ghi chú:

(1) Từ định lý trên ta có quá trình tính toán các biến để giải bài toán AB như sau:

Bước 1: tính các biến trong tập B1 \ B0 (áp dụng f1).


Bước 2: tính các biến trong tập B2 \ B1 (áp dụng f2).
v.v...
Bước m: tính các biến trong tập Bm \ Bm-1 (áp dụng fm).
(2) Từ chứng minh của định lý trên, ta có thể ghi ra một thuật toán để xây dựng dãy các
tập biến {B1’, ..., Bm-1’, Bm’} rời nhau cần lần lượt tính toán trong quá trình giải bài
toán (Bi’ = Bi \ Bi-1) gồm các bước chính như sau:
- Xác định các tập A0, A1, ..., Am.
- Xác định các tập Bm, Bm-1, ..., B1, B0.
- Xác định các tập B1’, B2’,..., Bm’.
Ví dụ:
Giả sử trên một mạng tính toán ta có { f1, f2, f3} là một lời giải tốt cho bài toán
AB, trong đó:

A = {a1, b1, b2},


B = {b3},
f1, f2 là các quan hệ đối xứng có hạng 2, f3 là quan hệ đối xứng có hạng 1, và
M(f1) = {a1, b1, c1, d1},
M(f2) = {a1, c1, b2, d2, e2},
M(f3) = {b1, e2, b3}.
Dựa theo sự phân tích quá trình giải trong định lý trên ta có:
A0 = A,
A1 = {a1, b1, b2, c1, d1},
A2 = {a1, b1, b2, c1, d1, d2, e2},
A3 = {a1, b1, b2, c1, d1, d2, e2, b3},
B3 = B,

118
B2 = {b1, e2},
B1 = {b1, a1, c1, b2},
B0 = {a1, b1, b2},
và các tập biến cần lần lượt tính toán trong bài giải cho bài toán là:
B1’= {c1},
B2’= {e2},
B3’= {b3}.
Từ đó ta có quá trình tính toán theo lời giải trên như sau:
Tính c1 (áp dụng f1),
Tính e2 (áp dụng f2),
Tính b3 (áp dụng f3).
6.4. Ứng dụng trong các phản ứng hoá học

Ngoài ứng dụng đã nêu trong các ví dụ ở các mục trên về việc giải các bài toán
về tam giác và tứ giác, mạng tính toán có thể được áp dụng trong việc biểu diễn và giải
một số bài toán trên các phản ứng hóa học. Chúng ta biết rằng trong hóa học, việc xem
xét các phản ứng hóa học là một trong những vấn đề quan trọng. Về mặt tri thức người
ta đó biết được nhiều chất và các phản ứng hóa học có thể chuyển hóa từ một số chất
nầy thành các chất khác. Tạm thời bỏ qua một số điều kiện phản ứng, ta có thể xem tri
thức đó như một mạng tính toán mà mỗi phản ứng là một quan hệ của mạng. Ví dụ như
phản ứng điều chế Clo từ axít Clohidric và đioxit mangan:
MnO2 + HCl đ MnCl2 + Cl2 + H2O.
Phản ứng trên có thể được xem như một quan hệ cho chúng ta có được các chất Cl2,
MnCl2, H2O từ cỏc chất MnO2, HCl.
Trong mục này ta dùng mạng tính toán để giải 2 bài toán sau:
1. Cho một số chất, hỏi có điều chế được một vài chất nào đó không?
2. Tìm các phương trình phản ứng để biểu diễn dãy các biến hoá, chẳng hạn như
các dãy:

Zn  ZnO  ZnSO4

S  SO2  SO3  H2SO4

119
Kiến thức ta cần có đối với 2 bài toán trên là tập hợp tất cả các chất cùng với các
phản ứng hóa học được phân loại thành các nhóm phản ứng khác nhau. Dưới đây chúng
ta liệt kê một số nhóm phản ứng hóa học được lưu trữ trong phần kiến thức của chương
trình.
*Một số phản ứng liên quan đến khí Clo:
1/ Natri nóng chảy cháy trong Clo cho phản ứng tạo thành natri clorua:
Na + Cl2 đ NaCl
2/ Bột sắt nóng chảy trong Clo cho phản ứng:
Fe + Cl2 đ FeCl3
3/ Nung đỏ dây đồng cho vào khí Clo, ta có phản ứng:
Cu + Cl2 đ CuCl2
4/ Clo tác dụng với nước:
Cl2 + H2O đ HCl + HclO
5/ Điều chế Clo từ axít Clohidric và đioxit mangan:
MnO2 + 4HCl = MnCl2 + Cl2 + 2H2O
6/ Điều chế Clo bằng axit clohidric và Kali pemanganat:

HCl + KMnO4  KCl + MnCl2 + H2O +Cl2

7/ Điện phân dung dịch đậm đặc muối ăn trong nước:

NaCl + H2O  Cl2 + H2 + NaOH

*Một số phản ứng khác:

8/ K + Cl2  KCl

9/ Na + Cl2  NaCl

10/ Al + Cl2  AlCl3

11/ Ca + Cl2  CaCl2

12/ FeCl2 + Cl2  FeCl3

13/ Cl2 + KBr  KCl + Br2

14/ Cl2 + NaBr NaCl + Br2

*Các phản ứng liên quan đến Hidro Clorua HCl:

120
15/ Cho Natri Clorua tinh thể tác dụng với axit sunfuric đậm đặc, đung nóng (phương
pháp sunfat), tùy theo nhiệt độ ta có các phản ứng sau đây:

NaCl + H2SO4 NaHSO4 + HCl

NaCl + H2SO4 Na2SO4 + HCl

16/ Phản ứng điều chế HCl bằng phương pháp tổng hợp:
H2 + Cl2  HCl

*Một số phản ứng khác:

17/ KCl + H2SO4KHSO4 + HCl

18/ KCl + H2SO4  K2SO4 + HCl

19/ CaCl2 + H2SO4  Ca(HSO4)2 + HCl

20/ CaCl2 + H2SO4  CaSO4 + HCl

*Các phản ứng của xit clohidric và muối clorua:


21/ Zn + HCl  ZnCl2 + H2

22/ Fe + HCl  FeCl2 + H2

23/ Al + HClAlCl3 + H2

24/ Ca + HCl  CaCl2 + H2

25/ Na + HCl  NaCl + H2

26/ K + HCl  KCl + H2

27/ Mg + HCl  MgCl2 + H2

28/ CuO + HCl  CuCl2 + H2O

29/ ZnO + HCl  ZnCl2 + H2O

30/ MgO + HCl  MgCl2 + H2O

31/ MnO2 + HCl  MnCl2 + Cl2 + H 2O

32/ Al2O3 + HCl  AlCl3 + H 2O

33/ Al(OH) 3 + HCl  AlCl3 + H2O

34/ NaOH + HCl  NaCl + H2O

35/ KOH + HCl  KCl + H2O


121
36/ Zn(OH) 2 + HCl  ZnCl 2 + H 2O

37/ Cu(OH) 2 + HCl  CuCl 2 + H 2O

38/ Cl2 + KOH  KClO3 + KCl + H2O

39/ Cl2 + NaOH  NaClO + NaCl + H2O

40/ AgNO3 + HCl  HNO3 + AgCl¯

41/ CaCO3 + HCl  CaCl2 + H2O + CO2

42/ MgCO3 + HCl  MgCl2 + H2O + CO2

43/ BaSO3 + HCl  BaCl2 + H2SO3

44/ AgNO3 + NaCl  NaNO3 + AgCl¯

45/ AgNO3 + KCl  KNO3 + AgCl¯

46/ H2S + HClO3  HCl + H2SO4

*Nước Javen: Dẫn Clo vào dung dịnh NaOH:

47/ Cl2 + NaOH  NaCl + NaClO + H2O

(Natri hipoclorit)
tương tự ta cũng có:

48/ Cl2 + KOH KCl + KClO + H2O


*Kali Clorat KClO3
Clo đi vào dung dịch kiềm đun nóng đến 100oC sẽ cho phản ứng:

49/ Cl2 + KOH KCl + KClO3 + H2O


*Kali Clorat bị phân hủy khi đung nóng theo các phương trình:

50/ KClO3 KCl + O2

51/ KClO3 KCl + KClO4


(Kali peclorat)
*Clorua vôi: Clo tác dụng với vôi:
52/ Ca(OH) 2 + Cl2  CaOCl2 + H2O
*Các phản ứng của Brom và Iot:

122
53/ Al + Br2 đ AlBr3
54/ Al + I2 đ AlI3

55/ H2 + Br2 HBr

56/ H2 + I2 HI
(hidro iotua)

57/ HI H2 + I2
Dựa trên các thuật toán tìm lời giải trên mạng tính toán ta có thể giải được các
bài toán như trong các ví dụ sau:
Ví dụ 1: Viết phương trình phản ứng biểu diễn các biến hóa sau:
Zn  ZnO  ZnSO4

Giải: Trên cở sở dò tìm các phản ứng (xem là các quan hệ của mạng tính toán các chất
hóa học) đó biết ta có thể tìm thấy được các phản ứng sau đây:

Zn + O2  ZnO

ZnO + H2SO4  ZnSO4 + H2O

Ví dụ 2: Từ lưu huỳnh (S) và nước (H2O) ta có thể điều chế được axit sunfuaric (H2SO4)
không?
Giải: Áp dụng các thuật toán tìm lời giải cho mạng tính toán các chất hoá học, dò theo
các phản ứng liên quan đến lưu huỳnh và nước ta tìm ra được quá trình điều chế như
sau:
điện phân
H2O  H2 + O2

S + O2  SO2

SO2 + O2  SO3

SO3 + H2O  H2SO4


Tương tự như 2 ví dụ trên, với tri thức gồm các phản ứng hóa học đó biết dưới dạng một
mạng các chất hóa học chúng ta cũng có thể dễ dàng giải các bài toán sau đây:
Ví dụ 3: Viết các phương trình phản ứng để thực hiện các biến hóa theo các sơ đồ sau
đây:

ZnS  SO2  H2SO4

123
ZnS  ZnO  ZnCl2

Ví dụ 4: Hoàn thành các phương trình phản ứng sau đây:


Mg + H2SO4 đ...
Fe(OH)3 + H2SO4 đ...
K2CO3 + H2SO4 đ...
Ba(NO3)2 + H2SO4 đ...
Ví dụ 5: Viết phương trình phản ứng theo các sơ đồ sau:

FeS + ?  FeCl2 + ?

CuSO4 + ?  ? + Na2SO4

Ví dụ 6: Từ muối NaCl và nước (H2O) ta có thể điều chế được axit clohidric (HCl) và
NaOH không?

CHƯƠNG 7. HỆ HỌC
7.1. Học

7.1.1. Mở đầu

Các chương trước có thảo luận về biểu diễn tri thức và các kỹ thuật suy diễn.
Trong trường hợp này giả định đó có sẵn tri thức và có thể biểu diễn tường minh tri thức.
Tuy vậy trong nhiều tinh huống, sẽ không có sẵn tri thức như:
- Kỹ sư phần mềm cần thu nhận tri thức từ chuyên gia lĩnh vực.

124
- Cần biết các luật mô tả lĩnh vực cụ thể.
- Bài toán không được biểu diễn tường minh theo luật, sự kiện hay các quan
hệ.
Do vậy cần phát triển các hệ thống có thể học từ tập các ví dụ. Có hai tiếp cận
cho hệ thống học là học từ ký hiệu và học từ dữ liệu số. Học từ ký hiệu bao gồm việc
hình thức học, sửa chữa các luật tường minh, sự kiện và các quan hệ. Học từ dữ liệu số
được áp dụng cho những hệ thống được mô hình dưới dạng số liên quan đến các kỹ thuật
nhằm tối ưu các tham số. Học theo dạng số bao gồm mạng neural nhân tạo, thuật giải di
truyền, bài toán tối ưu truyền thống. Các kỹ thuật học theo số không tạo ra CSTT tường
minh.
7.1.2. Các hình thức học

Có thể phân chia các loại học như sau:


a. Học vẹt
Hệ tiếp nhận các khẳng định của các quyết định đúng. Khi hệ tạo ra một quyết
định không đúng, hệ sẽ đưa ra các luật hay quan hệ đúng mà hệ đó sử dụng. Hình thức
học vẹt nhằm cho phép chuyên gia cung cấp tri thức theo kiểu tương tác.
b. Học bằng cách chỉ dẫn
Thay vì đưa ra một luật cụ thể cần áp dụng vào tình huống cho trước, hệ thống
sẽ được cung cấp bằng các chỉ dẫn tổng quát. Ví dụ: "gas hầu như bị thoát ra từ van thay
vỡ thoỏt ra từ ống dẫn". Hệ thống phải tự mình đề ra cách biến đổi từ trừu tượng đến
các luật khả dụng.
c. Học bằng qui nạp
Hệ thống được cung cấp một tập các ví dụ và kết luận được rút ra từ từng ví dụ.
Hệ liên tục lọc các luật và quan hệ nhằm xử lý từng vớ dụ mới.
d. Học bằng tương tự
Hệ thống được cung cấp đáp ứng đúng cho các tác vụ tương tự nhưng không
giống nhau. Hệ thống cần làm thích ứng đáp ứng trước đó nhằm tạo ra một luật mới có
khả năng áp dụng cho tình huống mới.
e. Học dựa trờn giải thớch
Hệ thống phân tích tập các lời giải ví dụ (và kết quả) nhằm ấn định khả năng
đúng hoặc sai và tạo ra các giải thích dùng để hướng dẫn cách giải bài toán trong tương
lai.

125
f. Học dựa trên tình huống
Bấy kỳ tình huống nào được hệ thống lập luận đều được lưu trữ cùng với kết quả
cho dù đúng hay sai. Khi gặp tình huống mới, hệ thống sẽ làm thích nghi hành vi đó lưu
trữ với tình huống mới.
g. Khám phá hay học không giám sát
Thay vì có mục tiêu tường minh, hệ khám phá liên tục tìm kiếm các mẫu và quan
hệ trong dữ liệu nhập. Các ví dụ về học không giám sát bao gồm gom cụm dữ liệu, học
để nhận dạng các đặc tính cơ bản như cạnh từ các điểm ảnh.
7.2. Cây định danh

Cây định danh là một công cụ khá phổ biến trong nhiều dạng ứng dụng, với cơ
chế rút trích các luật nhân quả xác định các mẫu dữ liệu.
7.2.1. Thí dụ về thế giới thực thu gọn

Tưởng tượng có các dữ liệu về bài toán đánh giá độ rám nắng tại một nơi nghỉ
mát. Có người vui vì ngăm đen, nhưng cũng có người rát vì rộp da. Dữ liệu quan sát trên
nhóm người được ghi lại theo bảng sau đây.

TT Tên Màu tóc Chiều cao Cân nặng Dùng Kết quả
người thuốc?
1 Hoa Đen Tầm thước Nhẹ Không Bị rám
2 Lan Đen Cao Vừa phải Có Không
3 Xuân Râm Thấp Vừa phải Có Không
4 Hạ Đen Thấp Vừa phải Không Bị rám
5 Thu Bạc Tầm thước Nặng Không Bị rám
6 Đông Râm Cao Nặng Không Không
7 Mơ Râm Tầm thước Nặng Không Không
8 Đào Đen Thấp Nhẹ Có Không
Bảng 8.1. Số liệu quan sát về hiện tượng rám nắng.
Nếu có ba dữ liệu khác nhau về màu tóc, cân nặng, chiều cao và người ta có thể
dùng thuốc hoặc không thì sẽ có 3*3*3*2 = 54 tổ hợp. Một người mới được chọn thì
xác suất khớp được với mẫu là 8/54 = 0.15. Xác suất này cao hơn thực tế do còn nhiều
thuộc tính và nhiều giá trị khác mà thuộc tính có thể nhận.
Do vậy nếu so sánh các thuộc tính của đối tượng chưa biết với thuộc tính của các
đối tượng thống kê thì không chính xác. Một số nhận xét về việc giải bài toán này:
- Người ta có thể xử lý dữ liệu như không gian các đặc tính, nhưng nếu không
ra thuộc tính nào là quan trọng hơn thì cũng khó tìm thấy đối tượng khớp nhất.

126
- Cú thể dùng không gian các thế hệ để cô lập các thuộc tính liên quan và thuộc
tính không liên quan. Tuy nhiên thường không tìm thấy lý do thuyết phục để
tin được mô hình phân loại cú thể được diễn tả như tổ hợp các giá trị của tập
các thuộc tính. Mặt khác cũng có thể các mẫu bị nhiễu, không thực chính xác
như thế giới thực.
- Người ta dùng thủ tục phân loại chính xác các mẫu. Khi thủ tục đó học mẫu
với số lượng mẫu "khá đủ", thủ tục có thể nhận ra đối tượng chưa biết.

Hình 8.1. Cây định danh (Người có tên ghi đậm là người bị rám nắng).
Một cách phù hợp cho phép thực hiện các thủ tục thử nghiệm các thuộc tính là
sắp xếp các thử nghiệm trên cây định danh. Do cây định danh thuộc loại cây quyết
định, đặc tả của nó như đặc tả cây quyết định.
Định nghĩa 8.1: Cây định danh (Identification tree)
Cây định danh có thể hiện như cây quyết định, trong đó mỗi tập các kết luận
được thiết lập ngầm định bởi một danh sách đó biết.
Cây định danh dùng để xác định người bị rám nắng với kiểm tra đầu tiên là màu
tóc. Nếu thấy tóc đen người ta kiểm tra có dùng thuốc không? Ngược lại, nếu tóc bạc
hay râm, người ta không cần kiểm tra. Nói chung việc chọn tiến hành loại kiểm tra nào
là phụ thuộc vào kết quả của lần kiểm tra trước. Xem ví dụ thể hiện trong hình 8.1.
Mỗi đối tượng đưa vào định danh đi xuống theo một nhánh cây, tùy theo các giá
trị thuộc tính của nó. Cây định danh như hỡnh vẽ cú thể phõn loại người trong cơ sở dữ
liệu "rám nắng" vỡ mỗi người ứng với một nút lá trên cây định danh. Nút này dùng cho
một hay nhiều người. Trong hình cho thấy người bị rám nắng được đánh dấu bằng tên
in đậm hơn.
Người ta có thể đưa ra một cây, có các nút lá ứng với mỗi người, không liên quan
gỡ đến thuộc tính rám nắng. Liệu nó được dùng phân loại không?
127
So sánh cây định danh và cây tổng quát, người ta thấy cây thứ nhất là cây định
danh, có vẻ liên quan đến sự rám nắng nhiều hơn cây thứ hai. Cây định danh tỏ ra đó
biết rằng màu túc và phần lộ ra ỏnh nắng liờn quan trực tiếp đến tính rám nắng.
Làm sao có thể chương trỡnh húa để đến được cùng một kết luận mà không cần
biết trước màu tóc và việc dùng thuốc liên quan đến đặc tính của da? Một trong các giải
đáp là phát biểu của Occam.
Phát biểu Occam dùng cho các cây định danh:
Thế giới vốn đơn giản. Do vậy cây định danh gồm các mẫu là cái thích hợp nhất
để định danh các đối tượng chưa biết một cách chính xác.
Theo phát biểu này, cây định danh đầu tiên nhỏ hơn cây sau nên nó phù hợp hơn.
7.2.2. Phân loại đối tượng theo các thuộc tính

Nếu như ta tìm kiếm cây định danh nhỏ nhất khi cần có rất nhiều thử nghiệm thì
thực là khụng thực tế. Chính vì vậy mà cũng nên dừng lại ở thủ tục xây dựng những cây
định danh nhỏ, dù rằng nó không phải là nhỏ nhất. Người ta chọn thử nghiệm cho phép
chia cơ sở dữ liệu các mẫu thành các tập con. Trong đó nhiều mẫu cùng chung một loại.
Đối với mỗi tập có nhiều loại mẫu, dùng thử nghiệm khác để chia các đối tượng không
đồng nhất thành các tập chỉ gồm đối tượng đồng nhất.
Xét ví dụ thể hiện ở hình 8.2. Cơ sở dữ liệu "rám nắng" có thể được chia nhỏ theo
bốn thử nghiệm ứng với bốn thuộc tính:
Thử nghiệm theo cân nặng là tồi nhất nếu người ta đánh giá thử nghiệm theo các
tập đồng nhất, có cùng tính chất rám nắng. Sau khi dùng thử nghiệm này, những mẫu
rám nắng nằm đều ở các tập.
Thử nghiệm theo chiều cao có vẻ tốt hơn. Có hai người trong một tập đồng nhất.
Hai tập kia có lẫn cả người rám và không rám nắng.
Thử nghiệm về việc dùng thuốc thu được ba đối tượng trong một tập đồng nhất
gồm những người không rám nắng.
Thử nghiệm thao màu tóc là tốt nhất. Trong tập đồng nhất rám nắng có một người
là Thu, và tập đồng nhất không rám nắng có ba người là Đông, Mơ và Xuân.

128
Hình 8.2. Bốn cách phân chia cơ sở dữ liệu theo bốn thuộc tính khác nhau
Theo các thử nghiệm này người ta sử dụng trước tiên thử nghiệm về màu tóc.
Thử nghiệm này có một tập không đồng nhất ứng với màu tóc, lẫn lộn người rám nắng
và không rám nắng. Bốn người Hoa, Lan, Hạ và Đào được chia nhỏ ra.

Hình 8.3. Ba cách phân chia tiếp theo đối với bốn người thuộc tập không đồng nhất
Sau lần chia này người ta nhận thấy trong ba cách chia, cách chia theo việc dùng
thuốc cho phép tách bốn đối tượng thành hai tập đồng nhất.
7.2.3. Độ lộn xộn của tập hợp

Đối với cơ sở dữ liệu thực, không phải bất kỳ thử nghiệm nào cũng có thể cho ra
tập đồng nhất. Với cơ sở dữ liệu này người ta cần đo mức độ lộn xộn của dữ liệu, hay
độ không đồng nhất trong các tập con được sinh ra. Công thức do lý thuyết thông tin về
độ lộn xộn trung bình:
129
Trong đó nb là số mẫu trong nhánh b, nt là tổng số các mẫu, và nbc là số mẫu
trong nhánh b của lớp c.
Thực chất người ta quan tâm đến số các mẫu tại cuối nhánh. Yêu cầu nb và nbc
là cao khi thử nghiệm sinh ra các tập không đồng nhất, và là thấp khi thử nghiệm sinh
ra các tập hoàn toàn thống nhất.

Độ lộn xộn tính bằng:


Dù công thức chưa cho thấy "sự lộn xộn", nhưng người ta dùng nó để đo thông
tin. Để thấy được các khía cạnh quan tâm, giả sử có một tập gồm các phần tử của hai
lớp A và B. Nếu số phần tử của hai lớp là cân bằng, thì độ lộn xộn là 1 và giá trị cực đại
về độ lộn xộn được tính theo:
-1/2log21/2 - 1/2log21/2 = 1/2 + /2 = 1
Mặt khác nếu phần tử thuộc chỉ một trong A, B, độ lộn xộn là 0.
-1log21 - 0log20 = 0
Độ lộn xộn bằng 0 khi tập là hoàn toàn thống nhất, và bằng 1 khi tập hoàn toàn
không đồng nhất. Độ đo lộn xộn có giá trị từ 0 đến 1.
Bằng công cụ này, người ta có thể tính được độ lộn xộn trung bình của các tập
tại cuối các nhánh sau lần thử nghiệm.

Độ lộn xộn trung bình= độ lộn xộn trong tập nhánh b.


Trong thí dụ trước, thử nghiệm về màu tóc đó chia cơ sở dữ liệu thành ba phần.
Tập tóc đen có hai người rám nắng và hai người không rám nắng. Tập tóc bạc chỉ có
một người rám nắng. Trong tập tóc râm, cả ba người không hề rám. Độ lộn xộn trung
bình được tính cho kết quả 0.5.
4/8(-2/4log2 2/4 - 2/4 log2 2/4) + 1/8*0 + 3/8*0 = 0.5
Thực hiện tính toán tương tự:

Thử nghiệm theo ... Độ lộn xộn


Màu tóc 0.50
Chiều cao 0.69
Cân nặng 0.94
Dùng thuốc 0.61

130
Bảng 8.2. Lựa chọn cách phân chia cơ sở dữ liệu theo độ đo về sự lộn xộn.
Do thử nghiệm theo màu tóc gây ra ít lộn xộn nhất, người ta dùng nó làm thử
nghiệm đầu tiên. Tương tự, sau khi làm thử nghiệm này người ta làm thử nghiệm về
việc dùng thuốc, do tính toán:
Thử nghiệm theo ... Độ lộn xộn
Chiều cao 0.5
Cân nặng 1.0
Dùng thuốc 0.0
Bảng 8.3. Lựa chọn tiếp theo.
Vậy để tạo ra cây định danh, người ta dùng thủ tục SINH được trình bày như sau:
Thủ tục SINH dùng cây định danh:
Cho đến khi mỗi nút lá được ghi tên các phần tử của tập mẫu đồng nhất, thực
hiện:
1. Chọn nút lá ứng với tập mẫu không đồng nhất.
2. Thay thế nút này bằng nút thử nghiệm cho phép chia tập không đồng nhất
thành các tập không đồng nhất, dựa theo tính toán độ lộn xộn.
7.2.4. Chuyển cây sang luật

Một khi đã dựng được cây định danh, nếu muốn chuyển các tri thức sang dạng
luật thì cũng đơn giản. Người ta đi theo các nhánh của cây, từ gốc đến các nút lá, lấy các
thử nghiệm làm giả thiết và phân loại nút lá làm kết luận.
Ví dụ:
Các tri thức trong thí dụ về rám nắng khi nghỉ mát ở phần trên được viết thành
luật:
IF Tóc đen
Người đó dùng thuốc
THEN Không sao cả
IF Người tóc đen
Không dùng thuốc
THEN Họ bị rám nắng
IF Người tóc bạc
THEN Bị rám nắng

131
IF Người tóc râm
THEN Không sao cả
a. Lược bỏ giả thiết không cần thiết trong luật
Sau khi thu được các luật chuyển từ cây định danh, có thể bỏ đi các luật không
cần thiết để đơn giản tập các luật. Người ta kiểm tra giả thiết nào có thể bỏ đi mà không
thay đổi tác dụng của luật đối với mẫu.
Ví dụ:
Xét luật đầu tiên trong các luật trên:
IF Tóc đen
Người đó dùng thuốc
THEN Không sao cả
Giả thiết có hai phần. Nếu bỏ đi phần đầu, còn điều kiện về "dùng thuốc". Theo
các mẫu, người dùng thuốc chỉ có Lan, Xuân và Đào. Không ai trái với phần kết luận
cả, tức không ai bị rám nắng. Do vậy người ta bỏ phần giả thiết đầu, thu được:
IF Người đó dùng thuốc
THEN Không sao cả
Để suy luận dễ dàng người ta thường đưa ra bảng ngẫu nhiên. Sở dĩ gọi vậy vì
kết quả tùy thuộc vào thuộc tính.

Loại người Không sao Bị rám


Người có tóc đen 2 0
Người tóc không đen 1 0
Bảng 8.4. Bảng ngẫu nhiên theo loại tóc đối với những người dùng thuốc.
Trong bảng người ta thấy số người dùng thuốc có tóc đen, không đen và số người
bị rám nắng, không rám. Bảng cho thấy tri thức về màu của tóc không quyết định đến
việc họ bị rám nắng.
Quay lại luật trên nếu bỏ đi phần giả thiết thứ hai "dùng thuốc", người ta thấy
trong số bốn người tóc đen là Hoa, Lan, Hạ và Đào, có hai người dùng thuốc mà vẫn bị
rám nắng. Còn bảng ngẫu nhiêu cho biết:
Dùng thuốc? Không sao Bị rám
Cú dựng 2 0
Khụng dựng 0 2
Bảng 8.5. Bảng ngẫu nhiên theo việc dùng thuốc đối với những người tóc đen.

132
Như vậy việc dùng thuốc có tác dụng đối với những người tóc đen. Các mẫu
người tóc đen không rám nắng khi và chỉ khi họ dùng thuốc. Bởi vậy ý định bỏ giả thiết
này không thực hiện.
Ví dụ:
Luật thứ hai trong tập các luật:
IF Người tóc den
Không dùng thuốc
THEN Họ bị rám nắng
Tương tự như ví dụ trên, người ta dự tính bỏ đi giả thiết đầu trong hai giả thiết.
Bảng ngẫu nhiên cho thấy:

Loại người Không sao Bị rám


Người có tóc đen 0 2
Người tóc không đen 2 1
Bảng 8.6. Bảng ngẫu nhiên theo loại tóc đối với những người không dùng thuốc.
Như vậy giả thiết này là quan trọng. Thiếu nó người ta không thể đảm bảo việc
khớp để kết luận rằng không bị rám nắng. Nếu xét tiếp giả thiết còn lại, trong số bốn
người tóc đen có hai bị rám và hai không. Bảng ngẫu nhiên cho thấy:

Dùng thuốc? Không sao Bị rám


Có dùng 2 0
Không dùng 0 2
Bảng 8.7. Bảng ngẫu nhiên theo việc dùng thuốc đối với những người tóc đen.
Nội dung bảng cho thấy không thể bỏ đi giả thiết này. Luật này không cần đơn
giản hơn.
Ví dụ:
Xét hai luật còn lại. Chúng có một giả thiết. Việc bỏ giả thiết đi là không được.
Các bảng ngẫu nhiên cũng cho các tri thức như vậy.
b. Lược bỏ luật thừa
Phần trên đó đơn giản hóa các luật riêng rẽ. Nhìn tổng thể, chúng cần được tính
giản nữa. Các luật không cần thiết cần được bỏ đi. Quả thật có luật trong số bốn luật thu
được sẽ bị bỏ đi.
Ví dụ:
Bốn luật thu gồm có:

133
IF Người tóc đen
không dùng thuốc
THEN Họ bị rám nắng
IF Người đó dùng thuốc
THEN Không sao cả
IF Người tóc bạc
THEN Bị rám nắng
IF Người tóc râm
THEN Không sao cả
Hai luật có kết luận "rám nắng" và hai luật khẳng định "không sao cả". Người ta
có thể thay thế hai luật khẳng định "rám nắng" bằng một luật. Gọi là luật mặc định.
Luật mặc định là luật được dùng chỉ khi không có luật nào. Do có hai kết luận, có hai
khả năng của luật mặc định:
IF Không có luật nào
THEN Người đó bị rám nắng
IF Không có luật nào
THEN Không sao cả
Chắc chắn chỉ dùng hai luật này là không thể được! Cả hai luật đều ứng với hai
luật khác. Cần chọn luật mặc định là luật quét được kết luận chung trong tập mẫu, tức
"không sao cả". Thí dụ này chọn:
IF Người tóc đen
Không dùng thuốc
THEN Họ bị rám nắng
IF Người tóc bạc
THEN Bị rám nắng
IF Không có luật nào
THEN Không sao cả
Một cách khác chọn luật mặc định không dựa vào số mẫu thu được, mà dựa vào
số các giả thiết trong các luật, người ta có tập các luật sau:
IF Người đó dùng thuốc
134
THEN Không sao cả
IF Người tóc râm
THEN Không sao cả
IF Không có luật nào
THEN Người đó bị rám nắng
Tóm lại, để chuyển cây định danh về tập các luật, thực hiện thủ tục tên là CAT
sau:
Dùng thủ tục CAT cho phép tạo nên các luật từ cây định danh:
Tạo một luật từ mỗi nhánh gốc - lá của cây định danh.
Đơn giản hóa mỗi luật bằng cách khử các giả thiết không có tác dụng đối với kết
luận của luật.
Thay thế các luật có chung kết luận bằng luật mặc định. Luật này được kích hoạt
khi không có luật nào hoạt động. Khi có nhiều khả năng, dùng phép may rủi để chọn
luật mặc định.
7.3. Thuật giải học quy nạp ILA

Thuật giải ILA (Inductive Learning Algorithm) được dùng để xác định các luật
phân loại cho tập hợp các mẫu học. Thuật giải này thực hiện theo cơ chế lặp, để tìm luật
riêng đại diện cho tập mẫu của từng lớp. Sau khi xác định được luật, ILA loại bỏ các
mẫu liên quan khỏi tập mẫu, đồng thời thêm luật mới này vào tập luật. Kết quả có được
là một danh sách có thứ tự các luật chứ không là một cây quyết định. Các ưu điểm của
thuật giải này có thể được trình bày như sau:
- Dạng các luật sẽ phù hợp cho việc khảo sát dữ liệu, mô tả mỗi lớp một cách
đơn giản để dễ phân biệt với các lớp khác.
- Tập luật được sắp thứ tự, riêng biệt – cho phép quan tâm đến một luật tại thời
điểm bất kỳ. Khác với việc xử lý luật theo phương pháp cây quyết định, vốn
rất phức tạp trong trường hợp các nút cây trở nên khá lớn.
7.3.1. Xác định dữ liệu

1. Tập mẫu được liệt kê trong một bảng, với mỗi dũng tương ứng một mẫu, và
mỗi cột thể hiện một thuộc tính trong mẫu.
2. Tập mẫu có m mẫu, mỗi mẫu gồm k thuộc tính, trong đó có một thuộc tính
quyết định. Tổng số n các giá trị của thuộc tính này chính là số lớp của tập mẫu.
3. Tập luật R cá giá trị khởi tạo là f.
135
4. Tất cả các cột trong bảng ban đầu chưa được đánh dấu (kiểm tra).
7.3.2. Thuật giải ILA

Bước 1: Chia bảng m mẫu ban đầu thành n bảng con. Mỗi bảng con ứng với một
giá trị của thuộc tính phân lớp của tập tập mẫu.
(* thực hiện các bước 2 đến 8 cho mỗi bảng con*)
Bước 2: Khởi tạo bộ đếm kết hợp thuộc tính j, j=1.
Bước 3: Với mỗi bảng con đang khảo sát, phân chia danh sách các thuộc tính theo
các tổ hợp phân biệt, mỗi tổ hợp ứng với j thuộc tính phân biệt.
Bước 4: Với mỗi tổ hợp các thuộc tính, tính số lượng các giá trị thuộc tính xuất
hiện theo cùng tổ hợp thuộc tính trong các dòng chưa được đánh dấu của bảng
con đang xét (mà đồng thời không xuất hiện với tổ hợp thuộc tính này trên các
bảng còn lại). Gọi tổ hợp đầu tiên (trong bảng con) có số lần xuất hiện nhiều nhất
là tổ hợp lớn nhất.
Bước 5: Nếu tổ hợp lớn nhất bằng f, tăng j lên 1 và quay lại bước 3.
Bước 6: Đánh dấu các dòng thoả tổ hợp lớn nhất của bảng con đang xử lý theo
lớp.
Bước 7: Thêm luật mới vào tập luật R, với vế trái là tập các thuộc tính của tổ hợp
lớn nhất (kết hợp các thuộc tính bằng toán tử AND) và vế phải là là giá trị thuộc
tính quyết định tương ứng.
Bước 8: Nếu tất cả các dòng đều đó được đánh dấu phân lớp, tiếp tục thực hiện
từ bước 2 cho các bảng con còn lại. Ngược lại (nếu chưa đánh dấu hết các dòng)
thì quay lại bước 4. Nếu tất cả các bảng con đó được xét thì kết thúc, kết quả thu
được là tập luật cần tìm.
7.3.3. Mô tả thuật giải ILA

ILA là một thuật giải khá đơn giản rút trích các luật dẫn từ một tập mẫu. Mỗi
mẫu được mô tả dưới dạng một tập xác định các thuộc tính, mỗi thuộc tính ứng với một
vài giá trị nào đó.
Để minh họa thuật giải ILA, chúng ta sử dụng tập mẫu cho trong bảng 7.8, gồm
có 7 mẫu (m=7), 3 thuộc tính (k=3), và thuộc tính quyết định (phân lớp) có hai giá trị là
{yes, no} (n=2). Trong ví dụ này, "Size", "Color" và "Shape" là các thuộc tính với các
nhóm giá trị {small, medium, large}, {red, blue, green}, và {brick, wedge, sphere,
pillar}.

136
Mẫu số Size Color Shape Decision
1 medium blue brick yes
2 small red wedge no
3 small red sphere yes
4 large red wedge no
5 large green pillar yes
6 large red pillar no
7 large green sphere yes
Bảng 8.8. Tập mẫu học cho bài toán phân lớp đối tượng
Do n=2, bước đầu tiên ta chia tập mẫu thành hai bảng con như trong bảng 7.9.
Bảng con 1
Mẫu số cũ/ Size Color Shape Decision
mới
1 1 medium blue brick yes
3 2 small red sphere yes
5 3 large green pillar yes
7 4 large green sphere yes
Bảng con 2
Mẫu số cũ/ Size Color Shape Decision
mới
2 1 small red wedge no
4 2 large red wedge no
6 3 large red pillar no
Bảng 8.9. Chia thành hai bảng con theo thuộc tính Decision
Áp dụng bước 2 của thuật giải vào bảng con thứ nhất trong bảng 7.9. Với j=1,
danh sách các tổ hợp thuộc tính gồm có {Size}, {Color}, và {Shape}.
Với tổ hợp {Size}, giá trị thuộc tính "medium" xuất hiện trong bảng con thứ nhất
nhưng không có trong bảng con thứ hai, do đó giá trị tổ hợp lớn nhất là "medium". Bởi
vì các giá trị thuộc tính "small" và "large" xuất hiện trong cả hai bảng con, nên không
được xét trong bước này. Với tổ hợp {Size}, giá trị thuộc tính "medium" chỉ bằng 1, ta
xét tiếp cho tổ hợp {Color} thì giá trị tổ hợp lớn nhất là bằng 2, ứng với thuộc tính
"green", còn thuộc tính "blue" là bằng 1. Tương tự như vậy, với tổ hợp {Shape}, ta có
"brick" xuất hiện một lần, và "sphere" hai lần. Đến cuối bước 4, ta có tổ hợp {Color}
với thuộc tính "green" và {Shape} với thuộc tính "sphere" đều có số lần xuất hiện lớn
nhất là 2. Thuật toán mặc định chọn trường hợp thứ nhất để xác định luật tổ hợp lớn
nhất. Dũng 3 và 4 được đánh dấu đó phân lớp, ta có luật dẫn như sau:
Rule 1: IF color là green THEN decision là yes
Ta tiếp tục thực hiện từ bước 4 đến 8 cho các mẫu còn lại (chưa đánh dấu) trong
bảng con này (tức dòng 1 và 2). Áp dụng tương tự như trên, ta thấy giá trị thuộc tính
137
"medium" của {Size}, "blue" của "Color", "brick" và "sphere" của {Shape} đều xuất
hiện một lần. Bởi vì số lần xuất hiện này giống nhau, thuật giải áp dụng luật mặc định
chọn trường hợp đầu tiên. Ta có thêm luật dẫn sau:
Rule 2: IF size là medium THEN decision là yes
Đánh dấu cho dũng 1 trong bảng con thứ nhất. Tiếp tục áp dụng bước 4 đến 8
trên dòng còn lại (tức dòng 2). Giá trị thuộc tính "sphere" của {Shape} xuất hiện một
lần, ta có luật dẫn thứ ba:
Rule 3: IF shape là sphere THEN decision là yes
Dòng 2 được đánh dấu. Như vậy, tất cả các dòng trong bảng con 1 đó được đánh
dấu, ta chuyển qua xử lý tiếp bảng con 2. Thuộc tính "wedge" của {Shape} xuất hiện
hai lần trong dòng 1 và 2 của bảng con này. Đánh dấu các dòng này với luật dẫn thứ tư
như sau:
Rule 4: IF shape là wedge THEN decision là no
Với dòng còn lại (tức dòng 3) của bảng con 2, ta có thuộc tính {Size} với giá trị
"large" có xuất hiện trong bảng con 1. Do đó, theo thuật giải, ta loại bỏ trường hợp này.
Tương tự như vậy cho giá trị "red" của {Color} và "pillar" của {Shape}. Khi đó, ILA
tăng j lờn 1, và khởi tạo các tổ hợp 2 thuộc tính là {Size và Color}, {Size và Shape}, và
{Color và Shape}. Các tổ hợp thứ nhất và thứ ba thỏa mãn điều kiện không xuất hiện
trong bảng con 1 với các cặp thuộc tính hiện có của dòng này. Theo luật mặc định, ta
chọn luật theo trường hợp thứ nhất. Đánh dấu dũng này, ta có thêm luật dẫn thứ 5:
Rule 5: IF size là large AND color là red THEN decision là no
Bởi vì lúc này tất cả các dòng trong bảng con hai cũng đầu đó được đánh dấu
phân lớp, đồng thời không còn bảng con nào chưa xét, thuật giải kết thúc.
7.3.4. Đánh giá thuật giải

Số lượng các luật thu được xác định mức độ thành công của thuật giải. Đây chính
là mục đích chính của các bài toán phân lớp thông qua một tập mẫu học. Một vấn đề
nữa để đánh giá các hệ học quy nạp là khả năng hệ thống có thể phân lớp các mẫu được
đưa vào sau này.
Thuật giải ILA được đánh giá mạnh hơn hai thuật giải khá nổi tiếng về phương
pháp học quy nạp trước đây là ID3 và AQ, đó thử nghiệm trờn một số tập mẫu như
Balloons, Balance, và Tic-tac-toe (lấy từ Kho Dữ liệu Máy học và Giả thuyết - Đại học
California Irvine).

138

You might also like