Autómatas de Estados Finitos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Autómatas de Estados Finitos"

Transcripción

1 Asignatura: Teoría de la Computación Unidad 1: Lenguajes Regulares Tema 1: Autómatas de Estados Finitos Autómatas de Estados Finitos Definición de Autómatas de estados finitos: Tipo Lenguaje Máquina Gramática G = (V,T,P,S) 3 Lenguaje Regular Autómata finito Gramática Regular A è ab, A è a (A,B en V y a en T) Autómata de Estados Finitos (AF): Describen, reconocen y definen a los Lenguajes Regulares. Modelo Matemático de un sistema con estados y salidas discretas. Tipos de Autómatas Finitos: - Autómata Finito Determinista (AFD). No pueden estar en más de un estado simultáneamente. - Autómata Finito No Determinista (AFN). Puede estar en varios estados al mismo tiempo. Definición de Autómatas de estados Finitos Deterministas (AFD): Un AFD es una quíntupla A = (Q, Σ, δ, q0, F) Siendo: Q = conjunto finito de estados. Σ = conjunto finito de símbolos del alfabeto. q0 = es el estado inicial (denotado con flecha ) a inicio F = conjunto de estados finales (o estados de aceptación). F δ = La función de transición entre estados δ: Q x Σ Q Por ejemplo: si p y q estan en Q y a en Σ, Se define la transición δ(q,a) = p. En la figura se observa como hay una transición de q a p dado a. Es decir, existe un arco etiqueta a entre q u p. Q Los estados de aceptación se denotan gráficamente con un doble círculo y en la tabla de transición con asterisco al lado del estado. Por ejemplo si r esta en F debe ser denotado con doble circulo como se observa en la figura. Nota: En los AFD debe cumplirse que: Para toda a que esta en Σ existe exactamente una transición de salida de cada estado. Prof. Hilda Contreras Teoría de la Computación - Pregrado 1

2 Notación para la Función de Transición: Se tiene tres formas para presentar la función de transición cualquiera de ellas es suficiente para completar el diseño del AFD. Estas son: a) Diagrama de Transición b) Función de transición c) Tabla de Transiciones: Representación Tabular Ejemplo: Dado el lenguaje L = { x x en {0,1} y x comienza con 0 }, es decir todas las cadenas binarias que comienzan con 0. El AFD que lo reconoce es el siguiente: M = (Q,Σ, δ, q 0, F) Σ= {0,1}, F = {q 1 }, Q={q 0,q 1,q 2 } δ > q 0 q 1 q 2 *q 1 q 1 q 1 q 2 q 2 q 2 Función de transición δ δ(q 0,0) = q 1 δ(q 0,1) = q 2 δ(q 1,0) = q 1 δ(q 1,1) = q 1 δ(q 2,0) = q 2 δ(q 2,1) = q 2 Las tres representaciones de la función de transición son equivalentes, y cada suficiente para dar el AF. Puede escoger una representación pero comprendiendo la relación entre ellas. Prof. Hilda Contreras Teoría de la Computación - Pregrado 2

3 Ejecución de un Autómatas de estados finitos determinista AFD: Para la ejecución formal de un AFD se utiliza la definición de la función de transición extendida sobre cadenas δˆ δˆ = Q x Σ* Q 1) δˆ(q,ε) = q 2) Para todo w en Σ* y a en Σ δˆ(q,wa) = δ (δˆ(q,w),a) Por ejemplo: Dado el AFD anterior que reconoce el lenguaje L = { x x en {0,1} y x comienza con 0 }, pruebe si las cadenas w 1 = 010 y w 2 = 101 están en el lenguaje L δˆ(q 0,010) = δ (δˆ(q 0,01),0) = δ (δ (δˆ(q 0,0),1),0) = δ (δ (δ (δˆ(q 0,ε),0),1),0) δ (δ (δ (q 0,0),1),0) δ (δ (q 1,1),0) δ (q 1,0) = q 1 Acepto al terminar de procesar la cadena y quedar en un estado de aceptación (esta en F) δˆ(q 0,101) = δ (δˆ(q 0,10),1) = δ (δ (δˆ(q 0,1),0),1) = δ (δ (δ (δˆ(q 0,ε),1),0),1) δ (δ (δ (q 0,1),0),1) δ (δ (q 2,1),0) δ (q 2,0) = q 2 No acepto al terminar de procesar la cadena y quedar en un estado que no es de aceptación. Lenguaje aceptado por un AFD. Dado M = (Q,Σ, δ, q 0, F) un AFD, el lenguaje L aceptado por M está definido por: L(M)= { w w en Σ* y δˆ(q 0,w) pertenece a F } Nota: el lenguaje de M, es un conjunto de cadenas w que llevan al autómata M desde q 0 a un estado de aceptación. Si L es un L(M) para algún AFD M, entonces decimos que L es un Lenguaje Regular. Nota importante: Para poder verificar si la cadena w esta (es aceptada) o no (no es aceptada) en L se debe terminar de procesarse la cadena w. Ejemplo: Dado el lenguaje L = { w w tiene un número par de ceros y unos } L = { 00, 11, 1100, 0011, 0101, 1010, , } M = (Q, Σ, δ, q 0, F) Σ = {0,1}, Q = {q 0,q 1,q 2,q 3 } F = { q 3 } Para la cadena 0101 probar el AFD δˆ(q 0,0101) = δ (δˆ(q 0,010),1) = δ (δ (δˆ(q 0,01),0),1) = δ (δ (δ (δˆ(q 0,0),1),0),1) = δ (δ (δ (δ (δˆ(q 0,ε),0),1),0),1) δ (δ (δ (δ (q 0,0),1),0),1) δ (δ (δ (δ (q 1,1),0),1) δ (δ (q 3,0),1) δ (q 2,1) = q 0, Acepto al terminar de procesar la cadena y quedar en un estado de aceptación q 0 (q 0 esta en F es verdadero) Ejercicios AFD: Para Σ = {0,1} construya un AFD que acepte los siguientes lenguajes: Prof. Hilda Contreras Teoría de la Computación - Pregrado 3

4 a) El conjunto de cadenas que tiene 011 como subcadena. b) El conjunto de todas las cadenas cuyo tercer elemento desde el extremo izquierdo sea un 1. c) El conjunto de cadenas en las que el número de ceros es divisible por 3. d) El conjunto de cadenas que terminan con 01. e) El conjunto vacío. f) El conjunto de la cadena vacía. g) Elabore un algoritmo para implementar el funcionamiento de un AFD en un computador (debe reflejar el estado, la función de transición y simular el funcionamiento y definición del AFD). Nota: El compilador de un lenguaje de programación implementa AFD. Autómata Finito No Determinista AFND. Son autómatas de estados finitos que tienen la capacidad de estar en más de un estado simultáneamente. Ventaja: son más compactos, flexibles y fáciles de diseñar que los AFD permiten cero, una o más transiciones de salida de un estado para el mismo símbolo. No hay que considerar todos los casos en cada estado. La diferencia con AFD es la función δ: Q x Σ 2 Q ó también δ: Q x Σ Q* En la figura δ(q,a) = {p, r} A=(Q,Σ, δ, q 0, F) δ: Q x Σ Q* δ(q,a) = R, R Q, δ(q,a) = {p, r} Función de Transición Extendida: δˆ = Q x Σ* Q* 1) δˆ(q,ε) = {q} 2) δˆ(q,xa) = { r para algún p en δˆ(q,x), δˆ(p,a) = r } Sea w de la forma w = xa donde a es el símbolo final (sufijo de longitud 1) de w y x el resto de w. Entonces:... Extensión para Q* x Σ Prof. Hilda Contreras Teoría de la Computación - Pregrado 4

