You are on page 1of 85

CHƯƠNG 1: REASONING (LẬP

LUẬN, SUY DIỄN) TRONG TRÍ TUỆ


NHÂN TẠO

ET4245 - 20221 1
Nội dung

 Phương pháp tạo và thử (Generate-And-Test Method)


 Phương pháp phân tích Means-End
 Phương pháp Problem-Reduction
 Hệ chuyên gia dựa trên bộ luật (Expert system use rules)
 Xuôi (suy luận)
 Ngược (kiểm chứng giả thiết)

2
ET4245 - 20221 2
1.1 GENERATE-AND-TEST METHOD
(GIẢ ĐỊNH VÀ KIỂM THỬ)

3
ET4245 - 20221 3
Phương pháp tạo và thử - Mô tả
(Generate-And-Test Method)
 Bộ tạo dữ liệu (Generator)
 Bộ thử nghiệm (Tester)

4
ET4245 - 20221 4
Phạm vi ứng dụng
(Generate-And-Test Method)
 Thường sử dụng trong các bài toán nhận dạng
(identification problems)
 Nhận biết sự cố
 Tìm tên của một loài hoa trong sách sinh học
 Dò mật khẩu mở két sắt
 Generator -> Bộ tạo/bộ sinh giả thuyết/giải pháp

 Ví dụ: bài toán mở két: giả sử mã số là: 123456, …


 Bài toán nhận biết sự cố: máy giặt không chạy -> giả thiết là không
có điện nguồn, không có nước vào, chết dây curoa, …

5
ET4245 - 20221 5
Ví dụ: Giả định và kiểm thử

6
ET4245 - 20221 6
Ví dụ: Giả định và kiểm thử

7
ET4245 - 20221 7
Ví dụ: Giả đinh và kiểm thử
 Xây dựng mô hình hồi quy từ tập dữ liệu quan sát
 Mô hình dự đoán mức tiêu thụ năng lượng:

𝑀ứ𝑐𝑡𝑖ê𝑢 𝑡hụ=𝜃1 ∗(𝑛h𝑖ệ𝑡độ𝑐𝑎𝑜 𝑛h ấ𝑡 )+ 𝜃2


Cần dự đoán tham số của mô
hình:
 Có bao nhiêu khả năng ?
 Tiêu chuẩn lựa chọn mô hình tốt nhất ?

ET4245 - 20221 8
Cách thực hiện
(Generate-And-Test Method)
Tạo và kiểm tra giải pháp,
 Cho đến khi tìm được giải pháp thỏa đáng, hoặc không thể
tạo được giải pháp nào mới nữa,
 Tạo/sinh giải pháp.
 Thử giải pháp.
 Điều kiện dừng: tìm được giải pháp chấp nhận được hoặc
không tìm được giải pháp nào.
 Thế nào là bộ sinh tốt:
 Complete: có thể sinh ra mọi giải pháp (solution) có thể có
 Non redundant: không tạo ra giải pháp (solution) 2 lần
 Informed: có thể giới hạn thông tin, từ đó giảm số lượng các giải
pháp có thể sinh ra (cây lá kim, …)

9
ET4245 - 20221 9
I.2. KỸ THUẬT MEANS-END
ANALYSIS (MEA)

10
ET4245 - 20221 10
Giới thiệu Means-end Analysis
 Áp dụng đệ quy cho một vấn đề
 Kiểm soát tìm kiếm trong việc giải quyết vấn đề
 MEA lần đầu tiên được giới thiệu vào năm 1961 bởi Allen
Newell và Herbert A. Simon
 Nguyên lý hoạt động của MEA:
 Đánh giá sự khác biệt giữa Trạng thái ban đầu và Trạng thái cuối
cùng.
 Chọn các toán tử khác nhau có thể được áp dụng cho mỗi sự khác
biệt.
 Làm giảm sự khác biệt giữa trạng thái hiện tại và trạng thái mục tiêu.

 Ý nghĩa: áp dụng TTTN để lên kế hoạch đạt được mục tiêu


