• No se han encontrado resultados

DFA a Expresion Regular

N/A
N/A
Protected

Academic year: 2021

Share "DFA a Expresion Regular"

Copied!
18
0
0

Texto completo

(1)

11

CO NVERS IÓ N D E AUTÓM ATAS

CO NVERS IÓ N D E AUTÓM ATAS

F I N I T O S D E T E R M I N I S T I C O S A

F I N I T O S D E T E R M I N I S T I C O S A

EX PR ESION ES RE GULAR ES

EX PR ESION ES RE GULAR ES

Investigación Por: Fernando David Irías Escher Investigación Por: Fernando David Irías Escher

(2)

CONTENIDO

CONTENIDO

¿Qué

¿Qué es es un un DFA? ...DFA? ... 3... 3 ¿Qué

¿Qué es es una una Expresión Expresión Regular? ...Regular? ... 4... 4 Operaciones

Operaciones de de utilidad ...utilidad ... 4... 4 Método de

Método de la la eliminación de eliminación de estados ...estados ... 5... 5 Ejemplo Ejemplo #1 #1 ... ... 66 Ejemplo Ejemplo #2 #2 ... ... 1111 Ejemplo Ejemplo #3 #3 ... ... 1515

(3)

33

IN TR ODUCC IÓ N

IN TR ODUCC IÓ N

Se presenta la siguiente investigación realizada para la clase de Teoría de la Computación que se Se presenta la siguiente investigación realizada para la clase de Teoría de la Computación que se cursa el quinto período del año 2008. La misma

cursa el quinto período del año 2008. La misma consiste en la investigación, explicación yconsiste en la investigación, explicación y ejemplificación de un método para

ejemplificación de un método para convertir Autómatconvertir Autómatas Finitos as Finitos Determinísticos (DFAs) enDeterminísticos (DFAs) en Expresiones Regulares.

Expresiones Regulares.

Al finalizar este informe, se espera que el

Al finalizar este informe, se espera que el lector tenga la capacidad de aplicar un método que lelector tenga la capacidad de aplicar un método que le facilite la conversión de DFAs a

facilite la conversión de DFAs a Expresiones RegulaExpresiones Regulares, por lo cual se res, por lo cual se le dará un marco teóricole dará un marco teórico para comprender la nomenclatura que se utilizare a

para comprender la nomenclatura que se utilizare a través del estudio. También setravés del estudio. También se

desarrollaran tres ejemplos utilizando el método seleccionado, los cuales se explicará paso a desarrollaran tres ejemplos utilizando el método seleccionado, los cuales se explicará paso a paso su resolución. paso su resolución.

MA RC O TEÓ RICO

MA RC O TEÓ RICO

¿QUÉ ES UN DFA?

¿QUÉ ES UN DFA?

Un Autómata Finito Determinístico (DFA) no es más que

Un Autómata Finito Determinístico (DFA) no es más que una máquina que consta de ununa máquina que consta de un conjunto finito de estados, de ahí el nombre

conjunto finito de estados, de ahí el nombre de Máquina de Estados. Uno de estos estados debede Máquina de Estados. Uno de estos estados debe ser la entrada de la máquina. En todo DFA

ser la entrada de la máquina. En todo DFA debe existir uno o debe existir uno o varios estados finales o devarios estados finales o de aceptación.

aceptación.

Un DFA debe constar de un lenguaje (o símbolos de entrada) el cual es el conjunto de caracteres Un DFA debe constar de un lenguaje (o símbolos de entrada) el cual es el conjunto de caracteres que aceptara dicha máquina.

que aceptara dicha máquina.

Todo DFA contiene un conjunto de transiciones. Cada estado debe tener una transición por cada Todo DFA contiene un conjunto de transiciones. Cada estado debe tener una transición por cada símbolo que exista en el lenguaje. Estas transiciones deberán comunican un estado con otro (o símbolo que exista en el lenguaje. Estas transiciones deberán comunican un estado con otro (o se mantiene recursivos en el mismo estado). Una transición puede ser transitada si, y

se mantiene recursivos en el mismo estado). Una transición puede ser transitada si, y solo si, elsolo si, el símbolo de entrada que se está procesando es uno de los sí

símbolo de entrada que se está procesando es uno de los símbolosmbolos11que permite el paso a travésque permite el paso a través

de la transición. de la transición.

