Tải bản đầy đủ (.doc) (29 trang)

TÌM HIỂU MÔ HÌNH BIỂU DIỄN TRI THỨC MẠNG TÍNH TOÁN VÀ MẠNG CÁC ĐỐI TƯỢNG TÍNH TOÁN

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

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Báo cáo môn học
BIỄU DIỄN TRI THỨC VÀ
ỨNG DỤNG
Đề tài :
TÌM HIỂU MÔ HÌNH BIỂU DIỄN
TÌM HIỂU MÔ HÌNH BIỂU DIỄN
TRI THỨC MẠNG TÍNH TOÁN VÀ MẠNG CÁC
TRI THỨC MẠNG TÍNH TOÁN VÀ MẠNG CÁC
ĐỐI TƯỢNG TÍNH TOÁN
ĐỐI TƯỢNG TÍNH TOÁN
GVHD : PGS.TS Đỗ Văn Nhơn
HVTH : Nguyễn Bảo Minh – CH1101104
Lớp : Cao học khóa 6
Thành Phố Hồ Chí Minh 12/2012
MỤC LỤC
I MỘT SỐ KHÁI NIỆM: 1
1.1 Tri thức: 1
1.2 Cơ sở tri thức và hệ cơ sở tri thức: 2
1.3 Chuyên gia (Expert): 3
1.4 Hệ chuyên gia: 3
II PHƯƠNG THỨC BIỄN DIỄN MẠNG TÍNH TOÁN: 4
2.1 Đặt vấn đề 4
2.2 Mạng tính toán 4
2.2.1 Các quan hệ 4
2.2.1 Các quan hệ 4
2.2.2 Mạng tính toán và các ký hiệu: 5
2.2.2 Mạng tính toán và các ký hiệu: 5
2.3 Bài toán trên mạng tính toán 5
2.3.1 Định nghĩa 2.3.1: 6


2.3.2 Định nghĩa 2.3.2 : 6
2.4 Giải quyết bài toán 7
2.4.1 Tính giải được của bài toán: 7
2.4.1 Tính giải được của bài toán: 7
2.4.2 Lời giải của bài toán: 8
2.4.2 Lời giải của bài toán: 8
2.5 Định lý về sự phân tích quá trình giải : 11
2.6 Ưu điểm & khuyết điểm của mạng suy diễn tính toán 12
2.6.1 Ưu điểm: 12
2.6.1 Ưu điểm: 12
2.6.2 Khuyết điểm 13
2.6.2 Khuyết điểm 13
2.7 Ví dụ minh họa: 13
III MẠNG CÁC ĐỐI TƯỢNG TÍNH TOÁN (MÔ HÌNH COKB) 15
3.1 Mô hình cho một đối tượng tính toán (C-Object) 15
3.1.1 Tập hợp C các khái niệm về các C Object 15
3.1.1 Tập hợp C các khái niệm về các C Object 15
3.1.2 Tập hợp H (các quan hệ phân cấp giữa các đối tượng) 15
3.1.2 Tập hợp H (các quan hệ phân cấp giữa các đối tượng) 15
3.1.3 Tập hợp R các khái niệm về các loại quan hệ trên các C-Object 16
3.1.3 Tập hợp R các khái niệm về các loại quan hệ trên các C-Object 16
3.1.4 Tập hợp Opts các toán tử 16
3.1.4 Tập hợp Opts các toán tử 16
3.1.5 Tập hợp Funcs các hàm 16
3.1.5 Tập hợp Funcs các hàm 16
3.1.6 Tập hợp Rules các luật 16
3.1.6 Tập hợp Rules các luật 16
3.2 Các sự kiện trong đối tượng thuộc C 17
3.3 Tổ chức cơ sở tri thức 17
3.4 Mô hình bài toán và các thuật giải 19

3.4.1 Thuật giải giải quyết vấn đề 1 19
3.4.1 Thuật giải giải quyết vấn đề 1 19
3.4.2 Giải quyết vấn đề cơ bản 2 21
3.4.2 Giải quyết vấn đề cơ bản 2 21
3.4.3 Giải quyết vấn đề cơ bản 3 23
3.4.3 Giải quyết vấn đề cơ bản 3 23
3.4.4 Giải quyết vấn đề cơ bản 4 24
3.4.4 Giải quyết vấn đề cơ bản 4 24
3.5 Ưu và khuyết điểm của mạng các đối tượng tính toán COKB 25
TÀI LIỆU THAM KHẢO 27
TÀI LIỆU THAM KHẢO 27
Thu hoạch Biễu diễn tri thức và ứng dụng
I MỘT SỐ KHÁI NIỆM:
1.1 Tri thức:
Tri thức là sự hiểu biết bằng lý thuyết hay thực tế về một chủ đề hay lĩnh vực.
Tri thức là tổng của những cái đang biết hiện nay; tri thức là sức mạnh. Những người
có tri thức tốt là những chuyên gia (expert).
Tri thức là một khái niệm trừu tượng. Chúng ta không cố gắng đưa ra một
định nghĩa chính xác ở đây mà muốn so sánh nó với hai khái niệm có liên quan là
thông tin và dữ liệu. Karan Sing đã phát biểu:”Chúng ta ngập chìm trong thông
biển thông tin nhưng lại khát tri thức”.
Trong ngữ cảnh của khoa học máy tính “dữ liệu là nguyên liệu thô để xử
lý” là các con số, chữ cái, hình ảnh, âm thanh… Thông tin là tất cả những gì con
người có thể cảm nhận qua các giác quan (chính xác, xem khái niệm Entropy là độ
đo thông thông tin, đọ đo về các tin tức mới đối vói một người nào đó). Nếu so về số
lượng: dữ liệu nhiều hơn thông tin; thông tin nhiều hơn tri thức. Chúng ta có thể mô
tả chúng theo dạng hình chóp.
Người ta thường phân loại tri thức thành các dạng sau:
Tri thức thủ tục: Tri thức thủ tục là tri thức mô tả cách giải quyết một vấn đề,
quy trình xử lý các công việc, lịch trình tiến hành các thao tác … Các dạng của tri thức

