Teor a de lenguajes ise teor a de la computaci n isc
Download
1 / 17

TEORÍA DE LENGUAJES (ISE) TEORÍA DE LA COMPUTACIÓN (ISC) - PowerPoint PPT Presentation


  • 242 Views
  • Uploaded on
  • Presentation posted in: General

TEORÍA DE LENGUAJES (ISE) TEORÍA DE LA COMPUTACIÓN (ISC). PROFESOR Dr. Juan Fco. Corona Burgueño. Información general. Materia: Teoría de Lenguajes (ISE)/Teoría de la Computación (ISC) Clave: CB00841.02 Semestre: Enero-Mayo 2004 Grupo 2 Sesiones: Lunes y Jueves de 17:30 a 19:00 hrs

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

Download Presentation

TEORÍA DE LENGUAJES (ISE) TEORÍA DE LA COMPUTACIÓN (ISC)

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


TEORÍA DE LENGUAJES (ISE)TEORÍA DE LA COMPUTACIÓN (ISC)

PROFESOR

Dr. Juan Fco. Corona Burgueño


Información general

  • Materia: Teoría de Lenguajes (ISE)/Teoría de la Computación (ISC)

  • Clave: CB00841.02

  • Semestre: Enero-Mayo 2004

  • Grupo 2

    • Sesiones: Lunes y Jueves de 17:30 a 19:00 hrs

    • Salón: 3302

  • Profesor: Dr. Juan Fco. Corona Burgueño

    • E-mail: jcorona@itesm.mx

    • Teléfono: (01-3)-669-3000 ext 3113

    • Fax: (01-3)-669-3061

    • Asesoría: Lunes y Jueves 11:30 – 13:00 y con previa cita.


Bibliografía

  • Texto

    • John Martin, “Introduction to Languages and the Theory of Computation”, 3rd edition, McGraw-Hill

  • Consulta

    • Thomas A. Sudkamp, “Languages and Machines”, 2nd edition, Addison Wesley

    • Ramón Brena Pinero, “Lenguajes Formales y Autómatas”, ITESM. http://dcc.gda.itesm.mx/~jcorona/Teoria_Leng/LFA.pdf

    • John E. Hopcroft, Rajeev Motwani & Jeffrey D. Ullman, “Introduction to Automata Theory, Languages, and Computation”, 2nd edition, Addison Wesley

  • Material del curso:

    • http://dcc.gda.itesm.mx/~jcorona/Teoria_Leng/


Evaluación

  • Tareas y Controles de Lectura15%

  • Exámenes parciales (tres)45% (15% c/u)

    • Primero: Jueves 12/Febrero/2004

    • Segundo: Jueves 04/Marzo/2004

    • Tercero: Jueves 15/Abril/2004

  • Examen final25%(Abarca todo el curso. 66% tercer y cuarto parcial, 34% primer y segundo parcial)

    • Fecha pendiente.

  • Proyecto curso15%


Sobre las tareas y proyectos

  • Las tareas y proyectos se evaluarán considerando el contenido, metodología, análisis, conclusiones y presentación.

  • En todos los trabajos que se presenten (tareas, proyectos, exámenes), se deberá incluir el nombre completo del estudiante y su matrícula.

  • Las tareas y proyectos tendrán una fecha de entrega. Cualquier retraso atribuible al estudiante será penalizado con 10 puntos por día, en una escala de 1 a 100.

  • Los controles de lectura deberán ser contestados a más tardar en la fecha límite indicada por el profesor. No se aceptarán después de esta fecha.

  • Revisar con frecuencia el archivo “Tareas.doc” que se encuentra en la dirección ftp del curso.


¿Por qué estudiar Teoría de Lenguajes/laComputación?

  • Teoría es relevante en la práctica

    • Gramáticas. Diseño de nuevos lenguajes de programación para nuevas aplicaciones.

    • Autómatas finitos y Expresiones regulares. Búsqueda de cadenas o reconocimiento de patrones.

    • NP-Completo. Complejidad computacional, tiempo requerido para llevar a cabo un algoritmo.

  • Teoría muestra el lado “elegante” de las computadoras. Un curso teórico nos permite construir y diseñar sistemas teniendo en mente la elegancia y belleza.

  • Teoría expande la mente.La tecnología cambia rápidamente, el conocimiento técnico específico es obsoleto en pocos años. No así la habilidad de pensar, de expresarse con precisión y claridad, la de resolver problemas.


¿Por qué Teoría de la Computación?

  • Máquina de estados finita y expresiones regulares

    • Diseño y verificación de circuitos digitales

    • Análisis léxico de un compilador

    • Editores de texto

  • Madurez matemática

    • Desarrollar habilidades para razonamiento formal y preciso. ¿Para qué me sirve esto?

      • Diseño, análisis y verificación de sistemas complejos de software y hardware.


Nociones preliminares

  • Conjunto: es una colección de objetos

  • Producto cartesiano:

    • A  B = {(x, y) | x  A y y  B}

    • Generalización a n conjuntos:X1  X2  ... Xn = {(x1, x2, ..., xn) | x1  X1, x2  X2, ..., xn  Xn}

  • Relación: es un subconjunto de un producto cartesiano.

  • Relación n-aria: participan n conjuntos en el producto cartesiano.

    • Relación 2-aria: relación binaria.

    • Relación 3-aria: relación ternaria.

  • Función: es una relación binaria en la que no existen dos parejas distintas que tengan el mismo primer elemento. Es usual denotar una función entre A y B comof : A  BDecimos que A es el dominio y B el codominio de la función.Si (a, b)  f, entonces escribimos f(a) = b.


