1.3.1. Xử lý tri thức
Trí tuệ, sự thông minh phải dựa trên nền tảng của tri thức. Tuy nhiên, nó còn phụ thuộc vào việc vận dụng, xử lý tri thức. Biểu diễn tri thức là việc đưa tri thức vào máy tính và chỉ có ý nghĩa nếu công việc tiếp theo: “xử lý tri thức được thực hiện”.
Để xử lý các tri thức, trí tuệ nhân tạo cần có các kỹ thuật mã hóa tri thức. Các kỹ thuật mã hóa tri thức này khác nhiều so với cách thể hiện của các dữ liệu trong các chương trình, thuật toán xử lý dữ liệu thường gặp. Các hệ thống thông minh cần xử lý các tri thức, và các tri thức cần được biểu diễn ở dạng kí hiệu mà hệ thống xử lý được.
Một trong những phương pháp xử lý tri thức mà ta thường hay dùng đó là dùng luật. Luật vừa được sử dụng để biểu diễn tri thức mà còn được dùng để xử lý tri thức. Chúng ta sẽ tìm hiểu rõ hơn về luật ở mục tiếp theo.
1.3.2. Xử lý tri thức bằng luật
Các sự kiện do người cung cấp rất có ý nghĩa đối với các hoạt động của hệ thống trí tuệ nhân tạo. Chúng cho phép hệ thống hiểu trạng thái hiện tại của thế giới. Một cấu trúc tri thức thông dụng dùng trong thiết kế hệ thống trí tuệ nhân tạo mà yêu cầu sử dụng thêm tri thức bổ sung là các luật. Luật là phương pháp phổ biến dùng để xử lý tri thức.
Phần trên đã đề cập khái niệm về luật. Luật thuộc dạng tri thức thủ tục. Nó gắn thông tin đã cho với một vài hoạt động. Các hoạt động này có thể là
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
khẳng định về thông tin mới hay là thủ tục sẽ được thực hiện. Như vậy luật mô tả cách giải quyết vấn đề.
Quá trình xử lý tri thức bằng luật là quá trình liên kết thông tin đã biết với các thông tin khác, các thông tin này có thể được suy diễn để người ta hiểu biết thêm, kết quả được suy diễn chính là kết quả của quá trình xử lý tri thức. Về mặt logic, cấu trúc của luật kết nối một hay nhiều giả thuyết, hay cái có trước trong câu IF, với một hay nhiều kết luận, hay được gọi là kết quả trong câu THEN.
Thêm thông tin vào bộ nhớ làm việc
Xét luật đầu tiên
Giả thiết khớp với bộ nhớ Kết luận vào bộ nhớ làm việc Còn luật khác Xét luật tiếp theo Dừng công việc
Hình 1.4. Các bước xử lý tri thức dựa trên luật
Nói chung một luật có nhiều giả thuyết gắn với nhau bằng câu AND (và) hay câu OR (hoặc) hay cả hai. Luật cũng có thể dùng câu ELSE dùng cho suy diễn khi giả thuyết bị sai.
Trong hệ thống dựa trên các luật, tri thức về lĩnh vực được đưa vào cơ sở tri thức của hệ thống. Hệ thống dùng các luật này cùng với các thông tin bộ nhớ để giải bài toán. Khi câu IF của luật khớp với thông tin trong bộ nhớ, hệ thống thực hiện các hoạt động mô tả trong câu THEN của luật. Lúc này luật được xem như đã thực hiện, hay “cháy”, kết quả trong câu THEN được bổ
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
sung vào bộ nhớ. Kết quả thu được cũng có thể làm cho luật mới được thực hiện.
Cơ sở tri thức
IF: phim có Thành Long đóng THEN: Tôi thích xem IF: Tôi thích xem
THEN: Tôi sẽ mua đĩa phim này
Bộ nhớ làm việc: Bộ phim có Thành Long đóng Tôi thích xem
Tôi mua đĩa phim đó
Bước 1
Bước 3
Bước 2
Bước 4 Bước 1
Hình 1.5. Các bước xử lý tri thức trong hệ thống dựa trên luật
Việc xử lý các luật trong hệ thống dựa trên luật được quản lý bằng một module gọi là bộ suy diễn. Ví dụ trên mô tả vài hành động của bộ suy diễn.
Cùng với việc sản sinh các thông tin mới, một luật có thể thực hiện các hành động. Nó có thể là tính toán đơn giản, như là: IF Cần đến chu vi hình tròn THEN Chu vi = pi * đường kính.
Để thực hiện các thao tác phức tạp hơn, nhiều hệ thống truy nhập các thủ tục bên ngoài. Chương trình loại này đa phần là phần mềm về cơ sở dữ liệu, chương trình ngôn ngữ C... Chúng có thể được viết bằng các ngôn ngữ lập trình hay các lệnh trên bảng tính. Ví dụ :
Luật 1. (Liên quan đến thủ tục trong ngôn ngữ lập trình): IF Thiết kế hộp
mới AND NUMBER = Số các chi tiết lắp ráp AND SIZE = Kích cỡ của chi tiết THEN CALL Tính thể tích của hộp AND SEND NUMBER, SIZE AND RETURN Thể tích.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Luật 2. (Liên quan đến bảng tính): IF Cần biết tên nhân viên trong bộ phân
Kinh doanh THEN OPEN Bảng NHAN_VIEN AND Tên bộ phân = Kinh_Doanh.
Luật 3. (Liên quan đến cơ sở dữ liệu): IF Có nhà bị cháy AND Tên nhà=
“A” THEN OPEN Điện thoại AND FIND Tên nhà, mã AND Điện thoại = Mã điện thoại.
Nói chung người ta có thể truy nhập hay thay đổi thông tin nhờ chương trình bên ngoài. Có thể dùng khối lượng lớn các thông tin có trong cơ sở dữ liệu và bảng tính, hay thay đổi các thông tin nhờ chức năng hỗ trợ quyết định của hệ thống xử lý luật.
1.3.3. Xử lý tri thức bằng các luật có dùng biến
Để tăng hiệu quả cho việc các luật xử lý người ta sử dụng các biến trong luật là phù hợp với các ứng dụng cần thực hiện cùng một số thao tác trên tập các đối tượng tương tự nhau. Bởi vì nếu viết một luật đơn cho mỗi đối tượng thì không hiệu quả và hệ thống khó quản lý.
Ví dụ: Luật sau cho biết A có được tốt nghiệp: IF A có điểm tốt nghiệp là 5 AND không nợ môn nào THEN A có thể tốt nghiệp.
Khi hệ thống muốn thực hiện việc kiểm tra cho các cá nhân khác không phải là A thì nó cần phải viết luật khác, do vậy không kinh tế, thậm chí điểm tốt nghiệp của người cần linh động trong khoảng 5.0 trở lên. Có thể dùng ngôn ngữ lập trình để tạo ra một luật để tạo ra một luật để luật này có thể khớp với dải giá trị rộng hơn. Các luật này dùng biến để khớp với các mệnh đề tương tự.
Ví dụ: IF X không nợ môn nào AND điểm của X lớn hơn hoặc bằng 5.0 THEN X có thể tốt nghiệp.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Một phương pháp chủ yếu cơ bản thứ hai dùng để xử lý tri thức đó là dùng phương pháp lập luận.
1.3.4. Xử lý tri thức bằng lập luận
Logic là hành động sử dụng lý tính để rút ra một kết luận từ các tiền đề nhất định bằng cách sử dụng một phương pháp luận cho trước, và hai phương pháp tường minh được sử dụng rộng rãi nhất để đạt đến kết luận là lập luận suy diễn và lập luận quy nạp. Chi tiết cụ thể của các phương pháp lập luận là mối quan tâm của các ngành như triết học, logic, tâm lý học, và trí tuệ nhân tạo.
Để giải một bài toán, ta phải kết hợp các sự kiện với các tri thức, dùng các sự kiện riêng về bài toán và dùng chúng trong ngữ cảnh cụ thể của bài 0toán để rút ra các kết luận logic. Quá trình giải bài toán rút ra kết luận logic được gọi là quá trình lập luận.
Lập luận là: quá trình làm việc với tri thức, sự kiện và các chiến lược giải bài toán để rút ra kết luận. Đó cũng là quá trình hiểu cách con người suy lý và cách họ làm việc với thông tin về bài toán đã cho, cộng với kiến thức tổng quát của họ về lĩnh vực này sẽ đảm bảo hiểu rõ các bước đi trong việc xử lí tri thức trong hệ thống trí tuệ nhân tạo.
1.3.5. Xử lý tri thức dựa vào các loại lập luận
Lập luận theo cách suy diễn: Con người dùng lập luận suy diễn để rút ra thông tin mới từ những thông tin đã biết. Các thông tin này có quan hệ logic với nhau. Lập luận suy diễn dùng các sự kiện của bài toán gọi là các tiên đề và kiến thức chung có liên quan ở dạng luật gọi là các kéo theo.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Ví dụ:
Kéo theo: con gà lớn nhanh nếu tôi chăm sóc tốt.
Tiên đề: tôi chăm sóc con gà tốt. Kết luận: con gà lớn nhanh.
Lập luận suy diễn là một trong các kỹ thuật phổ biến nhất. Suy diễn đã dùng Modus Ponens, là loại cơ bản lập luận suy diễn. Khi có A B và A đúng thì rút ra được B đúng.
Lập luận quy nạp: Con người dùng lập luận quy nạp để rút ra các kết luận tổng kết từ một tập các sự kiện theo cách tổng quát hóa.
Ví dụ:
Giả thiết: con trâu ở Phú Thọ ăn cỏ, con trâu ở Thanh Hóa ăn cỏ, con trâu ở Hưng Yên ăn cỏ.
Kết luận: nói chung con trâu ăn cỏ.
Qua lập luận này, người ta cho rằng kết luận sẽ đúng cho tất cả các trường hợp cùng loại, dựa trên một số hạn chế của các trường hợp. Thực chất lập luận suy diễn là đem cái thiểu số áp đặt cái đa số. Năm 1988 Firebaugh mô tả quá trình này như sau: cho tập các đối tượng X= {a,b,c,…}, nếu tính chất P đúng đối với a, và nếu tính chất P đúng đối với b, và nếu tính chất P đúng đối với c…, thì tính chất này đúng với tất cả các phần tử thuộc X.
Lập luận giả định: Suy diễn là lập luận chính xác từ các sự kiện và thông tin đã biết. Lập luận giả định là loại suy diễn có vẻ hợp lý. Điều này có nghĩa câu kết luận có thể đúng nhưng cũng có thể không đúng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Ví dụ:
Kéo theo: con gà ăn nhiều gà lớn nhanh.
Tiên đề: con gà ăn nhiều. Kết luận: con gà lớn nhanh.
Lập luận tương tự, loại suy: Người ta tạo một mô hình của một vài khái
niệm thông qua kinh nghiệm của họ. Họ dùng mô hình này để hiểu một vài hoàn cảnh và đối tượng tương tự. Họ vạch ra điểm tương đồng giữa hai vật đem so sánh, rút ra sự giống nhau và khác nhau nhằm hướng dẫn việc lập luận của họ.
Ví dụ: đối tượng con trâu Chủng loại Động vật
Thức ăn Cỏ
Số chân 4
Màu da Đen
Bảng trên cho biết thông tin đa dạng về đối tượng con trâu, và dùng bảng trên để nhận biết đối tượng đó. Nếu cho rằng con bò giống con trâu thì bò cũng phải có những tính chất như trên. Loại lập luận này có thể dùng để hiểu biết về đối tượng mới, và để hiểu rõ thêm bằng cách tra cứu đến những sự khác biệt giữa các đối tượng. Trong ví dụ này, con bò được phân biệt với con trâu do các nét khác nhau giữa chúng.
Lập luận theo lẽ thường: Nhờ kinh nghiệm, con người có thể giải quyết vấn đề một cách hiệu quả. Họ sử dụng lẽ thông thường để nhanh chóng rút ra kết luận. Lập luận theo lẽ thường có xu hướng thiên về phán xét sự đúng đắn hơn là lập luận chính xác về logic. Ví dụ: vấn đề chuẩn đoán chiếc xe đạp “xích xe chùng thường gây ra tuột xích”. Kết luận này có được do kinh
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
nghiệm đi xe nhiều lần. Người ta đoán ngay “xích chùng” khi thấy chiếc xe hay tuột xích. Loại tri thức được coi như là may rủi, cầu may.
Khi các may rủi dùng để hướng dẫn giải bài toán trong hệ thống trí tuệ nhân tạo, người ta có kiểu tìm kiếm may rủi hay tìm phù hợp. Loại tìm kiếm này phát hiện lời giải tại nơi có vẻ là tốt nhất. Như vậy cũng chẳng đảm bảo nơi đó có lời giải. Tuy nhiên, cách tìm kiếm may rủi là thích hợp đối với những ứng dụng cần nhanh chóng thu được lời giải.
Lập luận đơn điệu và không đơn điệu: Đối với nhiều trường hợp, người ta lập luận trên các thông tin tĩnh. Các thông tin này không thay đổi trạng thái trong quá trình giải bài toán. Qua trình giải bài toán theo cách này được gọi là lập luận đơn điệu.
Ví dụ:
IF Có tiếng động THEN Con chó tỉnh dậy.
Nếu có sự kiện “cái cốc rơi” thì câu IF đúng, tức là người ta đã sử dụng nếu “cốc rơi” thì “có tiếng động”. Lúc này trong câu trên, người ta thu được
kết luận trong câu THEN, tức là: “cốc rơi” “có tiếng động” “ con chó
tỉnh giấc”.
Sau khi hết tiếng động, người ta muốn rằng con chó lại ngủ tiếp. Tuy nhiên, hệ thống với cách lập luận đơn điệu sẽ “giữ” trạng thái con chó tỉnh giấc. Do việc theo dõi thông tin không mấy khó khăn, khi có sự kiện nào thay đổi người ta có thể dựa vào nhiều sự kiện phụ thuộc khác để thu được kết luận mong muốn. Loại lập luận như vậy được gọi là lập luận không đơn điệu.
Hệ thống có thể lập luận không đơn điệu nếu nó có hệ thống quản lý giá trị chân lý. Hệ thống này quản lý dữ liệu về nguyên nhân để sự kiện được khẳng định. Do vậy khi nguyên nhân thay đổi, sự kiện cũng thay đổi theo. Một
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
hệ thống dùng lập luận không đơn điệu như ví dụ trên sẽ giữ được con chó tỉnh giấc lại.
Lập luận dựa trên luật: Một khi chúng ta đã lưu trữ một cơ sở tri thức, chúng ta cần có thủ tục lập luận để rút ra các kết luận từ cơ sở tri thức. Trong các hệ lập luận dựa trên luật có hai kiểu lập luận cơ bản (i) Lập luận tiến; (ii) Lập luận lùi.
1. Lập luận tiến: tư tưởng cơ bản của lập luận tiến là áp dụng suy
diễn Modus Ponens tổng quát. Trong mỗi bước của thủ tục lập luận tiến, người ta xét một lập luận trong cơ sở luật. Đối sánh mỗi điều kiện của luật với các sự kiện trong cơ sở sự kiện, nếu tất cả các điều kiện của luật được thỏa mãn thì sự kiện trong phần kết luận của luật đượ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 đặt vào bộ nhớ làm việc. Quá trình trên được lặp lại cho tới khi nào không có luật nào sinh ra các sự kiện mới.
Như vậy quá trình lập luận tiến là quá trình xem xét các luật. Với mỗi luật ta đi từ phần điều kiện cho tới phần kết luận của luật, khi mà các điều kiện của luật đều được làm thỏa mãn (bởi các sự kiện trong cơ sở sự kiện), thì ta suy ra sự kiện trong phần kết luận của luật. Chính vì lẽ đó mà có tên lập luận tiến.
Quá trình lập luận tiến không định hướng tới giải quyết một vấn đề nào cả, không định hướng tìm ra câu trả lời cho một câu hỏi nào cả. Lập luận tiến chỉ là quá trình suy ra các sự kiện mới từ các sự kiện trong bộ nhớ làm việc. Vì vậy lập luận tiến còn được gọi là lập luận điều khiển bởi dữ liệu, hoặc lập luận định hướng dữ liệu.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2. Lập luận lùi: Trong các hệ dựa trên luật, chúng ta còn có thể sử
dụng phương pháp lập luận lùi. Trong lập luận lùi, người ta đưa ra các giả thuyết cần được đánh giá. Sử dụng lập luận lùi, giả thiết đưa ra hoặc là được chứng minh, hoặc là bị bác bỏ (bởi các sự kiện trong bộ nhớ làm việc). Cần lưu ý rằng, chúng ta nói giả thiết được chứng minh, hoặc bị bác bỏ là muốn nói tới nó được chứng minh hoặc bác bỏ bởi tình trạng hiện thời của bộ nhớ làm