Những giá trị sử dụng tối thiểu trên cây minimax là gì?


8

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):

nhập mô tả hình ảnh ở đây

3 B . max = 3 12 8 B . m a x = 3[tối thiểu,tối đa]3B.tối đa= =312số 8B.mmộtx= =3

Nhưng tại sao B.tối thiểu= =3 ? Việc sử dụng giá trị đó là gì?


Bức tranh từ đâu đến? Nó có phải là một ví dụ nhân tạo?
uli

Vâng, nó chỉ là một ví dụ trường hợp đặc biệt, tôi cũng chỉnh sửa hình ảnh để thêm văn bản của min và max. Nếu nó xuất hiện bất kỳ lỗi nào, chỉ cần cảm thấy tự do để nói. Cảm ơn bạn ~
sam

1
Từ bài viết Wikipedia (khủng khiếp), cây bạn đưa ra dường như không phải là cây tối thiểu. Cụ thể, phải là ; , mặt khác, trông hoàn toàn đúng. Vì vậy, những gì nó câu hỏi ở đây, thực sự? Bạn có bối rối với ví dụ này, hoặc bạn muốn các ứng dụng của cây tối thiểu? Trong mọi trường hợp, vui lòng bao gồm một định nghĩa (!) Chính xác về cây tối thiểu và / hoặc tham chiếu đến một cây. 12 B . tối thiểuB.max12B.min
Raphael

1
Vui lòng bao gồm một tài liệu tham khảo cho hình ảnh; Tôi có lý do để tin rằng bạn đã không tạo ra nó. Các slide được liên kết cũng có thể trả lời một số câu hỏi của bạn; họ dường như sử dụng các cây khác nhau hơn bạn.
Raphael

1
Hình ảnh có vẻ lừa đảo ..
Strin

Câu trả lời:


7

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 (B312B3số 8Bα) 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 .C2CBD

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.Bαβ

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).


Vâng, như bạn đã nói, tôi nghĩ bạn hoàn toàn đồng ý với tính chính xác của bức tranh, phải không? Cảm ơn bạn đã chia sẻ quá trình chi tiết của AlphaBeta, và câu hỏi của tôi là việc sử dụng giá trị tối thiểu là gì? Là giá trị tối thiểu luôn luôn giống với giá trị tối đa? Trong trường hợp này là 3 đầu tiên của [3,3].
sam

@sam, vâng, hình ảnh chắc chắn là chính xác. Tôi đã chỉnh sửa câu trả lời của mình để (một phần) trả lời câu hỏi cụ thể của bạn. Hi vọng điêu nay co ich.
Nick

"Khi B đã tìm kiếm tất cả các con của nó, nó biết các giá trị cực tiểu và cực đại của cây con của nó và duy trì các giá trị đó trong MIN và MAX (như [3, 3])" - nhưng đó rõ ràng không phải là điều xảy ra (nó phải là , sau đó). Giải thích của bạn sau này có ý nghĩa hơn. [3,12]
Raphael

@Raphael, lẽ ra tôi nên rõ ràng hơn. Đây không phải là giá trị tối thiểu và tối đa của cây con, chúng là giới hạn dưới tối đa và giới hạn trên tối thiểu mà nút có thể truyền tới cha mẹ của nó.
Nick

@Nick: Đây là cách tôi hiểu minimax. Khi OP nhầm lẫn minimax và min-max ban đầu, bạn có thể nên làm rõ điều đó trong câu trả lời của mình và bao gồm ví dụ không tầm thường (trừ liên kết).
Raphael
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.