5 1) δ(p,w) = Lenguaje aceptado por un AFN. Dado M = (Q, Σ, δ, q 0, F) un AFN, el lenguaje L aceptado por M está definido por: L(M)= { w w en Σ* y δˆ(q 0,w) F } Es el conjunto de cadenas pertenecientes a Σ* tal que ejecutar el AFN desde el estado inicial q0 con la cadena w, la función de transición extendida δˆ(q 0,w) contiene al menos un estado de aceptación (es diferente del vacío la intersección con F). Ejemplo: Dado el lenguaje L= { x x en {0,1} y termina en 01}, hallar el AFN que lo reconozca L={ 01, 0001, 101, 1001, 10101, } A = (Q, Σ, δ, q 0, F) Q = { q 0, q 1, q 2 } Σ = { 0,1 } F = {q 2 } Para las cadenas w1 = 01 y w2 = se muestra la ejecución formal a partir de la función de transición extendida: δˆ(q 0,01) = δ (δˆ(q 0,0),1) = δ (δ (δˆ(q 0,ε), 0),1) δ (δ(q 0, 0),1) δ ({q 0, q 1 },1) = δ (q 0,1) U δ(q 1,1) = {q 0 } U {q 2 } = {q 0,q 2 }, Acepto porque {q 0,q 2 } {q 2 }, es decir al menos uno de los estados del autómata, luego de procesar la cadena, es de aceptación δˆ(q 0,10101) = δ (δˆ(q 0,1010),1) = δ(δ(δ(δ(δ(δˆ(q 0,ε),1),0),1),0),1) δ(δ(δ(δ(δ(q 0,1),0),1),0),1) δ(δ(δ(δ({q 0 },0),1),0),1) δ(δ(δ({q 0,q 1 },1),0),1) δ({q 0,q 1 },1) = δ (q 0,1) U δ(q 1,1) = {q 0 } U {q 2 } = {q 0,q 2 } δ(δ({q 0,q 2 },0),1) δ({q 0,q 2 },0) = δ (q 0,0) U δ(q 2,0) = {q 0,q 1 } U = {q 0,q 1 } δ({q 0,q 1 },1) = δ (q 0,1) U δ(q 1,1) = {q 0 } U {q 2 } = {q 0,q 2 }, acepto porque {q 0,q 2 } decir al menos uno de los estados es de aceptación de F {q 2 }, es Ejercicios AFN: Prof. Hilda Contreras Teoría de la Computación - Pregrado 5

6 Construya un AFN que acepte los siguientes lenguajes: a) Conjunto de cadenas basadas en Σ={a,b,c} cuyo último símbolo no haya aparecido antes en la misma entrada. b) Conjunto de 0 y 1 que contenga 2 ceros separados por un número de posiciones múltiplo de 3. Nótese que 0 es un múltiplo de 3 valido. Equivalencia entre AFD y AFN: - Todo Lenguaje Regular puede describirse con ambos AFN y AFD. - Generalmente un AFN es más fácil de capturar, y un AFD es mas fácil de implementar. - Tienen casi el mismo número de estados. El AFD más grande puede tener 2 n estados y el AFN mas pequeño solo tiene n estados. Teorema: Si L es aceptado por un AFN entonces existe un AFD que acepta L (es decir, ambos aceptan la misma clase de lenguaje). Algoritmo para la Construcción de Subconjuntos: Este algoritmo permite a partir de un AFN obtener un AFD equivalente que reconoce el mismo lenguaje. Su nombre se debe a que se intenta construir todos los subconjuntos del conjunto de estados del AFN. AFN N = (Q N,Σ, δ N, q 0, F N ) AFD D = (Q D,Σ, δ D, {q 0 }, F D ) Tal que L(N) = L(D) (el lenguaje reconocido por el autómata N sea el mismo que el lenguaje reconocido por el autómata D, por tanto sean equivalentes) Algoritmo: - Σ son iguales de N y D. - Q D es el conjunto de los subconjuntos de Q N, (Q D * ) conjunto potencia. No todos los estados de Q D son accesibles desde q 0, esos son eliminados. - F D es el conjunto de subconjuntos S de Q N (S Q N ) tal que S F N. Es decir F D contiene todos los conjuntos de estados de N que incluyen al menos un estado de aceptación de N. - Para todo S Q N y a en Σ, entonces δ D (S,a) = Ejemplo: Dado N = (Q N,Σ, δ N, q 0, F N ) un AFN, Σ={0,1} y Q N = {q 0,q 1,q 2 }, F N = {q 2 } δ N 0 1 q 0 {q 0,q 1 } {q 0 } q 1 {q 1 } q 3 Prof. Hilda Contreras Teoría de la Computación - Pregrado 6

