Fraktal labirentin karar verilebilirliği


17

Fraktal labirent, kendi kopyalarını içeren bir labirenttir. Örneğin, bu makaleden Mark JP Wolf tarafından verilen aşağıdakiler :

EKSİ'den başlayın ve ARTI'ya gidin. Labirentin daha küçük bir kopyasını girerken, bu kopyayı çıkışta bırakmanız gerekeceğinden, bu kopyanın harf adını kaydettiğinizden emin olun. Girdiğiniz labirentin iç içe geçmiş her kopyasından çıkmanız ve bunları ters sırada girmeniz gerekir (örneğin: A girin, B girin, C girin, C çıkış yapın, B çıkış yapın, A çıkış yapın). Bunu bir dizi iç içe geçmiş kutu olarak düşünün. Yuvalanmış kopyadan çıkan çıkış yolu yoksa, çıkmaza ulaştınız. Yolları daha net hale getirmek için renk eklendi, ancak sadece dekoratif. Fraktal labirent

Bir çözüm varsa, en önce yapılan arama bir çözüm bulmalıdır. Ancak, labirent için bir çözüm olmadığını varsayalım - o zaman arama programımız sonsuza kadar daha derine iner.

Sorum şu: Bir fraktal labirent verildiğinde, bir çözümü olup olmadığını nasıl belirleyebiliriz?

Veya alternatif olarak, belirli bir boyuttaki fraktal labirent için (kopya başına giriş / çıkış sayısı), en kısa çözümün uzunluğunda bir sınır var mı? (eğer böyle bir sınır olsaydı, sadece o kadar derinlemesine arama yapabilirdik)


SSS'yi okuduktan sonra bunun ait olduğuna inanmıyorum. Muhtemelen araştırma seviyesi teorik bir bilgisayar bilimi sorusu değildir. Yanlış yere gönderdiğim için üzgünüm. Birisi bu soruyu sormak ve / veya oraya taşımak için uygun forumu önerebilir mi?
Nick Alger


Oraya katıldığımdan beri math.stackexchange'te yayınlamayı düşündüm, ama biraz fazla algoritma gibi görünüyordu. Bir bilgisayar bilimi yığın değişimi olduğunu bilmiyordum. Moderatörler bunu bu yerlerden birine taşımak isteselerdi aldırmam.
Nick Alger

3
Bunun burada konu dışı olduğu açık değil ... konu dışı sorular genellikle upvotes'tan daha fazla downvotes alır
Joe

7
Herhangi bir fraktal labirenti, yığının içinde bulunduğunuz altmazların sırasına karşılık geldiği bir aşağı açılan otomat olarak temsil edemez misiniz? Daha sonra çözünürlük sorunu, bağlamsız diller için boşluk sorununa dönüşecek ve bu da karar verilebilir.
Peter Shor

Yanıtlar:


8

Sorunun karar verilebilir olduğunu kanıtlamak için hızlı bir gayri resmi algoritma:

  • diyelim ki Giriş / Çıkış ;I 1 , . . . Ben nnI1,...In
  • bir grafik oluşturmak her , ve düğümleridir, ve her iç içe geçmiş bir labirent yerine , bir ile alt grafiği (tam grafik); labirente göre arasındaki kenarları ekleyin ; tutmak "dış" karşılık gelen "iç" kenarları farklı kenarlar arasında tam bir alt grafiği olarak;I i M I N U S P L u S M j K , n I i , M bir N , U S , P L , U S , E j ı k M j ı ıM j ı k I iI k M jGIiMINUSPLUSMjKnIi,MINUS,PLUS,MjIkMjIiMjIkIiIkMj
  • cinsinden MINUS ile PLUS arasındaki tüm yolları numaralandırın (döngülerden kaçının);G
  • yuvalanmış bir kopyadan geçmeyen bir yol bulursanız, bu bir çözümdür; aksi takdirde her yolun iç içe labirentine her "iç" geçişini genişletin :Mj

İlk numaralandırmadaki bir yolun , yol varsa bir yol geçerli bir çözümdür adlı ve gelen orijinal labirent (grafik ).I iI j I kI h GMINUSAIiAIjBIkBIhPLUSIiIjIkIhG

Biz gereken Yani genişletmek ve tüm yolları numaralandırılıyor dolaşımları için ve gelen için içinde . B I kB I h I i I k I k I h GAIiAIjBIkBIhIiIkIkIhG

Önceki bir aşamada zaten bulunan bir yolun genişlemesinde ile arasındaki tüm yolları numaralandırdığımızda sonsuz döngüler algılanır bazı alt boyutlar için (yalnızca olası genişletme vardır).IiIk...MIiMIk...Mn2

Yalnızca girişlerini / çıkışlarını içeren bir yol genişletmesi bulursak bir çözüm bulunur ; döngüler olmadan yolları daha fazla genişletemezsek, labirentin çözümü yoktur.Ii


Vaov! Ne kadar zekice bir fikir. Bence bu işe yarıyor ama aklımda hala biraz bulanık, bu yüzden kabul etmeden önce onu baştan sona biraz zaman alacağım.
Nick Alger

