22
Autómata finito no determinista En este ejemplo, δ(q 0 ,b)=q 0 y δ(q 0 ,b)=q 1 . Por lo tanto, se trata de un autómata finito no determinista, que reconoce la expresión regular (a|b)*b + . Un autómata finito no determinista (abreviado AFND) es un autómata finito que, a diferencia de los autómatas finitos deterministas (AFD), posee al menos un estado q Q, tal que para un símbolo a ∈ Σ del alfabeto, existe más de una transición δ(q,a) posible. En un AFND puede darse cualquiera de estos dos casos: Que existan transiciones del tipo δ(q,a)=q 1 y δ(q,a)=q 2 , siendo q 1 q 2 ; Que existan transiciones del tipo δ(q,ε ), siendo q un estado no-final, o bien un estado final pero con transiciones hacia otros estados. Cuando se cumple el segundo caso, se dice que el autómata es un autómata finito no determinista con transiciónes vacías otransiciones ε (abreviado AFND-ε). Estas transiciones permiten al autómata cambiar de estado sin procesar ningún símbolo de entrada. Considérese una modificación al modelo del autómata finito para permitirle ninguna, una o más transiciones de un estado sobre el mismo símbolo de entrada. Índice [ocultar ] 1 Definición formal 2 Funcionamient o 3 Implementació n 4 AFND-ε

Autómata finito no determinista

Embed Size (px)

Citation preview

Page 1: Autómata finito no determinista

Autómata finito no determinista

En este ejemplo, δ(q0,b)=q0 y δ(q0,b)=q1. Por lo tanto, se trata de un autómata finito no determinista, que reconoce

la expresión regular(a|b)*b+.

Un autómata finito no determinista (abreviado AFND) es un autómata finito que, a diferencia de

los autómatas finitos deterministas (AFD), posee al menos un estado q ∈ Q, tal que para un

símbolo a ∈ Σ del alfabeto, existe más de una transición δ(q,a) posible.

En un AFND puede darse cualquiera de estos dos casos:

Que existan transiciones del tipo δ(q,a)=q1 y δ(q,a)=q2, siendo q1 ≠ q2;

Que existan transiciones del tipo δ(q,ε), siendo q un estado no-final, o bien un estado final pero

con transiciones hacia otros estados.

Cuando se cumple el segundo caso, se dice que el autómata es un autómata finito no

determinista con transiciónes vacías otransiciones ε (abreviado AFND-ε). Estas transiciones

permiten al autómata cambiar de estado sin procesar ningún símbolo de entrada. Considérese una

modificación al modelo del autómata finito para permitirle ninguna, una o más transiciones de un

estado sobre el mismo símbolo de entrada.

Índice

  [ocultar] 

1 Definición formal

2 Funcionamiento

3 Implementación

4 AFND-ε

o 4.1 Propiedades

o 4.2 Aplicación

5 Ejemplo

6 Véase también

7 Referencias

Page 2: Autómata finito no determinista

8 Bibliografía

[editar]Definición formal

Formalmente, si bien un autómata finito determinista se define como una 5-tupla (Q, Σ, q0, δ, F)

donde:1

 es un conjunto de estados;

 es un alfabeto;

 es el estado inicial;

 es una función de transición;

 es un conjunto de estados finales o de aceptación.

en un AFND la función de transición se define como:

Para el caso de los AFND-ε, se suele expresar la función de transición de la forma:

donde P(Q) es el conjunto potencia de Q. Esto significa que los autómatas finitos

deterministas son un caso particular de los no deterministas, puesto que Q pertenece al

conjunto P(Q).

La interpretación que se suele hacer en el cómputo de un AFND es que el automáta puede

pasar por varios estados a la vez, generándose una ramificación de

las configuraciones existentes en un momento dado. Asimismo, en un autómata finito no

determinista podemos aceptar la existencia de más de un nodo inicial.

[editar]Funcionamiento

La máquina comienza en el estado inicial especificado y lee una cadena de

caracteres pertenecientes al alfabeto. El autómata utiliza la función de transición de

estados T para determinar el siguiente estado, usando el estado actual y el símbolo que

