Có bất kỳ động cơ cờ vua có thể hiển thị nếu một bên có một trận hòa bắt buộc?


10

Có bất kỳ động cơ cờ vua nào có chế độ phân tích có thể hiển thị nếu một vị trí bị ép buộc bởi một trong hai bên không?

Thông thường các động cơ đưa ra các đánh giá đầu ra là 0,0 khi chúng phát hiện ra một trận hòa. Nhưng một đánh giá 0,0 có thể có nghĩa là nhiều thứ. Ví dụ: giả sử nó có màu trắng để di chuyển, đánh giá 0,0 có thể có nghĩa:

  • Trò chơi chắc chắn là một trận hòa bất kể người chơi chơi như thế nào (ví dụ như không đủ tài liệu).
  • Cả hai người chơi có thể buộc một trận hòa. Không người chơi nào có thể hy vọng chiến thắng nếu đối thủ của họ chơi hoàn hảo.
  • Bất kể chuyển động trắng nào, máy tính chắc chắn 100% rằng màu đen có thể tạo ra sức hút nếu anh ta muốn. Trắng không thể hy vọng chiến thắng nếu màu đen chơi hoàn hảo. Một trận hòa là kết quả rất có thể, nhưng một tìm kiếm sâu hơn có thể cho thấy màu đen có thể buộc một chiến thắng.
  • Máy tính chắc chắn 100% rằng màu trắng có thể tạo ra sức hút nếu anh ta muốn. Đen không thể hy vọng chiến thắng nếu trắng chơi hoàn hảo. Một trận hòa là kết quả rất có thể, nhưng một tìm kiếm sâu hơn có thể cho thấy màu trắng có thể buộc một chiến thắng.
  • Máy tính đã không tìm thấy một trận hòa bắt buộc cho cả hai bên, nhưng đánh giá cho đến nay là chính xác mức độ. Một trận hòa là kết quả rất có thể, nhưng một tìm kiếm sâu hơn sau đó có thể cho thấy lợi thế cho một bên.

Chỉ cần đưa ra một ví dụ khi điều này có thể hữu ích, nếu màu trắng không cần phải thắng và chỉ muốn chắc chắn nhất có thể có được một trận hòa thì họ có thể thích chơi một nước đi với đánh giá +0.0 và một trận hòa bắt buộc đã biết mặc dù một động thái khác với đánh giá cao hơn có sẵn.

Một ví dụ khác là nếu bạn cần một chiến thắng (tức là một trận hòa cũng tệ như thua), bạn có thể muốn chơi một nước đi với một đánh giá tiêu cực nhẹ để tránh cho đối thủ cơ hội để có được một trận hòa. Mặc dù điều này làm tăng cơ hội thua của bạn, nhưng nó cũng làm tăng cơ hội chiến thắng của bạn.

Rõ ràng có những vị trí rất khó hoặc không thể chắc chắn liệu một trận hòa bắt buộc có sẵn hay không. Nhưng nếu động cơ thông báo một trận hòa bắt buộc thì nó phải có khả năng buộc một trận hòa. Âm tính giả được chấp nhận nhưng không nên có dương tính giả.

Vì vậy, tóm lại, tôi muốn biết cho một vị trí cụ thể nếu một (hoặc cả hai người chơi) có sẵn một trận hòa bắt buộc đối với họ. Tính toán đánh giá vị trí số là không cần thiết, nhưng nếu nó cũng cung cấp điều này cùng một lúc, đó là một phần thưởng.


Không biết phần này về điểm của các bảng kết thúc 6 phần sao?
Tony Enni

2
Cơ sở bảng giúp đỡ, bởi vì sau đó bạn biết rằng điểm 0,0 là nhất định cho một trận hòa bắt buộc với lối chơi tối ưu. Nhưng tôi muốn động cơ cho tôi biết nếu nó tìm thấy một trận hòa bắt buộc từ bất kỳ vị trí bắt đầu tùy ý, bao gồm (đặc biệt) khi có hơn 6 mảnh. Ví dụ: nếu màu trắng vào vị trí mà họ có thể buộc kiểm tra vĩnh viễn tôi muốn động cơ nói với tôi điều đó, ngay cả khi đó không nhất thiết phải là động thái tốt nhất của màu trắng theo chức năng đánh giá.
Mark Byers

