Tải bản đầy đủ (.docx) (27 trang)

TÌM HIỂU MÔ HÌNH COKB VÀ ỨNG DỤNG TRONG GIẢI BÀI TOÁN VẬT LÝ

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 (281.28 KB, 27 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÁO CÁO THU HOẠCH BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
TÌM HIỂU MÔ HÌNH COKB VÀ ỨNG DỤNG
TRONG GIẢI BÀI TOÁN VẬT LÝ
GVHD : PGS.TS. ĐỖ VĂN NHƠN
HVTH : NGÔ VĂN LINH
MSHV : CH1301021
TP.HCM - 2014
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
MỤC LỤC
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
PHẦN MỞ ĐẦU
Ngày nay, lĩnh vực công nghệ thông tin phát triển vượt bậc, việc áp dụng các thành
tựu khoa học kỹ thuật giúp nâng cao hiệu quả giải quyết công việc một cách đáng kể.
Trong đó, việc phát triển các hệ thống thông minh đang được phát triển mạnh và áp dụng
nhiều nhất. Việc tổ chức các cơ sở tri thức cho các hệ thống này thì có nhiều phương pháp
như: logic vị từ, luật dẫn, khung, đồ thị khái niệm, mạng ngữ nghĩa, mạng nơ ron, mạng
đối tượng tính toán COKB,… Mỗi phương pháp có những ưu điểm riêng. Vì vậy, việc lựa
chọn phương pháp nào sao cho phù hợp thì cũng rất quan trọng giúp cho hệ thống dễ thực
hiện, hoạt động có hiệu quả. Trí tuệ nhân tạo có thể giải quyết vấn đề trong phạm vi rộng
lớn khi có phương pháp làm việc hiệu quá và biểu diễn đúng đắn.
Trong bài viết này, đề cập việc áp dụng mô hình COKB để biểu diễn tri thức và
ứng dụng trong việc giải bài toán vật lý đơn giản.
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
PHẦN NỘI DUNG
CHƯƠNG 1 – MÔ HÌNH COKB
1.1 – ĐỊNH NGHĨA VỀ MÔ HÌNH COKB


Mô hình biểu diễn tri thức COKB (Computational Object Knowledge Base) là một
mô hình tri thức của các đối tượng tính toán. Mô hình COKB là một hệ thống gồm 6 thành
phần chính được ký hiệu bởi bộ 6 như sau:
(C, H, R, Opts, Funcs, Rules)
Trong đó,
+ C là một tập hợp các khái niệ của các đối tượng tính toán. Mỗi đối tượng
trong C là một lớp Com_Object.
+ H là một tập hợp các quan hệ phân cấp trong khái niệm
+ R là tập hợp các quan hệ trong khái niệm
+ Opts là một tập hợp các toán tử
+ Funcs là tập hợp các hàm
+ Rules là tập hợp các luật
1.1.1 – Tập hợp C (Các khái niệm về đối tượng tính toán)
Các khái niệm được xây dựng trên các đối tượng. Mỗi khái niệm 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 đối
tượng, bao gồm:
- Các đối tượng (hay khái niệm) nền: là các đối tượng (hay khái niệm) được mặc
nhiên thừa nhận. Ví dụ: như một số đối tượng kiểu boolean (logic), số tự nhiên, số nguyên
(integer), số thực (real) hay một số kiểu tự định nghĩa.
- Các đối tượng cơ bản (hay khái niệm) cơ bản cấp 0: có cấu trúc rỗng hoặc có cấu
trúc thiết lập trên một số thuộc tính kiểu khái niệm nền: Các đối tượng (hay khái niệm) này
làm nền cho các đối tượng (hay khái niệm) cấp cao hơn. Ví dụ: đối tượng DIEM có kiểu
mô tả không có cấu trúc thiết lập.
- Các đối tượng (hay khái niệm) cấp 1: Các đối tượng này chỉ có các thuộc tính
kiểu khái niệm nền và có thể được thiết lập trên một danh sách nền các đối tượng cơ bản.
Ví dụ: đối tượng DOAN[A,B] trong đó A, B là các đối tượng cơ bản loại DIEM, thuộc tính
a biểu thị độ dài đoạn thẳng có kiểu tương ứng là “real”.
- Các đối tượng (hay khái niệm) cấp 2: Các đối tượng này có các thuộc tính kiểu
khái niệm nền và các thuộc tính loại đối tượng cấp 1, có thể được thiết lập trên một danh
sách nền các đối tượng cơ bản. Ví dụ: đối tượng TAMGIAC[A,B,C] trong đó A,B,C là các

đối tượng cơ bản loại DIEM, các thuộc tính như GocA, a, S có kiểu tương ứng là
“GOC[C,A,B]”, “DOAN[B,C]”, “real”.
- Các đối tượng (hay khái niệm) cấp n>0: Các đối tượng này có các thuộc tính kiểu
khái niệm nền và các thuộc tính loại đối tượng cấp thấp hơn, có thể được thiết lập trên một
danh sách nền các đối tượng thấp hơn.
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
Cấu trúc bên trong của mỗi lớp đối tượng:
- Kiểu đối tượng. Kiểu nầy có thể là loại kiểu thiết lập trên một danh sách nền các
đối tượng cơ bản.
- Danh sách các thuộc tính, mỗi thuộc tính có kiểu thực, kiểu đối tượng cơ bản hay
kiểu đối tượng cấp thấp hơn.
- Quan hệ trên cấu trúc thiết lập. Quan hệ nầy thể hiện các sự kiện về sự liên hệ
giữa đối tượng và các đối tượng nền (tức là các đối tượng thuộc danh sách đối tượng nền).
- 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 liên quan đến các thuộc tính của đối tượng. Mỗi tính
chất nầy cho ta một sự kiện của đối tượng.
- Tập hợp các quan hệ suy diễn - tính toán. Mỗi quan hệ thể hiện một qui luật suy
diễn và cho phép ta có thể tính toán một hay một số thuộc tính nầy từ một số thuộc tính
khác của đối tượng.
- Tập hợp các luật suy diễn trên các loại sự kiện khác nhau liên quan đến các thuộc
tính của đối tượng hay bản thân đối tượng. Mỗi 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 cơ bản trong việc
giải quyết các bài toán suy diễn và tính toán trên các thuộc tính của đối tượng, bản thân đối
tượng hay các đối tượng liên quan được thiết lập trên nền của đối tượng (nếu đối tượng
được thiết lập trên một danh sách các đối tượng nền nào đó)
1.1.2 – Một tập hơp H (các quan hệ phân cấp giữa các loại đối tượng)
Trên tập hợp C ta có một quan hệ phân cấp theo đó có thể có một số khái niệm là
sự đặc biệt hóa của các khái niệm khác, chẳng hạn như một tam giác cân cũng là một tam

giác, một hình bình hành cũng là một tứ giác. Có thể nói rằng H là một biểu đồ Hasse khi
xem quan hệ phân cấp trên 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>]
1.1.3 – Một 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à các loại đối tượng của quan hệ,
và quan hệ có thể có một số tính chất trong các tính chất sau đây: tính chất phản xạ, tính
chất đối xứng, tính chất phản xứng và tính chất bắc cầu. Ví dụ: Quan hệ cùng phương trên
2 đoạn thẳng có các tính chất phản xạ, đối xứng và 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>}
1.1.4 – Tập hợp Opts (các toán tử)
Các toán tử thể hiện các quy tắc tính toán nhất dị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ự đối với các biến thực hay các phép tính toán vecto, tính toán ma
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
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 hòa.
1.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 quy 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 quy tắc định nghĩa hàm về
phương diện toán học.
1.1.6 – Tập hợp Rules (các luật)
Mỗi luật cho ta một quy 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 quy tắc tính toán nào đó.
Mỗi luật suy diễn r có thể được mô hình hóa dưới dạng:
r: {sk

1
, sk
2
, …,sk
n
}  {sk
m+1
, sk
m+2
, …,sk
n
}
Cấu trúc của một luật:
[Kind, BasicO, Hypos, Goals]
Trong đó,
+ Kind: loại luật
+ BaseO: tập các đối tượng cơ bản
+ Hypos: tập các sự kiện giả thuyết của một luật
+ Goals: tập các sự kiện kết luận của một luật
1.2 – TỔ CHỨC CƠ SỞ TRI THỨC THEO COKB
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ừ khóa và quy ướ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 sau:
- 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 hóa giữa các loại đối tượng C-Object.
- Tập tin Relation.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.
- Tập tin Operation.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.

