Post on 14-Aug-2015
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
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
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
.
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:
Σ = {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
[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.
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:
•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
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
- 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.
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á:
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á:
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:
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
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 :
Problemas resueltos probabilidad
Página web con conceptos e ideas de probabilidad. Problemas resueltos probabilidad.
+ Ver temas relacionados ...g