Tôi quan tâm đến việc viết một cỗ máy 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, có thể hữu ích.Một số tài nguyên tốt để viết động cơ cờ vua là gì?
Trả lời
Từ tài liệu lưu trữ của tôi:
- Đây là một hữu ích chess programming wiki.
- Đây là simple introduction để lập trình cờ vua.
- Điều này chứa một số bước đơn giản theo từng bước YouTube tutorial series' từ sơ cấp đến nâng cao.
- Đây là more advanced introduction.
- Đây là Adam Berent's interesting computer chess blog.
- Đây là một good analysis of MTD(f), một thuật toán tìm kiếm thú vị.
- Đây là hướng dẫn tốt cho validation of move generation.
- Đây là rất nhiều động cơ cờ good information on the Rebel.
- Đây là rất nhiều động cơ cờ lê good information on the Dark Thought.
- Thông tin và mã nguồn tốt cho Monsoon chess engine.
- Đây là more notes on chess programming.
- Một hợp lý introduction to rotated bitboards.
- Một hợp lý introduction to magic bitboards.
- Một hợp lý introduction to late move reductions.
- Nhìn vào null-move pruning.
- A collection of position sets cho mục đích thử nghiệm.
- Đây là báo cáo cũ từ 2 students who wrote a chess program.
- Một loạt các miscellaneous chess programming links.
- Cuối cùng, đây là Wikipedia's take on computer chess.
Wiki lập trình cờ vua khá thú vị. –
Liên kết thứ hai bây giờ là: http://archive.gamedev.net/reference/programming/features/chess1/ – Grandpa
Cảm ơn, Grandpa - liên kết đã được sửa. – RoadWarrior
Tổng quan về nhiều thuật toán hữu ích trong cờ - http://www.frayn.net/beowulf/theory.html - phải là một điểm khởi đầu tốt để hiểu được thước đo của sự cố và một số cách để đơn giản hóa công việc tính toán.
-Adam
Đây là cơ bản trong lĩnh vực Artificial Intelligence (AI).
Cách phổ biến nhất để tạo ra một máy tính "suy nghĩ" trong trò chơi cờ vua đang sử dụng mini-max method nơi máy tính "nghĩ" bằng cách phân tích các kết quả từ 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.
Điểm "tốt" của các kết quả từ các bước di chuyển 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, trạng thái chiến thắng, chẳng hạn. 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.
Bạn luôn có thể xem nhanh GNU Chess mã.
Claude Shannon của 1949 paper (cảnh báo: PDF) về đề tài này là một nơi khởi đầu tốt
tốt nhất chương trình hướng dẫn chơi cờ vua 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.
Khi tạo công cụ cờ vua, tôi đã dành hàng tháng để thu thập tài nguyên tốt mô tả một số khía cạnh khó khăn hơn trong việc tạo trò chơi cờ vua. Dưới đây là danh sách những người tôi thấy hữu ích nhất:
Cờ Lập trình bởi François Dominic Laramee
Đây là bài viết mà đã cho tôi vào cờ vua máy tính, Đó là một cái nhìn tổng quan về cách thức các máy tính chơi cờ. 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.
Computer cờ wiki, điều này đã thực sự mở rộng trong vài tháng vừa 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/
Louis Kessler của máy tính Cờ Liên kết
Khi bạn đi qua các nguồn lực trên phần còn lại có thể được tìm thấy tại trang liên kết sau đây.
http://www.lkessler.com/cclinks.shtml
Cuối cùng nhưng không kém phần quan tôi viết một Computer Chess Blog đó sẽ đưa bạn qua tất cả các bước của việc viết một engine cờ vua trong C# từ đầu, nó bao gồm một cờ vua máy tính liên kết phần và một trò chơi cờ vua khởi động bộ dụng cụ.
Adam Berent
Tôi chắc chắn phải upvote bạn về điều này! – lkessler
Tôi đã tham gia các giải đấu cùng Paul Wicks (ở trên), tôi cũng muốn viết một engine cờ vua cho việc học vì lợi ích riêng của mình, chỉ có hạn chế là công việc của tôi (mà là để làm việc trên các dịch vụ web nhàm chán và các công cụ ..) nhưng giá trị của nó là nỗi đau.
Tôi quyết định xây dựng nó bằng cách sử dụng cách tiếp cận từng lớp. Tôi gần như hoàn thành phần đa người chơi, tức là (HUMAN vs HUMAN).
Khi tôi đã hoàn tất việc này, tôi rất thích kết hợp lớp AI để hỗ trợ chương trình phát (COMPUTER vs HUMAN).Đây là một phần mà tôi lo lắng nhất, tôi đã tìm thấy những lời khuyên giúp đỡ rất tốt đẹp ở đây trong chủ đề này, một lời cảm ơn lớn đến tất cả các bạn.
Hiện tại ngôn ngữ mà tôi thạo tiếng là Java, trong trường hợp có hiệu suất đạt được thì tôi có thể chuyển nó sang C++.
- 1. Một số tài nguyên tốt để học Grails là gì?
- 2. Tối ưu hóa cờ vua
- 3. cờ vua AI cho GAE
- 4. Một số tài nguyên để học Lambda Calculus là gì?
- 5. Tài nguyên OOP JavaScript tốt là gì?
- 6. Tại sao Thất bại nhanh hơn rất nhiều so với Chương trình Cờ vua Đơn giản (TSCP)? (Tối ưu hóa động cơ cờ vua)
- 7. Một số tài nguyên tốt để học lập trình mạng là gì?
- 8. Tác động tài nguyên từ việc chuẩn hóa một cơ sở dữ liệu là gì?
- 9. Một số tài nguyên tốt cho việc học tập nội bộ codebase của Rails là gì?
- 10. Tài nguyên học tập tốt nhất (N) ASM là gì?
- 11. Một số tài nguyên tốt cho việc học lập trình luồng là gì?
- 12. Cách nhẹ nhất để tạo ra một mạng lưới cờ vua lớn như thế nào?
- 13. Trạng thái của nghệ thuật trong việc tìm kiếm cây cờ vua máy tính là gì?
- 14. Một số tài nguyên DirectX tốt cho người mới bắt đầu là gì?
- 15. Một số tài nguyên tốt về sử dụng Lucene.Net là gì?
- 16. Tài nguyên tốt cho việc học XNA là gì?
- 17. Bạn có biết một số tài nguyên tốt để học cơ sở dữ liệu NoSQL không?
- 18. Tài nguyên tốt nhất để tìm hiểu cách viết ứng dụng cho Mac OS X là gì?
- 19. Làm thế nào để lập trình một mạng thần kinh cho cờ vua?
- 20. Một số tài nguyên tiên tiến và hiện đại về khai thác văn bản là gì?
- 21. "Tài nguyên" trong Rails là gì?
- 22. Động cơ 3D Actionscript3 tốt nhất là gì?
- 23. Một số tài nguyên tốt để thực hiện chuyển văn bản thành giọng nói trong .NET là gì?
- 24. Thư viện xác nhận di chuyển cờ vua
- 25. Một số tài nguyên tốt cho việc học F # hãy
- 26. Một số tài nguyên hay về thiết kế công cụ trò chơi 2D là gì?
- 27. Động lực để thêm cờ IPV6_V6ONLY là gì?
- 28. Một số tài nguyên khoa học máy tính tốt cho một lập trình viên mù là gì?
- 29. Một số sách hay, tài nguyên web và dự án tốt cho việc học R là gì?
- 30. Cách tốt nhất để viết về cách viết một bộ x86 đơn giản là gì?
http://www.frayn.net/beowulf/theory.html – SmallChess