a.Logic
Loại thể hiện tri thức cổ điển nhất trong máy tính là logic. Trong những năm qua nhiều kĩ thuật thể hiện đã đợc đề nghị và nghiên cứu. Loại thờng gắn với hệ chuyên gia là logic mệnh đề và phép toán vị từ. Cả hai kĩ thuật này đều dùng kí hiệu để thể hiện tri thức và toán tử áp lên các kí hiệu để suy luận logic. Logic
đã cung cấp cho các nhà nghiên cứu một công cụ hình thức để thể hiện và suy luận tri thức
*Các phép toán logic và các kí hiệu sử dụng
PhÐp
toán
AND OR NOT Kéo theo Tơng đ-
ơng
Kí hiệu ,&, ,+, ,~ ,
Dù rằng ngời thiết kế hệ chuyên gia ít khi tiếp cận theo thể hiện logic cổ điển nhng tiếp cận này tạo cơ sở cho nhiều ngôn ngữ lập trình trí tuệ nhân tạo và nhiều công cụ phát triển hệ
chuyên gia. Ngôn ngữ PROLOG là thí dụ về ngôn ngữ lập trình dựa trên các phép toán vị từ. Phép toán vị từ nh hợp ngữ, cho phép thể hiện tri thức. Việc hiểu rõ về logic giúp con ngời đi sâu vào
kĩ thuật tri thức ở mức độ cao.
ThÝ dô:
Chơng trình bằng ngôn ngữ Turbo Prolog cho phép kiểm tra
ông Mỗ có thích đá bóng không. Do Mỗ là bạn của Mễ, ngời ta biết
đợc Mỗ thích đá bóng do Mễ thích đá bóng
Domain
Ngêi,thÓ_thao=symbol
Predicate
ThÝch (ngêi,thÓ_thao)
Bạn (ngời,ngời)
Clause
Bạn (mỗ, mễ) Bạn (mỗ, mơ) Thích (mễ, bóng_đá) Thích (mỗ, bơi_lội)
Thích (Ta, Thể_thao): - Bạn (Bạn, Ta), Thích (Bạn, ThÓ_thao)
Goal
Thích(mỗ,bóng_đá)
b.logic mệnh đề
Logic mệnh đề thể hiện và lập luận vơi các mệnh đề. Mệnh đề là một câu nhận giá trị đúng hoặc sai. Giá trị này gọi
là giá trị chân lí của mệnh đề. Logic mệnh đề gán một biến kí hiệu cho mệnh đề nh là phép gán A=”ô tô sẽ khởi động”
Khi cần kiểm tra giá trị chân lí của câu trên trong bài toán
sử dụng logic mệnh đề ngời ta kiểm tra giá trị của A. Nhiều bài toán sử dụng logic mệnh đề để thể hiện tri thức và giải vấn đề. Bài toán loại này đợc đa về bài toán xử lý các luật; mỗi phần giả thiết và kết luận của luật có thể có nhiều mệnh đề
ThÝ dô:
Bài toán có một luật
IF ô tô không khởi động (câu A)
AND xa quá không đi bộ đợc (câu B)
THEN phải nghỉ hôm nay (câu C)
Luật này liên quan đến các câu A,B,C. Việc thực hiện luật yêu cầu kiểm tra giá trị chân lí của các mệnh đề. Các phép toán logic mệnh đề nh AND, OR, NOT, kéo theo, tơng đơng cho phép lập luận với các cấu trúc luật đa dạng. Luật có thể đợc viết lại là A^B C
Các phép toán quen thuộc trên các mệnh đề đợc cho trong bảng sau:
A B A A B A B AB A B
T T F T T T T
F T T F T T F
T F F F T F F
F F T F F T T
Bảng chân lý với các giá trị T (đúng) và F (sai)
Một số phép toán có thể đợc suy diễn từ các phép toán khác. Thí dụ phép kéo theo AB chỉ cho giá trị sai khi A đúng B sai vËy AB AB
Logic mệnh đề cung cấp công cụ thu nhận các sự kiện và các luật theo dạng kí hiệu và dùng các phép toán logic để thao tác trên các sự kiện và luật. Tiếp cận logic hình thức này đảm bảo một phơng pháp chính xác để quản lí các câu có giá trị đúng hay sai. Tuy vậy trong nhiều bài toán khó ngời ta cần khẳng định giá trị của toàn bộ câu gồm nhiều mệnh đề. Do vậy một câu phức tạp đợc tách ra thành các câu thành phần nhỏ hơn. Các phần nhỏ này có thể đợc thể hiện và lập luận bằng logic. Đối với bài toán này phép toán vị từ là công cụ uyển chuyển hơn cả
c.Phép toán vị từ
*Định nghĩa phép toán vị từ
Phép toán vị từ hay còn đợc gọi là logic vị từ là mở rộng của phép toán mệnh đề để thể hiện rõ hơn các tri thức
ThÝ dô
Ngời ta thể hiện toàn bộ nội dung câu đơn chẳng hạn A đ-
ợc kí hiệu cho quả bóng màu xanh. Phép toán vị từ cho phép mô tả theo quan hệ của tri thức theo dạng màu(quả bóng, xanh). Cách thể hiện này thuận tiện đối với việc dùng biến và hàm trong xử lí tri thức
Phép toán vị từ cũng nh logic mệnh đề dùng các kí hiệu để thể hiện tri thức. Những kí hiệu này gồm hằng số, vị từ, hàm và biến. Phép toán vị từ cho phép thực hiện các phép toán logic mệnh đề trên các kí hiệu
*Các hằng số
Các hằng dùng để đặt tên các đối tợng đặc biệt hay thuộc tính. Nhìn chung các hằng số đợc kí hiệu bằng chữ viết thờng cẳng hạn nh tutu, nhiệt độ. Hằng số Mỗ có thể đợc dùng để thể hiện đối tợng Mỗ là một ngời đợc xét.
*Các vị từ
Một sự kiện hay mệnh đề trong phép toán vị từ đợc chia thành 2 phần: vị từ và tham số. Tham số thể hiện một hay nhiều
đối tợng của mệnh đề; còn vị từ dùng để khẳng định về đối t- ợng. Chẳng hạn mệnh đề “Nam thích Mai” đợc viết lại theo vị từ
sẽ có dạng: thích (nam, mai)
Với cách thể hiện này ngời ta dùng từ đầu tiên tức thích là vị
từ. Vị từ cho biết quan hệ giữa các đối số đặt trong ngoặc. Đối
số là các kí hiệu thay cho các đối tợng của bài toán. Theo quy ớc chuẩn ngời ta dùng các chữ thờng để thể hiện các đối số.
*BiÕn
Các biến dùng để thể hiện các lớp tổng quát của các đối tợng hay các thuộc tính. Biến đợc viết bằng các kí hiệu bắt đầu là chữ hoa. Nh vậy có thể dùng vị từ có biến để thể hiện nhiều vị
từ tơng tự
ThÝ dô:
Có 2 mệnh đề tơng tự “Nam thích Mai” và “Bắc thích Cúc”. Hai biến X, Y đợc dùng trong mệnh đề thích (X, Y)
Các biến nhận giá trị hay đợc thể hiện thông qua X=Nam, Bắc; Y=Mai, Cúc. Trong phép toán vị từ ngời ta dùng biến đối số của biểu thức vị từ hay của hàm
*Hàm
Hàm đợc thể hiện bằng kí hiệu cho biết quan hệ hàm số
ThÝ dô:
Mỗ là cha của Nam, Mơ là mẹ của Mai. Mỗ và Mơ là bạn của nhau. Hàm đợc viết để thể hiện quan hệ này:
cha (nam)=Mỗ
mẹ (mai)=Mơ
bạn (Mỗ, Mơ)
Các hàm cũng có thể dùng trong vị từ nh là
bạn (cha (Nam), mẹ (Mai))
*Phép toán
Phép toán vị từ dùng các phép toán nh logic mệnh đề
ThÝ dô:
Cần viết câu ”nếu hai ngời cùng thích một ngời thì họ không thÝch nhau”
ở dới dạng của logic vị từ. Trớc hết các câu đơn giản đợc viết
nh sau:
“Nam thích Mai” đợc viết lại theo Phép toán vị từ thích (Nam, Mai)
“Đông thích Mai” đợc viết lại theo Phép toán vị từ thích (Đông, Mai)
Đa số trong các trờng hợp nh vậy thì Nam không thích Đông.
Khẳng định đợc viết:
thích (X, Z) AND thích (Y, Z) kéo theo NOT thích (X, Y) hoặc viết là
thÝch (X, Z) thÝch (Y, Z) thÝch (X, Y)
áp dụng khẳng định này, tức cho các biến nhận giá trị cụ thể dễ dàng thu đợc
thích (Nam, Đông)
Để giải bài toán nhỏ này cũng nh trong việc giải các bài toán với logic vị từ nó dùng, việc khớp các biến với các giá trị cần đợc xét chi tiết hơn
Phép toán vị từ cũng dùng 2 kí hiệu gọi là biến lợng từ, để xác định phạm vi của các biến trong biểu thức logic. Đó là là lợng từ với mọi kí hiệu là và tồn tại kí hiệu là
ThÝ dô
Ai cũng thích Mai đợc viết thành X thích (X, Mai)
Biểu thức đúng với tất cả các giá trị gán cho X
ThÝ dô
ít nhất một ngời thích Mai đợc viết thành X thích (X, Mai)
Chỉ một giá trị nào đó của X khớp với vị từ là biểu thức
đúng
Dấu ngoặc dùng để chỉ phạm vi của lợng từ
ThÝ dô:
Câu “nếu Mai xinh thì ai thích Mai đều khoẻ” sẽ đợc viết thành
X (thích (X, Mai) xinh (Mai) khoẻ (X))
d.LËp luËn logic
Việc lập luận theo cách không hình thức đòi hỏi một khả năng rút ra đợc kết luận từ các sự kiện đã có. Việc lấy ra thông tin mới từ các thông tin đã biết và các luật là trọng tâm của lập luận trong các hệ chuyên gia. Quá trình lập luận đợc hình thức hoá trong bài toán suy luận
Trong bài toán dùng logic vị từ, ngời ta có thể lập luận dựa trên các tri thức. Một trong những cách đơn giản để tiến hành lập luận là sử dụng Modus ponens với các phép toán logic vị từ. Modus ponens khẳng định Nếu A đúng và A kéo theo B thì B đúng.
Chẳng hạn có trời ma và nếu trời ma thì mát ngời ta sẽ biết trời mát
ThÝ dô:
Bài toán về ngời máy sẽ minh hoạ quá trình lập luận logic. Giả
sử ngời máy có tay gắp có thể chuyển động tịnh tiến hoặc xoay, cho phép chuyển đồ vật từ vị trí này sang vị trí khác. Cần cho ngời máy hiểu thế giới quanh nó thông qua phép toán vị từ để nó
có thể thực hiện các chức năng vận chuyển đồ vật
Đồ vật quanh ngời máy gồm khối hộp A,B,D; hình cầu E, hình chóp C. Vị trí các đồ vật trên mặt bàn nh hình vẽ. Hiện tại tay ngời máy đang rỗi
*Mô tả thế giới các khối:
Xác định các đối tợng: khối (A) khối (B) chóp (C) khối (D) cÇu (E)
Hiện trạng của các khối: trên (A, bàn) trên (B, bàn) trên (D, A)
trên (C, B)
Hiện trạng của tay máy là rỗng tức không nắm vật nào: tay_máy (rỗng)
Yêu cầu của bài toán là đặt khối B trên khối A. Yêu cầu này
là đích của bài toán và nó đợc viết lại là đặt (B, A)
Ngời ta chỉ đặt khối nào đó lên khối a khi khối A trống tức trống (A). Khối B đợc mang đi đặt vào đâu đó khi B đợc tay ngời máy nắm tức tay_máy (B). Do vậy đích của bài toán liên quan
đến tay_máy (B) trống (A) đặt (B, A). Để có thể áp dụng tri thức này cho trờng hợp tổng quát nó đợc viết lại với các biến và các lợng từ
A
D
E B
C
X Y (tay_máy (X) trống (Y) đặt (X, Y)
Trong bài toán này cần kiểm tra một khối có bị khác đè lên không, tức cần kiểm tra một khối có đợc là trống hay không. Do vậy cần dùng khẳng định nếu không có gì đè trên khối X thì khối X gọi là trống. Khẳng định này đợc viết:
X ( Y trên ( Y, X) trống (Y))
Tuy cha đến đích cuối cùng nhng lần lợt qua các suy diễn ngời máy sẽ đặt đợc khối B lên khối A