Bağlama duyarlı bir dilin normal olup olmadığına karar verme


18

Sorunun iyi bilinen bir sonuç olduğu

Bağlamdan bağımsız bir dilbilgisi normal bir dil oluşturur mu?

kararsız. Ancak, bu durumda, bağlamsız ve düzenli dil sınıfları çakıştığından, tek bir alfabe üzerinde karar verilebilir hale gelir.

Benim sorum tek tek bağlama duyarlı diller için neler olduğunu bilmek .

Tekli bir alfabe üzerinde belirli bir bağlama duyarlı dilbilgisinin normal bir dil oluşturup oluşturmadığını bilmek karar verilebilir mi?

Cevap olumlu olursa, karmaşıklığın tahmin edilmesi memnuniyetle karşılanacaktır.

Yanıtlar:


9

Ne yazık ki, sorununuz çözülemez. Tökezlediğim yaklaşım (aşırı işlenmiş olabilir, bu yüzden daha uygun bir yaklaşımı olan herkes adım atmalıdır!) İlk önce düzenli olmayan (olumlu sonucun aksine) tekli bir CSL olduğunu göstermek için çapraz bir argüman kullanır. X) tekli CFLs için, ve daha sonra da bir TM verilen ile Turing makineleri için durdurulmasını sorun, udu M bir CSG inşa, G simüle M ayrıştırma dize daha kısa bant uzunluğu ile ilgili w tanıyan, X ise M kendi sınırları aşmadan durur aksi halde ayrıştırmada başarısız olun, böylece G başarıyla tüm wXM durması yeterince uzun olan ( sadece sonlu birçok dizgide X'denL(G) farklıdır ve bu nedenle düzenli olamaz), aksi takdirde G boş dili (açıkça düzenli olan) tanır.XG

Bu yaklaşımın anahtarı, CSG'lerin sadece ifade yapısı gibi dilbilgisel konularla ilgili olmadığı gözlemidir - gerçekten de, CSG derivasyon sekansları keyfi olmayan belirsiz uzay-sınırlı hesaplama yapabilir (aslında PSPACE- tamamlanmış CSL'ler) ayrıştırmadan önce hizalama işine gitmeden önce. Bu, en kolay şekilde CSG'ler ve monotonik gramerler arasındaki standart dönüşümler (tek harfli alfabe ile kısıtlandığında çalışmaya devam eder) ve hesaplama geçmişindeki aşamaları temsil eden türev dizelerinde Turing makinesi geçişlerini simüle etmek için basit monotonik üretimlerin kullanılmasıyla gözlemlenir. Bu cevap boyunca, belirli bir hesaplamayı simüle etmek için bir CSG gerektiğinde okuyucunun ayrıntıların çoğunu sezebileceğini varsayacağım. (Ben askerin tüm bunlarla rahat olduğunu varsayıyorum, ama bütünlük için bunun üzerinden geçiyorum. Yine de, yorumlarda açıklama istemekten çekinmeyin.)


İlk olarak, normal olmayan tekli CSG'mize ihtiyacımız var. ( DÜZENLEME: bu yüzden aşırıya kaçmıştı - düzenli olmayan tekli CSL'ler, örneğin düzenli olmamanın en temelini sergileyen herhangi bir dilde pompalama lemi yoluyla kolayca sergilenebilir. Örneklerin yorumlarına bakın. bıçak savaşına nükleer bir savaş başlığı getirmek gibiydi. Merak ediyorsanız bu inşaatı inceleyin, aksi takdirde indirime geçin.)

