Regularidad del medio exacto de las palabras de un lenguaje regular

8

Dejar Lser un lenguaje normal
Es el idiomaL2={y:x,z  s.t.|x|=|z| and xyzL} ¿regular?

Sé que es muy similar a la pregunta aquí , pero el problema es que no es una simple subcadena de una palabra en un idioma normal, sino más bien un "medio exacto": tenemos que contar el prefijo y la longitud del sufijo.

Por lo tanto, supongo que no es regular, pero no pude encontrar una manera de demostrarlo. Tampoco se me ocurrió ninguna forma de modificar el NFA deL aceptar L2.

Tomer
fuente
"medio exacto" parece sugerir |x|=|y|=|z|? Por cierto, ¡eso también será regular!
Hendrik ene
¿Has probado las cosas de nuestra pregunta de referencia ?
Raphael

Respuestas:

6

Sugerencia: considere algunos DFA para L. Para cadan0, dejar An ser el conjunto de estados stal que hay alguna palabra de longitudn que lleva el DFA desde el estado inicial a s. DejarBn ser el conjunto de estados ttal que hay alguna palabra de longitudn que lidera el DFA de ta un estado de aceptación. Finalmente, para cualesquiera dos estadoss,t, dejar Rs,t ser el conjunto (regular) de palabras que llevan a la DFA de s a t. Tenemos

L2=n0sAntBnRs,t.
Como solo hay muchas posibilidades para s,t, la unión es de hecho finita y tan regular.
Yuval Filmus
fuente
3

Dejar D=(Q,Σ,δ,q0,F) ser un DFA para L. Sin pérdida de generalidad, asumaqS,qFQ. Construimos un ε-NFAN=(Q{qS,qF},Σ,Δ,qS,{qF}) para L2 de la siguiente manera:

Encuentra cada camino en D desde q0 a cualquier fF. Para cada caminopk:q0=qk,0αk,1qk,1αk,2αk,iqk,iαk,i+1αk,nkqk,nk construir los caminos pk(i):qk,iαk,i+1qk,i+1αk,i+2αk,nkiqk,nki para 0ink2(es decir, construir todas las "partes intermedias" del camino). Esto se puede hacer de manera efectiva. ConstruirΔ combinando todos estos caminos, junto con:

  • (qS,ε,qk,i) para todos i como anteriormente
  • (qk,nki,ε,qF) para todos i como anteriormente

L(N) Es regular por construcción.

Bosquejo de prueba que L(N)=L2: Dejar wL(N). Por construcción sabemos quew debe coincidir al menos en uno de los caminos pk(i)encima. Cada uno de este camino pertenece a un camino enD, que contiene un prefijo adicional y un sufijo de longitud i. Escogerx como la palabra descrita por este prefijo y yel descrito por el sufijo Encontramos esoxwyL, con |x|=|y|=i. Con un razonamiento similar encontramos para cadawL2 un camino en N. Dejari ser la longitud de x y y perteneciendo a w. pk(i) para algunos k formas w.

Así L(N)=L2.

ipsec
fuente
Dado que hay infinitos caminos, la observación "Esto se puede hacer efectivamente" parece necesitar alguna explicación. Tenga en cuenta que no es estrictamente necesario usar esa propiedad, vea la respuesta de Yuval, que (para mí) es una versión "no efectiva" del mismo argumento.
Hendrik ene
Tienes razón. No es necesario considerar los bucles dos veces. El siguiente punto crítico parece ser que hay algunospk(i) perteneciendo a w, al igual que al combinar los caminos, podrían surgir nuevos caminos. Verá que no he revisado a fondo mi prueba, pero creo que todos estos problemas podrían resolverse.
ipsec