1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU VỀ SUY DIỄN LÙI VÀ ỨNG DỤNG XÂY DỰNG HỆ CHUYÊN GIA BẤT KỲ

12 1,2K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 174,51 KB

Nội dung

Xây dựng các hệ chuyên gia đơn giản đáp ứng các tiêu chí: dễ sử dụng, dễ cập nhật, dễ chỉnh sửa để hỗ trợ con người trong công việc trở thành yêu cầu gần như không thể thiếu trong tất cả

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

-o0o -Báo cáo chuyên đề BIỂU DIỄN TRI THỨC VÀ SUY LUẬN

TÌM HIỂU VỀ SUY DIỄN LÙI

VÀ ỨNG DỤNG XÂY DỰNG

HỆ CHUYÊN GIA BẤT KỲ

Giảng viên hướng dẫn: PGS TS Đỗ Văn Nhơn

Học viên thực hiện: Hồ Mạnh Khương

MSHV: CH1301018

Trang 2

Mục lục

I Giới thiệu 3

II Suy diễn tiến và suy diễn lùi: 3

1 Suy diễn tiến: 3

2 Suy diễn lùi 4

3 So sánh suy diễn tiến và suy diễn lùi 4

3.1 Suy diễn tiến 4

3.2 Suy diễn lùi 5

III Xây dựng hệ chuyên gia bất kỳ sử dụng suy diễn lùi 6

3.1 Cơ chế hoạt động: 6

3.2 Ứng dụng xây dựng hệ hỗ trợ chẩn đoán lỗi phần cứng máy tính: 7

3.3 Ứng dụng xây dựng hệ hỗ trợ chẩn đoán một số bệnh cảm sốt thường gặp 9

IV Chương trình demo 10

V Tài liệu tham khảo 12

Trang 3

I Giới thiệu

Máy vi tính trong thời đại ngày nay đã trở thành công cụ đắc lực cho con người Đưa tri thức vào máy tính, con người dần tạo nên những hệ thống thông minh hơn, hỗ trợ được nhiều công việc hơn mà không cần bàn tay con người trực tiếp tham gia Xây dựng các hệ chuyên gia đơn giản đáp ứng các tiêu chí: dễ sử dụng, dễ cập nhật, dễ chỉnh sửa để

hỗ trợ con người trong công việc trở thành yêu cầu gần như không thể thiếu trong tất cả lĩnh vực đời sống hiện nay.[1]

Ứng dụng các công cụ đã có như máy học, các hệ ONT, các mô hình suy diễn, ta có thể xây dựng được những hệ chuyên gia đơn giản, ứng dụng các tri thức và hiểu biết của con người để hỗ trợ các mặt khác nhau của đời sống.[2]

Trong nội dung bài báo cáo này sẽ nói rõ thêm về mô hình suy diễn tiến và suy diễn lùi, ứng dụng suy diễn lùi để xây dựng các hệ chuyên gia bất kỳ

II Suy diễn tiến và suy diễn lùi:

1 Suy diễn tiến:

Là quá trình suy diễn bắt đầu từ tập sự kiện đã biết, rút ra những sự kiện mới và cứ như vậy cho đến khi có được sự kiện cần chứng minh hoặc không có luật nào sinh ra các

sự kiện mới (tập sự kiện đúng là cực đại)[2]

* Nhận xét:

- Quá trình suy diễn tiến là quá trình xem xét các luật, với mỗi luật ta xét phần điều kiện (ở vế trái) tới phần kết luận (ở vế phải) và khi mà tất cả các điều kiện của luật đều thoã mãn thì ta suy ra sự kiện trong phần kết luận Chính vì lẽ đó mà có tên là suy diễn tiến.[3]

- Trong mỗi bước của thủ tục, người ta xét một luật trong tập luật So sánh mỗi điều kiện (ở vế trái) của tập luật với các sự kiện trong cơ sở sự kiện,

Trang 4

nếu tất cả các điều kiện của luật được thoã mãn thì sự kiện trong phần kết luận được xem là sự kiện được suy ra Nếu sự kiện này là sự kiện mới (không có trong bộ nhớ làm việc) thì nó được đưa vào bộ nhớ làm việc Quá trình trên cứ lặp lại cho đến khi nào không có luật nào sinh ra sự kiện mới