Funciones

  • Función uno-a-uno o inyectiva: no existen dos parejas distintas que tengan el mismo segundo elemento, es decir, a cada elemento del codominio le corresponde a lo más un elemento del dominio.

  • Función sobre o sobreyectiva: para cualquier elemento y en el codominio de la función existe un elemento x en el dominio tal que f(x) = y, es decir, la función “recorre” todos los elementos del codominio.

  • Función biyectiva o biunívoca: es uno-a-uno y sobre.


Conjuntos

  • ¿Qué significa que dos conjuntos “tengan la misma cardinalidad”?Principio del palomar: dos conjuntos A y B, finitos o infinitos, tienen la misma cardinalidad (“mismo número de elementos”) si existe una función biyectiva entre A y B.

  • Cardinalidad de un conjunto A: es el número de elementos en el conjunto. Se denota por |A|.

  • La cardinalidad del conjunto {1, 2, 3, ..., n} es n.

  • Conjunto finito: la cardinalidad es 0 ó un número natural.

  • Conjunto infinito: conjunto que no es finito.

  • Conjunto contable o enumerable: es un conjunto para el cual podemos encontrar al menos un procedimiento que permite poner sus elementos en sucesión con la certeza de que a cualquier elemento del conjunto le corresponderá un lugar en la sucesión. En otras palabras, un conjunto es contable si es finito o, en caso que sea infinito, que tiene la misma cardinalidad que el conjunto de los números naturales.

  • Resumiendo: un conjunto infinito A es contable si se puede poner en correspondencia uno-a-uno y sobre con el conjunto de los números naturales, es decir, existe una función biyectiva entre el conjunto A y el conjunto de los números naturales.


Cardinalidad

  • Jerarquía de cardinalidades

    • Conjuntos finitos: el orden de los naturales nos dice cuando un conjunto tiene mayor cardinalidad o más elementos que otro.

    • Conjuntos infinitos: ¿?

  • Un conjunto A tiene mayor cardinalidad que un conjunto B,|A| > |B|, si se cumplen

    • A y B no tienen la misma cardinalidad

    • B tiene la misma cardinalidad que un subconjunto propio de A.

  • Conjunto potencia de un conjunto A2A = conjunto cuyos elementos son todos los subconjuntos de A.

    • |2A| > |A|

    • Para conjuntos finitos: |2A| = 2|A|


Definiciones

  • Definición por extensión o enumerativamente: se listan los elementos del conjunto.

    • {1, 2, 3, a, b, c}

  • Definición por intención o descriptivamente: se especifica la propiedad que deben cumplir los elementos del conjunto.

    • {x N |x es par} = {x = 2n|n N }; N es el conjunto de los números naturales.

  • Definición recursiva: el concepto se define en términos de si mismo.

    • Regla base: define el concepto para casos sencillos.

    • Regla recursiva: define el concepto para casos más complejos a partir de los casos ya definidos.


Ejemplos de recursividad

  • Definición recursiva de factorial

    • Regla base: 0! = 1

    • Regla recursiva: n! = n(n-1)!

  • Definición recursiva de expresión aritmética

    • Regla base:Una constante es una expresión aritmética.Una variable es una expresión aritmética.

    • Regla recursiva: si E1 y E2 son expresiones aritméticas, entonces también lo son:E1+E2, E1-E2, E1*E2, E1/E2, -E1.


Demostraciones

  • Deductivas. Consiste de una sucesión de enunciados obtenidos uno tras otro utilizando algún principio lógico aceptado, que nos lleva de una hipótesis a una conclusión.

    • Si nes un entero impar entonces n2 también es impar.

    • Si nes un entero par entonces n2 también es par.

  • Contradicción o reducción al absurdo. La proposición “Si P entonces Q” se puede probar probando que P y Q implican algo falso (contradicción o absurdo).

    • Si n2 es impar entonces n también es impar.

    • Si n2 es par entonces n también es par.

      Resumiendo:n2 es impar si y solo si n es impar.Equivalentementen2 es par si y solo si n es par.

  • Recíproco

    • “Si P entonces Q” es equivalente a “Si Q entonces P” Decir “Si tengo dinero entonces voy al cine” es equivalente a decir “Si no voy al cine entonces no tengo dinero”


Inducción matemática

  • Ejemplo:20 + 21 + 22 + ... + 2n = 2n+1 1

  • Inducción matemática: sea P(n) una proposición que depende de un número natural n. La prueba por inducción matemática nos permite demostrar que esta proposición es válida para cualquier número natural a partir de cierto número inicial n0 que por lo general es n0 = 1. Consta de dos pasos:

    • Paso Base: demostrar la proposición para el número inicial n0 .

    • Paso inductivo: suponiendo que la proposición es verdad paran = k, demostrar que también es verdad para n = k + 1

  • Ejemplos

    • Demostrar 1 + 2 + 3 + ... + n = n(n+1)/2

    • Demostrar n! > 2n para n 4.


Se requieren los dos pasos

  • Si sólo se cumple el paso 1:

    • 2n = 2 para cualquier natural n.Este enunciado es verdad para n =1, pero no se puede demostrar el paso 2, es decir, no se puede obtener 2k = 2 a partir de 2k+1 = 2. Por lo tanto no se puede concluir la veracidad del enunciado.

  • Si sólo se cumple el paso 2:

    • n > n + 1 para cualquier natural n.Partiendo k > k + 1 se puede demostrar (k + 1) > (k + 1) + 1 Sin embargo, no se puede concluir la veracidad del enunciado porque no se puede demostrar el paso base, es decir, que el enunciado es verdad para el primer natural.


Número de funciones sobre

  • Sean A y B dos conjuntos finitos con cardinalidades m y n, respectivamente. Entonces el número de funciones sobre de A a B es:


ad
  • Login