Chứng minh tính đầy đủ dựa trên phương pháp cây ngữ nghĩa

Một phần của tài liệu Suy diễn trong logic ngôn ngữ1 (Trang 59 - 63)

3.4.3.1. Một số định nghĩa

Cây ngữ nghĩa (semantic tree): Ứng với tập công thức S ban đầu, có n kí

hiệu mệnh đề logic A1 , A2 , ..., Antương ứng với cây nhị phân đầy đủ n+1 mức T như hình vẽ bên dưới.

Nhận thấy mỗi đường đi (nhánh) từ gốc đến lá tương ứng với một thông

dịch trên tập S.

Hình 3.1. Cây ngữ nghĩa

Nút sai (failure node): Là nút mà thông dịch bao gồm đường đi từ gốc đến nút đó

làm cho S sai, và không có thông dịch nào từ gốc đến tổ tiên của nó làm cho S sai.

Cây ngữ nghĩa đóng (closed semantic tree): Là cây ngữ nghĩa mà tất cả các nhánh

Định lý: S là mâu thuẫn khi và chỉ khi tương ứng với nó có một cây ngữ nghĩa đóng hữu hạn T.

Nút suy diễn (inference node): Là nút trên cây ngữ nghĩa đóng T mà cả hai con của

nó đều là nút sai. Cả hai con của nó đều là nút lá.

Hình 3.2. Nút suy diễn

Mệnh đề rỗng là mệnh đề duy nhất sai với thông dịch rỗng, tương ứng với thông

dịch chỉ có một nút gốc. Cây ngữ nghĩa đóng T trong trường hợp này chỉ có một

nút gốc. Suy ra tập công thức S có cây ngữ nghĩa đóng T chỉ có một nút gốc khi và chỉ khi tập công thức S chứa mệnh đề rỗng.

3.4.3.2. Chứng minh

Tính đầy đủ: Nếu S mâu thuẫn thì thủ tục hợp giải trên S thu được mệnh đề □.

Chứng minh:

Nếu S mâu thuẫn thì theo định lí trên ta suy ra tồn tại cây ngữ nghĩa đóng T tương ứng với nó, từ cây ngữ nghĩa đóng T, ta xây dựng một thủ tục hợp giải dựa

trên cây ngữ nghĩa đóng T để thu được mệnh đề rỗng. Gọi i là nút suy diễn trên cây ngữ nghĩa đóng T, j và k tương ứng là con trái và con phải của nó. Do j là nút sai với ứng với thông dịch có chứa phép gán A<W, suy ra trong S phải chứa công thức

tự, trong S phải chứa công thức C2 có chứa Aa, a < W . Tiến hành hợp giải C1 và C2, thu được công thức C không chứa kí hiệu mệnh đề A. Mọi literal trong C1 −

{A}(C2 − {A}) đều sai ở nút i, suy ra C sai ở i. Suy ra tập công thức mới thu được

S’=S  {C } sẽ có cây ngữ nghĩa đóng T’ nhỏ hơn cây ngữ nghĩa đóng T của S.

Lặp lại quá trình như vậy, cho đến khi ta thu được cây ngữ nghĩa đóng chỉ có một

node, suy ra tập công thức lúc này phải chứa mệnh đề □. Vậy ta có điều phải chứng

minh.

Nhận xét: Như vậy nếu S mâu thuẫn, thì quá trình hợp giải trên S sẽ thu được α . Giá trị α là độ tin cậy của □, tức là ta có thể coi nó là mức mâu thuẫn của

tập công thức S. Thêm vào đó, khi muốn phủ định một phát biểu nào đó, nếu quá

trình hợp giải dẫn đến □α, ta có thể coi α chính là mức tin cậy của phát biểu đó.

3.4.3.3. Ví dụ

Sau khi đã có lý thuyết đầy đủ của hợp giải, ta sẽ tiến hành một ví dụ với hợp

giải để xem xét hoạt động của nó. Ban đầu, ta có cơ sở tri thức và một mệnh đề cần được chứng minh. Trước khi tiến hành hợp giải, ta cần chuyển tri thức và mệnh đề cần chứng minh về dạng chuẩn bị cho hợp giải. Nếu quá trình hợp giải dẫn đến

công thức, ta kết luận rằng mệnh đề cần chứng minh là đúng với độ tin cậy chính là

độ tin cậy của công thức. Giả sử ta có cơ sở tri thức được phát biểu bằng các mệnh để sau:

Nếu Robert học tập ít nhiều chăm chỉ (More or less hard viết tắt là MoL-Hard) và

trường đại học của Robert được xếp hạng cao(high-ranking viết tắt là Hi-ra), thì anh ta là một nhân viên tốt (Good) là PossTrue (viết tắt của possible True).

Trường đại học của Robert được xếp hạng rất cao (Very high-ranking) là"MoLTrue"

Robert học tập rất chăm chỉ. Lược viết lại tri thức như sau:

1) (std_Robert, M oLH ard)  (uni_Robert, hi−ra) → ((emp_Robert, Good), P

ossTrue)

2) ((uni_Robert, V eryH i − ra), M oLT rue)

3) ((std_Robert, V eryH ard), T rue)

Áp dụng luật chuyển gia tử để đưa các tri thức về dạng chuẩn bị cho hợp giải

Luật chuyển gia tử RT1: ((P,hu),σT rue)

((P,u),σhT rue)

Ở đây, đại số gia tử đối xứng được xác định:

G = {True, False} H + = {More, Very} H − = {Poss, MoL}

Ta thu được:

1) (std_Robert, H ard)M oLT rue(uni_Robert, hi−ra)T rue →(emp_Robert, Good)P ossT rue (std_Robert, H ard)M oLF alse (uni_Robert, hi−ra)F alse (emp_Robert, Good)P ossT rue

2) (uni_Robert, H i − ra)M oLV eryT rue

3) (std_Robert, H ard)V eryT rue

Cần kiểm chứng khẳng định ”Robert là một nhân viên tốt là True”: (emp_Robert, good) True

Tiến hành quá trình hợp giải:

1)(std_Robert, H ard)M oLF alse(uni_Robert, hi−ra)False(emp_Robert, Good)P ossT rue 2)(uni_Robert, H i − ra)M oLV eryT rue

3)(std_Robert, H ard)V eryT rue 4)(emp_Robert, good)F alse 5)Res(1, 2)

(std_Robert, H ard)M oLF alse (emp_Robert, Good)P ossT rue )α1

α1

= min(1, 1, ¬min(M oLV eryT rue, F alse)) = T rue 6)Res(3, 5)

(emp_Robert, Good)P ossT rue )α2

α2 = min(1, T rue, ¬min(V eryT rue, M oLF alse)) = MoLT rue

7)Res(4, 6)

□α3

α3 = min(1, M oLT rue, ¬min(P ossT rue, F alse)) = MoLT rue

Vậy có thể kết luận ”Robert là một nhân viên tốt là True” với độ tin cậy MoLTrue.

Một phần của tài liệu Suy diễn trong logic ngôn ngữ1 (Trang 59 - 63)