Probar que el idioma que consta de todas las cadenas en algún idioma tiene la misma longitud que alguna cadena en otro idioma es regular

8

Así que llevo unos días rascándome la cabeza sobre este problema. Dado un lenguaje y que es regular, demuestre que el lenguaje que consiste en todas las cadenas en cuya longitud es igual a alguna cadena en es un lenguaje regular.ABLAB

En forma de ecuación:

L={xAyB s.t. |x|=|y|}

Mi pensamiento inicial fue tratar de encontrar algunos DFA para ambos idiomas y y mapear los dos estados entre sí y, con suerte, obtener una relación 1: 1 de esa manera puedo generar un nuevo DFA que demuestre que es regular. Pero luego me di cuenta de que y no tienen que estar sobre el mismo conjunto de símbolos. ABLAB

Creo que la forma correcta de resolver esto es usar las propiedades de cierre del lenguaje normal, pero no estoy seguro de cómo comenzar / usar las propiedades para "longitudes" de cadenas en lugar de las cadenas en sí.

¿Podría alguien señalarme en la dirección correcta?

Jubilous
fuente

Respuestas:

4

Recuerde (o presente) la prueba de

L1,L2REGL1L2REG .

¿Ves cómo modificar la prueba para tu configuración?

la igualdad de longitudes, una construcción para un autómata para para dado, arbitrario sobre .

Ll={wΣxL.|x|=|w|}

LREGΣ

Ves la conexion?

Ahora tenga en cuenta que .L=ABl

Rafael
fuente
3

Sugerencias: supongamos que conoce todas las diferentes longitudes de palabras en , . Por el momento, supongamos que es finito.Blen(B)={1,2,3,...}

¿Puedes usar este conocimiento para construir un DFA para ? (sugerencia: intersección o construcción de "producto cruzado")A

¿El alfabeto de incluso importa?B

A continuación, podría ser que el conjunto de longitudes sea ​​infinito. Luego mire esta pregunta que también debería resolver ese asunto.len(B)

Sonó.
fuente
2

La forma de propiedad de cierre, por lo que no hay autómatas (explícitos). Los lenguajes regulares están cerrados bajo morfismos, morfismos inversos e intersección (con lenguajes regulares).

Deje y sean los alfabetos de y . Deje que sea ​​el morfismo que asigna cada letra a . Entonces codifica el conjunto de longitud de , y consta de (todas) cadenas que tienen la misma longitud que las cadenas de , pero con el alfabeto de la . Finalmente, observamos que .ΣAΣBABhX:ΣX{1}aΣX1hB(B){1}BhA1(hB(B))BAL=AhA1(hB(B))

Ahora para la bonificación . También funciona para y sin contexto . Sin embargo, necesitamos una propiedad adicional: si está libre de contexto, entonces es regular (!) que todos los lenguajes libres de contexto 'unarios' (= alfabeto de una sola letra) son regulares, una consecuencia del teorema de Parikh . Por lo tanto, también es regular y tiene contexto.ABBhB(B)hA1(hB(B))L

Hendrik Jan
fuente