Kompleksitas memeriksa apakah dua kata memiliki interleaving dalam bahasa

9

Untuk bahasa tetap pada beberapa alfabet , mari kita pertimbangkan masalah berikut, yang saya sebut -INTERLEAVING :A LLAL

  • Input: dua katau,vA
  • Output: apakah ada suatu interleaving dari dan yang di .v LuvL

Di sini, interleaving dua kata dan adalah kata yang dapat diperoleh secara intuitif dengan mengambil huruf dan sambil menjaga urutan relatifnya. Secara formal, adalah interleaving dari dan jika kita dapat mempartisi menjadi dua disjoint, yang sama dengan dan yang lainnya sama dengan . Misalnya, "bheleloll" adalah interleaving dari "halo" dan "bel".v w u v w u v u vuvwuvwuvuv

Apa kompleksitas masalah -INTERLEAVING, tergantung pada bahasa ? LLLKhususnya:

  • Jika teratur, maka kita dapat menyelesaikan masalah dengan algoritma dinamis pada dua string yang menunjukkannya berada di kelas NL. Apakah ini sulit untuk beberapa bahasa biasa? Namun, untuk beberapa bahasa reguler, masalahnya jelas dalam L (deterministic logspace). Apakah ada beberapa karakterisasi bahasa yang masalahnya ada di L?L
  • Jika tidak teratur, masalahnya masih di NL ketika memiliki kompleksitas ruang deterministik polinomial online (lihat di sini untuk gagasan ini, atau pertanyaan saya sebelumnya ). Namun, ini tidak mencakup, misalnya, semua bahasa bebas konteks; namun, beberapa yang lain (misalnya, palindrom) dapat juga ditunjukkan sebagai NL (misalnya, dengan melakukan algoritma dinamis secara bersamaan dari awal dan dari akhir). Apakah ada bahasa bebas konteks yang masalah interleaving NP-hard?LLLL
a3nm
sumber

Jawaban:

6

Untuk kata dan untuk dua bilangan bulat dengan kita dilambangkan dengan kata kunci dari . Selanjutnya kita membiarkan menunjukkan kata kosong. i , j 1 i j w ( i , j ) w i w i + 1 ... w j w w ( 0 , 0 )w=w1wi,j1ijw(i,j)wiwi+1wjww(0,0)

  • Biarkan dan menjadi dua kata yang dipertimbangkan. v = v 1 ... v nu=u1umv=v1vn
  • Asumsikan bahwa bahasa bebas konteks ditentukan oleh tata bahasa bebas konteks dalam bentuk normal Chomsky.L

Bangun program dinamis, di mana keadaan ditentukan oleh[i,j,r,s,A]

  • dua bilangan bulat dengan atau1 i j m i = j = 0i,j1ijmi=j=0
  • dua bilangan bulat dengan atau1 r s n r = s = 0r,s1rsnr=s=0
  • simbol non-terminal dalam tata bahasa bebas konteksA

Untuk setiap negara, putuskan apakah dalam tata bahasa bebas konteks ada beberapa derivasi yang dimulai dengan non-terminal dan yang berakhir dengan beberapa interleaving dari dua kata dan . Keputusan ini dapat dengan mudah dibuat, jika negara bagian ditangani dengan urutan yang benar (subword pendek sebelum subword panjang).u ( i , j ) w ( r , s )Au(i,j)w(r,s)

Semua dalam semua, ini menghasilkan algoritma waktu polinomial untuk masalah -interleaving dari setiap bebas konteks bahasa .LLL

Gamow
sumber
Terima kasih! Memang saya tidak memperhatikan bahwa varian en.wikipedia.org/wiki/CYK_algorithm ini akan berfungsi untuk menunjukkan bahwa masalahnya ada di P untuk bahasa bebas konteks. Yang mengatakan, kita tidak melihat bagaimana menunjukkan bahwa masalahnya ada di NL menggunakan algoritma ini: kita tampaknya perlu membuat jumlah tebakan logaritmik (tinggi pohon), masing-masing tebakan menjadi logaritmik (yaitu, posisi dalam tali). Ada ide tentang ini?
a3nm
2
@ a3nm Apakah kata kosong itu milik CFL sudah P-hard.
Sylvain
@ Silvain: OK itu P-hard, tetapi sebagai fungsi dari CFL. :) Ingatlah bahwa dalam masalah saya bahasa (atau CFL untuk itu) sudah diperbaiki, dan input hanya dua string, jadi saya tidak berpikir bahwa argumen ini berlaku.
a3nm
2
@ a3nm maaf saya memang melewatkan fakta bahwa bahasa telah diperbaiki. Maka kandidat alami adalah kekerasan LogCFL.
Sylvain
@ Silvain: Benar, terima kasih! Jadi memang saya kira kata masalah adalah LogCFL-hard bahkan untuk bahasa CFL tetap (yaitu, bahasa paling sulit Greibach), jadi khususnya ada bahasa CFL yang masalah saya adalah LogCFL-hard (ambil contoh di mana string kedua kosong ). Sebaliknya saya membayangkan bahwa algoritma Gamow ada di LogCFL (?). Namun, ini membuat saya bertanya-tanya tentang bahasa yang masalah saya akan lebih mudah
dibandingkan