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

Cấu Trúc Của Hệ Giải Toán Dựa Trê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 (343.31 KB, 30 trang )

BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
MỤC LỤC
Mô phỏng giải bài toán Tam giác 28
HVTH: Trần Ngọc Trí – CH1301111 Trang 1
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
PHẦN MỞ ĐẦU
Nghiên cứu các phương pháp biểu diễn và xử lý tri thức là cốt lõi cho việc xây
dựng những chương trình “thông minh”, đặc biệt là các hệ chuyên gia và các hệ giải
toán dựa trên tri thức.
Trong nội dung bài Báo cáo này, em tập trung tìm hiểu mô hình biểu diễn tri thức
Mạng Suy diễn - Tính toán. Các thuật giải cho các vấn đề cơ bản trên mô hình được
thiết kế và áp dụng trong một số chương trình cụ thể.
Qua đây em xin được bày tỏ lòng biết ơn đến thầy TS. Đỗ Văn Nhơn. Thầy là
người đã truyền thụ cho chúng em rất nhiều kiến thức quý báu trong quá trình học tập
tại trường. Thầy đã rất nhiệt tình hướng dẫn và giúp đỡ em trong suốt quá trình thực
hiện bài thuyết trình này.
Với lượng thời gian có giới hạn và năng lực còn hạn chế nên không tránh khỏi
những sai sót, em mong nhận được sự góp ý hơn nữa của Thầy và các bạn
HVTH: Trần Ngọc Trí – CH1301111 Trang 2
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
I. Dẫn Nhập
1.1 Sự cần thiết của việc nghiên cứu xây dựng và phát triển các mô hình biểu diễn
tri thức cho các chương trình giải toán thông minh.
1.2 Các ví dụ dẫn tới sự đề xuất mô hình Mạng Suy diễn - Tính toán và các vấn đề
cơ bản trên mô hình.
1.1 VẤN ĐỀ BIỂU DIỄN TRI THỨC
• 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.
• Đã có nhiều phương pháp biểu diễn tri thức và suy diễn đã được nghiên cứu và
đề xuất. Tuy nhiên mỗi phương pháp đều chỉ thể hiện được một khía cạnh nào
đó của tri thức và có những nhược điểm nhất định.


⇒ 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.
1.2 CÁC VÍ DỤ DẪN TỚI MÔ HÌNH
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 toán hay suy diễn ra những yếu tố cần thiết nào
đó từ một số yếu tố đã được biết trước.
• Để giải quyết vấn đề người ta phải vận dụng một số hiểu biết (tri thức) nào đó
về những liên hệ giữa các yếu tố đang được xem xét. Những liên hệ cho phép
ta có thể suy ra được một số yếu tố từ giả thiết đã biết một số yếu tố khác.
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,
HVTH: Trần Ngọc Trí – CH1301111 Trang 3
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
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 toá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 chúng ta có thể kể ra một số quan hệ dưới dạng công thức sau
đây:
• Liên hệ giữa 3 góc : α + β + γ = π
• Địnhlýcosin:
a
2
=b
2
+c
2

-2.b.c.cosα
b
2
=a
2
+c
2
-2.a.c.cosβ
c
2
= a
2
+ b
2
- 2.a.b.cosγ
• Định lý Sin:
• Liên hệ giữa nửa chu vi và 3 cạnh :
2.p = a + b + c
• Một số công thức tính diện tích:
S = a.h
a
/2;
S = b.h
b
/2;
S=c.h
c
/2;
S = p.r
• Công thức tính diện tích theo 3 cạnh (công thức Heron):

Ví dụ 2.
HVTH: Trần Ngọc Trí – CH1301111 Trang 4
γβα
sin
c

