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

Ứng dụng mạng tính toán trong biểu diễn tri thức

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 (292.11 KB, 25 trang )

Trường Đại học Công Nghệ Thông Tin – Thành phố Hồ Chí Minh
Ứng dụng mạng tính
toán trong biểu diễn
tri thức
Ứng dụng mô hình biểu diễn tri thức mạng tính toán trong giải quyết một số
dạng toán hình học đơn giản về tam giác
Thực hiện: Nguyễn Hữu Việt Long
Lớp: Cao học K6-2011
Mã số: CH1101101
01-2013
Contents
Mở đầu
Cùng với nhiều ngành khoa học khác, Khoa học máy tính và Công Nghệ Thông Tin đã
góp phần không nhỏ vào sự tiến bộ và phát triển của toàn xã hội. Trí tuệ nhân tạo là một lĩnh vực
Khoa học máy tính nhằm nghiên cứu và phát triển các hệ thống máy tính thông minh; hỗ trợ cho
các hoạt động xử lý thông tin và xử lý tri thức, tính toán và điều khiển… Ngày nay, trí tuệ nhân
tạo đã xâm nhập vào nhiều mặt đời sống xã hội và trở thành phương pháp hữu hiệu để giải quyết
nhiều bài toán trong thực tế.
Trong quá trình phân tích và thiết kế các hệ thống trí tuệ nhân tạo, đặc biệt là các hệ
chuyên gia và các hệ giải toán thông minh, người ta thường quan tâm đến hai vấn đề cơ bản nhất
[2]:
- Biểu diễn tri thức
- Phương pháp và kỹ thuật suy diễn
Nghiên cứu các mô hình tri thức và suy diễn tự động trên tri thức giữ một vị trí quan
trọng trong khoa học máy tính và trí tuệ nhân tạo.
Bài thu hoạch trình bày một số phương pháp biểu diễn tri thức và ứng dụng của chúng
trong thực tế. Qua đó, cũng giới thiệu mô hình mạng tính toán trên tri thức hình học tam giác
nhằm giải quyết một số bài toán hình học tam giác đơn giản.
2
I. Tổng quan biểu diễn tri thức
Việc biểu diễn tri thức đóng vai trò quan trong trong việc khẳng định khả năng giải quyết


vấn đề của một hệ cơ sở tri thức.
Tri thức là sự hiểu biết về một vấn đề nào đó. Tri thức của một hệ chuyên gia thường gắn
liền với một lĩnh vực xác định. Mức độ thành công của một hệ chuyên gia phụ thuộc vào miền
hoạt động của nó. Thế nhưng, cách thức tổ chức các tri thức như thế nào sẽ quyết định lĩnh vực
hoạt động của chúng. Với cách biểu diễn hợp lý, ta có thể giải quyết các vấn đề đưa vào theo các
đặc tính có liên quan đến tri thức đã có.
1. Tri thức:
Tri thức là một hệ thống phức tạp, đa dạng và trừu tượng bao gồm nhiều thành tố với
những mối liên hệ tác động qua lại như:
- Các khái niệm (concepts), với những mối liên hệ cơ bản nhất định (relationships).
- Các quan hệ (relations):
o Quan hệ 2 ngôi: Cho hai tập hợp A và B. Một quan hệ hai ngôi (binary
relation) từ A đến B là một tập con của A×B: R ⊆ A×B [3]
o Các tính chất về một quan hệ 2 ngôi R trên một tập X: phản xạ, đối xứng,
phản xứng, bắc cầu.
o Quan hệ thứ tự.
o Quan hệ tương đương.
o Cách biểu diễn của một quan hệ 2 ngôi R trên tập X: Biểu diễn dựa trên “tập
hợp”, biểu diễn bằng ma trận, biểu đồ (đồ thị).
- Các toán tử (operators), phép toán, các biểu thức hay công thức:
o Phép toán 2 ngôi T trên tập X là ánh xạ
T: XxX  X
3
(a,b)  a T b ≡ T(a,b)
Ví dụ: NxN  N
(a,b)  a+b
o Phép toán 1 ngôi S trên tập X là:
S: X  X
o Các tính chất thường được xem xét: giao hoán, kết hợp, phần tử trung hòa,
phần tử nghịch đảo, phần tử đối, phân phối (hay phân bố), …

