Có thể có một thuật toán cờ vua hoàn hảo?


15

Các thuật toán cờ vua hiện tại đi khoảng 1 hoặc có thể 2 cấp xuống một cây đường có thể tùy thuộc vào nước cờ của người chơi và nước đi của đối thủ. Hãy nói rằng chúng ta có khả năng tính toán để phát triển một thuật toán dự đoán tất cả các chuyển động có thể có của đối thủ trong một ván cờ. Một thuật toán có tất cả các đường dẫn có thể mà đối thủ có thể đi vào bất kỳ thời điểm nào tùy thuộc vào sự di chuyển của người chơi. Có thể có một thuật toán cờ vua hoàn hảo sẽ không bao giờ thua? Hoặc có thể một thuật toán sẽ luôn luôn chiến thắng? Ý tôi là về mặt lý thuyết, một người có thể dự đoán tất cả các động tác có thể phải có khả năng tìm ra cách để đánh bại từng người trong số họ hoặc chỉ đơn giản là chọn một con đường khác nếu một người nào đó sẽ hoàn toàn khiến anh ta đánh bại .....

chỉnh sửa-- Câu hỏi của tôi thực sự là gì. Giả sử chúng ta có khả năng tính toán cho một thuật toán hoàn hảo có thể chơi tối ưu. Điều gì xảy ra khi đối thủ chơi với cùng một thuật toán tối ưu? Điều đó cũng sẽ áp dụng trong tất cả các trò chơi 2 người chơi với số lần di chuyển hữu hạn (rất lớn hoặc không). Có thể có một thuật toán tối ưu luôn luôn chiến thắng?