acaba de leer o la cadena vacía. Sin embargo, "el estado siguiente de un AFND no sólo

depende de el evento de entrada actual, sino que también en un número arbitrario de los

eventos de entrada posterior. Hasta que se producen estos acontecimientos posteriores

no es posible determinar en qué estado se encuentra la máquina" . Cuando el autómata

ha terminado de leer, y se encuentra en un estado de aceptación, se dice que el AFND

acepta la cadena, de lo contrario se dice que la cadena de caracteres es rechazada. Tanto

para un AFND como para un autómata finito determinista (AFD) se puede aceptar el

Page 3: Autómata finito no determinista

mismo lenguaje. Por lo tanto, es posible convertir un AFND existente en un AFD para el

desarrollo de una máquina tal vez más simple. Esto puede llevarse a cabo utilizando la

construcción del conjunto potencia, que puede conducir a un aumento exponencial en el

número de estados necesarios.

[editar]Implementación

Hay muchas formas de implementar una AFND:

Convertir al equivalente AFD: en algunos casos esto puede causar una explosión

exponencial en el tamaño del autómata, y así un espacio auxiliar proporcional al

número de estados en el AFND (como el almacenamiento del valor del estado

requiere en la mayoría de un bit por cada estado en el AFND).

Mantener un conjunto de datos de todos los estados en que la máquina podría estar

en la actualidad. Al consumir el ultimo carácter de entrada, si uno de estos estados es

un estado final, la maquina acepta la cadena. En el peor de los casos, esto puede

requerir espacio adicional proporcional al número de estados en el AFND; si la

estructura del conjunto usa un bit por estado del AFND, entonces esta solución es

exactamente equivalente a la anterior.

Crear múltiples copias. Por cada n forma de la decisión, el AFND crea hasta n-1

copias de la maquina. Cada uno de ellos entrara en un estado independiente. Si, al

momento de consumir el ultimo símbolo de la entrada, al menos una copia del AFND

esta en un estado de aceptación, el AFND lo aceptará. (Esto también requiere un

almacenamiento lineal con respecto al número de estados del AFND, ya que puede

haber una maquina por cada estado del AFND).

[editar]AFND-ε

[editar]Propiedades

Para todo  , se escribe   si y solo si a   se pude llegar desde  , yendo a

lo largo de cero o más flechas  . En otras palabras,   si y sólo si

existe   donde   tal que

.

Para cualquier  , el conjunto de estados que se puede llegar a partir de p se

llama epsilon-closure o ε-closure de p y se escribe como

.

Page 4: Autómata finito no determinista

Para cualquier subconjunto  , definir el ε-closure de P como

.

Las transiciones epsilon son transitive, ya que puede demostrarse que para

todo   y  , si   y  ,

entonces  .

Del mismo modo, si   y   

entonces   Sea x una cadena del alfabeto Σ∪{ε}. Un AFND-

ε M acepta la cadena x si existe tanto una representación de x de la

forma x1x2  ... xn, donde xi ∈ (Σ ∪{ε}), y una secuencia de estados

p0,p1, ..., pn, donde pi ∈ Q, Cumpliéndose las siguientes condiciones:

1. p0   E({q0})

2. pi   E(T(pi-1, xi )) para i = 1, ..., n

3. pn   F.

[editar]Aplicación

El AFND y el AFD son equivalentes en esto, ya que si un lenguaje es

reconocido por el AFND, también será reconocido por un AFD, y viceversa. El

establecimiento de esta equivalencia es útil porque a veces la construcción

de un AFND para reconocer un lenguaje determinado es más fácil que

construir un AFD para dicho lenguaje. También es importante porque el

AFND se pude utilizar para reducir la complejidad del trabajo matemático

necesario para establecer muchas propiedades importantes en la teoría de la

computación. Por ejemplo, es mucho más fácil demostrar las siguientes

propiedades utilizando un AFND que un AFD:

La unión de dos lenguajes regulares es regular.

La concatenación de dos lenguajes regulares es regular.

La Clausura de Kleene en un Lenguaje regular es regular.

[editar]Ejemplo

