La máquina de Turing

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

Download "La máquina de Turing"

Transcripción

1 La máquina de Turing José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia David Hilbert (1862, Rusia 1943, Alemania) Matemático que aportó diversos resultados de carácter fundamental (i.e. espacios de Hilbert ) En 1900 durante el Segundo Congreso Internacional de las Matemáticas en Paris formuló su famosa lista de 23 problemas esenciales para el progreso en las matemáticas. Destacamos el problema número 23 que fue un detonante en el progreso en las ciencias de la computación. Podemos expresarlo como sigue Existe alguna formalización efectiva de las matemáticas? Es decir, existe algún sistema que permita expresar cualquier proposición matemática en forma simbólica y que habilite su demostración mediante un puro cálculo?

2 Kurt Gödel (1906, Aust.Hungria 1978, USA) Matemático. Su principal área de estudio se centra en los sistemas axiomáticos de las matemáticas influenciado por el trabajo de Russell En 1932 publica su resultado más notable: El Teorema de Incompletitud En cualquier sistema axiomático de las matemáticas existen proposiciones que no pueden demostrarse como ciertas o falsas Alonzo Church (1903, USA 1995,USA) Matemático. Su principal área de estudio se centra en la lógica matemática, la teoría de la recursión y la informática teórica ( theoretical computer science ). En 1930 crea el λ-cálculo que fundamenta algunos de los paradigmas de programación actuales. Fue supervisor de doctorado de Kleene y Turing. Su resultado más celebrado es el conocido como Teorema de Church (1936): No existe un procedimiento de decisión para el cálculo proposicional completo

3 Stephen Kleene (1909, USA 1994, USA) Matemático. Su principal área de estudio se centra en la teoría de los algoritmos y las funciones recursivas. Propone una definición sencilla y fundamental de las funciones recursivas que ayudaron a una mejor comprensión de los sistemas axiomáticos de primer orden de Gödel. Sus resultados más notables permitieron establecer qué funciones podían ser computables y también permitieron establecer grados en las funciones no computables (i.e. la Jerarquía Aritmética ) Emil Post (1897, Polonia 1954, USA) Matemático. Demostró la completitud y consistencia del cáculo proposicional propuesto por Russell y Whitehead en sus Principia Mathematica. Post descubrió con antelación algunos de los resultados que más tarde publicarían Gödel, Church y Turing. En 1936 propone la máquina de Post que incluye la noción de programa en un autómata. En 1947 demuestra como irresoluble el problema de palabras de un semigrupo propuesto por Thue en 1914 dando lugar al famoso Problema de la Correspondencia de Post.

4 Alan Turing (1912, Inglaterra 1954, Inglaterra) Matemático. Sus áreas de trabajo son múltiples e incluyen los estudios de algunos resultados de Russell y Gödel en relación con el problema 23 de Hilbert. En 1936 publica su famoso trabajo sobre decidibilidad en el que propone su más notable modelo matemático: la máquina de Turing Durante la II Guerra Mundial, Turing trabajó en letchley Park para la Escuela Estatal de Códigos y Cifras. Su trabajo más notable durante esta época fue el criptoanálisis de los códigos de la máquina Enigma alemana. Diseñó una máquina que resolvió con éxito tal problema: la bomba de Turing En 1950 publicó su trabajo sobre Máquinas que Computan e Inteligencia, proponiendo el famoso test de Turing para discernir si un computador puede llegar a ser inteligente. La máquina de Turing: : El modelo determinista (I) a 1 a 2 a 3 a 4 a 5 a 6 cinta de lectura/escritura cabeza de cinta control finito q Un movimiento de la máquina depende del estado del control finito y del símbolo analizado por la cabeza de cinta Un movimiento de la máquina implica: (a) Cambiar el estado del control finito (b) Escribir un símbolo en la celda analizada (c) Mover la cabeza de cinta una celda a la izda. o a la dcha.

5 La máquina de Turing: : El modelo determinista (II) M = (Q, Σ, Γ, δ, q 0,, F) δ: Q Γ Q Γ {L, R} descripción instantánea α β a 1 a 2 a 3 a 4 a 5 a 6 q α q β = a 1 a 2 a 3 q a 4 a 5 a 6 descripción instantánea α a 1 a 2 a 4 a 5 a 6 q α q β = a 1 a 2 a 4 a 5 a 6 q β a 1 a 2 a 4 a 5 a 6 q α q β = q a 1 a 2 a 4 a 5 a 6