- Quá trình suy diễn tiến không định hướng tới giải quyết một vấn đề nào cả, không hướng tới tìm ra câu trả lời cho một câu hỏi nào cả Suy diễn tiến chỉ

là quá trình suy ra các sự kiện mới từ các sự kiện có trong bộ nhớ làm việc

2 Suy diễn lùi

Là quá trình xuất phát từ sự kiện cần chứng minh và thay vào đó là những sự kiện ở

vế trái của 1 luật có vế phải là sự kiện cần chứng minh

Quá trình này được thực hiện cho đến khi đưa về các sự kiện là tập sự kiện con của tập sự kiện giả thiết (nghĩa là: để đưa ra kết luận b, ta thử tìm tất cả các luật có dạng: a1

⋀ ⋀ an ⟹ b, để có b, phải đưa ra các kết luận a1, ,an [2]

Quá trình xác định ai cũng tương tự như đối với b, nếu đến một lúc nào đó phát hiện được rằng có một ai nào đó không dẫn xuất được từ các giả thiết thì quay lui sang các luật sản xuất khác sinh ra b có dạng b1⋀ ⋀bm ⟹ b Ngược lại, nếu mọi ai đều dẫn xuất được giả thiết thì quá trình dẫn xuất ra b là đúng)

3 So sánh suy diễn tiến và suy diễn lùi [3]

3.1 Suy diễn tiến

Ưu điểm:

- Làm việc tốt khi bài toán có bản chất là đi thu thập thông tin rồi thấy điều cần suy diễn

- Cho ra khối lượng lớn các thông tin từ một số thông tin ban đầu Nó sinh ra nhiều thông tin mới

- Suy diễn tiến là tiếp cận lý tưởng đối với các loại bài toán cần giải quyết các nhiệm vụ như lập kế hoạch, điều hành, điều khiển và diễn dịch

Trang 5

Nhược điểm:

- Không cảm nhận được rằng chỉ cần một vài thông tin quan trọng hệ thống hỏi các câu hỏi có thể hỏi mà không biết rằng chỉ một ít câu đã đi đến kết luận được

- Hệ thống có thể hỏi cả câu hỏi không liên quan Có thể các câu trả lời cũng quan trọng nhưng làm người dùng lúng túng khi phải trả lời các câu chẳng dính đến chủ đề

3.2 Suy diễn lùi

Ưu điểm:

- Phù hợp với bài toán đưa ra giả thuyết và liệu giả thuyết đó có đúng hay không?

- Tập trung vào đích đã cho Nó tạo ra một loạt câu hỏi chỉ liên quan đến vấn

đề đang xét, thuận tiện đối với người dùng

- Khi suy diễn một điều gì từ thông tin đã biết, nó chỉ tìm trên một phần của

cơ sở tri thức thích đáng đối với bài toán đang xét

- Suy diễn lùi được đánh giá cao trong các bài toán như là chẩn đoán, dự đoán và tìm lỗi

Nhược điểm:

- Nhược điểm cơ bản của loại suy diễn này là nó thường tiếp theo dòng suy diễn thay vì đúng ra phải dừng ở đó mà sang nhánh khác

- Như vậy, dựa vào các ưu và nhược điềm của từng loại suy diễn mà ta nên chọn kỹ thuật suy diễn nào để áp dụng vào bài toán Trước tiên, ta xem xét các chuyên gia giải nó như thế nào? Nếu cần thu thập dữ liệu rồi mới quyết định suy diễn cái gì thì ta chọn suy diễn tiến Còn nếu đã có giải thuyết và cần chứng minh cái đích này thì ta dùng suy diễn lùi

Ví dụ: Một bác sĩ có thể hiểu hàng trăm vấn đề có thể xảy ra với một cá nhân, nhưng vẫn phải tìm hiểu hiện trạng của bệnh nhân, lúc đó cần suy diễn tiến

Trang 6

Nguợc lại bác sĩ hầu như thấy được bệnh (ví dụ như viêm họng) thì ông ta dùng suy diễn lùi

III Xây dựng hệ chuyên gia bất kỳ sử dụng suy diễn lùi

Chương trình gồm có 2 thành phần:

- Chương trình chạy (file exe)

- Các dữ liệu tri thức (được bố trí trong các thư mục)