- Các hàm (functions)
- Các luật (rules)
- Sự kiện (facts)
- Các thực thể hay đối tượng, một phần tử cụ thể (objects).
2. Các mô hình biểu diễn tri thức cơ bản
Hiện nay, các mô hình biểu diễn tri thức cơ bản thường dựa trên:
- Các cấu trúc dữ liệu cơ bản và trừu tượng đã biết
- Các mô hình và cấu trúc toán học: Đại số tuyến tính, Toán rời rạc, Đồ Thị, giải tích,
hình học giải tích, xác suất thống kê, logic học …
Dưới đây, trình bày một số mô hình biểu dễn tri thức cơ bản:
a. Logic vị từ
Biểu diễn tri thức bằng mệnh đề gặp phải một trở ngại cơ bản là ta không thể can thiệp
vào cấu trúc của một mệnh đề. Hay nói một cách khác là mệnh đề không có cấu trúc . Điều này
làm hạn chế rất nhiều thao tác suy luận. Do đó, người ta đã đưa vào khái niệm vị từ và lượng từ
(∀ - với mọi, ∃ - tồn tại) để tăng cường tính cấu trúc của một mệnh đề.
4
Trong logic vị từ, một mệnh đề được cấu tạo bởi hai thành phần là các đối tượng tri thức
(clause) và mối liên hệ giữa chúng (gọi là vị từ - predicates). Các mệnh đề sẽ được biểu diễn
dưới dạng:
(Predicates, Clauses)
Predicates là tập gồm các vị từ, mỗi vị từ biểu diễn cho phát biểu nói về một tính chất
của đối tượng hay một quan hệ giữa các đối tượng. mỗi vị từ xác định bởi tên vị từ và các kiểu
tham biến.
Ví dụ: gioi(x: sinhvien); vg(v: vector, P: plane).
Clauses là tập gồm các biểu thức vị từ gồm 2 dạng fact và rule.
PROLOG là công cụ thường được dùng để biểu diễn theo vị từ.
b. Mạng ngữ nghĩa
Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức đầu tiên và cũng là phương pháp
dễ hiễu nhất. Mạng ngữ nghĩa biểu diễn tri thức dưới dạng một đồ thị, trong đó các đỉnh là các
đối tượng (khái niệm) còn các cung cho biết mối quan hệ giữa các đối tượng (khái niệm) này.[4]

Mô hình tri thức dạng đồ thị: (Nodes, Arcs)
Nodes gồm các yếu tố hay các bộ phận cấu thành tri thức. Các node có thể là khái niệm,
đối tượng, sự kiện, cấu trúc trừu tượng, …
Arcs gồm các liên kết biểu diễn cho các quan hệ giữa các nodes. Các quan hệ có thể là:
IS_A, HAS_A, …
Tổ chức lưu trữ: Dựa trên các kỹ thuật biểu diễn và tổ chức lưu trữ xử lý đồ thị.
Ví dụ: Biểu diễn ma trận, biểu diễn dạng danh sách kề hay danh sách cạnh …
c. Hệ luật dẫn
5
Phương pháp biểu diện tri thức bằng luật dẫn được phát minh bở Newell và Simon trong
lúc hai ông đang cố gắng xây dựng một hệ giải toán tổng quát. Đây là một kiểu biểu diện tri thức
có cấu trúc. Ý tưởng cơ bản là tri thức có thể được cấu trúc bằng một cặp điều kiện – hành động:
“IF điều kiện xảy ra THEN hành động sẽ được thi hành” [4].
Ngày nay, các luật dẫn đã trở nên phổ biến và được áp dụng rộng rãi trong nhiều hệ thống
trí tuệ nhân tạo khác nhau. Luật dẫn có thể là một công cụ mô tả để giải quyết các vấn đề thực tế
thay cho các kiểu phân tích truyền thống. Trong trường hợp này, các luật được dùng như những
chỉ dẫn (tuy có thể không hoàn chỉnh) nhưng rất hữu ích để trợ giúp các quyết định trong quá
trình tìm kiếm, từ đó làm giảm không gian tìm kiếm. Một ví dụ khác là luật dẫn có thể bắt chước
hành vi của những chuyên gia. Theo cách đó, luật dẫn không chỉ đơn thuần là một kiểu biểu diễn
tri thức trong máy tính mà còn là một kiểu biểu diễn hành vi con người.
Một cách tổng quát, luật dẫn có dạng như sau:
P
1
∧ P
2
∧ … ∧ P
n
→ Q
Tập hợp các luật dẫn hình thành hệ luật dẫn. Mô hình: (Facts, Rules)
- Facts gồm các phát biểu chỉ các sự kiện hay tác vụ nào đó.