Una cadena (o palabra) es una sucesión de símbolos que están contenidos dentro del lenguaje Una cadena (o palabra) es una sucesión de símbolos que están contenidos dentro del lenguaje del autómata. Se dice que una cadena es aceptada cuando al haber consumido todos los

del autómata. Se dice que una cadena es aceptada cuando al haber consumido todos los símbolos contenidos en esta (por medio de las

símbolos contenidos en esta (por medio de las transiciones), se llega a un estado final o transiciones), se llega a un estado final o dede aceptación.

aceptación.

(4)

¿QUÉ ES UNA EXPRESIÓN REGULAR?

¿QUÉ ES UNA EXPRESIÓN REGULAR?

Una Expresión Regular es una manera en que se puede representar una máquina de estados. Una Expresión Regular es una manera en que se puede representar una máquina de estados. Esta se considera más descriptiva que los DFAs, ya que presenta de una manera más legible Esta se considera más descriptiva que los DFAs, ya que presenta de una manera más legible para el humano el tipo de cadenas acepta la máquina.

para el humano el tipo de cadenas acepta la máquina. Se dice que los

Se dice que los DFAs y las Expresiones Regulares son congruentes entre sí, ya que de ambasDFAs y las Expresiones Regulares son congruentes entre sí, ya que de ambas maneras se pueden representar una infinidad de Máquinas de Estados. Ya que estas se maneras se pueden representar una infinidad de Máquinas de Estados. Ya que estas se consideran congruente

consideran congruentes, esta investigación se s, esta investigación se enfocara en demostrar que se enfocara en demostrar que se puede hacer unapuede hacer una conversión de un DFA a una Expresión Regular.

conversión de un DFA a una Expresión Regular.

Las Expresiones Regulares constan de tres operaciones básicas: Las Expresiones Regulares constan de tres operaciones básicas:

1.

1. La unión: Se representa con el signo La unión: Se representa con el signo “más” (+). Si tenemos el conjunto A y “más” (+). Si tenemos el conjunto A y el conjunto B,el conjunto B, se podría decir que la unión de

se podría decir que la unión de dichos conjuntos (A U B) dichos conjuntos (A U B) se representa A + B en se representa A + B en unauna Expresión Regular.

Expresión Regular. 2.

2. La concatenación: Se representa con un punto (.). Normalmente el punto no se escribe, yLa concatenación: Se representa con un punto (.). Normalmente el punto no se escribe, y se toma como concatenación cuando se escriben de la forma “AB”, siendo A y

se toma como concatenación cuando se escriben de la forma “AB”, siendo A y B dosB dos conjuntos.

conjuntos. 3.

3. La clausura (o clausura Kleene): Se representa con un asterisco (*) que se escribeLa clausura (o clausura Kleene): Se representa con un asterisco (*) que se escribe seguido del conjun

seguido del conjunto al que se le aplica. Por ejemplo A*. to al que se le aplica. Por ejemplo A*. Lo que la clausura nos indica esLo que la clausura nos indica es que habrán 0 ó más repeticiones de la cadena A.

que habrán 0 ó más repeticiones de la cadena A.

OPERACIONES DE UTILIDAD

OPERACIONES DE UTILIDAD

Nos limitaremos a solo establecer algunas de las operaciones que nos serán útiles al momento Nos limitaremos a solo establecer algunas de las operaciones que nos serán útiles al momento de desarrollar la conversión de desarrollar la conversión22:: 1. 1. ∅∅∗∗ ≅≅ ℇℇ   ∅∅   ∅∅   ∅∅ … … => => ∅∅∗∗ ≅≅ ℇℇ => => ∅∅∗∗ ≅ ℇ≅ ℇ 2. 2. ∅ ≅ ∅ ≅ ∅∅ ≅ ∅ ≅ ∅ 3. 3. ∅∅ ++  ≅  ≅   ++ ∅ ≅ ∅ ≅ 

(5)

55

CO NVERS IÓ N D E UN DFA A UN A

CO NVERS IÓ N D E UN DFA A UN A

EX PR ESIÓN RE GULA R

EX PR ESIÓN RE GULA R

MÉTODO DE LA ELIMINACIÓN D

MÉTODO DE LA ELIMINACIÓN D

E ESTADOS

E ESTADOS

Básicamente este método consiste en seleccionar tres estados:

Básicamente este método consiste en seleccionar tres estados: , el cual no deberá ser ni el, el cual no deberá ser ni el estado inicial, ni ninguno de los estados finales o

