Complessità nel verificare se due parole hanno un interfogliamento in una lingua


9

Per una lingua fissa sull'alfabeto A , consideriamo il seguente problema, che io chiamo L -INTERLEAVING :LAL

  • Input: due parole u,vA
  • Resa: se esiste un interleaving di e v che è in L .uvL

Qui, un interleaving di due parole e v è una parola w che può essere ottenuta intuitivamente prendendo le lettere di u e v , mantenendo il loro ordine relativo. Formalmente, w è un interleaving di u e v se possiamo suddividere in due sottosequenze disgiunti, uno che è uguale a u e l'altro che è uguale a v . Ad esempio, "bheleloll" è un'interlacciata di "ciao" e "campana".uvwuvwuvuv

Qual è la complessità del problema -INTERLEAVING, a seconda della lingua L ? LLIn particolare:

  • Se è regolare, allora possiamo risolvere il problema con un algoritmo dinamico sulle due stringhe che mostra che è nella classe NL. È NL-difficile per alcune lingue normali? Tuttavia, per alcune lingue regolari, il problema è chiaramente in L (spazio logistico deterministico). C'è qualche caratterizzazione delle lingue per le quali il problema è in L?L
  • Se non è regolare, il problema è ancora in NL quando L presenta una complessità spaziale deterministica online polinomiale (vedere qui per questa nozione o la mia domanda precedente ). Tuttavia, ciò non copre, ad esempio, tutte le lingue senza contesto; tuttavia, alcuni altri (ad es. palindromi) possono anche essere indicati come NL (ad es. eseguendo un algoritmo dinamico simultaneamente dall'inizio e dalla fine). Esiste un linguaggio privo di contesto il cui problema di interfogliatura a L è NP-difficile?LLL

Risposte:


6

Per una parola e per due numeri interi i , j con 1 i j indichiamo con w ( i , j ) la parola secondaria w i w i + 1w j di w . Inoltre lasciamo w ( 0 , 0 ) denota la parola vuota.w=w1wi,j1ijw(i,j)wiwi+1wjww(0,0)

  • Sia e v = v 1v n le due parole in esame.u=u1umv=v1vn
  • Supponiamo che la lingua senza contesto sia specificata da una grammatica senza contesto nella forma normale di Chomsky.L

Costruire un programma dinamico, in cui uno stato è specificato da[i,j,r,s,A]

  • due numeri interi con 1 i j m oppure i = j = 0i,j1ijmi=j=0
  • due numeri interi con 1 r s n oppure r = s = 0r,s1rsnr=s=0
  • un simbolo non terminale nella grammatica senza contestoA

Per ogni stato, decidere se nella grammatica libera dal contesto esiste qualche derivazione che inizia con il non terminale e che termina con alcune interleaving dei due parole u ( i , j ) e w ( r , s ) . Questa decisione può essere facilmente presa se gli stati sono gestiti nel giusto ordine (parole chiave brevi prima parole più lunghe).Au(i,j)w(r,s)

LL


Grazie! In effetti non avevo notato che questa variante di en.wikipedia.org/wiki/CYK_algorithm avrebbe funzionato per dimostrare che il problema è in P per i linguaggi senza contesto. Detto questo, non vediamo come mostrare che il problema è in NL usando questo algoritmo: sembra che abbiamo bisogno di fare un numero logaritmico di ipotesi (l'altezza dell'albero), ogni ipotesi essendo logaritmica (cioè, posizioni nella corda). Qualche idea su questo?
a3nm,

2
@ a3nm Se la parola vuota appartiene a un CFL è già P-hard.
Sylvain,

@Sylvain: OK è P-hard, ma in funzione del CFL. :) Ricorda che nel mio problema il linguaggio (o un CFL per esso) sono corretti e l'input è solo le due stringhe, quindi non credo che questo argomento si applichi.
a3nm,

2
@ a3nm scusate mi ero davvero perso il fatto che la lingua fosse corretta. Quindi il candidato naturale sarebbe la durezza LogCFL.
Sylvain,

@Sylvain: Esatto, grazie! Quindi indovino che la parola problema sia LogCFL-difficile anche per un linguaggio CFL fisso (cioè, il linguaggio più difficile di Greibach), quindi in particolare ci sono linguaggi CFL per i quali il mio problema è LogCFL-difficile (prendi casi in cui la seconda stringa è vuota ). Al contrario, immagino che l'algoritmo di Gamow sia in LogCFL (?). Tuttavia, questo mi fa pensare alle lingue per le quali il mio problema sarebbe più facile che questo vincolo, e come potrebbero essere classificati ...
a3nm
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.