Tamam evet bu algoritmanın doğru olduğundan eminiz. Peter Shor'un yukarıdaki yorumuna dikkat çekerek, bağlamsız dil boşluğu karar verilebilirlik problemi için bir kanıt sağlamak için bunu döndürebileceğinizi merak ediyorum ..? Belirli bir bağlamdan bağımsız dil boşluğu sorunu için, eşdeğer bir fraktal labirent oluşturun ve ardından bu algoritmayı uygulayın.
Nick Alger

@Nick: Bir fraktal labirent, tersine çevrilebilir bir aşağı itme otomatına karşılık gelir ; burada S durumundan T durumuna geçiş yapabilirseniz, T'den S'ye geçiş de yapabilirsiniz. Fraktal labirentlerinin aslında geri döndürülebilir aşağı itmeli otomata eşdeğerdir. Tersine çevrilebilir Turing makinelerinin normal Turing makineleriyle aynı güce sahip olduğunu söyleyen bir teorem vardır. Daha önce geri dönüşümlü otomata bakıp bakmadığımı bilmiyorum, bu yüzden onlar hakkında bilinen bir şey olup olmadığını bilmiyorum.
Peter Shor

@Peter: Bu Tersinir Aşağı Açılan Otomata'yı buldum , ancak "tersinir" tanımı farklı görünüyor. (Fraktal labirentin PDA olarak basit ve temiz bir şekilde yorumlanması için PS tebrik !!!)
Marzio De Biasi

1
Yukarıdaki algoritma yönlendirilmiş grafiklere (geri dönüşümsüz fraktal labirentine) genişletilebilir, dikkate alınması gereken olası genişlemeniz olacaktır ( I kI j ve I jI k ). 2n2IkIj IjIk
Nick Alger

1

Bu, sorumun bir "cevabı" değil, buradaki insanların ilginç bulabileceği genişletilmiş bir yorum.

Bir labirent ve çözümün doğal bir "analiz tipi" tanımı olduğunu ve burada kullandığımız bilgisayar-bilim / grafik-teorik tanımdan farklı olduğunu iddia ediyorum. Özellikle, analiz tanımı altında bir "çözümü" olan fraktal bir labirent olabilir, ancak Marizio De Biasi algoritması ve Peter Shor'un aşağı itme otomata tekniği ile çözülemez olarak ilan edilir.

Tanım: bir labirent düzleminin kompakt alt kümesi M R 2 bir başlangıç noktası içeren bir uç nokta s , e E , sırasıyla. Bir çözelti, sürekli bir fonksiyonudur f : [ 0 , T ] M bu şekilde f ( 0 ) = s ve f ( T ) = E .MMR2s,eMf:[0,T]Mf(0)=sf(T)=e

Şimdi Hilbert Eğrisi'ni düşünün :

Hilbert curve gif from wikipedia

Bu eğri, aşağıdaki diyagrama sahip bir "fraktal labirent" olarak yorumlanabilir: enter image description here

P

P=APA1BPB1CPC1DPD1

Şimdi bunun Hiltal eğrisi tüm kareyi doldurduğundan fraktal labirentlerin ruhunda olmadığını ve bu nedenle başlangıçtan bitişe kadar düz bir çizgi parçası çizebileceğinizi iddia edebilirsiniz. Bu itiraz kolayca geçersiz kılınır - burada gösterildiği gibi doğrudan doğrudan hilbert eğrisi diyagramını kullanın:

enter image description here

Bu, Hilbert eğrisinin düzgün yakınsamasını göstermek için kullanılan aynı argümanla, başlangıçtan bitişe kadar tekdüze yakınsak sürekli yollar dizisini içerir. Ancak, tüm alanı doldurmaması anlamında gerçek bir "fraktal labirent" tir.

Böylece analitik tanım ile çözülebilen, ancak grafik teorik tanım ile çözülemeyen bir fraktal labirentimiz var ..!?

Her neyse, mantığımın doğru olduğundan eminim, ancak mantıksız görünüyor, bu yüzden eğer birisi buna ışık tutabilirse bunu takdir edeceğim.


Saf bir yorum: Hilbert eğrisinin "alt boyutları" daha küçüktür, bu yüzden "sürekli dünyada" çalışır; "ayrık dünya" da asla bir "çıkış" hareketi yapmazsınız çünkü ilk submaze girmeye devam edersiniz (Hilbert eğrisinin sol alt kısmındaki sonsuz zum gibi). Zeno'nun paradokslarına
Marzio De Biasi

2
PS: Bir fraktal eğriye gerek olmadığını düşünüyorum: s'den f'ye kadar basit bir yatay çizgi, tek bir merkezi submaze (bir sub-submaze ecc. Ecc. İle tek bir yatay çizgiye sahiptir) aynı hususlara yol açar.
Marzio De Biasi

İyi bir nokta. Bunu en sağda 1/2 genişliğinde bir alt kutu ile yaparsanız, bu sadece zeno'nun paradoksu gibi değil, tam olarak zenos paradoksu alırsınız. Daha fazla dikkate alındıktan sonra, sürekli tanım fraktal labirentine uygun değildir, çünkü neredeyse her fraktal labirenti çözülebilir hale getirir.
Nick Alger

ancak Zen labirent meditasyonu için uygundur (meditasyon bağlamında bir labirent ve labirent arasındaki fark için Google) :-)
Marzio De Biasi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.