7 Obtener D un AFD tal que L(N) = L(D) a través del algoritmo de construcción de subconjuntos D = (Q D,Σ, δ D, {q 0 }, F D ) Q D = (, {q0}, {q1}, {q2}, {q0,q1}, {q0,q2}, {q1,q2}, {q0,q1,q2}} F D = ({q2}, {q0,q2}, {q1,q2}, {q0,q1,q2}} δ D ({q 0 },0) = δ N (q 0,0) = {q 0,q 1 } δ D ({q 0 },1) = δ N (q 0,1) = {q 0 } δ D ({q 0,q 1 },0) = δ N (q 0,0) U δ N (q 1,0) = {q 0,q 1 } U = {q 0,q 1 } δ D ({q 0,q 1 },1) = δ N (q 0,1) U δ N (q 1,1) = {q 0 } U {q 2 } = {q 0,q 2 } δ D ({q 0,q 1 },1) = δ N (q 0,1) U δ N (q 1,1) = {q 0 } U {q 2 } = {q 0,q 2 } δ D ({q 0,q 2 },0) = δ N (q 0,0) U δ N (q 2,0) = {q 0,q 1 } U = {q 0,q 1 } δ D ({q 0,q 2 },1) = δ N (q 0,1) U δ N (q 2,1) = {q 0 } U = {q 0 } Para w= en Σ* δ Dˆ({q 0 },10101) = δ D (δ Dˆ({q 0 },1010),1) = δ D (δ D (δ D (δ D (δ D (δ Dˆ({q 0 },ε),1),0),1),0),1) δ D (δ D (δ D (δ D (δ D ({q 0 },1),0),1),0),1) = δ D (δ D (δ D (δ D (δ D ({q 0 },1),0),1),0),1) = δ D (δ D (δ D (δ D ({q 0 },0),1),0),1) = δ D (δ D (δ D ({q 0,q 1 },1),0),1) = δ D (δ D ({q 0,q 2 },0),1) = δ D ({q 0,q 1 },1) = {q 0,q 2 } Acepto porque {q 0,q 2 } esta en F D La demostración de este algoritmo esta en el libro [1]: Se demuestra por inducción sobre el tamaño de w, donde el caso base δ Nˆ(q 0, ε) = δ Dˆ({q 0 }, ε) y para el caso inductivo δ Nˆ(q 0, w) = δ Dˆ({q 0 }, w) Automatas Finitos con Transiciones espontáneas (AFN-ε) Es un AFN que permite transiciones para ε. Antes los AF no se movían con la cadena vacía, es decir δ Nˆ(q, ε) = {q} y δ Dˆ(q, ε) = q, los AF se quedaban en el mismo estado. Ahora con AFN-ε se tienen transición espontáneas sin recibir o procesar ningún símbolo de la entrada. Se aplica si ε no pertenece al conjunto de símbolos Σ. Utilidad: - Facilidad de Programación. - Relación directa con las expresiones regulares (equivalencia demostrada formalmente) Un AFN-ε es una quíntupla: A=(Q,Σ, δ, q 0, F) Siendo: Q = conjunto finito de estados. Σ = conjunto finito de símbolos del alfabeto. q 0 = es el estado inicial (denotado con flecha ) a inicio F = conjunto de estados finales (o estados de aceptación). F δ = La función de transición entre estados δ: Q x Σ U {ε} Q* Q Prof. Hilda Contreras Teoría de la Computación - Pregrado 7

8 Ejemplo: Dado L = { 0 n 1 m 2 p n,m,p 0 }, el lenguaje de todas las cadenas de 0, 1 o más ceros (0 n ) seguidas de 0, 1 o más unos (1 m ), y seguidas de 0, 1 o más dos (2 p ). Los siguientes autómatas reconocen a L: AFN : AFN-ε : Probando la cadena Nota: en la tabla de transición puede o no asumirse la transición espontánea de ε. Es decir, δ(q,ε) = {q}. Por ejemplo en el estado q2, puede ser pero sin embargo también es U {q2} Ejecución de un AFN-ε: Dada una cadena y un AFN-ε, para reconocer dicha cadena se debe aplicar la función Extendida para cadena δ^: Q x Σ* Q* Donde δ^(q,w) es el conjunto de todos los estados p i tal que se puede ir de q a cada p i por un camino etiquetado w que puede incluir arcos etiquetados ε. Para calcular este camino es necesario definir el término ε-clausura de un estado. ε-clausura (q) = es el conjunto de todos los estados a los cuales se puede llegar a partir de q siguiendo un camino de arcos etiquetados con ε únicamente. Definición recursiva de ε-clausura (q): Base: ε-clausura(q) = q, es decir por definición δ(q,ε) = q, podemos imaginarnos un bucle de un estado a si mismo etiquetado ε Paso inductivo: Si δ es la función de transición de AFN-ε y p está en la ε-clausura(q), es decir δ(q,ε)=p entonces la ε-clausura(q) también contiene los estados δ(p,ε). Ver siguiente figura Prof. Hilda Contreras Teoría de la Computación - Pregrado 8

9 Definir δ^: 1) δ^(q 0,ε) = ε-clausura(q 0 ) 2) Para todo w en Σ* y a en Σ δ^(q,wa) = ε-clausura(p), Donde: ε-clausura(p) = { p para algún r en δ^(q,w), p en δ(r,a) } Nota: aplicar ε-clausura a cada p. R es subconjunto de Q: 3) δ(r,a) = 4) Entonces δ^(q,w) = δ^(q,x) = {r 1,r 2,...,r k } con w = xa. Prof. Hilda Contreras Teoría de la Computación - Pregrado 9

10 y Ejemplo: Dada la cadena w= 02 determinar si pertenece o no al lenguaje reconocido por el siguiente AFN-ε ε-clausura(q 0 ) = { q 0,q 1,q 2 } ε-clausura(q 1 ) = {q 1,q 2 } ε-clausura(q 2 ) = {q 2 } δ^(q 0,02) = ε-clausura(δ(δ^(q 0,0),2)) = ε-clausura(δ(ε-clausura(δ(δ^(q 0,ε),0)),2)) = ε-clausura(δ(ε-clausura(δ({q 0,q 1,q 2 },0)),2)) ya δ^(q 0,ε) = ε-clausura(q 0 ) = {q 0,q 1,q 2 } = ε-clausura(δ(ε-clausura({q 0 }),2)) ya δ({q 0,q 1,q 2 },0) = {q 0 } U U = {q 0 } = ε-clausura(δ({q 0,q 1,q 2 },2)) ya ε-clausura({q 0 }) = ε-clausura(q 0 ) = {q 0,q 1,q 2 } = ε-clausura({q 2 }) ya δ({q 0,q 1,q 2 },2) = U U {q 2 } = {q 2 } = {q 2 } Acepto la cadena w 02 ya que δ^(q 0,02) F Lenguaje Aceptado por un AFN-ε : Dado un AFN- ε E=(Q,Σ, δ, q 0, F) el L(E) se define como: L(E)= { w δ^(q 0,w) F } Equivalencia AFN- ε con AFD (construcción de subconjuntos de ε) Teorema: Si L es aceptado por un AFN con ε transiciones entonces L es aceptado por un AFN sin ε-transiciones. (Equivalencia Eliminación de ε-transiciones) Teorema: Un lenguaje L es aceptado por un AFN- si y solo si es aceptado por un AFD. Algoritmo para pasar de un AFD a un AFN-ε E es AFN- y A es AFD L(E) = L(A) es decir δ E^(q 0E,w) = δ D^(q 0D,w) para todo w en L E (AFN-ε) = (Q E,Σ,δ E, q 0E,F E ) D (AFD) = (Q D,Σ,δ D, q 0D,F D ) q 0D = ε-clausura(q 0E ) Q D = Q E *, es decir el conjunto de subconjuntos de Q E F D = { s s en Q D y S F E } δ D (S,a) para todo a en Σ y S en Q D = Prof. Hilda Contreras Teoría de la Computación - Pregrado 10

