GIÁO TRÌNH

Trí tuệ nhân tạo

Mathematics and Statistics

Phối hợp nhiều cách biểu diễn tri thức

Tác giả: hoangkiem

PHỐI HỢP NHIỀU CÁCH BIỂU DIỄN TRI THỨC

Mục tiêu chính biểu diễn tri thức trong máy tính là phục vụ cho việc thu nhận tri thức vào máy tính, truy xuất tri thức và thực hiện các phép suy luận dựa trên những tri thức đã lưu trữ. Do đó, để thỏa mãn được 3 mục tiêu trên, khi chọn phương pháp biểu diễn tri thức, chúng ta phải cân nhắc một số yếu tố cơ bản sau đây :

Tính tự nhiên, đồng bộ và dễ hiểu của biểu diễn tri thức.

Mức độ trừu tượng của tri thức : tri thức được khai báo cụ thể hay nhúng vào hệ thống dưới dạng các mã thủ tục?

Tính đơn thể và linh động của cơ sở tri thức (có cho phép dễ dàng bổ sung tri thức, mức độ phụ thuộc giữa các tri thức, ...)

Tính hiệu quả trong việc truy xuất tri thức và sức mạnh của các phép suy luận (theo kiểu heuristic) .

Bảng sau cho chúng ta một số ưu và khuyết điểm của các phương pháp biểu diễn tri thức đã được trình bày.

P.Pháp Ưu điểm Nhược điểm
Luật sinh Cú pháp đơn giản, dễ hiểu, diễn dịch đơn giản, tính đơn thể cao, linh động (dễ điều chỉnh). Rất khó theo dõi sự phân cấp, không hiệu quả trong những hệ thống lớn, không thể biểu diễn được mọi loại tri thức, rất yếu trong việc biểu diễn các tri thức dạng mô tả, có cấu trúc.
Mạng ngữ nghĩa Dễ theo dõi sự phân cấp, sẽ dò theo các mối liên hệ, linh động Ngữ nghĩa gắn liền với mỗi đỉnh có thể nhập nhằng, khó xử lý các ngoại lệ, khó lập trình.
Frame Có sức mạnh diễn đạt tốt, dễ cài đặt các thuộc tính cho các slot cũng như các mối liên hệ, dễ dàng tạo ra các thủ tục chuyên biệt hóa, dễ đưa vào các thông tin mặc định và dễ thực hiện các thao tác phát hiện các giá trị bị thiếu sót. Khó lập trình, khó suy diễn, thiếu phần mềm hỗ trợ.
Logic hình thức Cơ chế suy luận chính xác (được chứng minh bởi toán học). Tách rời việc biểu diễn và xử lý, không hiệu quả với lượng dữ liệu lớn, quá chậm khi cơ sở dữ liệu lớn.

Tuy vậy, như chúng ta đã biết, hiện nay vẫn chưa có một kiểu biểu diễn tri thức nào phù hợp với mọi tình huống. Do đó, khi phải làm việc với nhiều nguồn tri thức khác nhau (khác loại, khác tính chất), chúng ta nhiều lúc phải hy sinh tính đồng bộ bằng cách sử dụng cùng lúc nhiều kiểu biểu diễn tri thức, mỗi kiểu biểu diễn ứng với một nhiệm vụ con. Nhưng như vậy, chúng ta lại nảy sinh ra vấn đề "dịch" một tri thức từ kiểu biểu diễn này sang kiểu biểu diễn khác. Tuy thế nhưng một số hệ chương trình trí tuệ gần đây vẫn dùng cùng lúc nhiều kiểu biểu diễn dữ liệu khác nhau.

Một trong những ví dụ kết hợp nhiều kiểu biểu diễn tri thức mà chúng ta đã từng làm quen là kiểu kết hợp giữa frame và mạng ngữ nghĩa trong việc trợ giúp giải bài toán hình học.

