heuristic (evaluation function) , dùng để đánh giá các đặc điểm của một trạng thái trong KGTT.. – Giải thuật tìm kiếm heuristic:.[r]
Trang 1Lec 4
Trang 2TTNT p.2
Tìm kiếm kinh nghiệm (heuristic)
trên kinh nghiệm, trực giác.
Các hệ giải quyết AI sử dụng heuristic trong
hai tình huống cơ bản:
– Bài toán được định nghĩa chính xác nhưng chi phí tìm
lời giải bằng TK vét cạn là không thể chấp nhận.
VD: Sự bùng nổ KGTT trong trò chơi cờ vua
– Vấn đề với nhiều sự mơ hồ trong lời phát biểu bài
toán hay dữ liệu cũng như tri thức sẵn có
VD: Chẩn đoán trong y học
Trang 3 Tìm biểu diễn thích hợp mô tả các trạng thái và các toán tử của bài toán
Xây dựng hàm đánh giá
Thiết kế chiến lược chọn trạng thái để phát triển
ở mỗi bước.
Trang 4TTNT p.4
Giải thuật Heuristic
Một giải thuật heuristic có thể được xem gồm 2 phần:
– Phép đo heuristic: thể hiện qua hàm đánh giá
heuristic (evaluation function), dùng để đánh giá các
đặc điểm của một trạng thái trong KGTT
– Giải thuật tìm kiếm heuristic:
• Tìm kiếm tốt nhất-đầu tiên (best-first search): Tìm kiếm
theo chiều rộng + hàm đánh giá
• Tìm kiếm leo đồi (hill-climbing): Tìm kiếm theo chiều sâu +
hàm đánh giá
Trang 5KGTT của tic-tac-toe được thu nhỏ nhờ tính đối xứng
của các trạng thái
Trang 6TTNT p.6
Phép đo heuristic
Heuristic “Số đường thắng nhiều nhất” áp dụng cho các
nút con đầu tiên trong tic-tac-toe
Trang 7Tìm kiếm tốt nhất-đầu tiên
Procedure Best-first search;
Begin
1 Khởi tạo danh sách L chỉ chứa trạng thái đầu;
2 Loop do
2.1 If L rỗng then {thông báo 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 thành công; stop};
2.4 For mỗi trạng thái v kề u do
Chèn v vào danh sách L sao cho L được sắp theo thứ tự tăng dần của hàm đánh giá;
End;
Trang 8TTNT p.8
Ví dụ:tìm kiếm tốt nhất-đầu tiên
10
A
F
C
D
I
B
H
G
K E
20
6
7
5 3
0 15
Đồ thị không gian trạng thái B H
G
K E
A 20
D
6
7
I 8
12 5
3 0
C
15
Cây tìm kiếm tốt nhất-đầu tiên F
10
Trang 9Giải thuật Leo đồi
Giải thuật:
– Mở rộng trạng thái hiện tại và đánh giá các trạng thái con của nó bằng hàm đánh giá heuristic.
– Con “tốt nhất” sẽ được chọn để đi tiếp.
Procedure Hill-Climbing_search;
Begin
1 Khởi tạo danh sách L chỉ chứa trạng thái đầu;
2 Loop do
2.1 If L rỗng then {thông báo 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 thành công; stop};
2.4 For mỗi trạng thái v kề u do đặt v vào L1; 2.5 Sắp xếp L1 theo thứ tự tăng dần của hàm đánh giá sao cho trạng thái tốt nhất ở đầu danh sách L1;
2.6 Chuyển danh sách L vào đầu danh sách L sao cho L ở đầu danh sách L;
Trang 10TTNT p.10
Giải thuật Leo đồi
Giới hạn:
– Giải thuật có khuynh hướng bị sa lầy ở những cực đại cục bộ:
Lời giải tìm được không tối ưu
Không tìm được lời giải mặc dù có tồn tại lời giải
– Giải thuật có thể gặp vòng lặp vô hạn do không lưu giữ thông tin về các trạng thái đã duyệt