Tôi tò mò khi bạn thực sự có thể tận dụng loại tính toán này trong thực tế. Đây sẽ là một tính năng tốt đẹp. Trong stockfish tôi sử dụng tính năng "nhiều biến thể" phân tích UCI, sắp xếp các bước di chuyển theo thứ tự điểm đánh giá của chúng. Rút thăm cưỡng bức xuất hiện trong danh sách khá rõ ràng khi họ kiểm tra vĩnh viễn hoặc bế tắc, nhưng đôi khi nó không rõ ràng, và như bạn nói, nếu bạn đi sâu hơn, nó có thể không phải là một trận hòa.
Giao thừa Freeman

1
Nhưng làm thế nào bị ép buộc? Tôi nghĩ rằng trong nhiều trường hợp được gọi là trận hòa bắt buộc, đối thủ vẫn có thể đi chệch hướng nhưng với cái giá là một vị trí rõ ràng tồi tệ hơn. Một vị trí trong đó màu trắng có thể buộc một trận hòa hoặc một tân binh đầy đủ sẽ không phải là một trận hòa bắt buộc, hạn chế tính hữu dụng.
RemcoGerlich

Nếu màu trắng có thể buộc một trận hòa thay vì đi lên, tôi muốn biết điều đó.
Đánh dấu

Câu trả lời:


8

Câu trả lời ngắn gọn cho câu hỏi của bạn là không , không có một động cơ cờ nào có thể hiển thị một cách đáng tin cậy nếu một bên có một trận hòa bắt buộc. Ví dụ, vị trí bị khóa này rõ ràng là một điểm thu hút đối với mắt người:

Vị trí bị khóa, rút ​​ra vô vọng

Tuy nhiên, lưu ý rằng đánh giá là 0,17 , không phải 0,00 . Houdini cũng cho 0,05 - bao giờ hơi tốt cho màu trắng. Cái này rất quan trọng. Điều này cho thấy rằng việc đánh giá 0,00 được bảo lưu bởi các chương trình này vì một lý do cụ thể, và thực tế là như vậy. Về cơ bản, ngay cả ở vị trí "bằng nhau", máy tính sẽ không bao giờ nói rằng điểm số là 0,00 , thay vào đó, nó sẽ cho cạnh một phút cho một hoặc bên kia.

Vì vậy, với nền tảng đó, vào chi tiết cụ thể! Đầu tiên, nếu trò chơi chỉ là một trận hòa do vị trí (nghĩa là bế tắc, không đủ tài liệu, v.v.), hầu hết GUI sẽ bật lên một thông báo có nội dung "Trò chơi được vẽ" hoặc một cái gì đó cho hiệu ứng đó. Điều đó để lại các trường hợp phức tạp hơn mà bạn đề cập trong câu hỏi của bạn. Để đảm bảo hầu hết những người đó, tôi sẽ giới thiệu một vị trí khác. Cái này được lấy từ Morphy-NN 1-0, New Orleans Blindprint Simul:

Morphy - NN 1-0, New Orleans Bịt mắt Simul

Lưu ý rằng Morphy hiện có bạn đời trong 6 bắt đầu với 18.b4+!. Tuy nhiên, nếu Morphy bằng cách nào đó bỏ lỡ rằng đây là bạn đời, anh ta vẫn bị ép buộc bởi sự lặp lại, điều mà máy tính nhanh chóng nhìn thấy. Bằng cách tăng số lượng biến thể mà máy tính hiển thị, có thể thấy rằng sau khi màu trắng đóng vai trò di chuyển 18.Qxc3+?, màu trắng vẫn có thể tạo ra một trận hòa, mặc dù đã bị hạ gục và một mảnh. Việc đánh giá 0,00 một lần nữa cho chúng ta biết rằng đây là một vị trí đặc biệt trong đó máy tính có thể tính toán kiểm tra vĩnh viễn. Nếu các động thái 18.Qxc3+? Kxd5được thực hiện trên bảng, thì việc đánh giá sẽ là 0,00 , cho thấy sự tiếp tục tốt nhất của màu trắng là buộc phải rút thăm. Không làm điều này sẽ dẫn đến mất trò chơi với lối chơi tốt nhất.


