Lenguajes Formales 1995

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 19

Lenguajes formales

clase Lógica matemática


Docente Ernesto esmeral

Por Alfredo Marquez

Unicosta
2022 2
¿Qué son los
lenguajes formales?
• Un lenguaje formal es un conjunto finito o infinito de
cadenas finitas de símbolos primitivos.
Ejemplo
Un ejemplo de ello son el lenguaje de los números
0,1,2,3,4,5,6,7,8,9
• Un lenguaje formal L es el conjunto de cadenas de
caracteres que pueden ser formados a partir de letras
tomadas de un alfabeto Σ, y que obedecen unas reglas
gramaticales determinadas, una gramática formal. El
número de cadenas que pueden formarse a partir de un
cierto alfabeto es, en principio, infinito. Y el conjunto de
todas ellas se denomina clausura de Kleene Σ*.
características
• Dichas cadenas están formadas gracias a un alfabeto
y a una gramática que están formalmente
especificados
• El alfabeto es un conjunto finito no vacío de símbolos
• La gramática es un conjunto finito de reglas para
formar cadenas finitas juntando símbolos del
alfabeto
• A cada cadena de símbolos de un lenguaje formal se
le llama fórmula bien formada (o palabra) del
lenguaje
¿En que se diferencian de
los lenguajes naturales?
• El Lenguaje Natural se utiliza a diario como medio de
comunicación entre humanos. El castellano, el inglés o el
francés son ejemplos de lenguaje natural (lenguas). Poseen una
sintaxis y una gramática, y cumplen con los principios de
economía y optimización, a pesar de que contienen muchas
ambigüedades.
• Por el contrario, los Lenguajes Formales se utilizan para
transferir información, sin dejar lugar a ambigüedades. Algunos
ejemplos de lenguajes formales son las matemáticas, XML, SQL
y PHP.
¿Cuál es la • La importancia abarca por ser tener los fundamentos
importancia de teóricos matemático el la estructuración y desarrollo
del lenguaje de programación
los lenguajes
formales? En
• Las principales aplicaciones de los lenguajes formales
son en el campo de la informática, la lógica y la
matemática. En informática, los lenguajes formales
dónde se constituyen la base para la definición de los lenguajes
de programación.
emplean?
Son ejemplos de lenguajes formales:
Informática: El siguiente es un ejemplo de cadena de
caracteres del lenguaje de programación C.char str[12]=
“bienvenidos”;donde char es la variable de caracteres y
str de cadena. La cadena de caracteres es bienvenidos.
ejemplos de Lógica: Las siguientes combinaciones de símbolos
lenguajes expresan tipos de enunciados: p∧q significa “p y q”,
donde p y q son dos proposiciones.

formales. ∽ (r ∧ p) → q
significa “si r y p, entonces q”, donde r, p y q son
proposiciones.
• Matemática: El teorema de Pitágoras afirma
que “en todo triángulo rectángulo, el
cuadrado de la hipotenusa es igual a la suma
de los cuadrados de los catetos”. Esta
afirmación se puede expresar
matemáticamente mediante la siguiente
ecuación:
a2 + b2 = c2
donde a y b son la medida de los catetos y c la
medida de la hipotenusa
Cuál fue el • En cuanto a la relación de Chomsky proviene
aporte de de sus importantes aportaciones a la teoría
de autómatas y al estudio de los lenguajes
Noam formales. Dichas aportaciones han resultado
en elementos indispensables para la
Chomsky a construcción de compiladores y traductores
los que puedan servir de intérpretes válidos
entre las órdenes que dan los seres humanos
Lenguajes y su correcta recepción y aplicación por
máquinas automáticas.
Formales?
• La jerarquía de Chomsky, que estableció en 1956
en su obra "Three models for the description of
language" se convirtió en un concepto central en
informática. Así, los lenguajes formales (que no
admiten excepciones a las reglas) se dividen en
cuatro niveles Jerarquía de Chomsky(tres en el
estudio original), que son:

• Lenguajes regulares.
• Lenguajes libres del contexto.
• Lenguajes sensibles al contexto.
• Lenguajes recursiva
diferentes tipos de gramáticas
que se pueden utilizar en los
lenguajes formales
• Según la jerarquía de Chomsky clasifica los
diferentes tipos de gramáticas que se usan en los
lenguajes formales
La Jerarquía de Chomsky consta de cuatro niveles:
• Gramáticas de tipo 0 (sin restricciones), que incluye
a todas las gramáticas formales. Estas gramáticas
generan todos los lenguajes capaces de ser
reconocidos por una máquina de Turing. Los
lenguajes son conocidos como lenguajes
recursivamente enumerables
• Gramáticas de tipo 1 (gramáticas sensibles al
contexto) generan los lenguajes sensibles al contexto.
Estas gramáticas tienen reglas de la forma
• Gramáticas de tipo 2 (gramáticas libres del contexto)
generan los lenguajes independientes d el contexto.
Las reglas son de la forma un no terminal una
cadena de terminales y no terminales. Estos
lenguajes son aquellos que pueden ser reconocidos
por un autómata con pila.
• Gramáticas de tipo 3 (gramáticas regulares) generan
los lenguajes regulares. Estas gramáticas se
restringen a aquellas reglas que tienen en la parte
izquierda un no terminal, y en la parte derecha un
solo terminal, posiblemente seguido de un no
terminal. La regla también está permitida si no
aparece en la parte derecha de ninguna regla. Estos
lenguajes son aquellos que pueden ser aceptados por
un autómata finito
• El lema de bombeo es útil para demostrar que un
determinado lenguaje no es regular ( no se puede decir
nada si se cumple el lema de Bombeo). Para ello hay que
probar que no se verifica el lema de bombeo; es decir :

