lOMoARcPSD| 59114765
BÀI TẬP BIỂU DIỄN TRI THỨC VÀ SUY DIỄN
Bài 1: Chuyển các công thức sau về dạng chuẩn hội, chuẩn tuyển:
a. (P Q)v( R S)
-Loại bỏ kí hiệu tương đương trong công thức bằng quy tắc:
P Q ≡ (P=>Q) (Q=>P)
¬((PQ)(QP))RS)
-Tiếp theo, chúng ta sử dụng quy tắc để đưa các phép nghịch đảo về dạng dương
bằng cách thay thế:
¬ABAB
-Điều này sẽ cho ta:
¬((¬PQ)QP))(¬¬RS)
-Chúng ta cũng cần loại bỏ kí hiệu phủ định kép (¬) bằng cách sử dụng quy tắc:
¬¬AA
(¬(P¬Q)QP))(RS)
-Cuối cùng, chúng ta đưa mỗi hội trong công thức về dạng hội của các biến bằng
cách phân phối:
(AB)(CD)≡(AC)(AD)(BC)(BD)
-Vậy ta có:
((¬P¬Q)(PQ))(RS)
b. (P Q)v R
Đầu tiên, chúng ta cần loại bỏ kí hiệu tương đương (bi-conditional) trong công
thức bằng cách sử dụng quy tắc:
PQ≡(PQ)(QP)
Vậy công thức sẽ trở thành: ¬((PQ)(QP))¬R
lOMoARcPSD| 59114765
Tiếp theo, chúng ta sử dụng quy tắc để đưa các phép nghịch đảo về dạng dương
bằng cách thay thế: ¬ABAB
Điều này sẽ cho ta: ¬((¬PQ)QP))¬R
Chúng ta cũng cần loại bỏ kí hiệu phủ định kép (¬¬) bằng cách sử dụng quy tắc:
¬¬AA
((P¬Q)(Q¬P))¬R
Cuối cùng, chúng ta đưa mỗi hội trong công thức về dạng hội của các biến
(CNF) bằng cách phân phối: (AB)(CD)≡(AC)(AD)(BC)(BD)
Vậy ta có: ((P¬R)Q¬R))
c. A B C
Đầu tiên, ta biến đổi biểu thức thành dạng
tương đương bằng cách sử dng quy tắc:
Sau đó, ta sử dụng phân phối để chuyển biểu thức về
dạng chuẩn hi:
¬A(BC)≡(¬AB)AC)
Đây là dạng chuẩn hội của công thức ban đầu: AB)AC).
D:
Trước tiên, ta biến đổi biểu thức (PQ) thành dạng tương đương sử dụng quy
tắc: (PQ)≡¬PQ
Tiếp theo, ta biến đổi biểu thức ¬( thành dạng
tương đương sử dụng quy tắc De Morgan: ¬(
Sau đó, ta sử dụng phân phối để chuyển biểu thức về
dạng chuẩn hi:
PQ)RS)≡(¬PQ¬R)PQS)
Đây là dạng chuẩn hội của công thức ban đầu:PQ¬R)PQS).
A(BC)
A(BC)≡¬A(BC)
R¬S)
R¬S)≡¬RS
lOMoARcPSD| 59114765
Bài 2: Cho cơ sở tri thức:
R1: Brother(X,Y)^Married(Y,Z) => Sister_in_law(X,Z).
R2: Brother(tom,peter).
R3: Brother(harold,john).
R4: Married(peter,mary).
R5: Married(john,sue)
Áp dụng thuật toán suy diễn lùi để chứng minh: Sister_in_law(tom,mary) Áp
dụng thuật toán suy diễn tiến vào cơ sở tri thức trên.
Bài giải:
Ta có thể nhận thấy rằng từ R2 và R4, ta có thể suy ra rằng peter là anh trai của
tom và peter kết hôn với mary.
Từ quy tắc R1, nếu tom anh trai của peter peter kết hôn với mary, thì tom
sẽ em trai của mary, do đó mary chị dâu của tom. Vậy ta suy ra được
Sister_in_law(tom, mary)Sister_in_law(tom, mary).
Bài 4: Cho cơ sở tri thức gồm các câu đúng sau:
- Sinh viên nào giỏi tiếng anh và giỏi toán đều giỏi lập trình.
- Sinh viên nào thông minh hoặc kiên trì đều giỏi tiếng anh.
- Sinh viên nào thông minh thì gii toán.
- Lan thông minh nhưng không kiên trì.
a. Thành lập các v từ, công thức thích hợp biểu diễn các câu trên, sau đó
chuyển chúng về dạng hội các câu tuyển.
b. Chuyển các câu trong cơ sở tri thức về dạng các câu Horn. Dùng
phương pháp suy diễn tiến để trả lời câu hỏi “Lan lập trình có giỏi không?”.
Bài giải:
lOMoARcPSD| 59114765
a. Đầu tiên, chúng ta sẽ xác định các vị từ và biểu diễn các câu theo dạng
công thức logic:
1. GiaoiLapTrinh(X) - "Sinh viên X giỏi lập trình"
2. GiaoiTiengAnh(X) - "Sinh viên X giỏi tiếng Anh"
3. GiaoiToan(X) - "Sinh viên X giỏi toán"
4. ThongMinh(X) - "Sinh viên X thông minh"
5. KienTri(X) - "Sinh viên X kiên trì"
Các câu trong cơ sở tri thức có thể được biểu diễn như sau:
1. (GiaoiTiengAnh(X)GiaoiToan(X))GiaoiLapTrinh(X)
2. (ThongMinh(X)KienTri(X))GiaoiTiengAnh(X)
3. ThongMinh(X)GiaoiToan(X)
4. ThongMinh(Lan)¬KienTri(Lan)
Sau đó, chúng ta chuyển các công thức trên về dạng hội các câu tuyển:
1. GiaoiTiengAnh(X)¬GiaoiToan(X)GiaoiLapTrinh(X))
2. ThongMinh(X)GiaoiTiengAnh(X))KienTri(X)GiaoiTiengAnh(X))
3. ThongMinh(X)GiaoiToan(X)) 4. ThongMinh(Lan)¬KienTri(Lan)
b. Tiếp theo, chúng ta chuyển các câu trong cơ sở tri thức về dạng các câu
Horn.Một công thức Horn là mt công thức logic có tối đa một phần tử kích hoạt
(head) và một hoặc nhiều phần tử kích hoạt (body).
Chúng ta có thể chuyển đổi các công thức như sau:
1. GiaoiLapTrinh(X)←GiaoiTiengAnh(X)GiaoiToan(X)
2. GiaoiTiengAnh(X)←ThongMinh(X)
3. GiaoiTiengAnh(X)←KienTri(X)
4. GiaoiToan(X)←ThongMinh(X)
Cuối cùng, để trả lời câu hỏi "Lan lập trình có giỏi không?", chúng ta áp dụng suy
diễn tiến:
Bắt đầu từ các luật Horn, ta sẽ tìm các luật có phần kích hoạt chứa
GiaoiLapTrinh(Lan) trong phần kết quả. Từ đó, ta sẽ tìm các luật có phần kết quả
chứa GiaoiTiengAnh(Lan), GiaoiToan(Lan), ThongMinh(Lan), và KienTri(Lan)
và tiếp tục thực hiện suy diễn cho đến khi không thể thêm được thêm bất kỳ sự
suy diễn nào nữa.
lOMoARcPSD| 59114765
Từ câu 4, ta biết Lan thông minh nhưng không kiên trì, từ đó ta có thể suy ra
¬KienTri(Lan). Dùng các quy tắc suy diễn tiến, ta có thể suy ra
GiaoiTiengAnh(Lan), ThongMinh(Lan), và GiaoiToan(Lan).
Tiếp theo, từ luật GiaoiTiengAnh(X)←ThongMinh(X), ta có thể suy ra
GiaoiTiengAnh(Lan). Từ luật GiaoiToan(X)←ThongMinh(X), ta cũng có thể suy
ra GiaoiToan(Lan).
Từ GiaoiTiengAnh(Lan) và GiaoiToan(Lan), ta có thể áp dụng luật
GiaoiLapTrinh(X)←GiaoiTiengAnh(X)GiaoiToan(X), suy ra
GiaoiLapTrinh(Lan).
Vậy Lan lập trình có giỏi.