11 = { } = Ejemplo: Dado el AFN-ε E halle un AFD equivalente. E = (Q, Σ, δ, q 0, F) Q = {q 0,q 1,q 2 } Σ = {0,1,2} F = {q 2 } D =(,,, ) ( )= ( )= ( )= Prof. Hilda Contreras Teoría de la Computación - Pregrado 11

12 AFD: Se ve cada estado como un Conjunto de etiqueta. AFN: Se interpreta el contenido de la etiqueta de cada estado. Hay dos formas de interpretar la construcción de subconjuntos-, una para crear un AFD y otra AFN. La idea es llegar a un AF más fácil de implementar los cuales son AFD. Ejercicios: 1. Obtenga un diagrama de transición de un AFN que acepte las cadenas de 0 s y 1 s que tengan 2 ceros separados por una cadena cuya longitud es 3i para algún i el algoritmo visto en clase, convierta este autómata en un AFD. 0.Usando 2. Obtenga un autómata finito (de cualquier tipo) para reconocer los siguientes lenguajes: cadenas acabadas en 00 cadenas con dos unos consecutivos cadenas que no contengan dos unos consecutivos cadenas con dos ceros consecutivos o dos unos consecutivos cadenas con dos ceros consecutivos y dos unos consecutivos cadenas acabadas en 00 o 11 cadenas con un 1 en la antepenúltima posición cadenas de longitud 4 1. El conjunto de enteros y números en punto flotante. Usando el Σ = { +, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, E,. } 2. Construir un AFD equivalente a los siguientes autómatas : a) M 1 = ({p,q,r,s}, {0,1}, δ, p, {s}) donde δ está dada por : δ 0 1 p {p, q} {p} q {r} {r} r {s} {} * s {s} {s} b) M 2 = ({p,q,r,s},{0,1}, δ, p,{q,s}) donde δ está dada por: δ 0 1 p {q, s} {q} * q {r} {q,r} r {s} {p} * s {} {p} 1. Dado el siguiente AFN-ε E, aplicando el procedimiento de construcción de subconjunto, convertir a un AFD E = (Q, Σ, δ, p, F) Q = { p, q, r } Σ = { a, b, c } F = { r } δ ε a b c p Ф {p} {q} {r} Prof. Hilda Contreras Teoría de la Computación - Pregrado 12

13 q {p} {q} {r} Ф * r {q} {r} Ф {p} 2. Obtener a partir de los siguientes AFND-ε, un AFD equivalente. a) M 1 = ( {q 0,q 1,q 2,q 3,q 4 }, {a,b}, δ, q 0, { q 4 } ) donde δ está dada por: δ a b ε q 0 {q 1,q 2 } {q 1,q 3 } {} q 1 {} {} {q 3 } q 2 {q 4 } {} {} q 3 {} {q 4 } {} q 4 {} {} {} b) M 2 = ( {q 0,q 1,q 2,q 3 }, {a,b,c}, δ, q 0, {q 3 } ) donde δ está dada por : δ a b c ε q 0 {q 0,q 1 } {} {} {q 2 } q 1 {} {q 1,q 3 } {} {} q 2 {} {q 2 } {} {q 3 } q 3 {} {} {q 3 } {} Preguntas Determine las diferencias entre un AFD y un AFN. Cuándo usar cada uno de estos autómatas? Puede obtener un AFND algorítmicamente a partir de un AFD?, por qué? Piense en aplicaciones de la vida real que pueden ser vistos como AF. Referencias [1] John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. (2002), Introducción a la Teoría de Autómatas y Lenguajes Formales. PrenticeHall. Prof. Hilda Contreras Teoría de la Computación - Pregrado 13

Autómatas Deterministas. Ivan Olmos Pineda

Autómatas Deterministas. Ivan Olmos Pineda Autómatas Deterministas Ivan Olmos Pineda Introducción Los autómatas son una representación formal muy útil, que permite modelar el comportamiento de diferentes dispositivos, máquinas, programas, etc.

Más detalles

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.

Más detalles

Computabilidad y Lenguajes Formales: Autómatas Finitos

Computabilidad y Lenguajes Formales: Autómatas Finitos 300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. No Determinismo Hasta ahora cada

Más detalles

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA) Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica y la Computación Fa.M.A.F., Universidad Nacional de Córdoba 26/0/6 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes

Más detalles

Autómatas de Pila y Lenguajes Incontextuales

Autómatas de Pila y Lenguajes Incontextuales Autómatas de Pila y Lenguajes Incontextuales Elvira Mayordomo Universidad de Zaragoza 5 de noviembre de 2012 Contenido de este tema 1. Introducción a los autómatas de pila 2. Definiciones 3. Equivalencia

Más detalles

Convertir un AFND a un AFD

Convertir un AFND a un AFD Convertir un AFND a un AFD Existe una equivalencia entre los AFD y AFN, de forma que un autómata M es equivalente a un autómata M' si L(M) ) L(M'). Ejemplo: Los autómatas de la siguiente figura son equivalentes.

Más detalles

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas Tema 3.1: Autómatas Finitos Deterministas Luis Peña luis.pena@urjc.es http://www.ia.urjc.es/cms/es/docencia/ic-msal Sumario Tema 3.1: Autómatas Finitos Deterministas. 1. Concepto de AFD 2. Equivalencia

Más detalles