tổng thể bằng cách chia thành các mục tiêu nhỏ

ET4245 - 20221 11
Một số khái niệm
 Trạng thái
 Trạng thái bắt đầu
 Trạng thái kết thúc (trạng thái đích)
 Chuyển trạng thái
 Không gian trạng thái

 Xác định giải thuật/thủ tục để chuyển trạng thái từ trạng thái bắt đầu đến
trạng thái kết thúc, có thể bằng cách chuyển tiếp qua một số trạng thái
trung gian.
 Mục tiêu:
 Thu hẹp khoảng cách giữa trạng thái hiện tại với trạng thái đích.

12
ET4245 - 20221 12
Minh họa

13
ET4245 - 20221 13
Ví dụ minh họa kỹ thuật MEA
 Biết trạng thái ban đầu và trạng thái mục tiêu  Áp dụng
MEA để đạt được trạng thái mục tiêu.

 Xác định các toán tử cơ bản


 Move
 Delete
 Expand

14
ET4245 - 20221 14
Ví dụ minh họa kỹ thuật MEA
 Bước 1: Đánh giá trạng thái ban đầu:
 So sánh trạng thái ban đầu và Mục tiêu để tìm ra sự khác biệt giữa
cả hai trạng thái.

 Bước 2: thực hiện đệ quy với mỗi toán tử giảm khác biệt

ET4245 - 20221 15
Cài đặt MEA
 Ví dụ: bài toán M&B (monkey and banana)

Trạng thái đầu Trạng thái cuối


 Quá trình cài đặt cần xác định:
 Object (monkey, box, banana, floor);
 Địa điểm : các vùng trên sàn nhà (a,b,c)
 Mối quan hệ giữa địa điểm và đối tượng (object)

ET4245 - 20221 16
Cài đặt MEA

Initial State: Goal State:


on(monkey, floor), on(monkey, box),
on(box, floor), on(box, floor),
at(monkey, a), at(monkey, c),
at(box, b), at(box, c),
at(bananas, c), at(bananas, c),
status(bananas, status(bananas,
hanging). grabbed).
 Xác lập các trạng thái trung gian ?

ET4245 - 20221 17
Ứng dụng của MEA
 Organizational planning
 Lên kế hoạch các bước thực hiện để đạt được mục tiêu trong một
đơn vị, tổ chức
 Người quản lý đạt được mục tiêu bằng cách chia nhỏ các công việc
và các công việc được liên kết với nhau
 Business transformation
 Thực hiện trong chuyển đổi mô hình kinh doanh; luôn có sự so sánh
giữa kết quả hiện thời và kết quả mong muốn
 Gap analysis
 Áp dụng các kỹ thuật mới để giảm khoảng cách về công nghệ trong
1 dây chuyền sản xuất
 Chia thành các mắt xích (bước) nhỏ, trong đó đánh giá so sánh kết
quả qua mỗi lần cải tiến, áp dụng công nghệ mới

ET4245 - 20221 18
I.3 KỸ THUẬT PROBLEM-
REDUCTION

19
ET4245 - 20221 19
Ý tưởng
 Chuyển mục tiêu khó thành nhiều mục tiêu nhỏ hơn
 Mỗi mục tiêu nhỏ lại được chia thành các mục tiêu nhỏ hơn.
Goal -> subgoals -> sub-sub goal: and/or tree

20
ET4245 - 20221 20
Ví dụ minh họa của Problem Reduction
 Tròchơi Tháp Hà Nội (Tower of Hanoi)
 Nhiệm vụ của trò chơi là di chuyển các đĩa có kích
cỡ khác nhau sang cột khác sao cho vẫn đảm bảo thứ
tự ban đầu của các đĩa: đĩa nhỏ nằm trên đĩa lớn.

 Qui tắc cho trò chơi (Tower of Hanoi):


• Mỗi lần chỉ có thể di chuyển một đĩa từ cột này sang
cột khác.
• Chỉ được di chuyển đĩa nằm trên cùng (không được di
chuyển các đĩa nằm giữa).
• Đĩa có kích thước lớn hơn không thể được đặt trên
đĩa có kích thước nhỏ hơn.
21
ET4245 - 20221 21
Tower of Hanoi (Tháp Hà Nội)
 Chiến lược
