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.