11.07.2015 Views

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.7. EXPRESIONES REGULARES 57✬✩✛N✘ 1 ✛NN☛✘✛✟❄ ❄ ✘✲0 1[ q ✲0, N ][ 0, N ]✚ ✙ ✚✂ 0 [1, N]✁✻✙✚ ✙◗◗❦✑✸0 ◗0◗◗◗ 11✛✟ ✟✟✟✟✟✟✟✟✟✟✯◗1✏✘ ✏✏✏✏✏✏✏✏✏✏✏✏✏✏✏✏✏✏✶✑✑✑✑✑✑ ◗0✗✛ ❄ ✑ ◗✘ ✗☎ ✛❄ ❄◗❄ ✘[ q 0, S ] 0 [ 0, S ] 1 [ 1, S ]✚ ✙ ✖✚✌ ✙ ✖✆ ✚ ✙SSS• ε es una expresión regular y <strong>de</strong>nota el conjunto {ε}• Por cada a ∈ Σ, a es una expresión regular y <strong>de</strong>nota el conjunto {a}• Si r y s son expresiones regulares que <strong>de</strong>notan los lenguajes R y S, respectivamente, entonces:(r + s) es una expresión regular y <strong>de</strong>nota R ∪ S.(rs) es una expresión regular y <strong>de</strong>nota RS.(r ∗ ) es una expresión regular y <strong>de</strong>nota R ∗ .Al escribir expresiones regulares, se acostumbra omitir muchos <strong>de</strong> los paréntesis, asumiendo que ∗ tienela prece<strong>de</strong>ncia más alta, seguida por la concatenación y, finalmente, por +.((0(1 ∗ )) + 0) = 01 ∗ + 0También se acostumbra utilizar la siguiente abreviación:rr ∗ = r +Cuando es necesario distinguir entre una expresión regular, r, y el lenguaje <strong>de</strong>notado por r, se usa L(r)para el lenguaje.Ejemplo 55 Consi<strong>de</strong>re las siguientes expresiones regulares:00 representa {00}(0 + 1) ∗ representa todos los strings binarios(0 + 1) ∗ 00(0 + 1) ∗ representa todos los strings binarioscon al menos un par <strong>de</strong> 0 ′ s consecutivos(0 + 1) ∗ 011 representa todos los strings binarios que terminan en 011Ejemplo 56 (1 + 10) ∗ representa todos los strings binarios que comienzan con un 1 y no tienen dos cerosconsecutivos.Es fácil probar por inducción en i que (1 + 10) i no tiene strings con dos ceros consecutivos. Más aún,dado cualquier string que comienza con un 1 y que no tiene dos 0’s consecutivos, es posible dividirlo ensubstrings compuestos <strong>de</strong> un 1 seguido, posiblemente, <strong>de</strong> un cero, si los hay. Por ejemplo 10110111010 sedivi<strong>de</strong> como 10–1–10–1–1–10–10. Esta división prueba que todos estos strings están en (1 + 10) i , con i igualal número <strong>de</strong> 1’s.La expresión regular (0+ε)(1+10) ∗ representa a todos los strings binarios que no tienen ceros consecutivos.✷

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!