Một trong những sự phối hợp tương đối thành công là sự kết hợp giữa luật sinh và frame. Luật sinh không đủ hiệu quả trong nhiều ứng dụng, đặc biệt là trong các tác vụ định nghĩa, mô tả các đối tượng hoặc những mối liên kết tĩnh giữa các đối tượng. Nhưng những yếu điểm này lại chính là ưu điểm của frame. Ngày nay, đã có rất nhiều hệ thống đã tạo ra một kiểu biểu diễn lai giữa luật sinh và frame có được ưu điểm của hai cách biểu diễn. Sự thành công của các hệ thống nổi tiếng như KEE, Level5 Object và Nexpert Object đã minh chứng cho điều này. Frame cung cấp một ngôn ngữ cấu trúc hiệu quả để đặc tả những đối tượng xuất hiện trong các luật. Frame còn đóng vai trò như một lớp hỗ trợ cho thao tác suy diễn cơ bản trên những đối tượng không cần phải tương tác một cách tường minh trong các luật. Khả năng phân lớp của frame còn có thể được dùng để phân hoạch, tạo chỉ mục và sắp xếp các luật sinh trong hệ thống. Khả năng này rất thích hợp cho người dùng trong việc xây dựng và hiểu các luật, cũng như cũng có thể theo dõi được các luật được sử dụng khi nào và cho mục gì.

Hình sau cho thấy một kiểu kết hợp giữa luật sinh và frame. Sự kết hợp này đã cho phép tạo ra các luật so mẫu nhằm tăng tốc độ tìm kiếm của hệ thống. Kết quả của sự kết hợp này cho phép tạo ra các biểu diễn phức tạp hơn rất nhiều so với việc chỉ dùng frame, thậm chí phức tạp hơn cả việc lập trình trực tiếp bằng ngôn ngữ C++ !!.

* Suy luận không chắc chắn (Hypothetical reasoning) : là kỹ thuật suy luận dựa trên các điều kiện có thể có mâu thuẫn hoặc không chắc chắn.

 

Ví dụ kết hợp biểu diễn tri thức bằng luật sinh và frame trong bài toán điều chế chất hóa học

Vấn đề : Cho trước một số chất hóa học. Hãy xây dựng chuỗi các phản ứng hóa học để điều chế một số chất hóa học khác.

Đầu tiên, đây là một ứng dụng hết sức tự nhiên của tri thức biểu diễn dưới dạng luật. Lý do là vì bản thân các phản ứng hóa học tiêu chuẩn đều được thể hiện dưới dạng luật. Chẳng hạn ta có các phương trình phản ứng sau :

Na + Cl2 → NaCl

Fe + Cl2 → FeCl2

Cu + Cl2 → CuCl2

Cl2 + H2O → HCl + HClO

MnO2 + 4HCl → MnCl2 + Cl2­+ H2O

HCl + KMnO4 → KCl + MnCl2 + H2O + Cl2 ­

NaCl + H2O → Cl2 + H2­+ NaOH

...

Như vậy, nếu xem một chất hóa học là một sự kiện và một phương trình phản ứng như là một luật dẫn thì bài toán điều chế chất hóa học, một cách rất tự nhiên, trở thành bài toán suy luận tiến trong cơ sở tri thức dạng luật dẫn.

Tuy nhiên, số lượng các phản ứng là rất lớn, nên ta không thể sử dụng các luật dựa trên các phản ứng cụ thể như vậy mà phải sử dụng các phản ứng tổng quát hơn như :

Axit + Bazơ → Muối + Nước

Kiềm + Nước → Xút + H2­

(trong hóa học cũng có nhiều phản ứng rất đặc biệt không thể tổng quát được, trong trường hợp này, ta sẽ xem phản ứng đó như là một luật riêng!).

Để mô tả được các phản ứng tổng quát như trên, ta sẽ sử dụng các frame. Chẳng hạn để đặc tả Acid Sulfuric H2SO4 ta sử dụng các frame tổng quát sau.

 

Dĩ nhiên là trong các frame ở trên còn rất nhiều thuộc tính hóa học khác. Ở đây chúng tôi chỉ trình bày sơ lược về mặt ý tưởng để bạn đọc có cơ sở bắt đầu. Ý tưởng này đã được một số sinh viên năm 4 của khoa Công Nghệ Thông Tin Đại Học Khoa Học Tự Nhiên TP. Hồ Chí Minh cài đặt thành công. Chương trình chạy tốt trong phạm vi các phản ứng trong sách giáo khoa lớp 10, 11 và 12.