Trò chơi Trang 1 Tìm kiếm Đối kháng – Trò chơi Lê Ngọc Thành Khoa Công nghệ Thông tin lnthanh@fit hcmus edu vn Trang 2 Tổng quan • Trò chơi • Quyết định tối ưu trong Trò chơi • Thuật toán MINIMAX • Tỉ[.]
Tìm kiếm Đối kháng – Trị chơi Lê Ngọc Thành Khoa Công nghệ Thông tin lnthanh@fit.hcmus.edu.vn Trang Tổng quan • • • • • Trò chơi Quyết định tối ưu Trị chơi Thuật tốn MINIMAX Tỉa nhánh - Hàm lượng giá, Tìm kiếm cắt nhánh Trang Trị chơi • Là đặc tính xem “thơng minh” người • Các trị chơi đời gần lúc với AI • Đã dành thành tựu đáng kể • Ở ta xem xét dạng trị chơi trí tuệ (board game) Trang Trị chơi • Checkers: – Hai người chơi – Người chơi di chuyển quân theo đường chéo, lần – Nếu có quân đối phương trước mặt, nhảy qua (nếu có trống) ăn – Ván cờ kết thúc hai người khơng cịn nước Trang Trị chơi • Checker – Năm 1952, Arthur Samuel (IBM) viết chương trình chơi cờ – Năm 1994, Chinook đánh bại Tinsley, vô địch giới, thua ván 42 năm! – Bí quyết: • Tìm kiếm tất nước có qn hay • Tất nhận diện thơng tin thắng, thua, hịa hồn hảo • Lưu trữ 444 tỷ vị trí với hàng tetrabyte nhớ Trang Trị chơi • Cờ vua – 1997, DeepBlue đánh bại Gary Kasparov trận đấu ván – Bí quyết: • Tìm kiếm vét cạn với độ sâu cao • Tính 200.000.000 nước giây so với Kasparov • (99.99% nước xem ngu ngốc) • Hàm lượng giá phức tạp Trang Trị chơi • Một số khác: – Othello: năm 1997, chương trình Logistello đánh bại vô địch giới – Cờ vây (GO): chưa có chương trình hiệu (do độ phân nhánh lớn, b> 300) Trang Quyết định tối ưu Trị chơi • Lời giải tối ưu: đường bảo đảm chiến thắng cho người chơi • Hai người chơi: MAX vs MIN • Các thành phần: – Trạng thái ban đầu (initial state) – Trạng thái kết thúc (terminal state) – Hàm succs(s): nước hợp lệ – Hàm lợi ích (utility function): đánh giá trạng thái kết thúc Trang Ví dụ tìm kiếm trò chơi TicTacToe Các nước MAX(x) X X X MIN(o) X … X XO X O … Các trạng thái MAX(x) … KẾT THÚC Lợi ích XOX OX O -1 X … … XOX OOX XXO XOX X XOO +1 Trang Thuật tốn MINIMAX • Những người chơi tối ưu – MAX tối đa hóa hàm lợi ích – MIN tối thiểu hóa hàm lợi ích – Chiến lược MAX phụ thuộc vào chiến lược MIN bước sau • Giá trị MINIMAX-VALUE: tiện ích trạng thái kết thúc tương ứng đường đi, giả sử người chơi tối ưu Trang 10 Giá trị MINIMAX (vd) MAX MIN B 12 Đến lượt mình, MAX tìm cách tối đa hóa giá trị MINIMAX A C D 14 Và MAX chọn chiến lược đến B ứng với giá trị MINIMAX tối đa Trang 14 Thuật toán MINIMAX Trang 15 Đánh giá Thuật giải MINIMAX • • • • Đầy đủ? Có (nếu tìm kiếm hữu hạn) Tối ưu? Có (với đối thủ tối ưu) Độ phức tạp thời gian? O(bm) Độ phức tạp khơng gian? O(bm) (tìm kiếm theo chiều sâu) • Với cờ vua, b ≈ 35, m ≈100 với ván thơng thường hồn tồn khơng thể tìm lời giải tối ưu Trang 16 Tỉa nhánh - • Ta làm để giảm số trạng thái phải kiểm tra? • Mẹo: ta tính giá trị định minimax mà khơng cần duyệt đỉnh • Hãy xem xét chi tiết bước q trình tính giá trị minimax • Ghi nhớ: thuật toán MINIMAX duyệt theo chiều sâu Trang 17 Tỉa nhánh - (vd) [-; +] A [-;3] B [-; +] A [-;3] B 12 Miền trị giá trị MiniMax MIN Miền trị giá trị MiniMax MAX a) b) Trang 18 Tỉa nhánh - (vd) [3; +] A [3;3] B [3;+] A [-;2] C [3;3] B 12 12 c) D d) Trang 19 Tỉa nhánh - (vd) [3;3] A [3; 14] A [3;3] B [-;2] C 12 [-;14] D 14 e) [-;2] C [3;3] B 12 [2;2] D 14 f) Trang 20 ... dạng trị chơi trí tuệ (board game) Trang Trị chơi • Checkers: – Hai người chơi – Người chơi di chuyển qn theo đường chéo, lần – Nếu có quân đối phương trước mặt, nhảy qua (nếu có trống) ăn – Ván... nước Trang Trị chơi • Checker – Năm 1952, Arthur Samuel (IBM) viết chương trình chơi cờ – Năm 19 94, Chinook đánh bại Tinsley, vô địch giới, thua ván 42 năm! – Bí quyết: • Tìm kiếm tất nước có... thắng, thua, hịa hồn hảo • Lưu trữ 44 4 tỷ vị trí với hàng tetrabyte nhớ Trang Trị chơi • Cờ vua – 1997, DeepBlue đánh bại Gary Kasparov trận đấu ván – Bí quyết: • Tìm kiếm vét cạn với độ sâu cao •