Áp dụng Minimax Alpha-beta vào trò chơi 2048

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

Trong trò chơi 2048 trên, ta có thể thấy được việc người chơi di chuyển một nước đi và sau nước đi đó máy tính sẽ sinh ra ngẫu nhiên một số 2 hoặc 4 ở một ô trống bất kỳ. Chính vì thế ta có thể đưa bài toán về bài toán đối kháng giữa người và máy tính để áp dụng thuật toán Minimax (ở đây máy tính sinh ngẫu nhiên nên có thể coi là một người chơi không cao tay).

Hình 3.2: Mô hình bài toán tổng quát

Quy trò chơi 2048 vềbài toán đối kháng:

Đối tượng đối kháng: Người chơi + Máy tính Luật đi của các đối tượng:

 Người chơi: Người chơi có thể chuyển bảng theo bốn hướng: Dưới => Trên

Trên => Dưới Trái => Phải Phải => Trái

 Máy tính: Sinh ngẫu nhiên một số 2 hoặc 4 ở ô trống bất kỳ

Cách tính điểm ở một trạng thái: từ trạng thái gốc khi khởi tạo bảng chơi đến nước di chuyển ở độ sâu n, ta cần tính điểm của trạng thái ở độ sâu n. Điểm này là tổng điểm ăn được trong quá trình biến đổi trạng thái từ mức 0 đến mức n.

Ta có thể sử dụng điểm thô của một trạng thái để gán cho trọng số của các điểm lá trong mô hình tổng quát.

s

Ví dụ v cách tính điểm ca mt trạng thái:

Quan sát hình vẽ bên dưới ta thấy điểm số được tính qua từng lượt di chuyển của người chơi.

Ô điểm số là ô ghi nhận điểm tích luỹ được từ bước đi đầu tiên đến trạng thái hiện tại. Điểm số tích luỹ qua các bước đi lần lượt là (nước đi: điểm tích luỹ): (1: 0đ); (2: 0đ); (3: 4đ); (4: 8đ); (5: 16đ); (6: 20đ); (7:20đ); (8: 24đ); (9: 28đ) Mũi tên trên các trạng thái chỉ thị người chơi sẽ chọn cách di chuyển theo hướng mũi tên đó để đến được với trạng thái tiếp theo

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