Hình 1 .9 Cấu trúc frame
Hình 1.10 Nhiều mức của frame mô tả quan hệ phức tạp hơn
Ngoài các frame lớp đơn giản và các thể hiện gần với nó người ta có thể tạo ra cấu trúc frame phức tạp. Ví dụ, dùng cấu trúc phân cấp các frame để mô tả thế giới loài chim. Cấu trúc này tổ chức khái niệm về chim theo các mức trìu tượng khác nhau. Frame ở mức cao mạng thông tin chung về tất cả các loài chim. Mức giữa các frame lớp con, mạng thông tin đặc thù hơn của nhóm chim. Mức cuối cùng là frame thể hiện, ứng với đối tượng cụ thể.
Frame khác với mạng ngữ nghĩa ở chỗ mạng hay dùng để biều diễn tri thức rộng Cũng như mạng ngữ nghĩa, không có các định nghĩa chuẩn cho các hệ thống frame cơ bản.
Frame tương tự cấu trúc mẩu tin trong các ngôn ngữ cấp cao. Ta hãy xét một ví dụng sau.
Slots Fillers
Hãng sản xuất General motors
Kiểu Chervelet Caproce
Năm 1979
Màu Xanh
Bảng 1.2 Một Frame xe hơi
Tương ứng với các trường và giá trị trong mẩu tin là các slot và filler trong frame. Một frame, về cơ bản, là các nhóm slot và filler. So sánh với một OAV thì “xe hơi” là đối tượng, tên của slot là thuộc tính và filler là giá trị.
Chim
Chim sẻ Vịt Chim
cảnh
Trong sử dụng, các hệ chuyên gia xây dựng từ các frame thường dùng cho việc biểu diễn tri thức nhân quả vì các thông tin của nó được tổ chức theo nguyên nhân và hậu quả. Ngược lại, các chuyên gia, được xây dựng từ các qui tắc, dùng cho các tri thức không tổ chức được theo quan hệ nhân quả.
Frame được thiết kế để biểu diễn một tri thức chung hay một trường hợp cá biệt. Filler chứa những giá trị như tên slot, giá trị hay kiểu của slot. Slot có thể chứa thủ tục kết nối với slot. Có ba loại thủ tục như vậy.
IF-NEED: Là thủ tục thực hiện khi giá trị trong filler cần được sử dụng đã không được khởi động hoặc có giá trị mặc định không phù hợp. Các giá trị mặc định thường dùng trong các tri thức về cảm giác, kinh nghiệm. Đó cũng là tri thức về những trường hợp chung nhất, không được chỉ rõ.
IF-ADD: Là thủ tục để thêm các giá trị vào Frame. IF-REMOVAL: Là thủ tục tháo bỏ các giá trị khỏi frame.
Hệ thống các frame được thiết kế để các frame chung nhất ở những vị trí đầu tiên trong hệ thống. Các trường hợp cá biệt được mô tả bởi các frame mà các giá trị mặc nhiên được thay đổi hay được thêm các frame đặc biệt hơn. Các frame cũng mô hình hoá thế giới thực bằng cách dùng các tri thức chung nhất về các đặc tính chủ yếu của đối tượng.
Các frame còn được phân loại theo ứng dụng của chúng. Situational Frame chứa các tri thức cần thiết về một tình thế được cho. Action Frame chứa tri thức về các hành động phải làm về một tình trạng được cho. Sự kết hợp Situational Frame và Action Frame được dùng để mô tả các tri thức nhân quả.
Tuy nhiên cũng có những khó khăn của Frame. Phần lớn các hệ thống frame không hạn chế trong việc thay đổi hoặc huỷ bỏ các slot.
Ví dụ: frame mô tả con voi
Tên Con voi
Loài Động vật có vú
Màu Xám
Thân Hình Trụ
Bảng 1.3 Frame mô tả con voi
Có những trường hợp đặc biệt như những con voi chỉ có ba chân, Điều đó có nghĩa ở đây frame con voi yêu cầu con voi bốn chân. Như vậy chúng ta đang nói về frame con voi chứ không phải một định nghĩa con voi. Dĩ nhiên, frame có thể được thay đổi để cho phép tạo ra con voi có 3, 2 hay không có chân nào. Nhưng đó không phải là định nghĩa tốt. Nếu có những con voi ba chân khác màu vàng, thì liệu đó có còn là con voi? Thay vì xem frame như một định nghĩa, ta xem frame mô tả con voi điển hình. Tuy nhiên điều này lại dẫn đến một vấn đề khác do sự thừa kế. Nếu ta diễn giải frame là một điển hình, rồi hệ thống frame lại cho rằng điển hình con voi là một động vật có vú điển hình. Mặc dù con voi là động vật có vú, nó không thể là động vật có vú điển hình.
Phần lớn các frame không tại ra cách nào để định nghĩa các slot không thể thay đổi được. Từ chỗ các slot có thể bị thay đổi, các đặc tính mà frame thừa kế có thể bị thay đổi hoặc huỷ bỏ. Điều này nghĩa là tất cả các frame thực ra là frame nguyên thuỷ bởi vì không có gì bảo đảm là các đặc tính là chung nhất. Mỗi frame được tạo thành từ các quy tắc của riêng nó và như vậy mỗi frame là nguyên thuỷ. Không có điều gì là chắc chắn trong một hệ thống khá lỏng lẻo như vậy và do đó nó không có khả năng tạo ra những mệnh đề như việc định nghĩa con voi.
1.2.3.5 Logic
Dạng biểu diễn tri thức cổ điển nhất trong máy tính là logic, với hai dạng phổ biến là logic mệnh đề và logic vị từ. Cả hai kỹ thuật này đều dùng kí hiệu để thể hiện tri thức và các toán tử áp lên các kí hiệu để suy luận logic.
Phép toán AND OR NOT Kéo theo Tương
đương
Kí hiệu , &, v, , + ,
a Logic mệnh đề
Logic mệnh đề biểu diễn và lập luận với các mệnh đề toán học. Mệnh đề là một khẳng định nhận giá trị đúng hoặc sai. Giá trị này gọi là giá trị chân lí của mệnh đề. Các mệnh đề thường được kí hiệu là A, B, C…
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 sử 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 đề.
Ví dụ:
Nếu ta kí hiệu
A Xe không khởi động được
B Khoảng cách từ nhà đến chỗ làm việc là xa C Sẽ trễ giờ làm việc
Thì luật
IF Xe không khởi động được
AND Khoảng cách từ nhà đến chỗ làm việc là xa THEN Sẽ trễ giờ làm
Sẽ được biểu diễn như sau: A B C Các phép toán quen thuộc trên mệnh đề
A B A B A B A B A B
T T F T T T T
T F F F T F F
F T T F T T F
F F T F F T T
Bảng 1.5. Bảng chân lí với các giá trị Đúng (T), Sai (F)
Một số phép toán có thể được suy diễn ra từ các phép khác. Ví dụ phép kéo theo A B chỉ cho giá trị sai khi A đúng và B sai, vậy A B A B.
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 hoặc 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 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 các bài toán này, Phép toán vị từ là công cụ uyển chuyển hơn cả.
b Logic vị từ
Logic vị từ là sự mở rộng của logic mệnh đề nhằm cung cấp một cách biểu diễn rõ hơn về tri thức. Logic vị từ dùng kí hiệu để biểu diễn tri thức.
Logic vị từ cũng giố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, vị từ, biến và hàm.
Hằng: Các hằng số 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 được kí hiệu bằng chữ viết thường, chẳng hạn như an, bình, nhiệt độ. Hằng an có thể được dùng để thể hiện đối tượng an, một người đang xét.
Vị từ: Một mệnh đề hay sự kiện trong logic vị từ được chia thành hai phần là vị từ và tham số. Tham số thể hiện một hay nhiều đối tượng của mệnh đề, còn mệnh đề dùng để khẳng định về đối tượng. Chẳng hạn mệnh đề “Nam thích Mai” viết 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àm vị từ. Vị từ cho biết quan hệ giữa các đối và đặt trong ngoặc. Đối là các ký hiệu thay cho các đối tượng của bài toán.
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 thuộc tính. Biến được viết bằng các ký hiệu bắt đầu là chữ in hoa. Như vậy có thể dùng vị từ có biến để thể hiện nhiều vị từ tương tự.
Ví dụ:
Có hai 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 các biến như đối số của biểu thức vị từ hay của hàm.
Hàm: Logic vị từ cũng cho phép dùng ký hiệu để biểu diễn hàm. Hàm mô tả một ánh xạ từ các thực thể hay một tập hợp tới các thực thể hay một tập hợp khác. Ví dụ:
Hùng là cha của Nam, Duyên là mẹ của Mai. Hùng và Duyên là bạn của nhau. Hàm số để thể hiện quan hệ này như sau:
Cha (nam) = Hùng Mẹ (mai) = Duyên Bạn (Hùng, Duyên)
Các hàm cũng có thể được dùng trong vị từ, như là: bạn (cha (nam), mẹ (mai))
Phép toán: Logic vị từ cũng dùng các phép toán như logic mệnh đề. Ví 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 này đượ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, dong)
Để giải bài toán nhỏ này cũng như trong việc giải bài toán với logic vị từ nói chung, 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 hai 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ượng từ “với mọi”. Ký hiệu là và “tồn tại”, ký hiệu là .
Ví dụ:
Biểu thức vừa viết đúng với tất cả các giá trị gán cho X. Ví dụ:
“ít nhất có một người thích Mai” được viết thành X thích (X, mai) Chỉ có 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ừ.
Ví 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))
Các hạng thức: Các hạng thức (term) là các biểu thức mô tả các đối tượng. Các hạng thức được xác định đệ quy như sau:
- Các ký hiệu hằng và các ký hiệu biến là hạng thức.
- Nếu t1, t2, t3, …, tn là n hạng thức và f là một ký hiệu hàm n biến thì f(t1, t2, t3, …, tn ) là một hạng thức. Một hạng thức không chứa biến gọi là một hạng thức cụ thể (ground term)
Ví dụ:
An là một ký hiệu hằng, mother là ký hiệu hàm một biến, thì mother (“An”) là một hạng thức cụ thể.
Các công thức phân tử: Chúng ta sẽ biểu diễn các tính chất của đối tượng, hoặc các quan hệ giữa các đối tượng bởi các công thức phân tử (câu đơn). Các công thức phân tử được xác định đệ quy như sau:
- Các ký hiệu vị từ không biến (các ký hiệu mệnh đề) là các công thức phân tử. - Nếu t1, t2, t3, …, tn là n hạng thức và p là vị từ n biến thì p( t1, t2, t3, …, tn ) là
một công thức phân tử. Ví dụ:
Hoa là một ký hiệu hằng, love là một vị từ hai biến, husband là hàm của một biến thể thì love (“Hoa”, husband (“Hoa”)) là một công thức phân tử.
Các công thức: Từ các công thức phân tử, sử dụng các kết nối logic và các lượng từ, ta xây dựng nên các công thức (các câu).
- Các công thức phân tử là các công thức.
- Nếu G và H là các công thức thì các biểu thức G → H, G ^ H, G H, G ↔ H, G là các công thức.
- Nếu G và H là các công thức và X là biến thì các biểu thức x: G, x: G là các công thức.
Một cách tổng quát, một, một phép thế là một dãy các cặp Xi/Yi, = {X1/Y1, X2/Y2, …, Xn/Yn }, trong đó các Xi là các biến khác nhau, các ti là các hạng thức và các Xi không có mặt trong ti (i = 1,2,….,n). Áp dụng phép thế vào các công thức G, ta nhận được công thức G0, đó là công thức nhận được từ công thức G bằng thay mỗi sự xuất hiện của các Xi bởi ti . Chẳng hạn, nếu G = p(X,Y), f(a, X)) và = [X/b, Y/g(Z)] thì G0 = P(b, g(Z), f(a,b)).
Luật modus ponens
Trong bài toán dùng logic vị từ, người ta có thể lập luận 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 có dạng như sau:
B B B
A,
Ví 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 quannh 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.