Một phiên bản đơn giản của trò chơi thẻ Người chiến thắng


9

Tôi đã hỏi vấn đề này trong MathOverflow , mà không có câu trả lời thỏa đáng nào.

Hãy xem xét trò chơi hai người chơi sau đây, đây là một trò chơi đơn giản hóa có tên là Người chiến thắng . (Công thức sau đây được lấy từ một nhận xét của Guillaume Brunerie trên MathOverflow.)

Có hai người chơi A và B. Mỗi người chơi có một bộ thẻ (một tập hợp con ), có thể nhìn thấy từ cả hai người chơi. Mục đích của trò chơi là loại bỏ các thẻ riêng của nó. Người chơi đầu tiên chơi bất kỳ thẻ nào trên bàn, sau đó người chơi khác phải chơi một thẻ lớn hơn (nghiêm ngặt), và cứ như vậy cho đến khi một trong những người chơi không thể chơi hoặc quyết định vượt qua. Sau đó, các thẻ trên bàn sẽ bị loại bỏ và người chơi khác bắt đầu lại bằng cách chơi bất kỳ thẻ nào (sẽ được theo sau bởi một thẻ lớn hơn). Và cứ như vậy cho đến khi một trong hai người chơi hết thẻ và giành chiến thắng trong trò chơi.{1,,n}

Tôi muốn biết chiến lược tốt nhất cho các cầu thủ (nếu anh ta có thể giành chiến thắng).

Định nghĩa chính thức

Biểu thị bằng cấu hình của trò chơi trong đó bộ thẻ của người chơi thứ nhất là , bộ thẻ của người chơi thứ hai là và thẻ lớn nhất trên bàn là , trong đó có nghĩa là không có thẻ trên bàn. Tôi muốn một thuật toán để tính toán, đưa ra , cho dù người chơi đầu tiên có chiến lược chiến thắng trong cấu hình .w(i,A,B)ABii=0i,A,Bw(i,A,B)

Chính thức, tôi muốn một thuật toán để tính hàm được định nghĩa như sau:f

Đặt , .Zn={1,2,,n}Bool={False,True}

Hàmf:{0,1,,n}×2Zn×2ZnBool

trong đó

f(i,A,B)={FalseB=TrueBjA:j>i,f(j,B,A{j})=FalseTrueBf(0,B,A)=FalseFalseotherwise

Chiến lược sai

Dưới đây là một số chiến lược sai:

  1. Luôn chơi bài nhỏ nhất. Đặt , chiến lược chiến thắng cho người chơi A trong cấu hình là chơi bài . Nếu người chơi A chơi bài 1, anh ta sẽ thua.n=3,A={1,3},B={2}w(0,A,B)3
  2. Chơi thẻ nhỏ nhất trừ khi người chơi khác chỉ có một thẻ. Đó là một chiến lược mạnh hơn chiến lược 1, nhưng nó cũng sai. Chỉ nghĩ về cấu hình . Nếu người chơi A sử dụng chiến lược 2, anh ta sẽ thua: , do đó người chơi A thua.w(0,{1,4,6,7},{2,3,5,8})124568pass3

6
Câu hỏi này rất thú vị, nhưng hãy cố gắng làm cho nó dễ đọc nhất có thể. Ví dụ, bạn không cần phải sao chép nguyên văn nhận xét của Guillaume Brunerie bao gồm cả phần mềm Tôi nghĩ đó là phần A nên được người chơi biết đến, một phần khác với giả định trong câu hỏi của bạn và chỉ có thể khiến độc giả nhầm lẫn. Ngoài ra, vui lòng xem xét để loại bỏ công thức đầu tiên trong ba công thức: công thức thứ hai mang đến sự hiểu biết trực quan, công thức thứ ba đưa ra định nghĩa chính thức và tôi không nghĩ rằng công thức đầu tiên phục vụ bất kỳ mục đích nào.
Tsuyoshi Ito

5
Có thể cách tốt nhất để phân tích điều này là viết một chương trình chỉ ra các bước di chuyển tối ưu cho bất kỳ vị trí nào và tìm kiếm các mẫu. Không có lý do tiên nghiệm rằng trò chơi này nên có một chiến lược tốt đẹp.
Peter Shor

2
Tôi sẽ bắt đầu cho một chiến lược với một số lượng nhỏ thẻ và làm việc từ đó. Ví dụ: nếu mỗi người chơi có 2 thẻ thì người chơi nào có thẻ cao nhất sẽ thắng, bất kể người chơi nào có lượt tiếp theo. Anh ta chơi lá bài cao nhất, người chơi khác phải vượt qua, sau đó anh ta chơi lá bài cuối cùng của mình.
Joe

Ai đó có thể giúp tôi mô tả lại phân tách của GB để theo dõi phần tái bút 1 không? Tôi cảm thấy tiếc vì tôi không phải là người bản ngữ và việc mô tả trò chơi phức tạp như vậy nằm ngoài khả năng của tôi.
Yai0Phah

1
@Tsuyoshi: Nếu người chơi A luôn chơi bài nhỏ nhất, người chơi B thắng. Nếu người chơi A chơi bài 1 và không phải lúc nào cũng chơi bài nhỏ nhất, người chơi A có thể thắng. Điều này có nghĩa là có một ví dụ nhỏ hơn cho chiến lược 2 luôn chiến thắng.
Peter Shor

Câu trả lời:


4

Đây có lẽ nên là một bình luận, nhưng nó quá dài.

Một trò chơi liên quan đã được nghiên cứu bởi Jeff Kahn, Jeff Lagarias và Hans Witsenhausen, trong loạt bài viết Thẻ đơn hai người chơi I, II, IIITrò chơi bài trên Laskar. Trong trò chơi mà họ nghiên cứu, mỗi người chơi có thẻ, được xử lý từ thẻ được đánh số . Mỗi thủ thuật bao gồm hai thẻ, thẻ cao hơn sẽ thắng được mẹo và người chiến thắng dẫn đầu. Đối tượng là để có nhiều thủ đoạn nhất.n2n1 2n

Họ đã chứng minh một số sự thật thú vị về chiến lược tối ưu, nhưng không thể tìm thấy một thuật toán hiệu quả để chơi tối ưu, và cũng không thể chứng minh rằng đó là NP-hard.

Đối với trò chơi misère , nơi mỗi người cố gắng thực hiện một số ít thủ thuật nhất, họ có thể đưa ra chiến lược tối ưu.

Đối với hầu hết các phần, những kết quả này thu được bằng cách đầu tiên nhìn vào kết quả của một chương trình máy tính tìm ra chiến lược tối ưu cho các trường hợp nhỏ, sau đó tìm kiếm các mẫu để có được các phỏng đoán và cuối cùng chứng minh các phỏng đoán này. Tôi nghi ngờ rằng đây cũng sẽ là một cách tiếp cận hiệu quả cho trò chơi của OP.

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.