Automatas
Automatas
Automatas
INAOE
Propedéutico 2020
1 / 53
Introducción
¿Por qué estudiar Autómatas?
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Capítulo 1
Introducción
Autómatas
2 / 53
Introducción
¿Por qué estudiar Autómatas?
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Libro de texto
John E. Hopcroft et al., “Introduction to Automata Theory,
Languajes, and Computation”, segunda edición, Addison
Wesley
3 / 53
Introducción
¿Por qué estudiar Autómatas?
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
1 Introducción
Motivación
2 ¿Por qué estudiar Autómatas?
Introducción a los Autómatas Finitos
Representaciones Estructurales
3 Introducción a las Demostraciones Formales
Condiciones Necesarias y Su…cientes
Tipos de Demostraciones
4 Los Conceptos Centrales de la Teoría de Autómatas
Alfabetos
Cadenas
Lenguajes
Problemas
4 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
5 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
6 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
7 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
8 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
9 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
10 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
11 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
12 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
13 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
14 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
15 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
16 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
17 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
18 / 53
Introducción
¿Por qué estudiar Autómatas?
Motivación
Introducción a las Demostraciones Formales
Los Conceptos Centrales de la Teoría de Autómatas
Motivación
19 / 53
Introducción
¿Por qué estudiar Autómatas? Introducción a los Autómatas Finitos
Introducción a las Demostraciones Formales Representaciones Estructurales
Los Conceptos Centrales de la Teoría de Autómatas
20 / 53
Introducción
¿Por qué estudiar Autómatas? Introducción a los Autómatas Finitos
Introducción a las Demostraciones Formales Representaciones Estructurales
Los Conceptos Centrales de la Teoría de Autómatas
21 / 53
Introducción
¿Por qué estudiar Autómatas? Introducción a los Autómatas Finitos
Introducción a las Demostraciones Formales Representaciones Estructurales
Los Conceptos Centrales de la Teoría de Autómatas
22 / 53
Introducción
¿Por qué estudiar Autómatas? Introducción a los Autómatas Finitos
Introducción a las Demostraciones Formales Representaciones Estructurales
Los Conceptos Centrales de la Teoría de Autómatas
23 / 53
Introducción
¿Por qué estudiar Autómatas? Introducción a los Autómatas Finitos
Introducción a las Demostraciones Formales Representaciones Estructurales
Los Conceptos Centrales de la Teoría de Autómatas
24 / 53
Introducción
¿Por qué estudiar Autómatas? Introducción a los Autómatas Finitos
Introducción a las Demostraciones Formales Representaciones Estructurales
Los Conceptos Centrales de la Teoría de Autómatas
25 / 53
Introducción
¿Por qué estudiar Autómatas? Introducción a los Autómatas Finitos
Introducción a las Demostraciones Formales Representaciones Estructurales
Los Conceptos Centrales de la Teoría de Autómatas
26 / 53
Introducción
¿Por qué estudiar Autómatas? Introducción a los Autómatas Finitos
Introducción a las Demostraciones Formales Representaciones Estructurales
Los Conceptos Centrales de la Teoría de Autómatas
27 / 53
Introducción
¿Por qué estudiar Autómatas? Condiciones Necesarias y Su…cientes
Introducción a las Demostraciones Formales Tipos de Demostraciones
Los Conceptos Centrales de la Teoría de Autómatas
Condiciones Su…cientes
Examples (Su…ciencia)
Si llueve mi patio se moja (A ) B ).Es su…ciente que llueva para
que mi patio se moje, pero no es necesario que llueva para que mi
patio se moje.
Examples (Su…ciencia)
Un elefante es un animal (A ) B ). Es su…ciente ser elefante para
ser un animal, pero no es necesario ser elefante para ser un animal.
28 / 53
Introducción
¿Por qué estudiar Autómatas? Condiciones Necesarias y Su…cientes
Introducción a las Demostraciones Formales Tipos de Demostraciones
Los Conceptos Centrales de la Teoría de Autómatas
Condiciones Necesarias
Example (Necesidad)
Nací en México ; nací en Hermosillo. Sin embargo, si nací en
Hermosillo ) nací en México (A ( B ).
29 / 53
Introducción
¿Por qué estudiar Autómatas? Condiciones Necesarias y Su…cientes
Introducción a las Demostraciones Formales Tipos de Demostraciones
Los Conceptos Centrales de la Teoría de Autómatas
A,B
30 / 53
Introducción
¿Por qué estudiar Autómatas? Condiciones Necesarias y Su…cientes
Introducción a las Demostraciones Formales Tipos de Demostraciones
Los Conceptos Centrales de la Teoría de Autómatas
Tipos de Demostraciones
1 Deductivas
2 Relacionados a conjuntos
3 Contrapositiva
4 Por contradicción
5 Por contrajemplos
6 Inductivas (objetos de…nidos recursivamente)
31 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Alfabetos
Un alfabeto
32 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Alfabetos
Un alfabeto
Ejemplos
33 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Cadenas
Una cadena w es una sucesión …nita de símbolos de algún
alfabeto Σ
w = a1 a2 ai , ak 2 Σ k = 1, 2, . . . , i
34 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Cadenas
Una cadena w es una sucesión …nita de símbolos de algún
alfabeto Σ
w = a1 a2 ai , ak 2 Σ k = 1, 2, . . . , i
Ejemplo, la cadena 01011 es una cadena del alfabeto
Σ = f0, 1g
35 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Cadenas
Una cadena w es una sucesión …nita de símbolos de algún
alfabeto Σ
w = a1 a2 ai , ak 2 Σ k = 1, 2, . . . , i
Ejemplo, la cadena 01011 es una cadena del alfabeto
Σ = f0, 1g
La cadena vacía e es la cadena con cero ocurrencias de
símbolos de Σ.
36 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Cadenas
Una cadena w es una sucesión …nita de símbolos de algún
alfabeto Σ
w = a1 a2 ai , ak 2 Σ k = 1, 2, . . . , i
Ejemplo, la cadena 01011 es una cadena del alfabeto
Σ = f0, 1g
La cadena vacía e es la cadena con cero ocurrencias de
símbolos de Σ.
La longitud de una cadena w = a1 a2 ai es el número de
posiciones de los símbolos de la cadena
jw j = i
37 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Cadenas
Una cadena w es una sucesión …nita de símbolos de algún
alfabeto Σ
w = a1 a2 ai , ak 2 Σ k = 1, 2, . . . , i
Ejemplo, la cadena 01011 es una cadena del alfabeto
Σ = f0, 1g
La cadena vacía e es la cadena con cero ocurrencias de
símbolos de Σ.
La longitud de una cadena w = a1 a2 ai es el número de
posiciones de los símbolos de la cadena
jw j = i
Ejemplo
jabcde j = 5, jej = 0
38 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Potencias de un alfabeto
Σk = fw jw es una cadena de Σ y jw j = k g , k 0
39 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Potencias de un alfabeto
Σk = fw jw es una cadena de Σ y jw j = k g , k 0
40 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Potencias de un alfabeto
Σk = fw jw es una cadena de Σ y jw j = k g , k 0
Σ1 = f0, 1g,
Σ2 = f00, 01, 10, 11g,
Σ3 = f000, 001, 010, 011, 100, 101, 110, 111g
41 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Preguntas
Preguntas
1 ¿Cuántas cadenas hay en Σ4 ?
2 ¿Cuál es la diferencia entre Σ y Σ1 ?
42 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Σ = fw jw es cadena de Σg ,
= Σ0 [ Σ1 [ Σ2 [ Σ3 [
43 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Σ = fw jw es cadena de Σg ,
= Σ0 [ Σ1 [ Σ2 [ Σ3 [
Ejemplo
44 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Cadenas no vacías
45 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Concatenación de cadenas
xy = a1 a2 a i b1 b2 bj ,
46 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Concatenación de cadenas
xy = a1 a2 a i b1 b2 bj ,
jxy j = i + j
47 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Concatenación de cadenas
xy = a1 a2 a i b1 b2 bj ,
jxy j = i + j
48 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Concatenación de cadenas
xy = a1 a2 a i b1 b2 bj ,
jxy j = i + j
x e = ex = x
49 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Lenguajes
De…nition
Sea Σ un alfabeto y L Σ diremos entonces que L es un lenguaje
de Σ.
Examples
Ejemplos de lenguajes
1 El conjunto de palabras (aceptadas) del español
2 El conjunto de todos los programas (correctos) de C
3 El el lenguaje de todas las cadenas que consisten de n 0’s
seguidos por n 1’s para alguna n 0
50 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Examples
Ejemplos de lenguajes
1 El lenguaje de todas las cadenas 0’s y n 1’s con igual número
de cada uno
51 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
Examples
1 φ, el lenguaje vacío, es un lenguaje de cualquier alfabeto Σ.
2 feg, el lenguaje que consiste únicamente de la cadena vacía,
es un lenguaje de cualquier alfabeto Σ.
3 Observación φ 6= feg .
52 / 53
Introducción Alfabetos
¿Por qué estudiar Autómatas? Cadenas
Introducción a las Demostraciones Formales Lenguajes
Los Conceptos Centrales de la Teoría de Autómatas Problemas
De…nition
Sea Σ un alfabeto y L un lenguaje de Σ.El problema L es:
Dado una cadena w 2 Σ decidir si w 2 L ó w 2
/ L.
Examples
Dado una cadena w de 0’s y 1’s averiguar si w 2 Lp o w 2
/ Lp
53 / 53