thủ tục thường dùng là các luật, chiến lược, lịch trình.
Ví dụ: IF xe máy không khởi động được
THEN đầu tiên kiểm tra bugi
Tri thức khai báo cho biết một vấn đề được thấy như thế nào. Loại tri thức
này bao gồm các phát biểu đơn giản, dưới dạng các khẳng định logic đúng
hoặc sai. Tri thức khai báo cũng có thề là một danh sách các khẳng định nhằm mô
tả đầy đủ hơn về đối tượng hay một khái niệm khái niệm nào đó.
Siêu tri thức mô tả tri thức về tri thức. 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 quyết một vấn đề. Các chuyên gia sử dụng tri thức này
để điều chỉnh hiệu quả giải quyết vấn đề bằng cách hướng các lập luận về miền tri
Ch1101104 - Nguyễn Bảo Minh Trang 1
Thu hoạch Biễu diễn tri thức và ứng dụng
thức có khả năng hơn cả.
Tri thức heuristic mô tả các "mẹo" để dẫn dắt tiến trình lập luận. Tri
thức heuristic còn được gọi là tri thức nông cạn do không bảm đảm hoàn toàn
chính xác về kết quả giải quyết vấn đề. Các chuyên thường dùng các tri thức
khoa học như sự kiện, luật, … sau đó chuyển chúng thành các tri thức heuristic
để thuận tiện hơn trong việc giải quyết một số bài toán.
Tri thức có cấu trúc mô tả tri thức theo cấu trúc. Loại tri thức này mô tả mô hình
tổng quan hệ thống theo quan điểm của chuyên gia, bao gồm khái niệm, khái
niệm con, và các đối tượng; diễn tả chức năng và mối liên hệ giữa các tri thức dựa
theo cấu trúc xác định.
1.2 Cơ sở tri thức và hệ cơ sở tri thức:
So với chương trình truyền thống (được cấu tạo từ hai “chất liệu” cơ bản là
dữ liệu và thuật toán), chương trình trí tuệ nhân tạo được cấu tạo từ hai thành phần
là cơ sở tri thức (knowledge base) và động cơ suy diễn (inference engine).
Cơ sở tri thức là tập hợp các tri thức liên quan đến vấn đề mà chương trình
quan tâm giải quyết. Cơ sở tri thức chứa các kiến thức được sử dụng để giải quyết
các vấn đề (bài toán) trong trí tuệ nhân tao.

Trong hệ cơ sở tri thức chứa hai chức năng tách biệt nhau, trường hợp đơn
gian gồm hai khối: khối tri thức hay còn gọi là cơ sở tri thức; khối điều khiển hay
còn gọi là đông cơ suy diễn. Với các hệ thống phức tạp, bản thân động cơ suy diễn
cũng có thể là một hệ cơ sở tri thức chứa các siêu tri thức (tri thức về các tri thức).
Hình dưới đây mô tả cấu trúc chương trình truyền thống
(bên trái) và cấu trúc chương trình trí tuệ nhân tạo (bên phải).
Ch1101104 - Nguyễn Bảo Minh Trang 2
Thu hoạch Biễu diễn tri thức và ứng dụng
DỮ LIỆU
DỮ LIỆU CƠ SỞ TRI THỨC
THUẬT
ĐỘNG CƠ

TOÁN
SUY DIỄN

Con người sống trong môi trường có thể nhận thức được thế giới nhờ các giác
quan (tai, mắt và các giác quan khác), sử dụng các tri thức tích luỹ được và nhờ khả
năng lập luận, suy diễn, con người có thể đưa ra các hành động hợp lý cho công việc
mà con người đang làm. Một mục tiêu của Trí tuệ nhân tạo ứng dụng là thiết kế các
Agent thông minh (intelligent agent) cũng có khả năng đó như con người. Chúng ta
có thể hiểu Agent thông minh là bất cứ cái gì có thể nhận thức được môi trường thông
qua các bộ cảm nhận (sensors) và đưa ra hành động hợp lý đáp ứng lại môi trường
thông qua bộ phận hành động (effectors). Các robots, các softbot (software
robot), các hệ chuyên gia, là các ví dụ về Agent thông minh. Các Agent thông minh
cần phải có tri thức về thế giới hiện thực mới có thể đưa ra các quyết định đúng đắn.
1.3 Chuyên gia (Expert):
Chuyên gia là là người có đầy đủ kỹ năng, kiến thức sâu (cả về luật và các sự
kiện) về một lĩnh vực nào đó; người có thể làm những việc mà người khác ít khả năng
làm được.

