✖

Intersección de lenguajes regulares

Tomemos dos lenguajes regulares L1, L2. Demostraremos que su intersección L = L1 ∩ L2 es también un lenguaje regular.

Idea de la demostración

Tenemos dos lenguajes regulares L1 y L2 y queremos demostrar que su intersección L1 ∩ L2 es de nuevo un lenguaje regular. Como L1 y L2 son lenguajes regulares, existen autómatas finitos A1 y A2 que aceptan los lenguajes L1 y L2, es decir, se cumple L(A1) = L1 y L(A2) = L2. A continuación construiremos un autómata finito A que aceptará el lenguaje L1 ∩ L2, con lo que demostraremos que el lenguaje L1 ∩ L2 es regular.

Una palabra pertenece a la intersección de lenguajes si pertenece a L1 y a la vez a L2. Es decir, la palabra debe ser aceptada por el autómata A1 y a la vez por el autómata A2. Aprovechamos exactamente la misma idea que en la unión de lenguajes regulares; solo cambiamos el conjunto de estados finales.

Formalización del procedimiento

Tenemos dos autómatas,

A1=⟨Q1,Σ1,δ1,q0,F1⟩A2=⟨Q2,Σ2,δ2,p0,F2⟩

Construimos un autómata A = ⟨Q, Σ, δ, q, F⟩ que acepta el lenguaje L(A1) ∩ L(A2). Se cumple que

  • Q = Q1 × Q2
  • Σ= Σ1 ∩ Σ2
  • q = ⟨q0, p0⟩
  • F = F1 × F2

Para la función de transición δ se cumplirá la siguiente relación:

∀q∈Q1,p∈Q2:δ(⟨q,p⟩,a)=⟨δ1(q,a),δ2(p,a)⟩

Ejemplo

Tomemos este autómata A1, que acepta todas las palabras que contienen un número par de 1:

y el autómata A2, que acepta las palabras que contienen un número impar de 0:

Construimos un autómata que aceptará la intersección de estos lenguajes. El conjunto de estados de este autómata tiene la forma Q = Q1 × Q2, el estado inicial es el estado ⟨q0, p0⟩ y los estados finales son F1 × F2:

A continuación completamos las transiciones de modo que δ(⟨q,p⟩, a) = ⟨δ1(q, a), δ2(p, a)⟩:

En este autómata, por ejemplo, desde el estado ⟨q0, p0⟩ hay una transición con el símbolo 0 al estado ⟨q0,p1⟩. Significa que el autómata A1 tiene desde el estado q0 una transición con el símbolo 0 de vuelta al estado q0. El autómata A2, por su parte, tiene con el símbolo 0 una transición desde el estado p0 al estado p1.

Podemos probar el autómata. Debería aceptar palabras como 110 o 00000 (contienen un número par de 1 y a la vez un número impar de 0), pero no debería aceptar palabras como 11, 111, 1010.

Fuentes

Capítulos: Propiedades de cierre de los lenguajes regulares, Unión de lenguajes regulares, Intersección de lenguajes regulares, Diferencia de lenguajes regulares, Complemento de un lenguaje regular, Concatenación de lenguajes regulares, Clausura de un lenguaje regular