Mı düzenli?


9

Hesaplama teorisi sınavımı birkaç hafta önce aldım ve bu sorulardan biriydi:

Dilini varsayalımL={(anbm)rn,m,r0}

L düzenli mi? Evetse, bunun için normal bir ifade veya bir otomat sağlayın.

Sınavdan sonra kısaca ona cevap sorduktan sonra, gerçekten düzenli görünüyor (İfadenin basit olduğunu söylediğine inanıyorum ). Ancak bunun neden olduğunu anlayamıyorum. Gördüğüm gibi, onun r kez birleştirme, şöyle:(ab)anbm

anbmanbmanbm...anbmanbm ,

o zaman düzenli değildir çünkü bir otomatın n ve m'yi her seferinde hatırlaması mümkün değildir . Burada nerede hata yapıyorum?

EDIT: Profesörle tekrar konuştum, bunun bir hata olduğunu itiraf etti. Dil gerçekten düzenli değil.


14
Öğretmeninize dilinin . Eğer "evet" derse, ona sorusunun yanlış biçimlendirildiğini söylediğimi söyle. LK={an1bm1an2bm2anrbnrr0,a1,,ar0,b1,,br0}
Andrej Bauer

1
Düzenli olabilmenin tek yolu bu gibi görünüyor ve aslında bu aceleyle düşündüğüm ve aslında düşündüğüm şeydi (a b ) *, ama sonra n ve m'nin aynı kalmasını (ya da yapması gerektiğini) fark etti ve verdi r = 2 için pompalama bir lemma disproval'i, daha büyük r için de geçerli olduğunu söyleyerek (muhtemelen tam olarak tam bir çözüm değil, ancak doğru yönde gibi görünüyor). Söylemeye gerek yok, bu soru için 0 aldım. Onunla iletişime geçmeye çalışacağım.

Soruyu başlangıçta yaptığınız şekilde kesinlikle anlıyorum.
Andrej Bauer

Bir dilin normal olmadığını göstermenin diğer yolları için buraya bakın .
Raphael

aynı şeyi lemma pompalama ile de kanıtlayabilirsiniz
SAHIL THUKRAL

Yanıtlar:


10

Nerode yöntemi kullanılarak kanıtlanabileceği gibi dili düzenli değildir. için kelimelerini göz önünde bulundurun . Sonra , ancak , . Bu nedenle, için herhangi bir otomasyon, her bir okuduktan sonra farklı bir durumda , bu da sonluluğuyla çelişir.Lwn=anbnNwn2LnmwnwmLLwn


4

Yorumunuzda , "daha büyük için de geçerli olduğunu söyleyerek, için bir pompalama lemma disproval verdiğinizi" ima edersiniz .r=2r

Bu aslında bir kapanış özelliği uygulanarak resmileştirilebilir. Normal diller kavşak altında kapalıdır. Eğer düzenli ise, o zaman , ve etkin bir şekilde ayarlanır .LLabab={anbanbn0}r=2m=1


1
Sevgili okuyucu, lütfen yok "eğer götürmek düzenli değildir o zaman ne olduğunu " Burada - bu sadece yanlış çünkü! LLL
Raphael

1
@Raphael Doğru. Dolayısıyla doğru sonuç " düzenli değilse, o zaman " olacaktır, burada normaldir. LRLR
Hendrik Ocak

1
Elbette. Acemilerin “etkin bir şekilde ayarlanıyor ...” okuyabileceği ve bunu kapatma özelliklerini kullanmadan uygulayabileceği konusunda endişeliydim.
Raphael

0

Dil: {(a n b m ) r | n, m, r≥0} olduğu değil otomat / makine harfleri 'a' ve ardından harfleri 'b' ilk dizisini okurken, çünkü sayısıyla mektubu okumak saymak gerekir, düzenli 'a' ve n ve m değerlerini bilmek için ilk sırada 'b' harfini okuma sayısı .

Eğer r> 1 daha sonra başka bir aynı harf 'a' ve harfleri 'b' dizisi tahmin edilmektedir.

Otomat / makine yoksa değil ilk sekansta okumak kaç tane mektup 'a' ve harfleri 'b' biliyor o zaman da yok değil değerini bilmek n ve m ve böylece edebilirsiniz değil söylemek ikinci ile son arasındaki diğer diziler, ilk diziye eşit olan kelimelerdir.

Ancak sadece Turing makinesinin n ve m değerlerini sayabildiği ve bildiği ve yukarıdaki dili tanıyabildiği bilinmektedir, bu nedenle sadece yukarıdaki dil düzenli değildir , aynı zamanda bağlamdan da bağımsız değildir , yani bu dili tanımak için aşağı itme otomatı mevcut değildir ve o bağlamsız gramerden türetilmiş her kelimenin yukarıdaki dilde olduğu bağlamsız gramer yoktur.

Aslında Çünkü hem deterministik sonlu durum makinesi ve aşağı açılan bir sonlu otomat olabilir değil saymak ve değerlerini bilmek n ve m , Turing makinası aksine, onlar olabilir değil yukarıdaki dilini tanır ve böylece yukarıdaki dildir değil bağlam serbest ve düzenli değil .

Yukarıdaki dilin normal olduğu varsayımına bir örnek:

İçin n = 3 ∧ m = 5 ∧ r = 2 , aşağıda belirtilen kelime yukarıda dilde:

aaabbbbbaaabbbbb

Ama şu kelime dilde değil :

aaabbbbbaaaaabbb, çünkü olmayan ana kadar , n, m ve r, böylece:

(a n b m ) r = aaabbbbbaaaaabbb, çünkü 'a' harflerinin ve ardından 'b' harflerinin ilk sırasını tatmin etmek için n = 3 ∧ m = 5 olduğu ve 2 harf dizisi gördüğümüz için doğru olmalıdır. a 've sonra' b 'harfleri, sonra r = 2 , ancak n = 3 ∧ m = 5 ∧ r = 2 ise (a n b m ) r = (a 3 b 5 ) 2 = (aaabbbbb) 2 = aaabbbbbaaabbbbb ≠ aaabbbbbaaaaabbb, çünkü ekleri farklıdır, yani aaabbbbb ≠ aaaaabbb, ancak ön ekleri r = 1 için aaabbbbb'a eşittir.

Bu dil için inşa edilebilir "en iyi" deterministik sonlu durum makinesi normal ifadeyi tanır deterministik sonlu durum makinesi (a * b *) *, ancak yok değil hem o kelime söyler, çünkü yukarıdaki dili tanımak aaabbbbbaaabbbbb ve aaabbbbbaaaaabbb dildedir ve bu doğru değildir, çünkü aaabbbbbaaabbbbb dildir, ancak aaabbbbbaaaaabbb dilde değildir .

Aşağı itilen sonlu otomatlar bile her iki kelimenin de dilde olup olmadığını söyleyemez, bu yüzden sadece Turing makinesi bunu yapabilir.

İkinci sırada Turing makinesi, n = 5 ∧ m = 3 olduğunu buldu ve bu , ilk sekansta n = 3 ∧ m = 5 olduğunu bulduğuyla çelişiyor , bu nedenle ikinci kelimenin dilde olmadığını söylüyor , ancak ilk kelimede herhangi bir çelişki bulunamadı.

Her iki dizi de n = 3 ∧ m = 5 değerini karşılar , bu nedenle Turing makinesi ilk kelimenin dilde olduğunu söyler.

Sadece Turing makinesi, n ve m değerlerini sayar ve hatırlarsa, değerlerini kasetine yazıp daha sonra okuyabilir.

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.