estado inicial, ni ninguno de los estados finales o de aceptación, también se deberá seleccionarde aceptación, también se deberá seleccionar un estado

un estado yy, de manera que, de manera quepueda llegar (por medio de pueda llegar (por medio de transiciones) atransiciones) autilizando autilizando a 

como estado intermedio entre estos. Después de como estado intermedio entre estos. Después de haber seleccionado estos estados, se debehaber seleccionado estos estados, se debe proceder a eliminar el estado

proceder a eliminar el estado , haciendo una transición que vaya de, haciendo una transición que vaya de  aay que por medioy que por medio de la concatenación de las transiciones que llegan de

de la concatenación de las transiciones que llegan de  aa y salen dey salen de aa(incluyendo las(incluyendo las que hacen un bucle en

que hacen un bucle en ). En caso de que ya exista una transición que va de). En caso de que ya exista una transición que va de  aa, se hace la, se hace la unión de la Expresión Regular de dicha transición con la Expresión Regular de la nueva

unión de la Expresión Regular de dicha transición con la Expresión Regular de la nueva transición antes creada. Esto se repite hasta que solo existan estados iniciales y

transición antes creada. Esto se repite hasta que solo existan estados iniciales y finales en elfinales en el DFA. Luego de tener la máquina de esta forma se debe generar la Expresión Regular a partir de DFA. Luego de tener la máquina de esta forma se debe generar la Expresión Regular a partir de ella.

ella.

En el párrafo anterior se explico a

En el párrafo anterior se explico a groso modo (sin ningún detalle) como se debe reducir lagroso modo (sin ningún detalle) como se debe reducir la máquina de estados, y también vimos que al reducirla la debemos transformar a una Expresión máquina de estados, y también vimos que al reducirla la debemos transformar a una Expresión Regular. Ahora vamos a definir paso por paso y

Regular. Ahora vamos a definir paso por paso y con detalle cómo se debe hacer la reducción.con detalle cómo se debe hacer la reducción. Veremos que al hacer la reducción se pueden dar tres casos en los que tendremos que generar la Veremos que al hacer la reducción se pueden dar tres casos en los que tendremos que generar la Expresión Regular de una manera ligeramente diferente.

Expresión Regular de una manera ligeramente diferente. Para un mejor

(6)

EJEMPLO #1

EJEMPLO #1

Haremos la conversión del siguiente DFA a una Expresión Regular: Haremos la conversión del siguiente DFA a una Expresión Regular:

ILUSTRACIÓN 1: DFA ORIGINAL ILUSTRACIÓN 1: DFA ORIGINAL

PASO 1:

PASO 1:Por cada transiciónPor cada transición33que pueda ser recorrida con múltiples símbolos, se hará unaque pueda ser recorrida con múltiples símbolos, se hará una

transición

transición(siendo esta una transición que (siendo esta una transición que contiene una Expresión Regular)contiene una Expresión Regular)44que contenga losque contenga los

símbolos de dicha transición

símbolos de dicha transición representados como representados como una Expresión Regular, específicamenteuna Expresión Regular, específicamente como una unión.

como una unión.  APLICACIÓN:

 APLICACIÓN: Como podemos observar, la transición que hace un bucle enComo podemos observar, la transición que hace un bucle en es la únicaes la única

transición que tiene múltiples símbolos con la cual puede ser transitada, por lo tanto la transición que tiene múltiples símbolos con la cual puede ser transitada, por lo tanto la representare

representaremos como una unión de la mos como una unión de la siguiente manera: a + b. Nos siguiente manera: a + b. Nos resulta en:resulta en:

ILUSTRACIÓN 2: PASO 1 ILUSTRACIÓN 2: PASO 1

33

representa el símbolo de la representa el símbolo de la transición.transición.

44A partir de este A partir de este momento se tomaran todas las transicionesmomento se tomaran todas las transiciones

(7)

77 PASO 2:

PASO 2:Por cada estadoPor cada estado, se debe verificar si , se debe verificar si hay una transiciónhay una transición que llegue a cada estadoque llegue a cada estado 

(donde(donde = = ) ) de la máqude la máquina. ina. En caso de no En caso de no existir esta transexistir esta transición se deberá ición se deberá agregar unaagregar una transición que va desde

transición que va desde hastahasta con el valorcon el valor∅∅..

 APLICACIÓN:

 APLICACIÓN: Al aplicar el paso 2 a nuestro DFA, podemos ver que no hay transición deAl aplicar el paso 2 a nuestro DFA, podemos ver que no hay transición de aa,, tampoco existe un bucle en

