Kopyalama dilinin durum karmaşıklığı nedir?


10

Bir sayı verilsin. Aşağıdaki dili düşünün L n = {n .Ln={ww|w{0,1}n}

Kelimelerde, , 2 n uzunluğunda kopya dizeleridir .Ln2n

Düşünün Aşağıdaki durum karmaşıklığı fonksiyonu , öyle ki s ( n ) tanıyan küçük ters otomata durum sayısı olan L n .ss(n)Ln

Soru: için anlamlı herhangi bir alt sınır kanıtlayabilir misiniz ?s(n)

Bağlamım: .s(n)=2Θ(n)

Bilinen Üst Sınır: .s(n)poly(n)2n2

Kurallar:

(1) Yığın alfabesi ikili olmalıdır.

(2) Giriş bandı tek yönlüdür ve herhangi bir giriş karakteri üzerinde duramaz.


Şu anda anlamlı bir alt sınırım yok. Bana öyle geliyor ki, dili tanıyan bir CFG için ihtiyaç duyduğunuz değişken sayısı için bir alt sınır kanıtlayabilirsiniz. Buna rağmen bundan tam olarak emin değilim.
Michael Wehar

1
Sezgim, karakterleri giriş kasetinden yığına doğru iterken bir sorunla karşılaşmanızdır. Bu bitleri daha sonra almak isterseniz, üzerine ittiğiniz tüm bitleri atmanız gerekir. Başka bir deyişle, yığının size yardımcı olmadığı anlaşılıyor çünkü ona ne kadar çok basarsanız, daha sonra unutmaya o kadar zorlanırsınız.
Michael Wehar

1
Not: DFA'lar için (yığınsız otomata), üstel durum karmaşıklığının alt sınırını kanıtlayabilirsiniz.
Michael Wehar

1
Daha basit problemi için makul bir alt sınır gösterebilir misiniz ? {0k1l0k1l}
András Salamon

1
Daha kesin bir üst sınır, durumu gibi görünmektedir . (n+3)2n/2
András Salamon

Yanıtlar:


10

Yuval tarafından tarif edilen teknik:

Bu sonlu dili tanımlayan polinom boyutlu CFG var mı?

(ayrıca okuyabilirsiniz: Belirli sonlu diller için CFG'lerin boyutuna daha düşük sınırlar )

CFG'ler için üstel bir alt sınırın kolayca gösterilmesini sağlar. Let için Chomsky Normal Formunda bir dilbilgisi L n . Her bir kelime için, ağırlık { 0 , 1 } , n , en az bir terminal olmayan vardır bir ( a ) kabul eden bir alt-kelime s ( w ) arasında ağırlık ağırlık arasındaki uzunluğa sahip n / 2 ve n . Let p ( a ) bir pozisyon ağırlık ağırlıkGLnw{0,1}nA(w)s(w)wwn/2np(w)wwbu alt sözcüğün gerçekleştiği yer. Tüm w , w kelimelerinde ortak olan A ( w ) = A ( w ) ve p ( w ) = p ( w ) olacak şekilde en az bit vardır . Sonuç olarak, aynı A ( w ) ve p ( w ) kelimelerine sahip en fazla 2 n / 2 kelime olabilir . Dolayısıyla en az 2n/2w,wA(w)=A(w)p(w)=p(w)2n/2A(w)p(w) terminal olmayan.2Θ(n)

Bu da vermektedir Bundan başka, PDA polinom büyüklüğü, CNF bir CFG dönüştürülebilir durumu karmaşıklığına bağlı L n .2Θ(n)Ln


Harika, tekrar teşekkürler! Şimdi görüyorum ve onaylamak için düşüneceğim. :)
Michael Wehar

2
Sağdan tekrar: uzunluğu den [ n / 2 , n ]' ye değiştirmek başka bir sorun yarattı. Bu argümanı Yuval'ınkine benzer şekilde düzeltmek zorunda kaldım (sayma çakışmaları). Şimdi bunun doğru olduğuna inanıyorum, sonunda. Cevabı düzenledim ve yorumlarımı sildim[n,2n][n/2,n]
Joseph Stack

1
Durumda başkasının yardımcı olur: notu keresinde seçilmiştir, A ( w ) sadece hiç tek alt-kelime verebilmesidir w w o pozisyon başlar p ( w ) . Bu aslında, bu dil için doğru CNF-CFG'lerin her birinin tek bir uzun alt sözcük üreten birçok nonterminal içermesi gerektiğini gösterir. (A(w),p(w))A(w)wwp(w)
András Salamon

2
Ayrıca makalemdeki Teorem 7'ye bakınız: cs.toronto.edu/~yuvalf/CFG-LB.pdf .
Yuval Filmus

1
@YuvalFilmus Andras'ın üst ve alt sınırları eşleştirmeye çalışmak için biraz zaman harcadığını da belirtmek gerekir. Arkadaşım Pepe ve ben genel bir sonlu dil sınıfı tanımladık ve tekniği onlara uyguladık. Yine de hiç bir şey yazmadık. Bununla ilgili herhangi bir sorun yaşarsanız, işbirliği yapmaya istekliyiz. Tekrar teşekkürler.
Michael Wehar
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.