[1]
Đặt máy là MAX, và người chơi là MIN!
Người chơi là X và luôn được đi trước!
Nhiệm vụ của ta là tính toán nước đi sao cho máy sẽ được MAX, và cho người chơi luôn bị MIN!

[2]
Cần tạo 1 lớp mới lưu trữ trạng thái của node.
(không thể dùng đối tượng hiện tại vì nó đang được hiển thị ra ngoài)
Lớp tạo thêm chỉ mang dữ liệu bên trong để tính toán!

[3]
Vì không thể tính toàn bộ đồ thị để xem nước đi nào là chắc chắn thắng nên ta chỉ có thể tính trước được n nước đi, và sử dụng 1 hàm đánh giá để đánh giá giá trịc ủa nước đi đó (tương ứng với khả năng giành chiến thắng khi đi nước đó)

[4] Quạn trọng nhất trong thuật toán này là hàm đánh giá!
Đặc biệt chú ý giá trị trả về của nó.
Lớ ngớ là sẽ không có cái gì trả về hoặc giá trị trả về ko lấy được nước cờ nào!

[4] Hàm đánh giá:
Hàm đánh giá thông thường là lấy số (dòng) mà X có khả năng thắng – số dòng mà O có khả năng thắng!

=> Các em nó có hoài bão lớn, có chí tiến thủ, tự tin,

[4] Người là X, và luôn chơi trước

Đầu tiên hãy làm Minimax trước, đừng cắt tỉa AlphaBeta vội

[5] Đầu vào đầu ra của thuật toán là gì?
– Đầu vào:
+ Độ sâu để tính toán
+ Trạng thái hiện tại
+ Người chơi nào? (Tức là đang là max hay là min)

Advertisements