Normal bir dilde olası kelime uzunluğu kümeleri nelerdir?


Yanıtlar:


14

İlk olarak, önemli olmayan ama uygun bir gözlem: boş olmayan bir alfabe üzerinde normal bir dil için olan tamsayı kümelerinin kümesi , seçime bağlı değildir kümesi. Bunu görmek için tanıyan sonlu bir otomat düşünün ; de bulunan kelimelerin uzunlukları, başlangıç ​​durumundan herhangi bir kabul durumuna kadar etiketlenmemiş bir grafik olarak görülen otomattaki yolların uzunluklarıdır. Özellikle, her oku etiketleyebilir ve alfabesi üzerinde aynı uzunlukta ayarlanmış normal bir dil alabilirsiniz . Tersine,SLS(L)LALLa{a}L tek öğeli bir alfabe üzerinde normal bir dildir, önemsiz bir şekilde daha büyük bir alfabeye enjekte edilebilir ve sonuç hala normal bir dildir.

Bu nedenle, tek bir alfabe üzerinde kelimeler için olası uzunluk kümelerini arıyoruz. Tek bir alfabede, dil, tekli olarak yazılan uzunluktur: . Bu tür dillere tekli diller denir.LS(L)={nNanL}

Let düzenli bir dil olması ve tanıyan bir deterministik sonlu otomat (DFA) dikkate . kelimelerinin uzunluk kümesi, DFA'da başlangıç ​​durumunda başlayan ve kabul durumlarından birinde sona eren yönlendirilmiş bir grafik olarak görülen yolların uzunluk kümesidir. Tek elementli bir alfabe üzerindeki bir DFA oldukça uysaldır (NFA'lar daha vahşi olur): sonlu bir liste veya dairesel bir liste. Liste sonluysa, liste sırasını izleyerek ile arasındaki durumları numaralandırın ; daireselse, listenin başını takip eden ila ve döngü boyunca ila arasındaki sayıları numaralandırın .LLL0h0hhh+r

liste şeklindeki otomatlar

Let kadar durumları kabul indekslerinin kümesi ve ile ilgili durumları kabul indekslerinin kümesi için . SonraFhGhh+r

LS(L)=F{kr+xxG,kN}

Tersine, ve iki tamsayı olsun ve ve iki sonlu tamsayı seti olsun, öyle ki ve . Sonra normal bir dildir: dil yukarıda açıklanan DFA tarafından tanınmaktadır. Bu dili tanımlayan normal bir ifade .hrFGxF,xhxG,hxh+rLF,G,r={akr+xxG,kN}aFaG(ar)

İngilizce özetlemek gerekirse , normal dillerin uzunluk kümeleri, belirli bir değerin üzerinde periyodik¹ olan tamsayı kümeleridir .

¹ bir asmak için köklü kavramı , periyodik aracı bir fonksiyonudur dizi karakteristik fonksiyonu ( biz asansör hangi bir fonksiyon ) periyodiktir. Belirli bir değerin üzerinde periyodik sınırlandırılmış işlevin periyodik bir işleve kadar uzatılabileceği anlamına gelir . N{false,true}Z{false,true}[h,+[


Alfabenin ilgisizliği hakkındaki gözleminiz, Parikh teoreminin uygulanabileceğini düşündürmektedir. Özellikle, L 'de tüm harflerin tek bir alfabeye daraltıldığı LS (L) = LS (L') olduğunu gösterirsiniz. Ancak LS (L '), herhangi bir normal dil için yarı doğrusal olduğu bilinen L dilinin Parikh eşlemesidir.
Suresh

Güzel yaklaşım! 1) İlk paragrafın dize homomorfizmlerine karşı düzenli dillerin kapalı olduğunu belirterek değiştirilebileceğini düşünüyorum. 2) Anlaşılır olması için, in ikinci bölümünü , modulo tek tek hatalar olarak vermeyi düşünmelisiniz . 3) "Periyodik" tamsayı kümesi nedir? { h + k r + ( x - h ) }LS(L){h+kr+(xh)}
Raphael

