Có một động cơ cờ vua KHÔNG sử dụng tìm kiếm vũ phu?


10

Mọi công cụ cờ vua tôi từng nghe nói (bao gồm tất cả những gì tôi tìm thấy được liệt kê trên Wikipedia) sử dụng tìm kiếm vũ phu với chức năng đánh giá (thuật toán minmax) để quyết định di chuyển.

Đây không phải là cách mà hầu hết con người tiếp cận trò chơi, sử dụng nhận dạng mẫu chung thay vào đó, vì vậy về nguyên tắc, máy tính có thể làm điều tương tự.

Có động cơ cờ vua nào không dựa vào cách tiếp cận vũ phu để tìm ra nước cờ của nó không?


9
Magnus Carlsen. ;)
Wes

3
Về những người nói rằng động cơ hiện đại không phải là vũ phu vì họ cắt tỉa ... Tôi nghĩ khá rõ ràng rằng khi một động cơ cờ vua đánh giá hàng chục triệu vị trí, thì đó là sử dụng vũ lực, bất kể ai đó có thể vẽ lông mày trên thuật toán.
Tony Enni

Động cơ hiện đại có thể bỏ lỡ di chuyển, ví dụ. hy sinh nơi tiền chi trả cho đến khi khá sâu. Tôi nghĩ rằng điều này có thể là do họ bị cắt tỉa và không được kiểm tra sâu.
Một người qua đường

Câu trả lời:


6

Có những nỗ lực trở lại vào những năm 1980 để viết các động cơ cờ vua với các nền tảng kiến ​​thức sẽ chọn các bước di chuyển như con người, nhưng chúng đã không thành công. Vấn đề là sự phù hợp với mô hình con người rất khó diễn đạt, vì vậy việc tạo ra các quy tắc cho nền tảng kiến ​​thức là vô cùng khó khăn.

Đào tạo một mạng lưới thần kinh để chọn các động thái của ứng viên dường như là một dòng nghiên cứu đầy hứa hẹn. Ở đâyđây có thể là hai giấy tờ thích hợp. (FWIW, Đây không phải là lĩnh vực Comp Sci của tôi)



3

Tôi muốn thêm chi tiết vào câu trả lời của @ Ian_Bush trên Gi hươu cao cổ.

Trong câu trả lời của @ Ian_Bush, lưu ý rằng Gi hươu cao cổ không sử dụng tính toán vũ phu. Điều này không đúng , bởi vì Gi hươu cao cổ vẫn là một công cụ alpha-beta (nega-max). Sự khác biệt duy nhất cho một công cụ tiêu chuẩn là chức năng đánh giá được điều chỉnh tự động bằng cách học sâu. Do đó, động cơ học cách tự chơi.

Theo truyền thống, lập trình viên động cơ tự điều chỉnh các tham số trong một động cơ. Tôi đã tự làm rất nhiều. Chẳng hạn, bạn nên cho một giám mục và một hiệp sĩ nặng bao nhiêu cân? 3.0? 3,1? 3.2? Nó rất khó để nói.

Hươu cao cổ tiếp cận vấn đề theo cách thông minh hơn nhiều. Nó bắt đầu với một số giá trị ban đầu. Công cụ sử dụng thuật toán tăng dần độ dốc để điều chỉnh các giá trị đó. Chúng ta không cần phải mã hóa rõ ràng một nữ hoàng nên có bao nhiêu trọng lượng trong mã. Đây là những gì chúng tôi có nghĩa là "học tập". Điều đó không có nghĩa là động cơ có thể chơi cờ mà không cần tìm kiếm.

EDIT : Hươu cao cổ mô hình các nút cây như xác suất chúng rơi vào biến thể chính. Kiểm tra giấy để biết chi tiết. Cá nhân tôi không tin cách tiếp cận này và bài báo cho thấy rất ít bằng chứng về việc nó sẽ hữu ích như thế nào.


Có đúng là Hươu cao cổ sử dụng Stockfish eval làm mục tiêu? Nếu vậy, nó không tự "học cờ", nó chỉ học gần đúng với Stockfish eval bằng cách sử dụng một nnet trên đầu các tính năng của bảng.
Fernando

@Fernando Gi hươu cao cổ không liên quan gì đến Stockfish, tôi tin thế.
SmallChess

Tôi sẽ đọc toàn bộ bài viết, nhưng trên trang 18 có ghi: We evaluated board representations by training neural networks to predict the output of Stock- fish’s evaluation function in a supervised fashion, given 5 million positions as input, in the board representation under evaluation. Vì vậy, đây không phải là học bằng cách tự chơi IMO.
Fernando

1

