Nội dung chính 1. Giới thiệu về thuật toán minimax. 2. Thuật toán minimax. 3. Giới thiệu phương pháp cắt tỉa alpha-beta.
University of Economics and Finance 2 www.edu.vn
Giải thuật minimax Nhận định • Giả sử đến một thời điểm đường đi đến đỉnh u • Nước đi tối ưu cho trang thái u là nước đi dẫn tới đỉnh con v ( tốt nhất trong tất cả các đỉnh con của u) • Để chọn nước đi tốt nhất cho trạng thái u, ta cần xác định giá trị của cây trò chơi gốc là u.
University of Economics and Finance 3 www.edu.vn
Giải thuật minimax Cách tính điểm cho các đỉnh trên trò chơi Để xác định giá trị tại đỉnh có gốc là u ta sẽ phải đi từ mức thấp nhất cho đến đỉnh u Cây trò chơi sẽ được phân thành các lớp Min-Max xen kẽ lẫn nhau Lóp Min: lấy giá trị nhỏ nhất của các node con Lớp Max: lấy giá trị lớn nhất của các node con
University of Economics and Finance 4 www.edu.vn
Giải thuật minimax Ví dụ 1: • Xét trạng thái F, gái trị tại đỉnh F= max (5,2,-3)=5 • Xét trạng thái D, giá trị tại đỉnh D = min(2,3,4)=2
University of Economics and Finance 5 www.edu.vn
Giải thuật minimax Ví dụ 2:
University of Economics and Finance 6 www.edu.vn
Giải thuật minimax Ví dụ 3:
University of Economics and Finance 7 www.edu.vn
Giải thuật minimax Phân tích Minimax như đã xen xét buộc phải có toán bộ không gian trạng thái để triển khai có thể gán giá trị cho các nút lá và tính ngược lại -> Việc này không khả thi vì không gian bài toán là rất lớn Cần giải pháp: • Giới hạn không gian trạng thái theo một độ sâu nhất định theo một quy tắc nào đó.
University of Economics and Finance 8 www.edu.vn
Giải thuật minimax Function minimax (node, depth, maximizingPlayer) if node is “End Node” or depth =0 return value(node) if maximizingPlayer: Mx= - ∞ foreach child of node Mx = max(Mx, minimax(child,depth-1,False)) return Mx else Mn=∞ foreach child of node Mn:= min(Mn,minimax(child,depth-1,True)) return Mn
University of Economics and Finance 9 www.edu.vn
Giải thuật minimax Đánh giá Trong việc tìm kiếm Minimax, cho dù giới hạn độ sâu thì số đỉnh con của một đỉnh bất kỳ vẫn rất lớn Ví dụ: • Cờ vua: số nhánh trung bình khoảng 35 -> Nếu dùng dộ sâu 4 thì phải mất ít nhất là 354=1.5*106 phép đánh giá
Cần một Phương pháp làm giảm số nhánh
University of Economics and Finance 10 www.edu.vn
Cắt tỉa alpha-beta Giới thiệu Mục đích là làm giảm số nhánh trong cây tìm kiếm Không làm ảnh hưởng đến sự đánh giá của đỉnh đang xét Phương pháp này cho phép cắt tỉa các nhánh không cần thiết của các đỉnh đang xét.