1
@Suresh, Raphael (1): Kanıtı temel bir şekilde belirtmeyi tercih ediyorum, CS 102 sınıfımda ne homomorfizmlerden ne de Parikh eşlemlerinden bahsedilmedi.
Gilles 'SO- kötü olmayı bırak'

@Raphael (2) dizine eklemeye başladığınız yerde önemli değil, koşulunu kaldırabilirim , çünkü istediğimiz kadar küçük elemanı emebilir. (3) Belirli bir değerin üzerinde periyodik olan bir küme, yukarıda gösterilen forma konabilecek kümedir. h G FGhGF
Gilles 'SO- kötü olmayı bırak'

5

herhangi bir sonlu alt kümesi, normal bir dilinin uzunluk kümesi olabilir, çünkü tekli bir alfabe ve şu şekilde tanımlayabilirsiniz (buna boş dil ve ). L { 0 } L { 0 1 , ... , 0 n } { ε }{1,,n}NL{0}L{01,,0n}{ε}

Şimdi sonsuz kümeler için. Kısa bir analiz yapacağım, ancak son cevap yeterince açık olmayabilir. Bana sormadıkça ayrıntıya girmeyeceğim, çünkü bence sezgisel ve şimdi fazla vaktim yok.

sırasıyla ve dilleri üreten normal ifadeler olsun . Bunu görmek çok kolayL 1 L 2r1,r2L1L2

  • LS(L(r1+r2))=LS(L1L2)=LS(L1)LS(L2) .
  • LS(L(r1r2))=LS(L1L2)={1+2:1LS(L1),2LS(L2)} . Bu .LS(L1)+LS(L2)
  • LS(L(r1))={0}n1{i=1ni:(1,,n)(LS(L1))n}.

Böylece, düzenli bir dilin uzunluğu belirlenmiş olabilir tamsayılar olası setleri sonlu alt kümeleri olanlardır veya bu sonlu alt kümelerini alarak inşa edilebilir ait ve önceki formülleri sonlu kez kullanarak.NS1,S2N

Burada, düzenli dillerin tanım gereği, düzenli ifadeyi sonlu kez oluşturmak için kurallar uygulanarak oluşturulduğunu kullanıyoruz. Normal ifadelerde 0 ve 1 uzunluğundaki kelimelerle yalnızca temel durum olarak , herhangi bir sonlu alt kümesiyle başlayabileceğimizi unutmayın . Bu, tüm (sonlu) kelimelerin alfabenin sembollerinin (sonlu) birleştirmeleri olmasıyla kolayca doğrulanabilir.N


Son bir cevap görmüyorum. (Cevabınızı daha sonra bitirmek mi istediniz?) Olası setlerin basit bir tanımını ve otomatlarla bağlantı kurmayı umuyordum.
Gilles 'SO- kötü olmayı bırak'

Son cevap orada: "Böylece, olası tamsayı setleri ...". Bu, otomatik ifadelerle değil, düzenli ifadelerle bağlantılı olsa da, aslında basit bir açıklamadır.
Janoma

Bir düzeltme noktası almayı gerektirmeyen daha basit bir açıklama var. Belki de bu soru düşündüğüm kadar basit değil!
Gilles 'SO- kötü olmayı bırak'

Son kuraldan kaçınabileceğinizi sanmıyorum, çünkü sonsuz dil setleri ürettiği gibi sonsuz uzunluk kümeleri üretebilen yıldız operatörüdür.
Janoma

@Gilles Yani Janoma'nın sunduğu endüktif çözümün en küçük sabitleme noktasının kapalı bir formunu mu istiyorsunuz?
Raphael

2

Düzenli diller için pompalama lemmasının göre, bir vardır böyle bir dize o için eşit, en azından uzunluğunun aşağıdaki biçimde yazılabilir: aşağıdaki üç koşul tutun Nerede:nxn

x=uvw
|uv|<n
|v|>0
uvkwL

Bu, kümeler için bize bir test verir: bir küme, tüm öğeleri sabit bir büyük olmayan rasgele bir tamsayılar kümesi , artı belirlenmemiş bir değerinin katları (uzunluk ve ) olan, bir kaç sonlu bir değer.nmv

