Regolarità della metà esatta delle parole da una lingua normale


8

Sia un linguaggio regolare. La lingua regolare?L
L2={y:∃x,z  s.t.|x|=|z| and xyz∈L}

So che è molto simile alla domanda qui , ma il trucco è che non è una semplice sottostringa di una parola in una lingua normale, ma piuttosto un "centro esatto" - dobbiamo contare il prefisso e la lunghezza del suffisso.

Pertanto, presumo che non sia regolare, ma non sono riuscito a trovare un modo per dimostrarlo. Inoltre non riuscivo a pensare ad alcun modo per modificare l'NFA di per accettare .LL2


"medio esatto" sembra suggerire? A proposito, anche quello sarà regolare! |x|=|y|=|z|
— Hendrik Jan

Hai provato le cose dalla nostra domanda di riferimento ?
— Raffaello

Risposte:


6

Suggerimento: Consideriamo alcuni DFA per . Per ogni , sia l'insieme di stati tale che vi sia una parola di lunghezza che conduca il DFA dallo stato iniziale a . Sia l'insieme degli stati tale che vi sia una parola di lunghezza che conduca il DFA da ad uno stato accettante. Infine, per ogni due stati , sia l'insieme di parole (regolare) che conduce il DFA da a . abbiamo Ln≥0AnsnsBntnts,tRs,tst

L2=⋃n≥0⋃s∈Ant∈BnRs,t.
Dal momento che ci sono solo molte possibilità finite per , l'unione è in realtà finita e così regolare.s,t

3

Sia sia un DFA . Senza perdita di generalità, assumere . Costruiamo un ε-NFA per nel modo seguente:D=(Q,Σ,δ,q0,F)LqS,qF∉QN=(Q∪{qS,qF},Σ,Δ,qS,{qF})L2

Trova ogni percorso in da a qualsiasi . Per ciascuno di questi percorsi costruisci i percorsi per (ovvero costruisci tutte le "parti intermedie" del percorso). Questo può essere fatto in modo efficace. Costruisci combinando tutti questi percorsi, insieme a:Dq0f∈Fpk:q0=qk,0→αk,1qk,1→αk,2…→αk,iqk,i→αk,i+1…→αk,nkqk,nkpk(i):qk,i→αk,i+1qk,i+1→αk,i+2…→αk,nk−iqk,nk−i0≤i≤nk2Δ

  • (qS,ε,qk,i) per tutti come soprai
  • (qk,nk−i,ε,qF) per tutti come soprai

L(N) è regolare per costruzione.

Schizzo di prova che : Lascia . Per costruzione sappiamo che deve corrispondere almeno sui percorsi sopra. Ciascuno di questo percorso appartiene a un percorso in , che contiene un prefisso e un suffisso aggiuntivi di lunghezza . Scegli come parola descritta da questo prefisso e quella descritta dal suffisso. Troviamo che , con . Con un ragionamento simile che troviamo per ogni un percorso in . Permettetemi essere la lunghezza edL(N)=L2w∈L(N)wpk(i)Dixyxwy∈L|x|=|y|=iw∈L2Nixyappartenente a . per alcune forme .wpk(i)kw

Quindi .L(N)=L2


Dato che ci sono infiniti percorsi, l'osservazione "Questo può essere fatto efficacemente" sembra aver bisogno di qualche spiegazione. Nota che non è strettamente necessario usare quella proprietà, vedi la risposta di Yuval, che (per me) è una versione "non efficace" dello stesso argomento.
— Hendrik Jan

Hai ragione. Non è necessario considerare i loop due volte. Il prossimo punto critico sembra essere che c'è qualche appartenente a , poiché combinando i percorsi potrebbero emergere nuovi percorsi. Vedete, non ho esaminato a fondo la mia prova, ma credo che tutti questi problemi potrebbero essere risolti. pk(i)w
— ipsec,
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.