Định nghĩa cá nhân: Một thuật toán tối ưu là một thuật toán hoàn hảo luôn luôn chiến thắng ... (không phải là một thuật toán không bao giờ thua, mà là một thuật toán luôn luôn thắng



Câu hỏi này dựa trên một số quan niệm sai lầm. Đầu tiên, các máy tính cờ vua nhìn xa hơn một hoặc hai lớp trước: thậm chí năm năm trước trên một máy tính xách tay thông thường, các chương trình cờ khá thông thường đang nhìn về phía trước 15-16 ply và 25+ trên các dòng quan trọng. Thứ hai, định nghĩa "hoàn hảo" là "luôn luôn thắng" không thể đạt được, như thể hiện trong các câu trả lời. Thứ ba, động cơ cờ vua không "dự đoán" các nước đi: họ tính toán và chơi các nước đi tốt trước mọi phản ứng có thể có.
David Richerby

Câu trả lời:


13

Câu hỏi của bạn gần giống với hạt dẻ cũ: "Điều gì xảy ra khi một lực không thể cưỡng lại gặp một vật thể bất động?" Vấn đề nằm ở chính câu hỏi: hai thực thể như được mô tả không thể tồn tại trong cùng một vũ trụ nhất quán logic. Thuật toán tối ưu của bạn, thuật toán luôn luôn thắng, không thể được chơi bởi cả hai bên trong trò chơi trong đó một bên phải thắng và bên còn lại phải theo định nghĩa thua. Do đó, thuật toán tối ưu của bạn như được xác định không thể tồn tại.


3
Chà, nó có thể, ví dụ, một thuật toán cho phép người chơi đầu tiên giành chiến thắng. Điều này có nghĩa là chơi đầu tiên có một lợi thế. Hoặc có lẽ thuật toán tối ưu chỉ cho phép người chơi thứ hai giành chiến thắng. Điều này sẽ cung cấp cho người chơi thứ hai một lợi thế. (Các) khả năng thứ ba là một thuật toán cho phép một trong những người chơi luôn có một trận hòa, mặc dù không đảm bảo chiến thắng (vì như OP muốn biết, đây là điều xảy ra, ví dụ, nếu cả hai người chơi chơi cùng một chiến lược chiến thắng , nếu không có lợi thế trong việc chơi thứ nhất hoặc thứ hai).
Realz Slaw

3
@Realz Vâng, vâng, nếu bạn thay đổi định nghĩa về "thuật toán tối ưu" thì bạn có thể chứng minh bất cứ điều gì bạn thích. Tôi đã sử dụng định nghĩa mà người hỏi yêu cầu chúng tôi sử dụng.
Kyle Jones

Đây là câu trả lời tôi đã cố gắng thoát ra khỏi mọi người. Không thể có một thuật toán luôn luôn chiến thắng bởi vì đó là trò chơi gồm 2 người chơi nên không có cách nào thuật toán đó có thể hoạt động được vì cả hai người chơi có thể có cùng một thuật toán nên đơn giản ít nhất một trong hai người buộc phải không thắng (thua hoặc hòa) . Tôi đã hỏi cùng một câu hỏi với giáo viên của mình và chúng tôi đã phải nói rất nhiều để anh ấy đi đến kết luận này
John Demetriou

3
@JohnDemetriou Vấn đề là kết luận đó là sai . Cờ vua không phải là một trò chơi đối xứng vì lợi thế đầu tiên - hoàn toàn có thể tồn tại một thuật toán tối ưu cho phép Trắng chơi và giành chiến thắng, nhưng Đen không thể sử dụng thuật toán đó vì lý do đơn giản là cô ấy không phải là Trắng!
Steven Stadnicki

Cũng có thể, tôi nên lưu ý rằng, trước tiên thực sự không phải là một lợi thế và thực sự có một thuật toán luôn cho phép Đen giành chiến thắng trước trò chơi hay nhất của White - nhưng rõ ràng là không có thuật toán nào luôn có thể cho phép một người chiến thắng dù là Đen hay Trắng. Đây là lý do tại sao mọi người nói về "kết quả tốt nhất có thể", bởi vì "chiến thắng từ cả hai phía" là không thể.
Steven Stadnicki

23

Trước hết, tôi tin rằng các thuật toán cờ vua nhìn xuống hơn 2 lần, mặc dù chúng không xem xét tất cả các khả năng khác nhau; tỉa cây tìm kiếm là rất quan trọng để tránh sự bùng nổ tổ hợp trong số lượng di chuyển có thể.

Đối với một trò chơi như cờ vua, có ba khả năng về danh tính của người chiến thắng: người chơi 1 có chiến lược chiến thắng hoặc người chơi 2 có chiến lược chiến thắng hoặc cả hai người chơi đều rút ra khi chơi tối ưu. Nó không được biết đó là trường hợp của trò chơi cờ vua. Tuy nhiên, vì cờ vua là một trò chơi hữu hạn, có một thuật toán máy tính, bao gồm một bàn rất lớn, chơi cờ một cách tối ưu.

Tất nhiên, một thuật toán như vậy sẽ không thực tế. Nhưng đối với một số trò chơi đơn giản hơn, "giá trị" của trò chơi (người chơi thắng, nếu có) đã được xác định và một thuật toán tối ưu đã được đưa ra. Một trò chơi như vậy được gọi là một trò chơi giải quyết .

Môn học toán học liên quan đến (trò chơi được gọi là) trò chơi kết hợp là kết hợp lý thuyết trò chơi kết hợp . Các nhà toán học đã phát triển một phương pháp đệ quy để xác định giá trị của một trò chơi dựa trên biểu đồ của trò chơi, bao gồm tất cả các vị trí và di chuyển được phép. Bạn sẽ có thể tìm thấy một mô tả về thuật toán này trong mục Wikipedia hoặc bất kỳ ghi chú bài giảng nào về chủ đề này.


vâng, thực sự, nhưng tôi đã cố gắng trả lời bất kỳ câu trả lời nào bằng một câu hỏi khác, điều gì xảy ra khi cả hai người chơi chơi với thuật toán tối ưu ???? Điều gì xảy ra nếu một người chơi tìm cách đánh bại thuật toán tối ưu?
John Demetriou

11
@JohnDemetriou Khi cả hai người chơi chơi tối ưu, bạn sẽ nhận được một số kết quả. Kết quả đó được gọi là giá trị của trò chơi. Nếu cờ vua là chiến thắng trắng, điều đó có nghĩa là không có gì màu đen có thể làm có thể đánh bại một người chơi trắng chơi tối ưu. White thực sự có một cuốn sách khổng lồ (hoặc có khả năng tạo ra sự di chuyển từ một cuốn sách như vậy một cách tính toán) có chứa một bộ đếm hoàn hảo cho bất kỳ chuyển động nào mà màu đen có thể tạo ra trong mọi tình huống có thể phát triển từ đầu trò chơi. BTW, chillax trên các dấu hỏi. Một câu mỗi câu là đủ.
rrenaud

Tôi xin lỗi vì những dấu hỏi. Nó chỉ là cách tôi gõ nói chung. Điều gì xảy ra nếu cờ vua là chiến thắng tối ưu nhất. Nếu trắng và đen có cùng một cuốn sách và có cùng một quầy? Điều gì sẽ xảy ra sau đó?
John Demetriou

1
@JohnDemetriou "Tối ưu" có nghĩa là "tốt nhất có thể". Nếu hậu quả toán học của các quy tắc cờ vua là màu đen tốt nhất có thể làm được với màu trắng tối ưu là hòa (hoặc thậm chí chỉ có thể trì hoãn chiến thắng của màu trắng càng lâu càng tốt), thì thuật toán tối ưu cho màu đen là một thuật toán đạt được điều đó, và nó có thể giành chiến thắng trước hầu hết các đối thủ không tối ưu.
Bến

1
@JohnDemetriou Có thể có một thuật toán luôn thắng là Trắng ; rõ ràng thuật toán đó không phải lúc nào cũng có thể thắng như Đen vì những lý do đã được vạch ra (vì nó sẽ chơi với chính nó). Thậm chí có khả năng nó chỉ ra rằng cờ 'thắng' của Đen đã chơi hoàn hảo và có một thuật toán đảm bảo chiến thắng cho Đen trước mọi sự phản đối. Nếu bạn có nghĩa là 'một thuật toán luôn chiến thắng từ hai phía' thì tôi khuyên bạn nên sử dụng thuật ngữ đó; "Tối ưu" đã có một ý nghĩa được xác định rõ.
Steven Stadnicki

8

Trước hết, các thuật toán cờ vua tốt nhìn xa hơn 1 hoặc 2 cấp độ. Thay vì sử dụng tìm kiếm cây ngây thơ, họ thực hiện cắt tỉa alpha-beta để thu hẹp số lượng tùy chọn để xem xét. Lưu ý rằng đối với các trò chơi mở và kết thúc, một cơ sở dữ liệu di chuyển lớn được sử dụng vì nó có hiệu suất tốt hơn so với tìm kiếm trên cây, được sử dụng ở giữa trò chơi.

Đối với câu hỏi: những gì bạn đang hỏi tôi tin là "Cờ vua có thể giải được không?". Theo giả thuyết, đó là, mặc dù ý kiến ​​khác nhau về việc liệu kết quả này sẽ sớm đạt được bất cứ lúc nào. Cờ đam đã được giải quyết vào năm 2007, nhưng có ít vị trí hơn (xung quanh căn bậc hai của số trong cờ vua). Xem bài viết Wikipedia để biết thêm thông tin.

Ngẫu nhiên, các AI cờ vua giỏi nhất hiện tại gần như luôn luôn đánh bại hoặc hòa với các nhà vô địch thế giới; Vì vậy, trong khi hiện tại không hoàn hảo, các thuật toán ít nhất là khá tốt!


6

Về nguyên tắc, cờ vua có thể giải được như bất kỳ trò chơi nào khác. Như các câu trả lời khác đã chỉ ra, tuy nhiên, điều này không được mong đợi sẽ xảy ra sớm.

Chỉnh sửa: nó đã được chỉ ra trong các ý kiến ​​rằng [1] là một trò lừa bịp nên bỏ qua phần còn lại của câu trả lời này.

Điều đó nói rằng, đã có một số phát triển gần đây theo hướng này. [1] tuyên bố đã chỉ ra rằng việc mở cờ được gọi là King Gambit đã được giải quyết : chỉ có một dành cho Trắng, trong khi tất cả các động tác mở khác đều dẫn đến chiến thắng cho Đen. Lưu ý rằng [1] đã không khám phá toàn bộ cây trò chơi, nhưng chỉ tuyên bố những kết quả này có khả năng cao.

[1] http://chessbase.com/newsdetail.asp?newsid=8047


1
Bài viết rất thú vị thực sự!
Paresh

Sau đó, đó không phải là một thuật toán tối ưu. Tôi đang hỏi liệu một thuật toán tối ưu có thể tồn tại (nếu chúng ta có sức mạnh tính toán)
John Demetriou

1
Phải, và xem định nghĩa của bạn về "thuật toán tối ưu" là một thuật toán luôn chiến thắng, thuật toán như vậy không thể tồn tại cho cả người chơi, Đen và Trắng. Ngoài cây trò chơi lớn hơn (nhưng hữu hạn), không có gì đặc biệt về cờ vua về vấn đề này so với các trò chơi khác như Hex, mà giải pháp đã được biết đến: Nếu người chơi đầu tiên sử dụng chiến lược tối ưu (đã biết) để chơi Hex , sau đó người chơi thứ nhất luôn thắng, bất kể người chơi thứ hai sử dụng thuật toán nào.
Peter

The King Gambit đang được giải bài viết hóa ra là một trò lừa bịp. Lưu ý bài báo bắt đầu "Vào ngày 31 tháng 3, tác giả của chương trình Rybka, Vasik Rajlich, và gia đình của anh ấy đã chuyển từ Warsaw, Ba Lan đến một căn hộ mới ở Budapest, Hungary. Ngày hôm sau, bất chấp sự nhộn nhịp của các hộp di chuyển và sắp đặt Kết nối điện thoại và Internet Vas, vui lòng đồng ý cuộc phỏng vấn sau "- nói cách khác, đây là vào ngày 1 tháng 4 ...
Joe K

-1

Có thể luôn luôn thắng một ván cờ hay không phụ thuộc vào luật chơi. Tuy nhiên, có một kỹ thuật / thuật toán có tên Minimax (để biết chi tiết, xem https://en.wikipedia.org/wiki/Minimax ). Thuật toán bao gồm cố gắng dự đoán người chơi nào chiếm thế thượng phong trong các tình huống khác nhau với chức năng đệ quy. Dưới đây là một lời giải thích rõ ràng về cách thức hoạt động của trò chơi này với một trò chơi đơn giản hơn: Tic-tac-toe https://www.neverstopbuilding.com/blog/2013/12/13/tic-tac-toe-under Hiểu-the-minimax-al Thuậtm13 .


Mặc dù câu trả lời khác không đề cập rõ ràng đến minimax, một số người đề cập đến các liên kết cuối cùng dẫn đến chúng hoặc cắt tỉa alpha-beta, một thuật toán để thực hiện minimax hiệu quả hơn. Câu trả lời này thêm gì mà chưa được nói?
Thằn lằn rời rạc

-3

sẽ thêm một câu trả lời khác nhấn mạnh không gian trạng thái đồ sộ, không thực sự được khái niệm hóa trong câu hỏi hoặc chỉ ra trong các câu trả lời khác. phải không đồng ý với tiền đề của bạn:

Hãy nói rằng chúng ta có khả năng tính toán để phát triển một thuật toán dự đoán tất cả các chuyển động có thể có của đối thủ trong một ván cờ.

xem thông tin trên tờ shannons 1950, "Lập trình máy tính để chơi cờ" giới thiệu lĩnh vực chơi / thuật toán chơi cờ dựa trên máy tính và phân tích của nó về cơ bản không thay đổi và vẫn còn âm thanh (ngay cả bởi cuộc cách mạng máy tính tiếp theo và luật Moores ). nó ước tính số lượng di chuyển. nó hoàn toàn thiên văn. trong phạm vi "không bao giờ trong phần cứng có thể hiểu được ngay cả với những tiến bộ không lường trước được".

đó là một thực tế tâm lý được ghi chép lại [3], có lẽ là một trong nhiều khuynh hướng tâm lý [2], rằng con người gặp khó khăn trong việc hiểu các con số về độ lớn này. xem thêm tư duy phản tác dụng . [4] trong khi siêu máy tính tính toán các vấn đề lớn, nó không gây tranh cãi trong phạm vi của bất kỳ siêu máy tính nào hiện đang được chế tạo hoặc có thể được chế tạo. (và nhiều người hâm mộ cờ vua sẽ tranh luận "vụ nổ tổ hợp" này trong khả năng di chuyển / vị trí là một khía cạnh nội tại của "hương vị" trò chơi dường như được thiết kếchủ ý trong trò chơi cũ kỹ.

do đó, cờ vua về cơ bản khác với một số trò chơi có không gian trạng thái "có thể giải quyết" nhỏ hơn [trong đó có một số nghiên cứu về khoa học máy tính & lý thuyết trò chơi, v.v.] và trong một số cách chính không thể được đánh giá trong khuôn khổ đó.

Allis cũng ước tính độ phức tạp của cây trò chơi ít nhất là 10123, "Dựa trên hệ số phân nhánh trung bình là 35 và thời lượng trò chơi trung bình là 80". Để so sánh, số lượng nguyên tử trong vũ trụ quan sát được, nó thường được so sánh, được ước tính là giữa4×10791081.

Bây giờ, điều đó nói rằng, có thể hiểu được (nhưng không thể) rằng có thể có những hiểu biết lý thuyết về trò chơi có thể được sử dụng để cắt tỉa không gian tìm kiếm đáng kể. điều đó đã xảy ra từ năm 1950 nhưng không thực sự theo bất kỳ cách đột phá cơ bản nào.

Xem thêm

[1] độ phức tạp tính toán của việc giải cờ, tcs.se là gì

[2] sự thiên vị của con người trong phán đoán và ra quyết định

[3] Sinh viên tâm lý học xuất bản nghiên cứu về khái niệm số

[4] tư duy phản tác dụng


Về lý thuyết, câu hỏi của tôi bắt đầu khi chúng ta nói rằng chúng ta có sức mạnh tính toán, chúng ta kết hợp một nửa máy tính trên thế giới để hoạt động như một cụm cho màu trắng và nửa còn lại cho màu đen ....
John Demetriou

1
anh bạn, nó giữ ngay cả khi kết nối mọi siêu máy tính hiện tồn tại hoặc tồn tại. Câu hỏi của bạn sau đó lên tới "về lý thuyết, nếu lý thuyết là sai ..." lý thuyết (bao gồm từ vật lý) về cơ bản nói rõ ràng bạn không thể tính toán (xa) nhiều đường hơn so với các nguyên tử trong vũ trụ, bây giờ hoặc trong tương lai .. .
vzn

3
đúng, nhưng câu hỏi bắt đầu với HÃY NÓI CHÚNG TÔI CÓ SỨC MẠNH, điều này có thể được thực hiện không? Đây là câu hỏi thực tế, nếu chúng ta có sức mạnh, liệu có thể có một thuật toán?
John Demetriou

+1 cho biết thực tế là không thể đạt được sức mạnh tính toán cần thiết để giải chính xác cờ vua. Ngoài ra, không biết tại sao tất cả -1 với câu trả lời này, tôi nghĩ rằng nó công bằng và thêm cái nhìn sâu sắc cho các câu trả lời khác.
Alejandro Piad
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.