- Các tập tin với tên tập tin có dạng “<tên khái niệm C-Object>.txt” để lưu trữ
cấu trúc của loại đối tượng <tên khái niệm C-Object>. Ví dụ: tập tin “TAM_GIAC.txt” lưu
trữ cấu trúc của loại đối tượng tam giác.
- Tập tin FACTS.txt: lưu trữ thông tin về các loại sự kiện khác nhau.
- Tập tin RULES.txt: lưu trữ hệ luật của cơ sở tri thức
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
Mối liên hệ về cấu trúc thông tin trong cơ sở tri thức có thể được minh họa trên sơ
đồ sau đây:
Hình 1 - Mỗi quan hệ giữa các thành phần trong COKB
1.3 – CẤU TRÚC CÁC TẬP TIN LƯU TRỮ TRONG COKB
Các tập tin lưu trữ các thành phần trong cở sở tri thức các C-Object được ghi dưới
dạng các văn bản có cấu trúc dựa trên một số từ khóa và qui ước về cú pháp khá đơn giản
và tự nhiên. Dưới đây là phần liệt kê cấu trúc của các tập tin:
- Cấu trúc tập tin “Objects.txt”
begin_Objects
<tên lớp đối tượng 1>
<tên lớp đối tượng 2>

end_Objects
- Cấu trúc tập tin “RELATIONS.txt”
begin_Relations
[<tên quan hệ>, <loại đối tượng>, <loại đối tượng>, ],
<tính chất>, <tính chất>,
[<tên quan hệ>, <loại đối tượng>, <loại đối tượng>, ],
<tính chất>, <tính chất>,

end_Relations
- Cấu trúc tập tin “Hierarchy.txt”
begin_Hierarchy

HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
[<tên lớp đối tượng cấp cao>, <tên lớp đối tượng cấp
thấp>]
[<tên lớp đối tượng cấp cao>, <tên lớp đối tượng cấp
thấp>]

