Giáo trình Lập trình máy tính - Trí tuệ nhân tạo và hệ chuyên gia (Phần 2)

BÀI 6  
XỬ LÝ TRI THỨC  
MÃ BÀI ITPRG3_07.6  
Mục tiêu thực hiện:  
Học xong bài này học viên sẽ có khả năng:  
Hiểu rõ bản chất mô tơ suy diễn  
CàI đặt mô tơ suy diễn tiến, lùi bằng ngôn ngữ lập trình  
So sánh các cách xử lý tri thức  
Nội dung:  
6.1 Suy diễn tiến  
6.2 Suy diễn lùi  
6.3. Suy diễn hỗn hợp  
6.4 CàI đặt cơ sở tri thức  
6.1 Suy diễn tiến  
Logic mệnh đề  
Thủ tục suy diễn tiến đối với logic mệnh đề:  
Vào  
-
Tập các mệnh đề có dạng GT=  
-
Tập các luật RULE cso dạng Horn tức là các luật:  
p1  
-
pn  
q
Tập các mệnh đề kết luận KL=  
Ra: Thông báo “Thành công” nếu mọi qi  
Kl có thể suy diễn từ GT nhờ sử dụng tập  
luật RULE.  
Thủ tục  
Procedure Suy_dien_tien1();  
Begin  
Tgian=GT;  
/* Tgian là tập các sự kiện dùng cho đến thời điểm đang xét */  
SAT=loc(RULE,Tgian);  
/* SAT là tập luật có dạng p1  
while KL Tgian và SAT rỗng do  
get(SAT); /* lấy một luật r khả hợp từ tập SAT */  
pn q sao cho  
i=1,n pi  
Tgian */  
r
/* r có dạng p1  
Tgian Tgian  
RULE RULE \  
pn q*/  
;
;
SAT=loc(RULE,Tgian);  
104  
If KL  
Tgian then  
Exit(“Thành công”)  
Else  
Exit(“Không thành công”);  
End.  
Logic vị từ  
Vào  
-
Tập luật RULE=  
mỗi ri có dạng Horn  
p1(.)  
-
pn(.) q(.) các pi, q là vị từ  
Tập các vị từ cần chứng minh KL  
Ra: Thông báo “Thành công” nếu mọi q(.)  
KL, có thể suy ra từ GT nhờ sử dụng  
tập luật RULE.  
Thủ tục  
Procedure Suy_dien_tien2();  
Begin  
Tgian=GT;  
SAT=loc(RULE,Tgian);  
while KL Tgian và SAT rỗng do  
(r, get(SAT);  
/* lấy một luật r khả hợp với phép gán trị , r có dạng p1  
Tgian Tgian  
SAT=loc(RULE,Tgian);  
If KL Tgian then  
)
pn q*/  
;
Exit(“Thành công”)  
Else  
Exit(“Không thành công”);  
End.  
Trong suy diễn thao tác quan trọng là xác định SAT=loc(RULE,Tgian). Tập các luật r  
có dạng p1(.)  
bài toán con:  
sao cho với mọi i, vị từ pi(.)  
Tgian. Bài toán này dẫn tới 2  
(1) Cho 2 vị từ f(x,y,z,…) và q(u,v, w,…). Liệu có tồn tại một phép gán trị  
sao cho f =q  
:
=
Ví dụ: cho 2 vị từ p(x,a,z) và p(y,y,b). Hai vị từ này có thể dẫn tới một vị từ chung p(a,a,b)  
nhờ phép gán (a/x,a/y,b/z).  
(2) Quay lui trong quá trình gán trị  
6.2 Suy diễn lùi  
Logic mệnh đề  
-
Vào  
Tập các mệnh đề đã cho GT=  
105  
-
-
Tập các luật RULE=  
có dạng chuẩn Horn p1  
Tập các mệnh đề kết luận KL=  
Ra: Thông báo “Thành công” nếu với mọi i, qi có thể suy ra từ GT  
Thủ tục  
Procedure Suy_dien_lui1();  
Begin  
If KL  
GT then  
Exit(“Thành công’)  
Else  
Goal=Ǿ;  
/* Vet và Goal là 2 danh sách dạng stack */  
First=0;  
Vet=Ǿ;  
For each q  
KL do  
Goal=Goal  
;
Repeat  
(f,i) get(Goal);  
first=first+1;  
if not(f  
GT) then  
Tim_luat(f,i,RULE,j);  
/* Để xác định xem có sản xuất rj nào kể */  
/*từ sản xuất thứ i+1 trở đi sao cho rj có */  
/*dạng leftj f. Nếu không tìm được j=m+1*/  
If j m then  
Vet=Vet  
;
For each t  
Goal=Goal  
leftj\GT do  
;
Else  
back=True;  
/* Quay lui */  
While f  
Repeat  
KL and back do  
(g,k) get(Vet);  
Goal=Goal\leftk;  
Until f  
leftk;  
Tim_luat(g,k,RULE,1);  
If 1 m then  
Goal=Goal\leftk;  
For each t  
left1\GT do  
106  
Goal=Goal  
Vet=Vet  
;
;
back=false  
Else  
f=g;  
Until Goal=Ǿ or (f  
KL then  
KL and (first 2));  
If f  
Exit (“Không thành công”)  
Else  
Exit (“Thành công”);  
End.  
Logic vị từ  
Vào  
Tập luật RULE=  
Tập các vị từ đã cho GT  
Tập các vị từ cần chứng minh KL  
Ra: Thông báo “Thành công” nếu GT * KL  
Thủ tục  
Procedure Suy_dien_lui2();  
Begin  
If KL  
Else  
GT  
then  
Exit(“Thành công’)  
Goal=Ǿ;  
Vet=Ǿ;  
/* Vet và Goal là 2 danh sách dạng stack */  
Goal=KL;  
Repeat  
f
get(Goal);  
if (f  
GT ) then  
Goal=Goal  
else  
;
Tim_luat(f,0,RULE,j);  
/* Tìm luật rj và phép gán trị sao cho f là */  
/* vế phải của rj */  
If j m then  
Vet=Vet  
;
Goal=Goal leftj \GT;  
107  
Else  
back=True; /* Quay lui */  
While f  
KL and back do  
Repeat  
(g,k,  
)
get(Vet);  
Goal=Goal\leftk  
leftk  
;
Until f  
Tim_luat(g,k,RULE,1);  
/* Tìm luật r1 và phép gán trị  
/*sao cho g là vế phải của r1*/  
If 1 m then  
*/  
Goal=Goal\leftk  
;
Goal=Goal left1 \GT  
Vet=Vet  
;
back=false  
Else  
f=g;  
Until Goal=Ǿ or f  
KL then  
KL;  
If f  
Exit (“Không thành công”)  
Else  
Exit (“Thành công”);  
End.  
6.3. Suy diễn hỗn hợp  
Nhiều hệ chuyên gia dùng cã suy diễn tiến lẫn suy diễn lùi. Người tihết kế kết hợp kỹ  
thuật suy diễn tiến và suy diễn lùi theo một trong hai phương pháp. Phương pháp thứ nhất là  
dùng các hệ thống phân tách, mỗi hệ thống có một kỹ thuật suy diễn riêng. Phương pháp  
thứ hai sử dụng chức năng đặc biệt gọi là Ma thuật. Ma thuật hoạt động theo suy diễn tiến  
6.3.1 Các hệ thống phân tách:  
Bài toán lớn có thểh cia thành nhiều bài toán con. Đối với vấn đề phức tạp, người  
thiết kế hệ chuyên gia thường chia vấn đề thành các nhiệm vụ nhỏ rồi thiết kế bài toán con  
ứng với mỗi nhiệm vụ. Ưu diểm của tiếp cận này là mỗi hệ thống có kỹ thuật suy luận riêng.  
6.3.2 Ma thuật:  
Thiết kế hệ chuyên gia tích hợp dùng suy diễn tiến và suy diễn lùi có thể dùngc ác  
luật ma thuật. Thuật ngữ này được dùng với nghĩa thực hiện một cách “kỳ điệu”, “tự động”.  
Định nghĩa ma thuật:  
Luật được cháy ngay khi giả thuyết dúng với các nội dung của bộ nhớ làm việc.  
Luật ma thuật có trong các suy luận lùi nhưng nó không áp dụng trong quá trình suy  
luận lùi. Hơn thế, nó còn chưa hoạt độngg nay cả khi thông tin trong bộ nhớ đã đủ điều kiện  
khớp với giả thuyết của nó. Khi dùng ma thuật, các luật này cháy hết và bổ sung các kết luận  
108  
vào bộ nhớ. Những thông tin mới này có thể hổ trợ các luật suy diễn lùi, hay có thể kích hoạt  
các ma thuật khác, tạo nên dãy các suy diễn tiến. Một ma thuật cho phép hệ thống tự biến  
đổi, đặc biệt cho đối với các ứng dụng cần thích nghi với hoàn cảnh mới.  
6.4 Cài đặt cơ sở tri thức  
Trong mục trước, chúng ta đã xét một số kĩ thuật để xây dựng cơ sở tri thức (CSTT).  
CSTT là tập các mệnh đề (tiên đề) mô tả tri thức của về một lĩnh vực nào đó. Giả thiết,  
CSTT đã được chuẩn hoá, tức gồm các câu tuyển (mỗi câu là tuyển của các literal). Thủ tục  
suy diễn, nói chung, là thủ tục chứng minh bác bỏ. Trong trường hợp CSTT là một tập các  
câu Horn (các luật If-Then), ta có thể sử dụng thủ tục suy diễn tiến (forward chaining) hoặc  
thủ tục suy diễn lùi (forward chaining) sẽ được trình bày sau để lập luận. Trong các thủ tục  
suy diễn, ta phải thực hiện lặp công việc như sau: tìm ra các literal có thể hợp nhất được với  
một literal đang xét nào đó; nếu tìm được thì áp dụng luật phân giải cho hai câu chứa hai  
literal hợp nhất được đó. Do đó, để cho thủ tục suy diễn thực hiện hiệu quả, cần cài đặt  
CSTT sao cho công việc lặp lại trên được thực hiện hiệu quả. Trước hết, ta cần biểu diễn  
các hạng thức và các câu phân tử bằng các cấu trúc dữ liệu thích hợp.  
6.4.1. Cài đặt các hạng thức và các câu phân tử:  
Về mặt cú pháp, các hạng thức và các câu phân tử có cấu trúc giống nhau Do đó, ta  
chỉ xét việc cài đặt các hạng thức. Các hạng thức biểu diễn đối tượng trong thế giới hiện  
thực. Từ các đối tượng đơn được biểu diễn bởi các kí hiệu, hằng, biến; ta có thể tạo ra các  
đối tượng có cấu trúc. Các đối tượng có cấu trúc là các đối tượng có một số thành phần.  
Các thành phần này lại có thể là các đối tượng có cấu trúc khác. Để kết hợp các thành phần  
tạo thành một đối tượng mới, sử dụng kí hiệu hàm (function). Chẳng hạn, sử dụng kí hiệu  
hàm Date, ngày 1 tháng 5 năm 2000 được biểu diễn bởi hạng thức date(1, May, 2000). Một  
ngày bất kỳ trong tháng 5 năm 2000 được biểu diễn bởi hạng thức: date(Day, May, 2000)  
trong đó Day là kí hiệu biến. Hạng thức này gồm 3 thành phần, một là kí hiệu biến, hai thành  
phần khác là các kí hiệu hằng. Hạng thức này được biểu diễn bởi cấu trúc cây trong  
date  
May  
2000  
Day  
Bảng cây biểu diễn hạng thức date(Day, May,2000)  
Các ví dụ sau đây cho ta thấy cách tạo ra các hạng thức biểu diễn các đối tượng hình học  
trong mặt phẳng. Một điểm trong không gian hai chiều được xác định bởi hai toạ độ; một  
đoạn thẳng được xác định bởi hai điểm; một tam giác được xác định bởi ba điểm. Do đó,  
nếu ta sử dụng các kí hiệu hàm point (điểm), seg (đoạn thẳng), triangle (tam giác) thì điểm  
có toạ độ (2,3) được biểu diễn bởi hạng thức point (2, 3)  
seg  
point  
point  
point  
2
3
4
9
3
7
109  
triangle  
point  
point  
poin  
t
3
2
6
4
8
1
Bảng các cây biểu diễn các hạng thức  
Đoạn thẳng nối hai điểm (4, 7) và (9, 3) được biểu diễn bởi hạng thức:  
seg(point (4, 7), point (9, 3))  
Tam giác có ba đỉnh là ba điểm (3, 2), (6, 4), (8, 1) được biểu diễn bởi hạng thức: Triangle  
(point(3, 2), point(6, 4), point(8, 1))  
Các hạng thức trên được biểu diễn bởi các cấu trúc cây trong  
Một cách tổng quát, các hạng thức được biểu diễn bởi các cây, trong đó gốc của cây là  
các kí hiệu hàm. Nếu các đối số này không phải là kí hiệu hằng, hoặc kí hiệu biến thì chúng  
là các cây con của gốc được tạo thành theo quy tắc trên.  
Bây giờ chúng ta xem xét các đối tượng danh sách được biểu diễn bởi cấu trúc cây  
như thế nào. Nhớ lại rằng, danh sách [spring, summer, autumn, winter] được biểu diễn bởi  
hạng thức: list (spring, list(summer, list (autumn, list (winter,[ ]))))  
List  
List  
Spring  
List  
Summer  
Autumn  
List  
Winter  
[ ]  
Bảng cây biểu diễn danh sách [spring, summer, autumn, winter]  
Một cách tương tự, bằng cách chuyển sang dạng hạng thức, ta có thể biểu diễn danh  
sách: [a,b], c, [ [a, e], d ] ]  
110  
List  
List  
List  
a
List  
c
List  
b
List  
List  
[]  
[]  
d
a
List  
e
[]  
Bảng cây biểu diễn danh sách [ [a,b], c, [[a,e],d] ]  
Trong cây nếu a, b, c, d, e không phải là các đối tượng đơn mà là các đối tượng có  
cấu trúc được biểu diễn bởi các hạng thức, thì ở vị trí của các đỉnh gắn nhãn a, b, c, d, e sẽ  
là các cây con biểu diễn các hạng thức đó.  
Trên đây chúng ta đã chỉ ra rằng, các hạng thức (và các câu phân tử) có thể biểu  
diễn một cách tự nhiên bởi các cấu trúc cây.  
6.4.2. Cài đặt cơ sở tri thức  
Chúng ta đã biết cách tạo ra các cấu trúc dữ liệu để biểu diễn các hạng thức và các  
câu phân tử. Bây giờ chúng ta nghiên cứu các kĩ thuật cài đặt cơ sở tri thức sao cho các thủ  
tục suy diễn có thể thực hiện có hiệu quả. Giả sử CSTT bao gồm các câu tuyển dạng  
C =P1PmùQ1ùQn  
trong đó, Pi (i = 1,....,m, m 0), Qk(k = 1,2,...,n, n 0) là các câu phân tử. Một cách tự  
nhiên, mỗi câu C có thể được biểu diễn bởi bản ghi gồm hai trường:  
Danh sách các Literal dương [P1,....,Pm]  
Danh sách các Literal âm [Q1,..., Qn]  
Một cách đơn giản nhất, ta có thể cài đặt CSTT như một danh sách các câu tuyển.  
Tuy nhiên với cách cài đặt này, thủ tục suy diễn kém hiệu quả, bởi mỗi lần cần xét xem một  
câu phân tử S có hợp nhất với một thành phần nào đó của một câu trong CSTT, ta phải đi  
qua danh sách, xem xét từng thành phần của các câu trong danh sách cho tới khi tìm ra  
hoặc đi tới hết danh sách.  
Một giải pháp khác tốt hơn, ta có thể cài đặt CSTT bởi bảng băm. Các khoá cho bảng  
băm này là các kí hiệu vị từ, tức là bảng băm được định chỉ số theo các kí hiệu vị từ. Trong  
bảng băm, tại chỉ số ứng với mỗi kí hiệu vị từ ta sẽ lưu:  
Danh sách các literal dương của kí hiệu vị từ đó.  
Danh sách các literal âm.  
Danh sách các câu mà kí hiệu vị từ xuất hiện trong các literal dương của câu (Câu  
dương).  
111  
Danh sách các câu mà kí hiệu vị từ xuất hiện trong các literal âm của câu (Câu âm).  
Ví dụ: Giả sử CSTT chứa các câu sau:  
Brother (An, Ba)  
Brother (Tam, Hoa)  
ùBrother (Lan, Cao)  
ùBrother (x,y)Male(x)  
ùBrother (x,y) ùMale(y)  ùBrother (y,x)  
Male(Cao)  
Male(Ba)  
ù Male(Lan)  
Khi đó, tại các chỉ số ứng với khoá Brother và Male, bảng băm sẽ lưu giữ các thành  
phần được cho trong bảng sau  
Khoá  
Literal dương  
Literal  
âm  
Câu dương  
Câu âm  
Brother Brother(An,Ba)  
ùBrother  
(Lan, Cao)  
ùBrother(x,y)  
ùBrother  
Brother(Tam,  
Hoa)  
Male(y)Brother(y,x) (x,y)ùMale(y)Brother(y,x  
)
ùBrother (x,y)Male(x)  
Male  
Male(Cao)  
Male(Ba)  
ù
ùBrother(x,y)  
ùBrother (x,y)ùMale(y)  
Brother (y,x)  
Male(Lan) Male(x)  
Bảng lưu giữ các thành phần với khoá Brother và Male  
Cài đặt CSTT bởi bảng băm định chỉ số theo các kí hiệu vị từ là phương pháp rất  
hiệu quả cho việc tìm kiếm trên CSTT, nếu như CSTT chứa nhiều kí hiệu vị từ và với mỗi kí  
hiệu vị từ chỉ có một số ít các câu chứa kí hiệu vị từ đó. Tuy nhiên trong một số áp dụng, có  
thể có rất nhiều câu chứa cùng một kí hiệu vị từ nào đó. Chẳng hạn, Cơ Sở Tri Thức có thể  
chứa hàng triệu câu nói về người lao động, mỗi người lao động được biểu diễn bởi các  
thông tin về họ tên, ngày tháng năm sinh, số thẻ bảo hiểm, công việc (Công việc được xác  
định bởi nơi làm việc và tiền lương). Tức là mỗi người lao động được mô tả bằng câu có  
dạng:  
Worker (Tom, date (3, may,1965), 012-34-567, job(UNIMEX, 300))  
(câu này nói rằng, có người lao động tên là Tom, sinh ngày 3 tháng 5 năm 1965, số  
thẻ bảo hiểm 012-34-567, làm việc tại công ty UNIMEX với mức lương 300).  
Trong các trường hợp như thế, để tìm kiếm có hiệu quả, ngoài việc xây dựng bảng  
băm định chỉ số theo các đối số của các kí hiệu vị từ, ta cần xây dựng các bảng băm định chỉ  
số theo các đối số của các vị từ. Chẳng hạn, ở đây các literal dương ứng với khoá Worker  
cần được tổ chức dưới dạng bảng băm định chỉ số theo khóa là số bảo hiểm y tế hoặc họ  
tên và ngày tháng năm sinh.  
112  
6.4.3 Biểu diễn tri thức bằng luật và lập luận  
Với một CSTT gồm các câu trong logic vị từ cấp một, ta có thể chứng minh công  
thức có là hệ quả logic của CSTT hay không bằng phương pháp chứng minh bác bỏ và thủ  
tục phân giải. Tuy nhiên, thủ tục chứng minh này có độ phức tạp lớn và đòi hỏi chiến lược  
giải một cách thích hợp. Vì lý do này, các nhà nghiên cứu cố gắng tìm các tập con của logic  
vị từ cấp một, sao cho chúng đủ khả năng biểu diễn CSTT trong nhiều lĩnh vực, và có thể  
đưa ra các thủ tục suy diễn hiệu quả. Các tập con này của logic vị từ cấp một sẽ xác định  
các ngôn ngữ biểu diễn tri thức đặc biệt. Trong phần này chúng ta sẽ nghiên cứu ngôn ngữ  
chỉ bao gồm các câu Horn (các luật nếu - thì). Chỉ sử dụng các luật nếu – thì, ta không thể  
biểu diễn được mọi điều trong logic vị từ cấp một. Tuy nhiên, với các luật nếu - thì ta có thể  
biểu diễn được một khối lượng lớn tri thức trong nhiều lĩnh vực khác nhau, và có thể thực  
hiện các thủ tục suy diễn hiệu quả.  
Biểu diễn tri thức bằng luật sinh  
Ngôn ngữ bao gồm các luật nếu - thì (if - then), còn gọi là các luật sản xuất hay luật  
sinh (production rule), là ngôn ngữ phổ biến nhất để biểu diễn tri thức. Nhớ rằng, các câu  
Horn có dạng  
P P Þ Q  
1
n
trong đó các Pi (i = 1, ..., n) và Q là các câu phần tử.  
Các câu Horn còn được viết dưới dạng  
nếu P1 và P2 ... và Pn thì Q  
(if P1 and ... and Pn then Q)  
các Pi (i = 1, ..., n) được gọi là các điều kiện, Q được gọi là kết luận của luật.  
Các luật nếu - thì có các ưu điểm sau đây  
Mỗi luật nếu - thì mô tả một phần nhỏ tương đối độc lập của tri thức.  
Có thể thêm và cơ sở tri thức các luật mới, hoặc loại bỏ một số luật cũ mà không ảnh  
hưởng nhiều tới các luật khác.  
Các hệ tri thức với cơ sở tri thức gồm các luật nếu - thì có khả năng đưa ra lời giải  
thích cho các quyết định của hệ.  
Các luật nếu - thì là dạng biểu diễn tự nhiên của tri thức. Bằng cách sử dụng các luật  
nếu - thì chúng ta có thể biểu diễn được một số lượng lớn tri thức của con người về tự  
nhiên, về xã hội, kinh nghiệm của con người trong lao động, sản xuất, tri thức của các thầy  
thuốc, tri thức của các kỹ sư, tri thức trong các ngành khoa học: kinh tế, sinh học, hoá học,  
vật lý, toán học,...  
Sau đây là một luật về chẩn đoán bệnh:  
Nếu  
1.  
2.  
bệnh nhân ho lâu ngày, và  
bệnh nhân thường sốt vào buổi chiều  
Thì bệnh nhân có khả năng bệnh lao  
Một luật về kinh nghiệm dự báo thời tiết:  
Nếu chuồn chuồn bay thấp  
thì  
trời sẽ mưa  
Nhiều định lý trong toán học có thể biểu diễn bởi các luật. Chẳng hạn,  
113  
Nếu  
1.  
tam giác có một góc bằng 60 0, và  
tam giác có hai cạnh bằng nhau  
2.  
thì tam giác đó là tam giác đều.  
Trên đây chúng ta chỉ xét các luật trong đó mỗi phần kết luận của một luật xác định  
một khẳng định mới được suy ra khi tất cả các điều kiện của luật được thoả mãn. Trong  
nhiều áp dụng, cơ sở luật của hệ cần được đưa vào các luật mà phần kết luận của luật là  
một hành động hệ cần thực hiện. Gọi các luật dạng này là luật hành động (action). Một luật  
hành động có dạng  
nếu  
1.  
<điều kiện 1>, và  
<điều kiện 2>, và  
2.  
....  
m. <điều kiện m>  
thì  
<hành động>  
Hành động trong các luật hành động có thể là thêm vào một sự kiện mới, có thể là  
loại bỏ một sự kiện đã có trong bộ nhớ làm việc; hành động cũng có thể là thực hiện một thủ  
tục nào đó. Trong các robot được trang bị một hệ dựa trên luật, thì phần kết luận của luật có  
thể là một hành động nào đó mà robot cần thực hiện.  
Người ta phân biệt hai dạng hệ, các hệ dựa trên luật sử dụng lập luận tiến và phần  
kết luận của các luật xác định các khẳng định mới được gọi là các hệ diễn dịch (deduction  
systems). Các hệ dựa trên luật mà phần kết luận của các luật xác định các hành động cần  
thực hiện được gọi là hệ hành động dựa trên luật (rule-based reaction systems).  
Trong các hệ diễn dịch, chúng ta xem mọi luật đều sinh ra các khẳng định mới “có giá  
trị” như nhau; tức là, ta không xem khẳng định do luật này sinh ra là “tốt” hơn khẳng định do  
luật khác sinh ra. Do đó trong các hệ diễn dịch, khi mà nhiều luật có thể cháy được (một luật  
được gọi là cháy được nếu tất cả các điều kiện của luật được thoả mãn) ta có thể cho tất cả  
các luật đó cháy (một luật cháy để sinh ra khẳng định mới).  
Trong các hệ hành động, khi có có nhiều hơn một luật có thể cháy, nói chung, chúng  
ta chỉ muốn thực hiện một trong các hành động có thể. Do đó, trong các hệ hành động,  
chúng ta cần có chiến lược giải quyết va chạm để quyết định cho luật nào cháy trong số các  
luật có thể cháy. Sau đây là một số chiến lược giải quyết va chạm.  
Sắp xếp các luật theo thứ tự ưu tiên. Trong các luật có thể cháy, luật nào có mức ưu  
tiên cao nhất sẽ được thực hiện.  
Sắp xếp dữ liệu. Các sự kiện trong bộ nhớ làm việc được sắp xếp theo thứ tự ưu  
tiên. Luật nào mà các điều kiện của nó được làm thoả mãn bởi các điều kiện có mức ưu tiên  
cao sẽ được thực hiện trước.  
Các luật được phân thành các nhóm. Trong mỗi nhóm luật, được chỉ ra các điều kiện  
để áp dụng các luật của nhóm. Các điều kiện này liên quan đến nội dung của bộ nhớ làm  
việc.  
Sử dụng các siêu luật (metarule). Đó là các luật mà phần điều kiện của nó liên quan  
tới nội dung của các luật và nội dung của bộ nhớ làm việc, còn phần kết luận của nó chỉ ra  
các luật có thể được áp dụng hoặc có thể bi cấm áp dụng. Các siêu luật sẽ điều khiển sự  
cho phép các luật cháy.  
114  
Đương nhiên là, việc sử dụng chiến lược giải quyết va chạm nào phụ thuộc vào từng  
áp dụng. Tuỳ theo mục đích thiết kế của hệ mà ta lựa chọn chiến lược giải quyết va chạm  
cho thích hợp.  
Biểu điễn tri thức không chắc chắn  
Trong đời sống thực tế, có rất nhiều điều mà ngay cả các chuyên gia cũng không  
hoàn toàn tin tưởng chúng là đúng hay sai. Đặc biệt là các kết luận trong chẩn đoán y học,  
trong dự báo thời tiết, trong phỏng đoán sự hỏng hóc của máy móc, chúng ta không thể tin  
tưởng 100% các kết luận đưa ra là đúng. Chẳng hạn, nếu xe máy đang chạy bị chết máy và  
kiểm tra xăng hãy còn thì có thể tin rằng 90% là do có vấn đề ở bugi. Tuy nhiên vẫn còn  
10% phỏng đoán đó là sai, xe bị chết máy do các nguyên nhân khác. Do đó trong các hệ  
dựa trên luật, chúng ta còn phải đưa vào mức độ chắc chắn của các luật và các sự kiện  
trong cơ sở tri thức. Chúng ta sẽ gán cho mỗi luật hoặc sự kiện một mức độ chắc chắn nào  
đó, mức độ chắc chắn là một số nằm giữa 0 và 1. Cách viết  
A An Þ B : C  
(1)  
1
A An Þ B  
có nghĩa là luật  
Chúng ta cần phải đưa ra phương pháp xác định mức độ chắc chắn của các kết luận  
được suy ra.  
Trước hết chúng ta đánh giá kết luận suy ra từ luật chỉ có một điều kiện. Giả sử ta có  
có độ chắn chắn là C (0 C 1).  
1
luật  
A Þ B : C  
(2)  
Theo lý thuyết xác suất, ta có  
Pr(B) = Pr(BA)Pr(A)  
trong đó Pr(B), Pr(A) là xác suất của sự kiện B, A tương ứng (tức là mức độ chắc  
(3)  
chắn của B, A tương ứng), còn Pr(BA) là xác suất có điều kiện của B khi A đã xảy ra, ở đây  
Pr(BA) là mức độ chắc chắn của luật A Þ B, tức là bằng C.  
Trong trường hợp luật có n (n > 1) điều kiện, tức là các luật dạng (1), ta xem A =  
A A  
n . Trong trường hợp này, mức độ chắc chắn của A, Pr(A) được tính bằng các  
1
phương pháp khác nhau, tuỳ thuộc vào các sự kiện Ai (i = 1, ..., n) là độc lập hay phụ thuộc.  
Giả sử các sự kiện Ai (i = 1, ..., n) là độc lập, khi đó  
Pr(A) = Pr(A1) ... Pr(An)  
Ví dụ. Giả sử cơ sở tri thức của hệ chứa luật sau  
IF 1. X có tiền án, và  
(4)  
2. X có thù oán với nạn nhân Y, và  
3. X đưa ra bằng chứng ngoại phạm sai  
THEN X là kẻ giết Y.  
với mức độ chắc chắn 90%.  
Giả sử ta có các sự kiện  
Hung có tiền án, với mức độ chắc chắn là 1.  
Hung có thù oán với nạn nhân Meo, với mức độ chắc chắn là 0,7.  
Hung đưa ra bằng chứng ngoại phạm sai, với mức độ chắc chắn là 0,8.  
Từ các sự kiện và luật trên, ta có  
115  
Pr(A) = 1.0,7.0,8 = 0,56  
Pr(B) = 0,9.0,56 = 0,504  
Như vậy mức độ chắc chắn của kết luận “Hung là kẻ giết Meo” là 50, 4%.  
Công thức (4) chỉ áp dụng cho các sự kiện A1, ..., An là độc lập (tức sự xuất hiện của  
sự kiện này không ảnh hưởng gì đến sự xuất hiện của các sự kiện khác). Nếu các sự kiện  
A1, ..., An là phụ thuộc, ta có thể tính mức độ chắc chắn của điều kiện của luật, A =  
A A  
n , theo công thức sau:  
1
Pr(A) = min (Pr(A1), ..., Pr(An))  
(5)  
Chẳng hạn, với các thông tin trong ví dụ trên, từ công thức (5) ta có  
Pr(A) = min(1, 0,7, 0,8) = 0,7  
Do đó  
Pr(B) = 0,9. 0,7 = 0,63  
Ngoài công thức (5), người ta còn đưa ra các phương pháp khác để tính mức độ  
A An  
chắc chắn Pr(A), khi mà A =  
và các A1, ..., An không độc lập.  
1
6.4.4 Biểu diễn tri thức bằng mạng ngữ nghiã  
Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức dễ hiểu nhất. Phương pháp  
biểu diễn dựa trên đồ thị, trong đó đỉnh là là các đối tượng (hay khái niệm) còn các cung là là  
các mối quan hệ giữa các đói tượng (họặc khái niệm) đó.  
Ví dụ 1: giữa các đối tượng và khái niệm: chích, chim, tổ, cánh, hótcó ccác quan hệ  
như hình dưới đây  
Chích  
Tổ  
Là  
Biết  
Có  
Hót  
Chim  
Làm  
Cánh  
Ví dụ đơn giản về mạng ngữ nghĩa  
Ví dụ 2. Cho tập quan hệ (hàm) trong tam giác:  
f) a/sina= b/sinb  
g) c/sing= b/sinb  
h)  
i)  
j)  
a+b+g=  
S= hc*c  
k) Nếu chúng ta đặt các quan hệ này là các nút vuông, các biến là các nút tròn; cung là  
các đường liên kết giữa các biến có liên quan (như S, hc, c) trong các quan hệ (ở đây là  
công thức e); c); b) ). Học viên có thể dùng mạng ngữ nghĩa để mô tả các mối quan hệ giữa  
biến và hàm.  
6.4.5 Biểu diễn tri thức bằng khung  
116  
Khung là một phương pháp biểu diễn tri thức có cấu trúc dữ liệu chứa tất cả tri thức  
liên quan đến một đối tượng cụ thể nào đó. Khung (Frame) có liên hệ chặt chẽ đến khái  
niệm hương đối tượng. Khung thương được dùng đẻ biểu diễn những tri thức “chuẩn” hoặc  
những tri thức dựa trên kinh nghiệm hoặc các điểm đã được hiểu biết cặn kẽ.  
Cấu trúc của khung gồm hai thành phần cơ bản “Slot” và “Facet”. Slot là một thuộc  
tính đặc tả đối tượng ví dụ khung mô tả xe hơi có hai Slot là Trọng lượng và Loại động cơ.  
Một Slot có thể chứ nhiều Facet. Các Facet đôi khi còn được gọi là Slot con, Ví dụ Facet của  
Slot Loại động cơ có thể là:Kiêu đong cơ, Số xi lanh,Khả năng tăng tốc độ.  
6.4.6 Các phương pháp biểu diễn tri thức khác  
Một sô cách biểu diễn tri thức khác có thể liêt kê như sau:  
Mô tả tri thức bằng cặp ba Đói tương-Thuộc tính-Giá trị (Object-Attibute-Value: O-A-  
V). Đây là phương pháp biểu diên cổ điển, đơn giản. Hiệu quả của phương pháp không cao  
nên hiện nay ít dùng. Mặt khác, cặp ba Đói tương-Thuộc tính-Giá trị gần giống với phương  
pháp mạng ngữ nghĩa.  
.
.
.
.
Phương pháp mô tả tri thức bằng kịch bản (Script)  
Phương pháp mô tả tri thức bằng mặt (Face)  
Phương pháp mô tả tri thức bằng bảng đen (Blackboard)  
Phương pháp mô tả tri thức theo thủ tục  
Câu hỏi và Bài tập  
Câu 1: Hãy nêu PP Suy diễn tiến  
Câu 2:Hãy nêu PP Suy diễn lùi  
Câu 3: Hãy nêu suy diễn hỗn hợp và định nghĩa ma thuật  
Câu 4 :Nêu PP biểu diễn tri thức bằng luật và lập luận ,mạng ngữ nghiã, khung và các  
phương pháp biểu diễn tri thức khác  
BÀI 7  
TỔNG QUAN VỀ HỆ CHUYÊN GIA VÀ ỨNG DỤNG  
MÃ BÀI ITPRG3_07.7  
Mục tiêu thực hiện:  
Học xong bài này học viên sẽ có khả năng:  
Hiểu được các kháI niệm cơ bản về hệ chuyên gia  
Nắm được cách giảI quyết một bàI toán đòi hỏi tri thức của chuyên gia  
Nắm được các lĩnh vực ứng dụng của hệ chuyên gia  
Hiểu rõ các thành tựu của hệ chuyên gia  
Nội dung:  
7.1 Hệ chuyên gia là gì?  
7.2. Các thành phần cơ bản của hệ chuyên gia  
7.3. Các ứng dụng của hệ chuyên gia  
7.4 Các lĩnh vực nghiên cứu cơ bản hệ chuyên gia  
117  
7.1 Hệ chuyên gia là gì?  
Hệ chuyên gia là chương tình máy tinh được thiết kế để mô hình hoá khả năng giải  
quyết vấn đề của người chuyên gia.  
Hệ chuyên gia còn được định nghĩa như sau: hệ chuyên gia là một hệ thống dựa trên  
tri thức, cho phép mô hình háo các tri thức của chuyên gia có chất lượng, hay chuyên gia  
được huấn luyện trong một lĩnh vực cụ thể, cho phép dùng tri thức này để giải quyết vấn đề  
phức tạp thuộc lĩnh vực này.  
Hệ chuyên gia bao gồm yếu tố quan trọng là tri thức chuyên gia và lập luận. Hẹ thống  
bao gồm 2 khối chính là cơ sở tri thức và môtơ suy luận.  
Cơ sở tri thức chứa các tri thức chuyên sâu về lĩnh vực như chuyên gia. Cơ sở này  
gồm các sự kiện, các luật, các khái niệm và các quan hệ. Người ta cần thể hiện các tri thức  
này ở dạng thích hợp.  
Môtơ suy luận là bộ xử lý tri thức được mô hình hoá theo cách lập luận của chuyên  
gia. Môtơ hoạt động trên thông tin về vấn đề đang xét, so sánh với tri thức lưu trong cơ sở tri  
thức rồi rút ra kết luận hay bình luận. Như vậy, người ta cần có kỹ thuật về suy diễn.  
7.2. Các thành phần cơ bản của hệ chuyên gia  
Một cách hình dung về các thành phần của một hệ hỗ trợ ra quyết định (DDS –  
decision support system) (Hình 3.10) và quan hệ giữa chúng là sử dụng các khái niệm đối  
thoại (dialog), dữ liệu (data) mà mô hình (model). Đối với những người thiết kế hệ thống  
DDS cũng như những người sử dụng hệ thống, điều quan trọng là hiểu được các thành  
phần này được thiết kế như thế nào. Người sử dụng cần phải biết có thể yêu cầu cái gì ở  
DDS. Người thiết kế phải biết được DDS có thể cung cấp cái gì.  
Tài  
chính  
Dữ liệu  
nội  
(internal)  
Mô hình  
chiến lược  
Hệ  
quản  
trị  
cơ sở  
dữ  
liệu  
Hệ  
quản  
trị  
dựa  
trên  
mô  
Sản  
xuất  
Mô hình  
chiến thuật  
Dữ  
liệu  
giao  
dịch  
Tiếp  
thị  
Dữ liệu dựa  
Trên tài liệu  
(document -  
based)  
hình  
Mô hình  
hoạt đông  
Nhân  
sự  
Thành phần đối  
thoại  
Mô hình  
các thủ tục  
(subroutine)  
Các  
loại  
khác  
Dữ liệu ngoại  
(external)  
Người ra quyết định  
Hình 3.10. các thành phần của một hệ hỗ trợ ra quyết định  
Các kỹ thuật mới có nhiều ảnh hưởng đến các thành phần đối thoại, dữ liệu, và mô hình;  
ví dụ như giao diện đồ hoạ hay cơ sở dữ liệu quan hệ. Ngoài ra trí tuệ nhân tạo cũng cung  
cấp các khả năng biểu diễn và sử dụng mô hình trong những hình thức mới.  
7.3. Các ứng dụng của hệ chuyên gia  
Mạng nơ ron nhân tạo, logic mờ, giải thuật di truyền và các hệ thống lai là các lĩnh  
vực của trí tuệ nhân tạo hiện đại - một trong những lĩnh vực rất được quan tâm của Công  
nghệ thông tin. Các máy tính và công nghệ vi điện tử hiện đại đang hy vọng ở các phương  
pháp này như chìa khoá mở ra thế hệ máy tính mới: thế hệ máy tính thứ năm. Không chỉ  
trong nghiên cứu, các chuyên đề môn học của chương trình đào tạo đại học Công nghệ  
thông tin cũng đã chọn những môn này vào chương trình giảng dạy. Nhiều đề tài, luận văn  
118  
tiến sỹ, thạc sỹ đồ án, khóa luận tốt nghiệp đại học đã lấy các công cụ logic mờ và mạng nơ  
ron nhân tạo làm phương tiện xử lý và tính toán mới thay cho các phương pháp kinh điển  
hiện nay.  
Chương này giói thiêu năm phần:  
mạng nơ ron với các khả năng ứng dụng của chúng  
nghiên cứu logic mờ với các khả năng ứng dụng  
giải thuật di truyền  
các phương pháp và thuật toán lai mạng nơ ron và logic mờ; giải thuật di truyền  
các agent thông minh.  
Những vấn đề kể trên là rất lớn. Học viên có thể tìm đọc thêm [2, 3, 4, 5, 11, 16, 20, 25]  
MẠNG NƠ RON NHÂN TAO  
Quá trình phát triển  
Theo Wiener: trí não, thông tin và điều khiển là ba lĩnh vực dưới ngọn cờ chung là điều khiển  
học (Cybernetics). Nghiên cứu và mô phỏng trí não, cụ thể là mô tế bào thần kinh (nơron) là một ước  
muốn từ lâu của nhân loại. Từ mơ ước đó nhiều nhà khoa học đã không ngừng nghiên cứu tìm hiểu  
về mạng nơron. Với khoảng 15 tỷ nơ ron ở não người, mỗi nơ ron có thể nhận hàng vạn tín hiệu từ  
các khớp thần kinh và được coi là một cơ chế sinh vật phức tạp nhất. Não người có khả năng giải  
quyết nhũng vấn đề như: nghe, nhìn, nói, hồi ức thông tin, phân biệt các mẫu mặc dù sự kiện có bị  
méo mó, thiếu hụt. Não thực hiện những nhiệm vụ như vậy nhờ các phần tử tính toán (nơ ron). Não  
phân bố việc xử lý cho hàng tỷ nơ ron có liên quan, điều khiển các mối liên hệ giữa các nơ ron đó. Nơ  
ron không ngừng nhận và truyền thông tin lẫn nhau. Cơ chế hoạt động nơ ron bao gồm: liên kết  
(association), tổng quát hoá (generation), và tự tổ chức (Self-organization). Các nơ ron tự liên kết với  
nhau thành mạng trong xử lý. Mỗi mạng gồm hàng vạn các phần tử nơ ron khác nhau. Môĩ phần tử  
nơ ron có khả năng liên kết với hàng nghìn các nơ ron khác. Lý thuyết về mạng nơ ron đã hình thành  
và đang phát triển, đặc biệt là nghiên cứu ứng dụng chúng. Có thể chia quá trình phát triển và nghiên  
cứu mạng nơ ron trong thế kỷ qua thành bốn giai đoạn:  
Giai đoạn một có thể tính từ những nghiên cứu của William từ những năm 1890 về tâm lý học  
với sự liên kết các nơ ron thần kinh. Năm 1940, McCulloch và Pitts đã cho biết, nơ ron có thể được  
mô hình hoá như thiết bị ngưỡng giới hạn để thực hiện các phép tính logic. Cũng thời gian đó, Wiener  
đã xét mối liên quan giữa nguyên lý phản hồi trong điều khiển và chức năng cuả bộ não; Ashly đã đề  
xuất mô hình chức năng bộ não và nguyên lý ổn định cuả nó.  
Giai đoạn hai có thể tính từ sau thế chiến thứ hai. Đặc biệt, vào những năm cuả thập niên 60  
gần như đồng thời xuất hiện một loạt mô hình mạng nơ ron hoàn hảo hơn được đưa ra như:  
Perceptron cuả Rosenblatt, phần tử nơ ron tuyến tính Adaline (ADAptive LINear Element) cuả  
Windrow, Ma trận học cuả Steinbuck. Perceptron rất được chú trọng vì nguyên lý giản đơn, nhưng nó  
cũng hạn chế vì như Minsky và Papert đã chứng minh nó không dùng được cho các hàm logic phức.  
Bản chất cuả Adaline là tuyến tính, tự chỉnh và được dùng rộng rãi cho những bài toán tự thích nghi,  
tách nhiễu và vẫn phát triển cho đến ngày nay.  
Giai đoạn thứ ba có thể tính từ đầu những năm 80 đến nay. Những đóng góp to lớn cho mạng  
nơ ron ở giai đoạn này phải kể đến Grossberg, Kohonen, Rumelhart và Hopfield. Đóng góp chính cuả  
Hopfield là hai mô hình mạng phản hồi: mạng rời rạc năm 1982 và mạng liên tục năm 1984. Đặc biệt,  
ông dự kiến nhiều khả năng tính toán lớn cuả mạng mà một nơ ron đơn không thể có được.  
Giai đoạn thứ tư, từ năm 1990 đến nay. Các Hội nghị, Tạp chí khoa học và chuyên đề đặc  
biệt về mạng nơ ron liên tục được tổ chức ví dụ như IJCNN (International Joint Conference on Neural  
Networks). Hàng loạt các lĩnh vực khác nhau như: kỹ thuật tính toán, tính toán tối ưu, ứng dụng mạng  
nơ ron trong tin học, viễn thông, sinh-y-học, dự báo, thống kê... đã đi vào áp dụng và đem lại nhiều  
kết quả đáng khích lệ.  
Cơ sở của mạng nơron nhân tạo và một số khái niệm  
Đầu tiên, chúng ta tìm hiểu nguồn gốc của mạng nơ ron, bắt đầu từ một phần tử nơ ron đơn giản.  
Mô hình nơron nhân tạo có nguồn gốc từ mô hình tế bào thần kinh (hay còn gọi là nơron) sinh vật.  
119  
Mục đích của phần này không mô tả và nghiên cứu nơ ron sinh học (việc đó có chuyên ngành nơ ron  
sinh vật nghiên cứu) mà muốn chỉ ra rằng: từ những nguyên lý cơ bản nhất của nơ ron sinh học,  
người ta đã bắt chước mô hình đó cho nơ ron nhân tạo [20].  
a) Mô hình nơron sinh vật  
Các nơron sinh vật có nhiều dạng khác nhau như dạng hình tháp ở đại não, dạng tổ ong ở  
tiểu não, dạng rễ cây ở cột sống. Tuy nhiên, chúng có cấu trúc và nguyên lý hoạt động chung. Từ mô  
hình chung nhất, người ta có thể mô tả chúng như một nơron chuẩn. Một tế bào nơron chuẩn gồm  
bốn phần cơ bản là [20]:  
+ Các nhánh và rễ: là các bộ phận nhận thông tin. Các đầu nhạy hoặc các đầu ra của các nơ  
ron khác bám vào rễ hoặc nhánh của một nơ ron. Khi các đầu vào từ ngoài này có sự chênh lệch về  
nồng độ K+, Na+ hay Cl- so với nồng độ bên trong của của nơ ron thì xảy ra hiện tượng thấm (hoặc  
hiện tượng bơm) từ ngoài vào trong thông qua một cơ chế màng thấm đặc biệt. Hiện tượng thẩm thấu  
như vậy tạo nên một cơ chế truyền đạt thông tin với hàng nghìn hàng vạn lối vào trên một nơ ron sinh  
vật, ứng với hàng nghìn hàng vạn liên kết khác nhau. Mức độ thẩm thấu được đặc trưng bởi cơ chế  
màng tượng trưng bằng một tỷ lệ. Tỷ lệ đó được gọi là tỷ trọng hay đơn giản gọi là trọng (weight)  
+ Thân thần kinh (soma) chứa các nhân và cơ quan tổng hợp prôtêin. Các ion vào được tổng  
hợp và biến đổi. Khi nồng độ các ion đạt đến một giá trị nhất định, xẩy ra quá trình phát xung (hay  
kích thích). Xung đó được phát ở các đầu ra của nơ ron. Dây dẫn đầu ra xung được gọi là dây thần  
kinh  
(axon).  
u1  
b1  
b2  
I
w
v(t  
)
x(t  
)
y(t  
)
u2  
H(.)  
g(.)  
bm  
a,  
b,  
b, Nơron nhân tạo  
Bảng : Mô hình Nơ ron  
b.Nơ ron nhân tạo  
a.Nơ ron sinh vật  
+ Dây thần kinh (axon) là đầu ra. Đó là phương tiện truyền dẫn tín hiệu. Dây thần kinh được  
cấu tạo gồm các đốt và có thể dài từ vài micro mét đến vài mét tùy từng kết cấu cụ thể. Đầu ra này có  
thể truyền tín hiệu đến các nơ ron khác.  
+ Khớp thần kinh (synape) là bộ phận tiếp xúc của các đầu ra nơ ron với rễ, nhánh của các  
nơ ron khác. Chúng có cấu trúc màng đặc biệt để tiếp nhận các tín hiệu khi có sự chênh lệch về nồng  
độ ion giữa bên trong và bên ngoài. Nếu độ lệch về nồng độ càng lớn thì việc truyền các ion càng  
nhiều và ngược lại. Mức độ thấm của các ion có thể coi là một đại lượng thay đổi tùy thuộc vào nồng  
độ như một giá trị đo thay đổi và được gọi là trọng.  
Hoạt động của nơron sinh vật  
120  
+ Truyền xung tín hiệu: Mỗi nơron nhận tín hiệu vào từ các tế bào thần kinh khác. Chúng tích  
hợp các tín hiệu vào. Khi tổng các tín hiệu vượt một giá trị nào đó gọi là giá trị ngưỡng (hay đơn giản  
gọi là ngưỡng) chúng phát tín hiệu ra. Tín hiệu ra của nơron được chuyển tới các nơron hoặc tới các  
cơ quan chấp hành khác như các cơ, các tuyến (glands). Việc truyền tín hiệu thực hiện thông qua dây  
thần kinh và từ nơron này tới nơron khác theo cơ chế truyền tin đặc biệt là khớp thần kinh. Mỗi một  
nơron có thể nhận hàng nghìn, vạn tín hiệu và cũng có thể gửi tín hiệu đến hàng vạn các nơron khác.  
Mỗi nơron được coi là một thiết bị điện hoá, chứa các nội năng liên tục, được gọi là thế năng  
màng (rnembrance potential). Khi thế năng màng vượt ngưỡng, nơron có thể truyền thế năng tác  
động đi xa theo các dây thần kinh.  
+ Quá trình học: Khi có xung kích thích từ bên ngoài tới, các khớp hoặc cho đi qua hoặc  
không và kích thích hay ức chế các nơron tiếp theo. Học là một quá trình làm cho cách cập nhật này  
lặp lại nhiều lần đến một giá trị ổn định, cân bằng điện hoá giữa các nơron. (Trong mạng nơron nhân  
tạo, trọng số wij biểu diễn gía trị cân bằng đó đồng thời tạo mối liên kết giữa các nơron).  
Những nơron không có ý nghĩa khi xử lý đơn lẻ mà cần thiết liên kết với nhau tạo thành  
mạng. Đặc tính của hệ thần kinh được xác định bằng cấu trúc và độ bền của những liên kết đó. Có  
thể thay đổi độ bền vững liên kết (weight) bằng các thuật học khác nhau.  
Theo nghiên cứu của các nhà nơ ron sinh vật, một noron xử lý với tốc độ chỉ bằng 1/6 đến 1/7  
tốc độ của cổng logic. Các nơron sinh học thường được liên kết hàng nghìn, hàng vạn các phần tử  
với nhau theo nhiều cách tổ chức khác nhau rất phức tạp. Tuy nhiên, một số cách kết hợp các phần  
tử nơron thành mạng theo lớp (layer) được đúc kết như sau:  
+ Mạng một lớp: là tập hợp các nơron có đầu vào và đầu ra trên mỗi một phần tử.  
+ Mạng hai lớp: gồm một lớp đầu vào và một lớp đầu ra riêng biệt trên mỗi một phần tử.  
+ Mạng nhiều lớp: gồm nhiều lớp trong đó lớp đầu vào và lớp đầu ra riêng biệt. Các lớp nằm  
giữa lớp vào và lớp ra gọi là các lớp ẩn (Hidden layers).  
+ Mạng truyền thẳng: là mạng nhiều lớp mà quá trình truyền tín hiệu từ đầu ra lớp này đến đầu  
vào lớp kia theo một hướng xác định.  
+ Mạng truyền ngược: là mạng mà trong đó một hoặc nhiều đầu ra của các phần tử lớp sau  
truyền ngược tới đầu vào các lớp trước đó.  
+ Mạng tự tổ chức: là mạng có khả năng sử dụng những kinh nghiệm quá khứ để thích ứng với  
những biến đổi của môi trường (không dự báo trước).  
b) Mô hình nơron nhân tạo  
Mạng nơron sinh học có cấu trúc phức tạp. Mô hình một nơron nhân tạo được xây dựng từ  
ba thành phần chính: tổng các liên kết đầu vào, động học tuyến tính, phi tuyến không động học (Hình  
1.1b)  
* Bộ tổng liên kết. Bộ tổng liên kết đầu vào phần tử nơron có thể mô tả như sau:  
m
v(t) wy(t) b u (t) I  
k
k
k1  
trong đó: v(t) là tổng tất cả các đầu vào; uk(t) là các đầu vào ngoài, k=1,...,m; y(t) là đầu ra  
nơron; bk là trọng liên kết các đầu vào ngoài; w là trọng liên kết các đầu vào trong; I là ngưỡng.  
* Phần động học tuyến tính: Có nhiều hàm để mô tả phần động học tuyến tính. Đây là phần mô  
tả các xử lý bên trong của nơron. Dưới đây là một phương pháp dùng toán tử Laplace mô tả (Bảng  
1.1) phần động học tuyến tính như một hàm truyền đạt: X(s) = H(s) V(s)  
Một số hàm H(s) thường dùng cho nơron nhân tạo  
1
1sT  
H(s)  
1
Exp(-sT)  
121  
dx(t)  
dt  
dx(t)  
dt  
Quan hệ  
vào ra  
v(t)  
T
x(t) v(t)  
x(t) = v(t)  
x(t) = v(t-T)  
* Phần phi tuyến: Các đầu ra của nơ ron sinh vật là các xung, có giới hạn chặn. Trong mô phỏng, để  
đảm bảo hệ ổn định đầu ra, người ta thường gán hàm chặn ở lối ra cho các tín hiệu. Để đặc trưng  
cho điều đó, ở lối ra của mỗi nơ ron phải đặt một hàm chặn, thường ở dạng phi tuyến với hàm g(.).  
Như vậy đầu ra y có đặc trưng là một hàm: y = g(x(t)) (5.3)  
Có nhiều hàm phi tuyến có thể sử dụng trong phần phi tuyến. Một số hàm phi tuyến thường  
dùng. Một số dạng khác cũng được sử dụng. (Các nơron chuyển động ở vùng thị giác trong nơ ron  
sinh học có đặc tính của hàm Sigmoid, nơron ở khu vực quan sát có dạng hàm Gauss, nên việc mô  
hình hoá các đầu ra ở các dạng kể trên là phù hợp và tương ứng với các nơ ron sinh học)  
Một số hàm phi tuyến thường dùng trong các mô hình nơron  
Tên hàmCông thức Đặc tính Bước nhảy  
đơn vị Hard limiter  
(sgn)  
Hàm tuyến tính  
g(x) = x  
Hàm tuyến tính bão hoà  
Hàm tuyến tính bão hoà đối xứngHàm Sigmoid đơn cực  
(Unipolar Sigmoid)  
Hàm Sigmoid lưỡng cực  
(Bipolar  
Sigmoid)  
MẠNG NƠRON NHÂN TẠO  
122  
Phản hồi  
Truyền thẳng  
Tự tổ chức  
Nhiều  
lớp  
Một  
lớp  
Brain  
State-in  
Box  
Máy  
Boltz-  
mann  
Hop-  
field  
ánh xạ  
đặc  
trưng  
ART  
Back  
Propa-  
ration  
Perce Ada-  
Cohen  
Gross-  
berg  
Mc  
Culloch  
Pitts  
ptron  
line  
I1  
b11  
x1  
x2  
y1  
u1  
u2  
g(.)  
g(.)  
I2  
y2  
In  
um  
yn  
xn  
g(.)  
bnm  
Mạng nơron truyền thẳng một lớp  
Một số dạng hàm mũ, logarit cũng được sử dụng trong khâu đầu ra phi tuyến mặc dù cơ  
sở sinh vật của những hàm đó chưa được đặt ra. Đầu ra y(t) trong trường hợp tổng quát có  
thể là liên tục hoặc rời rạc.  
Cũng như nơron sinh vật, các nơron nhân tạo có thể liên kết với nhau để tạo thành mạng.  
Có nhiều cách kết hợp các nơron nhân tạo thành mạng, mỗi cách kết hợp tạo thành một loại  
lớp mạng khác nhau.  
123  
Tải về để xem bản đầy đủ
pdf 69 trang Thùy Anh 12/05/2022 2800
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Lập trình máy tính - Trí tuệ nhân tạo và hệ chuyên gia (Phần 2)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_lap_trinh_may_tinh_tri_tue_nhan_tao_va_he_chuyen.pdf