sin
b
sin
a
==
c)b)(pa)(pp(p −−−
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
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 t
1
đến thời điểm t
2
. Vận tốùc ban đầu
của vật thể là v
1
, vận tốc ở thời điểm cuối là v
2
, 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. Ngoà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.
Để 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 = v
1
+ v
2
;
• ∆v = v
2
- v
1
;
• ∆t = t
2
- t
1
;
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 đó.
HVTH: Trần Ngọc Trí – CH1301111 Trang 5
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
II. TRI THỨC VÀ BIỂU DIỄN TRI THỨC
2.1 Khái niệm tri thức
° Tri thức không có được định nghĩa chính xác
° Khái niệm: Tri thức (knowledge) là sự hiểu biết về một lĩnh vực của chủ đề.
° Lĩnh vực: miền chủ đề được chú trọng.
° Tri thức thuờng bao gồm các khái niệm, các loại sự kiện, các luật,

Ví dụ:
1. Kiến thức về một lĩnh vực y học và khả năng chẩn đoán bệnh là tri thức.
2. Biết một tam giác có các yếu tố nào cùng với các công thức liên hệ giữa các
yếu tố là tri thức.
3. Biết các dạng cấu trúc dữ liệu thường dùng trong lập trình cùng với các thuật
toán xử lý cơ bản trên các cấu trúc là tri thức.
2.2 Khái niệm về biểu diễn tri thức
° Biểu diễn tri thức (Knowledge Representation) là sự diễn đạt và thể hiện của tri
thức dưới những dạng thích hợp để có thể tổ chức một cơ sở tri thức của hệ thống.
° Tại sao phải biểu diễn tri thức?Biểu diễn tri thức giúp có thể tổ chức và cài đặt
một cơ sở tri thức cho các hệ chuyên gia, các hệ cở sở tri thức và các hệ giải bài
toán dựa trên tri thức.
Công cụ cho việc biểu diễn tri thức
° Các cấu trúc dữ liệu cơ bản: dãy, danh sách, tập hợp, mẫu,
° Các cấu trúc dữ liệu trừu tượng: ngăn xếp, hàng đợi.
° Các mô hình toán học: đồ thị, cây.
° Các mô hình đối tượng.
° Các ngôn ngữ đặc tả tri thức.
HVTH: Trần Ngọc Trí – CH1301111 Trang 6
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
Vídụ:
Kiến thức về một tam giác cần thiết cho việc giải bài toán tam giác có thể được
biểu diễn gồm:
° Một tập hợp các biến thực, mỗi biến đại diện cho một yếu tố của tam giác.
° Một tập hợp các công thức liên hệ tính toán trên các yếu tố của tam giác.
Tập các biến trong tam giác gồm:
a, b, c : 3 cạnh của tam giác.
α, β, γ : 3 góc đối diện với 3 cạnh tương ứng trong tam giác.
h
a

, h
b
, h
c
: 3 đường cao tương ứng với 3 cạnh của tam giác.
S : diện tích tam giác.
p : nửa chu vi của tam giác.
R : bán kính đường tròn ngoại tiếp tam giác.
v.v
Tập các công thức trong tam giác gồm:
• f
1
: α + β + γ = π (radian).
• f
2
: a
2
= b
2
+ c
2
- 2.b.c.cos α
• f
3
: b
2
= a
2
+ c
2

- 2.a.c.cos β
• f
4
: c
2
= a
2
+ b
2
- 2.a.b.cos γ
• f
5
: a / sin α = b / sin β
• v.v
2.3 Các dạng tri thức
• Tri thức mô tả: các khái niệm, các đối tượng cơ bản.
HVTH: Trần Ngọc Trí – CH1301111 Trang 7
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
• Tri thức cấu trúc: các khái niệm cấu trúc, các quan hệ, các đối
tượng phức hợp,
• Tri thức thủ tục: các luật dẫn, các thủ tục xử lý, các chiến
lược, …
• Tri thức meta: tri thức về các dạng tri thức khác và cách sử
dụng chúng.
HVTH: Trần Ngọc Trí – CH1301111 Trang 8
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
III. CẤU TRÚC CỦA HỆ GIẢI TOÁN DỰA TRÊN TRI THỨC
3.1 Cấu Trúc Hệ Thống
Các thành phần chính của hệ thống trong việc giải toán:
Hệ giải toán thông minh có thể giải được các dạng bài toán tổng quát trong một miền

tri thức.
° Cơ sở tri thức (Knowledge Base).
Đây là trái tim của hệ thống, trong đó chứa các kiến thức cần thiết cho việc giải
các bài toán.
° Bộ suy diễn (hay mô tơ suy diễn).
Bộ suy diễn sẽ áp dụng kiến thức được lưu trữ trong cơ sở tri thức để giải quyết hay
tìm lời giải cho các bài toán đặt ra.
Sự tách biệt của bộ suy diễn và cơ sở tri thức là một tiêu chuẩn quan trọng.
Sự tách biệt: tính độc lập tương đối giữa cơ sở tri thức và bộ suy diễn. Cần có sự tách
biệt này vì:
HVTH: Trần Ngọc Trí – CH1301111 Trang 9
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
1. Việc biểu diễn tri thức sẽ được thực hiện một cách tự nhiên hơn, gần gũi hơn
với quan niệm của con người.
2. Các nhà thiết kế hệ thống sẽ tập trung vào vệc nắm bắt và tổ chức cơ sở tri
thức hơn là phải đi vào những chi tiết cho việc cài đặt trên máy tính.
3. Giúp tăng cường tính mô-đun hóa của phần cơ sở tri thức, bộ suy diễn và bộ
phận cập nhật, hiệu chỉnh kiến thức. Sự bổ sung hay loại bỏ bớt một phần kiến
thức sẽ không gây ra những hiệu ứng lề cho các thành phần khác trong hệ
thống.
4. Cho phép cùng một chiến lược điều khiển và giao tiếp có thể được sử dụng
cho nhiều hệ thống khác nhau.
5. Sự tách biệt của kiến thức giải bài toán và bộ suy diễn còn giúp ta có thể thử
nghiệm nhiều chiến lượt điều khiển khác nhau trên cùng một cơ sở tri thức.
3.2 Vấn đề biểu diễn tri thức
° Biểu diễn tri thức đóng vai trò rất quan trọng trong thiết kế và xây dựng một hệ
giải bài toán thông minh và các hệ chuyên gia.
° Phương pháp biểu diễn tri thức thích hợp sẽ tạo nên một hệ thống có trái tim
khỏe mạnh.
° Xây dựng và phát triển các phương pháp biểu diễn tri thức là một hướng

nghiên cứu quan trọng cho các nhà nghiên cứu về Trí tuệ Nhân tạo
3.3 Vấn suy diễn tự động
° Suy diễn tự động để giải quyết các bài toán dựa trên tri thức cũng là một vấn
đề quan trọng.
° Các phương pháp suy diễn tự động nhằm vận dụng kiến thức đã biết trong quá
trính lập luận giải quyết vấn đề trong đó quan trọng nhất là các chiến lược điều
khiển giúp phát sinh những sự kiện mới từ các sự kiện đã có.
• Xây dựng và phát triển các phương pháp biểu diễn tri thức là một hướng
nghiên cứu quan trọng cho các nhà nghiên cứu về Trí tuệ Nhân tạo
HVTH: Trần Ngọc Trí – CH1301111 Trang 10
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
IV. CÁC PHƯƠNG PHÁP BIỂU DIỄN
TRI THỨC
4.1 Logic hình thức
° Sử dụng các biểu thức logic hình thức trong một hệ thống logic để diễn đạt các
sự kiện và các luật trong cơ sở tri thức.
° Phép tính logic vị từ cấp 1 được sử dụng phổ biến nhất và có cả một ngôn ngữ
lập trình hỗ trợ cho phương pháp này. Đó là ngôn ngữ lập trình PROLOG.
° Trong ngôn ngữ PROLOG, chỉ cần khai báo các sự kiện và các luật. Hệ thống
sẽ thức hiện giải quyết vấn đề được yêu cầu dựa trên tri thức được khai báo.
4.2 Hệ luật dẫn
° Mỗi luật dẫn được phát biểu dưới dạng:
if <giả thiết> then <kết luận>
° Mô hình: Một cách hình thức, hệ luật dẫn gồm
1) Tập ký hiệu đại diện cho các sự kiện.
2) tập luật dẫn trong đó <giả thiết> và <kết luận>
là các tập hợp sự kiện
° Nhận xét: Mô hình hệ luật dẫn trên khó áp dụng trực tiếp vì quan niệm sự kiện
khá đơn giản.
4.3 Mạng ngữ nghĩa