Başka bir deyişle, normal diller için olası dil uzunluğu kümeleri, aşağıdaki gibi tanımlanan kümelerin birliği (EDIT ve EDIT2'de tartışıldığı gibi) ile ilgili olarak kapatılmasıdır: Sabit ve tüm sonlu kümeler , düzenli diller için pompalama lemmasıyla (Gilles'te aptalca bir hatayı işaret ettiği için Gilles'e teşekkürler) orijinal sürümü, burada set ) tanımlamaktayım .

{a+bn|nN}S
a,bNSN

EDIT: Biraz daha tartışma. Kesinlikle tüm sonlu tamsayılar uzunluk kümeleridir. Ayrıca, iki uzunluk kümesinin birleşimi de herhangi bir uzunluk kümesinin tamamlayıcısı olması gerektiği gibi bir uzunluk kümesi olmalıdır (dolayısıyla kesişme, dolayısıyla fark). Bunun nedeni, bu operasyonlar altında normal dillerin kapalı olmasıdır. Bu nedenle, yukarıda verdiğim cevap (muhtemelen) eksiktir; gerçekte, bu tür kümelerin herhangi bir birleşimi aynı zamanda bazı normal dilin uzunluk kümesidir (kesişim, tamamlayıcı, fark vb. gerektiren terk ettiğimi unutmayın, çünkü bunlar normal özelliklerin bu özellikler altında kapalı olması gerçeğiyle kaplıdır. EDIT3'te tartışılmıştır; diğerleri doğru olsa bile, sadece sendikanın gerekli olduğunu düşünüyorum, durum böyle olmayabilir).

EDIT2: Daha fazla tartışma. Verdiğim cevap temelde Janoma'nın cevabını biraz daha ileri götürürseniz nerede olacağınızdır; kısmı Kleene yıldızdan gelen birleştirme gelir ve birlik, kavşak, farkın tartışma ve normal ifade + (yanı sıra düzenli dillerin diğer kapatma özelliklerine) otomata gelen kanıtlanabilir başlangıç) gelen kompleman.bna

EDIT3: Janoma'nın yorumları ışığında, ilk EDIT'te tartıştığım dil uzunluğu kümelerinin kapatma özelliklerini unutalım. Normal diller bu kapatma özelliklerine sahip olduğundan ve her normal dilde bir DFA bulunduğundan, normal diller için pompalama lemmasının tüm sendikalar, kavşaklar, tamamlayıcılar ve normal dillerin farklılıkları için geçerli olduğu ve bunu bu şekilde bırakacağız. ; Orijinalimin (Gilles'in girdisi sayesinde değiştirildi) düzeltilmesi için hala gerekli olabileceğini düşündüğüm sendika dışında bunlardan herhangi birini düşünmeye bile gerek yok. Yani, son cevabım şu: orijinal versiyonda söylediğim, artı set birliğine göre dil uzunluğu setlerinin kapanması.


1
{a+bna,b,nN}S doğru yolda, ancak bir yerde yanlış bir nicelik belirteciniz var, üretiyorsunuz . N
Gilles 'SO- kötü olmayı bırak

1
Bir uzunluk kümesinin tamamlayıcısı için analiz biraz hassas olabilir. Eğer alfabe üzerinde ardından uzunluğu grubu olan ve uzunluğu grubu olan ve bunlar birbirini tamamlamıyor. Σ = { a , b } L N ¯ L N +L=L(a)Σ={a,b}LNL¯N+
Janoma

@Gilles Ama tüm doğal sayılar kümesi geçerli bir uzunluk kümesi, değil mi? Doğal sayıların tüm alt kümelerini oluşturmuyorum, değil mi? Bunun sorunlu olacağına katılıyorum. Düzenleme: oh bekle, ne dediğini anlıyorum. Evet haklısın. Bilgisayarınıza döndüğünüzde düzelir.
Patrick87

@Janoma Mükemmel bir nokta, bunun tanımladığım şeyleri nasıl değiştirebileceğini düşünmek gerekecek ...
Patrick87
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.