Xem xét một cây minimax cho một vấn đề tìm kiếm nghịch cảnh. Ví dụ: trong ảnh này (cắt tỉa alpha-beta):
3 B . max = 3 12 8 B . m a x = 3
Nhưng tại sao ? Việc sử dụng giá trị đó là gì?
Xem xét một cây minimax cho một vấn đề tìm kiếm nghịch cảnh. Ví dụ: trong ảnh này (cắt tỉa alpha-beta):
3 B . max = 3 12 8 B . m a x = 3
Nhưng tại sao ? Việc sử dụng giá trị đó là gì?
Câu trả lời:
Con số này (trong thực tế là chính xác) được sử dụng trong phần giải thích thuật toán cắt tỉa alpha-beta trên cây minimax. Cắt tỉa Alpha-beta là một phương pháp được sử dụng để cắt tỉa các phần của cây minimax trong một vấn đề tìm kiếm đối nghịch. Trong bối cảnh của trò chơi tic-tac-toe, cây minimax có nghĩa là cho phép máy tính tìm kiếm trong không gian của tất cả các bảng trò chơi có thể (cấu hình của x và o) cho rằng di chuyển của người chơi là tối ưu. Điều này cho phép máy tính đưa ra một động thái mang lại kết quả tốt nhất (đây là lý do tại sao trò chơi kết nối bốn trên máy tính của bạn rất khó đánh bại!). Để mô tả đầy đủ hơn, tôi đánh giá cao "AI một cách tiếp cận hiện đại" của Stuart và Norvig (trang 162-170 ish trong lần xuất bản thứ 2).
Bây giờ chúng tôi đã xóa một số nhầm lẫn về thuật toán. Cắt tỉa Alpha-beta cố gắng tránh mở rộng cây con dựa trên cách thuật toán minimax hoạt động. Chúng tôi biết rằng nút tối đa ở cấp cao nhất sẽ lấy giá trị lớn nhất của tất cả các phần tử con của nó. Vì vậy, nút tìm thấy giá trị và cho đến nay, đây là giá trị tối đa mà nó sẵn sàng truyền cho cha mẹ của nó để đặt giá trị này vào vị trí MAX. Sau đó, nó tìm thấy . Hãy nhớ rằng là một nút MIN, vì vậy nó muốn tối thiểu hóa giá trị mà nó chuyển đến cha mẹ của nó, do đó nó giữ giá trị trong khe MAX. Một lần nữa cho . Khi đã tìm kiếm tất cả các con của nó, nó biết giới hạn dưới tối đa () và giải pháp giới hạn trên tối thiểu ( ) của cây con của nó và duy trì các giá trị đó trong MIN ( ) và MAX ( ) (như [3, 3]).
Lưu ý: min và max được dán nhãn trong hình KHÔNG phải là giá trị tối thiểu và tối đa của cây con! Chúng là (khá khó hiểu) các giới hạn alpha-beta của các giải pháp của cây con (hãy nhớ rằng đây là một vấn đề tìm kiếm bất lợi).
Tiếp theo chúng ta di chuyển đến nút . Ở đây chúng tôi đi qua một ở vị trí đầu tiên. Nút , muốn chọn giá trị thấp nhất từ cây con của nó bây giờ BIẾT rằng cha mẹ của nó sẽ không chọn giá trị của nó vì nút tìm thấy giá trị lớn hơn. Do đó, chúng ta có thể tỉa phần còn lại của cây con và tiếp tục đến .
Cuối cùng, để trả lời câu hỏi cụ thể: Tại sao .min = 3? Giá trị cho (giới hạn dưới tối đa của các giải pháp tại nút này) và (giới hạn trên tối thiểu của các giải pháp tại nút này) được duy trì tại mỗi nút để thực hiện việc cắt tỉa. Các giá trị này ràng buộc các trường hợp có thể trong đó giá trị từ một nút (hoặc cây con của nó) có thể là một phần của giải pháp.
Trong ví dụ này, nó dường như không đóng vai trò, tuy nhiên, hãy thử xem xét các ví dụ phức tạp hơn (ví dụ: cây có chiều cao> 3) như thế này và xem bạn có thể hiểu ý nghĩa của nó không.
Tôi không thể thực hiện công lý để cắt tỉa minimax hoặc alpha-beta ở đây (chủ yếu là vì tôi đã không sử dụng chúng trong nhiều năm), vì vậy nếu bạn thực sự muốn hiểu điều này, hãy xem một cuốn sách về AI như cuốn sách của Stuart và Norvig ( Trang wikipedia đáng ngạc nhiên là không có hình dung).