Chiến lược giành chiến thắng của một trò chơi bị loại bỏ cạnh hoặc đỉnh bị cô lập


11

Là trò chơi thông tin hoàn hảo này chơi trên đồ thị biết / nghiên cứu?

Cho một đồ thị G=(V,E) , hai người chơi thay thế chọn một cạnh hoặc một nút bị cô lập. Nếu người chơi chọn một cạnh e=(u,v) , hai nút uv sẽ bị xóa cùng với các cạnh sự cố của chúng. Nếu người chơi chọn một nút bị cô lập, nút đó sẽ bị xóa. Người chơi đầu tiên không thể di chuyển thua trò chơi.

Sự phức tạp của việc tìm kiếm người chiến thắng là gì?

Bất kỳ tài liệu tham khảo cho các trò chơi tương tự?


1
Tôi giả sử nút bị cô lập được gỡ bỏ nếu được chọn? Nếu vậy, người chơi 0 cũng chiến thắng trên tất cả các đường không trống bằng cách sử dụng bước di chuyển đầu tiên chia vấn đề thành hai thành phần bằng nhau và sau đó phản chiếu đối thủ di chuyển trên thành phần ngược lại từ đó trở đi để duy trì sự đẳng cấu. Điều này ngụ ý người chơi 1 thắng trên một chu kỳ, vì nước đi đầu tiên làm giảm vấn đề thành một đường dẫn.
Yonatan N

2
@YonatanN: có một nút bị cô lập có thể được chọn (và loại bỏ); nhưng chiến lược mô phỏng hoạt động trên các đường có độ dài chẵn (người chơi 0 chọn 2 nút trung tâm làm bước di chuyển đầu tiên, sau đó phản chiếu các bước di chuyển của người chơi 1), nhưng không phải trên các đường có độ dài lẻ: hãy thử áp dụng chiến lược cho đường có độ dài 11, và nó không hoạt động (thực sự đối với đường dẫn dài 11, người chiến thắng là người chơi 1).
Marzio De Biasi

5
@Marzio De Biasi: Tôi xin lỗi nhưng khi tôi chơi những trò chơi hay, tôi thường chơi bằng tay. Trừ khi tôi mắc lỗi, người chơi 0 không có chiến lược chiến thắng: Quan sát rằng: a) cho P1, P2, P5 và P8, người chơi 0 luôn thắng. b) đối với P3 và P7, người chơi 1 luôn thắng. c) đối với P4 và P6, người chơi 0 có thể quyết định thắng hoặc thua. Bây giờ trong trường hợp P11: - Đánh số các nút của P11 bằng v1, v2, ... v11. - Người chơi 0 lấy cạnh v9, v10 và phần còn lại là nút cô lập v11 và P8. Nếu người chơi 1 lấy v11, người chơi 0 sẽ thắng vì anh ta có đường dẫn chẵn. Nếu không, người chơi 0 sẽ thắng bằng a), b) và c).
dùng13136

1
Theo chương trình của tôi , các giá trị của n≤100 sao cho người chơi đầu tiên thua trong trò chơi trên đường có n đỉnh là 3, 7, 23, 27, 37, 41, 57, 61, 71, 75, 91 và 95. Thật không may, tôi không thấy bất kỳ mô hình nào ngoài việc là số lẻ (đã được biết đến) và OEIS không hiển thị bất kỳ kết quả khớp nào.
Tsuyoshi Ito

1
@TsuyoshiIto: ... lấy sự khác biệt theo cặp: (3 7) (23 27) (37 41) (57 61) (71 75) (91 95) và bạn nhận được 4 4 4 4 4 4 ... có vẻ như mẫu :-) .... (3 ... 23) ... (37 ... 57) ... (71 ... 91) và bạn nhận được 20 20 20 ... một số khác! :-D
Marzio De Biasi

Câu trả lời:


2

Tôi đăng một bản cập nhật dưới dạng tự trả lời chỉ để giữ cho nó khác biệt với câu hỏi ( vẫn còn mở ).