• (*) Chiến lược để di chuyển (các) khối sang
cột mới:
• Tìm khoảng trống nơi có thể chuyển đến (**)
• Bắt lấy (các) khối – (lặp)  (**) Dọn (các) khối
phía trên  chuyển về (*)
• Di chuyển (các) khối
• Đặt vào vị trí đích

22
ET4245 - 20221 22
Tower of Hanoi (Tháp Hà Nội)
 Chuyển cột?
 Tìm chỗ trống
 Đem cái to nhất sang
 Bỏ ra
 Tìm chỗ trống

 Câu hỏi Tại sao? (Why)


 Tại sao hành động như vậy?

 Câu hỏi Như thế nào/Bằng cách nào? (How)


 Để đạt được điều đó (mục đích/mục tiêu) cần phải làm
như thế nào?

ET4245 - 20221 23
Tower of Hanoi (Tháp Hà Nội)
Lời giải với 2 đĩa
1. Di chuyển đĩa trên cùng (đĩa nhỏ nhất) tới cotTrungGian
2. Di chuyển đĩa dưới cùng (đĩa to hơn) tới cotDich
3. Di chuyển đĩa nhỏ nhất từ cotTrungGian về cotDich

ET4245 - 20221 24
Tower of Hanoi (Tháp Hà Nội)
 Với 3 đĩa

 Với 4 đĩa

ET4245 - 20221 25
Tower of Hanoi (Tháp Hà Nội)
 Nếu chỉ có n đĩa (n>=3) :
1. Di chuyển n-1 đĩa trên cùng từ cotNguon tới cotTrungGian
1.1 Di chuyển n-2 đĩa trên cùng từ “cotNguon” tới “cột trung gian”
1.1.1 Di chuyển n-3 đĩa trên cùng từ “cotNguon” tới …
1.1.2 …

1.2 Di chuyển đĩa thứ n-1 tới ‘cotDich’
1.3 Di chuyển đĩa n-2 đĩa từ “cotTrungGian” về “cotDich”
2. Di chuyển đĩa thứ n (đĩa dưới cùng) tới cotDich
3. Di chuyển n-1 đĩa từ cotTrungGian về cotDich

(Why) Tại sao lại di chuyển n-2 đĩa trên cùng …


Tại sao lại di chuyển n-1 đĩa trên cùng …
(How) Làm cách nào để di chuyển n-1 đĩa trên cùng …

ET4245 - 20221 26
Minh họa
Put A on B table
Put-On A, B - Grasp D - Ungrasp C
- Move D to some - Grasp A
location on the - Move A to some
table location on B
- Ungrasp D - Ungrasp A
- Grasp C
- Move C to some
location on the

How do the procedures in MOVER find the appropriate sequence?


27
ET4245 - 20221 27
Phân tích
 Thủ tục MOVER để tìm cách thức di chuyển các khối phù hợp ?

ET4245 - 20221 28
Goal Trees
 Làm cách nào để clear đỉnh của khối A? By GET-RID-OF C (top down)
 Tại sao phải clear đỉnh của khối A? To GRASP A (bottom up)

ET4245 - 20221 29
Ứng dụng của Problem Reduction

Bài toán:
Xác định cách di
chuyển từ thành
phố này đến thành
phố khác
Với các rang buộc

ET4245 - 20221 30
Ứng dụng của Problem Reduction
 Các rang buộc :

 Thời gian ít nhất? Thời gian tổng thể ít nhất?


 Tiết kiệm nhất?
 Cân bằng giữa thời gian và tiền bạc
  cần tìm một lời giải với chi phí là tối thiểu

ET4245 - 20221 31
Định nghĩa đồ thị AND-OR Graph
 Vấn đề Problem Reduction có thể được biểu diễn qua đồ thị

 Đồ thị And/OR:
 OR node: thể hiện các khả năng có thể lựa chọn (possible solution,
possible decomposition)  node có thể tiếp tục được chia nhỏ
 AND node: thể hiện sự phân tách (chia nhỏ) của một node cha
 Đồ thị AND/OR graph thể hiện tất cả các khả năng có thể