6 transiciones entre descripciones instantáneas a 1 a 2 a 4 a 5 a 6 q D 1 = a 1 a 2 q a 4 a 5 a 6 a 1 a 2 Y a 5 a 6 p D 2 = a 1 a 2 Y p a 5 a 6 a 1 a 2 Y a 5 a 6 p D 3 = a 1 a 2 p Ya 5 a 6 D 1 D 2 sii δ(q, a 4 ) = (p, Y, R) M D 1 D 3 sii δ(q, a 4 ) = (p, Y, L) M transiciones entre descripciones instantáneas M * es la clausura reflexiva y transitiva de la relación M D i D i+k sii (a) D i = D M * i+k (b) D i+1 D i+2... D i+k-1 1 k D i M D i+1 M D i+2 M... M D i+k-1 M D i+k

7 Condición de parada Una máquina de Turing M estará en movimiento siempre que pueda aplicar una transición de la función δ o no realice ningún movimiento a la izquierda del límite de la cinta. Asumimos que en la función δ nunca se definen movimientos a partir de estados finales. Descripción instantánea inicial w q 0 w w 1 w 2 w w n q 0 Lenguaje aceptado por la máquina M M = (Q, Σ, Γ, δ, q 0,, F) L(M) = { w Σ * : q 0 w α q β, q F, αβ Γ * } M * Ejemplo 1 L(M) = { 0 n 1 n : n 1 } M = ({q 0, q 1, q 2, q 3, q 4 }, {0, 1}, {0, 1, X, Y, }, δ, q 0,, {q 4 }) 0 1 X Y q 0 (q 1,X,R) (q 3,Y,R) q 1 (q 1,0,R) (q 2,Y,L) (q 1,Y,R) q 2 (q 2,0,L) (q 0,X,R) (q 2,Y,L) q 3 (q 3,Y,R) (q 4,,R) q 4

8 La máquina de Turing como calculadora de funciones Trabajamos con funciones parciales enteras f : Z n Z m Codificación de los valores de dominio y rango Dada la tupla de valores enteros positivos (x 1, x 2,..., x n ) Definimos la función de codificación binaria cod(x 1, x 2,..., x n ) = 0 x1 1 0 x xn cod(1,2,3) = cod(0,3) = 1000 cod(2,0,3) = cod(0,0) = 1 M como calculadora de funciones M = (Q, {0,1}, Γ, δ, q 0,, ) M calcula la función f : Z n Z m sii M para tras la computación q 0 cod(x 1, x 2,..., x n ) α q β αβ = cod(f(x 1, x 2,..., x n )) M * Ejemplo 2 m n si m n resta(m, n) = 0 si m < n M = ({q 0, q 1, q 2, q 3, q 4, q 5, q 6 }, {0, 1}, {0, 1, }, δ, q 0,, ) 0 1 q 0 (q 1,,R) (q 5,,R) q 1 (q 1,0,R) (q 2,1,R) q 2 (q 3,1,L) (q 2,1,R) (q 4,,L) q 3 (q 3,0,L) (q 3,1,L) (q 0,,R) q 4 (q 4,0,L) (q 4,,L) (q 6,0,R) q 5 (q 5,,R) (q 5,,R) (q 6,,R) q 6

9 Un lenguaje diremos que es Lenguajes y funciones computables recursivamente enumerable si existe una máquina de Turing M tal que L(M) = L. Define la clase L r.e. recursivo si existe una máquina de Turing M tal que L(M)=L y M para ante cualquier entrada. Define la clase L rec L rec L r.e. Una función es computable si puede ser calculada por una máquina de Turing. El conjunto de funciones computables coincide con el de las funciones recursivas Si una función es computable parcial, la máquina que la calcula puede no parar, o parar con una salida indefinida, para aquellos valores en los que la función no esté definida. Técnicas de construcción de máquinas de Turing (I) Almacenamiento en el control finito Se dota al control finito de una memoria finita capaz de almacenar información limitada. (a) Almacenamiento de una tupla de k estados M = (Q k estado [q, Σ, Γ, δ, q 0,, F) 1, q 2,..., q k ] q 0 = [q 0, q 0,..., q 0 ] (b) Almacenamiento de una tupla de k símbolos M = (Q Γ k, Σ, Γ, δ, q 0,, F) estado [q i, a 1,..., a k ] q 0 = [q 0,,..., ] (c) Almacenamiento de otra información Último movimiento aplicado, primer símbolo de la cadena de entrada, etc.

