Igualdad de cadenas Si w y z son palabras, se dice que w es igual a z, si tiene la misma longitud y los mismos símbolos en la misma posición. Se denota por w = z. Las nociones de sufijo y prefijo de cadenas sobre un alfabeto son análogas a las que se usan habitualmente. Si w y x son palabras se dice que x es prefijo de w, si para alguna cadena y se obtiene que w=xy. Por ejemplo: si w es la cadena 121, entonces la cadena x=12 es un prefijo de w e y=1. Si se considera a y= ε(épsilon) entonces para w=xy se tiene que w=x, con lo que toda palabra puede considerarse prefija de sí misma. La palabra vacía ε es prefija de cualquier palabra. Una cadena w es una subcadena o subpalabra de otra cadena z, si existen las cadenas x e y para las cuales z=xwy. La inversa o transpuesta denla palabra w es la imagen reflejada de w. Por ejemplo: si w= able entonces su inversa es elba. Para denotar la inversa de w s usa w I Definición: w I w, si w= ε y I a, si w=ay por tanto a є Σ y y є Σ* Ejemplo: x= able calcular w I. X= able = (abl) I e =e (abl) I = e (ab) I l =el (ab) I = el(a) I b = elb (a) I = elba Si A y B son lenguajes sobre el alfabeto Σ, entonces la unión de A y B se denota mediante A B y está formada por todas las palabras que pertenecen al menos a uno de los dos lenguajes. Por tanto: A B= x / x є A o x є B La intersección de los lenguajes A y B es el lenguaje: A B = x / x є A y x є B simultáneamente Luego A B está formado sólo por las palabras que pertenecen a los lenguajes A y B a la vez.
Ejemplo: considerando el alfabeto Σ= 0, 1 y los lenguajes A = ε, 0, 1, 10, 11 B= ε, 1, 0110, 11010 Entonces: A B= ε, 0. 1, 10, 11, 0110, 11010 y A B = ε, 1 Autómata Finito No Determinista (AFN) Si se permite que desde un estado se realicen cero, una o más transiciones mediante el mismo símbolo de entrada, se dice que el autómata finito es NO determinista. Tenemos un conjunto finito de estados Q, un alfabeto de entrada Σ, un estado inicial o de partida s, un conjunto de estados de aceptación F y una regla de transición. La única diferencia con un AFD se encuentra en las reglas de transición. En un AFN, las reglas asocian pares (q, a) con cero o más estados. Se puede decir que las reglas relacionan pares (q, a) con colecciones o conjuntos de estados. Esto significa que la regla es un relación entre Q x Σ y Q, o sobre (QxΣ)xQ. Por lo tanto, un autómata finito no determinista se define mediante una colección de 5 objetos (Q, Σ, q0, F, δ) donde: 1.- Q = conjunto finito de estados 2.- Σ = es el alfabeto 3.- q0 = es uno de los estados de Q designado como estado de partida (también denotado s) 4.- F = es una colección de estados de aceptación 5.- δ= es una relación sobre (Q x Σ) x Q y se llama relación de transición. Puesto que δ es una relación para todo par (q, a) compuesto por el estado actual y el símbolo de la entrada, δ(q, a) es una colección de ceros o más estados es decir δ(q, a) Q. Esto indica que, para todo estado q, se puede tener cero o más alternativas como estado siguiente, todas para el mismo símbolo de entrada. Por ejemplo, el AFN para A= a*b ab* se representa por medio de: Q= {q0, q1, q2, q3, q4} F = {q2, q3, q4} s = q0 Σ = {a, b}
δ = función de transición dado por la tabla δ a b q0 {q1, q4} {q3} q1 {q1} {q2} q2 q3 q4 {q4} En la tabla de la relación de transición las celdas son conjuntos. El hecho de que existan celdas con (vacío), indica que no existe ninguna transición desde el estado actual mediante la entrada correspondiente. Que para un par estado actual-entrada exista más de un posible estado siguiente, indica que se puede elegir entre las distintas posibilidades. En el modelo no existe nada que determine la elección. Por esta razón, se dice que el comportamiento del autómata es NO determinista. El diagrama de transición del autómata anterior es: Ejemplo: Tenemos el AFN M=(Q, Σ, s, F, δ) dado por: Q= {q0, q1, q2} Σ= {a, b} s=q0 F= {q0} Función de transición: δ(q0, a) ={q1} δ(q0, b) = δ(q1, a) = δ(q1, b)={q0, q2} δ(q2, a) ={q0} δ(q2, b) = El diagrama de transición es:
Este AFN acepta el lenguaje (ab aba)* Cuando se está en el estado q1, mediante el símbolo de entrada b, se puede pasar a dos posibles estados siguientes. Se puede elegir entre uno de estos estados. De nuevo, la elección de un estado no está determinada por el modelo. Si para el reconocimiento de la cadena aba, se elige q2 como estado siguiente desde el par (q1, b) llegamos a un estado de aceptación; si elegimos q0 no llegamos a un estado de aceptación. Esta es una característica del NO determinismo: Cuando se debe realizar una elección y dicha elección no puede ser determinada por el modelo, debemos acertar la correcta. En un modelo de computación no determinista del cual los AFN son una clase, se asume que siempre se hace la elección correcta. Ejercicios: 1.- obtener el diagrama de transición que represente al lenguaje formado por todas las cadenas sobre {a,b} que tienen un numero par de b s, y definir la quíntupla del autómata. 2.- Dibuja el diagrama de transición AFD, M={Q, Σ, s, F, δ) representado por: Q={q0, q1, q2, q3} Σ={a,b} s=q0 F= {q0, q1, q2} y la función de transición δ es: δ a b q0 q0 q1 q1 q0 q2 q2 q0 q3 q3 q3 q3
3.- describe totalmente el autómata tomando en cuenta la siguiente figura: