Re: Nước đi trong cờ tướng.
Quote:
Bài viết được gửi bởi nguyennghivn
Cho mình hỏi tí, trong chương trình VSCCPW, chương trình làm cách nào để biết được là nó phải đi quân nào để mà cho có lợi cho nó, cụ thể hơn là hàm nào trong chương trình đảm nhận trách nhiệm quyết định đi quân nào trong nước tiếp theo. Các bạn có thể giải thích giùm mình được không.
Bạn thân mến ! Hì hì, mình thì khoái cờ và cũng từng ngồi code, và cũng đang học về AI, xin mạn phép trả lời bạn, nếu không đúng thì ... bỏ qua !
Về nguyên tắc, trong các trò đối kháng, thường sử dụng 1 thuật toán vét để tìm ra nước đi tốt nhất. Dĩ nhiên là có level chứ không thể vét cạn được ! Vì sao thì chắc bạn biết rồi. Mỗi nước đi khi tính toán sẽ được gọi hàm lượng giá lên để cho biết điểm, tuỳ vào điểm của nước đi nào là tốt nhất, máy sẽ chọn nước đi đó. Thuật toán thường sử dụng là thuật toán Alpha_Beta. Bạn có thể tìm đọc thấy thuật toán căn bản này trong các sách về Trí Tuệ Nhân Tạo.
Hiện nay, các chương trình chơi cờ giỏi, thường kết hợp Open-Book(file database lưu trữ các thế biến đã biết ) trong Khai cuộc nhằm tăng tốc độ tính toán và chọn được nước đi tối ưu nhất.
Đã có nhiều cải tiến cho thuật toán Alpha_Beta, chủ yếu là bạn phải viết hàm lượng giá cho thật tốt, vì đó là sự quyết định cuối cùng cho 1 nước đi, và điều này thật sự không hề dễ dàng, cần kết hợp rất nhiều thứ , cả lượng, cả chất và cả kinh nghiệm !
Chúc bạn viết được c.t đánh cờ hạ bệ được VSCCP !
Do you know what is "DAHALARDY"?