Vous êtes sur la page 1sur 19

Maestra en Sistemas Computacionales Teora de la Computacin

CONVERSION DE AUTOMATAS FINITOS NO DETERMINISTAS A DETERMINISTAS

Existe una equivalencia entre los AFD y AFN, de forma que un autmata M es equivalente a un autmata M' si L(M) ) L(M'). Ejemplo: Los autmatas de la siguiente figura son equivalentes. Obsrvese que uno es determinstico y el otro es no determinstico. Sin embargo, ambos aceptan las mismas cadenas.

Ya que una funcin es un caso especial de relacin (es decir, las funciones son relaciones que poseen requerimientos adicionales), las funciones de los AFD se consideran como relaciones en los AFN. En consecuencia, todo AFD es un AFN. La coleccin de lenguajes aceptados por los AFN incluye a todos los lenguajes aceptados por los AFD. De esto resulta que los AFN slo aceptan los lenguajes aceptados por los AFD. Por lo tanto, los AFN no son ms potentes que los AFD con respecto a los lenguajes que aceptan. En la tabla de transiciones de un AFN, cada entrada es un conjunto de estados; en la tabla de transiciones de un AFD, cada entrada es tan solo un estado. La idea general tras la construccin AFN a AFD es que cada estado de AFD corresponde a un conjunto de estados del AFN. El AFD utiliza un estado para localizar todos los posibles estados en los que puede estar el AFN despus de leer cada smbolo de la entrada.

EJEMPLO 1: Para comprender mejor este proceso se tomar el siguiente AFND:

Paso 1: Calcular la funcin de transicin, es decir construir la tabla de transiciones para todos los estados, indicando en la tabla los estados compuestos.

Nota: Representa Estado Compuesto

1 2 3

0 2 -

Transiciones 1 2 2, 3 3

Estados

Paso 2: Para cada estado compuesto generado en el punto anterior, se calcula la funcin de transicin, en donde exista 2 estados, generar este como otro estado y encontrar sus transiciones.

Transiciones 0 1 1 2 2 2 2, 3 3 3 2, 3 2 2,3

Estados

Paso 3: Se repite el paso 2 hasta que todos los estado compuestos hayan sido definidos en la tabla.

(No en este caso)

Paso 4: Se marcan los estados finales, Que aparecen en rojo

Transiciones 0 1 1 2 2 2 2, 3 3 3 2, 3 2 2,3

Estados

Paso 5: Se construye el AFD usando la tabla y etiquetando nuevamente todos los estados que aparecen en ella (las transiciones que aparecen vacas se marcan como transicin al estado de ERROR).

Transiciones 0 1 1 2 2 2 2, 3 3 3 2, 3 2 2,3

Estados

Y as queda:

AFD

Nota: El estado 3 se eliminar, pues no hay transiciones que lleguen a este.

EJEMPLO 2:

1 3
Paso 1: Calcular la funcin de transicin, es decir construir la tabla de transiciones para todos los estados, indicando en la tabla los estados compuestos. Nota: Representa Estado Compuesto

1 2 3

Transiciones a B 2, 3 1, 3 -

Estados

Paso 2: Para cada estado compuesto generado en el punto anterior, se calcula la funcin de transicin, en donde exista 2 estados, generar este como otro estado y encontrar sus transiciones.

Transiciones 0 1 1 2, 3 2 1, 3 3 2, 3 1, 3 1, 3 2, 3

Estados

Paso 3: Se repite el paso 2 hasta que todos los estado compuestos hayan sido definidos en la tabla.

(No en este caso)

Paso 4: Se marcan los estados finales, Que aparecen en rojo

Transiciones 0 1 1 2, 3 2 1, 3 3 2, 3 1, 3 1, 3 2, 3

Estados

Paso 5: Se construye el AFD usando la tabla y etiquetando nuevamente todos los estados que aparecen en ella (las transiciones que aparecen vacas se marcan como transicin al estado de ERROR).

Y as queda:

AFD

Nota: El estado 3 se eliminar, pues no hay transiciones que lleguen a este.

EJEMPLO 2:

Paso 1: Calcular la funcin de transicin, es decir construir la tabla de transiciones para todos los estados, indicando en la tabla los estados compuestos. Nota: Representa Estado Compuesto

1 2 3 4

a 2 2 -

Transiciones b c E* - 4 1 3 - 2,1 - - 3 - 3 4,3

Estados

Paso 2: Para cada estado compuesto generado en el punto anterior, se calcula la funcin de transicin, en donde exista 2 estados, generar este como otro estado y encontrar sus transiciones.

Nota: De la tabla anterior se Determinan los valores de esta Tabla tomando en cuenta los valores de los estados.

1 2 3
4

Transiciones aE* bE* cE* 2,1 4,3 3 2,1 -

Estados

4,3

2,1 2,1 3 4,3 2,1 -

4,3 3

Paso 3: Se repite el paso 2 hasta que todos los estado compuestos hayan sido definidos en la tabla.

(No en este caso)

Paso 4: Se marcan los estados finales, Que aparecen en rojo

1 2 3
4

Transiciones aE* bE* cE* 2,1 4,3 3 2,1 -

Estados

4,3

2,1 2,1 3 4,3 2,1 -

4,3 3

Paso 5: Se construye el AFD usando la tabla y etiquetando nuevamente todos los estados que aparecen en ella (las transiciones que aparecen vacas se marcan como transicin al estado de ERROR).

Y as queda:

AFD

Nota: El estado 3 se eliminar, pues no hay transiciones que lleguen a este.

Tarea:

1)

2)

Vous aimerez peut-être aussi