Decidability dari labirin fraktal

17

Labirin fraktal adalah labirin yang berisi salinan dirinya sendiri. Misalnya, yang berikut oleh Mark JP Wolf dari artikel ini :

Mulailah di MINUS dan lanjutkan ke PLUS. Saat Anda memasukkan salinan labirin yang lebih kecil, pastikan untuk mencatat nama surat salinan itu, karena Anda harus meninggalkan salinan ini di jalan keluar. Anda harus keluar dari setiap salinan labirin bersarang yang telah Anda masukkan, meninggalkan dalam urutan terbalik yang Anda masukkan (misalnya: masukkan A, masukkan B, masukkan C, keluar C, keluar B, keluar A). Anggap saja sebagai serangkaian kotak bersarang. Jika tidak ada jalur keluar yang meninggalkan salinan bersarang, Anda telah menemui jalan buntu. Warna telah ditambahkan untuk membuat jalur lebih jelas, tetapi hanya dekoratif. Labirin Fraktal

Jika ada solusi, pencarian pertama harus menemukan solusi. Namun, misalkan tidak ada solusi untuk labirin - maka program pencarian kami akan berjalan selamanya semakin dalam dan semakin dalam.

Pertanyaan saya adalah: diberi labirin fraktal, bagaimana kita dapat menentukan apakah ia memiliki solusi atau tidak?

Atau sebagai alternatif, untuk labirin fraktal dari ukuran yang diberikan (jumlah input / output per salinan), apakah ada batas panjang solusi terpendek? (Jika ada ikatan seperti itu, kita hanya bisa mencari sedalam itu secara eksotis)

Nick Algeria
sumber
Setelah membaca FAQ saya tidak percaya ini milik. Ini mungkin bukan pertanyaan sains komputer teoretis tingkat penelitian. Maaf memposting di tempat yang salah. Bisakah seseorang merekomendasikan forum yang tepat untuk mengajukan pertanyaan ini dan / atau memindahkannya ke sana?
Nick Alger
Saya mempertimbangkan untuk memposting di math.stackexchange sejak saya berpartisipasi di sana, tapi sepertinya terlalu algoritma-y. Saya tidak tahu bahwa ada pertukaran stack ilmu komputer. Jika moderator ingin memindahkannya ke salah satu tempat itu saya tidak keberatan.
Nick Alger
3
Tidak jelas bagi saya bahwa ini di luar topik di sini ... pertanyaan yang jelas di luar topik biasanya mendapatkan lebih banyak downvotes daripada upvotes
Joe
7
Tidak bisakah Anda menggambarkan labirin fraktal sebagai automat pushdown, di mana tumpukan sesuai dengan urutan submazes yang Anda masuki? Kemudian pertanyaan kelarutan akan berubah menjadi masalah kekosongan untuk bahasa bebas konteks, yang dapat ditentukan.
Peter Shor

Jawaban:

8

Algoritme informal cepat untuk membuktikan bahwa masalahnya dapat ditentukan:

  • misalkan ada Input / Output I 1 , . . . Saya n ;nI1,...In
  • buat grafik mana setiap I i , M I N U S dan P L U S adalah node, dan ganti setiap labirin bersarang M j dengan subgraph K n (grafik lengkap); tambahkan tepi antara I i , M I N U S , P L U S , M j I k sesuai dengan labirin; pertahankan "extern" M j I IM jGIiMINUSPLUSMjKnIi,MINUS,PLUS,MjIk edge berbeda dari edge "internal" yang bersesuaianIiIkdariMjsebagai subgraf lengkap;MjIiMjIkIiIkMj
  • sebutkan semua jalur dari MINUS ke PLUS dalam (menghindari siklus);G
  • Jika Anda menemukan jalur yang tidak melintasi salinan bersarang, maka itu adalah solusi; jika tidak perluas setiap jalur "internal" dari labirin bersarang dari setiap jalur:Mj

Misalkan lintasan dalam enumerasi pertama adalah , maka path adalah solusi yang valid jika ada jalur dari I iI j dan dari I kI h di labirin asli (grafik G ).MINUSAIiAIjBIkBIhPLUSIiIjIkIhG

Jadi kita harus memperluas dengan dan B aku kB I h traversals pencacahan semua jalan dari saya saya untuk saya k dan dari saya k ke saya h di G .SEBUAHsayasayaSEBUAHsayajBsayakBsayahsayasayasayaksayaksayahG

Loop tak terbatas terdeteksi ketika kita pencacahan semua jalur dari ke saya k dalam perluasan jalan yang dalam tahap sebelumnya sudah terkandung . . . M I iM I k. . . untuk beberapa submaze M (hanya ada n 2 ekspansi yang mungkin).sayasayasayak...M.sayasayaM.sayak...M.n2

Sebuah solusi ditemukan jika kita menemukan perluasan jalur yang hanya berisi input / output ; labirin tidak punya solusi jika kita tidak bisa memperluas jalur tanpa loop.sayasaya

