ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
KHOA: KHOA HỌC MÁY TÍNH
BÀI BÁO CÁO ĐỒ ÁN
MÔN HỆ CƠ SỞ TRI THỨC
Đề tài:
CHƯƠNG 2:
RULE-BASED EXPERT SYSTEMS
Giáo viên hướng dẫn: PHẠM THI VƯƠNG
nhóm 2
Hệ chuyên gia dựa trên luật
-Lựa chọn phổ biến nhất cho việc xây dựng hệ thống nền tảng tri thức đó là: hệ thống dựa vào chỉ
dẫn chun mơn (các luật chuyên môn).
-Chương 2 tập trung vào cách biểu diễn tri thức d ựa trên tập lu ật và c ơ ch ế suy di ễn lu ật.
2.1 Giới Thiệu,Tri
thức là gì?
-Trong những năm 1970,cuối cùng người ta đã chấp nhận rằng có thể làm cho máy tính
giải quyết một tri thức,một vấn đề đã có giải pháp. Nói cách khác, nó có thể có tri thức,
cách thức nhận biết, trong một số lĩnh vực cụ thể.
Tri thức là gì?
-Tri thức là một sự hiểu biết về lý thuyết hoặc thực tế về một chủ đề, hoặc lĩnh vực.
-Tri thức là tổng hợp của những kiến thức hiện đang được biết đến, và dường như kiến thức là
sức mạnh. Những người có tri thức được gọi là các chun gia. Họ là những người mạnh
mẽ và quan trọng nhất trong các tổ chức của họ. Bất kỳ thành cơng cơng ty có ít nhất một
vài đóng góp đáng kể của các chun gia và khơng thể duy trì trong kinh doanh mà khơng
có họ.
Những ai được cơng nhận là một chun gia?
-Bất cứ ai cũng có thể được coi là một chun gia nếu họ có kiến thức sâu rộng và kinh nghiệm
thực tế trong một lĩnh vực cụ thể. Trong mỗi lĩnh vực đều có giới hạn riêng của nó. Ví dụ, các
chun gia trong các nhà máy điện chỉ có thể có kiến thức chung về máy biến áp, trong khi các
chun gia trong tiếp thị bảo hiểm cuộc sống có thể có sự hiểu biết hạn chế của một chính
sách bảo hiểm bất động sản. Nói chung, một chun gia là một người khéo léo có thể làm
những điều người khác khơng làm được.
Các chun gia suy nghĩ như thế nào?
-Những suy nghĩ của con người là cả một q trình xảy ra trong nội tâm, và nó là q phức tạp để
được gọi là một thuật tốn. Tuy nhiên, hầu hết các chun gia có khả năng thể hiện kiến thức
của họ trong các khng khổ các Luật cho việc giải quyết một vấn đề.
Hãy xem xét một ví dụ đơn giản: Hãy tưởng tượng bạn gặp một người nước ngồi ! Ơng muốn
vượt qua một con đường. Bạn có thể giúp anh ta? Bạn là một chun gia trong lĩnh vực đường
bộ cắt ngang - bạn đã được vào cơng việc này trong nhiều năm. Vì vậy bạn có thể dạy cho
người nước ngồi. Làm thế nào bạn làm điều này?
-Cách giải quyết:
Bạn giải thích để người nước ngồi rằng ơng có thể băng qua đường một cách an tồn khi đèn
giao thơng là màu xanh lá cây, và ơng phải dừng lại khi đèn giao thơng màu đỏ. Đây là những
Luật cơ bản.
Kiến thức của bạn có thể được xây dựng như các câu lệnh đơn giản sau đây:
IF the ‘traffic light’ is green //Nếu là đèn xanh thì hành động đi
THEN the action is go
IF the ‘traffic light’ is red //Nếu là đèn đỏ thì hành động dừng lại
THEN the action is stop
- Các câu lệnh đại diện dưới hình thức IF-THEN được gọi để biểu diễn các Luật. Thuật ngữ " rule"
trong AI, là loại được sử dụng phổ biến nhất đại diện tri thức, có thể được định nghĩa là một
cấu trúc IF-THEN có liên quan cung cấp thơng tin hoặc điều kiện trong phần IF và để một số
hành động trong phần THEN. Một ngun tắc cung cấp một số mơ tả làm thế nào để giải
quyết một vấn đề. Quy định tương đối dễ dàng tạo ra và hiểu.
2.2
Luật Biểu Diễn Phương Pháp Tri Thức
-Bất kỳ Luật bao gồm hai phần: phần IF, được gọi là các tiên quyết (tiền đề hoặc điều kiện) và một
phần THEN được gọi là hệ quả (kết luận, hành động).
Cú pháp cơ bản của một Luật là:
IF<antecedent>
THEN <consequent>
Nói chung, một Luật có thể có nhiều tiền đề gia nhập bởi các từ khố AND(kết hợp), OR
(hoặc) hoặc kết hợp cả hai. Tuy nhiên, đó là 1 thói quen tốt để tránh được sự pha trộn giữa sự
kết hợp và chia rẽ trong cùng 1 quy luật.
- Các tiền đề của 1 Luật :
IF <antecedent 1>
AND <antecedent 2>
.
.
.
AND <antecedent n>
THEN <consequent>
IF <antecedent 1>
OR <antecedent 2>
.
.
.
OR <antecedent n>
THEN <consequent>
Các hệ quả quả của một Luật cũng có thể có nhiều mệnh đề:
IF <antecedent>
THEN <consequent 1>
<consequent 2>
.
.
.
<consequent m>
-Tiền đề ( antecedent ) của một Luật kết hợp hai phần: một đối tượng (ngơn ngữ đối tượng)
và giá trị của nó. Trong ví dụ qua đường, đèn giao thơng, các đối tượng ngơn ngữ có thể có
một trong hai giá trị màu xanh lá cây hoặc màu đỏ. Các đối tượng và giá trị của nó được gán
bởi một tốn tử. Tốn tử xác định các đối tượng và gán giá trị.
-Các tốn tử như is, are, is not, are not được sử dụng để gán một giá trị tượng trưng cho một ngơn
ngữ đối tượng. Tuy nhiên, hệ thống chun gia cũng có thể sử dụng tốn tử số học định nghĩa
đối tượng số và gán cho nó giá trị bằng số.
. Ví dụ:
IF ‘age of the customer’ < 18 //Nếu tuổi của khách hàng <18 và rút số tiền >1000
AND ‘cash withdrawal’ > 1000
THEN ‘signature of the parent’ is required //Thì u cầu chữ kí phụ huynh
-Tương tự như Luật tiền đề, hệ quả kết hợp một đối tượng và giá trị kết nối bởi một tốn tử.
Tốn tử gán giá trị cho các đối tượng ngơn ngữ.Trong ví dụ qua đường, nếu giá trị của
đèn giao thơng màu xanh lá cây, Luật đầu tiên thiết lập Luật hành động đối tượng ngơn
ngữ giá trị đi. Số đối tượng và thậm chí đơn giản biểu hiện số học cũng có thể được sử
dụng trong một Luật hệ quả.
IF ‘taxable income’ > 16283 //Nếu có thu nhập chịu thuế > 16283
THEN ‘Medicare levy’ ¼ ‘taxable income’ 1.5 / 100 //Thì chịu thuế 1.5% ....
Có các loại qui tắc như: quan hệ, kiến nghị, chỉ thị, chiến lược và chẩn đốn (Durkin, 1994).
// Relation Quan Hệ
IF the ‘fuel tank’ is empty //Nếu bình chưa xăng xe hết xăng
THEN the car is dead //Xe khơng đi được
// Recommendation Khuyến cáo
IF the season is autumn //Nếu đang là mùa thu,trời nhiều mây và
AND the sky is cloudy
AND the forecast is drizzle // dự báo có mưa phùn
THEN the advice is ‘take an umbrella’ //Thì nhớ mang theo dù
//Directive Hướng dẫn
IF the car is dead //Nếu xe chết,bồn chưa xăng khơng cịn xăng
AND the ‘fuel tank’ is empty
THEN the action is ‘refuel the car’ //Thì nộp nhiên liệu
Strategy //Chiến lược
IF the car is dead //Nếu xe chết thì kiểm tra bình xăng.
THEN the action is ‘check the fuel tank’;
step1 is complete //Bước 1 hồn tất
IF step1 is complete //Nếu bước 1 hồn tất và bình xăng cịn đầy
AND the ‘fuel tank’ is full
THEN the action is ‘check the battery’; //Thì kiểm tra pin
step2 is complete //Bước 2 hồn tất
Heuristic //Chẩn đốn
IF the spill is liquid //Nếu vụ tràn dầu là chất lỏng và pH<6 và có mùi dấm
AND the ‘spill pH’ < 6
AND the ‘spill smell’ is vinegar
THEN the ‘spill material’ is ‘acetic acid’ //Thì 'tràn nhiên liệu' là 'acid acetic'
2.3 Các thành phần chính trong đội ngũ chuyên gia phát triển hệ thống:
-Ngay sau khi tri thức thức được cung cấp bởi một chun gia (con người) , chúng ta có
thể nhập nó vào một máy tính. Chúng ta hy vọng các máy tính để hoạt động như một
trợ lý thơng minh trong một số lĩnh vực chun mơn cụ thể hoặc để giải quyết một vấn
đề mà nếu khơng sẽ phải nhờ giải quyết bởi một chun gia (con người).Chúng ta cũng
muốn các máy tính có thể tích hợp tri thức mới và cho thấy tri thức của mình trong một
hình thức dễ dàng để đọc và hiểu, và để xử lý những câu đơn giản trong một ngơn ngữ
tự nhiên hơn là một ngơn ngữ lập trình nhân tạo.
- Cuối cùng, chúng ta muốn máy tính của chúng ta xử lý như thế nào đó để nó đạt đến một
kết luận cụ thể. Nói cách khác, chúng ta phải xây dựng một hệ thống chun gia, một
chương trình máy tính có khả năng thực hiện ở cấp độ của mộtchun gia (con người)
trong một vấn đề nào đó.
- Các hệ thống chun gia phổ biến nhất là hệ thống dựa trên ngun tắc. Một số lượng
lớn chúng được xây dựng và áp dụng thành cơng trong các lĩnh vực như kinh doanh và
kỹ thuật,y học và địa chất, hệ thống điện và khai thác mỏ. Một số lượng lớn các cơng ty
sản xuất phần mềm dựa trên ngun tắc phát triển hệ thống chun gia - vỏ hệ thống
chun gia cho máy tính cá nhân.
Một vỏ hệ thống chun gia là gì?
- Một vỏ hệ thống chun gia có thể được xem xét như một hệ thống chun gia chưa có
các tri thức . Vì vậy, tất cả người dùng phải làm là thêm tri thức thức trong khng khổ
các Luật và cung cấp dữ liệu liên quan để giải quyết một vấn đề.
Bây giờ chúng ta nhìn vào những ai cần để phát triển một hệ thống chun gia và những
kỹ năng là cần thiết.
- Nói chung, có năm nhóm các chun gia tham gia phát triển hệ thống: các chun gia lĩnh
vực, các kỹ sư tri thức, lập trình viên, quản lý dự án (manager) và người dùng cuối. Sự
thành cơng của hệ thống chun gia của họ hồn tồn phụ thuộc các thành viên làm
việc cùng nhau như thế nào. Các mối quan hệ cơ bản trong các nhóm phát triển được
tóm tắt trong hình 2.1.
-Các chun gia lĩnh vực là một người có kiến thức và tay nghề cao có khả năng giải quyếtvấn đề trong
một lĩnh vực cụ thể. Người có chun mơn lớn nhất trong một lĩnh vực nhất định.Các chun mơn này
được đưa vào trong các hệ thống chun gia. Vì vậy,các chun gia phải có khả năng truyền đạt kiến
thức của mình, sẵn sàng tham gia trong việc phát triển hệ thống chun gia và cam kết một số lượng
đáng kể thời gian cho dự án. Các chun gia lĩnh vực là thành phần quan trọng nhất trong phát triển đội
ngũ chun gia hệ thống.
-Các kỹ sư tri thức là một người có khả năng thiết kế, xây dựng và thử nghiệm một hệ
thống chun gia. Người này có trách nhiệm lựa chọn một nhiệm vụ thích hợp cho các
hệ thống chun gia. Họ phỏng vấn các chun gia lĩnh vực để tìm hiểu một vấn đề cụ
thể được giải quyết như thế nào. Thơng qua tương tác với các chun gia, kỹ sư tri thức
thiết lập những phương pháp suy luận chun gia sử dụng để xử lý các sự kiện và các
Luật và quyết định làm thế nào để đại diện cho họ trong các hệ thống chun gia. Các
kỹ sư tri thức sau đó chọn một số phần mềm phát triển hoặc một vỏ hệ thống chun
gia, hoặc nhìn vào ngơn ngữ lập trình để mã hóa kiến thức (và đơi khi mã hóa bản thân
mình). Và cuối cùng, kỹ sư chịu trách nhiệm kiểm tra, rà sốt và tích hợp hệ thống
chun gia vào nơi làm việc. Vì vậy, các kỹ sư tri thức cam kết để dự án từ giai đoạn
thiết kế ban đầu đến bước cuối cùng của hệ thống chun gia và giao lại cho khách
hàng, và thậm chí cả sau khi dự án hồn thành, người đó cũng có thể được tham gia
trong việc duy trì hệ thống.
-Lập trình viên là người phụ trách cho lập trình,mơ tả tri thức thức về một lĩnh vực mà trong đó
máy tính có thể hiểu được.
Lập trình viên cần phải có kỹ năng trong lập trình AI với các ngơn ngữ như : LISP, Prolog và
OPS5 và cũng có một số kinh nghiệm trong các loại ứng dụng khác nhau của vỏ hệ thống
chun gia. Ngồi ra, các lập trình viên nên biết các ngơn ngữ lập trình thơng thường và cơ
bản như C, Pascal, FORTRAN.
Nếu một lớp vỏ được sử dụng hệ thống chun gia, kỹ sư có thể dễ dàng mã hóa kiến thức vào
hệ thống chun gia và do đó loại bỏ sự cần thiết cho các lập trình viên.
Tuy nhiên, nếu vỏ hệ thống chun gia khơng thể sử dụng được, một lập trình viên phải
xây dựng tri thức và biểu diễn các cấu trúc dữ liệu (tri thức cơ bản và cơ sở dữ liệu), cơ
cấu kiểm sốt cấu trúc (cơng cụ suy luận) và đối thoại (giao diện người dùng). Các lập
trình viên cũng có thể được tham gia vào thử nghiệm hệ thống chun gia.
- Người quản lý dự án là người lãnh đạo của nhóm chun gia phát triển hệ thống, chịu
trách nhiệm theo dõi cho các dự án.Anh ta hoặc cơ ta làm cho chắc chắn rằng tất cả
những chuyển giao và sự kiện quan trọng được đáp ứng,tương tác với những kiến thức,
chun gia kỹ sư, lập trình và người dùng cuối.