Đề tài CHƯƠNG 2 RULE BASED EXPERT SYSTEMS Đề tài CHƯƠNG 2 RULE BASED EXPERT SYSTEMS Đề tài CHƯƠNG 2 RULE BASED EXPERT SYSTEMS Đề tài CHƯƠNG 2 RULE BASED EXPERT SYSTEMS Đề tài CHƯƠNG 2 RULE BASED EXPERT SYSTEMS Đề tài CHƯƠNG 2 RULE BASED EXPERT SYSTEMS Đề tài CHƯƠNG 2 RULE BASED EXPERT SYSTEMS
Trang 1ĐẠ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
Trang 2H CHUYÊN GIA D A TRÊN Ệ CHUYÊN GIA DỰA TRÊN ỰA TRÊN
LU T ẬT
H CHUYÊN GIA D A TRÊN Ệ CHUYÊN GIA DỰA TRÊN ỰA TRÊN
LU T ẬT
-L a ch n ph bi n nh t cho vi c xây d ng h th ng n n ựa chọn phổ biến nhất cho việc xây dựng hệ thống nền ọn phổ biến nhất cho việc xây dựng hệ thống nền ổ biến nhất cho việc xây dựng hệ thống nền ến nhất cho việc xây dựng hệ thống nền ất cho việc xây dựng hệ thống nền ệc xây dựng hệ thống nền ựa chọn phổ biến nhất cho việc xây dựng hệ thống nền ệc xây dựng hệ thống nền ống nền ền
t ng tri th c đó là: h th ng d a vào ch d n chuyên môn ảng tri thức đó là: hệ thống dựa vào chỉ dẫn chuyên môn ức đó là: hệ thống dựa vào chỉ dẫn chuyên môn ệc xây dựng hệ thống nền ống nền ựa chọn phổ biến nhất cho việc xây dựng hệ thống nền ỉ dẫn chuyên môn ẫn chuyên môn (các lu t chuyên môn) ật chuyên môn).
-Ch ương 2 tập trung vào cách biểu diễn tri thức dựa ng 2 t p trung vào cách bi u di n tri th c d a ật chuyên môn) ểu diễn tri thức dựa ễn tri thức dựa ức đó là: hệ thống dựa vào chỉ dẫn chuyên môn ựa chọn phổ biến nhất cho việc xây dựng hệ thống nền trên t p lu t và c ch suy di n lu t ật chuyên môn) ật chuyên môn) ơng 2 tập trung vào cách biểu diễn tri thức dựa ến nhất cho việc xây dựng hệ thống nền ễn tri thức dựa ật chuyên môn).
Trang 4Tri 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 chuyên 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 chuyên gia và không thể duy trì trong kinh doanh mà không
có họ.
Trang 5có 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 chuyên 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 chuyên 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 chuyên 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.
Trang 6ra trong nội tâm, và nó là quá phức tạp để được gọi là một thuật toán. Tuy nhiên, hầu hết các chuyên gia có khả năng thể hiện kiến thức của họ trong các khuông 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 ngoài ! Ông muốn vượt qua một con đường. Bạn có thể giúp anh ta? Bạn là một chuyên 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 ngoài. Làm thế nào bạn làm điều này?
Trang 7Bạn giải thích để người nước ngoài rằng ông có thể
băng qua đường một cách an toà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
Trang 8- 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
nguyên 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.
Trang 9 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ừ khoá 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.
Trang 11-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 toán tử. Toán tử xác định các đối tượng và gán giá trị.
-Các toá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 chuyên gia cũng có thể sử dụng toán tử số học định nghĩa đối tượng số và gán cho
nó giá trị bằng số.
Trang 12IF ‘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ì yêu cầu chữ kí phụ huynh
Trang 13gá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à
Trang 14Có các loại qui tắc như: quan hệ, kiến nghị, chỉ thị, chiến lược và chẩn đoán (Durkin, 1994).
Trang 15THEN the ‘spill material’ is ‘acetic acid’ //Thì 'tràn nhiên liệu' là 'acid acetic'
Trang 16 2.3 Các thành phần chính trong đội ngũ chuyên gia phát triển hệ thống:
chuyên 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 chuyên 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 chuyên 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.
Trang 17xử 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 chuyên gia, một chương trình máy tính có khả năng thực hiện ở cấp độ của mộtchuyên gia (con người) trong một vấn đề nào đó
- Các hệ thống chuyên gia phổ biến nhất là hệ
thống dựa trên nguyên 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 nguyên tắc phát triển hệ thống chuyên gia
- vỏ hệ thống chuyên gia cho máy tính cá nhân
Trang 18- Một vỏ hệ thống chuyên gia có thể được xem xét như một hệ thống chuyên 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 khuông 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 chuyên gia và những kỹ năng là cần thiết
Trang 19kỹ 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 chuyên gia của họ hoàn toà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
Trang 21-Các chuyên 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ó chuyên môn lớn nhất trong một lĩnh vực nhất định.Các chuyên môn này được đưa vào trong các hệ thống chuyên gia. Vì vậy,các chuyên 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 chuyên gia và cam kết một số lượng
đáng kể thời gian cho dự án. Các chuyên gia lĩnh vực là thành phần quan trọng nhất trong phát triển đội ngũ chuyên gia hệ thống.
Trang 22và thử nghiệm một hệ thống chuyên 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
chuyên gia. Họ phỏng vấn các chuyên 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 chuyên gia, kỹ sư tri thức thiết lập những phương pháp suy luận chuyên 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 chuyên 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
chuyên 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à soát và tích hợp hệ thống chuyên 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 chuyên gia và giao lại cho khách hàng, và thậm chí cả sau khi dự án hoàn thành, người đó cũng có thể được tham gia trong việc duy trì hệ thống.
Trang 23-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 chuyên gia. Ngoài ra, các lập
Trang 24sử 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 soá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 chuyên gia
Trang 25kiện quan trọng được đáp ứng,tương tác với những kiến thức, chuyên gia kỹ sư, lập trình và người
dùng cuối
Trang 26là một chuyên gia sử dụng hệ thống khi nó đã được phát
triển. Người sử dụng có thể là một nhà hóa học phân tích xác định cấu trúc phân tử của đất từ sao Hỏa (Feigenbaum et al, 1971), một bác sĩ chẩn đoán một căn bệnh máu nhiễm
(Shortliffe, 1976), một nhà thăm dò địa chất học cố gắng
khám phá ra mỏ khoáng sản mới (Duda et al, 1979), hoặc ngành điện có hệ thống của vận hành cần cảnh báo trong trường hợp khẩn cấp (Negnevitsky, 1996). Mỗi những người
sử dụng hệ thống chuyên gia có nhu cầu khác nhau, mà hệ thống phải đáp ứng: chấp nhận cuối cùng của hệ thống sẽ phụ thuộc vào sự hài lòng của người dùng. Người sử dụng không chỉ tự tin trong việc thực hiện hệ thống chuyên gia, nhưng cũng cảm thấy thoải mái bằng cách sử dụng nó. Vì vậy, việc thiết kế giao diện người dùng của chuyên gia hệ thống cũng là quan trọng cho sự thành công của dự án,người dùng cuối ở đây có vai trò rất quan trọng.
Trang 27- Sự phát triển của một hệ thống chuyên gia có thể được bắt đầu khi đầy đủ tất cả năm nhóm chuyên gia. Tuy nhiên, nhiều hệ thống chuyên gia máy tính cá nhân
phát triển sử dụng vỏ hệ thống chuyên gia. Điều này có thể loại bỏ sự cần thiết cho lập trình và cũng có thể làm giảm vai trò của các kỹ sư tri thức. Đối với hệ thống chuyên gia nhỏ, quản lý dự án, tri thức kỹ sư, lập trình
và ngay cả những chuyên gia có thể là cùng một người. Tuy nhiên, tất cả các nhóm được cần phải tham gia khi đang phát triển hệ thống chuyên gia lớn.
Trang 282.4 Cấu trúc của một hệ thống chuyên gia dựa trên
nguyên tắc:
-Trong đầu những năm 1970, Newell và Simon từ Đại học Carnegie-Mellon đề xuất một mô hình hệ thống sản xuất, nền tảng của các chuyên gia dựa trên nguyên tắc hiện đại
hệ thống (Newell và Simon, 1972). Mô hình sản xuất dựa trên ý tưởng rằng con người giải quyết vấn đề bằng cách
áp dụng kiến thức của họ(diễn tả dưới dạng Luật sản xuất)
là một vấn đề được đại diện bởi các thông tin vấn đề cụ thể.Các Luật sản xuất được lưu trữ trong bộ nhớ dài hạn
và các vấn đề cụ thể thông tin hoặc sự kiện trong bộ nhớ ngắn hạn. Hệ thống mô hình sản xuất và cấu trúc cơ bản của một hệ thống chuyên gia dựa trên nguyên tắc được thể hiện trong hình 2.2.
Một hệ thống chuyên gia dựa trên nguyên tắc có năm
thành phần: cơ sở tri thức,cơ sở dữ liệu, công cụ suy luận, các cơ sở giải thích, và giao diện người sử dụng
Trang 31 Hình 2.2 Hệ thống sản xuất và cấu trúc cơ bản của một hệ thống chuyên gia dựa trên nguyên tắc:
(a) hệ thống mô hình sản xuất; (b) cấu trúc cơ bản của một hệ thống chuyên gia dựa trên nguyên tắc
Trang 32-Các cơ sở tri thức thức chứa lĩnh vực tri thức hữu ích cho giải quyết vấn đề.Trong một hệ thống chuyên gia dựa trên nguyên tắc, tri thức được biểu diễn như là
một tập hợp các Luật. Mỗi Luật xác định một mối
quan hệ, đề nghị, chỉ thị, chiến lược hay phỏng đoán
và có cấu trúc IF (điều kiện) THEN (hành động). Khi điều kiện được thỏa mãn một phần của một Luật, Luật loại bỏ và một phần hành động được thực thi.
cơ bản với các dữ kiện được cung cấp trong cơ sở dữ liệu.
Trang 33là cần thiết. Một hệ thống chuyên gia phải có khả năng giải thích lý do và biện minh cho những tư vấn, phân tích hoặc kết luận
-Giao diện người dùng là các phương tiện giao tiếp giữa người sử dụng tìm kiếm một giải pháp cho
các vấn đề và một hệ thống chuyên gia. Các giao diện giao tiếp phải có ý nghĩa và thân thiện nhất có thể
Trang 34Giao diện bên ngoài cho phép một hệ thống
chuyên gia để làm việc với dữ liệu bên ngoài các tập tin và các chương trình viết bằng ngôn ngữ lập trình thông thường như C,Pascal, FORTRAN và
cơ bản. Cấu trúc đầy đủ của một hệ thống chuyên gia dựa trên nguyên tắc được hiển thị trong hình 2.3
Các nhà phát triển giao diện thường bao gồm
những người có kiến thức cơ bản,
hỗ trợ gỡ lỗi và nhập /xuất chương trình
Trang 35Hình 2.3 C u trúc c a m t h th ng chuyên gia d a trên ất cho việc xây dựng hệ thống nền ủa một hệ thống chuyên gia dựa trên ột hệ thống chuyên gia dựa trên ệc xây dựng hệ thống nền ống nền ựa chọn phổ biến nhất cho việc xây dựng hệ thống nền
Trang 36Tất cả các chuyên gia vỏ hệ thống thống cung cấp một trình soạn thảo văn bản đơn giản nhập và sửa đổi
Luật, và để kiểm tra định dạng chính xác của họ và lỗi chính tả. Nhiều hệ thống chuyên gia cũng bao gồm các cuốn sách lưu giữ phương tiện tiện để theo dõi các thay đổi được thực hiện bởi tri thức kỹ sư hoặc
chuyên gia bao gồm cả các cuốn sách lưu giữ phương tiện để theo dõi các thay đổi được thực hiện bởi tri
thức kỹ sư hoặc chuyên gia. Nếu một Luật được thay đổi, biên tập viên sẽ tự động lưu trữ thay đổi ngày
tháng và tên của người thực hiện thay đổi này cho sau này tham khảo. Điều này là rất quan trọng khi một số
kỹ sư tri thức và các chuyên gia có quyền truy cập vào
cơ sở tri thức và có thể sửa đổi nó. Hỗ trợ gỡ lỗi
thường bao gồm các phương tiện bị truy tìm lỗi và
ngắt gói.
Trang 37Tracing(dấu vết) cung cấp một danh sách của tất cả các Luật bị loại bỏ trong quá trình thực hiện của chương trình, và ngắt gói làm cho nó có thể nói
Trang 38Nhìn chung, giao diện các nhà phát triển dùng để nhập vào kiến thức cơ sở đặc biệt, được thiết kế để cho phép một chuyên gia lĩnh vực nhập kiến thức của mình trực tiếp trong hệ thống chuyên gia và do
đó giảm thiểu sự can thiệp của một kỹ sư tri thức
Trang 392.5 đặc điểm cơ bản của một hệ thống chuyên gia
-Một hệ thống chuyên gia được xây dựng để thực hiện ở một mức độ chuyên môn của con người
trong một lĩnh vực chuyên ngành. Vì vậy, các đặc tính quan trọng nhất của một hệ thống chuyên gia
là hiệu suất,chất lượng cao. Làm thế nào để hệ
thống có thể giải quyết nhanh một vấn đề và người dùng sẽ không được hài lòng nếu kết quả là sai.
Mặt khác,tốc độ giải quyết một giải pháp là rất
quan trọng. Ngay cả quyết định hoặc chẩn đoán
chính xác nhất có thể không hữu ích nếu nó là quá muộn để áp dụng, ví dụ, trong trường hợp khẩn
cấp khi một bệnh nhân chết hoặc một nhà máy
điện hạt nhân phát nổ
Trang 40họ và sự hiểu biết của vấn đề để tìm ngắn cắt giảm một giải pháp. Các chuyên gia sử dụng Luật của ngón tay cái hoặc Luật chẩn đoán. Giống như đối tác nhân lực, chuyên gia hệ thống áp dụng
heuristics để hướng dẫn lý luận và do đó làm giảm các khu vực tìm kiếm một giải pháp