tampoco existe un bucle en, tampoco hay transición de, tampoco hay transición deaa, etc. Por lo , etc. Por lo tanto agregaremostanto agregaremos todas las transiciones que hacen falta para conectar cada estado con el resto de estados de la todas las transiciones que hacen falta para conectar cada estado con el resto de estados de la máquina. Estos estados tendrán el símbolo ø. Por lo tanto

máquina. Estos estados tendrán el símbolo ø. Por lo tanto nuestro DFA resulta en:nuestro DFA resulta en:

ILUSTRACIÓN 3: PASO 2 ILUSTRACIÓN 3: PASO 2

PASO 3:

PASO 3:Seleccionar un estadoSeleccionar un estado , talque, talque NO sea un estado iNO sea un estado inicial y/o final. Luego, por cadanicial y/o final. Luego, por cada

estado

estadose selecciona un camino, pasando porse selecciona un camino, pasando por , hacia cada estado, hacia cada estadodel DFA, talquedel DFA, talque 

≠ ≠  yy ≠ ≠ . Ahora se crea una transición. Ahora se crea una transición que tenga como Expresión Regular elque tenga como Expresión Regular el símbolo (o Expresión Regular) de la transición que va de

símbolo (o Expresión Regular) de la transición que va de aa concatenado con el símbolo deconcatenado con el símbolo de la transición que va de

la transición que va de aa. Al bucle que se hace en. Al bucle que se hace en se le aplicará la operación de clausurase le aplicará la operación de clausura

(o clausura Kleene) y se concatenará con la Expresión Regular antes encontrada. A esta nueva (o clausura Kleene) y se concatenará con la Expresión Regular antes encontrada. A esta nueva transición

transiciónse le aplica una operación de unión con el se le aplica una operación de unión con el símbolo de la transición que va desímbolo de la transición que va de  aa 

. La transición. La transicióndeberá quedar de la formadeberá quedar de la forma∗∗+ + . Esta nueva transición. Esta nueva transicióntransitarátransitará del estado

(8)

 APLICACIÓN:

 APLICACIÓN: Ahora bien, seleccionaremos como estadoAhora bien, seleccionaremos como estado  aa. Haciendo la concatenación da. Haciendo la concatenación da cada transición desde todos los

cada transición desde todos los estadosestadoshacia todos los estadoshacia todos los estadosusando ausando a comocomo

intermediario, nos resulta las

intermediario, nos resulta las siguientes Expresiones Regulares:siguientes Expresiones Regulares:       0 0 00  0 0 22 ØØ 0 0 33  2 2 00 ØØ 2 2 22 ØØ 2 2 33 ØØ 3 3 00 ØØ 3 3 22 ØØ 3 3 33 ØØ

Ahora le aplicaremos la operación de clausura al bucle de

Ahora le aplicaremos la operación de clausura al bucle de  y haremos la concatenación con ely haremos la concatenación con el 

que ya encontramos. Resulta en:que ya encontramos. Resulta en:     0 0 00 ØØ∗∗ 0 0 22 ØØ∗∗ØØ 0 0 33 ØØ∗∗ 2 2 00 ØØ∗∗ØØ 2 2 22 ØØ∗∗ØØ 2 2 33 ØØ∗∗ØØ 3 3 00 ØØ∗∗ØØ 3 3 22 ØØ∗∗ØØ 3 3 33 ØØ∗∗ØØ

El siguiente paso es hacer la unión

El siguiente paso es hacer la unión deldelque ya tenemos con el símbolo de que ya tenemos con el símbolo de la transición que vala transición que va de

deaadirectamente. También agregaremos una columna con la Expresión Regular yadirectamente. También agregaremos una columna con la Expresión Regular ya simplificada, por lo tanto

simplificada, por lo tanto obtenemos:obtenemos:       SimplificaciónSimplificación 0 0 00 ØØ∗∗ + +   + +  0 0 22 ØØ∗∗ØØ ++ ØØ ØØ 0 0 33 ØØ∗∗ + + ØØ  2 2 00 ØØ∗∗ØØ ++ ØØ ØØ 2 2 22 ØØ∗∗ØØ ++   + +   ++  2 2 33 ØØ∗∗ØØ ++ ØØ ØØ 3 3 00 ØØ∗∗ØØ ++  3 3 22 ØØ∗∗ØØ ++  3 3 33 ØØ∗∗ØØ ++ ØØ ØØ