1.4 Hệ chuyên gia:
Hệ chuyên gia (đơn giản) là chương trình máy tính có thể thực hiện các công
việc, vấn đề trong thuộc lĩnh vực hẹp ở mức tương tự như mộ người chuyên gia. Hầu
hết các hệ chuyên gia là các hệ dựa luật. Hiện nay một số các hệ chuyên gia thành
công trong các lĩnh vữ: bán hàng, kỹ nghệ , y học và địa chỉ (tìm kiếm mỏ), các hệ
điện lực và khai mỏ.
Ch1101104 - Nguyễn Bảo Minh Trang 3
Thu hoạch Biễu diễn tri thức và ứng dụng
II PHƯƠNG THỨC BIỄN DIỄN MẠNG TÍNH TOÁN:
2.1 Đặt vấn đề
Trong nhiều lĩnh vực chúng ta thường gặp những vấn đề đặt ra dưới dạng như
sau : Chúng ta phải thực hiện những tính toán hay suy diễn ra những yếu tố cần thiết
nào đó từ một số yếu tố đã được biết trước. Để giải quyết vấn đề người ta phải vận
dụng một số hiểu biết (tri thức) nào đó về những liên hệ giữa các yếu tố đang được
xem xét. Những liên hệ cho phép ta có thể suy ra được một số yếu tố từ giả thiết đã
biết một số yếu tố khác.
Trong phần này, chúng ta sẽ tập trung tìm hiểu mô hình biểu diễn và xử lý tri
thức gọi là “Mạng tính toán”.
2.2 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 một số dạng bài
toán. 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. 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.
2.2.1 Các quan hệ
Cho M = {x
1
,x

2
, ,x
m
} 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 D
1,
D
2
, ,D
m
. Đối với mỗi quan hệ R ⊆ D
1
xD
2
x xD
m
trên các tập
hợp D
1,
D
2
, ,D
m
ta nói rằng quan hệ nầy liên kết các biến x
1
,x
2
, ,x
m
, và ký hiệu là

R(x
1
,x
2
, ,x
m
) hay vắn tắt là R(x) (ký hiệu x dùng để chỉ bộ biến < x
1
,x
2
, ,x
m
>). Ta có
thể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ f
R,u,v
với u ∪ v = x, và
ta viết : f
R,u,v
: u → v, hay vắn tắt là f : u → v.
Đố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.
Ch1101104 - Nguyễn Bảo Minh Trang 4
Thu hoạch Biễu diễn tri thức và ứng dụng
Trong phần sau ta xét các quan hệ xác định bởi các hàm có dạng f : u → v,
trong đó u ∩ v = ∅ (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 < x
1
,x

2
, ,x
m
>). 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.
Ví dụ: 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ị: độ)
2.2.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. Trong trường hợp tổng
quát có thể viết:
M = {x
1
,x
2
, ,x
n
},
F = {f
1
,f
2
, ,f
m
}.
Đố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:

f : u(f) → v(f)
thì ta có M(f) = u(f) ∪ v(f).
2.3 Bài toán trên mạng tính toán.
Ch1101104 - Nguyễn Bảo Minh Trang 5
Thu hoạch Biễu diễn tri thức và ứng dụng
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 và B là một tập biến bất kỳ trong M.
Các vấn đề đặt ra là:
 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?
 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?
 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 của bài toán.
2.3.1 Định nghĩa 2.3.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ệ {f
1
, f
2
, , f
k
} ⊆ 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ệ f
i
(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 {f
1
, f
2
, , f
k
} đượ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.
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
suy 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.
2.3.2 Định nghĩa 2.3.2 :
Cho D = {f
1
, f
2
, , f
k
} 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ệ f
1
, f
2
, , f
k
xuất phát từ giả thiết A.
Nhận xét : Trong định nghĩa trên, nếu đặt : A
0

= A, A
1
= A
0
∪ M(f
1
), . . . , A
k
=
A
k-1
∪ M(f
k
), và ký hiệu A
k
là D(A), thì ta có D là một lời giải của bài toán A → D(A).
Ch1101104 - Nguyễn Bảo Minh Trang 6
Thu hoạch Biễu diễn tri thức và ứng dụng
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 đượ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.
2.4 Giải quyết bài toán
2.4.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 2.4.1.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à
A
, chúng ta có định lý sau đây:
Định lý 2.4.1.2: 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 ⊆
A
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
A
hay không.
Định lý 2.4.1.3: 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 ⊆
A
.
(2) Có một dãy quan hệ D = {f
1
, f
2
, , f
k
} ⊆ 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 ⊆
A
. Khi đó bài toán A → B là giải được.
Do đó có một dãy quan hệ {f
1

, f
2
, , f
k
} ⊆ F sao cho khi ta lần lượt áp dụng các quan
hệ f
i
(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 {f
1
, f
2
, , f
k
} nầy thỏa các điều kiện (2).
Ch1101104 - Nguyễn Bảo Minh Trang 7
Thu hoạch Biễu diễn tri thức và ứng dụng
Đảo lại, giả sử có (2). Với các điều kiện có được bởi (2) ta thấy {f
i
} là lời giải
của vấn đề A
i-1
→ A
i
, với mọi i = 1,2, , k. Từ mệnh đề 3.2 suy ra bài toán A
0
→ A
k

giải được. Do đó bài toán A → B cũng giải được, suy ra B ⊆

A
theo định lý 2.4.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.
Thuật toán 2.4.1.1 tìm bao đóng của tập A ⊆ M :
Nhập :Mạng tính toán (M,F),
A ⊆ M.
Xuất :
A
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
begin
B ← B ∪ M(f);
F ← F \ {f}; // loại f khỏi lần xem xét sau
end;
Until B = B1;
3.
A
← B;
2.4.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).
Ch1101104 - Nguyễn Bảo Minh Trang 8

Thu hoạch Biễu diễn tri thức và ứng dụng
Mệnh đề 2.4.2.1: 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).
Thuật toán 2.4.2.2 tìm một lời giải cho bài toán A → B :
Nhập : Mạng tính toán (M,F), tập giả thiết A ⊆ M, tập biến cần tính B ⊆ M.
Xuất : lời giải cho bài toán A → B
Thuật toán :
1. Solution ← empty; // Solution là dãy các quan hệ sẽ áp dụng
2. if B ⊆ A then
begin
Solution_found ← true; // biến Solution_found = true khi bài toán
là // giải được
goto 4;
end
else
Solution_found ← false;
3. Repeat
Aold ← A;
Chọn ra một f ∈ F chưa xem xét;
while not Solution_found and (chọn được f) do
begin
if ( f đối xứng and 0 < Card (M(f) \ A) ≤ r(f) ) or
( f không đối xứng and ∅ ≠ M(f) \ A ⊆ v(f) ) then
begin
Ch1101104 - Nguyễn Bảo Minh Trang 9