end_Hierarchy
- Cấu trúc tập tin “<tên khái niệm C-Object>.txt”
begin_object: <tên khái niệm C-Object>[các đối tượng nền]
<các đối tượng nền> : <kiểu>;
<các đối tượng nền> : <kiểu>;

begin_variables
<tên thuộc tính> : <kiểu>;
<tên thuộc tính> : <kiểu>;

end_variables
begin_constraints

end_constraints
begin_properties
<sự kiện>
<sự kiện>

end_properties
begin_computation_relations
begin_relation
flag=<0 hoặc 1>
Mf={các thuộc tính}

rf=1
vf={ghi thuộc tính kết quả nếu flag = 0}
expf= `biểu thức tính toán`
cost = <trọng số của sự tính toán>
end_relation

end_computation_relations
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
begin_rules
begin_rule
kind_rule = "<loại luật>";
hypothesis_part:
{các sự kiện giả thiết của luật}
goal_part:
{ các sự kiện kết luận của luật hoặc là "Object"}
end_rule

end_rules
end_object
begin_inside_net
parameters:
objects:

facts:

end_inside_net
- Cấu trúc tập tin “Operators.txt”
begin_Operators
[<toán tử>, [các kiểu toán hạng], <kiểu kết quả>, <quitắc

tính toán>]
[<toán tử>, [các kiểu toán hạng], <kiểu kết quả>, <quitắc
tính toán>]

end_Operators
- Cấu trúc tập tin “FACTS.txt”
begin_Facts
1, <cấu trúc sự kiện>, <cấu trúc sự kiện>,
2, <cấu trúc sự kiện>, <cấu trúc sự kiện>,

end_Facts
- Cấu trúc tập tin “RULES.txt”
begin_rules
begin_rule
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
kind_rule = "<loại luật>";
<các tên đối tượng> : <kiểu đối tượng>;
<các tên đối tượng> : <kiểu đối tượng>;

hypothesis_part:
{các sự kiện giả thiết của luật}
goal_part:
{ các sự kiện kết luận của luật hoặc là "Object"}
end_rule

end_rules
1.4 – NGÔN NGỮ ĐẶC TẢ THEO MÔ HÌNH COKB
Ngôn ngữ đặc tả theo mô hình COKB được xây dựng để biểu diễn cho các tri thức
có dạng COKB. Ngôn ngữ này bao gồm các thành phần :

- Tập hợp các kí tự : chữ, số và các ký tự đặc biệt.
- Từ vựng : từ khóa và tên.
- Các kiểu dữ liệu : Các kiểu dữ liệu cơ bản và các loại có cấu trúc.
- Các biểu thức và câu.
- Các câu lệnh.
- Cú pháp quy định cho các thành phần của mô hình COKB.
Một số cấu trúc của các định nghĩa cho các biểu thức, C-Object, relations, facts và
function.
Định nghĩa của các biểu thức:
expr ::= expr |
rel-expr |
logic-exper
expr ::= expr add-operator term |
term
term ::= term mul-operator factor |
factor
factor ::= factor |
element ^ factor |
element
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 10
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
element ::= (expr) |
name |
number |
function-call
rel-expr ::= expr rel – operator expr
logic-expr ::= logic-expr OR logic-term |
logic-expr IMPLIES logic-term |
NOT logic-term |
logic-term |

logic-term ::= logic-term AND logic-primary |
logic-primary |
logic-primary ::= expr |
rel-expr |
function-call |
quantify-expr |
TRUE | FALSE
quantify-expr ::= FORALL(name<, name>*), logic-expr |
EXISTS(name), logic-expr
Định nghĩa của C-Object
cobject-type ::= COBJECT name;
[isa]
[hasa]
[constructs]
[attributes]
[constraints]
[crelations]
[rules]
ENDCOBJECT;
Định nghĩa của các quan hệ đặc biệt:
isa ::= ISA: name <, name>*;
hasa ::= HASA: [fact-def]
Định nghĩa của các sự kiện:
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 11
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
facts ::= FACT: fact-def+
fact-def ::= object-type | attribute | name
equation | relation | expression
object-type ::= cobject-type (name) |
cobject-type (name <, name>*)

relation ::= relation (name<, name>+)
Định nghĩa của các quan hệ cơ sở trong các sự kiện
relation-def ::= RELATION name;
ARGUMENT: argument-def+
[facts]
ENDRELATION;
argument-def ::= name <,name>*:type;
Định nghĩa của các hàm – dạng 1:
function-def ::= FUNCTION name;
ARGUMENT: argument-def+
RETURN: return-def;
[constraint]
[facts]
ENDFUNCTION;
return-def ::= name:type;
Định nghĩa của các hàm – dạng 2:
function-def ::= FUNCTION name;
ARGUMENT: argument-def+
RETURN: return-def;
[constraint]
[variables]
[statements]
ENDFUNCTION;
statements ::= statement-def+
statement-def ::= assign-stmt | if-stmt | for-stmt
asign-stmt ::= name := expr;
if-stmt ::= IF logic-expr THEN statements+
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 12
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
ENDIF; |