Lema de • Si no se cumple el Lema ⇒ el lenguaje No es Regular.


• Si se cumple el Lema ⇒ no podemos decir que el Lenguaje

Bombeo
es Regular sólo que No es Regular, ya que el lema es una
condición necesaria para que un lenguaje sea regular pero
no suficiente.
• Para demostrar que un lenguaje es Regular (vemos que
cumple Lema de Bombeo) como no es condición suficiente
para afirmar que es regular entonces buscamos el AFD o
Expresión Regular o Gramática Regular que si lo demuestran
en realidad.
homomorfismo

•Sígnica que dos sistemas tienen una parte de


su estructura igual.
•Este concepto de homomorsmo se aplica en
contraposición a Isomorsmo, cuando el modelo
del sistema ya no
•es similar, sino una representación donde se
ha efectuado
•una reducción de muchas a una
•un homomorfismo (o simplemente morsmo)
desde un objeto matemático a otro
•de la misma categoría, es una función que es
compatible con toda la estructura relevante
¿Qué es un lenguaje regular?

Al lenguaje generado por medio de una gramática regular. Son aquellos lenguajes
cuyas cadenas está formadas por la concatenación de símbolos, en las cuales no
hay relación entre una parte de la cadena y otra parte de la cadena.

Vemos que una gramática regular o de tipo 3 es aquella gramática donde las
reglas de producción siguen la siguiente estructura: A→ uB o A→ u donde u∈ T*
y A,B∈ V

OBJETIVO: Encontrar reconocedores para los lenguajes regulares. Estos


reconocedores se denominan AUTÓMATAS FINITOS
¿Qué son las expresiones regulares?

Las expresiones regulares son


es una secuencia de caracteres que patrones utilizados para encontrar
conforma un patrón de búsqueda. una determinada combinación de
Se utilizan principalmente para la caracteres dentro de una cadena de
búsqueda de patrones de cadenas texto. Las expresiones regulares
de caracteres u operaciones de proporcionan una manera muy
sustituciones. flexible de buscar o reconocer
cadenas de texto
Qué es un autómata?

• Un autómata es un modelo matemático


para una máquina de estado finito, en el
que dada una entrada de símbolos, «salta»
mediante una serie de estados de acuerdo
a una función de transición (que puede ser
expresada como una tabla). Esta función de
transición indica a qué estado cambiar
dados el estado actual y el símbolo leído

Ejemplo de analizador léxico de la palabra CODING


Estas posiciones corresponden con los prefijos de la palabra, desde la cadena de caracteres vacía (es
decir, cuando no contiene ningún carácter) hasta la palabra completa.
Qué es un Autómata Finito?

• Un autómata finito tiene un conjunto de


estados, y su “control” se mueve de estado en
estado, en respuesta a “entradas” externas. Los
autómatas finitos se dividen en diversas clases,
dependiendo de si su control es “determinista”
(lo que significa que el autómata no puede estar
en más de un estado simultáneamente) o “no
determinista” (lo que significa que puede estar
en varios estados al mismo tiempo)
bibliografia
• https://blogs.elpais.com/turing/2012/11/noam-chomsky-la-linguistica-la-informatica-y-el-activismo.html#:~:te
xt=El%20propio%20Chomsky%20realiz%C3%B3%20la,no%20imaginado%20originalmente%20por%20Turing
.
• https://concepto.de/lenguajes-formales/#:~:text=Las%20principales%20aplicaciones%20de%20los,
de%20los%20lenguajes%20de%20programaci%C3%B3n
.
• https://codingornot.com/que-es-un-automata
• https://programas.cuaed.unam.mx/repositorio/moodle/pluginfile.php/1163/mod_resource/conte
nt/1/contenido/index.html
• https://es.wikipedia.org/wiki/Lenguaje_regular
• https://blogs.elpais.com/turing/2012/11/noam-chomsky-la-linguistica-la-informatica-y-el-activism
o.html#:~:text=El%20propio%20Chomsky%20realiz%C3%B3%20la,no%20imaginado%20originalme
nte%20por%20Turing
.
• https://lamaquinaoraculo.com/humanidades/la-jerarquia-de-chomsky/

También podría gustarte