Professional Documents
Culture Documents
ET4245 - 20221 1
Nội dung
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
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:
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.
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.
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)
ET4245 - 20221 16
Cài đặt MEA
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.
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
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
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
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 :
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
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]
[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
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
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
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”
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
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
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
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ả.
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
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
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.
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
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
ET4245 - 20221 84
Giải thuật (3)
REDUCE-OR
ET4245 - 20221 85