Sự quyết định của mê cung fractal


17

Một mê cung fractal là một mê cung chứa bản sao của chính nó. Ví dụ, bài sau của Mark JP Wolf từ bài viết này :

Bắt đầu tại MINUS và tìm đường đến PLUS. Khi bạn nhập một bản sao nhỏ hơn của mê cung, hãy nhớ ghi lại tên chữ cái của bản sao đó, vì bạn sẽ phải để bản sao này trên đường ra. Bạn phải thoát ra khỏi mỗi bản sao mê cung mà bạn đã nhập vào, để lại theo thứ tự ngược lại mà bạn đã nhập chúng (ví dụ: nhập A, nhập B, nhập C, thoát C, thoát B, thoát A). Hãy nghĩ về nó như một loạt các hộp lồng nhau. Nếu không có lối thoát nào rời khỏi bản sao lồng nhau, bạn đã đi đến ngõ cụt. Màu sắc đã được thêm vào để làm cho các con đường rõ ràng hơn, nhưng nó chỉ là trang trí. Mê cung Fractal

Nếu một giải pháp tồn tại, chiều rộng tìm kiếm đầu tiên nên tìm một giải pháp. Tuy nhiên, giả sử không có giải pháp cho mê cung - thì chương trình tìm kiếm của chúng tôi sẽ chạy mãi mãi ngày càng sâu hơn.

Câu hỏi của tôi là: đưa ra một mê cung fractal, làm thế nào chúng ta có thể xác định nếu nó có một giải pháp hay không?

Hoặc cách khác, đối với một mê cung fractal có kích thước nhất định (số lượng đầu vào / đầu ra trên mỗi bản sao), có giới hạn về độ dài của giải pháp ngắn nhất không? (nếu có một ràng buộc như vậy, chúng ta chỉ có thể tìm kiếm sâu đến mức đó)


Sau khi đọc FAQ tôi không tin đây là. Đây có lẽ không phải là một câu hỏi khoa học máy tính lý thuyết cấp độ nghiên cứu. Xin lỗi để gửi sai chỗ. Ai đó có thể giới thiệu diễn đàn thích hợp để đặt câu hỏi này và / hoặc chuyển nó đến đó không?
Nick Alger


Tôi đã cân nhắc việc đăng bài trên math.stackexchange kể từ khi tôi tham gia ở đó, nhưng có vẻ hơi quá thuật toán-y. Tôi không biết rằng có một trao đổi ngăn xếp khoa học máy tính. Nếu người điều hành muốn chuyển nó đến một trong những nơi tôi không bận tâm.
Nick Alger

3
Tôi không rõ ràng rằng đây là chủ đề ngoài chủ đề ở đây ... rõ ràng các câu hỏi ngoài chủ đề thường nhận được nhiều lượt tải hơn so với số lượt lên
Joe

7
Bạn không thể đại diện cho bất kỳ mê cung fractal nào như một máy tự động đẩy xuống, trong đó ngăn xếp tương ứng với chuỗi các tiểu cảnh mà bạn đang ở? Sau đó, câu hỏi về độ hòa tan sẽ biến thành vấn đề trống rỗng cho các ngôn ngữ không ngữ cảnh, có thể quyết định được.
Peter Shor

Câu trả lời:


8

Một thuật toán không chính thức nhanh chóng để chứng minh rằng vấn đề là có thể quyết định:

  • giả sử có Đầu vào / Đầu ra I 1 , . . . Tôi n ;nI1,...In
  • xây dựng đồ thị trong đó mỗi I i , M I N U SP L U S là các nút và thay thế mỗi mê cung M j lồng nhau bằng một sơ đồ con K n (đồ thị hoàn chỉnh); thêm các cạnh giữa I i , M I N U S , P L U S , M j I k theo mê cung; giữ "bên ngoài" M j I iM jGIiMINUSPLUSMjKnIi,MINUS,PLUS,MjIk cạnh khác biệt với các cạnh "bên trong" tương ứngIiIkcủaMjlà một sơ đồ hoàn chỉnh;MjIiMjIkIiIkMj
  • liệt kê tất cả các đường dẫn từ MINUS đến PLUS trong (tránh chu kỳ);G
  • nếu bạn tìm thấy một đường dẫn không đi qua một bản sao lồng nhau, thì đó là một giải pháp; mặt khác mở rộng từng đường ngang "bên trong" của mê cung lồng nhau của mỗi đường dẫn:Mj

Giả sử rằng một đường dẫn trong phép liệt kê đầu tiên là , thì đường dẫn là một giải pháp hợp lệ nếu có một đường dẫn từ I iI j và từ I kI h trong mê cung ban đầu (đồ thị G ).MINUSAIiAIjBIkBIhPLUSIiIjIkIhG

AIiAIjBIkBIhIiIkIkIhG

IiIk...MIiMIk...Mn2

Ii


Ồ Thật là một ý tưởng thông minh. Tôi nghĩ rằng nó hoạt động nhưng nó vẫn còn hơi mờ trong tâm trí của tôi, vì vậy tôi sẽ mất một chút thời gian để nghiền ngẫm nó trước khi chấp nhận.
Nick Alger