phân chia để giải quyết vấn đề
 Cần tìm đường đi (trong đồ thị) để có được giải pháp tối ưu
(chi phí là ít nhất)
 Thuật toán AO* (khác với A*): tìm đường đi ngắn nhất cho
đồ thị And/OR

ET4245 - 20221 32
Định nghĩa bài toán
 Định nghĩa đồ thị And/OR (G)
 Gồm: [G,s, T]. Trong đó
Cung Arc
 G: đồ thị And/or
 S: node bắt đầu
 T: node kết thúc
 h(n): hàm dự đoán chi phí
tại một sub-problem (vấn đề con) ở mức n
 Cung Arc: thể hiện một node AND trong đồ thị G
 Nhiệm vụ: tìm đường đi trong đồ thị G (từ S tới T)
để có chi phí là ít nhất

ET4245 - 20221 33
Ví dụ : bài toán nhân đa ma trận
 Xây dựng đồ thị AND/OR graph cho bài toán nhân 3 ma trận
(A1A2A3)

S node = A1A2A3

Solution 1 = A1(A2A3) Solution 2 = (A1A2)A3

A1 A2A3 A1A2 A3
ET4245 - 20221 34
Ví dụ : bài toán nhân đa ma trận
 Xác định chi phí tính toán: dựa trên kích thước của ma trận
 A1= [3 x 4]
 A2= [4 x 10] S node = A1A2A3
 A3= [10 x 1] (52) [150]
 VD: cost tại [A2A3] = 40
[3x4] [3x10]

Solution 1 = A1(A2A3) Solution 2 = (A1A2)A3


(40+12) (120+30)

[3x4] [4x1]

A1 A2A3 A1A2 A3
(0) (40)
(120) (0)
ET4245 - 20221 35
Ý nghĩa của hàm heuristic function
 Quá trình search của AO* luôn update theo node nào đang
là best way

ET4245 - 20221 36
Ý nghĩa của hàm heuristic function
 Quá trình search của AO* có update ngược theo cấu hình
(kết quả hiện thời)

ET4245 - 20221 37
Thuật toán AO*
1. Bắt đầu từ node start
2. Sử dụng tìm kiếm node có khả năng nhất (TP).
3. Lựa chọn node ở level n là 1 phần của TP; coi node đó
là open
4. Nếu n là node đích, gán nhãn n như là solved. (vấn đề
đã giải quyết). Nếu start node là solved, lựa chọn TP là lời
giải.
5. Nếu n chưa phải là đích, gán nhãn n như là unsolved.
6. Tiếp tục mở rộng node n; tính toán lại cost cho tới node
start .
7. Lặp lại bước 2

ET4245 - 20221 38
I.4 RULE-BASED EXPERT SYSTEMS
(HỆ CHUYÊN GIA DỰA TRÊN LUẬT)

39
ET4245 - 20221 39
Giới thiệu về hệ chuyên gia
 Định nghĩa:
Hệ chuyên gia là một chương trình được thiết kế theo mô
hình có khả năng giải quyết vấn đề của chuyên gia con
người.
 Sơ đồ khối cơ bản:

Cô sôû Ñoäng cô
tri thöùc Suy luaän

Heä chuyeân gia

ET4245 - 20221 40
Giới thiệu về hệ chuyên gia
 Cơ sở tri thức:
 Dùng để chứa tri thức trong một lĩnh vực nào đó, tri thức này do
chuyên gia con người chuyển giao.
 Bao gồm: các khái niệm cơ bản, các sự kiện, các luật và quan hệ
giữa chúng.
 Động cơ suy luận:
 Là bộ xử lý cho tri thức, được mô hình sao cho giống với việc suy
luận của chuyên gia con người.
 Bộ xử lý làm việc dựa trên thông tin mà người dùng mô tả về vấn