- Rules gồm luật dẫn có dạng “if … then …”
Cơ chế suy luận trên hệ luật dẫn:
- Suy diễn tiến: là quá trình suy luận xuất phát từ một số sự kiện ban đầu, xác định các
sự kiện có thể được “sinh” (dẫn xuất) ra sự kiện này.
- Suy diễn lùi: là quá trình suy luận ngược xuất phát từ một số sự kiện ban đầu, ta tìm
ra sự kiện đã dẫn xuất ra sự kiện này. Một ví dụ thường gặp trong thực tế là xuất phát
từ các tình trạng của máy tính, chuẩn đoán xem máy tính đã bị hỏng hóc ở đâu.
Ưu điểm và nhược điểm của biểu diễn tri thức bằng luật:
- Biểu diễn tri thức bằng luật đặc biệt hữu hiệu trong những tình huống cần đưa ra
những hành động dựa vào những sự kiện có thể quan sát được. Nó có những ưu điểm
chính yếu sau đây:
o Các luật rất dễ hiểu có thể dùng để trao đổi với người dùng (vì nó là một trong
những dạng tự nhiên của ngôn ngữ).
6
o Có thể dễ dàng xây dựng cơ chế suy luận và giải thích từ các luật.
o Việc hiệu chỉnh và bảo trì hệ thống là tương đối dễ dàng.
o Có thể cải tiến dễ dàng để tích hợp các luật mờ.
o Các luật thường ít phụ thuộc vào nhau.
- Tuy nhiên vẫn tồn tại nhiều khuyết điểm:
o Các tri thức phức tạp đôi khi đòi hỏi quá nhiều (hàng ngàn) luật dẫn. Điều này
sẽ làm nảy sinh nhiều vấn đề liên quan đến tốc độ lẫn quản trị hệ thống.
o Thống kê cho thấy, người xây dựng hệ thống trí tuệ nhân tạo thích sử dụng
luật dẫn hơn tất cả các phương pháp khác (dễ hiểu, dễ cài đặt) nên họ thường
tìm mọi cách biểu diễn tri thức bằng luật dẫn cho dù có thể có phương pháp
phù hợp hơn. Đây là nhược điểm mang tính chủ quan của con người.
o Cơ sở tri thức luật dẫn lớn sẽ làm giới hạn khả năng tìm kiếm của chương
trình điều khiển. Nhiều hệ thống gặp khó khăn trong việc đánh giá các hệ dựa
trên hệ luật dẫn cũng như gặp khó khăn khi suy luận trên các luật dẫn.
II. Một số mô hình biểu diễn tri thức dạng mạng ngữ nghĩa
1. 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 hỏa để 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 mạng tính toán là một sự tổng quát hóa 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 [1].
Mô hình: (M, F)
- M: tập các biến đơn, như các biến thực.
- F: Tập các luật dạng phương trình trên các biến của M.
Kỹ thuật vận dụng: không xử dụng trực tiếp các phương trình trong quá trình suy luận mà
chuyển sang dạng luật dẫn để có thể dùng thuật giải suy diễn tiến trên hệ luật dẫn.
Mỗi luật ở dạng phương trình sẽ được chuyển đổi thành một số các luật dẫn kèm theo
công thức tính toán tương ứng.
Ví dụ: luật A+B+C = pi được chuyển thành 3 luật dẫn như sau:
7
A, B  C, với C = pi – A – B;
A, C  B, với B = pi – A – C;
B, C  A, với A = pi – B – C;
Ví dụ: Công thức Hê-rông được chuyển thành các luật dẫn
a, b, c, p  S, với S = …
S, p, a, b  c,
v.v…
Ta có mô hình dạng hệ luật dẫn: (M, R)
- M = tập các sự kiện, mỗi sự là phát biểu về tính xác định của một biến.
- R = tập các luật dẫn, mỗi luật dẫn có một công thức tính toán tương ứng.
Vấn đề trên mạng tính toán: Xét mạng tính toán (M, F). Giả sử, có một tập biến A ⊆ M
đã được xác định (tức là gồm các biến được biết trước giá trị), và B là một tập biến bất kỳ trong
M. 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
là giả thiết, B là mục tiêu tính toán của vấn đề.
Thuật giải trên mạng tính toán: Thuật giải lan truyền dưới dạng suy diễn tiến được áp
dụng nhằm tìm mục tiêu cho bài toán trên mạng tính toán.

