Phép thuật: Turing Gathering hoàn thành?


24

Một câu hỏi rất cụ thể, tôi biết và tôi nghi ngờ nó sẽ được trả lời bởi bất kỳ ai chưa quen thuộc với các quy tắc của Phép thuật. Đăng chéo lên Draw3Cards . Dưới đây là các quy tắc toàn diện cho trò chơi Magic: the Gathering . Xem câu hỏi này để biết danh sách tất cả các Thẻ ma thuật. Câu hỏi của tôi là - trò chơi Turing Complete?

Để biết thêm chi tiết, xin vui lòng xem bài viết tại Draw3Cards .


1
(1) Đầu vào là gì? Bạn có cho rằng bạn biết nội dung và thứ tự các thẻ trong cả hai sàn của người chơi không? (2) Để phân tích độ phức tạp của nó, một vấn đề phải có vô số đầu vào có thể. Ví dụ: chúng ta không thể nói rằng cờ vua đã hoàn thành EXP (ngay cả khi chúng ta nói như vậy, điều đó có nghĩa là việc khái quát hóa cờ vua cho một ván n × n là hoàn thành EXP). Làm thế nào để bạn khái quát trò chơi? (3) Trò chơi có thể quá phức tạp để phân tích sự phức tạp của nó, nhưng tôi không biết.
Tsuyoshi Ito

1
@Daniel: Cảm ơn. Trên thực tế tôi cũng đã kiểm tra nó, nhưng tôi không chắc có ai muốn phân tích trò chơi trong đó mỗi thẻ trừ thẻ đất được giới hạn tối đa 4 bản và chỉ số lượng thẻ đất mới có thể phát triển.
Tsuyoshi Ito

1
@Daniel: Không chắc logic có hoạt động theo cách đó không vì có một số loại thẻ đất khác nhau. Rốt cuộc, bản thân trò chơi gốc có thể đủ phức tạp để hoàn thành Turing. Điều tôi không chắc là liệu người hỏi có thực sự muốn phân tích trò chơi hay không, trong đó hầu như tất cả các thẻ trong một cỗ bài đều nhất thiết phải là thẻ đất. Tôi sẽ đợi người hỏi trả lời.
Tsuyoshi Ito

4
@Daniel: Đó không phải là một sự phản đối hợp lý! Hầu hết các giảm độ cứng cho trò chơi đều tạo ra thứ gì đó trông giống như giảm hơn so với trò chơi gốc. (Chẳng hạn, chu kỳ Hamilton không phát sinh tự nhiên trong bản nháp.)
Jeffε

1
@Tsuyoshi - Tôi nghĩ rằng sẽ hỏi liệu Magic có thể quyết định được không. Để câu hỏi này có ý nghĩa, bạn có thể giả sử thông tin hoàn hảo - tất cả các thư viện và bàn tay đều được tiết lộ, và tất cả các lần tung đồng xu ngẫu nhiên và tương tự đều được xác định trước. Có thể xác định từ mọi vị trí Phép thuật ai là người chiến thắng?
ripper234

Câu trả lời:


21

Alex Churchill (@AlexC) đã đăng một giải pháp không cần sự hợp tác giữa những người chơi, mà là mô hình hóa việc thực hiện hoàn chỉnh một máy Turing phổ dụng với hai trạng thái và 18 biểu tượng băng. Để biết chi tiết, xem https://www.toothycat.net/~hologram/Turing/ [ archive ].


1
Các liên kết là chết cho tôi. Chúng ta có nên tạo lại giải pháp trong câu trả lời để được hoàn thành?
Artem Kaznatcheev

1
Giải pháp đang được lưu trữ tại răngycat.net/~hologram/Turing trong thời điểm này.
AlexC

15

Ok, tôi có một giải pháp tránh vấn đề bỏng mana mà tôi gặp phải. Đây là một loại hack, vì tôi cần phải đưa ra giả định rằng người chơi có thể xác định các vùng đất cụ thể, điều mà tôi không nghĩ là bị xử lý theo quy tắc. Trong thực tế đây là trường hợp, vì chúng có thể được sắp xếp theo một dòng dựa trên thứ tự mà chúng được chơi.

Đầu tiên, mô tả đầy đủ về vấn đề từ trang Draw3Cards:

Một câu trả lời tích cực sẽ bao gồm các thành phần này:

  1. Một chức năng tính toán fM từ Turing Machines đến các sàn Magic được đặt hàng (trong đó thứ tự của thư viện có vấn đề)
  2. Hai chiến lược xác định và tính toán được xác định rõ để chơi Magic (không phụ thuộc vào bộ bài). Hãy gọi chúng là Chiến lược TS (Chiến lược Turing) và Chiến lược IS (Chiến lược đầu vào).
  3. Một cách tính toán fI để mã hóa bất kỳ chuỗi số 0 và số nào dưới dạng tầng đầu vào Magic. Một cách như vậy là lấy số lượng chuỗi của Gdel và đặt càng nhiều đảo trong tầng Đầu vào.

Điều kiện bổ sung cần được thỏa mãn là: Đưa ra Turing Machines TM, chúng ta hãy xem xét kết quả của trò chơi Magic giữa chiến lược TS chơi với boong fM (TM) so với chiến lược TI chơi với boong fI (I), khi các thư viện không xáo trộn trước khi trò chơi bắt đầu. Trò chơi này nên được người chơi đầu tiên giành chiến thắng khi và chỉ khi TM (I) = true.

Vì vậy, đây là ý tưởng. Chúng tôi có 2 người chơi, A và B. B sẽ cung cấp đầu vào, trong khi A sẽ trực tiếp triển khai máy Turing. Các bộ bài sẽ được cấu tạo gần như hoàn toàn bằng đất, nhưng cũng có thẻ Gemstone Array để vô hiệu hóa mana burn. A sẽ có 3 loại đất: Quần đảo, Núi và Rừng. Ý tưởng cơ bản là sử dụng đất khai thác để đại diện cho 1 và đất chưa được khai thác để đại diện cho 0. Quần đảo sẽ được sử dụng để đại diện cho trạng thái của băng, Núi để lập chỉ mục vị trí hiện tại dọc theo băng và Rừng để thể hiện trạng thái bên trong của 24 biểu tượng trạng thái 2 Máy Turing (tôi tin rằng có một cái phổ quát do Rogozhin).

25=32>242m+1

25=32>242m+1

Chiến lược: Cả A và B đều chơi một lượt một lượt theo thứ tự mà chúng được rút ra. Khi mỗi người rút được 4 khu rừng, họ chơi Gemstone Artifact. Lưu ý A đi trước, vì vậy đã có Đảo khi B rút phát thẻ đầu vào đầu tiên của mình.

A và B chỉ cần tiếp tục đặt các thẻ của mình theo thứ tự cho đến khi B cạn kiệt Đồng bằng và Đầm lầy và chơi Đảo đầu tiên của họ. Trong lần đi tiếp theo của anh ấy, A cho tất cả những gì tôi chạm vào Đảo thứ i của mình, đó là Vùng đất đầu vào là một đầm lầy. A khởi tạo cỗ máy săn mồi của mình bằng cách chạm vào Rừng và Núi đầu tiên của mình. Nếu anh ta khai thác được một số lượng thẻ bài lẻ, anh ta khai thác thêm forrest của mình và sử dụng tất cả mana này để thêm mã thông báo vào Gemstone Array. Từ đây, vở kịch được tiến hành như sau: B sử dụng lượt của mình để phản ánh trạng thái mana của A. B chạm vào vùng đất đầu vào của mình i Đảo A được khai thác. Tương tự B gõ vào rừng thứ i của mình (Núi) iff Rừng thứ i (Núi) được khai thác. Vì A luôn khai thác số lượng thẻ chẵn, B cũng vậy và mana được sử dụng để thêm mã thông báo vào Gemstone Array.

Đến lượt của A, tất cả mana của A trở nên chưa được khai thác, vì vậy A nhìn vào trạng thái mana của B, đại diện cho trạng thái mana của A ở lượt trước. A áp dụng quy tắc chuyển đổi theo máy vạn năng (24,2) sang trạng thái B để có trạng thái mới.

Chơi tiến hành theo cách này cho đến khi máy turing dừng lại. Tại thời điểm này, A đặt các ngọn núi của mình vào trạng thái "đã hoàn thành" dành riêng (trạng thái chưa được khai thác). Nếu máy Turing tạm dừng ở trạng thái chấp nhận, B sẽ sao chép trạng thái của các ngọn núi A, nhưng khai thác tất cả phần đất còn lại của chúng mà bỏ qua việc sử dụng mảng Đá quý, do đó bắt đầu quá trình tự sát bằng cách đốt cháy mana. Đến lượt của A, nếu các ngọn núi của B ở trạng thái "đã hoàn thành" và tất cả các vùng đất khác của B bị khai thác, A chỉ đơn giản là không làm gì (lưu ý rằng các ngọn núi của anh ta sẽ tự động ở trạng thái "hoàn thành"). Nếu các ngọn núi của A ở trạng thái hoàn thành, nhưng không có gì khác bị khai thác, B tiếp tục tự sát bằng cách đốt mana. Điều này được lặp lại cho đến khi B chết.