Ok yep khá chắc chắn thuật toán này là chính xác. Ghi nhận xét của Peter Shor ở trên, tôi tự hỏi liệu bạn có thể xoay lại vấn đề này để cung cấp bằng chứng cho vấn đề quyết định sự trống rỗng ngôn ngữ không ngữ cảnh không ..? Đối với một vấn đề trống rỗng ngôn ngữ tự do bối cảnh nhất định, xây dựng một mê cung fractal tương đương, sau đó áp dụng thuật toán này.
Nick Alger

@Nick: Một mê cung fractal tương ứng với một máy tự động đẩy lùi có thể đảo ngược , trong đó nếu bạn có thể thực hiện chuyển đổi từ trạng thái S sang trạng thái T, bạn cũng có thể thực hiện chuyển đổi từ T sang S. trong thực tế tương đương với automata đẩy xuống đảo ngược. Có một định lý nói rằng (các yếu tố đa thức) máy Turing có thể đảo ngược có sức mạnh tương đương với máy Turing thông thường. Tôi không biết trước đây có ai đã nhìn vào automata đẩy lùi có thể đảo ngược hay không, vì vậy tôi không biết liệu có bất cứ điều gì được biết về họ hay không.
Peter Shor

@Peter: Tôi đã tìm thấy Tự động đẩy xuống đảo ngược này , nhưng định nghĩa của "đảo ngược" có vẻ khác nhau. (PS xin chúc mừng vì cách giải thích đơn giản và gọn gàng của một mê cung fractal như một chiếc máy !!!)
Marzio De Biasi

1
2n2IkIj IjIk

1

Đây không phải là "câu trả lời" cho câu hỏi của tôi, mà là một nhận xét mở rộng mà mọi người ở đây có thể thấy thú vị.

Tôi khẳng định rằng có một định nghĩa "kiểu phân tích" tự nhiên về mê cung và giải pháp, và nó khác với định nghĩa lý thuyết khoa học máy tính / đồ thị mà chúng ta đã sử dụng ở đây. Cụ thể, bạn có thể có một mê cung fractal có "giải pháp" theo định nghĩa phân tích, nhưng sẽ được tuyên bố không thể giải quyết bằng thuật toán của Marizio De Biasi và kỹ thuật tự động đẩy xuống của Peter Shor.

MMR2s,eMf:[0,T]Mf(0)=sf(T)=e

Bây giờ hãy xem xét đường cong Hilbert :

Hilbert đường cong gif từ wikipedia

Người ta có thể giải thích đường cong này là một "mê cung fractal" với sơ đồ sau: nhập mô tả hình ảnh ở đây

P

P=APA1BPB1CPC1DPD1

Bây giờ bạn có thể lập luận rằng đây không phải là tinh thần của các mê cung fractal vì đường cong Hilbert lấp đầy toàn bộ hình vuông và do đó bạn chỉ có thể vẽ một đoạn thẳng từ đầu đến cuối. Sự phản đối này dễ dàng bị ghi đè mặc dù - chỉ cần sử dụng biểu đồ đường cong hilbert nhúng trực tiếp, như được hiển thị ở đây:

nhập mô tả hình ảnh ở đây

Điều này cũng chứa một chuỗi các đường liên tục hội tụ đồng đều đi từ đầu đến cuối, bởi cùng một đối số được sử dụng để hiển thị sự hội tụ thống nhất của đường cong Hilbert. Tuy nhiên, đó là một "mê cung fractal" thực sự theo nghĩa là nó không lấp đầy toàn bộ không gian.

Do đó, chúng ta có một mê cung fractal có thể giải được bằng định nghĩa phân tích, nhưng không thể giải được bằng định nghĩa lý thuyết đồ thị ..!?

Dù sao, tôi khá chắc chắn logic của tôi là đúng, nhưng nó có vẻ phản trực giác nên nếu ai đó có thể làm sáng tỏ điều này tôi sẽ đánh giá cao nó.


Một nhận xét ngây thơ: "các phần phụ" của đường cong Hilbert nhỏ hơn, do đó, trong "thế giới liên tục", nó hoạt động; trong "thế giới riêng biệt", bạn sẽ không bao giờ thực hiện một "lối thoát" nào vì bạn tiếp tục bước vào phần chìm đầu tiên (giống như phóng to vô tận ở phía dưới bên trái của đường cong Hilbert). Nó giống như nghịch lý của Zeno
Marzio De Biasi

2
PS Tôi nghĩ rằng không cần đường cong fractal: một đường ngang đơn giản từ s đến f với một đường dẫn trung tâm duy nhất (có một đường ngang duy nhất với một subc subaze ecc. Ecc.) Dẫn đến những cân nhắc tương tự.
Marzio De Biasi

Điểm tốt. Nếu bạn làm điều đó với một hộp phụ có chiều rộng 1/2 được đặt ở phía bên phải, nó không giống như nghịch lý của zeno, bạn sẽ nhận được chính xác nghịch lý zenos. Sau khi xem xét thêm, có vẻ như định nghĩa liên tục không phù hợp với mê cung fractal vì nó làm cho hầu hết mọi mê cung fractal đều có thể giải quyết được.
Nick Alger

nhưng nó rất phù hợp với thiền thiền mê cung (Google xung quanh về sự khác biệt giữa mê cung và mê cung trong bối cảnh thiề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.