° Mạng ngữ nghĩa (semantic network) có dạng một đồ thị gồm các nút và các
cung, trong đó
- Các nút thể hiện các khái niệm, các đối tượng.
- Các cung thể hiện các quan hệ giữa các đối tượng.
° Dựa trên mạng ngữ nghĩa ta nhận biết tri thức một cách trực quan giúp thiết kế
các xử lý như: thêm/bớt các khái niệm hay các đối tượng, tìm kiếm thông tin.
° Nhận xét: Mô hình khá trừu tượng và khái quát, trong áp dụng phải phát triển
các mô hình tri thức cụ thể hơn.
4.4 Các khung(frame)
° Các khung (frame) thể hiện các khái niệm dưới dạng cấu trúc mẫu tin và có
hình thức như một bảng mẫu.
° Khung cơ bản: gồm các thành phần cơ bản sau
- Tên đối tượng (loại khung).
- Các thuộc tính.
- Giá trị của các thuộc tính.
° Khung lớp: thể hiện các tính chất tổng quát của một lớp các đối tượng, với
những quan hệ kế thừa và cấu trúc phân cấp.
HVTH: Trần Ngọc Trí – CH1301111 Trang 11
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
V. MẠNG TÍNH TOÁN
1. Giới thiệu
Một trong những vấn đề hiện nay đang được quan tâm của “Trí Tuệ Nhân Tạo”
là nghiên cứu các phương pháp biểu diễn và xử lý tri thức. Trên cơ sở đó có thể tạo ra
những chương trình “thông minh” ở một mức độ nào đó. Trong nhiều lĩnh vực chúng
ta thường gặp những vấn đề đặt ra dưới dạng như sau : Chúng ta phải thực hiện những
tính toán hay suy diễn ra những yếu tố cần thiết nào đó từ một số yếu tố đã được biết
trước. Để giải quyết vấn đề người ta phải vận dụng một số hiểu biết (tri thức) nào đó
về những liên hệ giữa các yếu tố đang được xem xét. Những liên hệ cho phép ta có
thể suy ra được một số yếu tố từ giả thiết đã biết một số yếu tố khác. Trong bài viết
này chúng ta xét đến một mô hình biểu diễn và xử lý tri thức có thể áp dụng giải tự

