Thuật toán cải tiến Minimax Alpha-beta

Một phần của tài liệu Tìm hiểu về chiến lược tìm kiếm trong các trò chơi đối kháng và ứng dụng vào trò chơi 2048 (Trang 34)

Với thuật toán Minimax độ sâu hạn chế, ta thấy đượ rằng để đánh giá được đỉnh gốc ta duyệt qua toàn bộ cây, thăm tất cả các đỉnh rồi sau đó hồi quy về gốc. Để ý một chút thì ta sẽ thấy có rất nhiều nhánh chắc chắn sẽ cho kết quả tồi hơn một kết quả nào đó ở thời điểm hiện tại đang có. Rõ ràng trong trường hợp đó thì không cần tiếp tục đánh giá nhánh đó. Việc không cần thiết đánh giá một nhánh được cho là tồi sẽ không làm ảnh hưởng đến kết quả toàn cục khi đánh giá đỉnh gốc.

Hình 2.4: Một phần của cây trò chơi với ý tưởng cắt nhánh alpha Thuật toán Alpha-beta là một cải tiến của thuật toán Minimax nhằm tỉa bớt nhánh không cần thiết của cây trò chơi. Xét hình 2.4 tại nút C rõ ràng nhánh bên phải cần được cắt bỏ vì dù đi theo nhánh đó các trạng thái bên dưới thế nào đi nữa thì cuối cùng giá trị thu được không tốt bằng đi theo nhánh bên trái.

2.2.1 Ý tƣởng thuật toán

Nguyên tắc Alpha-beta:

“Nếu biết điều đó thật s tồi thì đừng mt thời gian tìm hiểu nó sẽ ti t đến đâu.”

Giả sử tại thời điểm hiện ta ̣i đang ở đỉnh MAX a, đỉnh a có anh em là v đã được đánh giá. Giả sử cha của đỉnh a là b, b có anh em là u đã được đánh giá, và cha của b là c như hình 2.5

Để cài đ ặt kỹ thu ật này, đối với các đỉnh nằm trên đu ̛ờng đi từ gốc tới đỉnh hiện thời, ta sử du ̣ng tham số α để ghi lại giá trị lớn nhất trong các giá trị của các đỉnh con đã đánh giá của một đỉnh MAX, tham số β để ghi lại giá trị nhỏ nhất trong các giá tri ̣ của các đỉnh con đã đánh giá của một đỉnh MIN.

Hình 2.5: Minh hoạ ý tưởng cắt nhánh theo alpha

Như vậy, dựa vào mối quan hệ của các nút ở lớp thứ n và n + 2 ta có thể loại bỏ các cây con ở lớp n + 1. Việc loại bỏ các cây con ở lớp n + 1 sẽ không làm ảnh hưởng đến kết quả toàn cục khi tính toán trọng số của nút thứ n.

Một phần của tài liệu Tìm hiểu về chiến lược tìm kiếm trong các trò chơi đối kháng và ứng dụng vào trò chơi 2048 (Trang 34)