Phương pháp thay thế để lập trình động cơ cờ vua


14

Theo tôi hiểu, đại khái, động cơ cờ vua hoạt động bằng cách:

  1. tính toán tất cả các biến thể có thể (cây trò chơi) đến độ sâu nào đó
  2. đánh giá vị trí cuối cùng dựa trên một số tiêu chí (hoạt động vật chất, hoạt động ...)
  3. dựa trên đánh giá này quyết định cho sự di chuyển tốt nhất

Tôi hoàn toàn hiểu rằng để có một động cơ hiệu quả, có nhiều cách để cắt tỉa một số dòng nhất định, giới hạn độ sâu, v.v; nhưng đây không phải là câu hỏi của tôi

Câu hỏi là: Có bất kỳ nỗ lực thay thế nào để lập trình một động cơ cờ (không nhất thiết phải mạnh, nhưng cũng không ngẫu nhiên), không tuân theo sơ đồ này?


Botvinnik đã cố gắng cắt tỉa ở gốc di chuyển bằng cách chỉ tìm kiếm trên máy tính ứng cử viên tốt nhất. Chưa có một nỗ lực thành công nào về điều này và cờ vua tốt hơn cho nó.
Fred Knight

Câu trả lời:


13

Trong những năm đầu của cờ vua máy tính, mọi người thực sự đã cố gắng dạy cờ vua máy tính giống như cách họ làm với con người, giải thích các khái niệm chiến lược như một cấu trúc cầm đồ lành mạnh hoặc sáng kiến. Những nỗ lực này đã sớm bị từ bỏ vì phương pháp bạn mô tả thành công hơn nhiều.

Gần đây, đã có một nỗ lực khác để cho một công cụ tự dạy cờ vua thông qua Deep Learning (có thể được khuyến khích bởi sự thành công của AI Go của Google ). Theo bài báo tôi liên kết, họ đã khá thành công và đã đạt được sức mạnh IM.


1
Theo hiểu biết của tôi, Alpha Go hoạt động chính xác như OP mô tả và chỉ có chức năng eval từ (2.) dựa trên / được tạo thông qua Deep Learning. Câu trả lời khác có vẻ đồng ý.
Hermann Döppes

According to the article I linked to, they were quite successful and managed to reach IM strengthnhưng nếu bạn sẽ đọc bài báo gốc, bạn sẽ thấy bài báo đó đã phóng đại thành công.
Salvador Dali

1
@ HermannDöppes Không, AlphaGo dựa trên tìm kiếm cây Monte-Carlo.
SmallChess

3

@Glorfindel không sai nhưng phương pháp học sâu về cờ vua thực sự là một thuật ngữ lạ mắt để điều chỉnh tham số trong lập trình cờ vua.

Học sâu cho phép một công cụ cờ vua học một chức năng đánh giá, một cái gì đó thường được viết bởi một lập trình viên. Trong một trò chơi, nó hoạt động như một động cơ cờ vua bình thường.

Các khả năng khác:

  • Lập trình cờ vua GPU
  • Tìm kiếm cây Monte-Carlo

Hầu hết câu trả lời của bạn phải là một nhận xét dưới [Câu trả lời của Glorfindel] ( Chess.stackexchange.com/a/16293/2789 . Phần thực sự giải quyết câu hỏi chỉ gồm bảy từ, gần như không đủ cho câu trả lời. , "Lập trình cờ vua GPU" chỉ là một cách song song với bất kỳ thuật toán nào bạn có thể sử dụng, vì vậy tôi không nghĩ đó thực sự là một "cách tiếp cận" theo nghĩa mà câu hỏi đang tìm kiếm, thay vào đó, nó chỉ là một phương thức thực hiện.
David Richerby

-2

Chắc chắn rồi! NẾU bạn thực sự chỉ có nghĩa là .... "trên lý thuyết, có phương pháp nào khác để mã hóa một động cơ cờ vua không?" ... Vậy thì, vâng !!

Ví dụ .... người ta có thể lưu trữ một bản sao của mọi vị trí có thể có trong cờ vua (một số lượng lớn, tôi biết) và có một đánh giá cho từng vị trí. Sau đó, nó trả lời cho bất kỳ câu hỏi nào (nghĩa là "di chuyển tốt nhất cho màu trắng ở vị trí X"), sẽ được biết ngay lập tức chỉ bằng cách tra cứu bảng đó. Là tình trạng hiện tại của phần cứng máy tính mà điều này sẽ có ý nghĩa gì? Không Nhưng bạn đã không hỏi điều đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.