El ejemplo siguiente muestra un AFND M, con un alfabeto binario que

determina si la entrada contiene un número par de 0s o un número par de 1s.

Entonces M = (Q, Σ, T, s0, F) donde:

Page 5: Autómata finito no determinista

Σ = {0, 1},

Q = {s0, s1, s2, s3, s4},

E({s0}) = { s0, s1, s3 }

F = {s1, s3}, y

La función de transición T puede ser definida por esta tabla de transición

de estados:

0 1 ε

S0 {} {} {S1, S3}S1 {S2} {S1} {}S2 {S1} {S2} {}S3 {S3} {S4} {}S4 {S4} {S3} {}

El diagrama de estados para M es:

M puede ser visto como la unión de dos AFDs: uno con los estados

{S1, S2} y el otro con los estados {S3, S4}.

El lenguaje de M puede ser descrito por el lenguaje regular dado por

la expresión regular:

[editar]Véase también

Autómata finito

Autómata finito determinista

Construcción de subconjuntos

Page 6: Autómata finito no determinista

[editar]Referencias

1. ↑  Chakraborty, Samarjit (17 de marzo de 2003). «Formal

Languages and Automata Theory. Regular Expressions and Finite

Automata» (en inglés). Computer Engineering and Networks

Laboratory. Swiss Federal Institute of Technology (ETH) Zürich:

pp. 17. Consultado el 30 de marzo de 2010.

[editar]Bibliografía

M. O. Rabin and D. Scott, "Finite Automata and their Decision

Problems", IBM Journal of Research and Development, 3:2

(1959) pp.115-125.

Michael Sipser, Introduction to the Theory of Computation. PWS,

Boston. 1997.

John E. Hopcroft and Jeffrey D. Ullman, Introduction to

Automata Theory, Languages, and Computation, Addison-

Wesley Publishing, Reading Massachusetts, 1979.

Page 7: Autómata finito no determinista

Autómatas finitos deterministasEn esta página podremos encontrar información e imágenes acerca de lo autómatas finitos

deterministas (AFD), para comenzar daremos una breve definición de lo que es un autómata finito

determinista (AFD).

Autómata finito

Un autómata finito(AF) o máquina de estado finitoes un modelo matemático que realiza cómputos

en forma automática sobre una entrada para producir una salida.

Los Autómatas Finitos (AF) son de dos tipos:

Deterministas (AFD):

Cada combinación (estado, símbolo de entrada) produce un solo (estado)

No Deterministas (AFND):

•Cada combinación (estado, símbolo de entrada) produce varios estados(estado1, estado 2, …,

estado i)

•Son posibles transiciones con λ.

Representación de un autómata finito determinista (AFD)

Un autómata finito determinista se puede representar mediante:

• diagramas de transición

• tablas de transición

Diagramas de transición:

• nodos etiquetados por los estados (qi Q)

• arcos entre nodos qi a qj etiquetados con ei

(ei Σ ) si existe f(qi,ei) = qj

• q0 se señala con →

• qi F se señala con * o doble círculo

automata finito determinista

Tablas de transición:

Page 8: Autómata finito no determinista

 •Filas encabezadas por los estados (qi Q)

•Columnas encabezadas por los símbolos de entrada (ei Σ )

Ejemplo de representación de autómata finito determinista (AFD)

Ejemplo: Sea el AFD1 = ({a,b}, {p,q,r}, f, p, {q}) donde f está

definida por:

f(p,a) = q f(p,b) = r

f(q,a) = q f(q,b) = r

f(r,a) = r f(r,b) = r

escribir su tabla de transición y dibujar su diagrama de transición

Conceptos básicos de un autómata finito determinista (AFD)

Configuración: es un par ordenado de la forma (q,w) donde:

- q: estado actual del AF

- w: cadena que le queda por leer en ese instante, w Σ*

•Configuración inicial: (q0, t)

- q0: estado inicial

- t: cadena de entrada a reconocer por el AFD, t Σ*

•Configuración final: (qi,λ)

- qi: estado final

- λ la cadena de entrada ha sido leída completamente

Movimiento: es el tránsito entre dos configuraciones.