IF logic-expr THEN statemnets+
ELSE statements+
ENDIF;
for-stmt ::= FOR name IN [range] DO
statements+;
ENDFOR;
1.5 – CÁC LOẠI SỰ KIỆN TRONG MÔ HÌNH COKB
Mô hình COKB có loại sự kiện được chấp nhận. Những sự kiện được đề xuất từ
việc nghiên cứu trên yêu cầu và vấn đề thực tế trong các miền tri thức khác nhau. Các loại
sự kiện bao gồm:
Sự kiện loại 1: Sự kiện thông tin về loại của đối tượng
Cấu trúc sự kiện:
[<đối tượng>,<loại đối tượng>]
Ví dụ: Tam giác cân ABC được định nghĩa như sau:
[TAMGIAC[A,B,C], “TAMGIACCAN”]
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 số thuộc
tính của đối tượng.
Cấu trúc sự kiện:
<đối tượng>|<đối tượng>.<thuộc tính>
Ví dụ: Trong tam giác ABC ta có các cạnh AB, AC, BC và các góc ABC, góc
BAC và góc ACB được định nghĩa như sau:
• Các cạnh: DOAN[A,B], DOAN[A,C], DOAN[B,C].
• Các góc: GOC[A,B,C], GOC[B,A,C], GOC[A,C,B].
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.
Cấu trúc sự kiện:
<đối tượng> | <đối tượng>.<thuộc tính> = <biểu thức hằng>
Ví dụ: DOAN[A,B].a = 5; GOC[A,B,C] = Pi/2
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.

