Min-yığın otomata tarafından kabul edilen dillerin ters çevrilmesi altında kapanışının kanıtlanması


16

Bu bir takip soru bu bir .

Egzotik durum makineleri hakkında önceki bir soruda , Alex ten Brink ve Raphael tuhaf bir tür devlet makinesinin hesaplama yeteneklerini ele aldı: min-yığın otomata. Bu tür makineler tarafından kabul edilen dil kümesinin ( HAL ), bağlamsız dil kümesinin ne bir alt kümesi ne de bir üst kümesi olduğunu gösterebildiler . Bu sorunun başarılı bir şekilde çözülmesi ve açık bir şekilde ilgilendiği göz önüne alındığında, birkaç takip sorusu sormaya devam ediyorum.

Düzenli dillerin çeşitli işlemler altında kapatıldığı bilinmektedir (kendimizi sendika, kavşak, tamamlayıcı, fark, birleştirme, Kleene yıldızı ve tersine çevirme gibi temel işlemlerle sınırlayabiliriz), oysa bağlamsız diller farklı kapanışa sahiptir özellikleri (bunlar birleşim, birleştirme, Kleene yıldızı ve tersine çevrilmiş durumdadır).

HAL geri dönüş altında kapalı mı?


Bu tür makinelerin kullanımları nelerdir? Yoksa bu akademik bir çalışma mı?
Dave Clarke

@DaveClark Pekala, bunlar çoğunlukla akademik bir alıştırma. (Bildiğim kadarıyla bunları bağlantılı soruda uydurdum). Ancak, hesaplamayı diğer makinelerin (DFA'lar, TM'ler, vb.) Yapabildiği gibi yapabilirler, bu yüzden belki onlar için bir kullanım olabilir.
Patrick87

Bu soru, otomatik verilerinize neden gramerler eklemek istediğinizi gösterir. Arr, beynim!
Raphael

4
Ben biçimi bir dil kullanarak bunu kanıtlamak için çalışıyordu , ama çok uzun sürdü ve vazgeçtim. Belki bu fikir herkese yardım eder. {xyy is a lexicographically sorted copy of x}
Ran G.

@RanG .: Bunun işe yarayacağını düşünüyorum. Ödülün, dilin içinde olduğunu kanıtlayan bir cevaba vermekten mutluluk duyuyorumve geri dönüşün olmadığı konusunda iyi bir mantık veren. HAL
Raphael

Yanıtlar:


4

Dil göz önünde