Tuy nhiên, nếu máy kết thúc ở trạng thái từ chối, B sẽ để tất cả các thẻ của chúng chưa được khai thác. Nếu tất cả các thẻ của B chưa được khai thác, A khai thác tất cả các thẻ của mình, bắt đầu quá trình tự tử bằng cách đốt mana. Nếu tất cả các thẻ không phải Núi của A đều được khai thác và các ngọn núi chưa được khai thác, B sẽ để lại tất cả các thẻ của chúng chưa được khai thác. Điều này sẽ khiến A tiếp tục tự tử mana cho đến khi anh ta thua trò chơi.

Điều này sẽ đáp ứng các tiêu chí được yêu cầu trong câu hỏi và do đó khi lệnh này được cho phép, tôi tin rằng trò chơi đã hoàn thành Turing theo nghĩa được mô tả trong câu hỏi.


2
Mát mẻ. Một suy nghĩ thêm: Miễn là bất kỳ người chơi nào chạm hơn 1 vùng đất mỗi lượt, bạn có thể sử dụng các khoản phí trên Mảng Đá quý để tránh bị cháy mana. Ví dụ: nếu tôi cần khai thác 3 vùng đất, tôi biến hai mana thành một khoản phí, dành phí để tạo ra một mana, sau đó dành hai mana còn lại để tạo ra một khoản phí mới. - tất nhiên, bạn đã giải quyết vấn đề này rồi. :)
Daniel Apon

2
Đáng tiếc! Cũng có thể mô phỏng máy 2 quầy dễ dàng hơn (sử dụng các loại mana khác nhau làm máy đếm) thay vì mô phỏng trực tiếp máy Turing: en.wikipedia.org/wiki/
Lỗi

3
Việc bạn giảm cũng ngụ ý rằng phép thuật (hợp tác) với số lượng thẻ hữu hạn là PSPACE-hard.
Jeffε

3
@Joe - không còn mana burn trong Magic. Bạn có thể sử dụng Platinum Angel để tránh bị mất do hết thẻ trong nghĩa địa của bạn.
ripper234

1
@Joe - bạn đã bỏ lỡ nhận xét của tôi trước đó rằng khái niệm mana burn đã bị loại bỏ hoàn toàn khỏi các quy tắc. Bạn có thể sửa nó bằng cách cho mỗi người chơi có một bản sao Fireball trong bộ bài của mình.
ripper234

7

Alex Churchill, Stella Biderman và Austin Herrick đã xuất bản bài báo này cho thấy Magic là Turing Complete

Tóm tắt Magic Magic: The Gathering là một trò chơi thẻ bài phổ biến và nổi tiếng phức tạp về chiến đấu ma thuật. Trong bài báo này, chúng tôi chỉ ra rằng chơi tối ưu trong Ma thuật trong thế giới thực ít nhất cũng khó như Bài toán dừng, giải quyết một vấn đề đã được mở trong một thập kỷ [1], [10]. Để làm điều này, chúng tôi trình bày một phương pháp để nhúng một máy Turing tùy ý vào một trò chơi Phép thuật để người chơi đầu tiên được đảm bảo chiến thắng trò chơi nếu và chỉ khi máy Turing tạm dừng. Kết quả của chúng tôi áp dụng cho cách chơi Magic thực sự, có thể đạt được bằng cách sử dụng các sàn hợp pháp giải đấu có kích thước tiêu chuẩn và không phụ thuộc vào thông tin ngẫu nhiên hoặc thông tin ẩn. Kết quả của chúng tôi cũng rất bất thường ở chỗ tất cả các động tác của cả hai người chơi đều bị ép buộc trong quá trình xây dựng. Điều này cho thấy ngay cả việc nhận ra ai sẽ thắng một trò chơi trong đó không có người chơi nào có quyết định không tầm thường để đưa ra cho phần còn lại của trò chơi là không thể quyết định được. Chúng tôi kết thúc với một cuộc thảo luận về ý nghĩa của một lý thuyết tính toán thống nhất về các trò chơi và nhận xét về khả năng chơi của một bảng như vậy trong một giải đấu.

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.