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

BIỂU DIỄN TRI THỨC - ỨNG DỤNG MẠNG SUY DIỄN TÍNH TOÁN TRONG BÀI TOÁN GIẢI TAM GIÁ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 (570.87 KB, 26 trang )

Đại Học Quốc Gia TP.HCM
Trường Đại Học Công Nghệ Thông Tin


TIỂU LUẬN MÔN

BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG
Đề tài:

BIỂU DIỄN TRI THỨC - ỨNG DỤNG MẠNG SUY
DIỄN TÍNH TỐN TRONG BÀI TOÁN GIẢI TAM
GIÁC

GVHD:

PGS.TS. ĐỖ VĂN NHƠN

Học viên:

DAI NGUYÊN THIỆN

Lớp: Cao học khóa 6

Mã số: CH1101043


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

TP.HCM - 2013
............................................................................................................................................................................
............................................................................................................................................................................


............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................
............................................................................................................................................................................

Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 2


............................................................................................................................................................................
............................................................................................................................................................................


MỤC LỤC

Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 3


I. GIỚI THIỆU
Ngày nay, với sự phát triển mạnh mẻ của chuyên ngành trí tuệ nhân tạo, con người
đã đạt được những thành tựu to lớn trong công nghệ tri thức, con người từng bước thực
hiện ước mơ biến máy tính thành những hệ thống thơng minh, có khả năng suy diễn như
con người. Chẳng hạn như các hệ chuyên gia có khả năng tích lũy tri thức của nhiều
chun gia và giải quyết được nhiều vấn đề mà để giải quyết được địi hỏi phải có sự
un bác của các chuyên gia, hay các hệ cơ sở tri thức cho phép mơ hình hố các tri thức
của chun gia, dùng tri thức này để giải quyết vân đề phức tạp thuộc cùng lĩnh vực.

Hệ thống giao tiếp (User Interface)
Người sử dụng
(User)

Cơ sở tri thức
(Knowledge Base)
Máy suy diễn
(Inference Engine)

.

Trong các hệ thống như trên, thành phần quan trọng nhất là Cơ sở tri thức và Máy
suy diễn. Và một trong những cơng việc khó khăn, quan trọng là làm sau ‘chuyển’ các tri

thức, những cách suy diễn, lập luận của con người vào máy tính để giúp nó có tri thức và
biết lập luận, suy diễn như con người. Nói cách khác là xây dựng mơ hình biểu diễn tri
thức để tổ chức lưu trữ và xử lý tri thức trên máy, sao cho máy có thể suy luận giải các
vấn đề, các bài tốn Và đó chính là nhiệm vụ của môn học biểu diễn tri thức: xây dựng
các mơ hình để biểu diễn được các tri thức và hoạt động suy diễn thể hiện được như con
người.
Trong chuyên đề này, Thầy đã cung cấp các kiến thức và trình bày nhiều mơ hình
biểu diễn tri thức khác nhau. Trong phạm vi tiểu luận này, tơi xin tóm tắt lại một số mơ
hình và xây dựng một ứng dụng hệ giải tốn tam giác bằng cách dùng mơ hình mạng suy
diễn tính tốn và dùng MAPLE để thể hiện.

Biểu diễn tri thức - Ứng dụng mạng suy diễn tính toán trong giải tam giác

Page 4


Tôi chân thành cảm ơn Thầy PGS.TS. Đỗ Văn Nhơn đã truyền đạt những kiến
thức quý báu, tinh thần say mê nghiên cứu khoa học, cũng như đã cung cấp những kiến
thức mở rộng phục vụ cho quá trình nghiên cứu về sau.

II. NỘI DUNG
1. Khái niệm và vấn đề biểu diễn tri thức
a. Tri thức (knowledge)
Sự “hiểu biết” của người trong một phạm vi, lĩnh vực nào đó; được xem xét theo
các mục tiêu hay các vấn đề nhất định.
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)
Các toán tử (operators), phép toán, các biểu thức hay công thức
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)

