Autómatas finitos y expresiones regulares





"Tarzan"|(Tarzan)— http://www.rexegg.com/regex-best-trick.html



Ivan Meza

Metodología

  1. Leer la descripción del lenguaje: ¡pensar e imaginar!
  2. Proponer cadenas triviales y no triviales que estén en el lenguaje
  3. Proponer cadenas triviales y no triviales que no estén en el lenguaje
  4. Enumerar opciones: unión
  5. Definir patrones por opción: concatenación
  6. Incluir repeticiones: cerraduras
  7. Probar cadenas, en caso de error: ¡pensar!

Con $\Sigma=\{a,b\}$ crear una expresión regular para el lenguaje

$\{w \in \Sigma^* | $no hay tres consecutivas aes$\}$

¡Pensar e imaginar!

$\{w \in \Sigma^* | $no hay tres consecutivas aes$\}$

Cadenas que estén

$\{w \in \Sigma^* | $no hay tres consecutivas aes$\}$

  • $a$
  • $aa$
  • $aab$
  • $aabbbbbbbba$
  • $aabbbbbbbbaab$
  • $bbbbaabbbbbbbbaab$
  • $\epsilon$

Cadenas que no estén

$\{w \in \Sigma^* | $no hay tres consecutivas aes$\}$

  • $aaa$
  • $baaa$
  • $bbbbaaa$
  • $babaabbaaa$

Opciones, patrones y repeticiones

$\{w \in \Sigma^* | $no hay tres consecutivas aes$\}$

  • Una a seguida de bes:$ab^+$
  • Dos aes seguidas de bes:$aab^+$
  • Cero aes seguidas de bes:$b^*$

Proponer solución

$\{w \in \Sigma^* | $no hay tres consecutivas aes$\}$

$(b^*+ab^++aab^+)^*$

Probar solución

$(b^*+ab^++aab^+)^*$

  • $a$ ✖
  • $aa$ ✖
  • $aab$ ✔
  • $aabbbbbbbba$ ✖
  • $aabbbbbbbbaab$ ✔
  • $bbbbaabbbbbbbbaab$ ✔
  • $\epsilon$ ✔

$(b^*+ab^++aab^+)^*(\epsilon+a+aa)$

Probar solución (2)

$(b^*+ab^++aab^+)^*(\epsilon+a+aa)$

  • $aaa$ ✖
  • $baaa$ ✖
  • $bbbbaaa$ ✖
  • $babaabbaaa$ ✖

Con $\Sigma=\{a,b\}$ crear una expresión regular para los lenguajes

  • $\{b\}$
  • $\{\epsilon\}$
  • $\{ \}$
  • $\{a \}$

Individual

Con $\Sigma=\{I,V,X,L,C\}$ crear una expresión regular para los lenguajes

  • $\{I,II,III\}$
  • $\{V,X\}$
  • Números romanos del 1 al 10

Individual

Con $\Sigma=$UTF-8 crear una expresión regular para el lenguaje

  • De las URLs de páginas cifradas

Equipo

Con $\Sigma=\{a,b\}$ crear un autómata para los lenguajes

  • $\{b\}$
  • $\{\epsilon\}$
  • $\{ \}$
  • $\{a \}$

Individual

Con $\Sigma=\{a,b\}$ crear un autómata finito para el lenguaje

$\{a,aaaaa,aa,b,ba\}$

Equipo

Con $\Sigma=\{a,b\}$ crear una expresión regular para el lenguaje

$\{a,aaaaa,aa,b,ba\}$

Equipo

Reto con ER

  1. Encontrar el patrón, poner lo que no importa en medio y repetir
  2. Identificar opciones

Con $\Sigma=\{a,b\}$ crear una expresión regular para el lenguaje

$\{w \in \Sigma^* | $el número de bes es divisible entre tres$\}$

Equipo

Reto con AF

  1. Identificar que necesita recordar el AF

Con $\Sigma=\{a,b\}$ crear un autómata finito para el lenguaje

$\{w \in \Sigma^* | $el número de bes es divisible entre tres$\}$

Equipo

Con $\Sigma=\{a,b\}$ crear una expresión regular para el lenguaje

$\{w \in \Sigma^* | $contiene cuando menos una a y dos bes$\}$

Equipo

Con $\Sigma=\{a,b\}$ crear un autómata finito para el lenguaje

$\{w \in \Sigma^* | $contiene cuando menos una a y dos bes$\}$

Equipo

Con $\Sigma=\{a,b\}$ crear un autómata finito para el lenguaje

$\{w \in \Sigma^* | $termina en la subcadena $bab\}$

Equipo

Con $\Sigma=\{a,b\}$ crear una expresión regular para el lenguaje

$\{w \in \Sigma^* | $termina en la subcadena $bab\}$

Equipo

Con $\Sigma=\{a,b\}$ crear una expresión regular para el lenguaje

$\{w \in \Sigma^* | $ contiene la subcadena $abb\}$

Equipo

Con $\Sigma=\{a,b\}$ crear un autómata finito para el lenguaje

$\{w \in \Sigma^* | $ contiene la subcadena $abb\}$

Equipo

Con $\Sigma=\{a,b\}$ crear una expresión regular para el lenguaje

$\{w \in \Sigma^* | $comienza con $ba$ o con $aa\}$

Equipo

Con $\Sigma=\{a,b\}$ crear un autómata finito para el lenguaje

$\{w \in \Sigma^* | $comienza con $ba$ o con $aa\}$

Equipo

Con $\Sigma=\{a,b\}$ crear una expresión regular para el lenguaje

$\{w \in \Sigma^* | $ con $b^iab^j$ tal que $i+j$ es non $\}$

Equipo

Con $\Sigma=\{a,b\}$ crear un autómata para el lenguaje

$\{w \in \Sigma^* | $ con $b^iab^j$ tal que $i+j$ es non $\}$

Equipo

Licencia de Creative Commons
Autómatas finitos y expresiones regulares by Ivan V. Meza Ruiz is licensed under a Creative Commons Reconocimiento 4.0 Internacional License.
Creado a partir de la obra en http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/fsm_examples.html.