(9)

99 Excelente!

Excelente! Hemos logrado elHemos logrado eliminar el estadoiminar el estadode nuestro DFA. Ahora se deben seguir losde nuestro DFA. Ahora se deben seguir los mismos pasos hasta tener un DFA que

mismos pasos hasta tener un DFA que solo contenga el estado inicial y los finales (en solo contenga el estado inicial y los finales (en este casoeste caso 

yy). El DFA ). El DFA nos queda de la siguiente manera:nos queda de la siguiente manera:

ILUSTRACIÓN 4: PASO 3 ILUSTRACIÓN 4: PASO 3

Ahora que ya hemos comprendido los pasos esenciales de la eliminación de estados, Ahora que ya hemos comprendido los pasos esenciales de la eliminación de estados, presentarem

presentaremos la tabla os la tabla para eliminar el estadopara eliminar el estado ::       SimplificaciónSimplificación 0 0 00 ØØ∗∗ +  +  + +    +  +  + +  0 0 22 ØØ∗∗ + + ØØ  2 2 00 ØØØØ∗∗ + Ø + Ø ØØ 2 2 22 ØØØØ∗∗ +  + +  +   + + 

Hemos terminado de eliminar los estados no iníciales y no fi

Hemos terminado de eliminar los estados no iníciales y no finales de nuestro DFA. Aplicandonales de nuestro DFA. Aplicando todas las Expresiones Regulares de la tabla anterior a nuestro DFA, nos quedaría así:

todas las Expresiones Regulares de la tabla anterior a nuestro DFA, nos quedaría así:

ILUSTRACIÓN 5: PASO 3 ILUSTRACIÓN 5: PASO 3

(10)

PASO 4:

PASO 4:

Si tenemos un estado inicialSi tenemos un estado inicial y un estado finaly un estado finaldondedonde ≠ ≠ , se debería generar, se debería generar una Expresión Regular a partir de este DFA

una Expresión Regular a partir de este DFA de la formade la forma   ++ ∗∗∗∗∗∗, donde R es un bucle en, donde R es un bucle en 

, S es el camino que va de, S es el camino que va de  aa, U es un bucle en, U es un bucle eny T es el camino que va dey T es el camino que va de aa..

 APLICACIÓN:

 APLICACIÓN: Primero identificamos las Expresiones ReguPrimero identificamos las Expresiones Regulares R, S, U lares R, S, U y T. Tenemos quey T. Tenemos que  =  +

 =  +   ++ ,, =  = ,, =   =  ++ yy = ∅. = ∅.Ahora que ya tenemos los valores, procedemosAhora que ya tenemos los valores, procedemos a hacer la Expresión Regular final:

a hacer la Expresión Regular final:  =

 =  ++   ++  ++  ++ ∗∗∅∅∗∗ ++ ∗∗ =

(11)

11 11

EJEMPLO #2

EJEMPLO #2

Ahora presentaremos un nuevo ejemplo más corto, pero

Ahora presentaremos un nuevo ejemplo más corto, pero de mucha importancia, ya que de mucha importancia, ya que el estadoel estado inicial y final son

inicial y final son el mismo. Para resolver esto debemos hacer un paso preliminar antes deel mismo. Para resolver esto debemos hacer un paso preliminar antes de continuar. Todos los demás pasos se mantienen iguales.

continuar. Todos los demás pasos se mantienen iguales.

ILUSTRACIÓN 6: DFA ORIGINAL ILUSTRACIÓN 6: DFA ORIGINAL

Antes de comenzar a reducir el DFA, debemos llevar a cabo un

Antes de comenzar a reducir el DFA, debemos llevar a cabo un paso alternativo que nos permitapaso alternativo que nos permita separar el estado inicial y el estado final en

separar el estado inicial y el estado final en dos estados distintos.dos estados distintos. PASO A1:

PASO A1:Si existe un estadoSi existe un estado talquetalque sea el estado inicial y un sea el estado inicial y un estado final, haremos unestado final, haremos un nuevo estado

nuevo estadoque pasara a ser el estado final yque pasara a ser el estado final y  permanecepermanecerá solo como rá solo como estado inicial. Seestado inicial. Se debe crear una transición