Cấu trúc sự kiện:
<đối tượng> | <đối tượng>.<thuộc tính> = <đối tượng> | <đối
tượng>.<thuộc tính>
Ví dụ: DOAN[A,B].a = DOAN[B,C].a, GOC[A,B,C].a = GOC[A,C,B].a.
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 13
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
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
hay các thuộc tính.
Cấu trúc sự kiện:
<đối tượng> | <đối tượng>.<thuộc tính> = <biểu thức theo các đối tượng hay thuộc
tính>
Ví dụ: CV = DOAN[A,B].a + DOAN[A,C].a + DOAN[B,C].a
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.
Cấu trúc các sự kiện:
[<tên quan hệ>,<object1>, <object2>,…]
Ví dụ: [“THUỘC”,M,DOAN[A,B]  Điểm M thuộc đoạn AB.
Sự kiện loại 7: Sự kiện về tính xác định của một hàm.
Cấu trúc sự kiện: <hàm>
Ví dụ: TRUNGDIEM(A,B)  Hàm xác định trung điểm của 2 điểm A,B.
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.
Cấu trúc sự kiện:
<hàm> = < biểu thức hằng>
Ví dụ: KHOANGCACH(d1,d2) = 9  Khoảng cách giữa 2 đường thẳng d1 và d2
bằng 9.
Sự kiện loại 9: Sự kiện về sự bằng nhau giữa một đối tượng hay một thuộc tính
với một hàm.
Cấu trúc sự kiện:

<đối tượng> | <đối tượng>.<thuộc tính> = <hàm>
Ví dụ: GOC[A,B,C] = GOC(d1,d2),H1 = HINHCHIEU(A,d)
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.
Cấu trúc sự kiện:
<hàm> = <hàm>
Ví dụ: KHOANGCACH(d,d1) = KHOANGCACH(d1,d2)
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.
Cấu trúc sự kiện:
<hàm> = < biểu thức theo các hàm hay các đối tượng>
Ví dụ: GOC(d,d2)= GOC(d,d2) + GOC(d,d3)
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 14
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
Sự kiện loại 12: Sự kiện về sự phụ thuộc giữa các hàm hay các đối tượng thông
qua một đẳng thức theo các hàm hay các đối tượng.
Cấu trúc sự kiện:
<đẳng thức theo các hàm hay các đối tượng>
Ví dụ: GOC(d,d1) + GOC(d,d3) = GOC[A,B,C].a + GOC(d,d2).
1.6 – CÁC BƯỚC GIẢI THEO MÔ HÌNH COKB
- Deduce_from3s: suy ra các sự kiện loại 2 từ các sự kiện loại 1
- Deduce_from43s: suy ra các sự kiện mới loại 3 từ các sự kiện loại 3 và 4 bằng
cách thay thế các biến trong sự kiện loại 3 và sự kiện loại 4
- Deduce_from53s: suy ra các sự kiện mới loại 3, 5 từ các sự kiện loại 3 và 5 bằng
cách thay thế các biến trong sự kiện loại 3 vào sự kiện loại 5
- Deduce_from45s: suy ra các sự kiện mới loại 3 từ các sự kiện loại 4 và 5 bằng
cách giải hệ phương trình.
- Deduce_from8s: suy ra các sự kiện loại 7 từ các sự kiện loại 8
- Deduce_from983s: suy ra các sự kiện loại 3, 8 từ các sự kiện loại 3, 8, 9 bằng
cách thay thế các sự kiện loại 8 (hay sự kiện loại 3) vào các sự kiện loại 9
- Deduce_Objects: thực hiện suy diễn và tính toán bên trong cấu trúc của từng đối

tượng. Các đối tượng tham gia vào bước giải có khả năng thực hiện các hành vi nhất định
để phát sinh sự kiện mới, thực hiện suy diễn tính toán trên các thuộc tính của đối tượng,
bản thân đối tượng hay các đối tượng liên quan được thiết lập trên nền của đối tượng.
- Deduce_from9s: suy ra các sự kiện loại 2, 3, 6, 7, 8 từ các sự kiện loại 9 bằng
cách thực hiện tính toán hàm.
- Deduce_Rules: dò tìm luật có thể áp dụng được.
- Deduce_Funcs: dò tìm hàm có thể áp dụng được
- Deduce_EqsGoal: giải hệ phương trình đơn giản gồm n phương trình n ẩn.
1.7 – ƯU ĐIỂM CỦA MÔ HÌNH COKB
Thông qua những khái niệm về các mô hình biểu diễn tri thức tiêu biểu đã được
biết ta đã thấy được một số ưu điểm cũng như những khuyết điểm của chúng. Để làm rõ
hơn ta có bảng liệt kê ưu khuyết của các phương pháp biểu diễn tri thức:
Phương pháp Ưu điểm Khuyết điểm
1. Luật sinh Cú pháp đơn giản, dễ hiểu, diễn
dịch đơn giản, tính đơn thể cao,
linh động
Rất khó theo dõi sự phân cấp,
không hiệu quả trong những hệ
thống lớn, không thể biểu diễn
được mọi loại tri thức, rất yếu
trong việc biểu diễn các tri thức
dạng mô tả, có cấu trúc
2. Mạng ngữ
nghĩa
Dễ theo dõi sự phân cấp, sẽ dò
theo các mối liên hệ, linh động
Ngữ nghĩa gắn liền với mỗi đỉnh
có thể nhập nhằng, khó xử lý
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 15
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN

các ngoại lệ, khó lập trình
3. Mạng tính
toán
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, giải thích một cách dễ dàng
và dễ hiểu
Không giải được các tri thức
phức tạp, 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à việc tương đối khó
khăn  bảo trì lại toàn bộ hệ
thống
4. Frame Có sức mạnh diễn đạt tốt, dễ cài
đặt các thuộc tính cho các slot
cũng như các mối liên hệ, dễ
dàng tạo ra các thủ tục chuyên
biệt hóa, dễ đưa vào các thông tin
mặc định và dễ thực hiện các
thao tác phát hiện các giá trị sai
sót
Khó lập trình, khó suy diễn,
thiếu phần mềm hỗ trợ
Ta nhận thấy “mô hình biểu diễn tri thức bằng Frame” là mô hình biểu diễn tri thức

tương đối hoàn thiện nhất trong tất cả các phương pháp. Nhưng khuyết điểm của mô hình
đó là khó lập trình và thiếu phần mềm hỗ trợ. Trong khi ưu điểm của mô hình COKB là:
- Cấu trúc tường minh giúp dễ dàng thiết kế các modun truy cập cơ sở tri thức.
- Thích hợp cho việc thiết kế một cơ sở tri thức với các khái niệm có thể được biểu
diễn bởi các đối tượng tính toán.
- Tiện lợi cho việc thiết kế các modun giải bài toán tự động
- Thích hợp cho việc định dạng ra một ngôn ngữ khai báo bài toán và đặc tả bài
toán một cách tự nhiên.
Với những ưu điểm trên mô hình COKB là mô hình lý tưởng để biểu diễn tri thức
thay thế cho các mô hình biểu diễn tri thức thông thường. Ngoài ra, với sự hỗ trợ của công
cụ Maple phần mềm đại số tính toán là ngôn ngữ lập trình chính đã hỗ trợ một phần rất lớn
cho mô hình COKB.
1.8 – QUI TRÌNH XÂY DỰNG MỘT HỆ THỐNG CƠ SỞ TRI THỨC THEO MÔ
HÌNH COKB
1.8.1 – Cấu trúc hệ thống
Một hệ thống cơ sở tri thức, hỗ trợ tìm kiếm, truy vấn và giải quyết vấn đề có
cấu trúc như một hệ thống chuyên gia bao gồm sáu thành phần như sau:
+ Các cơ sở tri thức: chứa các kiến thức để giải quyết một số vấn đề trong một
lĩnh vực kiến thức cụ thể.
+ Các công cụ suy luận: sử dụng những kiến thức được lưu trữ trong cơ sở tri
thức để giải quyết vấn đề, để tìm kiếm hoặc để trả lời cho truy vấn. Nó phải xác định vấn
đề và sử dụng chiến lược phù hợp với suy luận để tìm ra các quy tắc phải và thực tế cho
việc giải quyết vấn đề.
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 16
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
+ Các thành phần giải quyết vấn đề: hỗ trợ giải thích các giai đoạn, các khái
niệm trong quá trình giải quyết vấn đề.
+ Bộ nhớ làm việc: lưu trữ các sự kiện và các quy tắc trong quá trình tìm kiếm
và khấu trừ.
+ Quản lý tri thức: hỗ trợ cập nhật kiến thức vào cơ sở tri thức, hỗ trợ tìm kiếm

kiến thức và kiểm tra tính nhất quán của kiến thức.
+ Giao diện: cần có một ngôn ngữ đặc trưng về mặc kỹ thuật để trao đổi thông
tin giữa người học và hệ thống, giữa hệ thống và người dạy.
1.8.2 – Thiết kế, xử lý
Quá trình phân tích và thiết kế các thành phần của hệ thống bao gồm các giai
đoạn sau:
Giai đoạn 1: Thu thập tri thức cần thiết dựa trên mô hình COKB
Giai đoạn 2: Phân loại kiến thức trong giai đoạn 1 để phân tích các yêu cầu
Giai đoạn 3: Xây dựng tổ chức cơ sở tri thức cho hệ thống dựa trên mô hình
COKB và đặc điểm kỹ thuật của ngôn ngữ. Kiến thức cơ bản có thể được tổ chức bởi các
tập tin văn bản có cấu trúc. Chúng bao gồm các tập tin dưới đây.
+ Tập tin Object.txt lưu trữ các khái niệm
+ Tập tin Hierarchy.txt lưu trữ thông tin các sơ đồ Hasses đại diện cho thành
phần H của mô hình COKB.
+ Tập tin Relations.txt lưu trữ thông tin các quan hệ
+ Tập tin Operations.txt đặc tả cách thức thao tác của các đối tượng hay một
thành phần hàm nào đó
+ Tập tin Functions.txt lưu trữ những đặc điểm kỹ thuật của các hàm
+ Tập tin Facts.txt lưu trữ các định nghĩa của các loại sự kiện
+ Tập tin Rules.txt lưu trữ các quy tắc suy luận
+ Các tập tin SomeObject.txt lưu trữ các đối tượng nhất định
Giai đoạn 4: Mô hình hóa các vấn đề và thiết kế thuật toán. Chúng ta sử dụng
mạng các đối tượng tính toán. Thành phần của nó gồm 3 tập hợp sau:
O = {O
1
, O
2
, …, O
n
}

F = {F
1
, F
2
, …, F
n
}
Goal = {G
1
, G
2
, …, G
n
}
Trong mô hình trên tập O bao gồm n đối tượng, F là tập hợp các sự kiện (giả
thuyết) được đưa ra trên các đối tượng, và các giả thuyết dựa trên các định lý, định luật có
sẵn. Goal là tập các vấn đề cần làm sáng tỏ (mục tiêu). Việc thiết kế các thuật toán suy luận
để giải quyết vấn đề và thiết kế giao diện của hệ thống có thể được phát biểu bởi ba bước
cho mô hình:
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 17
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
+ Bước 1: Phân loại các giả thuyết để xác định các đối tượng tương ứng có liên
quan tới nó.
+ Bước 2: Phân loại các kiểu dữ liệu dựa trên mô hình COKB.
+ Bước 3: Mô hình hóa các vấn đề được phân loại trong bước 1 và bước 2. Từ
các mô hình của từng loại, chúng ta có thể xây dựng một mô hình chung các vấn đề cho hệ
thống để giải quyết chúng.
Giai đoạn 5: Tạo một ngôn ngữ truy vấn cho mô hình. Ngôn ngữ này giúp thiết
kế cách thức trao đổi thông tin giữa hệ thống và người sử dụng.
Giai đoạn 6: Thiết kế giao diện của phần mềm và lập trình phần mềm.

Giai đoạn 7: Kiểm tra, duy trì và phát triển các ứng dụng. Giai đoàn này tương
tự như các hệ thống máy tính khác.
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 18
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
CHƯƠNG 2 - ỨNG DỤNG
2.1 – PHÁT BIỂU BÀI TOÁN
Để đơn giản hóa việc giải các bài toán về mạch điện một chiều với các kiểu mắc
nối tiếp và mắc song song, cũng đồng thời là công cụ giúp học sinh kiểm tra lại kết quả các
dạng bài tập một cách nhanh chóng.
Bài toán “Giải bài toán Vật lý” trong mạch điện một chiều với các điện trở mắc
song song và nối tiếp.
Hệ thống có kiến trúc khá đơn giản. Giao diện nhận yêu cầu ( giả thiết, kết luận) từ
người dùng rồi gửi yêu cầu đó cho bộ suy diễn. Bộ suy diễn căn cứ vào yêu cầu để tìm đến
cơ sở tri thức phù hợp rồi suy diễn cho ra kết quả, trả về cho giao diện hiển thị cho người
dùng.
2.2 – THU THẬP TRI THỨC CHO ỨNG DỤNG
Định luật Ôm cho đoạn mạch chỉ có 1 điện trở
I = U / R (A)
Nếu có giá trị của I và R thì ta có thể tính hiệu điện thế như sau:
U = V
B
– V
A
= I * R (V)
Các điện trở mắc song song
Trong đoạn mạch, có nhiều điện trở mắc song song thì ta có công thức tính:
Điện trở tương đương:
Cường độ dòng điện:
Hiệu điện thế:
Định luật Ôm trong đoạn mạch mắc song song:

Các điện trở mắc nối tiếp
Trong đoạn mạch, có nhiều điện trở mắc nối tiếp thì ta có công thức tính:
Điện trở tương đương:
Cường độ dòng điện:
Hiệu điện thế:
Định luật Ôm trong đoạn mạch mắc nối tiếp:
2.3 – MÔ HÌNH COKB TRONG GIẢI BÀI TOÁN VẬT LÝ
2.3.1 – Mô hình biểu diễn tri thức cho ứng dụng
Mô hình tri thức hệ “Giải bài toán Vật lý” có cấu trúc:
BAITOANVATLY (C- Object,Formula_Rule,Relation)
Tập các khái niệm C-Object
Có cấu trúc: C-Object(Facts, Formula)
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 19
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
Trong đó,
- Facts có cấu trúc : Facts(Symbol,Meaning)
+ Symbol: là tập các ký hiệu của C- Object (mạch điện một R)
Symbol { U, R, I,A,Q,t,R1,U1….}
+ Meaning: là định nghĩa cho các biến trên tập gồm các phần tử là:
Meaning{ Điện trở(R); Hiệu Điện Thế(U), Cường độ dòng điện(I), Công
suất(A); Nhiệt điện(Q) …. }
- Formula có cấu trúc : Formula(Rule, Formula, )
+ Rule: là các luật từ giả thiết suy ra kết luận có cấu trúc trong mỗi một C-
Object
Rule{ U, R -> I; A, t -> Q; U, I -> R; I, R, t ->Q ……}
+ Formula: là các công thức,định luật trong mỗi một C-Object
Formula{ U = I x R; Q = A x t;
R = Q / ( ( I x I ) x t);
Q = R x ( I x I ) x t
……

}
Tập các hàm Formula_Rule
Có cấu trúc : Formula_Rule(Rules, Formulas, )
Trong đó,
- Rules: là các luật từ giả thiết suy ra kết luận có cấu trúc giữa các C-Object
khác nhau.
Rules { R1, R2 -> R; I1 -> I; I2 -> I; U1, U2 -> U……}
- Formula: là các công thức,định luật liên quan giữa các C-Object
Formula{
R1 + R2 = R
U1 + U2 = U
I1 = I2 = I
R1 = Q1 / ( ( I1 x I1 ) x t)
……
}
Tập các quan hệ Relation
Có cấu trúc: Relation(1_resistor,2_resistors,3_resistors)
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 20
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
+ 1_resistor: là tập gồm { Mạch một R }
+ 2_resistors: là mối quan hệ giữa hai điện trở mắc với nhau,hay là hai mạch
một bộ nối với nhau
2_resistors{ R1ntR2; R1 ss R2}
+ 3_resistors : là mối quan hệ giữa 3 diện trở mắc với nhau
3_resistors{
R1 mắc nối tiếp R2 tất cả mắc song song với R3
R1 mắc song song R2 tất cả mắc nối tiếp với R3
R2 mắc nối tiếp với R3 tất cả mắc song song với R1
R2 mắc song song với R3 tất cả mắc nối tiếp với R1
R1 mắc nối tiếp R3 tất cả mắc song song với R2

………… }
2.3.2 - Tổ chức lưu trữ cơ sở tri thức
Tổ chức cơ sở tri thức của chương trình có 2 dạng tập tin *.txt như sau:
- Dạng 1: Facts.txt để lưu thông tin về các đối tượng tính toán bao gồm ký hiệu và
mô tả
Cấu trúc:
<tên đối tượng 1> : <mô tả đối tượng 1>
<tên đối tượng 2> : <mô tả đối tượng 2>

Ví dụ:
U : hiệu điện thế hai đầu mạch
R : điện trở
A : công suất toàn đoạn mạch
….
- Dạng 2: luat_.txt (mỗi tập tin là một mạch điện)
Cấu trúc:
<luật 1> .<vế phải của công thức 1> //Dấu . là dấu hiệu phân cách
<luật 2> .<vế phải của công thức 2>

Ví dụ:
R1, R2 -> R.R1 + R2
U, R -> I. U / R
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 21
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
U, I, t -> A.U * I * t

Trong đó, R1, R2 -> R.R1 + R2 nghĩa là khi có giá trị của R1 và R2 ta tính
R bằng R1 cộng với R2.
Mô phỏng một tập luật trong đoạn mạch gồm có 2 điện trở mắc nối tiếp:
Hình 2 - Mạch gồm 2 điện trở mắc nối ếp

Tên của tập tin: luat_R1ntR2.txt có nội dung sau đây:
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 22
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
U,R->I.U / R
I,R->U.I * R
U,I->R.U / I
I,U,t->A.U * I * t
A,I,t->U.A / ( I * t )
A,U,t->I.A / ( U * t )
A,U,I->t.A / ( U * I )
A,t->Q.A * t
Q,t->A.Q / t
Q,A->t.Q / A
R,I,t->Q.R * ( I * I ) * t
Q,I,t->R.Q / ( I * I * t )
Q,R,I->t.Q / ( I * I * R )
Q,R,t->I.sqrt ( Q / ( R * t ) )
R1,R2->R.R1 + R2
R,R2->R1.R - R2
R,R1->R2.R - R1
U1,U2->U.U1 + U2
U,U1->U2.U - U1
U,U2->U1.U - U2
I1,T->I2.I2 = I1
I2,T->I1.I1 = I2
I1,T->I.I = I1
I2,T->I.I = I2
I,T->I1.I1 = I
I,T->I2.I2=I1
U1,R1->I1.U1 / R1

I1,R1->U1.I1 * R1
U1,I1->R1.U1 / I1
U2,R2->I2.U2 / R2
I2,R2->U2.I2 * R2
U2,I2->R2.U2 / I2
I1,U1,t->A1.U1 * I1 * t
A1,I1,t->U1.A1 / ( I1 * t )
A1,U1,t->I1.A / ( U1 * t )
A1,U1,I1->t.A1 / ( U1 * I1 )
A1,t->Q1.A1 * t
Q1,t->A1.Q1 / t
Q1,A1->t.Q1 / A1
R1,I1,t->Q1.R1 * ( I1 * I1 ) * t
Q1,I1,t->R1.Q1 / ( I1 * I1 * t )
Q1,R1,I1->t.Q1 / ( I1 * I1 * R1 )
Q1,R1,t->I1.sqrt ( Q1 / ( R1 *
t ) )
I2,U2,t->A2.U2 * I2 * t
A2,I2,t->U2.A2 / ( I2 * t )
A2,U2,t->I2.A / ( U2 * t )
A2,U2,I2->t.A2 / ( U2 * I2 )
A2,t->Q2.A2 * t
Q2,t->A2.Q2 / t
Q2,A2->t.Q2 / A2
R2,I2,t->Q2.R2 * ( I2 * I2 ) * t
Q2,I2,t->R2.Q2 / ( I2 * I2 * t )
Q2,R2,I2->t.Q2 / ( I2 * I2 * R2 )
Q2,R2,t->I2.sqrt ( Q2 / ( R2 *
t ) )
2.3.3 – Ý tưởng thuật giải

Suy diễn là từ những giả thiết đã
biết(know) ta áp dụng các tập luật để sinh
thêm giả thiết mới bổ sung vào giả thiết ban
đầu(know). Quá trình này cứ tiếp tục cho
đến khi kết luận cần tìm đã nằm trong know
hoặc không có thể áp dụng được luật nào để
sinh thêm giả thiết mới nữa và chương trình
kết thúc.
Mô phỏng thuật giải
• Bước 1: Khởi tạo một mảng đánh
dấu các luật nào đã được sữ dụng tránh
trùng lặp với các luật khác. Khởi tạo Know
= GT.
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 23 / 27
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
• Bước 2: Kiểm tra xem kết luận cần
tìm đã nằm trong Know hay chưa?
Nếu đúng : goto Bước
6
Nếu sai : Chuyển tới
Bước 3
• Bước 3: Cho chạy kiểm tra các luật
có thể sữ dụng,nếu luật nào chưa dùng (chưa
được đánh dấu ):
Kiểm tra xem các luật có đủ
điều kiện để áp dụng sinh ra thêm Sự kiện
mới hay không? Nếu đủ điều kiện:
+ Đánh dấu luật này
lại.
+ Bổ sung kết luận

của luật vào Know
+ Quay lại Bước 2
Nếu không đủ điều kiện :
Tiếp tục với luật tiếp theo(đến khi nào hết
các luật).
• Bước 4: Nếu không còn luật nào có
thể áp dụng được nữa thì Go To Bước 6.
• Bước 5: Quay lại Bước 2.
• Bước 6: Kết luận :
+ Nếu Bước 4 đúng :
Bài toán không thể giải được(vì không có
luật phù hợp).
+ Nếu Bước 2 đúng :
Dùng suy diễn lùy để đưa ra các luật thừa và
đưa ra kết luận.
2.4 - ỨNG DỤNG TRONG GIẢI BÀI
TOÁN VẬT LÝ
• Quy trình xử lý dữ liệu
- Lấy dữ liệu đầu vào
public string[ ]
getValue_txtnhap() //Xử lý dữ liệu
đầu vào - lấy dữ liệu từ textbox
{
…………
}
- Dựa vào đề tài xác định loại mạch
public int chon_mach()
{
……………
}

- Tìm tập tin luật phù hợp với kết
quả chọn mạch
private void LoadFile()
{
switch
(chon_mach())
{
…………
}
}
- Xác định các yêu cầu của đề bài
public int
purpose()
{
……………
}
- Bộ suy diễn duyệt qua các luật
trong tập tin tìm ra kết quả
private bool
ForwardCharning()
{
………
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 24 / 27
BÁO CÁO CHUYÊN ĐỀ: BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
}
- Tính toán các giá trị
public void
ProcessCaculate()
{
……

}
• Giao diện chương trình
Phần demo chương trình này tham
khảo bài báo cáo đồ án các hệ cơ sở tri thức
của nhóm sinh viên của trường Đại học
Công nghệ thông tin trong việc áp dụng giải
bài toán vật lý lớp 11.
Ví dụ áp dụng:
Nhập giả thiết
<R1 nt R2>ss R3;
U = 10, R1 = 4, U2 = 3,
Tính: U1.
Kết quả thực hiện:
Giả thiết:
Loại Mạch: - Mạch gồm R1 nối tiếp
R2 tất cả song song R3
- Hiệu Điện Thế Toàn Mạch U: 10
(v).
- Điện Trở R1: 4 (Ω).
- Hiệu Điện Thế Cho Điện Trở R2 là
U2: 3 (v).
Kết luận:
- Tính Hiệu Điện Thế Hai Đầu Điện
Trở R1 Là U1 ?
Bài làm:
* Bước 1: Tính U3
- Áp dụng công thức: U3 = U3 = U
Ta tính được: U3 = 10
* Bước 2: Tính U1
- Áp dụng công thức: U1 = U3 - U2

Ta tính được: U1 = 7
Kết luận: Vậy U1 cần tính là 7 (v).
HỌC VIÊN: NGÔ VĂN LINH – CH1301021 Trang 25 / 27

×