Autómata Finito Deterministas,  AFD: se definen mediante una quíntupla:

(Σ, Q, f, q0, F), donde:

Σ alfabeto de entrada

Page 9: Autómata finito no determinista

Q: conjunto de estados, es conjunto finito no vacío, realmente un alfabeto para distinguir a los

estados

f: Q x Σ → Q, funciónde transición

q0, estado inicial

F c Q: conjunto de estados finales o de aceptación.

Autómatas finitos deterministas (AFD) como reconocedores del lenguaje

Autómata finito determinista (AFD) como reconocedor de un Lenguaje:

    • Cuando un AF transita desde q0a un estado final en varios movimientos, se ha producido el

RECONOCIMIENTO o ACEPTACIÓN de la cadena de entrada

• Cuando un AF no es capaz de alcanzar un estado final, se dice que el Autómata finito NO

RECONOCE la cadena de entrada y que ésta NO PERTENECE al lenguaje reconocido por el

Automata finito

Equivalencia y miminización de autómatas finitos deterministas (AFD)

Es posible tener varios autómatas que reconozcan el mismo lenguaje.

- Para todo autómata se puede obtener un autómata equivalente(i.e. reconoce el mismolenguaje)

donde el número de estados del autómata sea el mínimo.

- ¿Cuál sería el número mínimo de estados?

- ¿Porqué interesa obtener el mínimo?

Se dispone de un descriptor del lenguaje (lenguaje regular): gramática tipo 3, AFD, AFND,

expresión regular

Se plantean problemas de decisión:

•¿El lenguaje descrito es vacio?

•¿Existe una determinada cadena w en el lenguaje descrito?

•¿Dos descripciones de un lenguaje describen realmente el mismo lenguaje?

Nota: usualmente los lenguajes son infinitos, con lo que no es posible plantear la pregunta y

recorrer el conjunto INFINITO de cadenas.

Los algoritmos para responder a las dos primeras preguntas son sencillos. ¿Pero y para la última

pregunta ?

¿Dos descripciones de un lenguaje describen realmente el mismo lenguaje?

Consecuencia de esta comprobación: Obtener el autómata finito determinista (AFD) mínimo

equivalente.

Operaciones de minimización

- Eliminación de estados inaccesibles.

- Agrupación de estados equivalenteso indistinguibles.

Equivalencia de dos autómatas finitos deterministas (AFD)

Métodos para comprobar si 2 autómatas son equivalentes:

Algoritmo para comprobar la equivalencia de AFDs

- Se hace la suma directa de los dos AFD’s

- Se hace Q/E del AFD suma

Page 10: Autómata finito no determinista

- Si los dos estados iniciales están en la misma clase de equivalencia de Q/E los 2 AFD’s son

equivalentes.

En los proximos días seguiremos dando información acerca de los autómatas finitos deterministas.

Page 11: Autómata finito no determinista

Ejercicios Resueltos Prob. Total y Teorema de BayesEJEMPLO 1

En la sala de pediatría de un hospital, el 60% de los pacientes son

niñas. De los niños el 35% son menores de 24 meses. El 20% de las

niñas tienen menos de 24 meses. Un pediatra que ingresa a la sala

selecciona un infante al azar.

a. Determine el valor de la probabilidad de que sea menor de 24 meses.

b. Si el infante resulta ser menor de 24 meses. Determine la

probabilidad que sea una niña.

SOLUCIÓN:

Se definen los sucesos:

Suceso H: seleccionar una niña.

Suceso V: seleccionar un niño.

Suceso M: infante menor de 24 meses.

En los ejercicios de probabilidad total y teorema de bayes, es

importante identificar los sucesos que forman la población y cuál es la

característica que tienen en común dichos sucesos. Estos serán los

sucesos condicionados.

a. En este caso, la población es de los infantes. Y la característica en

común es que sean menores de 24 meses. Por lo tanto, la probabilidad

de seleccionar un infante menor de 24 meses es un ejemplo

de probabilidad total. Su probabilidad será:

 

b. Para identificar cuando en un ejercicio se hace referencia al teorema

de bayes, hay que partir de reconocer esta es una probabilidad