đề, kết hợp với CSTT, cho ra kết luận hay đề nghị.
 Ví dụ:
 Tri thức về bệnh nhiễm trùng máu do các bác sĩ chuyên khoa này
chuyển giao.
 Tri thức về chiến lược đầu tư do các nhà cố vấn đầu tư chuyển
giao.
ET4245 - 20221 41
Cấu trúc của hệ chuyên gia

Long- Term Memory


------------------------- Ngöôøi ñöôïc khuyeân
Tri thöùc cuûa lónh vöïc -------------
Boä suy luaän
Short- Term Memory Söï kieän,
------------------------- Keát luaän
Söï kieän, keát luaän

Chuyeân gia con ngöôøi

CSTT
------------------------- Ngöôøi duøng
Tri thöùc cuûa lónh vöïc -------------
Ñoäng cô suy luaän
Boä nhôù laøm vieäc Söï kieän,
------------------------- Keát luaän
Söï kieän, keát luaän

Heä chuyeân gia


ET4245 - 20221 42
Cấu trúc của hệ chuyên gia
 Cơ sở tri thức (CSTT): chứa tri thức của lĩnh vực quan tâm
 cần công cụ/cách thức biểu diễn tri thức
 Một trong các cách tiêu biểu để biểu diễn là dùng luật
 Ví dụ:

RULE 1:
IF “Xe car không thể khởi động được”
THEN “Vấn đề trong hệ thống điện”

RULE 2:
IF “Vấn đề trong hệ thống điện”
AND “Điện thế AC-quy nhỏ hơn 10Volt”
THEN lỗi tại bộ AC-quy”

ET4245 - 20221 43
Cấu trúc của hệ chuyên gia
 Động cơ suy luận:
 Là bộ xử lý trong hệ chuyên gia, là nhiệm vụ so trùng các sự kiện
được chứa trong bộ nhớ làm việc với tri thức được chứa trong CSTT
nhằm dẫn ra kết luận cho vấn đề.
 Ví dụ: Giả sử CSTT chỉ với hai luật nêu trên

Bước 1:
ES: Có phải xe car không khởi động được ?
Người dùng: Đúng.

Bước 2:
ES: Có phải điện Ac-quy dưới 10 Volt?
Người dùng: Đúng.

ET4245 - 20221 44
Cấu trúc của hệ chuyên gia
Chú thích Bước 1:
User: “Đúng”  ES thêm vào bộ nhớ sự kiện để mô tả:
“Xe car không thể khởi động được”
Động cơ suy diễn: so trùng: nhận thấy RULE 1 có thể so
trùng được  ES thêm vào bộ nhớ làm việc phần kết luận
của RULE 1, đó là: “Vấn đề trong hệ thống điện”

Chú thích Bước 2:


User: “Đúng”  ES thêm vào bộ nhớ làm việc sự kiện để mô
tả:
“Điện thế Ac-quy nhỏ hơn 10Volt”
Động cơ suy diễn: so trùng, nhận thấy RULE 2 có thể so
trùng được  thêm vào bộ nhớ làm việc phần kết luận của
RULE 2, đó là: lỗi tại bộ Ac-quy”

Phiên làm việc cũng kết thúc vì CSTT chỉ gồm hai luật trên.
ET4245 - 20221 45
Cấu trúc của hệ chuyên gia
Chuaån ñoaùn xe

Heä thoáng ñieän Heä thoáng nhieân lieäu

Ac-quy Boä ñaùnh löûa Boä cheá hoaø khí OÁng daãn

ET4245 - 20221 46
Phân loại hệ chuyên gia
 Có 2 loại hệ chuyên gia:
• Forward-chaining (Suy luận tiến): dựa trên đặc tính
để đưa ra kết luận sử dụng một tập luật.
 Từ thực tế (dữ liệu quan sát được) đi đến kết luận

• Backward-chaining (Suy luận lùi) : Kiểm chứng lại


kết quả đúng dựa trên lùi từng bước để kiểm tra
các đặc tính thông qua tập luật
 Kiểm tra sự đúng đắn của một giả thiết bằng cách kiểm