Vì vậy, để tóm tắt, không có động cơ hiện tại có thể nói chắc chắn chính xác rằng một vị trí là một vẽ. Tuy nhiên, việc đánh giá 0,00 là đặc biệt và nếu điều đó hiển thị là điểm chính hoặc điểm cho một biến thể, điều đó có nghĩa là một trận hòa có thể bị ép buộc trong dòng cụ thể đó. Cách dễ nhất để kiểm tra được gọi một cách tinh nghịch là "phân tích phím cách" - khi người dùng nhấn vào phím cách nhiều lần để buộc máy tính chơi di chuyển được đề xuất hàng đầu. Cuối cùng, bạn sẽ đến một vị trí rõ ràng đối với con người cũng như máy móc.


Và cuối cùng, để giải quyết quan điểm của bạn về "sự khinh miệt"

Một ví dụ khác là nếu bạn cần một chiến thắng (tức là một trận hòa cũng tệ như thua), bạn có thể muốn chơi một nước cờ với một đánh giá tiêu cực nhẹ để tránh cho đối thủ cơ hội để có được một trận hòa. Mặc dù điều này làm tăng cơ hội thua của bạn, nhưng nó cũng làm tăng cơ hội chiến thắng của bạn.

Điều này khá đơn giản được gọi là sự khinh miệt giữa các lập trình viên cờ vua. Hầu hết các công cụ sẽ cho phép bạn đặt mức độ khinh miệt trong cài đặt. Cài đặt khinh miệt tích cực (100 thường là mức phân tích hợp lý) sẽ cho động cơ cố gắng khá chăm chỉ (giá trị cầm đồ) để tránh rút thăm. Cài đặt tiêu cực sẽ khiến động cơ tìm kiếm một trận hòa bắt buộc (nghĩa là không đủ vật liệu, bế tắc hoặc vĩnh viễn).


Đây gần như là ý tưởng giống như trong nhận xét của Wes Freeman cho câu hỏi, và giống như những gì anh mô tả đòi hỏi một số ý kiến ​​của con người - "Những bức vẽ cưỡng bức xuất hiện trong danh sách khá rõ ràng [đôi khi], nhưng đôi khi nó không rõ ràng" - câu trả lời của bạn có con người đóng góp "phân tích không gian." Đây là lý do tại sao tôi đề nghị điều chỉnh chức năng đánh giá trong câu trả lời của tôi; chúng tôi đang làm cho nó để động cơ thực sự tìm ra các trận hòa bắt buộc và cho chúng tôi biết khi nào chúng được trình bày một cách thuyết phục. Đó dường như là sự khác biệt đáng kể duy nhất giữa các phương pháp.
ETD

@EdDean Tôi đồng ý. Những trận hòa khó tìm nhất là những trận đấu không thể giành chiến thắng, nhưng một bên có thể ấn định chiến thắng mãi mãi. Một cách riêng biệt, thay đổi chức năng eval của động cơ sẽ là một cách tiếp cận, nhưng rất có thể không phải là điều có thể được thực hiện trong một khoảng thời gian hợp lý. Hiện tại có thể chơi xung quanh với các cài đặt khinh miệt, nhưng điều đó không làm điều tương tự như lập trình lại một công cụ như bạn đề xuất. Các cài đặt có thể chỉnh sửa của con người khá hạn chế trên các công cụ hiện tại.
Andrew

Thiết lập khinh miệt đó là gọn gàng - đã không nhận thấy nó.
Giao thừa Freeman

2
Nhân tiện, tôi không nghĩ 0,00 luôn là dấu hiệu của một trận hòa bắt buộc, mà bạn dường như ngụ ý. Thỉnh thoảng tôi thấy nó ngay cả khi mở cửa sớm - tôi cho rằng nó chỉ có nghĩa là với vị trí và vật liệu hiện tại, nó có khả năng thậm chí, và đánh giá xảy ra là 0,00.
Đêm giao thừa Freeman

3
Hấp dẫn. Trong stockfish thì chắc chắn là không. Chỉ cần phân tích vị trí mở trong vài giây sẽ trả về 0,00 điểm.
Đêm giao thừa Freeman

4