Expresiones regulares, gramáticas regulares

Expresiones regulares, gramáticas regulares Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde

Más detalles

Teoría de la Computación para Ingeniería de Sistemas: un enfoque práctico. Prof. Hilda Contreras

Teoría de la Computación para Ingeniería de Sistemas: un enfoque práctico. Prof. Hilda Contreras Teoría de la Computación para Ingeniería de Sistemas: un enfoque práctico Prof. Hilda Contreras 15 de abril de 2012 2 Índice general 1. Introducción 5 1.1. Marco histórico de la teoría de la computación..................

Más detalles

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 3

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 3 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Práctica 3 1. Equivalencia entre autómatas 1.1. Equivalencia entre AFD y AFN 1.1. Equivalencia entre AFD y AFλ 2. Ejercicios propuestos 1. Equivalencia entre autómatas

Más detalles

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo Autómatas Mínimos Encontrar el autómata mínimo. Universidad de Cantabria Introducción Dado un lenguaje regular sabemos encontrar un autómata finito. Pero, hay autómatas más sencillos que aceptan el mismo

Más detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto

Más detalles

Computabilidad y Lenguajes Formales: Autómatas de Pila

Computabilidad y Lenguajes Formales: Autómatas de Pila 300CIG007 Computabilidad y Lenguajes Formales: Autómatas de Pila Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Basado en [SIPSER, Chapter 2] Autómatas

Más detalles

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones 1 Curso Básico de Computación 5 Autómatas de pila 5.1 Descripción informal Un autómata de pila es esencialmente un autómata finito que controla una cinta de entrada provista de una cabeza de lectura y

Más detalles

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 45 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

Equivalencia Entre PDA y CFL

Equivalencia Entre PDA y CFL Equivalencia Entre PDA y CFL El Lenguaje aceptado por un Autómata con Pila Universidad de Cantabria Esquema 1 Introducción 2 3 Lenguaje Aceptado por un Autómata Como en los autómatas finitos, se puede

Más detalles

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003 Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Interrogación 2 IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Esta interrogación

Más detalles

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 42 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

Autómatas finitos con salidas

Autómatas finitos con salidas Agnatura: Teoría de la Computación Unidad : Lenguajes Regulares Tema 2: Autómatas con salidas Autómatas finitos con salidas Importancia y aplicación de los autómatas finitos Los Autómatas finitos constituyen

Más detalles

Autómatas finitos no deterministas (AFnD)

Autómatas finitos no deterministas (AFnD) Autómatas finitos no deterministas (AFnD) Elvira Mayordomo Universidad de Zaragoza 1 de octubre de 2012 Contenido de este tema Introducción y ejemplos de autómatas finitos no deterministas Definición de

Más detalles

Teoría de la Computación para Ingeniería de Sistemas: un enfoque práctico. Prof. Hilda Contreras

Teoría de la Computación para Ingeniería de Sistemas: un enfoque práctico. Prof. Hilda Contreras Teoría de la Computación para Ingeniería de Sistemas: un enfoque práctico Prof. Hilda Contreras 25 de abril de 2012 Índice general 1. Expresiones regulares 5 1.0.1. Denición de las expresiones regulares...................

Más detalles

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES (TALF) BLOQUE II: LENGUAJES REGULARES Tema 2: Autómatas Finitos Parte 2 (de 3). Autómatas Finitos No Deterministas (AFNDs) Grado en Ingeniería Informática URJC

Más detalles

Tema: Autómata de Pila

Tema: Autómata de Pila Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas

Más detalles

Capítulo 7: Expresiones Regulares

Capítulo 7: Expresiones Regulares Capítulo 7: Expresiones Regulares 7.1. Concepto de expresión regular 7.1.1. Definición 7.1.2. Lenguaje descrito 7.1.3. Propiedades 7.2. Teoremas de equivalencia 7.2.1. Obtener un AFND a partir de una expresión

Más detalles

ESCUELA: UNIVERSIDAD DEL ISTMO

ESCUELA: UNIVERSIDAD DEL ISTMO 1.-IDENTIFICACIÓN ESCUELA: UNIVERSIDAD DEL ISTMO CLAVE: 3041 GRADO: ING. EN COMPUTACIÓN, CUARTO SEMESTRE TIPO DE TEÓRICA/PRÁCTICA ANTECEDENTE CURRICULAR: 3033.- OBJETIVO GENERAL Proporcionar al alumno

Más detalles

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc.

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc. Formales Tema 4: Autómatas finitos deterministas Holger Billhardt holger.billhardt@urjc.es Sumario: Bloque 2: Autómatas Finitos 4. Autómatas Finitos Deterministas 1. Concepto y Definición 2. Autómata finito

Más detalles

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Grado en Ingeniería Informática Online, Curso Universidad Rey Juan Carlos

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Grado en Ingeniería Informática Online, Curso Universidad Rey Juan Carlos TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Grado en Ingeniería Informática Online, Curso 202-203 Universidad Rey Juan Carlos GUÍA PARA LA REALIZACIÓN DE LA HOJA DE PROBLEMAS No 3 (Tema 3: Expresiones Regulares)

Más detalles

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50 INAOE (INAOE) 1 / 50 Contenido 1 2 3 4 (INAOE) 2 / 50 Pushdown Automata Las gramáticas libres de contexto tienen un tipo de autómata que las define llamado pushdown automata. Un pushdown automata (PDA)

Más detalles

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto EJERCICIOS del TEMA 3: Lenguajes independientes del contexto Sobre GICs (gramáticas independientes del contexto) 1. Sea G una gramática con las siguientes producciones: S ASB ε A aab ε B bba ba c ) d )

Más detalles

Autómatas y Lenguajes Formales. Tema 3.2: Autómatas Finitos No Deterministas. Luis Peña luis.pena@urjc.es

Autómatas y Lenguajes Formales. Tema 3.2: Autómatas Finitos No Deterministas. Luis Peña luis.pena@urjc.es Autómatas y Lenguajes Formales Tema 3.2: Autómatas Finitos No Deterministas Luis Peña luis.pena@urjc.es Sumario Tema 3.2: Autómatas Finitos No Deterministas. 1. Concepto de AFND 2. Teoremas de Equivalencia

Más detalles

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R. Conjuntos Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por se entiende que a pertenece a R. a R Normalmente, podremos definir a un conjunto de dos maneras: Por

