Dilbilgisi ve Otomata Dillerinde Karar Verme


16

Bu bir üniversitede CS kursuna çalışmaya ilişkin bir sorudur Not, bu ödev DEĞİLDİR ve bulunabilir burada Güz 2011 exam2 altında.

İşte geçmiş bir sınavdan baktığım iki soru. İlki gibi görünüyorlar, ilki:

İzin Vermek

FINITECFG={<G>∣G is a Context Free Grammar with |L(G)|<}

Kanıtlamak karar verilebilir bir dildir. FINITECFG

ve...

İzin Vermek

FINITETM={<M>∣M is a Turing Machine with |L(M)|<}

Kanıtlamak karar verilemez bir dildir. FINITETM

Bu sorunların üstesinden nasıl geldiğim konusunda biraz kayboldum, ancak doğru yönde olabileceğini düşündüğüm birkaç anlayışım var. Olduğu ilk şey farkındayım ki bu dil ,AREX

AREX={<R,w>∣R is a regular expression with wL(R)}

karar verilebilir bir dildir (kanıt Michael Sipser'in Hesaplama Teorisinde , s. 168). Aynı kaynak, Bağlamdan Bağımsız Dilbilgisinin normal bir ifadeye dönüştürülebileceğini ve tam tersini de kanıtlar. Bu nedenle , düzenli bir ifadeye dönüştürülebileceğinden de karar verilebilir olmalıdır. O Bu durum ve A T M olan un -decidable, bu sorunla ilgili gibi görünüyor.ACFGATM

I düşün tek şey için Turing makinelerine G geçtiği ve (normal ifade G dönüştürme sonra) bir T M . Sonra G'nin kabul edip etmediğini kabul etmek ve G olmazsa reddetmek. As A T M undecidable, bu asla olmayacak. Bir şekilde burada bir hata yaptığımı hissediyorum, ama bunun ne olduğundan emin değilim. Burada birisi bana yardım edebilir mi?AREXATMATM


5
"Bağlamdan Bağımsız Bir Dilbilgisi normal bir ifadeye dönüştürülebilir ve bunun tersi de geçerlidir" Bu doğru değildir ("normal ifadeye dönüştürülebilen bir CFG var" olarak yorumlanmadıkça, ama bunun ne olduğunu sanmıyorum demek). Düzenli gramerler normal ifadelere dönüştürülebilir. Çoğu bağlamdan bağımsız dilin (yani, normal diller de olmayan tüm bağlamsız diller) normal bir ifade kullanılarak tanımlanamaması nedeniyle CFG'leri düzenli ifadelere dönüştürmek için bir algoritma yoktur.
sepp2k

Yanıtlar:


9
  1. G dönüştürmek Chomsky Normal forma . Bu şekilde, tek boş türetme, başka hiçbir yerde görünmeyen başlangıç ​​sembolü olacaktır ve bu nedenle sonunda kendini üretebilecek bir üretim varsa, o zaman dilbilgisi sonsuzdur. Böyle bir üretim yoksa, her sembol yalnızca sonlu dizeler oluşturabilir ve daha sonra dilbilgisi sonlu olur. Dolayısıyla, her üretimin bir düğüm olduğu ve bir üretim içindeki her sembolün bu sembolü hedefleyen bir kenar olduğu yönlendirilmiş bir grafik oluşturun. Grafikte bir döngü varsa, CFG sonsuzdur, aksi halde değildir. Dolayısıyla için bir Turing makinesi tam olarak bunu yapan bir yapı olabilir ve sonra F IFINITECFG karar verilebilir.FINITECFG

  2. Diyelim ki karar verilebilir. Diyelim ki H , giriş olarak bazı dizeleri olan ve kendisini F I N I T E T M'ye giriş olarak kullanan bir Turing makinesi . Eğer F ı K I T e T M , gerçek (yani döner H , sadece sınırlı bir dil kabul eder), daha sonra HFINITETMHFINITETMFINITETMHHgirişi kabul eder, bu da girdi kümesi sonsuz olduğu için bir çelişkiye yol açar (girişin uzunluğu sınırsızdır, bu nedenle olası herhangi bir dizeyi giriş sonsuz bir dizi kümesini kabul etmek olarak kabul edin). Eğer (yani, yanlış döndürür , H 'in dil sonsuz), o zaman , H , yani giriş reddeder H , herhangi bir giriş kabul etmez, çünkü dilinden sonlu' (yani, dil boş), bu da bir çelişkiye yol açar. Bu şekilde, H'nin var olduğu varsayımı çelişkiye yol açar ve bu varsayım, F I N I T'ninFINITETMHHHH Karar verilebilen bir. Dolayısıyla, çelişkili olarak, F I N I T E T M'nin karar verilemezolduğuna sahibiz.FINITETMFINITETM

Aynı kaynak, Bağlamdan Bağımsız Dilbilgisinin normal bir ifadeye dönüştürülebileceğini ve tam tersini de kanıtlar.

Sipser'in muhtemelen yanlış ya da yanlış anladığını söyleyeceğinden şüpheliyim. Bu, bağlamdan bağımsız gramerlerin, sağ doğrusal gramerlerle tam olarak aynı dilleri oluşturduğu anlamına gelir. Bu yanlış; sağ doğrusal dilbilgisi dillerinin bağlamsız dilbilgisi dp'nin uygun bir alt kümesidir. Bununla birlikte, soruları cevaplamak için normal dilleri kullanma şekliniz sizi hiçbir yere götürmez.

Kanıtlarımda yukarıda da görebileceğiniz gibi, iki soru aslında çok farklı, ilgisiz iki sorudur. Sadece benzer şekilde ifade edilmiş olurlar.


1
İkinci kanıttan sonra sorun yaşıyorum. Tamam, yani H'yi G'ye geçiriyorsun, değil mi? G, H'nin sonlu olduğundan daha doğruysa, bu mantıklıdır. Ancak, girdi setinin sonsuz olmasını sağlayamıyorum, referans aldığınız girdi nedir?
BrotherJack

1
HH

1
TAMAM. Bu mantıklı geliyor. Bu girişe "H giriş dili içindeki olası herhangi bir dize" olarak atıf yapmak doğru olur mu?
BrotherJack

1
@BrotherJack - Bu noktayı daha net hale getirmek için cevabı düzenledim.
Victor Stafusa

1
Mükemmel açıklama! Zaman ayırdığınız için çok teşekkürler.
BrotherJack

2

Karar vermenin başka bir yolu FbenN-benTECFG, pompalama lemmasıdır.

Pompalama lemması her CFL'nin L bir numarası var N- (dilbilgisinden hesaplanabilir veya en azından bir üst sınırı kolayca hesaplanabilir), xL hangisinden daha uzun N- pompalanabilir.

Bu demektir ki eğer Lsonludur, içindeki tüm kelimelerL daha kısadır N-.

Şimdi, kontrol edilmesi gereken tek şey, N- ve 2N-. Böyle bir kelime varsa, o zamanLsonsuzdur. Bu ifadenin "sadece ve sadece" olduğunu görmek çok zor değil, bu nedenle bu aralıkta hiçbir kelime bulamazsanız,Lsonludur. Buradaki verimlilik Victor'un cevabından çok daha kötü, ancak CFL'lerin yapısı hakkında bir şeyler öğretiyor.

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.