động các bài toán trên và ta gọi mô hình này là “Mạng tính toán”.
2. MẠNG TÍNH TOÁN.
Mạng tính toán là một dạng biểu diễn tri thức có thể dùng biểu diễn các tri thức
về các vấn đề tính toán và được áp dụng một cách có hiệu quả để giải một số dạng bài
toán. Mỗi mạng tính toán là một mạng ngữ nghĩa chứa các biến và những quan hệ có
thể cài đặt và sử dụng được cho việc tính toán. Chúng ta xét một mạng tính toán gồm
một tập hợp các biến cùng với một tập các quan hệ (chẳng hạn các công thức) tính
toán giữa các biến. Trong ứng dụng cụ thể mỗi biến và giá trị của nó thường gắn liền
với một khái niệm cụ thể về sự vật, mỗi quan hệ thể hiện một sự tri thức về sự vật.
2.1. Các quan hệ:
Cho M = {x
1
,x
2
, ,x
m
} là một tập hợp các biến có thể lấy giá trị trong các miền xác
định tương ứng D
1,
D
2
, ,D
m
. Đối với mỗi quan hệ R ⊆ D
1
xD
2
x xD
m
trên các tập hợp

D
1,
D
2
, ,D
m
ta nói rằng quan hệ nầy liên kết các biến x
1
,x
2
, ,x
m
, và ký hiệu là
R(x
1
,x
2
, ,x
m
) hay vắn tắt là R(x) (ký hiệu x dùng để chỉ bộ biến < x
1
,x
2
, ,x
m
>). Ta có
thể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ f
R,u,v
với u ∪ v = x,
và ta viết : f

R,u,v
: u → v, hay vắn tắt là f : u → v.
Đối với các quan hệ dùng cho việc tính toán, cách ký hiệu trên bao hàm ý nghĩa
như là một hàm: ta có thể tính được giá trị của các biến thuộc v khi biết được giá trị
của các biến thuộc u.
HVTH: Trần Ngọc Trí – CH1301111 Trang 12
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
Trong phần sau ta xét các quan hệ xác định bởi các hàm có dạng f : u → v, trong
đó u ∩ v = ∅ (tập rỗng). Đặc biệt là các quan hệ đối xứng có hạng (rank) bằng một
số nguyên dương k. Đó là các quan hệ mà ta có thể tính được k biến bất kỳ từ m-k
biến kia (ở đây x là bộ gồm m biến < x
1
,x
2
, ,x
m
>). Ngoài ra, trong trường hợp cần
nói rõ ta viết u(f) thay cho u, v(f) thay cho v. Đối với các quan hệ không phải là đối
xứng có hạng k, không làm mất tính tổng quát, ta có thể giả sử quan hệ xác định duy
nhất một hàm f với tập biến vào là u(f) và tập biến ra là v(f); ta gọi loại quan hệ nầy là
quan hệ không đối xứng xác định một hàm, hay gọi vắn tắt là quan hệ không đối
xứng.
Ta có thể vẽ hình biểu diễn cho các quan hệ đối xứng và quan hệ không đối
xứng như sau:
Nhận xét:
HVTH: Trần Ngọc Trí – CH1301111 Trang 13
X1
X2
Xm
X

m-k+1
Xm
X1
Xm-k
X1
X1
X
m-k+1
Xm
Quan hệ đối xứng có hạng k
Quan hệ không đối xứng có hạng k
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
1. Một quan hệ không đối xứng có hạng k có thể được viết thành k quan hệ không
đối xứng có hạng 1.
2. Nếu biểu diễn một quan hệ đối xứng có hạng k thành các quan hệ đối xứng có
hạng 1 thì số quan hệ có hạng.
Ví dụ: Quan hệ f giữa 3 góc A,B,C trong tam giác ABC cho bởi hệ thức: A+B+C=
180 độ

Quan hệ f giữa 3 góc trong một tam giác trên đây là một quan hệ đối xứng có hạng 1.
ví dụ: quan hệ f giữa 3 góc A, B, C trong tam giác ABC cho bởi hệ thức:
A+B+C = 180 (đơn vị: độ)
2.2. Mạng tính toán và các ký hiệu:
HVTH: Trần Ngọc Trí – CH1301111 Trang 14
A
B
C
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
Như đã nói ở trên, ta sẽ xem xét các mạng tính toán bao gồm một tập hợp các
biến M và một tập hợp các quan hệ (tính toán) F trên các biến. Trong trường hợp tổng