Marzio De Biasi
sumber
Wow! Ide yang cerdas. Saya pikir ini bekerja tetapi masih sedikit kabur di pikiran saya, jadi saya akan mengambil sedikit waktu untuk merenungkannya sebelum menerimanya.
Nick Alger
Ok ya cukup yakin algoritma ini benar. Memperhatikan komentar Peter Shor di atas, saya bertanya-tanya apakah Anda dapat membalikkan keadaan ini untuk memberikan bukti bagi masalah kepantasan kekosongan bahasa bebas konteks ..? Untuk masalah kekosongan bahasa konteks gratis, buat labirin fraktal yang setara, lalu terapkan algoritma ini.
Nick Alger
@ Nick: Sebuah fraktal labirin sesuai dengan reversibel pushdown robot, di mana jika Anda dapat membuat transisi dari keadaan S ke keadaan T, Anda juga dapat membuat transisi dari T ke S. Ini harus mudah untuk menunjukkan bahwa labirin fraktal adalah sebenarnya setara dengan automata pushdown reversibel. Ada teorema yang mengatakan bahwa (hingga faktor polinomial) mesin Turing reversibel memiliki kekuatan yang sama dengan mesin Turing biasa. Saya tidak tahu apakah ada yang melihat automata pushdown reversibel sebelumnya, jadi saya tidak tahu apakah ada yang diketahui tentang mereka.
Peter Shor
@ Peter: Saya menemukan ini Reversible Pushdown Automata , tetapi definisi "reversibel" tampaknya berbeda. (PS selamat atas interpretasi yang sederhana dan bersih dari labirin fraktal sebagai PDA !!!)
Marzio De Biasi
1
Algoritma di atas dapat diperluas ke grafik berarah (labirin fraktal irreversibe), Anda hanya perlu mempertimbangkan ekspansi yang mungkin untuk dipertimbangkan ( I kI j dan I jI k ). 2n2sayaksayaj sayajsayak
Nick Alger
1

Ini bukan "jawaban" untuk pertanyaan saya, melainkan komentar panjang yang mungkin menarik orang di sini.

Saya mengklaim bahwa ada definisi "tipe analisis" alami dari sebuah labirin dan solusi, dan itu berbeda dari definisi ilmu-komputer / grafik-teori yang kami gunakan di sini. Secara khusus, Anda dapat memiliki labirin fraktal yang memiliki "solusi" di bawah definisi analisis, tetapi akan dinyatakan tidak dapat diselesaikan oleh algoritma Marizio De Biasi dan teknik pushdown automata Peter Shor.

Definisi: Sebuah labirin adalah bagian kompak dari pesawat M R 2 yang berisi titik awal dan titik akhir s , e M , masing-masing. Sebuah solusi adalah fungsi kontinu f : [ 0 , T ] M sehingga f ( 0 ) = s dan f ( T ) = e .M.M.R2s,eM.f:[0,T]M.f(0)=sf(T)=e

Sekarang perhatikan Kurva Hilbert :

Hilbert curve gif dari wikipedia

Seseorang dapat menafsirkan kurva ini sebagai "labirin fraktal" dengan diagram berikut: masukkan deskripsi gambar di sini

P

P=SEBUAHPSEBUAH-1BPB-1CPC-1DPD-1

Sekarang Anda mungkin berpendapat bahwa ini tidak dalam semangat labirin fraktal karena kurva Hilbert mengisi seluruh kotak dan karena itu Anda bisa menggambar segmen garis lurus dari awal hingga akhir. Keberatan ini mudah ditimpa - cukup gunakan diagram kurva hilbert yang disematkan secara langsung, seperti yang ditunjukkan di sini:

masukkan deskripsi gambar di sini

Ini juga mengandung urutan lintasan kontinu yang seragam konvergen mulai dari awal hingga akhir, dengan argumen yang sama yang digunakan untuk menunjukkan konvergensi seragam kurva Hilbert. Namun itu adalah "labirin fraktal" sejati dalam arti bahwa itu tidak mengisi seluruh ruang.

Jadi kita memiliki labirin fraktal yang dipecahkan oleh definisi analitik, tetapi tidak dapat dipecahkan oleh grafik definisi teoretis ..!?

Ngomong-ngomong, saya cukup yakin bahwa logika saya benar, tetapi tampaknya berlawanan dengan intuisi sehingga jika ada yang bisa menjelaskan hal ini, saya akan sangat menghargainya.

Nick Algeria
sumber
Komentar naif: "submazes" dari kurva Hilbert lebih kecil, jadi di "dunia kontinu" itu bekerja; di "dunia diskrit" Anda tidak akan pernah melakukan gerakan "keluar" karena Anda terus memasuki submas pertama (seperti zoom tanpa akhir di kiri bawah kurva Hilbert). Itu mirip dengan paradoks Zeno
Marzio De Biasi
2
PS Saya berpikir bahwa tidak perlu kurva fraktal: garis horizontal sederhana dari s ke f dengan submaze pusat tunggal (yang memiliki garis horizontal tunggal dengan sub-submaze ecc. Ecc.) Mengarah pada pertimbangan yang sama.
Marzio De Biasi
Poin bagus. Jika Anda melakukannya dengan sub-kotak dengan lebar 1/2 ditempatkan di paling kanan, itu tidak seperti paradoks zeno, Anda mendapatkan persis zenos paradox. Setelah pertimbangan lebih lanjut, sepertinya definisi kontinu tidak cocok untuk labirin fraktal karena membuat hampir setiap labirin fraktal dapat dipecahkan.
Nick Alger
tetapi sangat cocok untuk meditasi labirin Zen (Google berkeliling untuk perbedaan antara labirin dan labirin dalam konteks meditasi) :-)
Marzio De Biasi