debe crear una transiciónque tendrá como símboloque tendrá como símbolo55..  APLICACIÓN:

 APLICACIÓN: Creamos un nuevo estadoCreamos un nuevo estadoy ponemos una transición que vaya dey ponemos una transición que vaya de aacon elcon el símbolo

símbolo..

ILUSTRACIÓ

ILUSTRACIÓN 7: N 7: PASO A1PASO A1

(12)

Una vez hecha la separación de los estados podemos proseguir con los pasos

Una vez hecha la separación de los estados podemos proseguir con los pasos 1-4. Como1-4. Como podemos ver, cada transición de nuestro DFA tiene un símbolo único que le

podemos ver, cada transición de nuestro DFA tiene un símbolo único que le permite serpermite ser transitada, por lo tanto el paso 1

transitada, por lo tanto el paso 1 nos generará en mismo DFA de la nos generará en mismo DFA de la ilustración 7. Aplicamos elilustración 7. Aplicamos el paso 2 para poner todas las transiciones que nos hacen falta. Con

paso 2 para poner todas las transiciones que nos hacen falta. Con esto obtenemos:esto obtenemos:

ILUSTRACIÓN 8: PASO 2 ILUSTRACIÓN 8: PASO 2

Esta es la tabla con

Esta es la tabla con las expresiones regularelas expresiones regulares ya simplificadas que nos resulta después de habers ya simplificadas que nos resulta después de haber hecho el paso tres para el

hecho el paso tres para el estadoestado::     0 0 00 0 + 0 10 + 0 1 0 0 22 1111 0 0 33 2 2 00 1 + 0 01 + 0 0 2 2 22 0101 2 2 33 3 3 00 3 3 22 3 3 33

(13)

13 13 A continuación el DFA que nos

A continuación el DFA que nos resulta al haber eliminadoresulta al haber eliminado::

ILUSTRACIÓN 9: PASO 3 ILUSTRACIÓN 9: PASO 3

Hacemos lo mismo para

Hacemos lo mismo para, con esto tendremos solo estados iniciales y fi, con esto tendremos solo estados iniciales y finales en nuestro DFA.nales en nuestro DFA.

La tabla de transiciones es: La tabla de transiciones es:

      0 0 00 0 + 1 0 + 1 10 + 1 0 + 1 10101∗∗1 1 ++ 0000 0 0 33 3 3 00 ØØ 3 3 33 ØØ

Al aplicar el paso tres a

Al aplicar el paso tres a todos los estados no iniciales y no todos los estados no iniciales y no finales, obtenemos el siguiente DFA:finales, obtenemos el siguiente DFA:

ILUSTRACIÓ

(14)

PASO A2:

PASO A2:Si existe un estadoSi existe un estado inicial yinicial yfinal talque hay una transiciónfinal talque hay una transiciónentre estosentre estos estados, se deberá hacer una concatenación de las cerradura Kleene de las Expresiones estados, se deberá hacer una concatenación de las cerradura Kleene de las Expresiones Regulares que tienen la transición que hace bucle en

Regulares que tienen la transición que hace bucle en , la transición que va de, la transición que va de aa y lay la transición que hace bucle en

transición que hace bucle en..A este conjunto se le aplicará la cerradura Kleeme y se leA este conjunto se le aplicará la cerradura Kleeme y se le concatenará la cerradura Kleene de la transición que hace bucle en

concatenará la cerradura Kleene de la transición que hace bucle en y la transición que hacey la transición que hace bucle en

bucle en..  APLICACIÓN:

 APLICACIÓN: Al hacer la concatenación de las cerraduras Kleene de el bucle enAl hacer la concatenación de las cerraduras Kleene de el bucle en , el bucle en, el bucle en 

y la transición que va dey la transición que va deaanos queda le Expresión Regular:nos queda le Expresión Regular:  0 + 1 0 + 1 1

 0 + 1 0 + 1 10101∗∗11 ++ 0000∗∗ ØØ∗∗ØØ∗∗ Ahora le aplicamos la cerradura Kleene a este conjunto:

Ahora le aplicamos la cerradura Kleene a este conjunto:

00 ++ 1100 ++ 11110101∗∗11 ++ 0000∗∗ØØ∗∗ØØ∗∗∗∗ Proseguimos a concatenarlo con el bucle en

Proseguimos a concatenarlo con el bucle en y eny en::

00 ++ 1100 ++ 11110101∗∗11 ++ 0000∗∗ØØ∗∗ØØ∗∗∗∗ 0 + 1 0 + 1 1 0 + 1 0 + 1 10101∗∗11 ++ 0000∗∗∗∗ØØ∗∗ Al simplificar esta