L×2={xyzx,y,z{0,1},#0(x)=#0(y) and |x|+|y|=z}
(burada , x cinsinden sıfır sayısını belirtir ).#0(x)x

Bu karar için kolaydır sıfırların sayısı: makine özellikle iki özellikleri takip etmek için gözlemleyin - HAL makinesi kullanılarak x vs y ve uzunluğu x , y (v z ). Bu itme bu gördüğü her sıfır yığın x (pop sonra ve daha sonra görülen bir sıfır y ); ek olarak iterL×2xyx,yz0x0y1 herhangi bir bit için (ve daha sonra herhangi bir z bitinde açılır ). Tüm s öbek aşağı itilmiş olduğundan, sayım karışmaz . x,y1z10 bir sınırlayıcı görevi görür ve pratik olarak göz ardı edilebilir.

Şimdi , ters dil olsun. Yani, L = { z y x x , y , z { 0 , 1 } , # 0 ( x ) = # 0 ( y )  ve  | x | + | y | = z } Hiçbir HAL makinesinin L'ye karar veremeyeceğini göstereceğiz .L=L×2R

L={zyxx,y,z{0,1},#0(x)=#0(y) and |x|+|y|=z}
L

Sezgi şudur. Yukarıdaki gibi, makine hem uzunluğunu hem de x , y cinsinden sıfır sayısını izlemelidir . Bununla birlikte, bu durumda onları aynı anda izlemek gerekir . Bu bir yığın üzerinden yapılamaz. Daha fazla ayrıntıda, z okuduktan sonra , yığın | x | + | y | . okurken y makinesi de yığın içinde sıfırların sayısını tutmak zorundadır y . Ancak, bu bilgiler yığının zaten beklediğimiz uzunluktaki bilgilere müdahale edemez xzx,yz|x|+|y|yyxolmak. Çok sezgisel olarak, sıfır sayısı hakkındaki bilgiler uzunluğu hakkındaki bilgilerin "altında" olacaktır ve daha sonra x okunurken bu bilgilere erişemeyiz veya bu bilgilerin "üstünde", ikincisine erişilemez hale gelir veya iki bilgi "karışık" olacak ve anlamsız hale gelecektir.xx

Daha resmi olarak, bir çeşit "pompalama" argümanı kullanacağız. Yani, çok uzun bir girdi alacağız ve bu girdiyi işlerken makinenin "durumunun" kendisini tekrar etmesi gerektiğini göstereceğiz, bu da makine "durumunu" tekrarladığında girişi "değiştirmemize" izin verecektir.

Biçimsel ispat için, bunun bir "döngü" içermediğini, yani HAL makinenin yapısının basitleştirilmesi gerektiren -transitionsε. Bu varsayımla, makinenin işlediği her giriş sembolü için, yığının içeriğinin en fazla c artabileceğini / azaltabildiğini görebiliriz (yeterince büyük sabit c için ).1cc

Kanıt. H'nin L'ye karar
verdiğini varsayalım ve yeterince uzun bir girdi düşünün (örneğin, 4 n uzunluğunda , bu nedenle | x | = | y | = n , | z | = 2 n , s'yi bundan sonra yok sayar ). Somut olmak için z , y'yi düzeltin ve # 0 ( y ) = n / 2 olduğunu varsayın . Şunlara dikkat edin: ( nHL4n|x|=|y|=n|z|=2nz,y#0(y)=n/2farklıX'in bu şekildeZYxL.(nn/2)xzyxL

işlendikten hemen sonra yığının içeriğini düşünün . En fazla 3 n c sembolü içerir (her sembolün sabit bir alfabeden olduğu Γzy3ncΓ bizim varsayımı ile). Ancak, farklıxs(nn/2)xs kabul edilmesi gereken (yığın için olası farklı içerik miktarından önemli ölçüde daha büyüktür, çünkü bu katlanarak katlanarak artar, farklı yığın sayısı polinom olarak artar, aşağıya bakınız). Kabul edilmesi gereken iki giriş alın , böylece aşağıdakiler geçerli olur:x1,x2

  1. Uzunluğunun ön ek arasından/2 önek daha sıfır farklı sayıda x 2 aynı uzunlukta.x1x2
  2. Zamanla makine uzunluğunun bir önek okur arasında x , yığın ikisi için aynı görünüyor parçası x 1 ve x 2 , ve ayrıca, makine (bu bazıları için gerçekleşmesi gereken aynı durumdadır x 1 , x 2 , yeterince büyük için n , orada daha fazla olarak 2 0.8 n farklı seçenekler 2 için x , 1 , x 2 , ve en çok ( 3.5 ° c , n ) | y olan | | Qn/2xx1x2x1,x2n20.8n2x1,x2yığın içeriği ve durumu için farklı seçenekler 3 ).(3.5cn)|Γ||Q|3

Makinenin kelimesini kabul etmesi gerektiği açıktır; burada x p 1 , n / 2 uzunluğunda bir x önekidir ve x s 2 , aynı uzunlukta x 2 sonekidir . Not olup, sıfırların x p 1 x s 2 sıfırlara sayısından farklıdır x 1 ve x 2 ila ( # 0 ( yzyx1px2sx1pxn/2x2sx2x1px2sx1x2 ), x 1 ve x 2'yi seçme şeklimiz nedeniylebir çelişkiye ulaştık.#0(y)x1x2

Bu varsayım genelliğe zarar veriyor mu? Ben öyle düşünmüyorum, ama bu gerçekten bir kanıt gerektiriyor. Birisi bu ekstra varsayımı nasıl aşacağını görürse, bilmek isterim. 2 x 1'i önek ( n / 2 uzunluğundatam olarak n / 4 sıfır olacak şekilde)sabitleyelim. Kullanarak bu HatırlamaStirling'in tahmininibunu biliyoruz log ( n1
2 x1n/2n/4H()olanikili entropi funciton. Bu yana, H(1/4)0.81Elimizdeki ( nlog(nk)nH(k/n)H()H(1/4)0.81yeterince büyük içinn. (nn/4)>20.8nn3AlfabeΓvarsayarsak, vardır| Γ| Nuzunluğu farklı şeritler, n, o yüzden biz vidalı olduğu bir yığın eğer. Ancak, "01" i bir yığının içine itmek, "10" ı itmeye eşdeğerdir - yığın, içeriğin yalnızca sıralı sürümünü depolar. Farklı sayısısıralanmışboyutu dizelerinolduğu (n+1
3 Γ|Γ|nnn, sabit için| Γ| .(n+1|Γ|1)n|Γ||Γ|


Güzel! Resmi bölümü daha sonra tekrar okumak zorunda kalacak. 1) Reklam here : Buraya da bakınız . 2) Döndürülen yığın sembolünün (aynı önceliğe sahip tüm semboller arasında) deterministik olmayan seçimine izin verirsek argüman bozulur.
Raphael
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.