Apakah ada permutasi dan ukuran polinomial (dalam ) konteks tata bahasa gratis yang menggambarkan bahasa hingga lebih dari alfabet ?
PEMBARUAN: Untuk satu permutasi dimungkinkan. adalah pembalikan atau modifikasi pembalikan yang relatif kecil.
Apakah ada permutasi dan ukuran polinomial (dalam ) konteks tata bahasa gratis yang menggambarkan bahasa hingga lebih dari alfabet ?
PEMBARUAN: Untuk satu permutasi dimungkinkan. adalah pembalikan atau modifikasi pembalikan yang relatif kecil.
Jawaban:
Bentuk normal Chomsky
CFG dalam CNF (bentuk normal Chomsky) jika satu-satunya produksi adalah bentuk dan ; tata bahasa dapat dibawa ke CNF dengan hanya blowup kuadratik.A → B CA → a A → B C
Untuk tata bahasa di CNF, kita memiliki bagus Subword Lemma: Jika menghasilkan kata , maka untuk setiap , ada subword dari panjang yang dihasilkan oleh beberapa non-terminal . Bukti: Turunkan pohon sintaks (biner), selalu ke anak yang menghasilkan subword yang lebih panjang. Jika Anda mulai dengan subword dengan ukuran setidaknya , Anda tidak mungkin masuk di bawah .G w ℓ ≤ w x w ℓ / 2 ≤ | x | < ℓ G ℓ ℓ / 2G G w ℓ ≤ w x w ℓ / 2 ≤ | x | < ℓ G ℓ ℓ/2
Larutan
Tanpa kehilangan umum, kita dapat mengasumsikan bahwa tata bahasa untuk (bahasa seperti itu dengan ) adalah dalam Bentuk Normal Chomsky. Bahasa terdiri dari kata untuk semua .π 1 , π 2 ∈ S n L n w ( x ) = x π 1 ( x ) π 2 ( x ) x ∈ { 0 , 1 } nLn π1,π2∈Sn Ln w(x)=xπ1(x)π2(x) x∈{0,1}n
Menggunakan Subword Lemma, untuk setiap kita dapat menemukan substring panjangnya dihasilkan oleh beberapa simbol dan terjadi pada posisi .s ( x ) nw(x) s(x) A(x)p(x)
Misalkan dan . Karena , subword tidak dapat memotong bagian dan bagian dari ; kita dapat menganggapnya terpisah dari bagian . Jadi adalah dari bentuk . Ini menyiratkan bahwa menghasilkan tepat satu string, yaitu . Karena itu .A ( x ) = A ( y ) | s ( x ) | < n s ( x ) x π 2 ( x ) w ( x ) x w ( x ) x α s ( x ) β A ( x ) s ( x ) sp(x)=p(y) SEBUAH(x)=A(y) | s(x) |<n s (x) x π2( x) w ( x) x w ( x) x α s ( x ) β A ( x) s ( x) s ( x)=s(y)
Sekarang memotong atau setidaknya di tempat, dan dengan demikian menentukan setidaknya bit . Oleh karena itu paling banyak string dapat memiliki dan . Karena ada paling banyak kemungkinan untuk , kita dapatkan bahwa setidaknya ada non-terminal berbeda dalam tata bahasa.π 1 ( y ) π 2 ( y ) n / 4 n / 4 y 2 3 n / 4 y ∈ { 0 , 1 } n p ( x ) = p ( y ) A ( x ) = A ( y ) 3 n p ( y ) 2 n /s(y) π1(y) π2(y) n/4 n/4 y 23n/4 y∈{0,1}n p(x)=p(y) A(x)=A(y) 3n p(y)
Komentar: Bukti yang sama berfungsi jika , yaitu permutasi acak pada set semua kata-kata bit. Diberikan bit dari , ada persis preimages . n n / 4 π i ( y ) 2 3 n / 4 yπ1,π2∈S{0,1}n n n/4 πi(y) 23n/4 y
Lebih banyak contoh
Dengan menggunakan metode yang sama, seseorang dapat membuktikan bahwa bahasa tempat setiap karakter muncul tepat dua kali membutuhkan CFG ukuran eksponensial dalam ukuran alfabet. Kita dapat mengganti "dua kali" dengan subset dari selain dari empat yang sepele (mengabaikan , baik yang tidak mengandung atau semuanya). 0 N ≥ 1N 0 N≥1
Saya akan sangat menghargai referensi untuk metode bukti ini.
sumber