Đó là loại tranh cãi nếu bạn có thể gọi một phương pháp tìm kiếm và đánh giá dựa trên heuristic là vũ phu. Hầu hết các công cụ cờ vua hàng đầu hiện nay tuân theo cách tiếp cận dựa trên quy tắc để đánh giá vị trí và chức năng tìm kiếm dựa trên quy tắc để cắt tỉa di chuyển.

Điều này thực sự không được đảm bảo để chọn động thái "tối ưu toàn cầu", tuy nhiên những động thái này đủ tốt cho mục đích. Theo nghĩa này, hầu hết các động cơ cờ vua đang sử dụng một xấp xỉ trên mức tối ưu toàn cầu và thực sự đạt được.

Đến nay, chúng tôi chưa có nhiều động cơ cờ vua thành công ở cấp cao nhất bằng cách sử dụng một cách tiếp cận khác, ít nhất là không phải trên phần cứng giá rẻ.


0

Claude Shannon đã đề xuất hai loại thuật toán để tạo ra các động cơ cờ vua. Một động cơ "loại A" kiểm tra tất cả các chuyển động có thể đến một số độ sâu hữu hạn, tối thiểu hóa cây và sau đó chơi di chuyển với sự đánh giá cao nhất từ ​​cây tối thiểu (hay còn gọi là lực lượng vũ phu). Các công cụ loại B giới hạn tìm kiếm của họ chỉ là một tập hợp con các động thái có thể dựa trên một số tiêu chí. Tôi tin rằng anh ấy thích Type B như hứa hẹn hơn.

Các động cơ được tạo ra vào những năm 1970 (ví dụ Hitech, Kaissa) có xu hướng là lực lượng vũ phu thuần túy không cắt tỉa hoặc chỉ là alpha-beta, nhưng mọi người đã sớm thấy giá trị của việc cắt tỉa các cây di chuyển và các đường không có khả năng chứng minh mạnh mẽ . Hầu như tất cả các động cơ gần đây đều cắt tỉa các dòng rõ ràng yếu hơn (alpha-beta) và hầu hết các động cơ cũng sử dụng nhiều kiểu cắt tỉa khác nhau (vô ích, giảm di chuyển muộn, di chuyển null, dao cạo râu). Theo nghĩa đó, không còn nhiều động cơ sử dụng vũ lực thuần túy nữa.

Vào những năm 1970, Botvinnik đã làm việc trên một động cơ có tên là Pioneer được hình thành xung quanh khái niệm về các con đường tấn công sẽ được hướng dẫn đánh giá. Nó không bao giờ đạt đến điểm mà nó có thể chơi một ván cờ đầy đủ.

Vào những năm 1990, Chris Wittington đã lên tiếng ủng hộ việc sử dụng kết hợp nhiều kiến ​​thức cờ vua hơn và tạo ra một chương trình có tên Chess System Tal khá mạnh vào thời điểm đó.

Kasparov, Anand và Tord Romstad đều lưu ý rằng Hiarcs dường như có một đánh giá chi tiết hơn so với nhiều động cơ hàng đầu có sức mạnh đến từ một tìm kiếm nhanh.


-2

Về cơ bản tất cả chúng!

Động cơ cờ vua thực sự chỉ sử dụng vũ lực khi:

  • nói với
  • đang phân tích vị trí (giải quyết vấn đề)
  • Tìm kiếm một người kiểm tra (giải quyết vấn đề, không phải khi chơi với, như "tìm bạn đời theo kiểu N")

Mặt khác, họ có một "tìm kiếm chọn lọc", điều này sẽ xem xét tất cả các động thái có thể có cho một bố cục bảng nhất định, nhưng chỉ khám phá một số ít trong số họ. Một động cơ có thể chuyển sang lực lượng vũ phu mặc dù nếu nó đánh giá hai lần di chuyển rất giống nhau (nhiều hơn một động tác mạnh) hoặc nếu nó không thể tìm thấy một động thái mà nó thích (không di chuyển mạnh).

Họ cũng có xu hướng vũ phu như một hàng phòng thủ cuối cùng, nếu bạn thấy một người chơi cờ thì có thể thấy nó sẽ đến và nó sẽ rất cố gắng để vẽ, và không thể tìm ra lối thoát ("Hiệu ứng đường chân trời "là một vấn đề với động cơ, giả sử nó sẽ mất đi nữ hoàng, và nó bị giới hạn chỉ đi sâu 4 phát; nếu nó có thể giao dịch cầm đồ và hoãn việc mất nữ hoàng trong 4 lần di chuyển, nó sẽ nghĩ rằng nó đã cứu được nữ hoàng , trong quá trình đó, nó sẽ mất ít nhất 1 con tốt (vì bước tiếp theo sẽ đưa đường chân trời từ trước đến gần hơn) và sức nặng mà nó dành cho nữ hoàng có thể có nghĩa là nó hy sinh một số phòng thủ, vì không có gì nếu cái chết đi qua đường chân trời) .