Cũng như các động cơ có thể, tại một số điểm nhất định, nhìn thấy một người bạn đời bị ép buộc một số bước di chuyển, bởi vì có những đường buộc đủ để động cơ có thể nhìn thấy mọi thứ hoàn hảo ở độ sâu còn lại cho đến khi giao phối, cũng có những cú nhảy trong trò chơi cờ vua cho phép động cơ để xem một trận hòa bắt buộc với cùng lý do có thể khảo sát hoàn toàn các khả năng hạn chế trong chơi.

Hơn nữa, thật dễ dàng để điều chỉnh chức năng đánh giá của động cơ để khiến nó tìm kiếm và thích các động thái dẫn đến những trận hòa bắt buộc như vậy: giống như người bạn đời đạt được thường có một số giá trị to lớn lấn át tất cả các yếu tố số khác mà thuật toán đánh giá của động cơ xem xét để hướng dẫn cách chơi của động cơ hướng tới mục tiêu cuối cùng, thay vào đó, người ta có thể đưa ra một giá trị số lượng lớn như vậy để đạt được một trong những loại rút ra mà tôi có trong tâm trí.

Chẳng hạn, tự động đánh giá bất kỳ vị trí nào trong đó đối thủ không đủ nguyên liệu để kết hợp là +1000000. Sau đó, nếu động cơ tự tìm thấy với tùy chọn buộc nhiều vật liệu đó của đối thủ, nó sẽ cho bạn biết. Ngoài ra, điều chỉnh thuật toán đánh giá để đánh giá bất kỳ sự lặp lại ba lần nào là +1000000 thay vì 0. thông thường, sau đó, nếu có sự lặp lại cưỡng bức (như trong kịch bản kiểm tra vĩnh viễn), động cơ sẽ yêu thích nó và cho bạn biết về nó . Tương tự, đưa ra +1000000 nếu người ta có thể buộc phải đạt được kết quả hòa bảng.

Bạn cũng có thể đảm bảo rằng động cơ sẽ chỉ đưa ra các định giá này khi hoàn toàn chắc chắn rằng các lần rút thực sự là cưỡng bức (bởi vì cây giữa đây và đã có thể được kiểm tra đầy đủ), giống như với một động cơ không thông báo bạn đời trừ khi nó là chắc chắn Do đó, bạn sẽ không nhận được bất kỳ thông tin sai nào, mặc dù tất nhiên sẽ có rất nhiều tiêu cực sai, mà bạn cho phép / nhất thiết phải cho phép trong câu hỏi của bạn.


Tôi không nghĩ rằng bất kỳ động cơ nào sẽ hoạt động như thế này "ngoài luồng" do các yếu tố khinh miệt và cách chúng cắt tỉa. Về cơ bản, nếu một trận hòa được tìm thấy, bất kỳ dòng nào giành được tài liệu sẽ bị loại trừ. Vì vậy, ví dụ kiểm tra nhà vua sẽ thích hợp hơn để bắt một tân binh miễn phí. Tôi đang xem xét đăng một câu trả lời dài hơn bởi vì có nhiều cách để sử dụng các công cụ hiện tại để làm điều này, nhưng tôi không muốn đưa ra quá nhiều bí mật chuẩn bị. ;)
Andrew

Không có động cơ nào hoạt động theo cách tôi mô tả "ngoài luồng", điều đó đúng, vì chúng được thiết kế để tìm kiếm chiến thắng; vì lý do tương tự, bạn sẽ phải thực hiện một số điều chỉnh để thực hiện một động cơ chơi bình thường, giả sử, cờ vua tự sát. Tôi đã có chúng tôi sửa đổi chức năng đánh giá; bất kỳ yếu tố khinh miệt nào cũng có thể được điều chỉnh / vô hiệu hóa cùng với những gì tôi đề xuất nếu cần, đúng không? Quan điểm chính của tôi là tôi nghĩ rằng các động cơ hiện tại có thể được tái định hướng (theo cách khá đơn giản) để hoạt động như Mark muốn. Vì vậy, tại thời điểm này ít nhất, tôi vẫn xem đây là một cách để "sử dụng các động cơ hiện tại". Tâm trí của tôi luôn luôn có thể được thay đổi mặc dù. :)
ETD
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.