Bài giảng Trí tuệ nhân tạo - Lec 4: Tìm kiếm kinh nghiệm - Phạm Thị Anh Lê
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Trí tuệ nhân tạo - Lec 4: Tìm kiếm kinh nghiệm - Phạm Thị Anh Lê", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_tri_tue_nhan_tao_lec_4_tim_kiem_kinh_nghiem_pham_t.pdf
Nội dung text: Bài giảng Trí tuệ nhân tạo - Lec 4: Tìm kiếm kinh nghiệm - Phạm Thị Anh Lê
- Lec 4 Tìm kiếm kinh nghiệm Lec 4-TTNT. p.1
- Tìm kiếm kinh nghiệm (heuristic) ◼ Heuristics: là các phỏng đoán, ước chừng dựa 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. TTNT. p.2
- Giải quyết bài toán bằng tìm kiếm heuristic ◼ 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. TTNT. p.3
- 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á TTNT. p.4
- KGTT của tic-tac-toe được thu nhỏ nhờ tính đối xứng của các trạng thái. TTNT. p.5
- 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. TTNT. p.6
- Tì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; TTNT. p.7
- Ví dụ:tìm kiếm tốt nhất-đầu tiên 20 A 20 A 15 C 15 C E 7 E 7 6 D 6 D 10 K 12 F I 8 K 12 10 F I 8 G B G 5 0 3 5 H Đồ thị không gian trạng thái 0 B 3 H Cây tìm kiếm tốt nhất-đầu tiên TTNT. p.8
- Giả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 L1vào đầu danh sách L sao cho L1 ở đầu danh sách L; End; TTNT. p.9
- 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. TTNT. p.10
- Ví dụ: tìm kiếm leo đồi 20 A 20 A 15 C 15 C 7 E 7 E 6 D 10 6 D F I 8 K 12 B G 10 F I 8 0 3 5 H Đồ thị không gian trạng thái 0 B 5 G Cây tìm kiếm leo đồi TTNT. p.11
- KGTT càng thu nhỏ khi áp dụng heuristic TTNT. p.12
- Giải thuật TK tốt nhất 1. open = [A5]; closed = [] 2. Đánh giá A5; open = [B4,C4,D6]; closed = [A5] 3. Đánh giá B4; open = [C4,E5,F5,D6]; closed = [B4,A5] 4. Đánh giá C4; open = [H3,G4,E5,F5,D6]; closed = [C4,B4,A5] 5. Đánh giá H3; open = [O2,P3,G4,E5,F5,D6]; closed = [H3,C4,B4,A5] 6. Đánh giá O2; open = [P3,G4,E5,F5,D6]; closed = [O2,H3,C4,B4,A5] 7. Đánh giá P3; tìm được lời giải! TTNT. p.13
- Giải thuật Beam Tìm kiếm beam (beam search) giống tìm kiếm theo chiều rộng. Tuy nhiên, trong tìm kiếm Beam ở mỗi mức chỉ hạn chế phát triển k đỉnh tốt nhất (các đỉnh này được xác định bởi hàm đánh giá) 20 A Ví dụ: Trong ví dụ trên lấy k=2 15 C E 7 6 D K 12 10 F I 8 G 5 0 B 5 G 0 B 3 H Cây tìm kiếm Beam TTNT. p.14
- Cài Đặt Hàm Đánh Giá (Evaluation Function) Xét trò chơi 8-puzzle. Cho mỗi trạng thái n một giá trị f(n): f(n) = g(n) + h(n) g(n) = khoảng cách thực sự từ n đến trạng thái bắt đầu h(n) = hàm heuristic đánh giá khoảng cách từ trạng thái n đến mục tiêu. start 2 8 3 1 2 3 g(n) = 0 1 6 4 8 4 7 5 7 6 5 goal 2 8 3 2 8 3 2 8 3 h(n): số lượng các vị trí còn sai g(n) = 1 1 6 4 1 4 1 6 4 7 5 7 6 5 7 5 f(n) = 6 4 6 TTNT. p.15
- Khó khăn trong thiết kế hàm heuristic Ba heuristic áp dụng vào 3 trạng thái của trò chơi ô đố 8 số TTNT. p.16
- Heuristic trong trò chơi đối kháng ◼ Giải thuật minimax: – Hai đấu thủ trong trò chơi được gọi là MIN và MAX. – Mỗi nút lá có giá trị: • 1 nếu là MAX thắng, • 0 nếu là MIN thắng. – Minimax sẽ truyền các giá trị này lên cao dần trên đồ thị, qua các nút cha mẹ kế tiếp theo các luật sau: • Nếu trạng thái cha mẹ là MAX, gán cho nó giá trị lớn nhất có trong các trạng thái con. • Nếu trạng thái bố, mẹ là MIN, gán cho nó giá trị nhỏ nhất có trong các trạng thái con. TTNT. p.17
- Hãy áp dụng GT Minimax vào Trò Chơi NIM TTNT. p.18
- Minimax với độ sâu lớp cố định ◼ Minimax đối với một KGTT giả định. ◼ Các nút lá được gán các giá trị heuristic ◼ Còn giá trị tại các nút trong là các giá trị nhận được dựa trên giải thuật Minimax TTNT. p.19
- Heuristic trong trò chơi tic-tac-toe Hàm Heuristic: E(n) = M(n) – O(n) Trong đó: M(n) là tổng số đường thắng có thể của tôi O(n) là tổng số đường thắng có thể của đối thủ E(n) là trị số đánh giá tổng cộng cho trạng thái n TTNT. p.20
- Minimax 2 lớp được áp dụng vào nước đi mở đầu trong tic-tac-toe Trích từ Nilsson (1971). TTNT. p.21