quát có thể viết:
M = {x
1
,x
2
, ,x
n
},
F = {f
1
,f
2
, ,f
m
}.
Đối với mỗi f ∈ F, ta ký hiệu M(f) là tập các biến có liên hệ trong quan hệ f. Dĩ nhiên
M(f) là một tập con của M: M(f) ⊆ M. Nếu viết f dưới dạng:
f : u(f) → v(f)
thì ta có M(f) = u(f) ∪ v(f).
Ví dụ: Mạng tính toán của một hình chữ nhật
Việc tính toán trên một hình chữ nhật liên quan đến một số giá trị của hình chữ
nhật như sau:
b1,b2: hai cạnh của hình chữ nhật;
d: đường chéo của hình chữ nhật;
s: diện tích của hình chữ nhật;
p: chu vi của hình chữ nhật;
trong đó mỗi biến đều có giá trị là thuộc tập hợp các số thực dương. Giữa các
biến ta đã biết có các quan hệ sau đây:
f1: s= b1*b2;
f2: p= 2*b1+2*b2;

f3: d
2
= b1
2
+b2
2
;
các quan hệ này đều là các quan hệ đối xứng hạng 1. Như vậy tập biến và tập
quan hệ của mạng tính toán này là:
M= {b1,b2,d,s,p}
F={f1,f2,f3}.
HVTH: Trần Ngọc Trí – CH1301111 Trang 15
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
3. BÀI TOÁN TRÊN MẠNG TÍNH TOÁN :
Cho một mạng tính toán (M,F), M là tập các biến và F là tập các quan hệ. Giả
sử có một tập biến A ⊆ M đã được xác định và B là một tập biến bất kỳ trong M.
Các vấn đề đặt ra là:
1. Có thể xác định được tập B từ tập A nhờ các quan hệ trong F hay không? Nói
cách khác, ta có thể tính được giá trị của các biến thuộc B với giả thiết đã biết giá trị
của các biến thuộc A hay không?
2. Nếu có thể xác định được B từ A thì quá trình tính toán giá trị của các biến
thuộc B như thế nào?
3. Trong trường hợp không thể xác định được B, thì cần cho thêm điều kiện gì để
có thể xác định được B.
Bài toán xác định B từ A trên mạng tính toán (M,F) được viết dưới dạng:
A → B,
trong đó A được gọi là giả thiết, B được gọi là mục tiêu tính toán của bài toán.
Định nghĩa 2.1:
Bài toán A → B được gọi là giải được khi có thể tính toán được giá trị các
biến thuộc B xuất phát từ giả thiết A. Ta nói rằng một dãy các quan hệ {f

1
, f
2
, , f
k
} ⊆
F là một lời giải của bài toán A → B nếu như ta lần lượt áp dụng các quan hệ f
i
(i=1, ,k) xuất phát từ giả thiết A thì sẽ tính được các biến thuộc B. Lời giải {f
1
, f
2
, ,
f
k
} được gọi là lời giải tốt nếu không thể bỏ bớt một số bước tính toán trong quá trình
giải, tức là không thể bỏ bớt một số quan hệ trong lời giải.
HVTH: Trần Ngọc Trí – CH1301111 Trang 16
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
Việc tìm lời giải cho bài toán là việc tìm ra một dãy quan hệ để có thể áp dụng
suy ra được B từ A. Điều nầy cũng có nghĩa là tìm ra được một quá trình tính toán để
giải bài toán.
Định nghĩa 2.2 :
Cho D = {f
1
, f
2
, , f
k
} là một dãy quan hệ của mạng tính toán (M,F), A là một

tập con của M. Ta nói dãy quan hệ D là áp dụng được trên tập A khi và chỉ khi ta có
thể lần lượt áp dụng được các quan hệ f
1
, f
2
, , f
k
xuất phát từ giả thiết A.
Nhận xét : Trong định nghĩa trên, nếu đặt : A
0
= A, A
1
= A
0
∪ M(f
1
), . . . , A
k
=
A
k-1
∪ M(f
k
), và ký hiệu A
k
là D(A), thì ta có D là một lời giải của bài toán A →
D(A). Trong trường hợp D là một dãy quan hệ bất kỳ (không nhất thiết là áp dụng
được trên A), ta vẫn ký hiệu D(A) là tập biến đạt được khi lần lượt áp dụng các quan
hệ trong dãy D (nếu được). Chúng ta có thể nói rằng D(A) là sự mở rộng của tập A
nhờ áp dụng dãy quan hệ D.