Ví dụ:
Đối với tam giác, ta có các khái niệm như các cạnh, các góc, các đường cao,
đường phân giác, trung tuyến, vòng tròn ngoại tiếp, nội tiếp, chu vi, diện tích, …
Các quan hệ giữa các yếu tố này như cạnh đối, góc đối, góc kề, vng góc, lớn
hơn, nhỏ hơn, bằng nhau,…
Các toán tử như +, -, *, /, … vì các yếu tố của tam giác có giá trị là các số thực
dương
Các hàm như hàm tính tọa độ trung điểm của một đoạn thẳng đã cho, tính khoảng
cách từ một điểm đến một đường thẳng, ….
Các luật thể hiên qua các hệ thức như:
• tổng các góc trong một tam giác bằng Pi: A + B + C = π,
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 5



• định lý sin: ,
• định lý cosin:
o
o
o ,
• Nữa chu vi:
• cơng thức tính diện tích:
o
o
o
o
o
• Đường cao:
o
o
o
• …
b. Các mơ hình biểu diễn tri thức cơ bản
Ngày nay, việc xây dựng mơ hình biểu diễn tri thức 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 tốn học: Đại số tuyến tính, Tốn rời rạc, Đồ thị,
Giải tích, Hình học giải tích, Xác xuất thống kê, LOGIC, …
• Các mơ hình biểu diễn tri thức cơ bản:
+ logic vị từ.
+ mạng ngự nghĩa.
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 6



+ Hệ luật dẫn.
+ frames, classes.
+ scripts.
• Các ngơn ngữ đặc tả.
• Các ontology.