tra các dữ kiện (dữ liệu quan sát được, có được) với
các luật
47
ET4245 - 20221 47
Ví dụ về hệ suy luận tiến

 Dựa trên một


số đặc điểm
quan sát được
của một sinh
vật lạ, có thể
xác định được
đó là con vật

48
ET4245 - 20221 48
Ưu/nhược điểm của suy luận tiến
 Ưu điểm:  Nhược điểm:
 Làm việc tốt với bài toán  Không có cách để nhận
có bản chất: gôm thông thấy tính quan trọng của
tin và sau đó tìm xem có từng sự kiện. Hỏi nhiều
thể suy ra cái gì từ câu hỏi thừa, vì đôi lúc
thông tin đó. chỉ cần một vài sự kiện
 Có thể dẫn ra rất nhiều là cho ra kết luận.
thông tin chỉ từ một ít sự  Có thể hỏi những câu
kiện ban đầu. hỏi không liên quan gì
 Thích hợp cho một số nhau – chuổi câu hỏi
vấn đề như: hoạch định, không ăn nhập nhau.
giám sát, điều khiển, VD:- Bạn có thân nhiệt cao ?
- Bạn đến VN đã lâu rồi ?
diễn dịch.
49
Ví dụ về hệ suy luận lùi

 Cho trước một giả thiết, dựa trên kinh nghiệm có sẵn (tập
luận) có thể đánh giá được giả thiết đó là đúng hay sai

50
ET4245 - 20221 50
Ưu/nhược điểm của suy luận lùi
 Ưu điểm:  Nhược điểm:
 Làm việc tốt với bài toán có  Luôn hướng theo dòng
bản chất: thành lập giả thiết , suy luận định trước
sau đó tìm xem có thể chứng thậm chí có thể dừng và
minh được không.
rẽ sang một goal khác.
 Hướng đến một goal nào,  Giải quyết: dùng meta-
nên hỏi những câu hỏi có liên
quan nhau.
rule để khắc phục.
 Meta-rule: dùng để
 Chỉ khảo sát CSTT trên
nhánh vấn đề đang quan hướng không gian tri
tâm. thức được khảo sát
 Tốt cho các vấn đề: chuẩn
sang một vùng khác.
đoán, kê toa, gỡ rối.

51
Các đặc trưng của hệ chuyên gia
 Tại sao nó có răng nhọn? Vì nó là động vật ăn thịt
 Động vật ăn thịt thì thế nào? Nó có răng nhọn, và …

52
ET4245 - 20221 52
Các đặc trưng của hệ chuyên gia
 Khả năng giải thích HOW của ES có thể thực hiện được
bằng cách cho phép nó theo vết các luật mà nó đã sử dụng
vào suy luận.
Ví dụ: trong phiên làm việc của ES nói trên.
ES: lỗi tại bộ Ac-quy”.
Người dùng: HOW

ES: “Bởi vì, khi xe không khởi động được,


 đã có vấn đề trong hệ thống điện.
 Điện thế của ac-quy dưới 10 volt  ac-quy đã hư.”

ET4245 - 20221 53
Các đặc trưng của hệ chuyên gia
 Giải thích WHY (tại sao)
 Khả năng của ES cung cấp cách giải thích: “tạo sao nó lại hỏi một
câu hỏi nào đó.” Với khả năng này, người dùng cũng có thể theo vết
được luồng suy luận của ES và yên tâm hơn với kết quả.

Ví dụ: trong phiên làm việc của ES nói trên.


ES: Có phải xe car không khởi động được ?
Người dùng: WHY

ES: “Nếu tôi biết rằng xe car không khởi động được,
thì tôi thường cho rằng có vấn đề trong hệ thống điện.”

ET4245 - 20221 54
Nguyên lý xây dựng hệ chuyên gia

Boä nhôù
laøm vieäc

Boä giao tieáp


Ngöôøi Giao dieän Ñoäng cô
chöông trình
duøng ngöôøi duøng suy luaän
ngoaøi