Let alfabe üzerinde DFAs bir numaralandırma olmak { 1 } durum sayısı, öyle ki D' i artar i . 1 n{ 1 } dizesini ayrıştırırken CSG G X'i davranışı açısından tarif ediyoruz :D1,D2,...{1}DiiGX1n{1}

  1. Belirsiz olarak "bant" olarak düşündüğümüz "boş" terminal olmayan bir dizi oluşturur . Boş terminal olmayanlardan biri ayrı bir "boş + okuma-yazma kafası + başlatma durumu" terminalsiz olmalıdır. Ayrıştırma dizesi 1 n değilse, bu türetme başarısız olur. Sürecin geri kalanını, tek olası türev ile simüle edilen deterministik hesaplama açısından tarif ediyoruz.n1n
  2. Kasette bir kodlama yazdır numarası takip i ikilik sistemde, i = n - c ve c her zaman biz gerekeni yapmak bizim banda yeterli alan olacak şekilde seçilir. (Bu alan her iki kodlamak için gerekli yana mümkündür D'yi i ve I içinde logaritmik büyür i .)Diii=nccDiii
  3. Giriş 1 i'de değerlendirin . Bu temsil gerektirmez D i 'nin bandı - sen sadece geçişleri göre değiştirebilir, tek devlet, saklayabilir D i sen eksiltme olarak i .Di1iDiDii
  4. Eğer reddeder 1 i üretmek olmayan terminaller ile tüm bant üzerine 1 . Aksi takdirde başarısız olur.Di 1i1

Biz almak . Herhangi bir i için açıkça X L ( D i ) , çünkü 1 i + cX 1 i + cL ( D i ) .X=L(GX)XL(Di)i1i+cX1i+cL(Di)


Bir sonraki adım, durma probleminden askerin problemine bir azalma tasarlamaktır. (Yukarıdaki bölümü atladıysanız, CSG G X tarafından oluşturulan keyfi olmayan normal olmayan bir CSL olmasına izin verin .)XGX

Let keyfi TM olacak. M'yi , 1 n ayrıştırma dizesinde aşağıdaki gibi davranan bir CSG G'ye dönüştürürüz :MMG1n

  1. Oluşturmak boş olmayan terminaller, ayrı boş + okuma-yazma kafası terminal olmayan olmak soldaki bir ve aynı zamanda her bir yanı üzerinde bir "sınır" terminal-olmayan üretir. Yine, yanlış sayıda terminal olmayan üretersek başarısız oluruz.n2
  2. Sınır olmayan terminaller arasındaki boşlukta simüle edin . M hiç sınır durumlarından birine geçerse , simülasyonu sonlandırırız ve M'nin asla durmadığını varsayarız .MMM
  3. Eğer alıkoymaların, gibi davranmaya G X . Simülasyonu sonlandırmak zorunda kalırsak başarısız oluruz.MGX

Eğer Not sınırları içinde sonsuza çalıştırmak için yönetir ardından G bir ayrıştırma dize oluşturmak asla ve böylece başarısız olur. Eğer E duraklamalara, o zaman alan bir miktar vardır n içeren yeterli M 'in tüm hesaplama, dolayısıyla G ayrıştırır 1 m her m n + 2 ve 1 mX ve dolayısıyla X ve bir birlik L ( G ) ve sınırlı bir dil, bu yüzden L ( G )MGMnMG1mmn+21mXXL(G)L(G)düzenli değil. Öte yandan, asla durmazsa, L ( G ) = açıkça düzenlidir.ML(G)=

nin düzenli olup olmadığına karar vermek için bir algoritma, M'nin boş bir bantta durdurulamayacağını belirler , ki bu kararsızdır. Bunun sonucunda, sorucunun sorunu kararsızdır.L(G)M


2
Cevabınızın ilk kısmı için, ve { a pp  asaldır } , bağlama özgü hassas normal olmayan dillere örnektir. {an2n0}{app is prime}
J.-E.

Heh, gerçekten de aşırıya kaçmıştı, muhtemelen bana çapraz bir argümanın aşırı derecede abartılı olacağını söylemeliydim. Sanırım cevapta bir not düzenleyeceğim. Umarım ikinci bölüm yine de yardımcı oldu.
gdmclellan

@ J.-E.Pin: Çok fazla düşünmedim, için tekdüze bağlam duyarlı bir dilbilgisi oluşturmak kolay mı? {app is prime}
Marzio De Biasi

@ marzio-de-biasi İtiraf etmeliyim ki kendimi kontrol etmedim ama bu cevaba
dayandım

@MarzioDeBiasi Çok kolay. Bir dilin içeriğe duyarlı olup olmadığını belirlerken, olağan süreç 1 gibi bir şeydir. 2. ayrıştırma dizesinin bazı yüklemleri karşılayıp karşılamadığını belirlemek için bazı uzay-sınırlı hesaplamalar yapmak; ve 3. söz konusu yüklemin tatmin olduğu tespit edilirse ipin üretilmesi. Alan biraz sorun olabilir (bağlama alanı ayrıştırma dizesinin uzunluğu ile verilir, çünkü bağlama duyarlı üretimler kullanarak türetilmiş bir dizeyi daraltamazsınız), ancak tekli durumda çalışmak için üstel alanınız vardır .
gdmclellan

6

Bu aslında yukarıdakiyle aynı cevaptır, ancak "daha uygun" bir cevap arandığından, bundan bahsediyorum: (Ayrıca, buradaki ilk yazım, bu yüzden bir önemsizlik gönderiyorsam beni affet!)

Boşluğun tek tek bağlama duyarlı diller için kararsız olduğunu gözlemleyin. Bağlama duyarlı, ancak normal olmayan bir dili düzeltin . L a için bir LBA verildiğinde , L = { a na nN  ve  m n : a mL } için kolayca bir LBA oluşturulabilir . Sonra açıkça L ' ve ancak eğer düzenli L olduğu boşaltın.NaLaL={ananN and mn:amL}LL

Güncelleme: Elbette aynı argüman, kararsızlığın deterministik logaritmik alan için zaten mevcut olduğunu gösteriyor.


"boşluklara duyarlı tek diller için boşluk belirlenemez": iyi bilinen bir gerçek mi? Referansınız olur mu?
J.-E.

1
Bir contex duyarlı dil Verilen , morfizmanın almak h : Σ *{ a } * her harfinin eşleştiren bir . O zaman h ( L ) ve yalnızca L boşsa boş olur. Deterministik günlük alanı için, bir TM T verildiğinde , bir det inşa edilebilir. Her dizi için logspace TM bir 2 N şekilde , T uzunluğunda bir durdurulması hesaplama vardır n . LΣh:Σ{a}ah(L)LTa2nTn
Georg Zetzsche
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.