Câu hỏi Một số nguồn lực tốt để viết một động cơ cờ vua là gì? [đã đóng]


Tôi quan tâm đến việc viết một công cụ cờ vua (chủ yếu là một bài tập học tập) và sẽ quan tâm đến bất kỳ tài nguyên nào mà mọi người biết có thể quan tâm hoặc sử dụng, bất cứ điều gì thực sự: Papers, Books, Theory, Tutorials, hữu ích.


76
2018-01-30 06:56


gốc


frayn.net/beowulf/theory.html - SmallChess


Các câu trả lời:


Từ lưu trữ của tôi:


101
2018-04-14 19:42



The Chess Programming Wiki khá là hay. - Paul Wicks
Liên kết thứ hai bây giờ là: archive.gamedev.net/reference/programming/features/chess1 - Grandpa
Cảm ơn, Grandpa - liên kết đã được khắc phục. - RoadWarrior
Liên kết thứ hai là xuống một lần nữa. - Imon
@Imon, liên kết thứ hai đang làm việc cho tôi. - RoadWarrior


Khi tạo ra công cụ cờ vua của tôi, tôi đã dành nhiều tháng cố gắng thu thập các nguồn lực tốt để mô tả một số khía cạnh khó khăn hơn của việc tạo ra một trò chơi cờ vua. Dưới đây là danh sách những cái tôi thấy hữu ích nhất:

Lập trình cờ vua bởi François Dominic Laramée

Đây là bài viết đưa tôi vào cờ vua máy tính, Đó là một tổng quan tuyệt vời về cách máy tính chơi cờ vua. Nó rất dễ đọc và nó sẽ giới thiệu bạn với tất cả các thuật ngữ và từ khóa.

http://www.gamedev.net/page/resources/_/technical/artificial-intelligence/chess-programming-part-i-getting-started-r1014

Wiki cờ vua máy tính, điều này đã thực sự mở rộng trong vài tháng qua. Nó là một tài nguyên tuyệt vời cho tài liệu tham khảo.

http://chessprogramming.wikispaces.com/

Liên kết cờ vua máy tính của Louis Kessler

Khi bạn đi qua các tài nguyên trên, phần còn lại có thể được tìm thấy tại trang liên kết sau.

http://www.lkessler.com/cclinks.shtml

Cuối cùng nhưng không kém phần quan trọng, tôi viết Blog cờ vua máy tính điều đó sẽ đưa bạn qua tất cả các bước viết một cỗ máy cờ vua trong C # từ đầu, nó bao gồm một phần liên kết cờ vua máy tính và bộ khởi động trò chơi cờ vua.

http://www.chessbin.com

Adam Berent


27
2018-01-30 07:13



Tôi chắc chắn phải upvote bạn về điều này! - lkessler


Tổng quan về nhiều thuật toán hữu ích trong cờ vua - http://www.frayn.net/beowulf/theory.html- nên là một điểm khởi đầu tốt để hiểu được các biện pháp của vấn đề, và một số cách để đơn giản hóa công việc tính toán.

-Adam


9
2018-01-30 07:25





Bạn luôn có thể xem nhanh GNU Chess mã.


4
2018-01-31 21:33





Claude Shannon's Giấy 1949 (cảnh báo: PDF) về chủ đề này là một nơi khởi đầu tốt


3
2018-02-01 09:18





Hướng dẫn lập trình cờ vua tốt nhất cho người mới bắt đầu là tại GameDev. Nó rất dễ hiểu trong khi nó đi rất nhiều vào chi tiết.


2
2018-01-30 07:16





Đây là cơ bản trong lĩnh vực Trí tuệ nhân tạo (AI).

Cách phổ biến nhất để làm cho một máy tính "suy nghĩ" trong trò chơi cờ vua là sử dụng phương pháp mini-max nơi máy tính "suy nghĩ" bằng cách phân tích các kết quả từ việc thực hiện các bước đi khác nhau trước thời hạn từ trạng thái hiện tại.

"Sự tốt lành" của các kết quả từ các động thái khác nhau có thể được xác định từ nhiều tiêu chí như số điểm, số lượng kẻ thù còn lại, nhà nước thắng, ví dụ. Ví dụ, nếu bạn di chuyển người chơi sang bên phải và bạn giành chiến thắng trong trò chơi, đó là một trạng thái rất tốt. Nhưng nếu bạn di chuyển nó sang bên trái bạn sẽ không nhận được gì. Nó là hợp lý để di chuyển sang phải. Hàm này xác định "tốt" thường được gọi là Chức năng Heuristic. 

Quá trình này được thực hiện đệ quy cho nhiều lượt. Số lượt rẽ càng lớn, bạn càng cần nhiều thời gian hơn. Và số lần lượt càng lớn, phần mềm của bạn càng thông minh hơn. Suy nghĩ trước chỉ trong một lượt chỉ có thể dẫn đến việc lựa chọn tham lam. Phần mềm cờ thông minh có chức năng heuristic tuyệt vời và suy nghĩ trước nhiều lần.

ps. Có một số chi tiết của thuật toán mini-max tôi đã không giải thích ở đây nhưng điều này nên bao gồm các ý tưởng cơ bản.


1
2018-05-08 19:18