Gramticas Formales Cadenas y Lenguajes Sistema Formal David

  • Slides: 11
Download presentation
Gramáticas Formales Cadenas y Lenguajes

Gramáticas Formales Cadenas y Lenguajes

Sistema Formal – David Hilbert… • Lenguaje formal: fórmulas escritas; • Axiomas: subconjunto de

Sistema Formal – David Hilbert… • Lenguaje formal: fórmulas escritas; • Axiomas: subconjunto de estas fórmulas que son válidas. • Teoremas: Un conjunto de reglas de inferencia que permite la derivación de nuevas fórmulas válidas.

Modelos de computabilidad • Sistemas formales… los símbolos se despojan de significado y se

Modelos de computabilidad • Sistemas formales… los símbolos se despojan de significado y se trabaja exclusivamente con la sintaxis. • Se buscan procedimientos mecánicos para resolver problemas … algoritmos. • Modelos de computabilidad … sistemas formales y la mecanización de procesos de solución.

Aportaciones a los Modelos • • Godel (1931) Funciones recursivas primitivas. Herramienta fundamental para

Aportaciones a los Modelos • • Godel (1931) Funciones recursivas primitivas. Herramienta fundamental para estudiar computabilidad; mecanismo inductivo para la definición de funciones. Hedrbrand (1931) Funciones recursivas generales. Introducción de la minimalidad en las funciones recursivas primitivas extendiéndolas a funciones primitivas parciales. Kleene (1936). Funciones recursivas parciales. Lógica ecuacional y manejo de cuantificadores mecanismo ecuacional con cuantificadores en lógica. Alonzo Church (1936) Cálculo lambda. Relaciona el trabajo de Godel y Kleene, con definiciones inductivas restringidas; inspiración de lenguajes como LISP. • • • Alan Turing (1936) Máquina de Turing. Herramienta estándar para complejidad; modelo mecanicista de solución de problemas. Emile Post (1943) Sistemas de Post. Mecanismos deductivos; modelos de algoritmos, desarrollados con gramáticas. A. A. Markov (1954) Cadenas de Markov. Modelo de algoritmos; similar a las gramáticas formales. Noam Chomsky (1958) Jerarquía de Chomsky. Modelo de lenguajes y jerarquización de los mismos; utilizado para gramáticas formales. Shepherdson y Sturgis (1963). Máquinas de acceso directo. Modelo explícito de computadoras modernas; utilizado en complejidad, para medir pasos elementales.

Cadenas y Lenguajes • Interesan problemas de decisión. Un problema de decidibilidad es una

Cadenas y Lenguajes • Interesan problemas de decisión. Un problema de decidibilidad es una función que produce como resultado "sí" o "no". • Se refieren a la pertenencia de un elemento a un conjunto, si un objeto tiene o no una determinada propiedad, si un conjunto puede o no particionarse en clases de equivalencia, etc.

Cadenas y Lenguajes • Cuando decimos que un problema es decidible, quiere decir que

Cadenas y Lenguajes • Cuando decimos que un problema es decidible, quiere decir que podemos describir a todos los posibles argumentos a la función, y podemos especificar también el subconjunto de entradas para las que la función responderá afirmativamente. • Las entradas son cadenas de símbolos.

Definición 1 • Un símbolo es un objeto indivisible. • Vamos a utilizar para

Definición 1 • Un símbolo es un objeto indivisible. • Vamos a utilizar para representar a los símbolos las letras minúsculas al frente del alfabeto (a, b, c) y los dígitos (0. . . 9).

Definición 2 • Un alfabeto es un conjunto de símbolos, que puede ser finito

Definición 2 • Un alfabeto es un conjunto de símbolos, que puede ser finito o infinito. En general se usa la letra griega Σ. También se utilizan las letras mayúsculas hacia el final del alfabeto (V, X, Y, Z).

Definición 3 • Una cadena (palabra, frase) es una sucesión finita de símbolos, tomados

Definición 3 • Una cadena (palabra, frase) es una sucesión finita de símbolos, tomados éstos de un alfabeto también finito. Se utilizan las letras minúsculas hacia el final del alfabeto para denotar cadenas (x, y, w, . . . ).

Conclusión • Decimos que x es una cadena sobre Σ si x está formada

Conclusión • Decimos que x es una cadena sobre Σ si x está formada con símbolos tomados del alfabeto Σ. • Sea x = a 1, a 2, a 3. . . an una cadena sobre Σ tal que ai Є Σ, i = 1, . , n. La longitud de x es n, el número de símbolos en x y lo denotamos con |x| = n ↔ x = a 1, a 2, a 3. . . an, ai Є Σ, i = 1, . , n

Ejemplos • Sea Σ = {0, 1} y x = 0011001. x es una

Ejemplos • Sea Σ = {0, 1} y x = 0011001. x es una cadena sobre Σ de longitud 7. • Sea Σ = {a, b, c} y x = acb. x es una cadena sobre Σ de longitud 3.