Input : 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.
Output : 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
8
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
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;
2. Mạng các đối tượng tính toán
Một mạng tính toán còn được xem là một đối tượng tính toán. Theo quan niệm nầy, từ
bên ngoài phạm vi của mạng tính toán ta xem nó như một tổng thể bao gồm một số yếu tố ta
quan tâm và các yếu tố khác (xem như phần nội bộ bên trong của đối tượng) mà ta ít quan tâm
hơn.
9
Như vậy đối với mỗi đối tượng tính toán O, có một tập biến và một tập các quan hệ tương
ứng. Tập các biến và tập các quan hệ của đối tượng O lần lượt được ký hiệu là M(O), F(O). Từ
đó ta có thể viết :
O = ( M(O),F(O) ).
Hình vẽ dưới đây biểu diễn cho một đối tượng O, trong đó tập x1, , xk M(O) là một tập
biến đang được quan tâm xem xét của đối tượng O.
Hình II.2.1: Đối tượng tính toán O.
Ngoài ra đối tượng tính toán, giả sử là O, còn có khả năng đáp ứng lại một số thông điệp
yêu cầu từ bên ngoài. Trong các khả năng đó của đối tượng tính toán ta có thể kể đến những
điểm sau đây :
(1) Xác định bao đóng (trong đối tượng O) của một tập A ⊆ M(O).
(2) Xác định tính giải được của một bài toán A → B,
trong đó A ⊆ M(O), B ⊆ M(O).
(3) Tìm một lời giải tốt cho bài toán A → B trên mạng (M(O),F(O)),
trong đó A ⊆ M(O), B ⊆ M(O).
Mạng các đối tượng tính toán bao gồm một tập hợp các đối tượng tính toán :
O = {O
1
,O

2
, , O
n
}
và một tập hợp các quan hệ giữa các đối tượng :
F = {f
1
,f
2
, , f
m
}.
Đặt :
10
M(f
i
) = tập hợp các biến có liên quan với nhau bởi quan hệ f
i.
M(F) =
M(f
i
i 1
m
)
=

.
M(O) =
M(O
i

i 1
n
)
=

.
M là tập hợp những biến được xem xét trên mạng, kể cả các biến thuộc
các tập M(f
i
).
M
i
= M ∩ M(O
i
),i=1,2, , m.
Theo cách ký hiệu trên, M
i
là tập hợp những biến của đối tượng O
i
được xem xét trên
mạng các đối tượng tính toán. Ngoài ra ta còn có :
M(O
i
i 1
n
)
=

⊇ M ⊇
M(f

i
i 1
m
)
=