Más detalles

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES UNIVERSIDAD FERMIN TORO VICE RECTORADO ACADEMICO UNIVERSIDAD FACULTAD DE INGENIERIA ESCUELA DE MANTENIMIENTO MECÁNICO ESCUELA DE TELECOMUNICACIONES ESCUELA DE ELÉCTRICA ESCUELA DE COMPUTACIÓN PROGRAMA

Más detalles

Unidad 4. Autómatas de Pila

Unidad 4. Autómatas de Pila Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0 n 1 n } debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje

Más detalles

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales 6. Autómatas a Pila Araceli Sanchis de Miguel Agapito Ledezma Espino José A. Iglesias Mar

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales

Más detalles

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales Teoría de utómatas y Lenguajes Formales Introducción a las ramáticas. ramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Introducción

Más detalles

GRAMATICAS LIBRES DEL CONTEXTO

GRAMATICAS LIBRES DEL CONTEXTO GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.

Más detalles

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007. Universidad de Puerto Rico Recinto de Mayagüez Facultad de Artes y Ciencias DEPARTAMENTO DE CIENCIAS MATEMÁTICAS Programa de Autómata y Lenguajes Formales Curso: Autómata y Lenguajes Formales Codificación:

Más detalles

13.3. MT para reconocer lenguajes

13.3. MT para reconocer lenguajes 13.3. MT para reconocer lenguajes Gramática equivalente a una MT Sea M=(Γ,Σ,,Q,q 0,f,F) una Máquina de Turing. L(M) es el lenguaje aceptado por la máquina M. A partir de M se puede crear una gramática

Más detalles

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse lógicamente como un término no definido. Un conjunto se

Más detalles

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ.

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ. Alfabetos, Cadenas y Lenguajes Definición 1 Un Alfabeto es cualquier conjunto finito, no vacío. Ejemplo 1 Sea Σ = {0, 1, 2, 3,..., 9} donde 0 Σ Definición 2 Una cadena sobre Σ es cualquier secuencia de

Más detalles

John Venn Matemático y filósofo británico creador de los diagramas de Venn

John Venn Matemático y filósofo británico creador de los diagramas de Venn Georg Cantor Matemático Alemán creador de la teoría de conjuntos John Venn Matemático y filósofo británico creador de los diagramas de Venn August De Morgan Matemático ingles creador de leyes que llevan

Más detalles

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS.

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS. ALGEBRA y ALGEBRA LINEAL 520142 Primer Semestre CAPITULO I LOGICA Y CONJUNTOS. DEPARTAMENTO DE INGENIERIA MATEMATICA Facultad de Ciencias Físicas y Matemáticas Universidad de Concepción 1 La lógica es

Más detalles

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014 Teoría de Lenguajes Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014 aterial compilado por el Profesor Julio Jacobo, a lo largo de distintas ediciones

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo: 1 Clase 3 SSL EXPRESIONES REGULARES Para REPRESENTAR a los Lenguajes Regulares. Se construyen utilizando los caracteres del alfabeto sobre el cual se define el lenguaje, el símbolo y operadores especiales.

Más detalles

Tema 2: Autómatas finitos

Tema 2: Autómatas finitos Tema 2: Autómatas finitos Departamento de Sistemas Informáticos y Computación DSIC - UPV http://www.dsic.upv.es p. 1 Tema 2: Autómatas finitos Autómata finito determinista (AFD). Formas de representación

Más detalles

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila. 0 Temas Definición de autómata de pila Autómata de pila determinístico y no determinístico Objetivo Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2)

Más detalles

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que AUTÓMATAS CON PILA Un autómata con pila no determinista (APND) es una septupla Q A F en la que δ q 0 Q es un conjunto finito de estados A es un alfabeto de entrada es un alfabeto para la pila δ es la función

Más detalles

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo. Contenidos

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo. Contenidos Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo Complementos Contenidos Clase 1: Elementos de lógica: Conectivos, tablas de verdad, tautologías y contingencias.

Más detalles

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx

Más detalles

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS 1. DATOS INFORMATIVOS MATERIA: DISEÑO DE LENGUAJES Y AUTOMATAS: CARRERA: INGENIERÍA DE SISTEMAS NIVEL:

Más detalles

Serafín Moral Departamento de Ciencias de la Computación. Modelos de Computación ITema 2: Autómatas Finitos p.1/88

Serafín Moral Departamento de Ciencias de la Computación. Modelos de Computación ITema 2: Autómatas Finitos p.1/88 Modelos de Computación I Tema 2: Autómatas Finitos Serafín Moral Departamento de Ciencias de la Computación Modelos de Computación ITema 2: Autómatas Finitos p./88 Contenido Autómata Finito Determinista

Más detalles

Autómatas Finitos y Lenguajes Regulares

Autómatas Finitos y Lenguajes Regulares Autómatas Finitos y Lenguajes Regulares Problema: Dado un lenguaje L definido sobre un alfabeto A y una cadena x arbitraria, determinar si x L o x L. Cadena x AUTOMATA FINITO SI NO Lenguaje Regular Autómatas

Más detalles

DEPARTAMENTO DE MATEMATICAS Y FISICA Matemáticas Discreta

DEPARTAMENTO DE MATEMATICAS Y FISICA Matemáticas Discreta DEPARTAMENTO DE MATEMATICAS Y FISICA Matemáticas Discreta SUCESIONES Y RELACIONES DE RECURRENCIA Esta última sección la dedicamos a presentar el concepto de recurrencia, que esta muy ligado al axioma de

Más detalles

1 Conjuntos y propiedades de los números naturales

1 Conjuntos y propiedades de los números naturales Programa Inmersión, Verano 2016 Notas escritas por Dr. M Notas del cursos. Basadas en los prontuarios de MATE 3001 y MATE 3023 Clase #1: martes, 31 de mayo de 2016. 1 Conjuntos y propiedades de los números

Más detalles

Lenguajes, Gramáticas y Autómatas Conceptos

Lenguajes, Gramáticas y Autómatas Conceptos Lenguajes, Gramáticas y Autómatas Conceptos Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza Última revisión: Febrero. 2004 11/02/2004 1 Índice Alfabetos, palabras y

Más detalles

Es claro que es una relación de equivalencia. Para ver que tener la misma cardinalidad y la cardinalidad están bien definidas queremos ver que