Al simplificar esta Expresion Regular nos queda:Expresion Regular nos queda: 

(15)

15 15

EJEMPLO #3

EJEMPLO #3

Ahora haremos un nuevo ejercicio

Ahora haremos un nuevo ejercicio para reforzar los métodos aprendidos anteriormente. Elpara reforzar los métodos aprendidos anteriormente. El siguiente DFA acepta cadena con un número par de 0´s y de 1´s:

siguiente DFA acepta cadena con un número par de 0´s y de 1´s:

ILUSTRACIÓN 11: DFA

ILUSTRACIÓN 11: DFA ORIGINALORIGINAL

Creamos un nuevo nodo final

Creamos un nuevo nodo final  con la transicióncon la transiciónque va desdeque va desde hastahasta, nos resulta en:, nos resulta en:

ILUSTRACIÓN 12: PASO A1 ILUSTRACIÓN 12: PASO A1

(16)

Agregamos todas las transiciones

Agregamos todas las transiciones ∅∅para conectar cada estado con el resto de estados delpara conectar cada estado con el resto de estados del DFA:

DFA:

ILUSTRACIÓ

ILUSTRACIÓN 13: N 13: PASO 2PASO 2

Ahora eliminaremos el estado

Ahora eliminaremos el estado . Presentamos a continuación la tabla de transiciones y el. Presentamos a continuación la tabla de transiciones y el DFA sin el estado

DFA sin el estado::       0 0 00 0000 0 0 22 11 0 0 33 0101 0 0 44 2 2 00 11 2 2 22 2 2 33 00 2 2 44 3 3 00 1010 3 3 22 00 3 3 33 1111 3 3 44 4 4 00 4 4 22 4 4 33

(17)

17 17

ILUSTRACIÓ

ILUSTRACIÓN 14: N 14: PASO 3PASO 3

Ahora eliminaremos el estado

Ahora eliminaremos el estado . Presentamos a continuación la tabla de transiciones y el. Presentamos a continuación la tabla de transiciones y el DFA sin el estado

DFA sin el estado::

    0 0 00 0000 ++ 01011111 ∗∗ 1010 0 0 22 11 ++ 00111111 ∗∗ 00 0 0 44 2 2 00 11 ++ 001111 ∗∗ 1100 2 2 22 001111 ∗∗ 00 2 2 44 4 4 00 4 4 22 4 4 44 ILUSTRACIÓ

(18)

Ahora eliminaremos el estado

Ahora eliminaremos el estado . Presentamos a continuación la tabla de transiciones y el. Presentamos a continuación la tabla de transiciones y el DFA sin el estado

DFA sin el estado::       0 0 00 0000 ++ 00111111 ∗∗ 1100 ++ 11 ++ 00111111 ∗∗ 00001111 ∗∗ 00 ∗∗ 11 ++ 001111 ∗∗ 1100 0 0 44 4 4 00 4 4 44 ILUSTRACIÓ

ILUSTRACIÓN 16: N 16: PASO 3PASO 3

Y para finalizar, generamos la Expresión regular final. La Expresión Regular ya simplificada es: Y para finalizar, generamos la Expresión regular final. La Expresión Regular ya simplificada es:

Referencias

Documento similar

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

610. En una operación nacional la responsabilidad recae en el comandante opera- cional, quien desarrolla en ZO el marco logístico diseñado para la operación por el nivel

La falta de higiene en casi todas las poblaciones de España, las del alcantarillado hasta en ciudades tan ricas y civilizadas como Barcelona, hacen más desastrosas

Según la ONU, Brasil es el octavo país con mayor índice de desigualdad social y económica del mundo. El «Coeficiente de Gini» es una medida que se utiliza para medir el nivel

Por otra parte, también se relaciona con los cursos dedicados a desarrollar las competencias docentes del estudiantado normalista, ya que es fundamental que

Gastos derivados de la recaudación de los derechos económicos de la entidad local o de sus organis- mos autónomos cuando aquélla se efectúe por otras enti- dades locales o

Sabemos que, normalmente, las ​cookies deben ser almacenadas y enviadas de vuelta al servidor sin modificar; sin embargo existe la posibilidad de que un atacante

No parece posihle vender todos los productos directa- mente en la finca, pero es esencial que los agricultores y granjeros de este país no perdamos el control sobre la