Như thể hiện trong các bình luận (nhờ Tsuyoshi Ito), vấn đề là thời gian đa thức có thể giải quyết được cho các đường dẫn:

Win(Pn)=1(nmod34){3,7,23,27}

Bắt đầu từ 0, chuỗi (được tính) của các giá trị nim là định kỳ:

0,1,1,0,2,1,3,0,1,1,3,2,2,3,4,1,5,3,2,2,3,1,1,0,3,1,2,0,1,1,4,4,2,6,
4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,5,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,6,
4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,5,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,6,
...
the subsequence rseq of length 34:
4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,5,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,6
is repeated

Tôi đã không làm việc trên một bằng chứng toán học nghiêm ngặt, nhưng ý tưởng là:

giả sử rằng chúng ta muốn tính phần tử , sau đó di chuyển đầu tiên (chọn một cạnh) có thể phân chia đường dẫn theo các cách khác nhau (n-2,0), (n-3, 1), (n-4.2), ...). Giá trị nim mới bằng:Win(Pn),n=k34+x(k4,0x<34)n/2

mex{Pn2+P0,Pn3+P1,...,Pn/2+Pnn/2}

34 phần tử đầu tiên của tập hợp được tạo bởi chuỗi không lặp lại đầu tiên (0,1,1,0, ...) (nim) được tổng hợp với các phần tử của trình tự lặp lại theo thứ tự ngược bắt đầu từ phần tử .(342x)mod34

Ví dụ: cho :x=0

     0,1,1,0,2,1,3,0,1,1,3,2,2,3,4,1,5,3,2,2,3,1,1,0,3,1,2,0,1,1,4,4,2,6 +
     3,4,4,1,1,0,2,1,3,0,1,1,3,2,2,7,5,4,4,3,2,2,3,1,1,0,3,1,2,0,1,1,4,6 =
mex{ 3,5,5,1,3,1,1,1,2,1,2,3,1,1,6,6,0,7,6,1,1,3,2,1,2,1,1,1,3,1,5,5,6,0 } = 4

Với x = 0..33, chuỗi mex kết quả bằng với chuỗi lặp lại:

4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,5,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,6

Các phần tử còn lại của tập hợp chỉ được tính toán trên (các) trình tự lặp lại: (đối với các cặp được lặp lại, vì vậy họ không thay đổi kết quả mex). Chuỗi mex kết quả cho x = 0..33 là:rseq[jmod34]+rseq[(342xj)mod34]j34

4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,4,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,4,

Điều này bằng với trình tự lặp lại ngoại trừ và ; nhưng các giá trị thấp hơn mex tương ứng trên chuỗi không lặp lại, vì vậy:x=16x=33

mex{Pn2+P0,Pn3+P1,...,Pn/2+Pnn/2} =mex{Pn2+P0,Pn3+P1,...,Pn233+P33}

và cho ,(k4,0x<34)Win(Pk34+x)=Win(P34+x)=Win(Px)


Theo tính toán của tôi, người chơi đầu tiên có chiến lược chiến thắng cho , đưa ra ví dụ ngược lại cho yêu cầu của bạn iff . P23Win(Pn)=1(nmod34){3,7,23,27}
user13136

@ user13136: bạn đã kiểm tra các giá trị nim chưa? Đối với , giá trị nim là 0 (Tôi đã nhận cùng giá trị của Tsuyoshi với một chương trình khác, nhưng có lẽ cả hai chúng tôi đều sai). P23
Marzio De Biasi

Tôi nghĩ rằng một lỗ hổng có thể có trong các chương trình của bạn có thể là việc bỏ qua , trong trường hợp đó, người chơi đầu tiên luôn thua. Nếu bạn muốn, chúng ta có thể chơi trường hợp ngay bây giờ. P0P23
user13136

Xin lỗi, tôi phải đi ngay bây giờ.
user13136

(n17,n18)(n5,n6)(n11,n12)(n1,n2) (bạn có thể xóa các nhận xét trước đó có chứa các di chuyển)
Marzio De Biasi
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.