Nó cũng sẽ mạnh mẽ khi tìm kiếm chọn lọc không hữu ích. Đây là lý do tại sao động cơ mất nhiều thời gian hơn khi chúng chỉ còn 3 mảnh. Họ phải vũ phu vì thuật toán lựa chọn không thể đánh giá một nước đi. Thuật toán lựa chọn là tuyệt vời trong thời gian giữa trận đấu vì nó có thể giống như "Oohh, làm điều này với cầm đồ chặn [bất cứ thứ gì] của anh ấy và sao lưu [bất cứ thứ gì] và [bất cứ thứ gì] mà tôi có số lượng ít hơn bảo vệ so với tấn công" - chẳng hạn .

Nếu bạn có một vị vua ở giữa bảng có 8 bước di chuyển, tìm kiếm chọn lọc sẽ giống như "Không ai trong số này làm bất cứ điều gì hữu ích, tôi không thể nói".

Bạn có thể nghĩ rằng tìm kiếm chọn lọc có hai phần, đó là chiến thuật theo nghĩa nó sẽ thử và phát hiện ra các động tác chiến thuật, nó sẽ bỏ qua trọng lượng của các phần liên quan thường vì một nữ hoàng không phải là một phần của bất kỳ chiến lược nào không có giá trị nhiều hơn một con tốt quan trọng với nó. Nó cũng mang tính chiến lược ở chỗ nó sẽ khám phá các động thái tăng cường phòng thủ và mở ra sau đó cho các cuộc tấn công tiềm năng.

Động cơ sau đó làm tương tự theo quan điểm của bạn, và qua lại và qua lại.

Một cái gì đó được gọi là bảng chuyển vị là một danh sách lớn những điều nó đã nghĩ đến, theo cách đó nếu nó kết thúc xem xét một cái gì đó nó đã làm, nó biết và không phải đánh giá lại nó.

UNLESS (chọn lọc :)) nó đến đó theo một cách khác, hoặc muốn khám phá thêm. Ví dụ, giả sử nó phát hiện ra rằng ... rook của bạn là điều cần thiết cho một cuộc tấn công sắp xảy ra, động cơ có thể đánh giá lại một dòng khi phát hiện ra điều này. Trọng lượng trước đó đặt vào tân binh đó (ví dụ 5 điểm, tầm quan trọng của nó đối với bạn) có thể là một ước tính thấp.

Việc tìm kiếm có chọn lọc cũng có thể quay lại, như nói rằng việc xem xét một giám mục di chuyển ngay vào lãnh thổ của kẻ thù, đến bộ chọn di chuyển, điều quan trọng là nó có thể được thực hiện dễ dàng. Nói rằng nó phát hiện ra rằng chiến lược đó là một động thái tuyệt vời! Sau đó, nó có thể quay lại để thử và tìm cách bảo vệ quảng trường đó để đưa vị giám mục đó đến đó. Giả sử nó liên quan đến một con tốt để làm như vậy.

Phương pháp vũ phu sẽ xem xét đường liên quan đến động thái cầm đồ đó và (bằng vũ lực) giám mục cũng di chuyển, và những thứ tương tự đánh giá vị trí bảng (chính việc tìm kiếm chọn lọc) sẽ nói "điều này tốt" nên hội đồng quản trị tỷ lệ thay đổi cao, cả hai tìm thấy nó.

Rất khó để đánh giá một vị trí bằng phương pháp brute-force, đây là lý do tại sao tìm kiếm chọn lọc hoạt động rất tốt.

Lực lượng vũ phu từ vị trí xuất phát có thể tìm thấy người bạn đời nổi tiếng 4 có liên quan đến một nữ hoàng f7 được bảo trợ bởi một giám mục, và nếu nó được đánh giá cao như vậy (TÔI ĐÃ TÌM KIẾM MỘT CHECKMATE! JOB DONE! PLAY!) Sẽ sai vì màu đen rõ ràng sẽ phản tác dụng. Tìm kiếm chọn lọc đánh giá một vị trí (để đánh giá thêm) bởi vì nó có vẻ tốt. Điều này có nghĩa là khi nó đang xem xét phản hồi của bạn, nó có thể quyết định điều gì sẽ tốt cho bạn ....

Vì vậy, những thứ mà tìm kiếm chọn lọc sử dụng để đánh giá mọi thứ được sử dụng bởi người vũ phu vì dù sao "tìm thấy một người kiểm tra liên quan đến động thái này" là không đủ để nói rằng di chuyển là tốt.

Do đó các động tác đầu tiên được chọn (Trắng), bằng động cơ cờ vua vũ phu là gì?

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.