Bài 3 của bài giảng Trí tuệ nhân tạo giúp người học biểu diễn được các bài toán trong không gian trạng thái, biết được các chiến lược tìm kiếm, biết cách tìm kiếm trên không gian trạng thái, nắm bắt được cách sử dụng không gian trạng thái để biễu diễn suy luận với phép tính vị từ: đồ thị và/hoặc. Mời các bạn cùng tham khảo.
Trang 2TTNT p.2
Nội dung
Các chiến lược tìm kiếm
– T ìm kiếm mù
– T ìm kiếm kinh nghiệm (heuristic)
Tìm kiếm trên không gian trạng thái:
– T ìm kiếm theo chiều rộng (breath – first search)
– T ìm ki ếm theo chiều sâu (depth – first search)
– T ìm kiếm sâu bằng cách đào sâu nhiều lần (depth – first
search with iterative deepening)
Sử dụng không gian trạng thái để biễu diễn suy luận
với phép tính vị từ: Đồ thị Và/Hoặc (And/Or Graph)
Trang 3TTNT p.3
Khi biểu diễn một vấn đề như là một đồ thị không gian trạng thái, chúng ta có thể sử dụng lý thuyết đồ thị để phân tích cấu trúc và độ phức tạp của các vấn đề cũng như các thủ tục tìm kiếm.
b6
b4
Trang 4TTNT p.4
Bài toán tìm kiếm
Tìm kiếm: là tìm một đối tượng thoả mãn một số đòi hỏi nào đó, trong một tập hợp rộng lớn các đối tượng
Các kỹ thuật tìm kiếm đuợc áp dụng rộng rãi trong lĩnh vực TTNT :
– Tìm kiếm mù : không có hiểu biết gì về các đối tượng để
hướng dẫn tìm kiếm
– Tìm kiếm kinh nghiệm (heuristic) : dựa vào kinh nghiệm và hiểu biết về vấn đề cần giải quyết để xây dựng hàm đánh giá hướng dẫn sự tìm kiếm.
• Tìm kiếm tối ưu
• Tìm kiếm có đối thủ : tìm kiếm nước đi trong các trò chơi hai người (cờ vua, cờ tướng, )
Trang 5TTNT p.5
Không gian trạng thái
Không gian tìm kiếm : bao gồm tất cả các đối tượng mà ta cần quan tâm tìm
kiếm (có thể là không gian liên tục (không gian các véc tơ thực n chiều) hoạc không gian các đối tượng rời rạc
Toán tử : mô tả hành động hoặc phép biến đổi để đưa một trạng thái tới trạng
thái khác
Ví dụ : Bài toán tìm đường đi : các con đường nối các thành phố sẽ được biểu diễn bởi các toán tử ->Giải bài toán bằng tìm một dãy các toán tử để đưa
trạng thái ban đầu (điểm xuất phát) về trạng thái kết thúc (điểm đích)
Biểu diễn một bài toán trong không gian trạng thái, cần xác định các yếu tố :
+ Trạng thái ban đầu
+ Một tập hợp các toán tử
+ Một tập hợp các trạng thái kết thúc (trạng thái đích)
Không gian trạng thái có thể được biểu diễn bởi một đồ thị có hướng: mỗi đỉnh của đồ thị tương đương với một trạng thái, nếu toán tử R biến đổi trạng thái u thành trạng thái v thì cung (u,v) được gán nhãn R
Trang 8TTNT p.8
KGTT của 8-puzzle sinh ra bằng phép
“di chuyển ô trống”
Có khả năng xảy ra vòng lặp không?
Trang 9TTNT p.9
Một ví dụ của bài toán TSP
nào?
Trang 10TTNT p.10
KGTT của bài toán TSP
Mỗi cung được đánh dấu bằng tổng giá của con đường từ nút bắt đầu đến nút hiện tại.
Trang 11– Gốc = trạng thái ban đầu
– Đỉnh = trạng thái của không gian trạng thái
A
I
DC
F
K
EG
G
F
K E F
KK
G
C
KFD
Cây tìm kiếm
Trang 12TTNT p.12
Các chiến lược tìm kiếm
Tìm kiếm mù : không có sự hướng dẫn nào cho tìm kiếm, chỉ phát triển các trạng thái ban đầu
cho tới khi gặp một trạng thái đích nào đó.
Tìm kiếm kinh nghiệm (heuristic): tìm kiếm dựa vào hiểu biết về các vấn đề, dựa vào kinh
nghiệm, trực giác để đánh giá các trạng thái
Trang 132.1 if L rỗng then {thông báo tìm kiếm thất bại; stop};
2.2 Loại trạng thái u đầu danh sách L;
2.3 if u là trạng thái kết thúc then
{thông báo tìm kiếm thành công; stop};
2.4 for mỗi trạng thái v kề u do
{Đặt v vào cuối danh sách L;
father(v) u};
end;
Trang 14TTNT p.14
Đánh giá thuật toán
thái ban đầu tới trạng thái đích) thì thuật toán sẽ
tìm ra nghiệm và đường đi là ngắn nhất.
hạn, thuật toán dừng và thông báo vô nghiệm.
Trang 15TTNT p.15
Tìm kiếm theo độ sâu
Trạng thái chọn phát triển là trạng thái được sinh ra sau cùng
2.1 if L rỗng then {thông báo tìm kiếm thất bại; stop};
2.2 Loại trạng thái u đầu danh sách L;
2.3 if u là trạng thái kết thúc then
{thông báo tìm kiếm thành công; stop};
2.4 for mỗi trạng thái v kề u do
{Đặt v vào đầu danh sách L;
father(v) u};
end;
Trang 16TTNT p.16
Đánh giá thuật toán
hữu hạn thì thuật toán sẽ tìm ra nghiệm Nếu
không gian trạng thái vô hạn thì có thể không tìm
ra nghiệm không nên dùng thuật toán này với bài toán có cây tìm kiếm chứa các nhánh vô hạn.
kiếm có nhân tố nhánh b, độ phức tạp trong
gian là O(db).
Trang 17TTNT p.17
Các chiến lược cho TK-KGTT
TK hướng từ dữ liệu (Data-driven Search)
– Suy diễn tiến (forward chaining)
TK hướng từ mục tiêu (Goal-driven Search)
– Suy diễn lùi (backward chaining)
Trang 18– Tất cả hoặc một phần dữ liệu được cho từ đầu.
– Có nhiều mục tiêu, nhưng chỉ có một số ít các phép toán có thể
áp dụng cho một trạng thái bài toán
– Rất khó đưa ra một mục tiêu hoặc giả thuyết ngay lúc đầu.
Trang 19– Có thể đưa ra mục tiêu hoặc giả thuyết ngay lúc đầu.
– Có nhiều phép toán có thể áp dụng trên 1 trạng thái của bài toán => sự bùng nổ số lượng các trạng thái
– Các dữ liệu của bài toán không được cho trước, nhưng hệ
thống phải đạt được trong quá trình tìm kiếm.
Trang 20 Tìm kiếm rộng (breath-first search)
Tìm kiếm sâu (depth-first search)
TK sâu bằng cách đào sâu nhiều lần (depth-first
search with iterative deepening)
Trang 21TTNT p.21
Tìm kiếm theo chiều rộng
1. Open = [A]; closed = []
Trang 22TTNT p.22
Tìm kiếm theo chiều sâu
1. Open = [A]; closed = []
2. Open = [B,C,D]; closed = [A]
3. Open = [E,F,C,D];closed = [B,A]
Trang 23TTNT p.23
Tìm kiếm Sâu hay Rộng? (1)
mục tiêu hay không?
Khoảng cách trung bình của đường dẫn đến trạng
thái mục tiêu.
giải tìm được đầu tiên.
Trang 24TTNT p.24
Tìm kiếm sâu bằng cách đào sâu nhiều lần
quay lui khi trạng thái đang xét đạt đến độ sâu giới hạn
đã định.
độ sâu giới hạn là 1, nếu thất bại, nó sẽ lặp lại GT TK sâu với độ sâu là 2,… GT tiếp tục cho đến khi tìm được mục tiêu, mỗi lần lặp lại tăng độ sâu lên 1.
TK Rộng và TK Sâu.
Trang 27Hãy trả lời các câu hỏi sau:
1 h có đúng không?
2 h có cón đúng nêu b sai?
Trang 28TTNT p.28
Cây nghiệm
Gốc của cây ứng với bài toán cần giải
Các lá là các đỉnh kết thúc (ứng với các bài toán sơ cấp)
Nếu u là đỉnh trong của cây, thì các đỉnh con của u là các đỉnh kề u theo một toán tử nào đó.
Các đỉnh được gán nhãn giải được hoặc không giải được
– Đỉnh giải được:
• Đỉnh kết thúc
• Đỉnh không kết thúc nhưng có toán tử R sao cho tất cả các đỉnh kề của
nó theo R đều giải được.
– Đỉnh không giải được:
• Đỉnh không kết thúc và không có đỉnh kề
• u không phải đỉnh kết thúc và mọi toán tử R áp dụng được tại u đều có
đỉnh v kề u theo R không giải được.
Trang 29TTNT p.29
Tìm kiếm trên đồ thị VÀ/HOẶC
Begin
1 If u là đỉnh kết thúc then
{Solvable true; stop};
2 If u không là đỉnh kết thúc và không có đỉnh kề then
{Solvable false; stop};
3 For mỗi toán tử R áp dụng được tại u do
{OKtrue;
for mỗi v kề u theo R do
if Solvable(v) = false then
Trang 30TTNT p.30
Ví dụ: Hệ Tư Vấn Tài Chính
Đồ Thị And/Or biểu diễn phần KGTT đã duyệt qua để đi đến lời giải
Trang 31TTNT p.31
VÍ DỤ ĐỒ THỊ AND/OR:
Cho một bài toán được mô tả bằng
các câu vị từ:
Hãy vẽ đồ thị AND/OR biểu diễn
phần KGTK để trả lời câu hỏi: “Fred
đang ở đâu?” (Áp dụng suy diễn lùi)
Trang 32TTNT p.32
Bài Tập Chương 3