10 Técnicas de construcción de máquinas de Turing (II) Pistas múltiples (multipistas) La cinta almacena en cada celda un vector k dimensional de símbolos a los que se accede simultáneamente. M = (Q, Σ k-1, Γ k, δ, q 0,, F) w 1 w w n --- pista 1 pista pista k q 0 δ: Q Γ k Q Γ k {L, R} = [,,..., ] cadena inicial de entrada w = [w 1,,..., ] [w 2,,..., ]... [w n,,..., ] Subrutinas Técnicas de construcción de máquinas de Turing (III) Una subrutina es un subconjunto de movimientos de la función δ que se puede utilizar igual que en algunos lenguajes de programación. Paso de control Se utiliza almacenamiento en el control finito [q act, q in, q fin ] Paso de variables Se utiliza almacenamiento en control finito o bien multipistas Recursividad Una subrutina puede llamarse a sí misma La pila de recursividad puede habilitarse en una pista

11 Modificaciones equivalentes al modelo determinista básico (I) Cinta infinita en ambos sentidos w w 1 w 2... w n q 0 M = (Q, Σ, Γ, δ, q 0,, F) Configuración instantánea αqβ αβ es el contenido de cinta desde el símbolo no blanco más a la izquierda hasta el símbolo no blanco más a la derecha Carga inicial q 0 w w se carga en cualquier porción de la cinta con la cabeza situada en su símbolo más a la izquierda Teorema Para cualquier máquina de Turing M 1 con cinta infinita en ambos sentidos existe otra equivalente M 2 con cinta limitada por la izquierda w w 1 w 2... w n M 1 q 0 M 1 = (Q, Σ, Γ, δ 1, q 0,, F) w 1 w 2... w n... pista superior U pista inferior D M 2 q 0 M 2 = (Q {U,D} {q 1 }, Σ, Γ (Γ { }), δ 2, q 1, [,], F {U,D}) δ 2 (q 1, [x,]) = ([q i,u], [y, ], R) sii δ 1 (q 0, x) = (q i, y, R) δ 2 (q 1, [x,]) = ([q i,d], [y, ], R) sii δ 1 (q 0, x) = (q i, y, L)

12 Modificaciones equivalentes al modelo determinista básico (II) Máquina multicinta w 1 w 2... w n cinta 1 x 1 x 2... x m cinta 2 y 1 y 2... y j cinta k q M = (Q, Σ, Γ, δ, q 0,, F) δ: Q Γ k Q Γ k {L, R} k Máquina multicinta Un movimiento de la máquina multicinta depende del estado del control finito y de los símbolos analizados por cada cabeza de cada cinta Un movimiento de la máquina multicinta implica: (a) Cambiar el estado del control finito (b) Escribir un símbolo en cada una de las celdas analizadas (c) Mover cada cabeza de cinta una celda a la izda. o a la dcha. de forma independiente descripción instantánea α 1 q β 1 # α 2 q β 2 #... # α k q β k carga inicial q 0 w# q 0 #... #q 0 w se carga en la cinta 1 y el contenido del resto de las cintas es blanco Para el cálculo de funciones, el valor de la función se almacena en la cinta 1

13 Teorema Para cualquier máquina de Turing M 1 con k cintas existe otra equivalente M 2 con una sola cinta w 1 w 2... w n cinta 1 x 1 x 2... x m cinta 2 y 1 y 2... y j cinta k w 1 w 2... w n ~... x 1 x 2... x m-1 x m... ~ M 1 = (Q, Σ, Γ, δ 1, q 0,, F) cinta 1 (dos pistas) cinta 2 (dos pistas) y 1 y 2... y j-2... y j-1 y j ~ cinta k (dos pistas) M 2 Teorema Para cualquier máquina de Turing M 1 con k cintas existe otra equivalente M 2 con una sola cinta M 1 = (Q, Σ, Γ, δ 1, q 0,, F) M 2 = (Q Γ k {0,..., k}, Σ 2k-1, (Γ {~}) 2k, δ 2, q 1,, F Γ k 0) q 1 = [q 0,,...,, 0] = [,..., ] Para iniciar la simulación de un movimiento de M 1, la máquina M 2 se sitúa en el símbolo marcado más a la izquierda. La simulación de un movimiento de M 1 consiste en recorrer la cinta de izquierda a derecha almacenando los símbolos marcados y de derecha a izquierda moviendo las marcas de los símbolos y cambiando los símbolos anteriormente marcados.

14 Modificaciones equivalentes al modelo determinista básico (III) Máquina no determinista M = (Q, Σ, Γ, δ, q 0,, F) δ: Q Γ P(Q Γ {L, R}) δ(q,a) = {(p 1, a 1, z 1 ),..., (p m, a m,z m )} z i {L,R} Llamamos grado de indeterminismo de la máquina M a la aridad máxima de la función δ (el número máximo de elecciones que la máquina pueda tener en cualquier configuración) Las transiciones entre descripciones instantáneas originan la definición de los árboles de computación Árboles de computación M = (Q, Σ, Γ, δ, q 0,, F) grado de indeterminismo n aridad del árbol n w Σ * M acepta w si existe un camino desde la raíz hasta una hoja con estado final q0 w α 1 q 1 β 1 α 2 q 2 β 2 α j q j β j α 11 q 11 β 11 α 1p q 1p β 1p α j1 q j1 β j1 α jm q jm β jm α p β p F α q β q F