Các dữ liệu tri thức được lưu trữ dưới dạng 2 file:

- File rules.txt: gồm các luật suy diễn dưới dạng mệnh đề

- File data.xml: gồm các dữ liệu diễn giải cho các luật trong file rules.txt Khi chạy chương trình, người dùng sẽ nhập vào các dữ kiện (gọi là triệu chứng) và hệ thống sẽ tiếp tục đưa ra các câu hỏi trả lời dưới dạng Có/Không để thu thập thêm dữ kiện

và đưa ra kết luận

3.1 Cơ chế hoạt động:

Thuật toán suy diễn lùi được áp dụng như sau:

Input: Tập các node kết luận

Ouput: Kết luận đúng hoặc rỗng (không giải quyết được)

Dữ liệu đọc vào được phân thành 2 tập: tập vế trái và vế phải

- Tập vế trái lưu các luật giả thiết

- Tập vế phải lưu các luật kết luận

File rules.txt gồm các luật được biểu diễn dưới dạng:

a ^ b ^ _c => d (nếu a và b và không c thì kết luận là d)

File data.xml

<?xml version="1.0" encoding="utf-8"?>

<data>

<item name="Ổ cứng">

Trang 7

<info id="a">phát tiếng kêu lạ</info>

</item>

<item name="Thùng máy">

<info id="c">mở không lên</info>

</item>

</data>

3.2 Ứng dụng xây dựng hệ hỗ trợ chẩn đoán lỗi phần cứng máy tính:

Tập dữ liệu data.xml

Ổ cứng không nhận ra trong danh sách phần cứng của bios ab

Thùng máy phát 1 tiếng beep khi mở d Thùng máy phát tiếng beep ngắn liên tục e Thùng máy phát tiếng beep dài từng khoảng f

Thùng máy mở lên khi cắm lại dây nguồn hoặc thay dây nguồn khác h Thùng máy lỏng/bị hỏng dây nguồn ba

CPU bị hỏng/lỏng dây nguồn quạt cb

Ổ CD/DVD nhấn nút không nhả đĩa, không sáng đèn j

Ổ CD/DVD không xuất hiện trong danh sách phần cứng của bios k

Ổ CD/DVD hoạt động khi cắm lại cáp nguồn l

Màn hình không hiện gì trên màn hình n

Màn hình bị lỏng dây cáp tín hiệu eb Màn hình hoạt động khi cắm lại dây nguồn n RAM có mùi khét/có chip nhớ bị biến dạng o RAM không gây tiếng beep khi rút ra cắm lại p

Trang 8

RAM không gây tiếng beep khi rút ra cắm lại vào khe ram khác q

Mainboard bị hỏng chân cắm ram gb

Tập luật rules.txt

1 a ^ _c ^ ab => aa

Nếu ổ cứng phát tiếng kêu lạ và thùng máy mở lên và ổ cứng không nhận ra trong danh sách phần cứng của bios thì ổ cứng hỏng cơ

2 b ^ ab => ad

Nếu ổ cứng không có tiếng quay và ổ cứng không nhận ra trong danh sách phần cứng của bios thì ổ cứng bị lỏng cáp nguồn

3 _b ^ ab => ac

Nếu ổ cứng có tiếng quay và ổ cứng không nhận ra trong danh sách phần cứng của bios thì ổ cứng bị lỏng cáp kết nối

4 c ^ h => ba

5 i ^ c => cb

6 i ^ f => ca

7 _c ^ j ^ l => db

8 j ^ k ^ _l => da

9 m ^ n ^ n => ea

10 _m ^ n ^ _c => eb

11 o ^ c => fa

12 _o ^ _c ^ e ^ p => fb

13 _o ^ q => gb

14 c ^ e ^ p => fb

15 c ^ e ^ q => gb

16 r ^ _c => ga

Trang 9

17 c ^ g ^ _h => bb

3.3 Ứng dụng xây dựng hệ hỗ trợ chẩn đoán một số bệnh cảm sốt thường gặp

Tập dữ liệu data.xml

Bệnh do thay đổi thời tiết/nhiễm lạnh af