4. GIẢI QUYẾT VẤN ĐỀ :
4.1. Tính giải được của bài toán :
Trong mục nầy chúng ta nêu lên một khái niệm có liên quan đến tính giải được
của vấn đề trên một mạng tính toán : bao đóng của một tập hợp biến trên một mạng
tính toán.
Định nghĩa 4.1: Cho mạng tính toán (M,F), và A là một tập con của M. Ta có
thể thấy rằng có duy nhất một tập hợp B lớn nhất ⊆ M sao cho bài toán A → B là giải
được, và tập hợp B nầy được gọi là bao đóng của A trên mô hình (M,F). Một cách
trực quan, có thể nói bao đóng của A là sự mở rộng tối đa của A trên mô hình (M,F).
Ký hiệu bao đóng của A là
A
, chúng ta có định lý sau đây:
Định lý 4.1. Trên một mạng tính toán (M,F), bài toán A → B là giải được khi
và chỉ khi B ⊆
A
HVTH: Trần Ngọc Trí – CH1301111 Trang 17
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
Từ định lý nầy, ta có thể kiểm tra tính giải được của bài toán A → B bằng cách tính
bao đóng của tập A rồi xét xem B có bao hàm trong
A
hay không.
Định lý 4.2. Cho một mạng tính toán (M,F), A, B là hai tập con của M. Ta có
các điều sau đây là tương đương:
(1) B ⊆
A
.
(2) Có một dãy quan hệ D = {f
1
, f
2

, , f
k
} ⊆ F thỏa các điều kiện :
(a) D áp được trên A.
(b) D(A) ⊇ B.
Chứng minh : Giả sử có (1), tức là B ⊆
A
. Khi đó bài toán A → B là giải được.
Do đó có một dãy quan hệ {f
1
, f
2
, , f
k
} ⊆ F sao cho khi ta lần lượt áp dụng các quan
hệ f
i
(i=1, ,k) xuất phát từ giả thiết A thì sẽ tính được các biến thuộc B. Dễ dàng thấy
rằng dãy {f
1
, f
2
, , f
k
} nầy thỏa các điều kiện (2).
Đảo lại, giả sử có (2). Với các điều kiện có được bởi (2) ta thấy {f
i
} là lời giải của
vấn đề A
i-1

→ A
i
, với mọi i = 1,2, , k. Từ mệnh đề 3.2 suy ra bài toán A
0
→ A
k

giải được. Do đó bài toán A → B cũng giải được, suy ra B ⊆
A
theo định lý 3.1. 
Qua các định lý trên, ta thấy rằng việc xác định bao đóng của một tập biến trên mô
hình tính toán là cần thiết. Dưới đây là thuật toán cho phép xác định bao đóng của tập
hợp A ⊆ M. Trong thuật toán nầy chúng ta thử áp dụng các quan hệ f ∈ F để tìm dần
những biến thuộc M có thể tính được từ A; cuối cùng sẽ được bao đóng của A.
Thuật toán 4.1. tìm bao đóng của tập A ⊆ M :
Nhập :Mạng tính toán (M,F),
A ⊆ M.
Xuất :
A
HVTH: Trần Ngọc Trí – CH1301111 Trang 18
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
Thuật toán :
1. B ← A;
2. Repeat
B1 ← B;
for f ∈ F do
if ( f đối xứng and Card (M(f) \ B) ≤ r(f) ) or
( f không đối xứng and M(f) \ B ⊆ v(f) ) then
begin
B ← B ∪ M(f);

F ← F \ {f}; // loại f khỏi lần xem xét sau
end;
Until B = B1;
3.
A
← B;
4.2. Lời giải của bài toán :
Ở trên ta đã nêu lên cách xác định tính giải được của bài toán. Tiếp theo, ta sẽ
trình bày cách tìm ra lời giải cho bài toán A → B trên mạng tính toán (M,F).
Mệnh đề 4.2 : dãy quan hệ D là một lời giải của bài toán A → B khi và chỉ khi
D áp dụng được trên A và D(A) ⊇ B.
Do mệnh đề trên, để tìm một lời giải ta có thể làm như sau: Xuất phát từ giả
thiết A, ta thử áp dụng các quan hệ để mở rộng dần tập các biến có giá trị được xác
định; và quá trình nầy tạo ra một sự lan truyền tính xác định trên tập các biến cho đến
HVTH: Trần Ngọc Trí – CH1301111 Trang 19
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
khi đạt đến tập biến B. Dưới đây là thuật toán tìm một lời giải cho bài toán A → B
trên mạng tính toán (M,F).
Thuật toán 4.2. tìm một lời giải cho bài toán A → B :
Nhập : Mạng tính toán (M,F), tập giả thiết A ⊆ M, tập biến cần tính B ⊆ M.
Xuất : lời giải cho bài toán A → B
Thuật toán :
1. Solution ← empty; // Solution là dãy các quan hệ sẽ áp dụng
2. if B ⊆ A then
begin
Solution_found ← true; // biến Solution_found = true khi bài toán
là // giải được
goto 4;
end
else