Ngöôøi Giao dieän Cô sôõ tri thöùc Boä giaûi thích


phaùt trieån Ngöôøi phaùt trieån

ET4245 - 20221 55
Quan hệ giữa đồ thị AND/OR và cây hướng
đích (Goal Tree) trong hệ chuyên gia

Goal tree, tương ứng với giả thiết “On Thursday it will Snow”:

56
ET4245 - 20221 56
Heuristics of knowledge engineering
 How to set the program’s rules:
 Deal with specific cases: know all details of each
specific case, not vague, general ideas from people
(potato chips, tomatoes vs “squishy”)
 Understand the vocabulary items that make two cases
different (frozen vs canned)
 Analyze when the program breaks down to understand
the missing rule.

57
ET4245 - 20221 57
Ví dụ:
 Sắp xếp đồ vào giỏ khi đi chợ với một tập luật
 Vật nặng để dưới, vật nhẹ ở trên
 Không để quá 3 vật nặng trong 1 túi
 Đồ lạnh để ở đâu
 Đồ dễ vỡ thế nào?

58
ET4245 - 20221 58
HEURISTICS OF KNOWLEDGE
ENGINEERING
HOW TO SET PROGRAM’S
RULE

59
ET4245 - 20221 59
BÀI TẬP

60
ET4245 - 20221 60
Bài tập 1

 Question: Will this system produce the datum 'Polly is


pining for the fjords'? Answer 'yes' or 'no'.

61
ET4245 - 20221 61
Bài tập 2

• Luật nào
được thực
hiện đầu
tiên?
• Luật nào
được thực
hiện thứ
2?

62
ET4245 - 20221 62
Bài tập 3
 Sử dụng câu lệnh IF để tạo luật

63
ET4245 - 20221 63
Forward chaining (bài tập 4)
 Family relations
 Cho trước dữ liệu thuộc 3 loại:
 ‘male x’: x là nam
 ‘female x’: x là nữ
 ‘parent x y’: x bố/mẹ của y
 Mọi người trong tập dữ liệu đều được xác định là nam /
nữ

64
ET4245 - 20221 64
Forward chaining (bài tập 4)
 Lập trình suy luận (lập luật - rule) các mối quan hệ sau
 ‘brother x y’: x laf brother cuar y (sharing at least one parent)
 ‘sister x y’: x is the sister of y (sharing at least one parent)
 ‘mother x y’: x is the mother of y
 ‘son x y’: x is the son of y
 'daughter x y': x is the daughter of y
 'cousin x y': x and y are cousins (a parent of x and a parent of y are
siblings)
 'grandparent x y': x is the grandparent of y
 'grandchild x y': x is the grandchild of y

65
ET4245 - 20221 65
Forward chaining (bài tập 4)
 Áp dụng các luật vừa xây dựng ở trên để tìm các mối quan
hệ giữa nhân vật thuộc tập dữ liệu sau:
male bart parent marge bart
female lisa parent marge lisa
female
maggie parent marge maggie
female
marge parent homer bart
male homer parent homer lisa
male abe parent homer maggie
parent abe homer

66
ET4245 - 20221 66
Bài tập 5 – Phát biểu bài toán
Forward Chaining
 Một viện nghiên cứu yêu cầu bạn ứng dụng kĩ năng lập trình trí tuệ nhân tạo để
xác định các sinh vật lạ. Họ cung cấp cho bạn một tập các luật và mệnh đề ở
bảng sau. Hãy xác định loại của Spike, Fido, Rover

67
ET4245 - 20221 67
Bài tập 5
Run forward chaining on the rules and assertions provided.

0 Spike has three horns


1 Fido has sharp teeth
2 Fido has big arms
3 Rover has sharp theeth
4 Spike has flat teeth
5 Fido is a carnivore
6 Rover is a carnivore
7 Spide is a Triceratops
8 Fido is a Deinonychus
9 Rover hunts Spide
1 Rover is a Trex
0
68
ET4245 - 20221 68
Bài tập 4, Đổi mức độ ưu tiên của luật
 P4 was moved to the front (so that P4 is always tried first,
before P0)
0 Spike has three horns
1 Fido has sharp teeth
2 Fido has big arms
3 Rover has sharp theeth
4 Spike has flat teeth
5
6
7
8
9
1
0
69
ET4245 - 20221 69
Kết quả