i. logic vị từ
Mơ hình: (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.
Nên dùng PROLOG, công cụ xử lý biểu diễn theo vị từ.

Predicates
us(integer, integer)
uscln(integer, integer, integer)
clauses
uscln(A,0,A).
uscln(0,A,A).
uscln(A,B,D) :- A > B, A1 = A-B, uscln(A1,B,D).
uscln(A,B,D) :- A <= B, B1 = B-A, uscln(A,B1,D).
goal
uscln(24,36, What)
Run  What = 12


ii. Mạng ngữ nghĩa
+ Mô hình tri thức dạng đồ thị: (Nodes, Arcs)
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 7


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, …

S



cánh

Chim

bay




Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 8



Để giải bài toán này bằng mạng ngữ nghĩa, ta phải sử dụng khoảng 200 đỉnh để
chứa công thức và khoảng 22 đỉnh để chứa các yếu tố của tam giác. Mạng ngữ nghĩa cho
bài tốn này có cấu trúc như sau:
Đỉnh của đồ thị bao gồm 2 loại:
-

Đỉnh chứa cơng thức (ký hiệu bằng hình chữ nhật).

-

Đỉnh chứa các yếu tố tam giác (ký hiệu bằng hình trịn).

Cung: chỉ nối từ đỉnh hình trịn đến đỉnh hình chữ nhật cho biết yếu tố tam giác
xuất hiện trong công thức nào(khơng có trường hợp cung nối giữa hai đỉnh hình trịn hay
nối giữa 2 đỉnh hình chữ nhật).
* Lưu ý : trong một công thức liên hệ giữa n yếu tố của tam giác, ta giả định rằng
nếu đã biết giá trị của n-1 yếu tố thì sẽ tính được giá trị của yếu tố còn lại. Chẳng hạn như
trong cơng thức tổng 3 góc của tam giác bằng 1800 thì khi biết được hai góc, ta sẽ
tính được góc cịn lại.
Cơ chế suy diễn thực hiện theo thuật tốn "loang" đơn giản sau :
o B1 : Kích hoạt những đỉnh hình trịn đã cho ban đầu (những yếu tố đã có
giá trị)
o B2 : Lặp lại bước sau cho đến khi kích hoạt được tất cả những đỉnh ứng với
những yếu tố cần tính hoặc khơng thể kích hoạt được bất kỳ đỉnh nào nữa.
Nếu một đỉnh hình chữ nhật có cung nối với n đỉnh hình trịn mà n-1 đỉnh hình
trịn đãđược kích hoạt thì kích hoạt đỉnh hình trịn cịn lại (và tính giá trị đỉnh cịn lại này
thơng qua cơng thức ở đỉnh hình chữ nhật).


iii.Hệ luật dẫn
a. Khái niệm:
Luật là câu trúc tri thức dùng để liên kết thông tin đã biết với các thông tin khác
giúp đưa ra các suy luận, kết luận từ những thông tin đã biết.
Trong hệ thống dựa trên các luật, người ta thu thập các tri thức lĩnh vực trong một
tập và lưu chúng trong cơ sở tri thức của hệ thống. Hệ thống dùng các luật này cùng với
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 9


các thơng tin trong bộ nhớ để giải bài tốn. Việc xử lý các luật trong hệ thống dựa trên
các luật được quản lý bằng một module gọi là bộ suy diễn.
+ luật dẫn có dạng “if … then …”
Mơ hình Hệ luật dẫn: (Facts, Rules)

Facts là ….
Rules là …
Ví dụ: một phần kiến thức về một tam giác trong hình học
Các yếu tố của tam giác, mỗi sự kiện là một phát biểu nói lên tính xác định của
yếu tố  ký hiệu cho các sự kiện: a, b, c, A, B, C, S, p, R, ha, hb, hc, …
Các luật nói lên liên hệ “dẫn xuất” giữa các sự kiện:
if A, B then C;
if B, C then A;
if A, C then B;
if a, A then R;
v.v …
b. 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 …”.

Phần tri thức trên có thể biểu diễn theo mơ hình hệ luật dẫn (Facts, Rules) gồm:
Facts = {a, b, c, A, B, C, S, p, R, ha, hb, hc, …}
Rules = {
r1: {A, B} → {C};
r2: {A, C} → {B};
v.v….
}
+ Tổ chức lưu trữ: được xác lập cụ thể dựa trên các dạng facts. Thường là ta sử
dụng các cấu dữ liệu đã biết như struct, frames, classes, …
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 10


Lưu trên đĩa: sử dụng 2 tập tin dạng “text có cấu trúc”: Facts.txt và Rules.txt
Cấu trúc file Facts.txt:
Begin
a : cạnh a của tam giác.
b:…
v.v…
End
Cấu trúc file Rules.txt:
Begin
{A, B} => {C} : luật về góc tam giác.
v.v…
End

c. Vấn đề suy diễn (suy luận) trên hệ luật dẫn:
Cho trước hệ luật dẫn K = (Facts, Rules). Giả sử có một tập sự kiện GT đã xác
định, ta xét một tập sự kiện mục tiêu KL. Hỏi có thể suy ra KL từ GT dựa trên tri thức K

hay không ?
Ký hiệu bài toán: GT  KL

Thuật giải suy diễn tiến:
B1:

Solution = [];
Known = GT;

B2: while (KL chưa nằm trong Known) do
2.1: Tìm luật r để áp dụng trên Known nhằm sinh ra sự kiện mới:
gt(r) ⊆ Known, và kl(r) không nằm trong Known.
2.2: if (khơng có r) then
Dừng: khơng tìm được lời giải
2.3: Thêm r vào Solution; thêm kl(r) vào Known;
End while
B3: Tìm được lời giải sử dụng danh sách luật Solution
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 11


iv.Frame
• Frame là một cấu trúc dữ liệu chứa đựng tất cả những tri thức liên quan đến
một đối tượng cụ thể nào đó.


Frames có liên hệ chặt chẽ đến khái niệm hướng đối tượng nên nó thường
được sử dụng trong các ngơn ngữ lập trình hướng đối tượng phục vụ cho trí
tuệ nhân tạo và các hệ chuyên gia.

Frame : XE HƠI
 Thuộc lớp: phương tiện vận chuyển.
 Tên nhà sản xuất: Audi
 Quốc gia của nhà sản xuất: Đức
 Model: 5000 Turbo
 Loại xe: Sedan
 Trọng lượng: 3300lb
 Số lượng cửa: 4 (default)
 Hộp số: 3 số tự động
 Số lượng bánh: 4 (default)
 Máy (tham chiếu frame Máy)
 Kiểu: In-line, overhead cam
 Số xy-lanh : 5
 Khả năng tăng tốc:
 0-60: 10.4 giây
 ¼ dặm: 17.1 giây, 85 mph

Frame MÁY
Bán kính xy-lanh : 3.19 inch
Tỷ lệ nén : 3.4 inche
Hệ thống xăng : TurboCharger
Mã lực : 140 hp
Torque : 160ft/LB
Frame : CIRCLE (hình trịn)
r : radius;
s : area;
p : perimeter;
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 12



2. MẠNG SUY DIỄN - TÍNH TỐN
a. Đặt vấn đề

Trong cấu trúc của một hệ giải toán dựa trên tri thức, 2 thành phần trung tâm là cơ
sở tri thức và bộ suy diễn dựa trên tri thức.
Nhiệm vụ: cần xây dựng và phát triển các mơ hình biểu diễn tri thức giúp thiết kế
và cài đặt phần tri thức cũng như phần suy diễn của các hệ giải toán dựa trên tri thức
Trong nhiều chủ đề giải toán thường gặp những vấn đề đặt ra dưới dạng như sau:
• Cần phải thực hiện những tính tố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.
b. Một số ví dụ

Ví dụ1:
Giả sử chúng ta đang quan tâm đến một số yếu tố trong một tam giác, chẳng hạn :
3 cạnh a, b, c; 3 góc tương ứng với 3 cạnh : α, β, γ; 3 đường cao tương ứng : ha,
hb, hc; diện tích S của tam giác; nửa chu vi p của tam giác; bán kính đường tròn
nội tiếp r của tam giác ...
Giữa 12 yếu tố trên có các cơng thức thể hiện những mối quan hệ giúp ta có thể
giải quyết được một số vấn đề tính tốn đặt ra như: Tính một yếu tố từ một số yếu
tố được cho trước. Chẳng hạn, tính S khi biết a, b và p.
Trong tam giác, ta có các quan hệ giữa các yếu tố thể hiện dưới dạng cơng thức
như sau:
• Liên hệ giữa 3 góc : α + β + γ = π
• Định lý cosin :

• a2 = b2 + c2 - 2.b.c.cosα
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 13


• b2 = a2 + c2 - 2.a.c.cosβ
• c2 = a2 + b2 - 2.a.b.cosγ



a
b
c
=
=
sinα sinβ sin γ Định lý Sin:

• Nữa chu vi:
• cơng thức tính diện tích:
o
o
o
o
o
• Đường cao:
o
o
o
• …

Ví dụ 2:
Một vật thể có khối lượng m chuyển động thẳng với gia tốc không thay đổi là a
trong một khoảng thời gian tính từ thời điểm t1 đến thời điểm t2. Vận tốc ban đầu
của vật thể là v1, vận tốc ở thời điểm cuối là v2, và vận tốc trung bình là v.
Khoảng cách giữa điểm đầu và điểm cuối là ∆s. Lực tác động của chuyển động là
f. Độ biến thiên vận tốc giữa 2 thời điểm là ∆v, và độ biến thiên thời gian là ∆t.
Ngồi ra cịn có một số yếu tố khác nữa của chuyển động vật thể có thể được quan
tâm.

Biểu diễn tri thức - Ứng dụng mạng suy diễn tính toán trong giải tam giác

Page 14


Để giải những bài toán về chuyển động nầy chúng ta phải sử dụng một số công
thức liên hệ giữa các yếu tố của chuyển động, chẳng hạn như:
f = m * a;
∆v = a*∆t;
∆s = v*∆t;
2*v = v1 + v2;
∆v = v2 - v1;
∆t = t2 - t1;
Ví dụ 3:
Trong hóa học chúng ta thường phải sử dụng các phản ứng hóa học để điều chế
các chất nầy từ các chất khác. Loại vấn đề nầy cũng cho ta một dạng tương tự như
trong 2 ví dụ trên : Cho trước một số chất hóa học, hãy tìm cách điều chế ra một
hay một số chất nào đó.
c. Mơ hình mạng suy diễn
Nhận thấy có nhiều vấn đề trong các lĩnh vực khác nhau đặt ra dưới dạng một
“mạng” các yếu tố, trong đó giữa các yếu tố có những mối liên hệ (hay quan hệ) cho phép

ta có thể suy ra được một số yếu tố nầy từ một số yếu tố khác.
Mơ hình mạng suy diễn - tính tốn là một sự khái qt dạng tri thức trên, và có thể
dùng biểu diễn tri thức và thiết kế các chương trình giải tốn tự động
Định nghĩa
Quan hệ suy diễn:
Cho M = x1,x2,...,xm là một tập hợp các biến có thể lấy giá trị trong các miền xác
định D1, D2, ...,Dm. Mỗi quan hệ suy diễn R trên M được xác định bởi một (hay một số)
ánh xạ có dạng:


fR,u,v : Du  Dv,



trong đó u,v là các bộ biến được phân chia từ bộ biến

Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 15


x = <x1,x2,...,xm>; Du và Dv là tích của các miền xác định tương ứng của các biến
trong u và trong v.
Quan hệ suy diễn R(x) có thể được biểu diễn bởi một (hay một số) ánh xạ f R,u,v và
ta viết vắn tắt là:
f : u ⇒ v.
Cách ký hiệu trên bao hàm ý nghĩa như một luật suy diễn: ta có thể xác định hay
suy ra được các biến thuộc v khi biết các biến thuộc u.
Quan hệ là đối xứng và có hạng k khi quan hệ đó giúp ta có thể tính được k biến
bất kỳ từ m-k biến kia (ở đây x là bộ gồm m biến < x1,x2,...,xm >).

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 = π.
Quan hệ f giữa 3 góc trong một tam giác là một quan hệ đối xứng có hạng 1. Quan
hệ nầy bao hàm 3 luật suy diễn:
A, B ⇒ C
A, C ⇒ B
C, B ⇒ A
Quan hệ f giữa nửa chu vi p với các độ dài của 3 cạnh a, b, c:

2*p = a + b + c

cho ta một quan hệ đối xứng hạng 1 trên các biến p, a,b, c.
Quan hệ f giữ a n biến x1, x2, ..., xn được cho dưới dạng một hệ phương trình
tuyến tính có nghiệm. Trong trường hợp nầy f là một quan hệ đối xứng có hạng k bằng
hạng của ma trận hệ số của hệ phương trình
Định nghĩa
Mạng suy diễn, viết tắt là MSD, là một cấu trúc (M,F) gồm 2 tập hợp:


M = {x1,x2,...,xn}, là tập hợp các thuộc tính hay các biến lấy giá trị trong

các miền xác định nào đó.
• F = {f1,f2,...,fm}, là tập hợp các luật suy diễn có dạng:
f : u(f)  v(f)
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 16


trong đó u(f) và v(f) là các tập hợp con khác rỗng của M sao cho u(f) ∩ v(f) = .∅

˜

Ký hiệu:

M(f) = u(f) ∪ v(f).

d. Các vấn đề cơ bản
Cho một mạng suy diễn (M,F) với M là tập các thuộc tính (hay các biến) và F là
tập các quan hệ suy diễn hay các luật suy diễn.
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), và B là một tập biến bất kỳ trong M.