Preview text:

lOMoAR cPSD| 59114765
BÀI TẬP BIỂU DIỄN TRI THỨC VÀ SUY DIỄN
Bài 1: Chuyển các công thức sau về dạng chuẩn hội, chuẩn tuyển: a. (P Q)v( R S)
-Loại bỏ kí hiệu tương đương trong công thức bằng quy tắc:
P Q ≡ (P=>Q) ∧ (Q=>P)
¬((PQ)∧(QP))∨(¬RS)
-Tiếp theo, chúng ta sử dụng quy tắc để đưa các phép nghịch đảo về dạng dương bằng cách thay thế:
¬ABAB -Điều này sẽ cho ta:
¬((¬PQ)∧(¬QP))∨(¬¬RS)
-Chúng ta cũng cần loại bỏ kí hiệu phủ định kép (¬) bằng cách sử dụng quy tắc: ¬¬AA
(¬(P∨¬Q)∧(¬QP))∨(RS)
-Cuối cùng, chúng ta đưa mỗi hội trong công thức về dạng hội của các biến bằng cách phân phối:
(AB)∧(CD)≡(AC)∨(AD)∨(BC)∨(BD) -Vậy ta có:
((¬P∧¬Q)∨(PQ))∨(RS) b. (P Q)v R
Đầu tiên, chúng ta cần loại bỏ kí hiệu tương đương (bi-conditional) trong công
thức bằng cách sử dụng quy tắc:
PQ≡(PQ)∧(QP)
Vậy công thức sẽ trở thành: ¬((PQ)∧(QP))∨¬R lOMoAR cPSD| 59114765
Tiếp theo, chúng ta sử dụng quy tắc để đưa các phép nghịch đảo về dạng dương
bằng cách thay thế: ¬ABAB
Điều này sẽ cho ta: ¬((¬PQ)∧(¬QP))∨¬R
Chúng ta cũng cần loại bỏ kí hiệu phủ định kép (¬¬) bằng cách sử dụng quy tắc: ¬¬AA
((P∧¬Q)∨(Q∧¬P))∨¬R
Cuối cùng, chúng ta đưa mỗi hội trong công thức về dạng hội của các biến
(CNF) bằng cách phân phối: (AB)∧(CD)≡(AC)∨(AD)∨(BC)∨(BD)
Vậy ta có: ((P∨¬R)∧(¬Q∨¬R)) c. A B ∧ C Đầu tiên, ta
A⇒(BC) biến đổi biểu thức thành dạng tương đương
bằng cách sử dụng quy tắc:
A⇒(BC)≡¬A∨(BC) Sau đó, ta sử
dụng phân phối để chuyển biểu thức về dạng chuẩn hội:
¬A∨(BC)≡(¬AB)∧(¬AC)
Đây là dạng chuẩn hội của công thức ban đầu: (¬AB)∧(¬AC). D:
Trước tiên, ta biến đổi biểu thức (PQ) thành dạng tương đương sử dụng quy
tắc: (PQ)≡¬PQ Tiếp theo, ta R∨¬S)b
iến đổi biểu thức ¬( thành dạng tương đương sử
dụng quy tắc De Morgan: ¬(
R∨¬S)≡¬RS Sau đó, ta sử
dụng phân phối để chuyển biểu thức về dạng chuẩn hội:
PQ)∨(¬RS)≡(¬PQ∨¬R)∧(¬PQS)
Đây là dạng chuẩn hội của công thức ban đầu:(¬PQ∨¬R)∧(¬PQS). lOMoAR cPSD| 59114765
Bài 2: Cho cơ sở tri thức:
R1: Brother(X,Y)^Married(Y,Z) => Sister_in_law(X,Z). R2: Brother(tom,peter). R3: Brother(harold,john). R4: Married(peter,mary). R5: Married(john,sue)
Áp dụng thuật toán suy diễn lùi để chứng minh: Sister_in_law(tom,mary) Áp
dụng thuật toán suy diễn tiến vào cơ sở tri thức trên. Bài giải:
Ta có thể nhận thấy rằng từ R2 và R4, ta có thể suy ra rằng peter là anh trai của
tom và peter kết hôn với mary.
Từ quy tắc R1, nếu tom là anh trai của peter và peter kết hôn với mary, thì tom
sẽ là em trai của mary, và do đó mary là chị dâu của tom. Vậy ta suy ra được
Sister_in_law(tom, mary)Sister_in_law(tom, mary).
Bài 4: Cho cơ sở tri thức gồm các câu đúng sau:
- Sinh viên nào giỏi tiếng anh và giỏi toán đều giỏi lập trình.
- Sinh viên nào thông minh hoặc kiên trì đều giỏi tiếng anh.
- Sinh viên nào thông minh thì giỏi toán.
- Lan thông minh nhưng không kiên trì. a.
Thành lập các vị từ, công thức thích hợp biểu diễn các câu trên, sau đó
chuyển chúng về dạng hội các câu tuyển. b.
Chuyển các câu trong cơ sở tri thức về dạng các câu Horn. Dùng
phương pháp suy diễn tiến để trả lời câu hỏi “Lan lập trình có giỏi không?”. Bài giải: lOMoAR cPSD| 59114765 a.
Đầu tiên, chúng ta sẽ xác định các vị từ và biểu diễn các câu theo dạng công thức logic:
1. GiaoiLapTrinh(X) - "Sinh viên X giỏi lập trình"
2. GiaoiTiengAnh(X) - "Sinh viên X giỏi tiếng Anh"
3. GiaoiToan(X) - "Sinh viên X giỏi toán"
4. ThongMinh(X) - "Sinh viên X thông minh"
5. KienTri(X) - "Sinh viên X kiên trì"
Các câu trong cơ sở tri thức có thể được biểu diễn như sau:
1. (GiaoiTiengAnh(X)∧GiaoiToan(X))⇒GiaoiLapTrinh(X)
2. (ThongMinh(X)∨KienTri(X))⇒GiaoiTiengAnh(X)
3. ThongMinh(X)⇒GiaoiToan(X)
4. ThongMinh(Lan)∧¬KienTri(Lan)
Sau đó, chúng ta chuyển các công thức trên về dạng hội các câu tuyển:
1. (¬GiaoiTiengAnh(X)∨¬GiaoiToan(X)∨GiaoiLapTrinh(X))
2. (¬ThongMinh(X)∨GiaoiTiengAnh(X))∧(¬KienTri(X)∨GiaoiTiengAnh(X))
3. (¬ThongMinh(X)∨GiaoiToan(X)) 4. ThongMinh(Lan)∧¬KienTri(Lan) b.
Tiếp theo, chúng ta chuyển các câu trong cơ sở tri thức về dạng các câu
Horn.Một công thức Horn là một công thức logic có tối đa một phần tử kích hoạt
(head) và một hoặc nhiều phần tử kích hoạt (body).
Chúng ta có thể chuyển đổi các công thức như sau:
1. GiaoiLapTrinh(X)←GiaoiTiengAnh(X)∧GiaoiToan(X)
2. GiaoiTiengAnh(X)←ThongMinh(X)
3. GiaoiTiengAnh(X)←KienTri(X)
4. GiaoiToan(X)←ThongMinh(X)
Cuối cùng, để trả lời câu hỏi "Lan lập trình có giỏi không?", chúng ta áp dụng suy diễn tiến:
Bắt đầu từ các luật Horn, ta sẽ tìm các luật có phần kích hoạt chứa
GiaoiLapTrinh(Lan) trong phần kết quả. Từ đó, ta sẽ tìm các luật có phần kết quả
chứa GiaoiTiengAnh(Lan), GiaoiToan(Lan), ThongMinh(Lan), và KienTri(Lan)
và tiếp tục thực hiện suy diễn cho đến khi không thể thêm được thêm bất kỳ sự suy diễn nào nữa. lOMoAR cPSD| 59114765
Từ câu 4, ta biết Lan thông minh nhưng không kiên trì, từ đó ta có thể suy ra
¬KienTri(Lan). Dùng các quy tắc suy diễn tiến, ta có thể suy ra
GiaoiTiengAnh(Lan), ThongMinh(Lan), và GiaoiToan(Lan).
Tiếp theo, từ luật GiaoiTiengAnh(X)←ThongMinh(X), ta có thể suy ra
GiaoiTiengAnh(Lan). Từ luật GiaoiToan(X)←ThongMinh(X), ta cũng có thể suy
ra GiaoiToan(Lan).
Từ GiaoiTiengAnh(Lan) và GiaoiToan(Lan), ta có thể áp dụng luật
GiaoiLapTrinh(X)←GiaoiTiengAnh(X)∧GiaoiToan(X), suy ra
GiaoiLapTrinh(Lan).
Vậy Lan lập trình có giỏi.