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 =P1Pmù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 đủ
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:
- giao_trinh_lap_trinh_may_tinh_tri_tue_nhan_tao_va_he_chuyen.pdf