Es claro que es una relación de equivalencia. Para ver que tener la misma cardinalidad y la cardinalidad están bien definidas queremos ver que Capítulo II Cardinalidad Finita II.1. Cardinalidad Definimos I n para n N como I n = {k N : 1 k n}. En particular I 0 =, puesto que 0 < 1. Esto es equivalente a la definición recursiva { si n = 0 I n =

Más detalles

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para

Más detalles

ARITMÉTICA MODULAR. Unidad 1

ARITMÉTICA MODULAR. Unidad 1 Unidad 1 ARITMÉTICA MODULAR 9 Capítulo 1 DE LA TEORÍA DE CONJUNTOS Objetivo general Presentar y afianzar algunos conceptos de la Teoría de Conjuntos relacionados con el estudio de la matemática discreta.

Más detalles

Criterios de divisibilidad y Congruencias

Criterios de divisibilidad y Congruencias Criterios de divisibilidad y Congruencias Rafael F. Isaacs G. * Fecha: 9 de marzo de 2007 Cuando tenemos un número muy grande escrito en base 10 y deseamos saber si es múltiplo por ejemplo de 9 no necesitamos

Más detalles

Construcción de tablas de análisis sintáctico LL(1)

Construcción de tablas de análisis sintáctico LL(1) Construcción de tablas de análisis sintáctico LL(1) Universidad de Costa Rica Escuela de Ciencias de la Computación e Informática Diego Centeno Gerardo Cortés Juan Diego Alfaro Resumen. A la medida en

Más detalles

Guía práctica de estudio 03: Algoritmos

Guía práctica de estudio 03: Algoritmos Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:

Más detalles

Lenguajes y Gramáticas

Lenguajes y Gramáticas Lenguajes y Gramáticas Teoría de Lenguajes Fernando Naranjo Introduccion Se desarrollan lenguajes de programación basados en el principio de gramática formal. Se crean maquinas cada vez mas sofisticadas

Más detalles

Máquinas de Estados Finitos

Máquinas de Estados Finitos Máquinas de Estados Finitos Breve Introducción Jorge Alejandro Gutiérrez Orozco Escuela Superior de Cómputo 22 de agosto de 2008 Resumen Hablaremos de algunas de las más comunes Máquinas de Estados Fintos,

Más detalles

Paso 1: Autómata. A 1 sin estados inútiles, que reconoce el lenguaje denotado por a a* b*

Paso 1: Autómata. A 1 sin estados inútiles, que reconoce el lenguaje denotado por a a* b* UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS SEGUNDO CURSO, SEGUNDO CUATRIMESTRE TEORÍA DE AUTÓMATAS

Más detalles

El Autómata con Pila

El Autómata con Pila El Autómata con Pila Una Generalización del Autómata Finito Universidad de Cantabria Esquema 1 2 3 4 Los autómatas son abstracciones de maquinas de calcular, como hemos visto. Los más sencillos no tienen

Más detalles

Funciones: Aspectos básicos

Funciones: Aspectos básicos Funciones: Aspectos básicos Nombre: Curso:.. Producto cartesiano En teoría de conjuntos, el producto cartesiano de dos conjuntos es una operación que resulta en otro conjunto cuyos elementos son todos

Más detalles

Grafos. Amalia Duch Brown Octubre de 2007

Grafos. Amalia Duch Brown Octubre de 2007 Grafos Amalia Duch Brown Octubre de 2007 Índice 1. Definiciones Básicas Intuitivamente un grafo es un conjunto de vértices unidos por un conjunto de líneas o flechas dependiendo de si el grafo es dirigido

Más detalles

El Autómata con Pila: Transiciones

El Autómata con Pila: Transiciones El Autómata con Pila: Transiciones El Espacio de Configuraciones Universidad de Cantabria Esquema Introducción 1 Introducción 2 3 Transiciones Necesitamos ahora definir, paso por paso, como se comporta

Más detalles

Capítulo 4. Lógica matemática. Continuar

Capítulo 4. Lógica matemática. Continuar Capítulo 4. Lógica matemática Continuar Introducción La lógica estudia la forma del razonamiento, es una disciplina que por medio de reglas y técnicas determina si un teorema es falso o verdadero, además

Más detalles

TEORÍA DE CONJUNTOS.

TEORÍA DE CONJUNTOS. TEORÍA DE CONJUNTOS. NOCIÓN DE CONJUNTO: Concepto no definido del cual se tiene una idea subjetiva y se le asocian ciertos sinónimos tales como colección, agrupación o reunión de objetos abstractos o concretos.

Más detalles

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 3: Relaciones, Funciones, y Notación Asintótica

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 3: Relaciones, Funciones, y Notación Asintótica Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 3: Relaciones, Funciones, y Notación Asintótica Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 1: Fundamentos:

Más detalles

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en

Más detalles

TEMA 5. GRAMÁTICAS REGULARES.

TEMA 5. GRAMÁTICAS REGULARES. TEMA 5. GRAMÁTICAS REGULARES. 5.1. Gramáticas Regulares. 5.2. Autómatas finitos y gramáticas regulares. 5.2.1. Gramática regular asociada a un AFD 5.2.2. AFD asociado a una Gramática regular 5.3. Expresiones

Más detalles

Complejidad computacional (Análisis de Algoritmos)

Complejidad computacional (Análisis de Algoritmos) Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución

Más detalles

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus

Más detalles

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad Estructuras Discretas Relaciones Definición: relación Relaciones Claudio Lobos, Jocelyn Simmonds clobos,jsimmond@inf.utfsm.cl Universidad Técnica Federico Santa María Estructuras Discretas INF 152 Sean

Más detalles

Teoría de Lenguajes y Autómatas Conceptos y teoremas fundamentales

Teoría de Lenguajes y Autómatas Conceptos y teoremas fundamentales Se prohíbe la reproducción total o parcial de este documento, excepto para uso privado de los alumnos de la asignatura Teoría de Autómatas I de la UNED y los alumnos de asignaturas equivalentes de otras

Más detalles

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto Universidad Autónoma del Estado de México Centro Universitario UAEM Texcoco Departamento de Ciencias Aplicadas. Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer,

Más detalles

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira Informática IV Algoritmos Diagramas de Flujo L. S. C. Heriberto Sánchez Costeira Algoritmos 1 Definición Es una serie finita de pasos o instrucciones que deben seguirse para resolver un problema. Es un

Más detalles

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO Autómatas de pila y lenguajes independientes del contexto -1- AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO AUTÓMATAS DE PILA - Son autómatas finitos con una memoria en forma de pila. - Símbolos

Más detalles

Carrera: SCM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Carrera: SCM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos. 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Teoría de la computación Ingeniería en Sistemas Computacionales SCM - 0434 3-2-8

Más detalles

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE INTRODUCCIÓN Y TEORÍA DE LA COMPUTACIÓN

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE INTRODUCCIÓN Y TEORÍA DE LA COMPUTACIÓN CENTRO UNIVERSITARIO DE TECNOLOGÍA Y ARTE DIGITAL PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE INTRODUCCIÓN Y TEORÍA DE LA COMPUTACIÓN 1. DATOS DE IDENTIFICACIÓN DE LA ASIGNATURA. Título: Facultad:

Más detalles

DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas

DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas CÓDIGO ASIGNATURA 1129 DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas ASIGNATURA: Autómatas y Lenguajes Formales Ingeniería en Informática Año: 5 Cuatri: 1 1. OBJETIVOS Dar a los alumnos conocimientos

Más detalles

Facultad de Ingeniería de Sistemas 1.5 Carrera: Ingeniería de Sistemas 1.6 Código: ISI 1.7 Nivel: Pregrado

Facultad de Ingeniería de Sistemas 1.5 Carrera: Ingeniería de Sistemas 1.6 Código: ISI 1.7 Nivel: Pregrado 1. Identificación del curso 1.1 Escuela / Departamento: Ciencias Naturales e Ingeniería 1.3 Programa: 1.2 Código: CN 1.4 Código: FAC-ISI Facultad de Ingeniería de Sistemas 1.5 Carrera: Ingeniería de Sistemas

Más detalles

Capítulo 6. Relaciones. Continuar

Capítulo 6. Relaciones. Continuar Capítulo 6. Relaciones Continuar Introducción Una relación es una correspondencia entre dos elementos de dos conjuntos con ciertas propiedades. En computación las relaciones se utilizan en base de datos,

Más detalles

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Tema 2. Fundamentos de la Teoría de Lenguajes Formales Departamento de Tecnologías de la Información Tema 2. Fundamentos de la Teoría de Lenguajes Formales Ciencias de la Computación e Inteligencia Artificial Índice 2.1. Alfabeto 2.2. Palabra 2.3. Operaciones

Más detalles

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I Gramáticas independientes del contexto UTÓMTS Y LENGUJES FORMLES LENGUJES INDEPENDIENTES DEL CONTEXTO Y UTÓMTS DE PIL Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNM E-mail:

Más detalles

Lenguajes (gramáticas y autómatas)

Lenguajes (gramáticas y autómatas) Lenguajes (gramáticas y autómatas) Elvira Mayordomo Universidad de Zaragoza 19 de septiembre de 2013 Elvira Mayordomo (Universidad de Zaragoza) Lenguajes (gramáticas y autómatas) 19 de septiembre de 2013

Más detalles

Autómatas Finitos. Leopoldo Altamirano, Eduardo Morales. Verano, 2011 INAOE. Introducción a. Autómatas. Definición formal de un. Finito Determinístico

Autómatas Finitos. Leopoldo Altamirano, Eduardo Morales. Verano, 2011 INAOE. Introducción a. Autómatas. Definición formal de un. Finito Determinístico los s s s s Leopoldo Altamirano, Eduardo Morales INAOE Verano, 2011 (INAOE) Verano, 2011 1 / 60 Contenido los s s 1 los s 2 3 4 s 5 (INAOE) Verano, 2011 2 / 60 los s los s los s s : Conjunto de estados

Más detalles

Clase 17: Autómatas de pila

Clase 17: Autómatas de pila Solicitado: Ejercicios 14: Autómatas de pila de GLC M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Autómata de pila Definición

Más detalles

Unidad 1: Espacio de Probabilidad

Unidad 1: Espacio de Probabilidad Unidad 1: Espacio de Probabilidad 1.1 Espacios de Probabilidad. (1) Breve introducción histórica de las probabilidades (2) Diferencial entre modelos matemáticos deterministicos y probabilísticos (3) Identificar

Más detalles

PRODUCTO CARTESIANO RELACIONES BINARIAS

PRODUCTO CARTESIANO RELACIONES BINARIAS PRODUCTO CARTESIANO RELACIONES BINARIAS Producto Cartesiano El producto cartesiano de dos conjuntos A y B, denotado A B, es el conjunto de todos los posibles pares ordenados cuyo primer componente es un

Más detalles

Sucesiones Introducción

Sucesiones Introducción Temas Límites de sucesiones. convergentes. Sucesiones divergentes. Sucesiones Capacidades Conocer y manejar conceptos de sucesiones convergentes y divergentes. Conocer las principales propiedades de las

Más detalles

Definición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ).