,
hay M(O) ⊇ M ⊇ M(F).
Cho một mạng các đối tượng tính toán (O,F), trong đó O là tập hợp các đối tượng tính
toán và F là tập hợp các quan hệ giữa các đối tượng. Xét một tập hợp biến M trên mạng :
M(O) ⊇ M ⊇ M(F).
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.
Bài toán xác định B từ A trên mạng (O,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 bài toá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.
Chúng ta có thể nhận thấy rằng nếu gộp lại tất cả các biến của các đối tượng O
i
(i=1,2, ,n) thành một tập biến lớn và gộp tất cả các quan hệ nội bộ của từng đối tượng cùng với
các quan hệ giữa các đối tượng thành một tập các quan hệ thì ta có một mạng tính toán. Như vậy
nếu đặt :
M (O,F) = M(O),
F (O,F) =
F(O F
i
i 1
n
)
=

 
,
thì (M, F ) là một mạng tính toán; mạng nầy được gọi là mạng tính toán tương ứng của
mạng các đối tượng tính toán (O,F).
11
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 các đối tượng tính toán
(O,F) có tập biến được xem xét là M.
Thuật toán. tìm một lời giải cho bài toán A → B :
Nhập : Mạng các đối tượng tính toán (O,F), với tập biến là M,
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ệ giữa các đối tượng
// hay các đối tượng 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 5;
end
else
Solution_found ← false;
3. Repeat
Aold ← A;
Chọn ra một f ∈ F chưa xem xét (trong bước 3 lần nầy);
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
A ← f(A);
Solution ← Solution ∪ {f};
end;
if B ⊆ A then
Solution_found ← true;
Chọn ra một f ∈ F chưa xem xét (trong bước 3 lần nầy);
end; { while }
Until Solution_found or (A = Aold);
12
4. if not Solution_found then
begin
Chọn ra một O
i
∈ O (theo thứ tự ưu tiên đã nói ở trên) sao cho
O
i
(A) ≠ A;
if (chọn được O
i
) then
begin
A ← O
i
(A);
Solution ← Solution ∪ { O
i
};
if (B ⊆ A) then
begin

Solution_found ← true;
goto 5;
end;
else
goto 3;
end;
end;
5. 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;
III. Mô hình COKB
1. Mô hình một đối tượng tính toán
Ta gọi một đối tượng tính toán (C-object) là một đối tượng O có cấu trúc bao gồm
- Một danh sách các thuộc tính Attr(O) = {x
1
, x
2
, , x
n
} trong đó mỗi thuộc tính lấy giá
trị trong một miền xác định nhất định, và giữa các thuộc tính ta có các quan hệ thể
hiện qua các sự kiện, các luật suy diễn hay các công thức tính toán.
- Các hành vi liên quan đến sự suy diễn và tính toán trên các thuộc tính của đối tượng
hay trên các sự kiện như:
o Xác định bao đóng của một tập hợp thuộc tính A ⊂ Attr(O), tức là đối tượng O
có khả năng cho ta biết tập thuộc tính lớn nhất có thể được suy ra từ A trong
đối tượng O.
13
o Xác định tính giải được của bài toán suy diễn tính toán có dạng A → B với A

⊂ Attr(O) và B ⊂ Attr(O). Nói một cách khác, đối tượng có khả năng trả lời
câu hỏi rằng có thể suy ra được các thuộc tính trong B từ các thuộc tính trong
A không.
o Thực hiện các tính toán
o Thực hiện việc gợi ý bổ sung giả thiết cho bài toán
o Xem xét tính xác định của đối tượng, hay của một sự kiện
Một C-Object có thể được mô hình hóa bởi một bộ:
(Attrs, F, Facts, Rules)
trong đó: Attrs là tập hợp các thuộc tính của đối tượng, F là tập hợp các quan hệ suy diễn
tính toán, Facts là tập hợp các tính chất hay các sự kiện vốn có của đối tượng, và Rules là tập
hợp các luật suy diễn trên các sự kiện liên quan đến các thuộc tính cũng như liên quan đến bản
thân đối tượng.
2. Mô hình tri thức các đối tượng tính toán
Ta gọi một mô hình tri thức các đối tượng tính toán , viết tắt là một mô hình COKB
(Computational Objects Knowledge Base), là một hệ thống (C, H, R, Ops, Rules) gồm:
a. Một 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 và được phân cấp theo sự thiết lập của cấu
trúc đối tượng:
[1] Các biến thực.
[2] Các đối tượng cơ bản có cấu trúc rỗng hoặc có cấu trúc gồm một số thuộc tính thuộc kiểu
thực. Các đối tượng loại nầy làm nền cho các đối tượng cấp cao hơn.
[3] Các đối tượng tính toán cấp 1. Loại đối tượng nầy có một thuộc tính loại <real> và có thể
được thiết lập từ một danh sách nền các đối tượng cơ bản.
14
[4] Các đối tượng tính toán cấp 2. Loại đối tượng nầy có các thuộc tính loại <real> và các thuộc
tính thuộc loại đối tượng cấp 1, và đối tượng có thể được thiết lập trên một danh sách nền các
đối tượng cơ bản.
Cấu trúc bên trong của mỗi lớp đối tượng gồm:
- 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 đó). Các hành vi cơ bản nầy của đối tượng tính toán sẽ
được xem xét chi tiết hơn trong phần sau.
15
b. 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. 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.
d. Một tập hơp Ops các toán tử.

Các toán tử cho ta một số phép toán trên các biến thực cũng như trên các đối tượng,
chẳng hạn các phép toán số học và tính toán trên các đối tượng đoạn và góc tương tự như đối với
các biến thực.
e. Một tập hơp Rules gồm các luật được phân lớp.
Các luật thể hiện các tri thức mang tính phổ quát trên các khái niệm và các loại sự kiện
khác nhau. Mỗi luật cho ta một qui tắc suy luận để đi đến các sự kiện mới từ các sự kiện nào đó,
và về mặt cấu trúc nó gồm 2 thành phần chính là: phần giả thiết của luật và phần kết luận của
luật. Phần giả thiết và phần kết luận đều là các tập hợp sự kiện trên các đối tượng nhất định. Như
vậy, một luật r có thể được mô hình dưới dạng:
r : {sk
1
, sk
2
, , sk
n
} ⇒ { sk
1
, sk
2
, , sk
m
}
16
Để mô hình luật dẫn trên có hiệu lực trong cơ sở tri thức và ta có thể khảo sát các thuật
giải để giải quyết các bài toán, chúng ta cần xác định các dạng sự kiện khác nhau có thể có trong
các luật. Ở đây chúng ta xem xét 6 loại sự kiện khác nhau như sau: sự kiện thông tin về loại của
một đối tượng, sự kiện về tính xác định của một đối tượng, sự kiện về sự xác định của một thuộc
tính hay một đối tượng thông qua một biểu thức hằng, 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 đối tượng hay một thuộc tính khác, sự kiện về sự phụ thuộc
của một đối tượng hay của một thuộc tính theo những đối tượng hay các thuộc tính khác thông

qua một công thức tính toán, và 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.
IV. Ontology
Thuật ngữ “Ontology” đã xuất hiện từ rất sớm. Trong cuốn sách “Siêu hình”
(Metaphysics) của mình, Aristotle đã định nghĩa: “Ontology là một nhánh của triết học, liên quan
đến sự tồn tại và bản chất các sự vật trong thực tế”. Hay nói cách khác, đối tượng nghiên cứu
chủ yếu của Ontology xoay quanh việc phân loại các sự vật dựa trên các đặc điểm mang tính bản
chất của nó.
Trong Triết học, Ontology nghĩa là bản thể học, một môn khoa học chuyên nghiên cứu,
mô tả các loại thực thể trong thế giới thực và cách chúng liên kết với nhau
Ý nghĩa của Ontology trong Khoa học máy tính (Computer Science) là một đặc tả về hình
thức để biểu diễn các khái niệm và các mối quan hệ giữa các khái niệm.
Ontology cũng có một số điểm chung giữa Khoa học máy tính và Triết học như là cùng
biểu diễn những thực thể, ý tưởng và sự kiện cùng với thuộc tính và mối quan hệ của chúng theo
một hệ thống các loại (system of categories).
Ontology là xu hướng biểu diễn tri thức mới hình thành trong những năm gần đây trong
khoa học máy tính. Có nhiều mô hình biểu diễn Ontology được giới thiệu [5][6] nhưng nhìn
chung, một ontology thường cấu tạo bởi 3 thành phần:
17
O = (C, R, Z)
Trong đó:
- C là tập hợp các khái niệm
- R tập hợp các quan hệ
- Z là tập hợp các tiên đề
1. Khái niệm (Concept)
Khái niệm của ontology được định nghĩa là bộ ba:
C = (c, A
c
, V
c

)
- c là định danh duy nhất (unique identifier) cho những thực thể của khái niệm.
- A
c
là tập hợp các thuộc tính mô tả khái niệm C. A là một tập hữu hạn các thuộc tính
A
c
⊆ A
- V
c
là miền giá trị của thuộc tính. V
c
=
c
Aa


V
a
. V
a
là giá trị của thuộc tính a ở trong
tập A
c
.
Cặp (A
c
, V
c
) được gọi là không gian khả hữu (possible world) của khái niệm c, và A

c
gọi
là cấu trúc của khái niệm c. Cũng cần chú ý rằng trong ontology, có thể có hai hay nhiều khái
niệm có cùng cấu trúc [6].
Một thực thể của một khái niệm c được mô tả bởi các thuộc tính trong tập A
c
với giá trị
nằm trong tập V
c
. Do vậy, thực thể của một khái niệm c được định nghĩa là một cặp:
instance=(id
c
;v
c
)
với id
c
là định danh duy nhất của thực thể trong không gian (A
c
; V
c
) và v
c
là giá trị của
thực thể. Giá trị v
c
có thể được trình bày như một hàm v
c
: A
c

→ V
c
, như vậy v
c
(a) ∈ V
c
với mọi a
∈ A
c
.
18
Giá trị v
c
cũng được gọi là mô tả thực thể trong khái niệm c. Một khái niệm có thể được
tổng hợp như là một tập hợp các thực thể. Ta định nghĩa Ins(O,c) là tập hợp các thực thể thuộc về
khái niệm c trong ontology O và ta có I =
Cc


Ins(O; c).
2. Quan hệ (Relation)
Quan hệ trong ontology được định nghĩa là tập hợp các quan hệ hai ngôi giữa các khái
niệm trong C.
3. Tiên đề (Axiom)
Tiên đề chỉ những ràng buộc toàn vẹn hay mối liên hệ giữa các thực thể và các khái niệm.
Tiên đề là một tập hợp các ràng buộc và điều kiện để định nghĩa các khái niệm trong C. Nói cách
khác, một tiên đề là chỉ một sự kiện thực tế (real fact) hay luật suy diễn (reasoning rule) [6].
V. Ứng dụng mô hình mạng tính toán trong hình học tam giác
Biểu diễn tri thức được ứng dụng nhiều trong các lĩnh vực đời sống, kinh tế, xã hội. Các
ứng dụng của biểu diễn tri thức có thể được phân loại theo:

- Các hệ thống tin học:
o Hệ thống thông tin, MIS, GIS, …
o Hệ Cơ sở tri thức, Hệ chuyên gia, Hệ trợ giúp quyết định.
o Hệ quản ý kho tài liệu theo ngữ nghĩa.
o v.v…
- Các hệ thống theo lĩnh vực ứng dụng kinh tế:
o Giáo dục (E-learning, E-education, …)
 Phần mềm dạy học
 Phần mềm tra cứu kiến thức
 Phần mềm hỗ trợ giải bài tập (có suy luận dựa trên Cơ sở tri thức)
 Phần mềm kiểm tra đánh giá kiến thức
o Quản lý hành chánh (E-government)
19
 Quản lý công văn: tổ chức sắp xếp lưu trữ, xử lý hay giải quyết công
văn
 Hỗ trợ tìm kiếm các tài liệu văn bản dựa trên nội dung (semantic).
o Thương mại (E-commerce)
o Internet và các search engine  Semantic Web và Semantic Search.
o Kinh tế
o Tài nguyên, môi trường
o v.v…
Mô hình mạng tính toán được ứng dụng nhiều trong những phần mềm hỗ trợ giải bài tập.
Báo cáo xin trình bày một dạng ứng dụng của mô hình này trong giải quyết một số dạng toán
đơn giản của hình học tam giác.
1. Bài toán hình học tam giác
Bài toán hình học tam giác đơn giản sẽ có dạng A  B với A là tập hợp các giả thiết (bao
gồm giá trị của các biến và các công thức liên hệ đơn giản giữa các biến), B là tập hợp các biến
mục tiêu cần tính.
Ví dụ: Cho một hình tam giác có góc A=PI/6 và góc B=2A. Tính góc C.
Giả thiết: {A=PI/6; B=2A}

