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...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

36 CHAPTER 3.ACEPTACIÓN Y GENERACIÓN DE LENGUAJES REGULARESFormalmente, un autómata finito <strong>de</strong>terminístico es una quíntupla:(Q, Σ, δ, q 0 , F )en que Q es un conjunto finito <strong>de</strong> estados, Σ es un alfabeto <strong>de</strong> entrada, q 0 ∈ Q es el estado inicial, F ⊆ Q esel conjunto <strong>de</strong> estados finales y δ es la función <strong>de</strong> transición que va <strong>de</strong> Q × Σ a Q. Esto es, δ(q, a) ∈ Q paratodo q ∈ Q y a ∈ Σ.Como se aprecia en la Figura 3.2, un autómata finito se visualiza como un control finito, que está enalguno <strong>de</strong> los estados <strong>de</strong> Q, leyendo una secuencia <strong>de</strong> símbolos <strong>de</strong> Σ escritos sobre una cinta.1 0 0 1 1 1 0 0✻..ControlFinito.✓✏✒✑Figure 3.2: Representación <strong>de</strong> un autómata finitoEn una movida, el AF en estado q y viendo el símbolo a, entra al estado δ(q, a) y mueve su cabeza lectoraun símbolo hacia la <strong>de</strong>recha sobre la cinta. Si δ(q, a) es un estado <strong>de</strong> aceptación, el AF habría aceptado elprefijo <strong>de</strong>l string escrito en la cinta, a la izquierda <strong>de</strong>l símbolo sobre el cual recién llegó la cabeza lectora,sin incluirlo. Si la cabeza lectora se ha salido <strong>de</strong>l final <strong>de</strong> la cinta (por la <strong>de</strong>recha), entonces acepta elstring completo. Nótese que mientras se mueve sobre el string, el AF pue<strong>de</strong> aceptar (o no) muchos prefijosdiferentes.Para <strong>de</strong>scribir formalmente el comportamiento <strong>de</strong> un AF en un string, es necesario exten<strong>de</strong>r la función<strong>de</strong> transición δ, <strong>de</strong> forma tal que actúe sobre un string y un estado, en lugar <strong>de</strong> un estado y un símbolo. Es<strong>de</strong>cir, se quiere una función ˆδ : Q × Σ ∗ → Q. La intención es que ˆδ(q, w) sea el estado en que el AF estaríaleyendo w a partir <strong>de</strong>l estado q. Dicho <strong>de</strong> otra forma, ˆδ(q, w) es el estado p (único) tal que hay un camino<strong>de</strong> q a p en el diagrama <strong>de</strong> transición y en que las etiquetas <strong>de</strong> sus arcos forman w.Formalmente:• ˆδ(q, ε) = q• Para todo string w ∈ Σ ∗ y símbolo a ∈ Σ, δ(ˆδ(q, w), a)La primera parte <strong>de</strong> esta <strong>de</strong>finición asegura que el AF no pue<strong>de</strong> cambiar <strong>de</strong> estado sin leer símbolos. Lasegunda, indica cómo encontrar el estado en que quedará <strong>de</strong>spués <strong>de</strong> leer un string no vacío wa.Dado que ˆδ(q, a) = δ(ˆδ(q, ε), a) = δ(q, a), no hay diferencia entre δ y ˆδ para aquellos argumentos en queambas están <strong>de</strong>finidas. Por lo tanto, por conveniencia, se usará δ en lugar <strong>de</strong> ˆδ, siempre.En general, se tratará <strong>de</strong> usar los mismos símbolos para significar las mismas cosas a través <strong>de</strong> todo elmaterial para autómatas finitos. En particular se usarán los siguientes:• Q es un conjunto <strong>de</strong> estados. Los símbolos p y q, con o sin subíndice serán estados. El estado inicialserá q 0 .• Σ es un alfabeto <strong>de</strong> símbolos <strong>de</strong> entrada. Los símbolos a y b, con o sin subíndice, y los dígitos, seránsímbolos <strong>de</strong> entrada.• δ es la función <strong>de</strong> transición <strong>de</strong> un AF..

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

Saved successfully!

Ooh no, something went wrong!