Cuadernillo de apuntes Teoría de la computación. Magaly González Mota
|
|
- Alfonso Montero Alarcón
- hace 7 años
- Vistas:
Transcripción
1 Cuadernillo de apuntes Teoría de la computación Magaly González Mota 30 de junio de 2010
2 2
3 Índice general 1. INTRODUCCION Autómatas computabilidad y complejidad Representaciones estructurales Autómatas y la complejidad Nociones Matemáticas Conjuntos Funciones y relaciones Inducción matemática Cadenas y lenguajes Lenguajes regulares Autómatas finitos Autómatas finitos deterministicos AFD Autómatas finitos no deterministicos AFND Expresiones regulares Lenguajes Regulares Lenguajes libres de contexto Gramáticas libres de contexto Árboles de derivación Formas normales de Comsky Forma normal de Greibach Ambigüedad Autómatas de Pila Lenguajes no regulales Máquinas de Turing Definición de una Máquina de Turing
4 4 ÍNDICE GENERAL 4.2. Construcción modular de una MT El lenguaje de una Máquina de Turing Variantes de una Máquina de Turing Máquina de Turing con varias cintas Máquinas con pilas multiples Máquinas contadoras Decibilidad Lenguajes Decidibles El problema de Halting Decibilidad de teorías lógicas Reducibilidad Problemas insolubles para la teoría de lenguajes Un problema simple insoluble Algoritmo de Kruskal Funciones computables
5 Capítulo 1 INTRODUCCION Objetivo de la Unidad Situar la importancia del estudio de los autómatas dentro del proceso de desarrollo de software, y algunas aplicaciones. Presentar las nociones básicas de matemáticas necesarias para comenzar a estudiar la materia Autómatas computabilidad y complejidad Se conoce como teoría de autómatas el estudio de las máquinas o dispositivos abstractos con capacidad de computación. En la decada de 1930 el matemático ingles Alan Mathison Turing estudió una máquina con el objetivo de determinar con presición cuál era la frontera entre lo que podia o no podía hacer una máquina computadora. En las decadas de 1940 y 1950 se estudiarón otro tipo de máquinas sencillas conocidas con el nombre de autómatas finitos, los cuales inicialmente pretendian modelar las funciones cerebrales. A finales de la decada de 1950 el lingüista estadounidense Noam Chomsky comenzó el estudio de las gramáticas formales, las cuales no son máquinas, pero son componentes de software importantes por su relación con los autómatas abstractos. En 1969 el matemático estadounidense Stephen Arthur Cook separo los problemas que se pueden resolver de manera eficiente en una computadora de aquellos que en la practica necesitarian tanto tiempo que no tendría utilidad emplear una computadora, salvo en casos particulares, a los cuales llamo problemas 5
6 6 CAPÍTULO 1. INTRODUCCION NP-dificiles. Algunos de los conceptos de autómatas y gramáticas se emplean en el diseño y construcción de aplicaciones de software, o decidir sin un problemas es factible de ser resuelto mediante el uso de un algoritmo computable. Entre las razones por las cuales es conveniente estudiar la teoria de autómatas, están: 1. El diseño y verificación del comportamiento de circuitos digitales (software) 2. El analizador léxico de un compilador (la parte del compilador que descompone el texto inicial en unidades lógicas tales como identificadores, palabras reservadas y signos de puntuación). 3. Software para encontrar apariciones de ciertas palabras, frases u otros patrones en textos grandes dentro de paginas web. 4. Software para comprobar la corrección de cualquier tipo de sistemas que tengan un número finito de estados diferentes, como los protocolos de comunicación o los protocolos para el intercambio seguro de información. Existen muchos sistemas o componenetes de los cuales se puede decir en todo momento que estan en cierto estado entre un número finito de ellos. El objetivo de un estado es recordar la parte significativa de la historia de un sistema. Dado que solo disponemos de un número finito de estados, normalmente no es posible recordar la historia completa, por lo cual el sistema deberá ser diseñado de tal forma que recuerde las cosas que son importantes y omita las que no lo son. Ejemplo 1 Un interruptor de encendido y apagado, el cual es capaz de recordar si está en el estado de encendiddo o apagado, y permite que el usuario pulse el boton consiguiendo efectos diferentes que dependen de cual era el estado del interruptor. Algunas veces, un estado recuerda cosas más complejas. Por ejemplo el autómata finito cuyo trabajo sea reconocer la palabra reservada while, para lo cual necesitará 6 estados, cada uno de los cuales representa una posición dentro de la palabra, desde la palabra vacía (estado inicial), y donde cada uno
7 1.2. NOCIONES MATEMÁTICAS 7 produce una transición desde el prefijo existente hasta la siguiente letra de la palabra (cada estado está etiquetado con el prefijo de la palabra while que ya se analizo), el estado denominado while, es alcanzado cuando el autómata ha deletreado la palabra while, y el estado while es el único aceptado por el automata Representaciones estructurales Existen otros dos tipos de notaciones que desempeñan un papel importante en el estudio de los autómatas y sus aplicaciones 1. Las gramáticas que se emplean para el desarrollo de software destinado a procesar datos con estructura recursiva, por ejemplo el analizador sintáctico que se ocupa de las caracteristicas recursivas de los lenguajes de programación, como las expresiones aritméticas, condicionales etc. 2. Las expresiones regulares que nos indican la estructura de los datos, principalmente cadenas de texto Autómatas y la complejidad Los autómatas nos sirven para resolver dos pregntas muy importantes en la computación que son: Qué puede hacer una computadora? Qué puede hacer una computadora eficientemente? El como nos permite determinar la respuesta a éstas preguntas será parte del estudio de nuestro curso y se abordara principalmente en la unidad 5 y Nociones Matemáticas Conjuntos Para el estudio de los autómatas es necesario recordar algunos de los conceptos vistos en Matemáticas para computadora, debido a que muchas de las definiciones relacionados con los autómatas estan dados en terminos de
8 8 CAPÍTULO 1. INTRODUCCION conjuntos, a continuación se presenta un breve recordatorio. Definición 1 Conjunto es una colección de objetos que puede ser finito o infinito. Totalidad de los elementos o cosas poseedores de una propiedad común, que los distingue de otros. En el caso de ser finito y si el conjunto no es muy extenso se puede representar mediante todos sus elementos. A = {lunes, martes, miércoles, jueves, viernes} Si es finito o tiene muchos elementos se representa de la siguiente forma B = {x\x es un número entero positivo} Para que exista un conjunto debe basarse en lo siguiente: La colección de elementos debe estar bien definida. Ningún elemento del conjunto se debe contar más de una vez, generalmente, estos elementos deben ser diferentes, si uno de ellos se repite se contará sólo una vez. El orden en que se enumeran los elementos que carecen de importancia. Notación 1 A los conjuntos se les representa con letras mayúsculas A, B, C,... y a los elementos con letras minúsculas a, b, c,... Tipos de conjuntos Conjunto vacío o nulo: Es aquel que no tiene elementos y se simboliza por o { }, por ejemplo: A = { x = 0\x R } El conjunto A, es un conjunto vacío por que no hay ningún número real que satisfaga x = 0. Una propiedad imortante del conjunto vacío es que está contenido en cualquier conjunto. Conjunto universal: Es el conjunto de todos los elementos considerados en una población o universo, en un problema en especial. No es único, depende de la situación, y se representa por U o Ω.
9 1.2. NOCIONES MATEMÁTICAS 9 Relaciones u operaciones entre conjuntos Pertenencia: Si un elemento esta en la descripción de un conjunto, se dice que pertenece al conjunto, y se denota por el símbolo x A Para denotar que un elemento no pertence a un conjunto escribimos x / A Cardinalidad:Es el número de elementos de un conjunto y se denota por A por ejemplo si A es el conjunto de los días de la semana entonces A = 7 Igualdad de conjuntos: Dos conjuntos A y B son iguales si tienen los mismos elementos es decir, si cada elemento que pertenece a A también pertenece a B y viceversa si cada elemento que pertenece a B pertenece también a A. A = B Subconjunto: Si todo elemento de un conjunto A es también elemento de un conjunto B, entonces se dice que A es un subconjunto de B, y se denota por el símbolo. A B o B A Subconjunto propio: Se dice que B es un subconjunto propio de A sí todos los elementos de un conjunto B se encuentran incluidos en él A, y se denota por el símbolo. A B o B A Conjunto potencia: La familia de todos los subconjuntos de un conjunto se llama conjunto potencia. Si un conjunto es finito con n elementos, entonces el conjunto potencia tendrá 2 n subconjuntos. Un conjunto es subconjunto de el mismo,y el vacio es subconjunto de cualquier conjunto. A = {0, 1} El total de subconjuntos es: 2 2 = 4 los cuales son: P(A) = {{1, 2}, {1}, {2}, }
10 10 CAPÍTULO 1. INTRODUCCION Unión: Es una operación entre dos conjuntos A y B y está formada por todos los elementos que pertencen a el conjunto A o al conjunto B o ambos y se representa de la siguiente manera: A B = {x\x A o x B} Intersección: Es una operación entre dos conjuntos A y B y está formada por todos los elementos que pertenecen a el conjunto A y también al conjunto B y se representa de la siguiente forma A B = {x\x A y x B} Conjuntos disjuntos: Son aquellos que no tienen elementos en común, es decir, cuando no existen elementos que pertenezcan a ambos, y se representa de la siguiente forma: A B = Por ejemplo F = {1, 2, 3, 4, 5, 6} y G = {a, b, c, d, e, f} son disjuntos. Partición: Cuando un conjunto X es dividido en subconjuntos que no se intersectan entre si y que además al unirlos forman todo el conjunto X, se le denomina partición. Diferencia de dos conjuntos A B: Consta de todos los elementos de A que no están en B y se representa de la siguiente forma: A B = {x\x A y x / B} Complemento: Dado el conjunto universo y un subconjunto A del universo el complemento de A es el conjunto de todos los elementos del universo que no pertenecen a A y se denota por: A c = U A Ejemplo 2 Sea U = {0, 1, 2, 3, 4, 5, 6, 7, 9} el conjunto universo y A = {0, 2, 4, 6}, B = {1, 3, 5, 7, 9}, C = {1, 2, 3, 4, 5} y D = {6, 7, 8, 9} subconjuntos de U A C = {0, 1, 2, 3, 4, 5, 6}
11 1.2. NOCIONES MATEMÁTICAS 11 B C = {1, 3, 5} D B = {6, 8, 0} A c = {1, 3, 5, 7, 8, 9} A B = de donde podemos concluir que A y B son disjuntos. Ejemplo 3 Sea A = {a, b, c, d} A = 4 entonces la cardinalidad del conjunto potencia es P(A) = 2 4 = 16 P(A) = {, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {a, d}, {b, c}, {b, d}, {c, d}, {a, b, c}, {c, d}, {a, b, c}, {a, b, d}, {b, c, d}, {a, c, d}, {a, b, c, d}} Los siguientes son ejemplos de algunas particiones del conjunto A Actividad 1 Realice lo siguiente: P 1 = {{a, b}, {c, d}, } P 2 = {{a, b, }, {c, d}} P 1 = {{a}, {b, d, c}, } 1. Los conjuntos también se pueden representar de manera gráfica mediante los diagramas de Veen, investigar que son y como se representan las diferentes operaciones entre conjuntos por medio de diagramas de Veen. 2. Investigar la biografia de Georg Cantor y mencionar cuales fuerón sus aportaciones a la teoría de conjuntos. 3. Investigar las leyes de D Morgan para conjuntos. 4. Sea U = {a, b, c, d, e, f, g, h, i, j } el conjunto universo y A = {a, b, e, i, j}, B = {f, b, c, g, j}, C = {a, c, d, h, j} y D = {h, i, j, c} Calcular
12 12 CAPÍTULO 1. INTRODUCCION a) A B b) B D c) A C d) C B e) A c f) (A B) c g) (A c B) C h) (A B) (C D) i) ((A B) (C D)) c j) (D (B A) c ) (A c B) Funciones y relaciones Definición 2 Una pareja ordenada es un par de números los cuales se pueden encontrar en el plano cartesiano, donde el orden de los terminos que la conforman si es importante y se denota por (a, b) Actividad 2 Investigar como se da la igualdad de las parejas ordenadas, cual es su inverso aditivo y cual es su neutro multiplicativo La razón por la cual son de nuestro interes las aprejas ordenadas es porque nos ayudan a definir una operación entre conjuntos llamada producto cartesiano. Definición 3 El producto cartesiano de dos conjuntos X y Y se define como: X Y = {(x, y)\x X y y Y } Ejemplo 4 Si X = {1, 2, 3}, Y = {a, b} entonces: X Y = {(1, a), (1, b), (2, a), (2, b), (3, b), (3, a)} Y X = {(b, 1), (a, 1), (b, 2), (a, 2), (b, 3), (a, 3)} Y Y = {(a, a), (a, b), (b, a), (b, b)} X X = {(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)} En este ejemplo se obsreva que X Y Y X
13 1.2. NOCIONES MATEMÁTICAS 13 Actividad 3 Dados C = {a, c, d, h, j}, A = {α, β, γ} y D = {h, i, j, c} hallar 1. C D 2. A C 3. D D 4. Si X Y Z = {(x, y, z)\x X, y Y, z Z} hallar a) C D A b) A D C Teorema 1 Para cualquier par de conjuntos finitos no vacíos A y B A B = A B Una Relación es un conjunto de pares ordenados, donde el primer elemento está relacionado con el segundo elemento del par ordenado, mas formalmente Definición 4 Una Relación (binaria) R de un conjunto X en un conjunto Y es un subconjunto del producto cartesiano X Y. Si (x, y) R, escribimos xry y decimos que x está relacionado con y; además si X = Y entonces decimos que R es una relación binaria sobre X Ejemplo 5 Sean X = {1, 2, 3, 4}, Y = {2, 4, 5} dos conjuntos, definimos la relación R como R = {(x, y) \ x + y sea par} entonces Definición 5 Al conjunto R = {(1, 5), (3, 5), (2, 2), (2, 4), (4, 2), (4, 4)} {x X\(x, y) R para algun y Y } se le conocee con el nombre de Dominio de la relación (D R ) y al conjunto {y y\(x, y) R para algun x X}
14 14 CAPÍTULO 1. INTRODUCCION se le conoce con el nombre de Rango o imagen de la relación (Im R ) Para el ejemplo anterior tenemos que: D R = {1, 2, 3, 4} Im R = {2, 4, 5} Propiedades de las relaciones Definición 6 Una relación binaria sobre X tiene las siguientes propiedades: Una relación R sobre un conjunto X es reflexiva si (x, x) R para cada x X Una relación R sobre un conjunto X es irreflexiva si (x, x) / R para cada x X Una relación R sobre un conjunto X es simétrica si para todo x, y X y si (x, y) R, entonces (y, x) R Una relación R sobre un conjunto X es antisimétrica si para todo x, y X, si (x, y) R y si x y, entonces (y, x) / R Una relación R sobre un conjunto X es transitiva si para toda x, y, z X, si (x, y) y (y, z) R, entonces (x, z) R Una relación R sobre un conjunto X es un orden parcial si R es reflexiva, transitiva y antisimétrica Una relación R sobre un conjunto X es una relación de equivalencia si R es reflexiva, transitiva y simétrica Sea R una relación de X en Y. La inversa de R que se denota por R 1, es la relación de Y a X definida como: R 1 = {(y, x)\(x, y) R} Sea R 1 una relación de X a Y y R 2 una relación de Y a Z, la composición de R 1 y R 2 que se denota por R 2 R 1 es una relación de X a Z definida como R 2 R 1 = {(x, z)\(x, y) R 1 y (y, z) R 2 para alguna y Y }
15 1.2. NOCIONES MATEMÁTICAS 15 No hay que olvidar que las relaciones son conjuntos, por lo cual se pueden aplicarles las operaciones entre conjuntos. Ejemplo 6 Consideremos la siguiente relación sobre X = {1, 2, 3, 4, 5} R = {(x, y)\x + y es par} R = {(1, 1), (1, 3) (1, 5), (2, 2), (2, 4), (3, 1), (3, 3), (3, 5), (4, 2), (4, 4), (5, 1), (5, 3), (5, 5)} De la relación se tiene lo siguiente D R = {1, 2, 3, 4, 5} Im R = {1, 2, 3, 4, 5} Además: la relación es reflexiva pues las parejas (1, 1), (2, 2), (3, 3), (4, 4), (5, 5) pertenecen a la relación. La relación es simetrica pues (1, 3) R y también (3, 1) R (1, 5) R y también (5, 1) R (3, 1) R y también (1, 3) R (3, 5) R y también (5, 3) R (5, 1) R y también (1, 5) R (2, 4) R y también (4, 2) R (4, 2) R y también (2, 4) R. La relación es transitiva pues (1, 1) R y (1, 3) R (x = 1, y = 1 y z = 3) entonces (1, 3) R (1, 1) R y (1, 5) R (x = 1, y = 1 y z = 5) entonces (1, 5) R (1, 3) R y (3, 1) R (x = 1, y = 3 y z = 1) entonces (1, 1) R (1, 3) R y (3, 3) R (x = 1, y = 3 y z = 3) entonces (1, 3) R (1, 3) R y (3, 5) R (x = 1, y = 3 y z = 5) entonces (1, 5) R (1, 5) R y (5, 3) R (x = 1, y = 5 y z = 3) entonces (1, 3) R (1, 5) R y (5, 5) R (x = 1, y = 5 y z = 5) entonces (1, 5) R (1, 5) R y (5, 1) R (x = 1, y = 5 y z = 1) entonces (1, 1) R (2, 4) R y (4, 2) R (x = 2, y = 4 y z = 2) entonces (2, 2) R (2, 4) R y (4, 4) R (x = 2, y = 4 y z = 4) entonces (2, 4) R (2, 2) R y (2, 2) R (x = 2, y = 2 y z = 2) entonces (2, 2) R
16 16 CAPÍTULO 1. INTRODUCCION (2, 2) R y (2, 4) R (x = 2, y = 2 y z = 4) entonces (2, 4) R (3, 1) R y (1, 3) R (x = 3, y = 1 y z = 3) entonces (3, 3) R (3, 1) R y (1, 5) R (x = 3, y = 1 y z = 5) entonces (3, 5) R (3, 1) R y (1, 1) R (x = 3, y = 1 y z = 1) entonces (3, 1) R (3, 3) R y (3, 3) R (x = 3, y = 3 y z = 3) entonces (3, 3) R (3, 3) R y (3, 1) R (x = 3, y = 3 y z = 1) entonces (3, 1) R (3, 3) R y (3, 5) R (x = 3, y = 3 y z = 5) entonces (3, 5) R (3, 5) R y (5, 1) R (x = 3, y = 5 y z = 1) entonces (3, 1) R (3, 5) R y (5, 3) R (x = 3, y = 5 y z = 3) entonces (3, 3) R (3, 5) R y (5, 5) R (x = 3, y = 5 y z = 5) entonces (3, 5) R (4, 2) R y (2, 2) R (x = 4, y = 2 y z = 2) entonces (4, 2) R (4, 4) R y (4, 2) R (x = 4, y = 4 y z = 2) entonces (4, 2) R (4, 2) R y (2, 4) R (x = 4, y = 2 y z = 4) entonces (4, 4) R (4, 4) R y (4, 4) R (x = 2, y = 4 y z = 4) entonces (4, 4) R (5, 1) R y (1, 3) R (x = 5, y = 1 y z = 3) entonces (5, 3) R (5, 1) R y (1, 1) R (x = 5, y = 1 y z = 1) entonces (5, 1) R (5, 1) R y (1, 5) R (x = 5, y = 1 y z = 5) entonces (5, 5) R (5, 3) R y (3, 1) R (x = 5, y = 3 y z = 1) entonces (5, 1) R (5, 3) R y (3, 5) R (x = 5, y = 3 y z = 5) entonces (5, 5) R (5, 3) R y (3, 3) R (x = 5, y = 3 y z = 3) entonces (5, 3) R (5, 5) R y (5, 1) R (x = 5, y = 5 y z = 1) entonces (5, 1) R (5, 5) R y (5, 3) R (x = 5, y = 5 y z = 3) entonces (5, 3) R (5, 5) R y (5, 5) R (x = 5, y = 5 y z = 5) entonces (5, 5) R Como nuestra relación es simétrica entonces no puede ser antisimétrica, es importante observar que si la relación no es simetrica no necesariamente sera antisimetrica. en otros casos tampoco es necesario probar si todos los elementos de la relación cumplen con encontrar uno que no cumpla ser transitivo, reflexivo, simétrico o antisimétrico (dependiendo de que estemos buscando) la relación ya no tendra la propiedad buscada. Por último y como conclusión de nuestro ejemplo la relación por ser transitiva, reflexiva y simetrica es una relacvión de equivalencia. Actividad 4 en los siguientes ejercicios determine: los elementos de la relación, la inversa de la relación, el dominio e imagen de la relación, si es reflexiva, simétrica, antisimétrica, transitiva, relación de equivalencia o es una relación de orden parcial.
17 1.2. NOCIONES MATEMÁTICAS 17 Sea X = {1, 2, 3, 4, 5} 1. R = {(x, y)\ 3 divide a x y} 2. R = {(x, y)\ ; x + y 6} 3. R = {(x, y)\ x y < 3} 4. R = {(x, y)\ x 2 y} 5. R = {(x, y)\ x divide a 2y} Funciones Definición 7 Una función de X a Y es una relación que posee las siguientes propiedades El dominio de f es X Si (x, y) y (x, y ) f, entonces y = y Actividad 5 1. Buscar 5 ejemplos de relaciones binarias que son funciones y 5 ejemplos de relaciones binarias que no lo sean y explicar cual de las dos condiciones de la definición no se cumplen y porque. 2. Investigar que es una función inyectiva (o uno a uno), suprayectiva (o sobre) y biyectiva. La razón por la cual no nos adentramos mucho mas en el estudio de las funciones es porque las hemos empleado en los cursos de matemáticas que se imparten a lo largo del tronco común en el tecnológico Inducción matemática En computación, a veces es necesario que los programas se prueben de manera formal, y sin perder de vista su objetivo. La materia de teoría de la computación se caracteriza por ser una materia con un enfoque conceptual, donde todos los resultados que se presentan se fundamentan en demostraciones formales, empleando principalmente el método inductivo, esto debido
18 18 CAPÍTULO 1. INTRODUCCION a que tanto las cadenas como los autómatas son elementos de conjuntos finitos. Existen varios métodos para realizar demostraciones en matemáticas entre los cuales destacan: Demostraciones deductivas: Las cuales consisten en una secuencia de afirmaciones o proposiciones, cuya validez nos conduce a una conclusión, a partir de las proposiciones iniciales llamadas hipótesis o postulados. Las hipótesis se suponen falsas o verdaderas al inicio de la demostración y con la ayuda de proposiciones, postulados o deducciones anteriores se verifica la veracidad de la mismas. La hipótesis estan formadas por varias afirmaciones independientes que se relacionan entre si mediante un operador lógico.(los teoremas demostrados mediante este método normalmente tienen la forma si H entonces C y se dice que C se deduce de H ) Demostración de equivalencias entre conjuntos. En ocaciones se debe probar que dos o más conjuntos son iguales o representan lo mismo, para este tipo de demostraciones se deberan pobrar las siguientes proposiciones A B y B A, y una vez que se demostrarón podermos concluir la igualdad. Demostración por contradicción: Está es similar a el método deductivo, solo que en lugar de probar si H entonces C, probamos si no C entonces H, que es su proposición contradictoria (no confundirla con la inversa de la proposici ón). Demostración por reducción al absurdo: Está demostración comienza suponiendo que son ciertas tanto la hipótesis H como la negación de la conclusión C y la demostración se completa probando algo que se sabe falso y que se deriva de la proposición H y no C (la cual implica falsedad). Contraejemplos: En programación (sobre todo para estructuras recursivas) no siempre es posible demostrar todos los casoso que se nos presenten, sin embargo con probar que uno o más casos no se cumplen podemos demostrar que una afirmación es falsa. Por ejemplo la afirmación de que todos los números primos son impares es falsa pues el número 2 es par y es un número primo.
19 1.3. CADENAS Y LENGUAJES 19 Otra forma de demostración importante para nuestra materia es la demostración por inducción; este método ayuda principalmente cuando tenemos definiciones recursivas árboles, expresiones regulares, cadenas etc. Primero que nada es necesario explicar que este método se emplea para proposiciones que ocurren una, dos, tres,..., n veces y que tiene un patron que se repite en cada una de las veces a dicha proposición la denotamos mediante S(n), donde n nos dira en que número de repetición nos encontramos. El procedimiento que se emplea en este método es el siguiente: Supongase que se tiene una proposición S(n) para cada entero positivo n, la cual es verdadera o falsa, necesitamos probar dos cosas: 1. Base: debemos probar que la proposición es cierta (o falsa) para n = 0 y n = 1, o para los valores a partir de los cuales se marque que esta es verdadera ( en el caso de que existen afirmaciones que no son ciertas para números pequeños), en terminos matemáticos S(i) es cierta cuando i = 0 o i = 1 2. Paso de inducción: en este paso suponemos que para algun valor n arbitrario la proposición S(n) es cierta, y posteriormente procedemos a probar que esta proposición también se cumple para su consecutivo S(n + 1) Por ejemplo las filas de fichas de dominó cuando caen: hemos demostrado que la primera ficha cae (primer paso), y que si cae una ficha también debe caer la siguiente (si es cierta para n, debe serlo para n+1, segundo paso). La idea de la inducción es muy clara: si un número cumple algo, y si cuando un número lo cumple el siguiente tiene que cumplirlo, entonces todos los números lo cumplen. Actividad 6 Investigar 5 ejemplos en los que se empleen demostraciones por el método inductivo 1.3. Cadenas y lenguajes Si nosotros observamos las siguientes líneas podemos observar algunas cosas en común: Programas escritos en lenguajes de alto nivel.
20 20 CAPÍTULO 1. INTRODUCCION Palabras o frases en español. Los números usados por una calculadora Lo primero que podemos observar es que cada una de ellas está compuesta por una secuencia de símbolos que pertenecen a algún conjunto finito; para el caso de la segunda línea el conjunto {a, b, c,..., x, y, z} junto con todos los símbolos de puntuación correspondientes, de manera análoga para la tercera línea, donde el conjunto son los dígitos {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}. Los programas escritos en lenguajes de alto nivel también están compuestos por un conjunto finito de palabras reservadas, identificadores y símbolos especiales (como fin de archivo, abrir archivo, retorno de carro etc.) En general cada una de ellas está formada por una secuencia de elementos de un conjunto finito no vacío llamado alfabeto que denotaremos por Σ; a los elementos de dicho alfabeto los llamaremos letras y los denotaremos por σ, además supondremos que las letras se escriben con un solo carácter. Ejemplo 7 Entre los alfabetos más comunes en computación se encuentran Σ = {0, 1} el alfabeto binario. El conjunto de todos los caracteres ASCII, o el conjunto de todos los caracteres ASCII imprimibles. Definición 8 Sea Σ un alfabeto, una palabra o cadena sobre el alfabeto es una secuencia finita de símbolos del alfabeto Σ. En caso de que no se tenga ningun caracter la cadena será llamada cadena vacía y la denotaremos mediante la letra λ. Ejemplo , , 1, 00, son cadenas del alfabeto binario Entre las cadenas es posible hacer operaciones, a continuación describimos algunas de ellas: Sea Σ un alfabeto, se define la concatenación de palabras como una operación: : Σ Σ Σ para todo ω, ϕ Σ : ω ϕ = (ω 1, ω 2,..., ω n ϕ 1, ϕ 2,..., ϕ n )
21 1.3. CADENAS Y LENGUAJES 21 En la palabra resultante, a la palabra ω la llamaremos prefijo y a la palabra ϕ, la llamaremos sufijo Si ω = hola y ϕ = peluza entonces ω ϕ = holapeluza aqui el prefijo es hola mientras que el sufijo es peluza, y de este mismo ejemplo podemos observar que ϕ ω = peluzahola de donde podemos concluir que la concatenación de cadenas no es conmutativa ϕ ω ϕ ω a menos que una de las palabras sea la palabra vacía λ ω = ω λ = ω En ocaciones es útil clasificar las cadenas por su longitud, es decir el número de caracteres que conforman la cadena, por ejemplo la cadena for(i = 1; i <= 40; i + +) tiene 18 caracteres, de manera más formal: Definición 9 Sea Σ un alfabeto y ω = (ω 1, ω 2,..., ω n ) una palabra sobre Σ. La longitud de una palabra de Σ es una función: : Σ N definida así: ω = n Derivado de la definición tenemos lo siguiente 1. La longitud de la cadena vacía es cero λ = 0 2. La longitud de la concatenación de dos cadenas es la suma de las longitudes de cada cadena,si ϕ, ω Σ: ω ϕ = ω + ϕ A continuación se muestra un ejemplo de como se usa el método inductivo en la teoria de autómatas, para desmostrar la última afirmación Demostración:
22 22 CAPÍTULO 1. INTRODUCCION Procederemos por inducción sobre ϕ Base: Si ϕ = λ entonces ω ϕ = ω λ = ω + 0 = ω + λ = ω + ϕ Hipótesis de inducción: Supongamos que para cualquier palabra α, α n se tiene que: ω α = ω + α Ahora sea ψ = α β una palabra de longitud n + 1 con α Σ y β Σ ϕ ψ = ϕ α β = ϕ α + 1 = ϕ + n + 1 = ϕ + α β = ϕ + ψ Actividad 7 Investigar las propiedades de asociatividad e identico entre concatenación de cadenas Definición 10 Si Σ es un alfabeto podemos expresar el conjunto de todas las cadenas del alfabeto empleando la siguiente notación Σ k que es el conjunto de todas las cadenas de longitud k, tales que todos los símbolos que las conforman pertenecen a el alfabeto Σ Ejemplo 9 si Σ = {0, 1} entonces: Σ 0 = λ Σ 1 = {0, 1} Σ 2 = {00, 01, 10, 11} Σ 3 = {000, 001, 010, 011, 100, , 111} y así sucesivamente. Es importante hacer enfásis en el hecho de que Σ y Σ 1 no son lo mismo, el primero representa el conjunto formado por los símbolos 0 y 1 y del segundo sus miembros son las cadenas 0 y 1, cada una de las cuales tiene longitud uno. Definición 11 Al conjunto de todas las cadenas tomadas de un alfabeto lo llamaremos lenguaje. El lenguaje compuesto por todas las palabras sobre el alfabeto, se le conoce como diccionario y se denota por Σ, donde: Σ = Σ 0 Σ 1 Σ 2 Σ 3...
23 1.3. CADENAS Y LENGUAJES 23 En el caso de que el diccionario no incluya la cadena vacía se escribira como Σ + y tenemos que Σ = Σ + {λ} Algunos ejemplos de lenguajes son: El conjunto de los números binarios que representan un número primo El lenguaje de programación C el conjunto de todas las cadenas con igual cantidad de ceros y unos. Una aplicación de los lenguajes es un analizador léxico de un compilador de algun lenguaje de programación particular, en el cual se proporciona una cadena ASCII y deseamos saber si dicha cadena pertenece o no al conjunto de todos los programas validos para el lenguaje de programación.
24 24 CAPÍTULO 1. INTRODUCCION
25 Capítulo 2 Lenguajes regulares Objetivo de la unidad: Conocer el concepto de expresón regular, su representación mediante autómatas finitos y sus aplicaciones en procesos de computo y el entorno donde se desenvuelve el alumno 2.1. Autómatas finitos Para iniciar esta unidad se presentará un ejemplo práctico, tomado del libro Introducción a la teoría de autómatas, lenguajes y computación, de John E.Hopcroft Ejemplo 10 Los protocolos que ayudan a manejar el dinero electrónico (son archivos que se utilizan para pagar compras en Internet y que el vendedor recibe con la garantía de que el dinero es real) La parte de asegurar el dinero le corresponde al banco el cual debera encriptar sus archivos para garantizar que la falsificación no sea un problema, además de mantener una base de datos con todo el dinero valido que ha emitido, para asegurar que el dinero que va a dar a la tienda sea real (es decir que en la cuenta del cliente existan fondos), este proceso de compra, venta e intercambio de dinero puede ser modelado mediante autómatas finitos Otro ejemplo de un proceso que podemos modelar empleando autómatas finitos es el siguiente Ejemplo 11 Las máquinas expendedoras de refrescos, dulces o café requieren 25
26 26 CAPÍTULO 2. LENGUAJES REGULARES que se introduzca cierto importe para poder despachar algún producto, primero requieren de selecciónar el producto posteriormente se necesita insertar la cantidad de dinero necesario dependendiendo de la selección realizada, la maquina debera contabilizarlo para guardar en un estado la cantidad de dinero que fue introducido y en caso de que sea necesario dar cambio y que éste sea devuelto correctamente, en este caso la entrada de nuestro autómata es no tener dinero acumulado ni opción seleccionada, después se siguen una secuencia de movimientos que nos llevan a obtener nuestro producto finaluna vez que se ha completado la cantidad que cuesta el producto (este ejemplo se analizará con más detalle en el transcurso del cápitulo) En muchas otras máquinas se emplean los autómatas, así que necesitamos estudiar?qué es? y todas sus características. Actividad 8 Investigue dos ejemplos donde sea posible modelar un comportamiento mediante autómatas Autómatas finitos deterministicos AFD Para comenzar mencionares que el autómata finito deterministico es aquel que siempre está en un sólo estado después de leer cualquier secuencia de entradas; la palabra determinista nos dice que para cada entrada existe un único estado al que el autómata puede llegar partiendo del estado actual; comencemos dando la definición formal Definición 12 Un Autómata Finito Determinístico (AFD) es una quintupla: M = (Q, Σ, q 0, f, F ), donde Q Es un conjunto finito no vacío (los elementos de Q son llamados estados) Σ es un conjunto de símbolos de entrada al que llamaremos alfabeto. q I Q, es un estado al que llamaremos estado inicial. f Es una función Q Σ Q que se llama función de transición; ésta recibe como argumentos un estado y una entrada y devuelve un estado. q F Q es un conjunto de estados a los cuales llamaremos estados finales o de aceptación.
27 2.1. AUTÓMATAS FINITOS 27 Un autómata puede ser representado mediante un grafo dirigido (digrafo) el cual se conoce como diagrama de transiciones, donde los vértices del mismo corresponden a los estados del autómata, en el caso del estado inicial éste tendrá una flecha que apunta hacia él, y los estados finales se representarán mediante un círculo con línea doble; si existe una transición del estado q al p sobre la entrada a entonces existe un arco con etiqueta a que va del estado q al estado p en el diagrama de transición. El autómata acepta una cadena ω si la secuencia de transiciones correspondientes a los símbolos de ω conducen del estado inicial a un estado final. Ejemplo 12 Sea Q = {q 0, q 1, q 2, q 3 } el conjunto de estados, q I = {q 0 } el estado inicial, q F = {q 0 } el conjunto de estados finales, Σ = {0, 1} el alfabeto de entrada y la función f q 0 q 1 q 2 q 3 q q q q El digrafo asociado al automata anterior es: Figura 2.1: Grafo asociado a un autómata la función de transición también se puede escribir de la siguiente forma f(q 0, 1) q 1 f(q 0, 0) q 2 f(q 1, 1) q 0 f(q 1, 0) q 3 f(q 2, 1) q 3 f(q 2, 0) q 0 f(q 3, 1) q 2 o mediante la siguiente f(q 3, 0) q 2
28 28 CAPÍTULO 2. LENGUAJES REGULARES Definición 13 Sea M = (Q, Σ, q 0, f, F ) un AFD definimos la iteración de f sobre Σ así: f : Q Σ Q q Q : f (q, λ) := q q Q, σ Σ y ϕ Σ : f (q, σϕ) := f (f (q, σ), ϕ) Algo que es importante en la teoría de autómatas, es como decide si acepta o no una secuencia de símbolos de entrada (cadena). El lenguaje de un AFD es el conjunto de todas las cadenas que acepta el autómata, formalmente: Definición 14 Sea M = (Q, Σ, q 0, f, F ) un AFD, el lenguaje de M se define como: L(M) := {w Σ f (q 0, w) F } Observación 1 Sean L(A) y L(B) dos lenguajes sobre el alfabeto Σ, entonces L(A) = L(B) si y sólo si L(A) L(B) y L(B) L(A). Observación 2 Sean L(A) y L(B) dos lenguajes sobre el alfabeto Σ, entonces (L(A) L(B)) R = L(B) R L(A) R. Definición 15 Dos autómatas finitos se dicen equivalentes si reconocen el mismo lenguaje, es decir: Dados M p = (Q, Σ, p 0, f, F ), M q = (Q, Σ, q 0, f, F ) AFD M P M q L(M p ) = L(M q ) Autómatas finitos no deterministicos AFND Ahora, si se modifica el modelo del autómata finito, para permitirle ninguna, una o más transiciones de un estado sobre el mismo símbolo de entrada, al nuevo modelo lo conoceremos como autómata finito no determinístico. Definición 16 Un Autómata Finito No Determinístico (AFND) es una quintupla M = (Q, Σ, I, R, F ), donde
29 2.1. AUTÓMATAS FINITOS 29 Q es un conjunto de estados Σ es un alfabeto. I Q es un conjunto de estados a los cuales llamaremos estados iniciales. R es una relación sobre Q Σ Q que se llama relación de transición. F Q es un conjunto de estados a los cuales llamaremos estados finales. Observación 3 Si I se reduce a un solo estado y R es tal que sus elementos pueden escribirse mediante una función entonces el autómata será determinístico. Definición 17 Sea M un AFND y sea ω Σ un camino que empieza en q 0, inducido por ω = σ 1 σ 2,, σ n en un autómata es una n + 1-ada de estados (q 0, q 1,, q n ) tales que k [1, 2,, n], (q k 1, σ k, q k ) R. También diremos que el camino empieza en q 0 e induce λ es (q 0 ). Definición 18 Una palabra ω se dice reconocida por un AFND M, si ω induce un camino que empieza en un estado inicial y termina en algún estado final. Definición 19 El lenguaje del AFND M, es el conjunto de todas las palabras en Σ que son reconocidas por M L(M) = {ω Σ ω induce un camino (q 0,, q n ) tal que q 0 I y q n F } Observación 4 Dado un AFND M = (Q, Σ, I, R, F ) entonces existe un AFD M tal que L(M) = L(M ). Ejemplo 13 Sea M = ({q 0, q 1 }, {0, 1}, δ, q 0, {q 1 }) un AFND en el que : δ (q 0, 0) = {q 0, q 1 } δ (q 0, 1) = {q 1 } δ (q 1, 0) = δ (q 1, 1) = {q 0, q 1 }
30 30 CAPÍTULO 2. LENGUAJES REGULARES Podemos construir un AFD M = (Q, {0, 1}, δ, [q 0 ], F ) que acepte a L (M) de la siguiente forma: Q esta dado por todos los subconjuntos de {q 0, q 1 }, a los cuales denotaremos así: [q 0 ], [q 1 ], [q 0, q 1 ], como δ (q 0, o) = {q o, q 1 } tenemos: δ ([q 0 ], 0) = [q 0, q 1 ] de la misma forma: δ ([q 0 ], 1) = [q 1 ] δ ([q 1 ], 0) = δ ([q 1 ], 1) = [q 0, q 1 ] δ (, 0) = δ (, 1) = Por lo tanto el conjunto de estados finales es {[q 1 ], [q 0, q 1 ]} 2.2. Expresiones regulares Las expresiones regulares son importantes porque también pueden ser consideradas como un lenguaje de programación, que nos permite realizar acciones importante como las de busqueda de elementos en los compiladores (errores como la falta de signos de puntuación o palabras reservadas mal escritas). Las expresiones regulares estan directamente relacionadas con los autómatas finitos deterministicos y no deterministicos, y en muchas ocaciones son empleadas para describir componentes de software debido a que son más faciles de entender que los autómatas finitos. Otras caracteristicas importantes de las expresiones regulares es que estas nos permiten definir a los lenguajes descritos por las distintas familias de autómatas, los lenguajes regulares, con la ventaja de que las expresiones regulares ofrecen una forma declarativa de expresar las cadenas que pretendemos aceptar, lo que permite que se utilicen como lenguaje de entrada en muchos sistemas de proceso de cadenas. Definición 20 Las Expresiones regulares sobre un alfabeto, se definen así : 1. es una expresión regular.
31 2.2. EXPRESIONES REGULARES {λ} es una expresión regular y se escribe: λ 3. σ Σ : σ es expresión regular y se escribe: σ. Ahora, si α y β son expresiones regulares, entonces también lo serán: 4. α β que escribiremos: α + β 5. α β 6. α Sólo las expresiones que se obtienen por composición finita de las reglas anteriores son expresiones regulares. Proposión 1 Sea α una expresión regular. Entonces α R también es una expresión regular Demostración: Se procederá por inducción sobre la construcción de expresiones regulares 1. R = 2. λ R = {λ} R = { λ R} = {λ} = λ 3. Sea σ Σ entonces por la definición de inversa) σ R = (σλ) R = λ R σ = λσ = σ por lo tanto σ R = {σ} R = {σ R } = {σ} = σ (1), (2) y (3) son expresiones regulares. 4. Supongamos que α, β, son expresiones regulares y que α R, β R también lo son, entonces (α + β) R = {ω R ω α + β} = {ω R ω α} {ω R ω β} = α R β R por lo tanto (α + β) R es expresión regular.
32 32 CAPÍTULO 2. LENGUAJES REGULARES 5. Si ϕ, ψ son palabras queremos probar que ψ R ϕ R = (ϕψ) R Base: si ϕ = λ (ϕψ) R = (λψ) R = ψ R = ψ R λ = ψ R λ R = ψ R ϕ R Hipótesis de inducción: Sea α Σ con α = n, n 1 entonces (ϕψ) R = {β R β ϕψ} = {β R β = a b, a ϕ, b ψ} = ψ R ϕ R Ahora para α, σ Σ por la hipótesis de inducción que es una expresión regular. 6. (α ) R = ( α R) base (α 0 ) R = λ n = λ = ( α R) 0 ((ασ) ψ) R = (σ (αψ)) R = (αψ) R σ (αψ) R σ = ψ R α R σ = ψ R (σα) R hipótesis de inducción (α ) R = ( α R) Para n + 1 ( α n+1 ) R = (α n α) R = α R (α n ) R = α R ( α R) n = ( α R ) n+1 ahora ( ) R (α ) R = α n = (α n ) R ( = ) α R n = (α n ) que es una expresión regular. n=0 n=0 n=0 Por lo tanto, la inversión de una expresión regular es una expresión regular.
33 2.2. EXPRESIONES REGULARES 33 Probablemente la definición anterior nos haga pensar que las expresiones regualres no son tan comprensibles, pero quiza el siguiente ejemplo permita que se pueda cambiar de opinión Ejemplo denota el lenguaje de todas las cadenas que comienzan con cero y estan seguidas por cualquier cantidad de unos o comienzan con uno y estan seguidas de cualquier cantidad de ceros. Cerradura de Kleene La Cerradura o clausura o estrella de Kleene de un lenguaje se denota por L y representa el conjunto de las cadenas que se pueden formar tomando cualquier número de cadenas de L, por ejemplo si L = {0, 11}, L consta de aquellas cadenas de ceros y unos en las que los unos se encuentran en pares, como 001, 11110; sin embargo cadenas como 101 y no estan dentro de la cerradura. Ejemplo 15 Si L = {a, bb} entonces L 0 = {λ} L 1 = {a, bb} L 2 = {aa, abb, bba, bbbb} L 3 = {aaa, aabb, abba, abbbb, bbbbbb, bbbba bbaabb, bbaa} observe que aqui a corresponde a un caracter y bb corresponde a otro caracter. Para calcular L debemos calcular L i para todo i y hacer la unión de estos lenguajes. Construcción de expresiones regulares Se mostrará un ejemplo de como se construyen las expresiones regulares utilizando la definición de las mismas
34 34 CAPÍTULO 2. LENGUAJES REGULARES Ejemplo 16 Sea E el conjunto formado por todas las cadenas que tienen cero o más repeticiones de la cadena 01 alternados. Primero se desarrolla una expresión regular para el lenguaje formado por la cadena única 01, posteriormente con ayuda del operador, podermos obtener una expresión para todas las cadenas de la forma Lo primero que se debe contemplar es que por la definición de expresión regular 0 y 1 son expresiones regulares, y representan los lenguajes {0} y {1}, por el inciso 5 de la definición la concatenación de expresiones regulares es una expresión regular, por lo cual 01 es una expresión regular que generael lenguaje {01}. Para obtener todas las cadenas que constan de ceros y unos usamos 6 de la definición y obtenemos la expresión regular (01). Sin embargo el lenguaje asociado a (01) sólo reconoce cadenas que empiecen con cero y terminan en uno, pero que pasa con las cadenas que comienzan en uno y terminen con cero o con uno, para contemplar todas las posiblilidades será necesario construir tres expresiones regulares más y la expresión regular completa será (10) 0(10) 1(01) (01) + (10) + 0(10) + 1(01) aqui el operador + nos ayuda a unir los cuatro lenguajes formados por cada una de las expresiones regulares. Es importante denotar que los operadores en las expresiones regulares y en las expresiones regulares conservan cierta precedencia dada de la siguiente forma El operador tiene la mayor precedencia, se aplica sólo a la secuencia más pequeña de símbolos a su izquierda que constituyen una expresión regular bien formada. El siguiente en precedencia es el operador concatenación; una vez aplicados todos los aplicamos la concatenación. Por último se aplican los operadores de unión.
35 2.3. LENGUAJES REGULARES Lenguajes Regulares Los Lenguajes regulares son elementos de la teoría de la computación que estan directamente vinculados con las expresiones regulares y los autómatas finitos deterministicos. Aunque las expresiones regulares describen los lenguajes de manera diferente a como lo hacen los autómatas finitos, ambas notaciones representan exactamente el mismo conjunto de lenguajes (lenguajes regulares), además también se vio que es posible construir autómatas finitos deterministicos asociados a autómatas finitos no deterministicos, con lo cual los lenguajes regulares también se encongraran vinculados con ésta clase de autómatas. Todo lenguaje definido mediante un autómata finito deterministico, también puede definirse mediante una expresión regular. Todo lenguaje definido por una expresión regular también puede definirse mediante un autómata finito deterministico. Definición 21 Un conjunto A Σ se dice regular si existe un AFD M tal que L(M) = A Observación 5 Sea M un autómata finito, entonces existe una expresión regular r para la cual L(r) = L(M) Observación 6 Un lenguaje es regular si y sólo si es aceptado por un autómata finito Es importante recordar que los lenguajes son conjuntos, con lo cual se les pueden aplicar las operaciones asociadas a los conjuntos y describir mediante las mismas algunas propiedades que nos ayuden a construirlos y entenderlos de manera mas sencilla; a continuación mencionamos algunas de las propiedades de los lenguajes regulares 1. La unión de dos lenguajes regulares es regular. 2. La intersección de dos lenguajes regulares es regular. 3. El complemento de un lenguaje regular es regular. 4. La diferencia de dos lenguajes regulares es regular. 5. La reflexión de un lenguaje regular es regular.
36 36 CAPÍTULO 2. LENGUAJES REGULARES 6. La cerradura de Kleen de un lenguaje regular es regular. 7. La concatenación de dos lenguajes regulares es regular.
37 Capítulo 3 Lenguajes libres de contexto Objetivo de la unidad: Conocer el concepto de lenguaje independiente del contexto, cuales son las caracteristicas que posee y sus aplicaciones Las Gramáticas independientes del contexto o libres de contexto juegan un papel muy importante en la tecnologia de las computadoras desde la decada de 1960, ya que optimizaron e hicieron más barata la tarea de implementar el analizador sintáctico de los compiladores; posteriormente nos permitieron describir formatos de documentos mediante la definición del tipo de documentos en la red Gramáticas libres de contexto El lenguaje es el medio de comunicación entre los seres humanos a través de signos orales y escritos que poseen un significado. Para que exista el lenguaje se requieren ciertos factores como la sintaxis, que da estructura al lenguaje y la semántica, que le da significado al lenguaje. Además de manera conjunta con los lenguajes tenemos la gramática que estudia los elementos de un lenguaje y sus combinaciones. Así como es importante podernos comunicar con otras personas, actualmente también es importante podernos comunicar con las computadoras; es decir establecer un lenguaje y una gramática para facilitar el uso de las mismas. Introduciremos de manera natural el concepto de gramática mediante una analogía con el lenguaje español y su gramática. 37
38 38 CAPÍTULO 3. LENGUAJES LIBRES DE CONTEXTO Ejemplo 17 Suponga que tenemos la siguiente frase: La gata gris duerme en la cama diariamente Observamos que la frase se divide en dos partes esenciales sujeto y predicado; el sujeto a su vez se divide en artículo, sustantivo y adjetivo; y el predicado se divide en verbo, preposición, artículo y advervio. Nosotros podemos decir que existe una variable llamada < frase > que genera 2 variables < sujeto > y < predicado > es decir: < frase > < sujeto >< predicado > (sustituimos la palabra produce por la flecha) a su vez las variables < sujeto > < articulo >< sustantivo >< adjetivo > < predicado > < verbo >< preposicion >< articulo >< advervio > por último las variables < articulo > la el < sustantivo > gata cama < adjetivo > gris < verbo > duerme < preposicion > en < advervio > diariamente a las variables la, el, gata, cama, gris, duerme, en, diariamente las llamamos símbolos terminales, mientras que a las variables escritas entre < > las conocemos como símbolos no terminales; el proceso que sustituye unas variables por otras se le conoce como producción y a la variables < frase > se le conoce como símbolo inicial. De manera formal tenemos Definición 22 Una Gramática es una cuadrupla G = (N, T, P, S) donde N es un alfabeto a cuyos símbolos llamamos no terminales. T es un alfabeto a cuyos símbolos llamamos terminales.
39 3.1. GRAMÁTICAS LIBRES DE CONTEXTO 39 P es un subconjunto finito de (N \T ) N N y a los elementos (u, v)de P los conocemos como producciones de G. S es el símbolo inicial. En el párrafo previo a la definición se describe cuales son los conjuntos N, y T así como cual es el elemento S y las producciones correspondientes al ejemplo (2). Notación 2 A los símbolos no terminales se les representa mediante letras mayúsculas, mientras que los símbolos terminales serán representados mediante letras minúsculas. Definición 23 Para ω, ω N escribimos ω = ω si existen x, y N y una producción u v en P tal que y ω = xuy ω = xvy Decimos que ω deriva ω Escribimos ω = z si ω = z o existen ω 1, ω 2,, ω n con n 2 en N tales que ω = ω 1, z = ω n y ω i = ω i+1 sin pérdida de generalidad a esta transformación la llamaremos derivación en G y decimos que ω deriva a z. Definición 24 El lenguaje L(G) generado por G es el conjunto de palabras en T, que puede ser derivado a partir de S { } L(G) = ω T S = ω Ahora, regresando al ejemplo anterior observamos que las producciones pueden generar frases como la siguiente El cama gris duerme en la gata diariamente La cual no es semánticamente aceptable, pues carece de significado, pero es aceptada por la sintaxis de la gramática; debido a este comportamiento será necesario hacer modificaciones para que el lenguaje sólo reconozca oraciones que posean significado (es decir analizar el contexto de la oración).
40 40 CAPÍTULO 3. LENGUAJES LIBRES DE CONTEXTO Definición 25 Una gramática es regular si cada producción P es de la forma o de la forma α xβ con (x T, α, β N \ T ) α y con (α N \ T, y T ) Decimos que una gramática G es independiente del contexto si todas las producciones son de la forma α z con z (T N) Ejemplo 18 Sea G = (N, T, P, S) donde T = {a, b} N \ T = {S, B} y P consiste de las producciones S asb λ entonces L(G) = {a n b n n 1} que es un lenguaje independiente del contexto. Ejemplo 19 Sea G = (N, T, P, S) con T = {a, b}, N \ T = {S} y P tenga las producciones S asa bsb a b λ Tenemos que L(G) = { ω T ω = ω R} que es el lenguaje de los palíndromos, en el alfabeto T. Definición 26 Sea G una gramática independiente del contexto, una producción A α en la gramática se llama regla de G. El símbolo no terminal A es la parte izquierda de la regla, y la cadena α es la parte derecha de la regla. En una producción de la forma A xβ, la letra x N T se llama manipuladora de la producción. Una producción de la forma A B con A y B símbolos no terminales, se llama producción no generativa. Si G permite la derivación A = Aϕ entonces la letra no terminal A se dice recursiva izquierda. Si G permite la derivación A = ϕa entonces A se dice recursiva derecha. Si G permite la derivación A = A en uno o más pasos entonces se dice que A es un no terminal cíclico.
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
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
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.
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.
Conjuntos, relaciones y funciones Susana Puddu
Susana Puddu 1. Repaso sobre la teoría de conjuntos. Denotaremos por IN al conjunto de los números naturales y por ZZ al de los enteros. Dados dos conjuntos A y B decimos que A está contenido en B o también
UNIDAD II: TEORÍA DE CONJUNTOS 2.1. INTRODUCCIÓN
UNDD : TEORÍ DE CONJUNTOS 2.1. NTRODUCCÓN Según Georg Cantor un conjunto es la reunión, agrupación o colección de elementos bien definidos que tienen una propiedad en común, concepto que ha penetrado y
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
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
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.
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
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
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.
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
Inducción Matemática Conjuntos Funciones. Matemática Discreta. Agustín G. Bonifacio UNSL. Repaso de Inducción, Conjuntos y Funciones
UNSL Repaso de Inducción, y Inducción Matemática (Sección 1.7 del libro) Supongamos que queremos demostrar enunciados del siguiente tipo: P(n) : La suma de los primeros n números naturales es n(n+1)
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
Capítulo 2 Conjuntos. 2.1 Introducción. 2.2 Determinación de conjuntos. Definición:
Capítulo 2 Conjuntos 2.1 Introducción El concepto de conjunto, de singular importancia en la ciencia matemática y objeto de estudio de una de sus disciplinas más recientes, está presente, aunque en forma
SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES
SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES RELACIONES BINARIAS PAR ORDENADO Es un arreglo de dos elementos que tienen un orden determinado donde a es llamada al primera componente y b es llamada la
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
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
Semana05[1/14] Relaciones. 28 de marzo de Relaciones
Semana05[1/14] 28 de marzo de 2007 Introducción Semana05[2/14] Ya en los capítulos anteriores nos acercamos al concepto de relación. Relación Dados un par de conjuntos no vacíos A y B, llamaremos relación
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
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
Objetivos formativos de Matemática Discreta. Tema 1: Conjuntos, aplicaciones y relaciones
Objetivos formativos de Matemática Discreta Para cada uno de los temas el alumno debe ser capaz de hacer lo que se indica en cada bloque. Además de los objetivos que se señalan en cada tema, se considera
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
Estructuras Algebraicas
Tema 1 Estructuras Algebraicas Definición 1 Sea A un conjunto no vacío Una operación binaria (u operación interna) en A es una aplicación : A A A Es decir, tenemos una regla que a cada par de elementos
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
Conjuntos Los conjuntos se emplean en muchas áreas de las matemáticas, de modo que es importante una comprensión de los conjuntos y de su notación.
NÚMEROS REALES Conjuntos Los conjuntos se emplean en muchas áreas de las matemáticas, de modo que es importante una comprensión de los conjuntos y de su notación. Un conjunto es una colección bien definida
Semana02[1/23] Conjuntos. 9 de marzo de Conjuntos
Semana02[1/23] 9 de marzo de 2007 Introducción Semana02[2/23] La teoría de conjuntos gira en torno a la función proposicional x A. Los valores que hacen verdadera la función proposicional x A son aquellos
Índice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción
Curso 0: Matemáticas y sus Aplicaciones Tema 5. Lógica y Formalismo Matemático Leandro Marín Dpto. de Matemática Aplicada Universidad de Murcia 2012 1 Proposiciones y Conectores Lógicos 2 Tablas de Verdad
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
Capítulo 3. Conjuntos. Continuar
Capítulo 3. Conjuntos Continuar Introducción Georg Cantor definió el concepto de conjunto como una colección de objetos reales o abstractos e introdujo el conjunto potencia y las operaciones entre conjuntos.
CONJUNTOS Y SISTEMAS NUMÉRICOS
1. CONJUNTOS. 1.1 Conceptos básicos Medir y contar fueron las primeras actividades matemáticas del hombre y ambas nos conducen a los números. Haciendo marcas, medían el tiempo y el conteo de bienes que
En general, un conjunto A se define seleccionando los elementos de un cierto conjunto U de referencia que cumplen una determinada propiedad.
nidad 3: Conjuntos 3.1 Introducción Georg Cantor [1845-1918] formuló de manera individual la teoría de conjuntos a finales del siglo XIX y principios del XX. Su objetivo era el de formalizar las matemáticas
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.
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,
TEMA 3 Elementos de la teoría de los conjuntos. *
TEM 3 Elementos de la teoría de los conjuntos. * Conjuntos. Un conjunto es cualquier colección, bien definida, de objetos llamadas elementos o miembros del conjunto. Una manera de describir un conjunto
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
Introducción. El uso de los símbolos en matemáticas.
Introducción El uso de los símbolos en matemáticas. En el estudio de las matemáticas lo primero que necesitamos es conocer su lenguaje y, en particular, sus símbolos. Algunos símbolos, que reciben el nombre
Recordemos que utilizaremos, como es habitual, la siguiente notación para algunos conjuntos de números que son básicos.
Capítulo 1 Preliminares Vamos a ver en este primer capítulo de preliminares algunos conceptos, ideas y propiedades que serán muy útiles para el desarrollo de la asignatura. Se trata de resultados sobre
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
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
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á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
Lenguajes Regulares. Antonio Falcó. - p. 1
Lenguajes Regulares Antonio Falcó - p. 1 Cadenas o palabras I Una cadena o palabra es una sucesión finita de símbolos. cadena {c, a, d, e, n}. 10001 {0, 1} El conjunto de símbolos que empleamos para construir
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
TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.
TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. 1. MATRICES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS. DEFINICIÓN: Las matrices son tablas numéricas rectangulares
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.
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.
Tema 2: El grupo de las permutaciones
Tema 2: El grupo de las permutaciones Miguel Ángel Olalla Acosta miguelolalla@us.es Departamento de Álgebra Universidad de Sevilla Octubre de 2014 Olalla (Universidad de Sevilla) Tema 2: El grupo de las
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
Lic. Manuel de Jesús Campos Boc
UNIVERSIDAD MARIANO GÁLVEZ DE GUATEMALA FACULTAD DE CIENCIAS DE LA ADMINISTRACIÓN DIRECCIÓN GENERAL DE CENTRO UNIVERSITARIOS CENTRO UNIVERSITARIO DE VILLA NUEVA CURSO MATEMÁTICAS APLICADA I 2015 Lic. Manuel
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á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á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
Conjuntos. () April 4, / 32
Conjuntos En general, un conjunto A se de ne seleccionando los elementos de un cierto conjunto U de referencia (o universal) que cumplen una determinada propiedad. () April 4, 2014 1 / 32 Conjuntos En
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
CAPÍTULO 2 NOCIONES BÁSICAS DE TEORÍA DE CONJUNTOS
CAPÍTULO 2 NOCIONES BÁSICAS DE TEORÍA DE CONJUNTOS 2.1. NOCIONES PRIMITIVAS Consideraremos tres nociones primitivas: Conjunto, Elemento y Pertenencia. Conjunto Podemos entender al conjunto como, colección,
Pregunta 1 Es correcta esta definición? Por qué?
TEORÍA DE CONJUNTOS. En un libro de COU de 1975 puede leerse la siguiente definición de conjunto: Un conjunto es una colección de objetos, cualquiera que sea su naturaleza. Pregunta 1 Es correcta esta
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
1 NOCIONES BÁSICAS SOBRE CONJUNTOS. SÍMBOLOS.
UNIDAD 1.- CONCEPTOS REQUERIDOS CONJUNTOS. AXIOMAS DE PERTENENCIA, PARALELISMO, ORDEN Y PARTICIÓN. 1 NOCIONES BÁSICAS SOBRE CONJUNTOS. SÍMBOLOS. 1.1 Determinaciones de un conjunto. Un conjunto queda determinado
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
un conjunto cuyos elementos denominaremos vectores y denotaremos por es un espacio vectorial si verifica las siguientes propiedades:
CAPÍTULO 2: ESPACIOS VECTORIALES 2.1- Definición y propiedades. 2.1.1-Definición: espacio vectorial. Sea un cuerpo conmutativo a cuyos elementos denominaremos escalares o números. No es necesario preocuparse
Conjuntos finitos y conjuntos numerables
Tema 3 Conjuntos finitos y conjuntos numerables En este tema vamos a usar los números naturales para contar los elementos de un conjunto, o dicho con mayor precisión, para definir los conjuntos finitos
ESCUELA TÉCNICA SUPERIOR DE NÁUTICA Y MÁQUINAS NAVALES / NAUTIKAKO ETA ITSASONTZI MAKINETAKO GOI ESKOLA TEKNIKOA NOCIONES PRELIMINARES DE MATEMÁTICAS
ESCUELA TÉCNICA SUPERIOR DE NÁUTICA Y MÁQUINAS NAVALES / NAUTIKAKO ETA ITSASONTZI MAKINETAKO GOI ESKOLA TEKNIKOA NOCIONES PRELIMINARES DE MATEMÁTICAS A. 1 Conjuntos. A. TEORÍA DE CONJUNTOS. Un conjunto
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 =
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.
Semana03[1/17] Funciones. 16 de marzo de Funciones
Semana03[1/17] 16 de marzo de 2007 Introducción Semana03[2/17] Ya que conocemos el producto cartesiano A B entre dos conjuntos A y B, podemos definir entre ellos algún tipo de correspondencia. Es decir,
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
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
Conjuntos Infinitos. Ramón Espinoza Armenta AVC APOYO VIRTUAL PARA EL CONOCIMIENTO
Ramón Espinoza Armenta AVC APOYO VIRTUAL PARA EL CONOCIMIENTO El estudio de los conjuntos infinitos se inicia con Las Paradojas del Infinito, la última obra del matemático checo Bernard Bolzano, publicada
CONJUNTO: Colección o agregado de ideas u objetos de cualquier especie.
RESUMEN DE MATEMATICAS I PARTE I CONJUNTOS CONJUNTO: Colección o agregado de ideas u objetos de cualquier especie. A= {números pares} B= { banda de rock} ELEMENTO: Son las ideas u objetos cualesquiera
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
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
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
Derivada de la función compuesta. Regla de la cadena
Derivada de la función compuesta. Regla de la cadena Cuando en las matemáticas de bachillerato se introduce el concepto de derivada, su significado y su interpretación geométrica, se pasa al cálculo de
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.
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
Funciones y Cardinalidad
Funciones y Cardinalidad Definición 1 Llamaremos función f entre dos conjuntos A y B a una relación que verifica las siguientes propiedades: i) Dom(f) = A ii) Si (a, b), (a, c) f entonces b = c Dicho de
LEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas.
LEX Estructura de un programa en LEX { definiciones { reglas { subrutinas del usuario Las definiciones y subrutinas son opcionales. El segundo es opcional pero el primer indica el comienzo de las reglas.
Espacios Vectoriales
Espacios Vectoriales Espacios Vectoriales Verónica Briceño V. noviembre 2013 Verónica Briceño V. () Espacios Vectoriales noviembre 2013 1 / 47 En esta Presentación... En esta Presentación veremos: Espacios
Sobre funciones reales de variable real. Composición de funciones. Función inversa
Sobre funciones reales de variable real. Composición de funciones. Función inversa Cuando en matemáticas hablamos de funciones pocas veces nos paramos a pensar en la definición rigurosa de función real
Introducción a la Lógica
Tema 0 Introducción a la Lógica En cualquier disciplina científica se necesita distinguir entre argumentos válidos y no válidos. Para ello, se utilizan, a menudo sin saberlo, las reglas de la lógica. Aquí
Sobre la Construcción Axiomática de los Números Naturales
Sobre la Construcción Axiomática de los Números Naturales Dr. Rafael Labarca Briones Profesor de Matemáticas. Universidad de Santiago de Chile. Charla dictadas en las EMALCAS de Arequipa, La Paz y Quito.
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:
Espacios Vectoriales Asturias: Red de Universidades Virtuales Iberoamericanas 1
Espacios Vectoriales 201 6Asturias: Red de Universidades Virtuales Iberoamericanas 1 Índice 1 Espacios Vectoriales... 4 1.1 Definición de espacio vectorial... 4 1.2 Definición de subespacio vectorial...
06 Análisis léxico II
2 Contenido Alfabetos, símbolos y cadenas Operaciones con cadenas Concatenación de dos cadenas Prefijos y sufijos de una cadena Subcadena y subsecuencia Inversión de una cadena Potencia de una cadena Ejercicios
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
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:
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
LEYES DE COMPOSICIÓN INTERNA Y ELEMENTOS DISTINGUIDOS
LEYES DE COMPOSICIÓN INTERNA Y ELEMENTOS DISTINGUIDOS Sea una estructura formada por un conjunto A, sobre cuyos elementos se ha definido una operación o ley interna, comúnmente denotada por " * ", que
Profesor: Rubén Alva Cabrera
Profesor: Rubén lva Cabrera INDICE INTRODUCCIÓN RELCION DE PERTENENCI DETERMINCION DE CONJUNTOS DIGRMS DE VENN CONJUNTOS ESPECILES RELCIONES ENTRE CONJUNTOS CONJUNTOS NUMÉRICOS UNION DE CONJUNTOS INTERSECCIÓN
CONJUNTOS NUMÉRICOS. La noción de número es tan antigua como el hombre mismo ya que son necesarios para resolver situaciones de la vida diaria.
CONJUNTOS NUMÉRICOS La noción de número es tan antigua como el hombre mismo ya que son necesarios para resolver situaciones de la vida diaria. Por ejemplo, usamos números para contar una determinada cantidad
Ejercicios de Lógica Proposicional *
Ejercicios de Lógica Proposicional * FernandoRVelazquezQ@gmail.com Notación. El lenguaje proposicional que hemos definido, aquel que utiliza los cinco conectivos,,, y, se denota como L {,,,, }. Los términos
mi la sol fa si Un conjunto está bien definido si se puede establecer sin dudar si un elemento pertenece o no al conjunto.
CONJUNTOS LENGUJE SIMÓLICO Cada día, en nuestra conversación, por la televisión, en la lectura de por ejemplo un diario, o en el trabajo está presente la idea de conjunto. En matemática utilizaremos la
Estructuras algebraicas
Estructuras algebraicas Natalia Boal María Luisa Sein-Echaluce Universidad de Zaragoza 1 Relaciones binarias 11 Recordatorio Definición Dados dos conjuntos A y B se llama producto cartesiano de A por B
Espacios topológicos. 3.1 Espacio topológico
Capítulo 3 Espacios topológicos 3.1 Espacio topológico Definición 3.1.1. Un espacio topológico es un par (X, τ), donde X es un conjunto, y τ es una familia de subconjuntos de X que verifica las siguientes
TEORÍA DE CONJUNTOS A ={ 1, 2, 3, 4, 5, 6 }
TEORÍA DE CONJUNTOS CONJUNTOS Y TÉCNICAS DE CONTEO DEFINICIÓN Y NOTACIÓN DE CONJUNTOS El término conjunto juega un papel fundamental en el desarrollo de las matemáticas modernas; Además de proporcionar
Descomposición en forma canónica de Jordan (Segunda versión)
Descomposición en forma canónica de Jordan (Segunda versión) Francisco J. Bravo S. 1 de septiembre de 211 En esta guía se presentan los resultados necesarios para poder construir la forma de Jordan sin
Teoría de Conjuntos y Conjuntos Numéricos
Teoría de Conjuntos y Conjuntos Numéricos U N I V E R S I D A D D E P U E R T O R I C O E N A R E C I B O D E P A R T A M E N T O DE M A T E M Á T I C A S P R O F A. Y U I T Z A T. H U M A R Á N M A R
CAPÍTULO II TEORÍA DE CONJUNTOS
TEORÍ DE ONJUNTOS 25 PÍTULO II TEORÍ DE ONJUNTOS 2.2 INTRODUIÓN Denotaremos los conjuntos con letras mayúsculas y sus elementos con letras minúsculas, si un elemento p pertenece a un conjunto escribiremos