15 Teorema Para cualquier máquina de Turing M 1 no determinista existe otra equivalente M 2 determinista M 1 = (Q 1, Σ, Γ 1, δ 1, q 1,, F 1 ) M 2 = (Q 2, Σ, Γ 2, δ 2, q 2,, F 2 ) (grado de indeterminismo n) Dada una cadena w, para comprobar si w es aceptada por M 1 basta con recorrer en anchura su árbol de computación. Si w es aceptada se llegará a una descripción instantánea de aceptación. Una secuencia de computación será una secuencia finita de dígitos enteros i 1 i 2... i m donde i j {1,.., n}. Cada dígito indica la posible elección de movimiento que se efectúa en M 1 (ej significa elegir el movimiento 1, luego el 2, luego el 2, luego el 3 y luego el 2). Una secuencia de computación es factible si todos y cada uno de sus movimientos se pueden aplicar en la máquina M 1. Una secuencia de computación factible es de aceptación si el último estado al que llega la máquina M 1, de acuerdo con la secuencia, es un estado final. En cado contrario la secuencia de computación factible es de rechazo. El orden lexicográfico de las secuencias de computación posibilita el recorrido en anchura del árbol de computación. q 0 w α 1 q 1 β 1 α 2 q 2 β 2 α n q n β n i 0 i 1 Si w es aceptada por M 1 existe una secuencia de computación que conduce a M 1 hacia un estado de aceptación: i 0 i 1 i 2... i n M 2 genera todas las posibles secuencias de computación hasta encontrar aquélla que conduce a M 1 hacia un estado de aceptación. Si no existe, entonces M 2 nunca para. cinta de entrada w secuencia de computación cinta de trabajo α p β i n p F M 2

16 Modificaciones equivalentes al modelo determinista básico (II) Máquina off-line w 1 w 2 w 3... w n $ x 1 x 2... x m cinta 1 (sólo lectura, limitada) cinta 2 y 1 y 2... y j cinta k q M = (Q, Σ, Γ, δ, q 0,, F) Teorema Para cualquier máquina de Turing M 1 off-line existe otra equivalente M 2 con una sola cinta La máquina M 2 puede efectuar la misma simulación que en el caso multicinta pero limitando los movimientos de la cinta 1 a la izquierda de o a la derecha de $ y reescribiendo siempre los mismos símbolos leídos en esa cinta

17 La tesis de Church-Turing Cualquier modelo de computación que intente capturar el concepto de lo que es computable debe ser equivalente a la máquina de Turing La noción intuitiva de función computable puede ser identificada con la de función recursiva parcial Otros modelos de computación formulados a lo largo del tiempo Sistemas de Post λ-cálculo Máquina RAM Máquinas cuánticas Cálculo basado en el ADN, etc. Un modelo de cálculo permite hipercomputación si es capaz de resolver algunos problemas que las máquinas de Turing establecen como indecidibles (Ej. máquinas de Turing con oráculos, redes de Siegelman, etc.) La máquina de Turing como enumeradora de conjuntos Una máquina de Turing generadora es una máquina de Turing multicinta con una cinta de salida de sólo escritura. La máquina no necesita cadena de entrada y pierde el concepto de aceptación/rechazo e incluso el de parada M = (Q, Σ, Γ, δ, q 0,, ) # w 1 # w 2 #...# w n #... M w i Σ * G(M) = {w 1, w 2,..., w n,... }

18 Lema Todo lenguaje generado por una máquina de Turing M 1 es recursivamente enumerable asta con construir una máquina de Turing multicinta M 2 que acepte el lenguaje generado por M 1 w M 1 M 2 M 2 simula a M 1 y, cada vez que se genera una cadena w i, la compara con la cadena de entrada w. Si coinciden, para y acepta y en caso contrario sigue simulando a M 1. L(M 2 ) = G(M 1 ) Lema Todo lenguaje recursivamente enumerable puede ser generado por una máquina de Turing. Sea L = L(M 1 ) un lenguaje recursivamente enumerable M 1 astará con construir una máquina de Turing M 2 que genere sólo aquellas cadenas que M 1 acepte. Problema: cómo se pueden establecer todas las cadenas que acepta M 1 si existe el problema de la parada?

19 Hecho 1: Dado un alfabeto Σ el conjunto infinito de cadenas de Σ * es enumerable y el orden lexicográfico identifica cada entero con una cadena Ejemplo Σ = {a,b} Σ* = { λ, a, b, aa, ab, ba, bb, aaa, aab,... } Hecho 2: El conjunto infinito formado por los pares de enteros positivos es enumerable j... 0 (0,0) (0,1) (0,2)... (0,j)... 1 (1,0) (1,1) (1,2)... (1,j)... 2 (2,0) (2,1) (2,2)... (2,j) i (i,0) (i,1) (i,2)... (i,j) Se pueden construir subrutinas en máquinas de Turing que generen Σ * y los pares de enteros (i,j) Σ * (i,j) w i cinta de salida G(M 2 ) = L(M 1 ) M 2 j M 1 (1) Generar (i,j) (2) Generar w i (3) Copiar w i a una cinta (4) Simular M 1 ante w i durante j movimientos (5) Si M 1 acepta, escribir w i en la cinta de salida de M 2. En caso contrario ir a (1)

20 Lema Todo lenguaje generado por una máquina de Turing M 1 en orden lexicográfico es recursivo Para la siguiente construcción excluiremos el caso de que el lenguaje sea finito. En este último caso se puede construir una máquina que acepte sólo las cadenas del lenguaje y que para el resto pare y rechace (se puede hacer por casos finitos) Si el lenguaje es infinito basta con construir una máquina de Turing multicinta M 2 que acepte el lenguaje generado por M 1 y que pare ante cualquier entrada. Sirve la misma construcción que para el caso de los lenguajes recursivamente enumerables con la siguiente salvedad: M 2 simula a M 1 y, cada vez que se genera una cadena w i, la compara con la cadena de entrada w. Si coinciden, para y acepta y, en caso contrario, si w i > w para y rechaza y si w i < w genera la siguiente cadena. La condición de parada queda garantizada por ser el lenguaje infinito. L(M 2 ) = G(M 1 ) Lema Todo lenguaje recursivo puede ser generado por una máquina de Turing en orden lexicográfico. Sea L = L(M 1 ) un lenguaje recursivo. La máquina M 1 para ante cualquier entrada Σ * w i M 1 M 2 M 1 astará con construir una máquina de Turing M 2 que genere, en orden lexicográfico sólo aquellas cadenas que M 1 acepta. M 2 genera las cadenas de Σ * en orden lexicográfico. La cadena w i se somete al análisis de M 1. Si M 1 acepta w i entonces M 2 la escribe en su cinta de salida. M 2 sólo genera las cadenas de L y además lo hace en orden lexicográfico.

21 Caracterización de los lenguajes recursivos y recursivamente enumerables (utilización de esquemas) Lenguajes recursivamente enumerables w M S (w L(M)) M <L> (<w 1 #w 2 #...) aceptora L=L(M) generadora L=G(M) Lenguajes recursivos S (w L(M)) w M N (w L(M)) M <L> o.l. (<w 1 #w 2 #...) aceptora L=L(M) generadora L=G(M) Máquinas restringidas equivalentes al modelo básico Máquinas binarias M = (Q, {0,1}, {0,1,}, δ, q 0,, F) Teorema Si L (0+1)* es recursivamente enumerable entonces L es aceptado por una máquina de Turing binaria Sea L = L(M 1 ) con M 1 = (Q 1, {0,1}, Γ, δ 1, q 1,, F 1 ). Construiremos M 2 = (Q 2, {0,1}, {0,1,}, δ 2, q 2,, F 2 ) de forma que L = L(M2) Cada símbolo de Γ se puede codificar con un código binario de k símbolos. Q 2 = Q 1 {0,1,} k F 2 = F 1 k q 2 = [q 1,,,..., ]

22 w w 1 w 2 w p Γ = {a 1, a 2,, a n } cod(w 1 ) cod(w p ) k celdas k = log 2 n cod(a i ) {0,1} k M 2 M 2 lee la cadena de entrada w y escribe su código en otra cinta. A partir de ese momento la simulación de M 1 se efectúa de la siguiente forma: (1) Leer k celdas de la cinta con la entrada codificada y almacenar sus símbolos en el control finito. (2) Escribir el código del nuevo símbolo de acuerdo con la función δ 1 (3) Cambiar al nuevo estado de acuerdo con la función δ 1 (4) Moverse al comienzo del siguiente código por la derecha o por la izquierda de acuerdo con la función δ 1 Máquinas de Turing y lenguajes de tipo 0 Una gramática de tipo 0 se define por la tupla G=(N,T,P,S) donde las producciones de P son de la forma α β α (N T) + β (N T) * Teorema L es un lenguaje recursivamente enumerable sii L=L(G) donde G es de tipo 0. Relación con la jerarquía de Chomsky L 3 L 2 L 1 L 0 = L r.e.

23 Autómatas de memoria limitada linealmente y lenguajes de tipo 1 Una gramática de tipo 1 se define por la tupla G=(N,T,P,S) donde las producciones de P son de la forma α β α (N T) + β (N T) * α β S λ sii S no aparece en la parte derecha de ninguna otra producción Un autómata de memoria limitada linealmente (ALL) es una máquina de Turing no determinista monocinta que satisface las dos siguientes condiciones (1) El alfabeto de entrada incluye los limitadores y $ (2) El ALL no mueve su cabeza de cinta fuera de los limitadores ni escribe sobre ellos Se define la clase L ALL Teorema L es un lenguaje sensible al contexto (de tipo 1) sii L es aceptado por un ALL Relación con la jerarquía de Chomsky L 3 L 2 L 1 = L ALL L rec L 0 = L r.e.

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

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

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

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

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

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

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

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

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

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

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: [email protected]

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Analizadores sintácticos descendentes: LL(1) Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 Analizadores sintácticos

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

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

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

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

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

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

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

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

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

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 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 [email protected] 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

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 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

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

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

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

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 [email protected] 1 Contenido Autómata de pila Definición

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

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

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo.

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo. Capítulo 5 Campos finitos 5.1. Introducción Presentaremos algunos conceptos básicos de la teoría de los campos finitos. Para mayor información, consultar el texto de McEliece [61] o el de Lidl y Niederreiter

Más detalles

Una (muy) breve introducción a la teoría de la computación

Una (muy) breve introducción a la teoría de la computación Una (muy) breve introducción a la teoría de la computación Marcelo Arenas M. Arenas Una (muy) breve introducción a la teoría de la computación 1 / 48 Ciencia de la computación Cuál es el objeto de estudio

Más detalles

Problemas indecidibles

Problemas indecidibles Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas

Más detalles

Tema 6: Teoría Semántica

Tema 6: Teoría Semántica Tema 6: Teoría Semántica Sintáxis Lenguaje de de las las proposiciones Lenguaje de de los los predicados Semántica Valores Valores de de verdad verdad Tablas Tablas de de verdad verdad Tautologías Satisfacibilidad

Más detalles

Teoría de Lenguajes. Gramáticas incontextuales

Teoría de Lenguajes. Gramáticas incontextuales Teoría de Lenguajes Gramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Gramáticas incontextuales 1. Definiciones básicas.

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

Grupos libres. Presentaciones.

Grupos libres. Presentaciones. S _ Tema 12.- Grupos libres. Presentaciones. 12.1 Grupos libres. En el grupo Z de los enteros vimos una propiedad (cf. ejemplos.5), que lo caracteriza como grupo libre. Lo enunciamos al modo de una Propiedad

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

Introducción a Autómatas Finitos

Introducción a Autómatas Finitos Introducción a e. Universidad de Cantabria Esquema 1 Introducción 2 3 Grafo de λ Transiciones Eliminación de las λ-transiciones 4 El Problema Podemos interpretar un autómata como un evaluador de la función

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

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 1: NÚMEROS NATURALES. SISTEMA DE NUMERACIÓN

TEMA 1: NÚMEROS NATURALES. SISTEMA DE NUMERACIÓN 1 TEMA 1: NÚMEROS NATURALES. SISTEMA DE NUMERACIÓN 1. INTRODUCCIÓN Los números naturales aparecen debido a la necesidad que tiene el hombre para contar. Para poder construir este conjunto N, podemos seguir

Más detalles

Tipos de datos en S. Lógica y Computabilidad. Codificación de variables y etiquetas de S. Codificación de programas en S

Tipos de datos en S. Lógica y Computabilidad. Codificación de variables y etiquetas de S. Codificación de programas en S Tipos de datos en S Lógica y Computabilidad Verano 2011 Departamento de Computación - FCEyN - UBA Computabilidad - clase 5 Codificación de programas, Halting problem, diagonalización, tesis de Church,

Más detalles

Modelos Computacionales

Modelos Computacionales Análisis y Complejidad de Algoritmos Modelos Computacionales Arturo Díaz Pérez El circuito lógico La máquina de estados finitos La máquina de acceso aleatorio La máquina de Turing Compuertas Lógicas Compuerta

Más detalles

Algebra lineal y conjuntos convexos

Algebra lineal y conjuntos convexos Apéndice A Algebra lineal y conjuntos convexos El método simplex que se describirá en el Tema 2 es de naturaleza algebraica y consiste en calcular soluciones de sistemas de ecuaciones lineales y determinar

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

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

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

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

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

520142: ALGEBRA y ALGEBRA LINEAL

520142: ALGEBRA y ALGEBRA LINEAL 520142: ALGEBRA y ALGEBRA LINEAL Segundo Semestre 2008, Universidad de Concepción CAPITULO 10: Espacios Vectoriales DEPARTAMENTO DE INGENIERIA MATEMATICA Facultad de Ciencias Físicas y Matemáticas 1 Definición

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

ESCUELA DE INFORMÁTICA

ESCUELA DE INFORMÁTICA TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA 1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar

Más detalles

Pablo Cobreros Tema 6. El tamaño del infinito

Pablo Cobreros Tema 6. El tamaño del infinito Lógica II Pablo Cobreros [email protected] Tema 6. El tamaño del infinito Introducción Introducción La noción de cardinal Afirmaciones acerca del tamaño La noción de cardinal El tamaño del infinito Introducción

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

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

MMAF: Espacios normados y espacios de Banach

MMAF: Espacios normados y espacios de Banach MMAF: Espacios normados y espacios de Banach Licenciatura en Estadística R. Álvarez-Nodarse Universidad de Sevilla Curso 2011/2012 Espacios vectoriales Definición Sea V un conjunto de elementos sobre el

Más detalles

8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post

8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post 1 Curso Básico de Computación 8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post Los problemas indecidibles aparecen en varias áreas. En las próximas tres secciones se analizarán

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

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

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS ASIGNATURA : ELECTIVA I - PROGRAMACION CÓDIGO : 8104661 SEMESTRE : IV CRÉDITOS : 4 FECHA DE

Más detalles

Expresiones Regulares y Derivadas Formales

Expresiones Regulares y Derivadas Formales y Derivadas Formales Las Derivadas Sucesivas. Universidad de Cantabria Esquema 1 2 3 Derivadas Sucesivas Recordemos que los lenguajes de los prefijos dan información sobre los lenguajes. Derivadas Sucesivas

Más detalles

LENGUAJES FORMALES Y AUTÓMATAS

LENGUAJES FORMALES Y AUTÓMATAS LENGUAJES FORMALES Y AUTÓMATAS Departamento de Lenguajes y Sistemas Informáticos Escuela Técnica Superior de Ingeniería Informática Universidad de Sevilla Víctor J. Díaz Madrigal José Miguel Cañete Valdeón

Más detalles

Teoría de Autómatas y Lenguajes Formales. Laura M. Castro Souto

Teoría de Autómatas y Lenguajes Formales. Laura M. Castro Souto Teoría de Autómatas y Lenguajes Formales Laura M. Castro Souto Primer Cuatrimestre Curso 2000/2001 2 Índice de Tablas 3 4 ÍNDICE DE TABLAS Capítulo 0 Introducción En la asignatura de Teoría de Autómatas

Más detalles

MÁQUINAS DE TURING: PROBLEMAS INDECIDIBLES. Roberto J. de la Fuente López VERSION

MÁQUINAS DE TURING: PROBLEMAS INDECIDIBLES. Roberto J. de la Fuente López VERSION MÁQUINAS DE TURING: PROBLEMAS INDECIDIBLES Roberto J. de la Fuente López VERSION 20100922 Máquinas de Turing 2 Problemas indecidibles 3 PRESENTACIÓN El presente documento surge de los apuntes tomados de

Más detalles

Tema 1. Espacios Vectoriales Definición de Espacio Vectorial

Tema 1. Espacios Vectoriales Definición de Espacio Vectorial Tema 1 Espacios Vectoriales. 1.1. Definición de Espacio Vectorial Notas 1.1.1. Denotaremos por N, Z, Q, R, C, a los conjuntos de los números Naturales, Enteros, Racionales, Reales y Complejos, respectivamente.

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

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

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

Más detalles

Propiedades de los Lenguajes de Contexto Libre

Propiedades de los Lenguajes de Contexto Libre Capítulo 5 Propiedades de los Lenguajes de Contexto Libre Índice General 5.1. Lema de Bombeo............................. 75 5.2. Propiedades de Clausura......................... 79 5.3. Problemas Propuestos..........................

Más detalles

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

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

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta.

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta. Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta. (a) Es posible aceptar por stack vacío el lenguaje {0 i 1 j i = j o j = 2i} con un AA determinístico.

Más detalles

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO Recursividad: La recursividad es una técnica de programación

Más detalles

Algebra Lineal. Gustavo Rodríguez Gómez. Verano 2011 INAOE. Gustavo Rodríguez Gómez (INAOE) Algebra Lineal Verano / 21

Algebra Lineal. Gustavo Rodríguez Gómez. Verano 2011 INAOE. Gustavo Rodríguez Gómez (INAOE) Algebra Lineal Verano / 21 Algebra Lineal Gustavo Rodríguez Gómez INAOE Verano 2011 Gustavo Rodríguez Gómez (INAOE) Algebra Lineal Verano 2011 1 / 21 Espacios Vectoriales Espacios Vectoriales INAOE Gustavo Rodríguez Gómez (INAOE)

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

2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total.

2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total. U.R.J.C. Ingeniera Técnica en Informática de Sistemas Teoría de Autómatas y Lenguajes Formales Junio 2009 2do. Parcial Normas : La duración del examen es de 2 horas. Todos los ejercicios se entregarán

Más detalles

Los fundamentos de la matemática y los teoremas de Gödel

Los fundamentos de la matemática y los teoremas de Gödel Los fundamentos de la matemática y los teoremas de Gödel Mario A. Natiello Centre for Mathematical Sciences Lund University Sweden Los fundamentos de la matemática y los teoremas de Gödel p.1/23 Contenido

Más detalles

Guía. Álgebra II. Examen parcial III. Transformaciones lineales. Teoremas los más importantes cuyas demostraciones se pueden incluir en el examen

Guía. Álgebra II. Examen parcial III. Transformaciones lineales. Teoremas los más importantes cuyas demostraciones se pueden incluir en el examen Guía. Álgebra II. Examen parcial III. Transformaciones lineales. Teoremas los más importantes cuyas demostraciones se pueden incluir en el examen 1. Teorema de la representación matricial de una transformación

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

Espacios vectoriales

Espacios vectoriales Espacios vectoriales [Versión preliminar] Prof. Isabel Arratia Z. Algebra Lineal 1 En el estudio de las matrices y, en particular, de los sistemas de ecuaciones lineales realizamos sumas y multiplicación

Más detalles

Tema 2: Teorema de estructura de los grupos abelianos finitamente generados.

Tema 2: Teorema de estructura de los grupos abelianos finitamente generados. ESTRUCTURAS ALGEBRAICAS GRADO EN MATEMÁTICAS. CURSO 215/216 Tema 2: Teorema de estructura de los grupos abelianos finitamente generados. 1.1. Grupo abeliano libre. Bases. Definición 1.1. El grupo Z n con

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

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

Métodos directos para resolver sistemas de ecuaciones lineales

Métodos directos para resolver sistemas de ecuaciones lineales Métodos directos para resolver sistemas de ecuaciones lineales Problemas para examen Si en algún problema se pide calcular el número de flops (operaciones aritméticas con punto flotante), entonces en el

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

Clase 1: Primalidad. Matemática Discreta - CC3101 Profesor: Pablo Barceló. P. Barceló Matemática Discreta - Cap. 5: Teoría de números 1 / 32

Clase 1: Primalidad. Matemática Discreta - CC3101 Profesor: Pablo Barceló. P. Barceló Matemática Discreta - Cap. 5: Teoría de números 1 / 32 Capítulo 5: Teoría de Números Clase 1: Primalidad Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 5: Teoría de números 1 / 32 Teoría de números En esta parte

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,[email protected] Universidad Técnica Federico Santa María Estructuras Discretas INF 152 Sean

Más detalles

Introducción al tipo Vector Cómo guardar una colección de datos conceptualmente relacionados? - almacenar los 100 primeros números primos, - al

Introducción al tipo Vector Cómo guardar una colección de datos conceptualmente relacionados? - almacenar los 100 primeros números primos, - al Tema 6. Vectores 1. Introducción y Definiciones 2. Operaciones elementales con vectores 3. Definición y manejo de vectores (arrays arrays) en C 4. Operación de Recorrido secuencial de un vector 5. Operación

Más detalles

Indecidibilidad Concepto de Problema. Índice General Introducción.

Indecidibilidad Concepto de Problema. Índice General Introducción. Capítulo 8 Indecidibilidad Índice General 8.1. Concepto de Problema.......................... 123 8.1.1. Introducción............................ 123 8.1.2. Concepto de Problema.......................

Más detalles

Introducción a los Sistemas Digitales. Conceptos básicos de matemática aplicada a los sistemas digitales

Introducción a los Sistemas Digitales. Conceptos básicos de matemática aplicada a los sistemas digitales Curso-0 1 Introducción a los Sistemas Digitales Conceptos básicos de matemática aplicada a los sistemas digitales 2 Contenidos Conjuntos numéricos Notación científica Redondeo Logaritmos Resumen 3 Conjuntos

Más detalles