Thu hoạch Biễu diễn tri thức và ứng dụng
A ← A ∪ M(f);
Solution ← Solution ∪ {f};
end;
if B ⊆ A then
Solution_found ← true;
Chọn ra một f ∈ F chưa xem xét;
end; { while }
Until Solution_found or (A = Aold);
4. if not Solution_found then
Bài toán không có lời giải;
else
Solution là một lời giải;
Định lý 2.4.2.3. Cho D={f
1
, f
2
, , f
m
} là một lời giải của bài toán A → B. Ưng
với mỗi i=1, ,m đặt D
i
= {f
1
, f
2
, , f
i
}, D
0

= ∅. Ta xây dựng một họ các dãy con S
m
,
S
m-1
, , S
2
, S
1
của dãy D như sau :
S
m
= ∅ nếu D
m-1
là một lời giải,
S
m
= {f
m
} nếu D
m-1
không là một lời giải,
S
i
= S
i+1
nếu D
i-1
∪ S
i+1

là một lời giải,
S
i
= {f
i
} ∪ S
i+1
nếu D
i-1
∪ S
i+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) S
m
⊆ S
m-1
⊆ ⊆ S
2
⊆ S
1
.
(2) D
i-1
∪ S
i
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 S
i
thì D
i-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) S
1
là một lời giải tốt của bài toán A → B.
Thuật toán 2.4.2.4 tìm một lời giải tốt từ một lời giải đã biết.
Nhập : Mạng tính toán (M,F),
Ch1101104 - Nguyễn Bảo Minh Trang 10
Thu hoạch Biễu diễn tri thức và ứng dụng
lời giải {f
1
, f
2
, , f
m
} của bài toán A→ B.
Xuất : lời giải tốt cho bài toán A → B
Thuật toán :
1. D ← {f
1
, f
2
, , f
m

};
2. for i=m downto 1 do
if D \ {f
i
} là một lời giải then
D ← D \ {f
i
};
3. D là một lời giải tốt.
Trong thuật toán 2.5.4 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ật toán sau đây:
Thuật toán kiểm tra lời giải cho bài toán :
Nhập : Mạng tính toán (M,F), bài toán A→ B, dãy các quan hệ {f
1
, f
2
, , f
m
}.
Xuất : thông tin cho biết {f
1
, f
2
, , f
m
} 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 ( f

i
đối xứng and Card (M(f
i
) \ A) ≤ r(f
i
) ) or
( f
i
không đối xứng and M(f
i
) \ A ⊆ v(f
i
) ) then
A ← A ∪ M(f
i
);
2. if A ⊇ B then {f
1
, f
2
, , f
m
} là lời giải
else {f
1
, f
2
, , f
m
} không là lời giải;

2.5 Đị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 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 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
Ch1101104 - Nguyễn Bảo Minh Trang 11
Thu hoạch Biễu diễn tri thức và ứng dụng
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.
2.5.1 Định lý 2.5.1. Cho {f
1
, f
2
, , f
m
} 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 :
A
0
= A, A
i
= {f
1
, f
2
, , f
i
}(A), với mọi i=1, ,m.

