Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
AFND y AFD reconocen palabras
1. Autómatas finitos no deterministas y deterministas Semana 3 Teoría de la Computación
2.
3.
4. Autómata finito no determinista a q1 a q0 q2 b ¿la palabra “ ba” se reconoce o no se reconoce? q3 > Podemos solucionar este dilema si tomamos como acuerdo que el autómata seguirá todo posible camino hasta llegar a un estado de aceptación, luego del cual lo aceptará. Esto se llama NO DETERMINISMO .
23. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 10101 L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
24. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 10101 Revisamos la definición del AF, buscando el estado inicial. L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
25. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 10101 Estado inicial: q0. Lo pondremos como estado actual. L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q0 Letra actual: Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
26. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 10101 Ahora pondremos la primera letra como la letra actual L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q0 Letra actual: 1 Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
27. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 10101 Inicia el proceso. Buscamos en la tabla el estado siguiente para el estado y la letra actual. L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q0 Letra actual: 1 (q 0 , 1) = q 0 Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
28. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 10101 Ponemos el nuevo estado encontrado como estado actual. L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q0 Letra actual: 1 (q 0 , 1) = q 0 Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
29. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 1 0101 Avanzamos una letra de la palabra y la colocamos como letra actual L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q0 Letra actual: 0 (q 0 , 1) = q 0 Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
30. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 1 0101 Ahora buscamos el nuevo estado siguiente para el nuevo estado y letra actual. L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q0 Letra actual: 0 (q 0 , 1) = q 0 (q 0 , 0) = q 1 Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
31. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 10 101 Colocamos el nuevo estado como actual y avanzamos una letra L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q1 Letra actual: 1 (q 0 , 1) = q 0 (q 0 , 0) = q 1 Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
32. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 10 101 Busquemos ahora un estado siguiente para la combinación de estado/letra actual L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q1 Letra actual: 1 (q 0 , 1) = q 0 (q 0 , 0) = q 1 (q 1 , 1) = q 1 Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
33. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 101 01 Colocamos el nuevo estado como estado actual y avanzamos una letra L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q1 Letra actual: 0 (q 0 , 1) = q 0 (q 0 , 0) = q 1 (q 1 , 1) = q 1 Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
34. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 101 01 Nuevamente, buscamos un estado siguiente para la actual combinacion estado/letra actual L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q1 Letra actual: 0 (q 0 , 1) = q 0 (q 0 , 0) = q 1 (q 1 , 1) = q 1 (q 1 , 0) = q 0 Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
35. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 1010 1 Colocamos el nuevo estado como actual y avanzamos una letra L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q0 Letra actual: 1 (q 0 , 1) = q 0 (q 0 , 0) = q 1 (q 1 , 1) = q 1 (q 1 , 0) = q 0 Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
36. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 1010 1 Nuevamente, buscamos un estado siguiente para la combinación estado/letra actual. L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q0 Letra actual: 1 (q 0 , 1) = q 0 (q 0 , 0) = q 1 (q 1 , 1) = q 1 (q 1 , 0) = q 0 (q 0 , 1) = q 0 Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
37. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 10101 Colocamos el estado como actual y avanzamos una letra L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q0 Letra actual: (q 0 , 1) = q 0 (q 0 , 0) = q 1 (q 1 , 1) = q 1 (q 1 , 0) = q 0 (q 0 , 1) = q 0 Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
38. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 10101 Pero la palabra ya acabó (cond1). Verifiquemos si el estado al que hemos llegado es aceptación (cond2) o rechazo L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q0 Letra actual: (q 0 , 1) = q 0 (q 0 , 0) = q 1 (q 1 , 1) = q 1 (q 1 , 0) = q 0 (q 1 , 1) = q 0 ¿q0 F? Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
39. Ejemplo: Reconocer 10101 (definida por tabla) Proceso computacional para 10101 w = 10101 Pero la palabra ya acabó (cond1). Verifiquemos si el estado al que hemos llegado es aceptación (cond2) o rechazo L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q0 Letra actual: (q 0 , 1) = q 0 (q 0 , 0) = q 1 (q 1 , 1) = q 1 (q 1 , 0) = q 0 (q 1 , 1) = q 0 ¿q0 F? Función de transición del AFD: 0 1 q 0 q 1 q 0 q 1 q 0 q 1
40. Ejemplo: Reconocer 10101 Función de transición del AFD: (definida por tabla) Proceso computacional para 10101 w = 10101 Pero la palabra ya acabó (cond1). Verifiquemos si el estado al que hemos llegado es aceptación (cond2) o rechazo L = {{0,1}, {q 0 , q 1 }, d, q 0 , {q 0 }} Formalizado: Estado actual: q0 Letra actual: (q 0 , 1) = q 0 (q 0 , 0) = q 1 (q 1 , 1) = q 1 (q 1 , 0) = q 0 (q 1 , 1) = q 0 ¿q0 F? La palabra 10101 es aceptada . 0 1 q 0 q 1 q 0 q 1 q 0 q 1