Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
La pregunta del millón, para comenzar
2
La teorı́a de la computación
3
Problema preliminar
• 2+2=4
• 20 − 40 > 0
• 1 + 1 = 11
4
Solución: un autómata finito
0..9 +,–
1 2 3
0..9 0..9
0..9 4
=, <, >
0..9
5 6
0..9
5
Qué es la teorı́a de autómatas y lenguajes formales?
6
Los lenguajes formales: definiciones, ejemplos
7
Los lenguajes formales (cont.)
8
Recordemos la materia de lenguaje
sujeto predicado
sujeto predicado
juega en el patio
9
El ejemplo completo.
sujeto predicado
el patio.
10
La gramática.
11
Aplicación de la gramática anterior.
12
Gramática: definición formal.
13
Lenguajes: definiciones.
14
Arbol de derivación
s b
s b
s b
15
Autómata finito: definición
16
Lenguajes regulares
17
Gramáticas ambiguas
s + s
s + s a
a a
s
s + s
a s + s
a a
18
Problemas con las gramáticas ambiguas
19
Autómatas finitos no deterministas
Consideremos la gramática
<numero>→<entero>|<decimal>
<entero>→<entero> <digito>|<digito>
<digito>→1|0
<decimal>→<entero> . <entero>
Uno podrı́a pensar a partir de esa gramática en el siguiente autómata
2
0,1
0,1
1 3 4 5
0,1 · 0,1
0,1 0,1
20
AFND: definiciones
Es decir que la diferencia entre los AFD y los AFND es que en vez
de una función de transición hay una relación de transición.
Teorema: Un lenguaje es reconocido por un AFD si y sólo si es
reconocido por un AFND.
Es decir que el no-determinismo en este caso no aporta un mayor
“poder de cálculo”. Podemos decir entonces que un lenguaje es
regular si es aceptado por un AFD o por un AFND (cualquiera de
los dos).
21
Autómatas con pila
1 2 3 4
λ,λ;# b,a;λ λ,#,λ
a,λ;a b,a;λ
22
Solución del problema anterior.
a s b
a s b
a b
23
Ejecución del autómata de pila del ejemplo
24
Ejecución del autómata (cont.)
25
Autómatas con pila: definición formal
26
Máquina de Turing, la idea general
Ahora tendremos:
27
Máquina de Turing, la cinta
28
Máquina de Turing, transiciones
29
Máquina de Turing, un ejemplo
qA
#,#,→
0,0,← 1,1,←
1 Par Imp 0,0,←
1,1,← 1,1,←
0,0,← #,#,→
qR
30
Importancia de las máquinas de Turing
31
Jerarquı́a de Chomsky
Lenguajes decidibles.
Reconocidos por: Máquinas de Turing.
Lenguajes regulares.
Reconocidos por: Autómatas finitos.
32