70
ET4245 - 20221 70
PHỤ LỤC: CÁCH VẬN HÀNH
CỦA THUẬT TOÁN VÀ
CHƯƠNG TRÌNH

71
ET4245 - 20221 71
Production rule system
 Given:
 A list of rules
 A list of data (facts)
 The rules look for certain things in the data (these things
are the antecedents of the rules) and usually produce a
new piece of data (called the consequent). Rules can
also delete existing data.
 A rule is an expression that contains certain keywords,
like IF, THEN, AND, OR, and NOT. Example
 IF (AND ( ‘parent (?x) (?y)’,
‘parent (?x) (?z)’ ) ,
THEN ( ‘sibling (?y) (?z)’ ) )
If x is the parent of y, and x is the parent of z, then y is the sibling of z

72
ET4245 - 20221 72
Cách thức chương trình vận hành
 Rules are given in a specified order, and the system will
check each rule in turn:
 For each rule, it will go through all the data searching for matches to
that rule’s antecedent, before moving to the next rule.
 The data are searched for items that match the requirements of the
antecedent. Data items that appear earlier in the data take
precedence. Each pattern in an AND clause will match the data in
order, so that later ones have the variables of the earlier ones
 AND ( ‘(?x) is a bird’, NOT ( ‘(?x) is a penguin’ ))
 => objects are a birds, but are note asserted to be penguins

73
ET4245 - 20221 73
Cách thức chương trình vận hành
 A rule matches if its antecedent matches the existing data. A
rule that matches can fire if its THEN or DELETE clause
change the data. (Otherwise, it fails to fire.)
 Only one rule can fire at a time. When a rule successfully
fires, the system changes the data appropriately, and then
starts again from the first rule. This lets earlier rules take
precedence over later ones.

74
ET4245 - 20221 74
General Forward Chaining Pseudo code
1. For all rules, and assertions, find all matches, i.e. Rule + Assertion
combinations.
2. Check if any of the matches are defunt.
A defunct match is one where the consequents from the match are
already in the DB.
3. Fire the first non-defunct match.
4. Repeat until no more matches fire.

75
ET4245 - 20221 75
Giả code
Backwards - chaining

76
ET4245 - 20221 76
Giải thuật
Backwards chaining

77
ET4245 - 20221 77
Backwards Chaining (Bài tập 1)
 Một viện nghiên cứu tìm thấy một sinh vật lạ. Họ yêu cầu bạn ứng dụng
kĩ năng lập trình trí tuệ nhân tạo để xác định giả thiết sinh vật đó có
đúng là Deinonychus hay không. Theo kinh nghiệm họ có một tập hợp
các luật sau.
Giả thiết:
- Fido is a Deinonychus

78
ET4245 - 20221 78
Bài tập 1
 Hãy vẽ cây mục tiêu (goal tree)

79
ET4245 - 20221 79
Bài tập 2
Backward chaining
 Additional rule is added

 Evaluate the hypothesis ‘Rover is dangerous’

80
ET4245 - 20221 80
Bài tập 2
(Backward chaining)
 Vẽ goal tree

81
ET4245 - 20221 81
Bài tập 2: Kết quả
 List, in order, the hypotheses checked by backwards chaining from
'Rover is dangerous'. You have more than enough room:
0 Rover is dangerous
1
2
3
4
5
6
7
8
9
10

82
ET4245 - 20221 82
Giải thuật (1)

ET4245 - 20221 83
Giải thuật (2)
 REDUCE-AND

 Được tốt nghiệp nếu:


 Đạt chuẩn tiếng Anh
 Đạt chuẩn điểm trung bình tích lũy
 …

ET4245 - 20221 84
Giải thuật (3)
 REDUCE-OR

ET4245 - 20221 85

You might also like