Tính giải được:
Có thể xác định được (hay suy ra) 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?

Tìm lời giải:
Nếu có thể suy ra được B từ A thì q trình suy diễn như thế nào? Trong trường
hợp có nhiều cách suy diễn khác nhau thì cách suy diễn nào là tốt nhất?

Bổ sung giả thiết:
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.
Ký hiệu bài tốn xác định B từ A là:
AB

Định nghĩa:
Một luật suy diễn u  v được được gọi là áp dụng được trên A khi u ⊂ A.
Một quan hệ suy diễn được gọi là áp dụng được trên A khi nó xác định một luật

suy diễn áp dụng được trên A.
Dãy D = {f1, f2, ..., fk} các quan hệ suy diễn (hay luật suy diễn) của mạng suy
diễn (M,F) được nói là áp dụng được trên tập A khi và chỉ khi ta có thể lần lượt áp dụng
được các quan hệ f1, f2, ..., fk xuất phát từ giả thiết A.
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 17


Ký hiệu:


Với D = { f1, f2, ..., fk}, đặt:



A0 = A, A1 = A0 ∪ M(f1), . . . , Ak = Ak-1 ∪ M(fk),



và ký hiệu Ak là D(A).



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.

Ví dụ:
Trong mạng suy diễn cho một hình chữ nhật, với A = { b1, b2 } và D = { f1: S =
b1 * b2; f2: p = 2*(b1+b2)} ta có D(A) = { b1, b2, S, p}.