Definición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ). ALGEBRA La primera parte del presente libro está dedicada a las estructuras algebraicas. En esta parte vamos a iniciar agregándole a los conjuntos operaciones. Cuando las operaciones tienen determinadas

Más detalles

Apuntes de Teoría de Autómatas y Lenguajes Formales. Gloria Martínez

Apuntes de Teoría de Autómatas y Lenguajes Formales. Gloria Martínez Apuntes de Teoría de Autómatas y Lenguajes Formales Gloria Martínez Luis A. García 11 de octubre de 2005 Índice general 1. Introducción 1 1.1. Alfabetos y Cadenas.............................. 1 1.2.

Más detalles

Lenguajes Formales. 27 de octubre de 2005

Lenguajes Formales. 27 de octubre de 2005 Apuntes de Teoría de Autómatas y Lenguajes Formales Gloria Martínez Luis A. García 27 de octubre de 2005 II Índice general 3.1. El Teorema de Myhill-Nerode. Minimización de Autómatas Finitos..... 41 3.2.

Más detalles

Terminaremos el capítulo con una breve referencia a la teoría de cardinales.

Terminaremos el capítulo con una breve referencia a la teoría de cardinales. TEMA 5. CARDINALES 241 Tema 5. Cardinales Terminaremos el capítulo con una breve referencia a la teoría de cardinales. Definición A.5.1. Diremos que el conjunto X tiene el mismo cardinal que el conjunto

Más detalles

Computación I Sistemas de Numeración. Curso 2015 Facultad de Ingeniería Universidad de la República

Computación I Sistemas de Numeración. Curso 2015 Facultad de Ingeniería Universidad de la República Computación I Sistemas de Numeración Curso 2015 Facultad de Ingeniería Universidad de la República Definición Conjunto de símbolos y reglas sobre ellos, que se utilizan para la representación de cantidades.

Más detalles