Khi đó có một dãy {B
0
, B
1
, , B
m-1
, B
m
}, thỏa các điều kiện sau đây:
(1) B
m
= B.
(2) B
i
⊆ A
i
, với mọi i=0,1, ,m.
(3) Với mọi i=1, ,m, {f
i
} là lời giải của bài toán B
i-1
→ B
i
nhưng không phải
là lời giải của bài toán G → B
i
, trong đó G là một tập con thật sự tùy ý của B
i-1
.
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 B
1
\ B
0
(áp dụng f
1
).
bước 2: tính các biến trong tập B
2
\ B
1
(áp dụng f
2
).
v.v
bước m: tính các biến trong tập B
m
\ B
m-1
(áp dụng f
m
).
(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 {B
1
’, , B
m-1
’, B
m

’} rời nhau cần lần lượt tính toán trong quá trình giải bài
toán (B
i
’ = B
i
\ B
i-1
) gồm các bước chính như sau:
 xác định các tập A
0
, A
1
, , A
m
.
 xác định các tập B
m
, B
m-1
, , B
1
, B
0
.
 xác định các tập B
1
’, B
2
’, , B
m

’ .
2.6 Ưu điểm & khuyết điểm của mạng suy diễn tính toán
2.6.1 Ưu điểm:
 Giải được hầu hết các bài toán GT  KL nếu như đáp ứng đầy đủ các giả
thiết cần thiết.
 Thuật toán đơn giản dễ cài đặt cho nên việc bảo trì hệ thống tương đối đơn
giản.
 Có thể xây dựng hệ thống suy luận và giải thích một cách rõ ràng và dễ hiểu.
Ch1101104 - Nguyễn Bảo Minh Trang 12
Thu hoạch Biễu diễn tri thức và ứng dụng
2.6.2 Khuyết điểm
 Do hệ thống chỉ bao gồm 1 cặp (M, F) để biểu diễn tri thức nên khi gặp phải
những bài toán phức tạp thì có thể xảy ra việc lưu trữ khó khăn và nhập nhằng khi
quản lý. Đồng thời việc xây dựng lại thuật toán là một việc tương đối khó khăn  phải
bảo trì lại toàn bộ hệ thống.
 Đối với các bài toán mà sử dụng nhiều các đối tượng tính toán bài toán trở
nên phức tạp, việc giải quyết bài toán bằng mạng tính toán trở nên khó khăn cho người
lập trình.
2.7 Ví dụ minh họa:
Đề bài: 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?
Để tìm ra lời giải cho bài toán 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 :
1. Tập biến M = {a, b, c, α, β, γ, h
a
, h
b
, h
c
, S, p, R, r, },

trong đó a,b,c là 3 cạnh; α, β, γ là 3 góc tương ứng với 3 cạnh; h
a
, h
b
, h
c
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, v.v
2. Các quan hệ:
f
1
: α + β + γ = 180 f
2
:
a
sin
b
sin
α β
=
f
3
:
c
sin
b
sin
γ β
=

f
4
:
a
sin
c
sin
α γ
=
f
5
: p = (a+b+c) /2 f
6
: S = a.h
a
/ 2
f
7
: S = b.h
b
/ 2 f
8
: S = c.h
c
/ 2
f
9
: S = a.b.sinγ / 2 v.v
3. Yêu cầu 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 là B = {S}.

Ch1101104 - Nguyễn Bảo Minh Trang 13
Thu hoạch Biễu diễn tri thức và ứng dụng
Ap 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: {f
1
, f
2
, f
3
, f
5
, f
9
}. 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, β, γ}
1
f
 →
{a, β, γ, α}
2
f
 →
{a, β, γ, α, b}
3
f
 →
{a, β, γ, α, b, c}
5
f

 →
{a, β, γ, α, b, c, p}
9
f
 →
{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à f
5
. Thuật toán sẽ lọc ra từ lời giải trên một lời giải tốt là {f
1
, f
2
, f
9
}:
{a, β, γ}
1
f
 →
{a, β, γ, α}
2
f
 →
{a, β, γ, α, b}
9
f
 →
{a, β, γ, α, b, S}.
Theo lời giải này, ta có quá trình tính toán như sau :

 bước 1: tính α (áp dụng f
1
).
 bước 2: tính b (áp dụng f
2
).
 bước 3: tính S (áp dụng f
9
).
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 sau đây:
Nhận xét :Ta có thể giải quyết các bài toán suy diễn tính toán và tìm lời giải tối ưu dựa
trên các thuật giải trình bày ở trên ngoài ra còn tìm được các tường minh qua các bước
giải bài toán và rút gọn các công thức dưới dạng ký hiệu. Như thế trên mạng tính toán
ta có thể chỉ ra tự động các công thức tường minh để tính toán một số yếu tố này từ
một số yếu tố khác nếu bài toán có lời giải.Kết hợp điều này với việc dò tìm những sự
liên hệ suy diễn giữa các yếu tố nào đó mà ta quan tâm sẽ cho ta một phương pháp để
tự động tìm ra thêm những luật suy diển và những công thức tính toán liên quan đến
các yếu tố.Điều này có ý nghĩa như một kỹ thuật khám phá tri thức.
Ch1101104 - Nguyễn Bảo Minh Trang 14
Thu hoạch Biễu diễn tri thức và ứng dụng
III MẠNG CÁC ĐỐI TƯỢNG TÍNH TOÁN (MÔ HÌNH COKB).
Mô hình COKB là một mô hình thể hiện một cách đầy đủ và toàn diện kiến
thức thực tế của con người. So với các cách biểu diễn tri thức khác thì phương pháp
biểu diễn dựa trên mô hình COKB tỏ ra hiệu quả hơn về nhiều mặt, như: biểu diễn,
suy diễn, giao tiếp. Với cách tổ chức tri thức theo mô hình này, ta có thể thiết kế được
mô hình biểu diễn vấn đề tổng quát hơn, và trên cơ sở đó thiết kế được các thuật giải
tổng quát mô phỏng hành vi suy luận giải quyết vấn đề dựa trên tri thức của con
người.
3.1 Mô hình cho một đối tượng tính toán (C-Object)

Mô hình ontology COKB-ONT là một hệ thống gồm 6 thành phần :
K = (C, H, R, Ops, Funcs, Rules )
 C là một tập hợp các khái niệm về các C.
 H là một tập hợp các quan hệ phân cấp giữa các loại đối tượng.
 R là tập hợp các khái niệm về các loại quan hệ trên các C-Object.
 Ops là một tập hợp các toán tử.
 Funcs là một tập hợp các hàm.
 Rules là tập hợp các luật.
3.1.1 Tập hợp C các khái niệm về các C Object
Mỗi khái niệm là một lớp C-Object có cấu trúc bên trong như sau :
 Kiểu đối tượng.
 Danh sách các thuộc tính.
 Quan hệ trên cấu trúc thiết lập.
 Tập hợp các điều kiện ràng buộc trên các thuộc tính.
 Tập hợp các tính chất nội tại trên các thuộc tính.
 Tập hợp các quan hệ các quan hệ suy diễn-tính toán.
 Tập hợp các luật suy diễn có dạng :
{các sự kiện giả thiết}=>{các sự kiện kết luận}
Cùng với cấu trúc trên, đối tượng còn được trang bị các hành vi trong việc giải quyết
các bài toán suy diễn và tính toán.
3.1.2 Tập hợp H (các quan hệ phân cấp giữa các đối tượng)
Ch1101104 - Nguyễn Bảo Minh Trang 15
Thu hoạch Biễu diễn tri thức và ứng dụng
Trong tập C, ta có các quan hệ mà theo đó có thể có những khái niệm là sự đặc biệt hoá
của những khái niệm khác. Có thể nói, H là một biểu đồ Hasse trên C khi xem quan hệ
phân cấp là một quan hệ thứ tự trên C.
Cấu trúc của một quan hệ phân cấp:
[<tên lớp đối tượng cấp cao>, <tên lớp đối tượng cấp thấp> ]
3.1.3 Tập hợp R các khái niệm về các loại quan hệ trên các C-Object
Mỗi quan hệ được xác định bởi tên quan hệ và danh sách các loại đối tượng của

quan hệ. Đối với quan hệ 2 hay 3 ngôi thì quan hệ có thể có các tính chất như tính phản
xạ, tính phản xứng, tính đối xứng và tính bắc cầu.
Cấu trúc của một quan hệ:
[ < tên quan hệ > , < loại đối tượng > , < loại đối tượng > ,…] , {< tính chất > , < tính
chất >}.
3.1.4 Tập hợp Opts các toán tử
Các toán tử thể hiện các qui tắc tính toán nhất định trên các biến thực cũng như trên
các đối tượng. Chẳng hạn như các phép toán số học, các phép tính toán trên các đối
tượng đoạn, góc tương tự như đối với các biến thực hay các phép tính toán vecto, tính
toán ma trận,… Trong trường hợp các phép toán 2 ngôi thì phép toán có thể có các tính
chất như tính giao hoán, tính kết hợp,tính nghịch đảo, tính trung hoà.
3.1.5 Tập hợp Funcs các hàm
Tập hợp Funcs trong mô hình COKB thể hiện tri thức về các hàm hay nói cách khác là
thể hiện tri thức về các khái niệm và các qui tắc tính toán trên các biến thực cũng như
trên các loại C-Object, được xây dựng thông qua các quan hệ tính toán dạng hàm. Mỗi
hàm được xác định bởi <tên hàm>, danh sách các đối số và một qui tắc định nghĩa hàm
về phương diện toán học.
3.1.6 Tập hợp Rules các luật
Mỗi luật cho ta một qui tắc suy luận để từ các sự kiện đang biết suy ra được các sự
kiện mới thông qua việc áp dụng các định luật, định lý hay các qui tắc tính toán nào đó.
Mỗi luật suy diễn r có thể được mô hình hoá dưới dạng :
r : {sk
1
, sk
2
, , sk
m
} ⇒ {sk
m+1
, sk

m+2
, , sk
n
}.
Ch1101104 - Nguyễn Bảo Minh Trang 16
Thu hoạch Biễu diễn tri thức và ứng dụng
3.2 Các sự kiện trong đối tượng thuộc C
Mỗi đối tượng thuộc C là một lớp các đối tượng tính toán có cấu trúc nhất định và
được phân cấp theo sự thiết lập của cấu trúc các đối tượng.
Trong mô hình COKB, ta có 11 loại sự kiện như sau:
 Sự kiện loại 1: Sự kiện thông tin về loại của đối tượng.
 Sự kiện loại 2: Sự kiện về tính xác định của một đối tượng hay của một thuộc
tính của đối tượng.
 Sự kiện loại 3: Sự kiện về tính xác định của một đối tượng hay của một thuộc
tính của đối tượng thông qua biểu thức hằng.
 Sự kiện loại 4: Sự kiện về sự bằng nhau của một đối tượng hay một thuộc tính
của đối tượng với một đối tượng hay một thuộc tính khác.
 Sự kiện loại 5: Sự kiện về sự phụ thuộc giữa các đối tượng và các thuộc tính của
các đối tượng thông qua một công thức tính toán hay một đẳng thức theo các
đối tượng hoặc các thuộc tính.
 Sự kiện loại 6: Sự kiện về một quan hệ trên các đối tượng hay trên các thuộc
tính của các đối tượng.
 Sự kiện loại 7: Sự kiện về tính xác định của một hàm.
 Sự kiện loại 8: Sự kiện về tính xác định của một hàm thông qua một biểu thức
hằng.
 Sự kiện loại 9: Sự kiện về sự bằng nhau giữa một đối tượng với một
 hàm.
 Sự kiện loại 10: Sự kiện về sự bằng nhau của một hàm với một hàm
 khác.
 Sự kiện loại 11: Sự kiện về sự phụ thuộc của một hàm theo các hàm hay các đối

tượng khác thông qua một công thức tính toán
3.3 Tổ chức cơ sở tri thức
Cơ sở tri thức được tổ chức bởi một hệ thống tập tin văn bản có cấu trúc dựa trên
một số từ khoá và qui ước về cú pháp, thể hiện các thành phần trong mô hình tri thức
COKB. Hệ thống này bao gồm các tập tin như sau:
Ch1101104 - Nguyễn Bảo Minh Trang 17
Thu hoạch Biễu diễn tri thức và ứng dụng
- Tập tin OBJECT.txt : Lưu trữ tất cả các khái niệm đối tượng của cơ sở tri thức.
- Tập tin HIERARCHY.txt: Lưu lại các biểu đồ Hasse thể hiện quan hệ phân
cấp đặc biệt hoá giữa các loại đối tượng C-Object.
- Tập tin RELATIONS.txt: Lưu trữ tất cả các quan hệ cũng như các tính chất
giữa các loại đối tượng C-Object.
- Tập tin OPERATORS.txt: lưu trữ các thông tin, cơ sở tri thức của thành phần
toán tử trên các đối tượng C-Object.
- Tập tin OPERATORS_DEF.txt: Lưu trữ định nghĩa về các loại toán tử hay
định nghĩa của các thủ tục tính toán phục vụ toán tử.
- Tập tin RULES.txt: Lưu trữ các hệ luật trên các loại đối tượng và các sự kiện
trong cơ sở tri thức.
- Tập tin FUNCTIONS.txt: Lưu trữ cách khai báo hàm, thông tin về hảm trên
các C-Object.
- Tập tin FUNCTIONS_DEF.txt: Lưu trữ định nghĩa về các hàm trên các đối
tượng và các sự kiện.
- Các tập tin có tên <tên các C-OBJECT>.txt: Lưu trữ cấu trúc của đối tượng
<tên khái niệm C-Object>.
Mối liên hệ về cấu trúc thông tin trong cơ sở tri thức có thể được minh hoạ trên sơ đồ
sau đây:
Ch1101104 - Nguyễn Bảo Minh Trang 18
Thu hoạch Biễu diễn tri thức và ứng dụng
3.4 Mô hình bài toán và các thuật giải
Trong phần nầy chúng ta sẽ thiết kế các xử lý cơ bản thể hiện các hành vi mà

chúng ta cài đặt cho các đối tượng C-Object. Các hành vi nầy bao gồm:
Khả năng giải quyết một bài toán có dạng:
GT ⇒ KL
Trong đó GT và KL là các tập hợp những sự kiện trên các thuộc tính của đối
tượng. Khả năng nầy bao gồm việc xem xét tính giải được của bài toán, tìm lời giải
cho bài toán, và thực hiện việc tính toán.
- Xét tính xác định của đối tượng dựa trên một số sự kiện cho trước.
- Khả năng giải quyết một bài toán có dạng mở rộng:
GT ⇒ KL
Trong đó GT và KL là các tập hợp những sự kiện trên các thuộc tính của đối
tượng và trên các đối tượng thiết lập trên các đối tượng nền của đối tượng.
Như vậy, ta có các vấn đề cơ bản được đặt ra cho việc giải toán một đối tượng C-
Object như sau:
 Vấn đề 1: Xét tính giải được của bài toán GT ⇒ KL, trong đó GT và KL là
các tập hợp những sự kiện trên các thuộc tính của đối tượng.
 Vấn đề 2: Tìm một lời giải cho bài toán GT ⇒ KL, trong đó GT và KL là các
tập hợp những sự kiện trên các thuộc tính của đối tượng.
 Vấn đề 3: Thực hiện tính toán các thuộc tính trong tập hợp KL từ các sự kiện
trong GT trong trường hợp bài toán GT ⇒ KL giải được, trong đó GT và KL là các tập
hợp những sự kiện trên các thuộc tính của đối tượng.
 Vấn đề 4: Xét tính xác định của đối tượng dựa trên một tập sự kiện cho trước
trên các thuộc tính của đối tượng.
Đối với bài toán dạng mở rộng trên một đối tượng C-Object, ta sẽ giải quyết dựa
trên một mô hình mạng các đối tượng C-Object là COKB-ONT.
3.4.1 Thuật giải giải quyết vấn đề 1.
Ý tưởng cơ bản là thực hiện một quá trính suy diễn tiến kết hợp với một số qui
tắc heuristic nhằm tăng cường tốc độ giải quyết bài toán và đạt được một lời giải tốt
Ch1101104 - Nguyễn Bảo Minh Trang 19
Thu hoạch Biễu diễn tri thức và ứng dụng
nhanh hơn. Để thiết kế thuật giải nầy ta cần định nghĩa một số khái niệm liên quan bao

gồm các khái niệm: “sự hợp nhất” của các sự kiện, một “bước giải”, một “lời giải” và
“sự giải được”.
- Định nghĩa 3.4.1: Xét bài toán GT ⇒ KL, trong đó GT và KL là các tập hợp
những sự kiện trên các thuộc tính của một đối tượng C-Object. Ta gọi một dãy các
bước giải {s
1
, s
2
, , s
m
} là một lời giải của bài toán khi ta có KL ⊂ FACTS, với
FACTS là tập hợp tất cả các sự kiện có được sau khi ta lần lượt áp dụng các bước giải
s
1
, s
2
, , s
m
xuất phát từ tập sự kiện GT và quan hệ ⊂ được hiểu theo nghĩa là “bao
hàm hợp nhất” (tức là mọi sự kiện trong KL đều hợp nhất được với một sự kiện nào đó
trong FACTS). Ta sẽ nói rằng bài toán là giải được khi tồn tại một lời giải cho bài
toán.
- Thuật giải 3.4.1: Cho bài toán GT ⇒ KL, trong đó GT và KL là các tập hợp
những sự kiện trên các thuộc tính của một đối tượng C-Object. Ta có thể xét tính giải
được của bài toán trên theo thủ tục sau đây:
Bước 1: Đặt trạng thái ban đầu cho tập sự kiện <FactSet>, và biến
<found> có kiểu Bool cho biết kết quả xem xét sự giải được của bài toán:
FactSet ← GT;
If KL ⊂ FactSet then Found ← true
Else Found ← false;

Bước 2: Thực hiện một quá trình dò tìm cách suy diễn tính toán để phát sinh
(hay suy ra) sự kiện mới:
While not found do
2.1: Tìm kiếm một dạng suy luận có thể áp dụng được trên tập sự kiện
FactSet để sinh ra sự kiện mới.
2.2: If (tìm kiếm ở bước 2.1 thất bại) then
break; (ngắt lặp while)
2.3: Gọi tập các sự kiện mới là <news> trong trường hợp tìm kiếm ở
bước 2.1 thành công. Cập nhật biến <FactSet> như sau:
Ch1101104 - Nguyễn Bảo Minh Trang 20
Thu hoạch Biễu diễn tri thức và ứng dụng
FactSet ← FactSet ∪ news;
2.4: If KL ⊂ FactSet then found ← true;
end do;
Bước 3: If found then “Bài toán giải được”
Else “Bài toán không giải được”;
Lưu ý: Trong thuật toán trên quan hệ KL ⊂ FactSet được xét theo nghĩa “bao hàm hợp
nhất”.
3.4.2 Giải quyết vấn đề cơ bản 2
Vấn đề 2 được đặt ra như sau: Tìm một lời giải cho bài toán GT ⇒ KL, trong đó
GT và KL là các tập hợp những sự kiện trên các thuộc tính của đối tượng. Để giải
quyết vấn đề nầy chúng ta cũng có thể thực hiện một quá trình suy diễn tiến với sự vận
dụng một số qui tắc heuristic. Quá trính suy diễn nầy có thể sẽ đi đến kết luận rằng bài
toán không giải được. Trong trường hợp bài toán giải được, thì trong quá trình tìm
kiếm và áp dụng các luật suy diễn cũng như tính toán để phát sinh sự kiện mới ta đã có
được một lời giải cho bài toán. Tuy nhiên lời giải nầy có thể có những bước giải dư
thừa mà ta cần phải loại bỏ để có được một lời giải tự nhiên hơn. Từ lý giải trên ta có
thể tìm một lời giải cho bài toán theo 2 giai đoạn được trình bày trong thuật giải tổng
quát như sau:
- Thuật giải 3.4.2: Tìm một lời giải cho bài toán GT ⇒ KL.

 Giai đoạn 1: Tìm một lời giải (nếu có) cho bài toán như sau:
Bước 1: Đặt trạng thái ban đầu cho tập sự kiện đang có <FactSet>, danh
sách lời giải <Sol>, và biến <found> có kiểu Bool cho biết kết quả xem xét
sự giải được của bài toán:
FactSet ← GT; Sol ← [ ];
If KL ⊂ FactSet then Found ← true
Else Found ← false;
Bước 2: Thực hiện một quá trình dò tìm cách suy diễn tính toán để phát sinh
(hay suy ra) sự kiện mới:
Ch1101104 - Nguyễn Bảo Minh Trang 21
Thu hoạch Biễu diễn tri thức và ứng dụng
While not found do
2.1: Tìm kiếm một dạng suy luận có thể áp dụng được trên tập sự kiện
FactSet để sinh ra sự kiện mới.
2.2: If (tìm kiếm ở bước 2.1 thất bại) then
break; (ngắt lặp while)
2.3: Gọi <rform> là dạng luật áp dụng được trên một tập sự kiện
<fset> ⊂ <FactSet> và sẽ phát sinh tập các sự kiện mới là <news>
trong trường hợp tìm kiếm ở bước 2.1 thành công. Cập nhật các biến
như sau:
FactSet ← FactSet ∪ news;
Sol ← [op(Sol), [rform, fset, news]];
2.4: If KL ⊂ FactSet then found ← true;
end do;
Bước 3: If not found then “Bài toán không giải được”
Else tiếp tục sang giai đoạn 2;
Trong bước 2.3 ở trên, ký hiệu op(Sol) có nghĩa là dãy các phần tử (hay thành phần)
trong danh sách <Sol>.
 Giai đoạn 2: Giả sử ta có một lời giải <Sol> của bài toán GT ⇒ KL được tìm
thấy trong giai đoạn 1 ở trên khi bài toán là giải được. Ta có thể thực hiện việc xem xét

và loại bỏ các bước dư thừa trong lời giải <Sol> bằng cách truy ngược theo lời giải,
ứng với mỗi bước giải mà sự kiện mới được sinh ra nhưng không cần thiết thì ta loại
bỏ. Quá trình nầy có thể được thể hiện một cách chi tiết trong thuật giải sau đây:
Bước 1: Khởi tạo biến <KL1> dùng để ghi lại những sự kiện cần được suy ra, và
biến <Sol1> lưu lại những bước giải được giử lại (không bị loại ra do dư thừa):
KL1 ← KL; Sol1 ← [];
Bước 2: Thực hiện quá trình lần ngược theo lời giải để xem xét bước giải nào cần
được giử lại trong lời giải:
For i := nops(Sol) downto 1 do
Ch1101104 - Nguyễn Bảo Minh Trang 22

×