Mục tiêu: {C}
2. Mô hình biểu diễn tri thức
Tri thức để giải những bài toán hình học tam giác đơn giản ở đây là các công thức, đẳng
thức trong tam giác (A + B + C = PI; S = a.ha/2 …)
Tri thức được tổ chức lưu trữ theo dạng file văn bản có cấu trúc như sau:
20
TENTRITHUC
……(Chú thích, nếu có)…
VARIABLES
Begin
…(Danh sách biến, mỗi biến 1 dòng)….
End
……(Chú thích, nếu có)…
FORMULAS
Begin
….(Danh sách hàm, mỗi hàm 1 dòng)……
End
……(Chú thích, nếu có)…
Lưu ý: một số công thức có thể dùng phép biến đổi vế để tính một biến từ các biến còn lại
nhưng một số công thức không thể làm được điều đó.
21
Hình V.2.1: File văn bản tri thức tam giác
Ta gọi những công thức có thể biến đổi vế để tính một biến bất kỳ từ các biến còn lại là
công thức đối xứng (Symmetry). Ví dụ: A + B + C = PI ta có thể tính A khi có B, C; ta có thể tính
B khi có A, C; ta có thể tính C khi có A, B.
Ta gọi những công thức chỉ có thể tính được duy nhất một biến từ các biến còn lại, không
thể thực hiện các thao tác chuyển vế là công thức bất đối xứng (Asymmetry).
Ví dụ: a = (b
2
+ c

2
– 2bccos(A))
(1/2)
là một công thức bất đối xứng vì chỉ có thể tính a khi
có b, c, A. Không thể tính b, c hay góc A từ công thức này.
3. Suy diễn trên mạng tính toán
Quá trình suy diễn trên mạng tính toán hình học tam giác được thực hiện bằng kỹ thuật
lan truyền theo dạng suy diễn tiến.
Sử dụng cấu trúc cây nhị phân để xử lý các biểu thức trong chương trình
( Các phép biến đổi biểu thức được chuyển
thành các phép toán trên cây nhị phân.
Ngoài ra, kỹ thuật dò tìm bỏ các bước thừa nhằm đưa ra một lời giải tốt cũng được áp
dụng.
22
4. Giao diện và cách sử dụng
Chương trình máy tính được xây dựng trên môi trường .NET Visual Studio 2008. Ngôn
ngữ lập trình C#.
Hình V.4.1: Giao diện chương trình giải toán hình học tam giác
Hướng dẫn sử dụng:
- Nút Nạp Tri thức: cho phép chọn file chứa tri thức để thực thi
- DataGridView (Giả thiết + Mục tiêu): cho phép người dùng nhập bài toán. Lưu ý: Giả
thiết phải có các biến trong danh sách biến, phải có giá trị hoặc là 1 hàm đối xứng (biết 1
số biến thì chắc chắn suy ra được biến còn lại)
- Nút Giải: thực hiện tính toán để xuất kết quả ra richtextbox
- Nút Cập nhật lại: cho phép người dùng nhập lại 1 bài toán khác.
23
- Nút Giúp đỡ: chỉ dẫn và hướng dẫn
5. Kết luận và hướng phát triển
Chương trình máy tính đã giải quyết thành công một số dạng toán hình học tam giác đơn
giản đem lại những kết quả tích cực như:

- Quản lý và lưu trữ được một số dạng tri thức trên máy tính
- Xây dựng được bộ suy diễn và cho ra các lời giải theo như ngôn ngữ con người.
Tuy nhiên, chương trình vẫn bộc lộ nhiều hạn chế:
- Chưa hỗ trợ dạng tri thức bất đẳng thức một thành phần quan trọng trong tri thức hình
học tam giác.
- Dữ liệu đặc tả đầu vào không theo dạng ngôn ngữ tự nhiên ít nhiều gây khó khăn cho
người sử dụng.
- Chỉ hỗ trợ được một số dạng toán đơn giản. Nếu đề bài phức tạp hơn thì có thể không
giải được hoặc giải sai.
- Không hỗ trợ tính toán hình thức như con người. Những giá trị gần đúng của kết quả
đem lại câu trả lời không chính xác.
- Những bài toán hình học thường phức tạp trên nhiều loại đa giác có mối liên hệ với
nhau. Chương trình giải bài toán tam giác đơn giản hoàn toàn không thể đáp ứng
được nhu cầu thực tế đó.
Trong tương lai, việc khắc phục những hạn chế ở trên sẽ đem lại những cải tiến và hiệu
quả không nhỏ. Tích hợp các ứng dụng tính toán hình thức như Maple, Matlab vào chương trình
sẽ tiết kiệm được nhiều thời gian xây dựng các cấu trúc dữ liệu phức tạp và cho kết quả chính
xác. Mô hình các đối tượng tính toán, mô hình COKB và các phát triển của nó chính là những
giải pháp nhằm giải quyết những bài toán hình học phức tạp hơn. Ngoài ra, việc triển khai áp
dụng mô hình mạng tính toán và các mô hình tri thức trong những lĩnh vực tri thức khác hứa hẹn
sẽ mở ra những hướng phát triển mới đầy tiềm năng.
Tài liệu tham khảo:
24
1. GS. TSKH. Hoàng Kiếm, PGS. TS. Đỗ Phúc, PGS. TS. Đỗ Văn Nhơn – Giáo trình Các
hệ cơ sở tri thức – Nhà xuất bản Đại học Quốc Gia Thành phố Hồ Chí Minh, 2008
2. PGS. TS. Đỗ Văn Nhơn – Xây dựng hệ tính toán thông minh xây dựng và phát triển các
mô hình biểu diễn tri thức cho các hệ giải toán tự động – Luận án tiến sĩ toán học, Thành
phố Hồ Chí Minh, 2001.
3. Đỗ Văn Nhơn – Giáo trình toán rời rạc – Nhà xuất bản Đại học Quốc Gia Thành phố Hồ
Chí Minh

4. GS. TSKH. Hoàng Kiếm, ThS. Đinh Nguyễn Anh Dũng – Giáo trình Nhập môn Trí tuệ
nhân tạo – Nhà xuất bản Đại học Quốc Gia Thành phố Hồ Chí Minh, 2008.
5. Trong Hai Duong; Ngoc Thanh Nguyen; Geun Sik Jo – A Hybrid Method for Integrating
Multiple Ontologies – Cybernetics and Systems, 40: 2, 123-145 (2009).
6. Jun Zhai, Lixin Shen, Zhou Zhou, Yan Liang – Fuzzy Ontology Model for Knowledge
Management – International Conference on Intelligent Systems and Knowledge
Engineering (ISKE 2007) October 15-16,2007, Chengdu, China.
25

×