Định nghĩa lời giải:


D = f1, f2, ..., fk là một lời giải của bài toán A B khi lần lượt áp dụng các

quan hệ fi (i=1,...,k) xuất phát từ giả thiết A thì sẽ suy ra được các biến thuộc B. Nói cách
khác D là một lời giải của bài toán khi D(A) B.


Bài tốn A B là giải được khi nó có một lời giải.



Lời giải f1, f2, ..., fk được gọi là lời giải tốt nếu không thể bỏ bớt một số

bước tính tốn trong q trình giải, tức là khơng thể bỏ bớt một số quan hệ trong lời giải.


Lời giải ngắn nhất: có số bước suy diễn thấp nhất.
e. Tìm lời giải

Tính giải được
Định nghĩa “bao đóng”:


Cho mạng suy diễ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ạng (M,F).



Ký hiệu bao đóng của A là



Closure(A).

Định lý:

Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 18




Trên một mạng suy diễn (M,F), bài toán A B là giải được khi và chỉ khi B

⊆ Closure(A).
Mệnh đề:


Trên một mạng suy diễn (M,F), giả sử A, B là hai tập con của M. Ta có các

điều sau đây là tương đương:


(1) B ⊆ Closure(A).




(2) Có một dãy quan hệ D = {f1, f2, ..., fk} ⊆ F thỏa
các điều kiện :
(a) D áp dụng được trên A.
(b) D(A) ⊇ B.