Nhiệt độ cơ thể hơi cao (từ 37 đến 38 độ) a Nhiệt độ cơ thể cao (từ 38 đến 39 độ) b Nhiệt độ cơ thể rất cao (trên 39 độ) c Nhiệt độ cơ thể bình thường (dao động từ 36.5 đến 37.5 độ) d Mũi chảy nước mũi trong và loãng e Mũi chảy nước mũi trong và đặc f Mũi chảy nước mũi đặc và đổi màu (vàng hoặc xanh) g

Cổ họng nuốt nước bọt thấy đau k

Đầu nhức nửa bên trái hoặc phải m Đầu nhức cả đầu và rất nhiều n

Cơ thể nổi ban đỏ, dùng tay ấn nốt ban lặn đi và trở lại sau vài giây o

Cơ thể nổi ban đỏ, dùng tay ấn nốt ban không lặn đi p

Cơ thể bình thường và không có bệnh ah

Tập luật rules.txt

1 a ^ e ^ o ^ _j ^ _k ^ _m ^ _n => aa

Nếu nhiệt độ cơ thể hơi cao (từ 37 đến 38 độ) và mũi chảy nước mũi trong và loãng và cơ thể nổi ban đỏ, dùng tay ấn nốt ban lặn đi và trở lại sau vài giây và

cổ họng không có đàm và cổ họng nuốt nước bọt không thấy đau và đầu không nhức nửa bên trái hoặc phải và đầu không nhức cả đầu rất nhiều thì Bệnh sốt xuất huyết

Trang 10

2 a ^ f ^ j ^ o => ab

Nếu nhiệt độ cơ thể hơi cao (từ 37 đến 38 độ) và mũi chảy nước mũi trong và đặc

và cổ họng có đàm thì bệnh cúm

3 f ^ b => af

Nếu mũi chảy nước mũi trong và đặc và nhiệt độ cơ thể cao thì bệnh do thay đổi thời tiết/nhiễm lạnh

4 d ^ g ^ j ^ _k => ac

5 j ^ k ^ _l ^ _m ^ _n => ad

6 c ^ o ^ j ^ k => ae

7 c ^ o ^ l => ae

8 c ^ p ^ j ^ k => ag

9 c ^ p ^ l => ag

10 d ^ _e ^ _j ^ _k ^ _l => ah

11 q ^ a ^ k ^ _j => af

12 a ^ j ^ _o ^ _p => af

IV Chương trình demo

Giao diện chương trình:

Danh sách các hệ hỗ trợ được nhập vào từ file data.txt gồm

Trang 11

tên thực mục chứ dữ liệu:tên của hệ hỗ trợ

- Người dùng tùy chọn hệ hỗ trợ cần sử dụng

- Người dùng chọn các triệu chứng để thêm vào bảng các triệu chứng

- Phần mềm đặt ra các câu hỏi tương ứng để có thể dữ kiện suy luận nguyên nhân vấn đề

Sau khi đặt ra các câu hỏi và được người dùng trả lời, chương trình sẽ suy luận và đưa ra kết luận tương ứng

Nhận xét:

Ưu điểm:

- Chương trình có cách nhập liệu đơn giản, có thể dễ dàng chuyển giao cho những người có kiến thức tin học không chuyên sâu phụ trách (bác sĩ, giáo viên phổ thông…)

- Suy luận khá chính xác với những vấn đề không phức tạp

- Tốc độ suy luận nhanh Có thể chuyển sang ứng dụng web để hỗ trợ đa nền tảng

- Có thể thêm vào dữ liệu để tạo ra hệ hỗ trợ khác dễ dàng

Trang 12

Khuyết điểm:

- Chưa thực sự thông minh khi giải quyết các vấn đề chưa gặp phải (có thể khắc phục bằng cách tích hợp thêm các phương pháp học máy)

- Chưa hỗ trợ các toán tử phức tạp (như hoặc, các dấu ngoặc điều kiện)

V Tài liệu tham khảo

Các Hệ Cơ Sở Tri Thức NXB Đại Học Quốc Gia TP.HCM, 2008

[2] PGS TS Đỗ Văn Nhơn, Bài giảng cao học “Biểu diễn tri thức và suy luận”,

Lưu hành nội bộ, 2013

[3] Adrian A Hopgood, Intelligent Systems for Engineers and Scientists, Third

Edition, 2011

Ngày đăng: 19/05/2015, 02:06

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w