condicionada y que la característica común de los sucesos

condicionantes ya ha ocurrido. Entonces, la probabilidad de que sea

niña una infante menor de 24 meses será:

Page 12: Autómata finito no determinista

EJEMPLO 2

Un médico cirujano se especializa en cirugías estéticas. Entre sus

pacientes, el 20% se realizan correcciones faciales, un 35% implantes

mamarios y el restante en otras cirugías correctivas. Se sabe además,

que son de genero masculino el 25% de los que se realizan correcciones

faciales, 15% implantes mamarios y 40% otras cirugías correctivas. Si

se selecciona un paciente al azar, determine:

a. Determine la probabilidad de que sea de género masculino

b. Si resulta que es de género masculino, determine la probabilidad que

se haya realizado una cirugía de implantes mamarios.

SOLUCIÓN:

Se definen los sucesos:

Suceso F: pacientes que se realizan cirugías faciales

Suceso M: pacientes que se realizan implantes mamarios

Suceso O: pacientes que se realizan otras cirugías correctivas

Suceso H: pacientes de género masculino

a. La probabilidad de que sea de género masculino se refiere a un

problema de probabilidad total, ya que es el suceso condicionado y las

cirugías los condicionantes. Dicho valor será:

b. Como el suceso condicionado ha ocurrido entonces se aplica el

teorema de bayes, luego, el valor de la probabilidad será:

Page 13: Autómata finito no determinista

EJEMPLO 3

Un Doctor dispone de tres equipos electrónicos para realizar

ecosonogramas. El uso que le da a cada equipo es de 25% al primero,

35% el segundo en y 40% el tercero. Se sabe que los aparatos tienen

probabilidades de error de 1%, 2% y 3% respectivamente. Un paciente

busca el resultado de una ecografía y observa que tiene un error.

Determine la probabilidad de que se ha usado el primer aparato.

SOLUCIÓN:

Se definen los sucesos:

Suceso P: seleccionar el primer aparato

Suceso S: seleccionar el segundo aparato

Suceso T: seleccionar el tercer aparato

Suceso E: seleccionar un resultado con error

Se puede observar que la pregunta es sobre determinar la probabilidad

de que un examen errado sea del primer aparato, es decir, ya ha

ocurrido el error. Por lo tanto, debemos recurrir al teorema de bayes.

Claro está, que es necesario de igual forma obtener la probabilidad de

que los aparatos produzcan un resultado erróneo, por lo tanto:

Page 14: Autómata finito no determinista

Autómatas finitos no-deterministas (AFND)

Ampliamos un poco las posibilidades de las transiciones de un autómata finito, es decir, cambiamos la función  .

Un autómata finito no-determinista (AFND) es una quíntupla

donde

 es un alfabeto.

 es un conjunto finito no vacío de estados, es decir,  .  es (una de las dos definiciones, que entre si son equivalentes)

o una relación, es decir 

o o una función, es decir,   siendo   el

conjunto de las partes de 

o  es el estado inicial.

o  es el conjunto de estados finales.

Ejemplo:un AFND para el lenguaje 

Page 15: Autómata finito no determinista

Representamos la función   también con una tabla, solo que ahora aparece más de un estado en cada celda de la tabla, por eso usamos la notación de conjuntos:

0 1

Ampliamos de nuevo   para definir el lenguaje aceptado por un AFND

es decir,   coincide con   para símbolos del alfabeto y en general enumera los estados alcanzables con tal palabra.

Un autómata finito no-determinista   acepta una

palabra   si   donde   es la ampliación de la relación de transición  .

O en otras palabras,   acepta  , si   contiene un estado final del autómata.

El lenguaje aceptado por un autómata finito no-determinista   es el conjunto de palabras aceptadas por  : 

Page 16: Autómata finito no determinista
Page 17: Autómata finito no determinista

Problemas resueltos probabilidad

Página web con conceptos e ideas de probabilidad. Problemas resueltos probabilidad.

Page 18: Autómata finito no determinista
Page 19: Autómata finito no determinista
Page 20: Autómata finito no determinista

+  Ver temas relacionados ...g