Solution_found ← false;
3. Repeat
Aold ← A;
Chọn ra một f ∈ F chưa xem xét;
while not Solution_found and (chọn được f) do
begin
if ( f đối xứng and 0 < Card (M(f) \ A) ≤ r(f) ) or
( f không đối xứng and ∅ ≠ M(f) \ A ⊆ v(f) ) then
begin
HVTH: Trần Ngọc Trí – CH1301111 Trang 20
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
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;
Ghi chú :
1. Về sau, khi cần trình bày quá trình giải (hay bài giải) ta có thể xuất phát từ lời
giải tìm được dưới dạng một dãy các quan hệ để xây dựng bài giải.
2. Lời giải (nếu có) tìm được trong thuật toán trên chưa chắc là một lời giải tốt. Ta
có thể bổ sung thêm cho thuật toán ở trên thuật toán để tìm một lời giải tốt từ
một lời giải đã biết nhưng chưa chắc là tốt. Thuật toán sẽ dựa trên định lý được
trình bày tiếp theo đây.

Định lý 4.3. Cho D={f
1
, f
2
, , f
m
} là một lời giải của bài toán A → B. Ưùng
với mỗi i=1, ,m đặt D
i
= {f
1
, f
2
, , f
i
}, D
0
= ∅. Ta xây dựng một họ các dãy con S
m
,
S
m-1
, , S
2
, S
1
của dãy D như sau :
S
m
= ∅ nếu D

m-1
là một lời giải,
S
m
= {f
m
} nếu D
m-1
không là một lời giải,
S
i
= S
i+1
nếu D
i-1
∪ S
i+1
là một lời giải,
HVTH: Trần Ngọc Trí – CH1301111 Trang 21
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
S
i
= {f
i
} ∪ S
i+1
nếu D
i-1
∪ S
i+1

không là một lời giải,
với mọi i = m-1, m-2, , 2, 1.
Khi đó ta có :
(1) S
m
⊆ S
m-1
⊆ ⊆ S
2
⊆ S
1
.
(2) D
i-1
∪ S
i
là một lời giải của bài toán A → B với mọi i=m, , 2, 1.
(3) Nếu S’
i
là một dãy con thật sự của S
i
thì D
i-1
∪ S’
i
không phải là một lời
giải của bài toán A → B với mọi i.
(4) S
1
là một lời giải tốt của bài toán A → B.

Thuật toán 4.3. tìm một lời giải tốt từ một lời giải đã biết.
Nhập : Mạng tính toán (M,F),
lời giải {f
1
, f
2
, , f
m
} của bài toán A→ B.
Xuất : lời giải tốt cho bài toán A → B
Thuật toán :
1. D ← {f
1
, f
2
, , f
m
};
2. for i=m downto 1 do
if D \ {f
i
} là một lời giải then
D ← D \ {f
i
};
3. D là một lời giải tốt.
Trong thuật toán 3.3 có sử dụng việc kiểm tra một dãy quan hệ có phải là lời giải hay
không. Việc kiểm tra nầy có thể được thực hiện nhờ thuật toán sau đây:
Thuật toán kiểm tra lời giải cho bài toán :
HVTH: Trần Ngọc Trí – CH1301111 Trang 22

BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
Nhập : Mạng tính toán (M,F), bài toán A→ B, dãy các quan hệ {f
1
, f
2
, , f
m
}.
Xuất : thông tin cho biết {f
1
, f
2
, , f
m
} có phải là lời giải
của bài toán A→ B hay không.
Thuật toán :
1. for i=1 to m do
if ( f
i
đối xứng and Card (M(f
i
) \ A) ≤ r(f
i
) ) or
( f
i
không đối xứng and M(f
i
) \ A ⊆ v(f

i
) ) then
A ← A ∪ M(f
i
);
2. if A ⊇ B then {f
1
, f
2
, , f
m
} là lời giải
else {f
1
, f
2
, , f
m
} không là lời giải;
4.3. Định lý về sự phân tích quá trình giải :
Xét bài toán A → B trên mạng tính toán (M,F). Trong mục nầy ta nêu lên một
cách xây dựng quá trình giải từ một lời giải đã biết. Đối với một lời giải, rất có khả
năng một quan hệ nào đó dẫn tới việc tính toán một số biến thừa, tức là các biến tính
ra mà không có sử dụng cho các bước tính phía sau. Do đó, chúng ta cần xem xét quá
trình áp dụng các quan hệ trong lời giải và chỉ tính toán các biến thật sự cần thiết cho
quá trình giải theo lời giải. Định lý sau đây cho ta một sự phân tích tập các biến được
xác định theo lời giải và trên cơ sở đó có thể xây dựng quá trình tính toán các biến để
giải quyết bài toán.
Định lý 3.4. Cho {f
1

, f
2
, , f
m
} là một lời giải tốt cho bài toán A → B trên một
mạng tính toán (M,F). Đặt :
A
0
= A, A
i
= {f
1
, f
2
, , f
i
}(A), với mọi i=1, ,m.
Khi đó có một dãy {B
0
, B
1
, , B
m-1
, B
m
}, thỏa các điều kiện sau đây:
(1) B
m
= B.
HVTH: Trần Ngọc Trí – CH1301111 Trang 23

BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
(2) B
i
⊆ A
i
, với mọi i=0,1, ,m.
(3) Với mọi i=1, ,m, {f
i
} là lời giải của bài toán B
i-1
→ B
i
nhưng không phải
là lời giải của bài toán G → B
i
, trong đó G là một tập con thật sự tùy ý của B
i-1
.
Ghi chú :
(1) Từ định lý trên ta có quá trình tính toán các biến để giải bài toán A→B như
sau:
bước 1: tính các biến trong tập B
1
\ B
0
(áp dụng f
1
).
bước 2: tính các biến trong tập B
2

\ B
1
(áp dụng f
2
).
v.v
bước m: tính các biến trong tập B
m
\ B
m-1
(áp dụng f
m
).
(2) Từ chứng minh của định lý trên, ta có thể ghi ra một thuật toán để xây dựng
dãy các tập biến {B
1
’, , B
m-1
’, B
m
’} rời nhau cần lần lượt tính toán trong quá trình
giải bài toán (B
i
’ = B
i
\ B
i-1
) gồm các bước chính như sau:
• xác định các tập A
0

, A
1
, , A
m
.
• xác định các tập B
m
, B
m-1
, , B
1
, B
0
.
• xác định các tập B
1
’, B
2
’, , B
m
’ .
Ví dụ 1: Cho tam giác ABC có cạnh a và 2 góc kề là β, γ được cho trước.Tính diện
tích S của tam giác.
Để tìm ra lời giải cho bài toán trước hết ta xét mạng tính toán của tam giác.
Mạng tính toán nầy gồm :
1. Tập biến M = {a, b, c, α, β, γ, h
a
, h
b
, h

c
, S, p, R, r, },
trong đó a,b,c là 3 cạnh; α, β, γ là 3 góc tương ứng với 3 cạnh; h
a
, h
b
, h
c
là 3 đường
cao; S là diện tích tam giác; p là nửa chu vi; R là bán kính đường tròn ngoại tiếp tam
giác; r là bán kính đường tròn nội tiếp tam giác, v.v
2. Các quan hệ:
HVTH: Trần Ngọc Trí – CH1301111 Trang 24
BDTT&SL – Mạng tính toán GVHD: PGS. TS. Đỗ Văn Nhơn
f
1
: α + β + γ = 180 f
2
:
a
sin
b
sin
α β
=
f
3
:
c
sin

b
sin
γ β
=
f
4
:
a
sin
c
sin
α γ
=
f
5
: p = (a+b+c) /2 f
6
: S = a.h
a
/ 2
f
7
: S = b.h
b
/ 2 f
8
: S = c.h
c
/ 2
f

9
: S = a.b.sinγ / 2 v.v
3. Yêu cầu tính : S (diện tích của tam giác).
Theo đề bài ta có giả thiết là : A = {a, β, γ}, và tập biến cần tính là B = {S}.
Aùp dụng thuật toán tìm lời giải (thuật toán 3.2) ta có một lời giải cho bài tính là dãy
quan hệ sau: {f
1
, f
2
, f
3
, f
5
, f
9
}. Xuất phát từ tập biến A, lần lượt áp dụng các quan hệ
trong lời giải ta có tập các biến được xác định mở rộng dần đến khi S được xác định :
{a, β, γ}
1
f
 →
{a, β, γ, α}
2
f
 →
{a, β, γ, α, b}
3
f
 →
{a, β, γ, α, b, c}

5
f
 →
{a, β, γ, α, b, c, p}
9
f
 →
{a, β, γ, α, b, c, p, S}.
Có thể nhận thấy rằng lời giải nầy không phải là lời giải tốt vì có bước tính toán thừa,
chẳng hạn là f
5
. Thuật toán 3.3 sẽ lọc ra từ lời giải trên một lời giải tốt là {f
1
, f
2
, f
9
}:
{a, β, γ}
1
f
 →
{a, β, γ, α}
2
f
 →
{a, β, γ, α, b}
9
f
 →

{a, β, γ, α, b, S}.
Theo lời giải nầy, ta có quá trình tính toán như sau :
bước 1: tính α (áp dụng f
1
).
bước 2: tính b (áp dụng f
2
).
bước 3: tính S (áp dụng f
9
).
Quá trình tính toán (gồm 3 bước) nầy có thể được diễn đạt một cách rõ ràng trên sơ đồ
mạng sau đây:
HVTH: Trần Ngọc Trí – CH1301111 Trang 25

×