Thuật tốn tìm bao đóng của A trên mạng (M,F).
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. Closure(A)  B;
Mệnh đề:


Dãy quan hệ suy diễn 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à
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác


Page 19


D(A) ⊇ B.
⇒ Để 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 xác định (được biết); 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.
Thuật tốn tìm một lời giải của bài tốn A  B .
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 bước 4;
end
else
Solution_found  false;
. 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 }
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 20


Until Solution_found or (A = Aold);
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ận xét:
khi cần trình bày q trình giải (hay bài giải) ta có thể xuất phát từ lời giải tìm
được dưới dạng một dãy các quan hệ để xây dựng bài giải.
Lời giải (nếu có) tìm được trong thuật tốn trên chưa chắc là một lời giải tốt. Ta có
thể bổ sung thêm cho thuật tốn ở trên một thuật tốn để tìm một lời giải tốt từ một lời
giải đã biết nhưng chưa chắc là tốt.
Thuật tốn tìm một lời giải tốt của bài tốn A B .


Giả sử {f1, f2, ..., fm} là một lời giải của bài toán A  B. Tìm một lời giải


tốt cho bài tốn.
1. D  {f1, f2, ..., fm};
2. for i=m downto 1 do
if D \ {fi} là một lời giải then
D  D \ {fi};
3. D là một lời giải tốt.
Lưu ý: ta có thể tìm một lời giải tốt từ một lời giải biết trước bằng cách lần lượt
xem xét các quan hệ trong tập lời giải đã biết và chọn ra các quan hệ để đưa vào một lời
giải mới sao cho trong lời giải mới nầy không thể bớt ra bất kỳ một quan hệ nào.
Ví dụ: Cho tam giác ABC có cạnh a và 2 góc kề là β, γ được cho trước. Hãy xác
định (hay suy ra) S của tam giác.
Để tìm ra lời giải cho bài tốn trước hết ta xét mạng suy diễn của tam giác. Mạng
suy diễn nầy gồm :


Tập biến M = {a, b, c, , , , ha, hb, hc, S, p, R, r, ...},

Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 21




trong đó a,b,c là 3 cạnh; α, β, γ là 3 góc tương ứng với 3 cạnh; ha, hb, hc là

3 đường cao; S là diện tích tam giác; p là nửa chu vi; R là bán kính đường trịn ngoại tiếp
tam giác; r là bán kính đường trịn nội tiếp tam giác, v.v...



Các quan hệ suy diễn thể hiện bởi các cơng thức sau đây:

a
b
=
sinα sinβ • f1 : α + β + γ = π
c
b
=
sinγ sinβ • f2 :
a
c
=
sinα sinγ • f3 :



f4 :



f5 : p = (a+b+c) /2



f6 :

S = a.ha / 2




f7 :

S = b.hb / 2



f8 :

S = c.hc / 2



f9 :

S = a.b.sin / 2



f10 : S = b.c.sin / 2
p(p − a)(p − b)(p − c)



f11 : S = c.a.sin / 2

f12 : S =






v.v…

Mục tiêu của bài tốn là suy ra 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 xác định là B = {S}.


Áp dụng thuật tốn tìm lời giải ta có một lời giải cho bài tốn là dãy quan

hệ suy diễn sau:


{f1, f2, f3, f5, f9}.

Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 22




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, β, γ} → {a, β, γ, α} → {a, β, γ, α, b}
→ {a, β, γ, α, b, c} → {a, β, γ, α, b, c, p}

→ {a, β, γ, α, b, c, p, S}

Có thể nhận thấy rằng lời giải trên không phải là lời giải tốt vì có bước suy diễn
thừa, chẳng hạn là f5. Thuật tốn “tìm lời giải tốt” sẽ lọc ra từ lời giải trên một lời giải
tốt là {f1, f2, f9}:
{a, β, γ} → {a, β, γ, α} → {a, β, γ, α, b} → {a, β, γ, α, b, S}.
Theo lời giải nầy, ta có q trình suy diễn như sau :
bước 1:

Xác định α

(áp dụng f1).

bước 2:

Xác định b

(áp dụng f2).

bước 3:

Xác định S

(áp dụng f9).

f. Phân tích quá trình giải
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
của bài toán A  B trên mạng (M,F).
Đố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 tố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
tốn các biến thật sự cần thiết cho quá trình giải theo lời giải.
Định lý sau đây cho ta một sự phân tích tập các biến được xác định theo lời giải và
trên cơ sở đó có thể xây dựng q trình suy diễn để giải quyết bài toán.
Định lý: Cho {f1, f2, ..., fm} là một lời giải tốt cho bài toán A → B trên một mạng
tính tốn (M,F). Đặt :
A0 = A, Ai = {f1, f2, ..., fi}(A), với mọi i=1,...,m.
Khi đó có một dãy {B0, B1, ..., Bm-1, Bm}, thỏa các điều kiện sau đây:
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 23


(1) Bm = B.
(2) Bi ⊆ Ai , với mọi i=0,1,...,m.
(3) Với mọi i=1,...,m, {fi} là lời giải của Bi-1 → Bi nhưng không là lời giải
của G → Bi , trong đó G là một tập con thật sự tùy ý của Bi-1

3. Cài đặt bài toán giải tam giác dựa trên mạng suy diễn (bằng
ngôn ngữ MAPLE)
Khai báo các Mạng suy diễn gồm các thành phần sau
Facts := {A, B, C, R, S, a, b, c, ha, hb, hc, ma, mb, mc, p, pa, pb, pc, r, ra, rb, rc};
Rules := {[{A, B}, {C}], [{A, C}, {B}], [{B, C}, {A}], [{A, B, a}, {b}], [{A, B, b},
{a}], [{A, C, c}, {a}], [{A, a, b}, {B}], [{A, b, c}, {a}], [{B, a, b}, {A}], [{B,
a, c}, {b}], [{C, a, b}, {c}]; …};
Formulas := {A = Pi-B-C, A = arcsin(a*sin(B)/b), B = Pi-A-C, B =
arcsin(b*sin(A)/a), C = Pi-A-B, a = b*sin(A)/sin(B), a = c*sin(A)/sin(C), a
= sqrt(b^2+c^2-2*b*c*cos(A)), b = a*sin(B)/sin(A), b = sqrt(a^2+c^22*a*c*cos(B)), c = sqrt(b^2+a^2-2*b*a*cos(C)); …}
Relations := { a+b > c; a+c > b; b+c > a; a > b ⇔ A > B; a = b ⇔ A = B ;
…};

Xây dựng thủ tục Suydientien(GT,KL) để tìm lời giải cho bài toán

Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 24


Xây dựng thủ tục tìm lời giải tối ưu Loigiaitoiuu(loigiai)
Thủ tục xuất kết quả (minh họa các bước giải của bài toán) XuatKQ(loigiai)

III.KẾT LUẬN
Do hạn chế về thời gian đầu tư cho mơn học nên trong tiểu luận chỉ trình bày lại
tóm tắt một số vấn đề về biểu diễn tri thức và những cơ sở của mạng suy diễn để xây
dựng ứng dụng của bài toán giải tam giác bằng MAPLE. Ứng dụng chỉ có tính chất minh
họa cho bài tốn biểu diễn tri thức (ở đây là hình học phẳng – tam giác). Nhưng qua đó,
cũng giúp cảm nhận được những khó khăn, các bước cần thực hiện để xây dựng một ứng
dụng công nghệ tri thức
Biểu diễn tri thức - Ứng dụng mạng suy diễn tính tốn trong giải tam giác

Page 25


×