SlideShare una empresa de Scribd logo
Alfabetos, palabras, Lenguajes y
autómatas.
Clase # 2 – Compiladores e
Interpretes
Luis Ochoa
ziul1979@gmail.com
Repaso General
• Conjuntos: Un conjunto como se puede ver a grandes rasgos
como una colección de individuos u objetos . Los conjuntos se
pueden expresar de dos maneras:
En extensión, lo cual quiere decir que citamos
explícitamente cada uno de sus elementos, como en
el conjunto {1, 3, 5} que contiene exactamente los
números 1, 3 y 5.números 1, 3 y 5.
En intención, dando una descripción precisa de
los elementos que forman parte del conjunto, en
vez de citarlos explícitamente. Por ejemplo, el
conjunto del punto anterior puede ser visto como:
{i Є N | impar(i), i < 6}
donde se supone que los números impares
cumplen la condición impar(i).
La notación a Є B
significa que a es
elemento o está
contenido en el
conjunto B; por
Ejemplo:
{2, 3} Є {1, {2, 3}, 4}
Para indicar que a no
está en B se escribe
a Є B.
La notación a Є B
significa que a es
elemento o está
contenido en el
conjunto B; por
Ejemplo:
{2, 3} Є {1, {2, 3}, 4}
Para indicar que a no
está en B se escribe
a Є B.
• El tamaño de un conjunto es el número de elementos que contiene,
y se representa como |A| para un conjunto A. Por ejemplo, el
tamaño de {a, b, c} es 3, y el tamaño del conjunto vació es cero.
Aunque existen conjuntos con tamaños no muy claros.
• Dos conjuntos A y B son iguales, A = B, si y sólo si tienen los mismos
elementos, esto es, x Є A si x Є B. Por ejemplo {1, {2, 3}} = {{3,
2}, 1} vemos que en los conjuntos el orden de los elementos es
irrelevante.
Repaso General
irrelevante.
• Se supone que en los conjuntos no hay repeticiones de elementos, y
que cada elemento del conjunto es distinto de todos los otros
elementos.
• La notación A C B significa que el conjunto A está “contenido” en el
conjunto B, o más técnicamente, que A es subconjunto de B. Por
ejemplo, el conjunto {a, c} es subconjunto de {a, b, c}, indicado
como {a, c} C {a, b, c}. En otras palabras, A C B cuando siempre
que x Є A, tenemos también x Є B. Obsérvese que de acuerdo con
esta definición, A Є A para cualquier conjunto A: todo conjunto es
subconjunto de sí mismo.
• Para indicar que un subconjunto contiene menos elementos que otro, es
decir, que es un subconjunto propio de éste, se escribe A C B. Por
ejemplo, {a, c} C {a, b, c}. Claramente, A = B si A C B y B C A.
Obsérvese también que si A C B, entonces |A| ≤ |B|, y si A C B,
entonces |A| < |B|.
• Operaciones con conjuntos:
▫ Unión: A U B contiene los elementos del conjunto A y también los
del conjunto B, es decir, {x | x Є A o x Є B}. La unión de conjuntos es
conmutativa.
▫ Intersección: A ∩ B contiene los elementos que pertenecen
Repaso General
▫ Intersección: A ∩ B contiene los elementos que pertenecen
simultáneamente al conjunto A y al conjunto B, es decir, A ∩ B = {x |
x Є A y x Є B}. Por ejemplo, {1, 2, 3} ∩ {3, 4} = {3}.Es conmutativa y
asociativa.
▫ Complemento: Dado un universo (ejemplo números naturales),
contiene entonces el complemento del conjunto contiene los
elementos del universo que no están en el conjunto. Ejemplo:
U=números naturales A= {2,4,6…} Ac = {1,3,5…}
▫ Producto Cartesiano: de dos conjuntos, A × B, es el conjunto de
pares ordenados (a, b) tales que a Є A y Є 2 B. Por ejemplo,
{1, 2} × {3, 4, 5} = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)}
El tamaño de A×B es |A| multiplicado por |B|.
• Se llama relación a todo subconjunto de un producto
cartesiano; por ejemplo la relación ≤ contiene los pares de
números naturales tales que el primer componente es menor
o igual al segundo, esto es, ≤ = {(1, 1), (1, 2), (1, 3), (2, 3), . . .}
o relación “x es padre de y”, siendo “x” y “y” conjuntos de
personas.
• Un caso particular de las relaciones son las funciones, que
Repaso General
• Un caso particular de las relaciones son las funciones, que
son relaciones en que no hay dos pares ordenados que tengan
el mismo primer componente. Es decir, los pares ordenados
asocian a cada primer componente un único segundo
componente. Por ejemplo, la relación {(1, 2), (2, 3), (1, 3)} no
es una función, pero {(1, 2), (2, 3), (3, 3)} sí lo es. Tomando
como ejemplo las familias, la relación de hermanos no es una
función, pero la relación de cada quien con su padre sí lo es
(cada quien tiene a lo más un padre).
• Además de los conjuntos “finitos” ( con un
número de elementos determinado ) también
puede haber conjuntos infinitos, cuyo tamaño no
puede expresarse con un número; un ejemplo es
el conjunto de los números naturales N = {1, 2,
Repaso General
el conjunto de los números naturales N = {1, 2,
3, . . .}. Aún a estos conjuntos pueden aplicarse
todas las operaciones antes descritas.
Conceptos
Alfabeto: Conjunto finito y no vació cuyos
elementos se denominan símbolos. Se designa
normalmente con las letras: Σ o Γ
Ejemplos:Ejemplos:
{0,1}
{a,b,c…,x,y,z}
{0,1,2,3,4,5,6,7,8,9}
{a,b}
Conceptos
Palabra: es una secuencia finita de símbolos de un alfabeto,
las mismas se pueden crear especificando un alfabeto
determinado.
Ejemplos:
Si el alfabeto es {a,b}:Si el alfabeto es {a,b}:
aba, bab, a, b, bbbbabababababababababababababbaba
Si el alfabeto {0,1}:
0,1,01,11,10,…
Existe una palabra especial que representa una secuencia vacía
de símbolos, y a menudo se llama la palabra vacía, y se
representa con la letra griega λ
Subpalabras, prefijos y sufijos
• Subpalabras: subsecuencias de símbolos consecutivos de una
palabra, a menudo se usan las palabras factor o infijo.
Ejemplo:
La palabra bba contiene las siguientes subpalabras:
{λ,a,b,bb,ba,bba}
es importante las palabras en negritas son también consideradas subpalabras
impropias, las demás son subpalabras propias.
• Prefijos: subpalabras al principio de una palabra.• Prefijos: subpalabras al principio de una palabra.
• Sufijos: subpalabras al final de una palabra.
▫ Nota: La palabra vacía y entera se consideran sufijos y prefijos de cualquier
palabra.
Ejemplo:
▫ Los prefijos de la palabra bbaab son {λ,b,bb,bba,bbaa,bbaab} se observan
los prefijos propios en azul
▫ Los sufijos son {λ,b,ab,aab,baab,bbaab} se observan los sufijos propios en
azul
Lenguaje
• Se considera un lenguaje como un conjunto de palabras
sobre un alfabeto determinado.
• Para designarlo normalmente se usa la letra L, con
subíndices, si es necesario, y otras letras mayúsculas del
alfabeto latino.
Ejemplos sobre el alfabeto Σ={a,b}:
L1={a,aa,aaa,aaaa}
L2={a,b,aa,ab,ba,bb}
L3={aabb} con una sola palabra
L4={λ}
L5={}=ø
Pueden ser infinitos como:
▫ El lenguaje sobre Σ={a,b} de todas las palabras que tengan
tantas letras a como letras b.
▫ El lenguaje de todas las palabras sobre Σ={a,b,c}
Concatenación: construir una palabra nueva añadiéndole los símbolos
de la segunda tras los símbolos de la primera. Se representa con un punto
(●) normalmente, a veces si no es necesario se omite. Ejemplo:
aaa ● bbb = aaabbb
aba ● λ = aba
Operaciones sobre palabras
Propiedades:
No es conmutativa w1 ● w2 ≠ w2 ● w1
Es asociativa (w1 w2) w3 = w1 (w2 w3)
Tiene como elemento neutro la palabra vacía (λ).
Se puede representar la concatenación de una palabra consigo misma
usando la representación exponencial, ejemplo:
www = w3
ww = w2
w0 = λ
• La longitud: de una palabra se denota con |w| y representa el
número de símbolos de la misma. Ejemplo |101| = 3 | λ | = 0
• El numero de ocurrencias: de una palabra se denota con |w|x y
representa el numero de ocurrencias del símbolo x en la palabra w.
Ejemplo:
| ababb |a = 2
Operaciones sobre palabras
| ababb |a = 2
| aaab |c = 0
• La inversión de una palabra: consiste en escribir al revés una
palabra dada, y WR denota su inversa. Ejemplo (ab)R = ba
• Cuando una palabra es igual a su inversa se dice es un palíndromo.
Operaciones sobre lenguajes
Las operaciones conjuntistas:
• La unión (U).
• La intersección (∩).
• La complementación (c).
• La diferencia (-).• La diferencia (-).
Propiedades básicas:
▫ (Lc)c = L
▫ (L1 U L2)c = L1
c ∩ L2
c
▫ (L1 ∩ L2)c = L1
c U L2
c
▫ L1 - L2 = L1 ∩ L2
c
Operaciones sobre lenguajes
La Concatenación: la concatenación de dos lenguajes L1 y
L2, es otro lenguaje formado por todas las palabras que se
pueden construir concatenando una palabra de L1 con L2.
L1 ● L2 = { x ● y | x Є L1 ^ y Є L2 }
Propiedades:Propiedades:
No es conmutativa.
Es Asociativa.
El elemento neutro es la palabra vacía λ.
No es distributiva, L1(L2 ∩ L3) ≠ L1L2 ∩ L1L3
Se puede representar la concatenación de un lenguaje
consigo mismo usando la notación exponencial.
Se pueden concatenar lenguajes con palabras.
La inversión: no es mas que el lenguajes formado por los inversos de las
palabras de L, y se denota con LR
Clausura, Cierre o Estrella de Kleene:
Operaciones sobre lenguajes
Su concepto es simple: El mismo es la unión de {λ} con el conjunto de todas las
palabras que se pueden formar concatenando entre sí palabras de este mismo
lenguaje.
Por ejemplo si L={a,ba} entonces
L0={λ}
L1=L={a,ba}
L2={aa, aba, baa, baba}
…
Así L*=L0 U L1 U L2 U …
¿Si fuese L={b} o L={aa} como quedaría la clausura?
• Clausura, Cierre Positivo de Kleene:
Operaciones sobre lenguajes
Su concepto es simple: Es similar a L*, solo difiere en que no posee L0, a diferencia
de L* que si lo posee.
Por ejemplo si L={a,ba} entonces
L0={λ}
L1=L={a,ba}
L2={aa, aba, baa, baba}
…
Así L+=L1 U L2 U …
¿Si fuese L={b} o L={aa} como quedaría la clausura?
Cierres de un alfabeto: Σ* Σ+
• Dado que un alfabeto puede ser considerado un
lenguaje formado por palabras de un solo símbolo
(longitud 1), las operaciones de cierre de Kleene y
cierre positivo de Kleene también son aplicables a
los alfabetos.los alfabetos.
• Σ* : Conjunto de todas las palabras sobre Σ.
• Σ+ : Conjunto de todas las palabras sobre Σ de
longitud no nula.
Definición de Lenguaje
Para definir un lenguaje lo podemos hacer de dos
maneras, formal e informal:
Definición de Lenguaje
Autómatas finitos
• ¿Qué es un autómata finito?
• Autómatas finitos que reconocen lenguajes.
• Cómo hay que imaginarse un autómata finito.
Autómatas finitos
¿Que es un autómata finito?
Es un modelo matemático de los sistemas que posee las
siguientes características:
I. En cada momento el sistema se encuentra en un estado
y el conjunto total de estados en los que se puede
encontrar un sistema es finito.
II. Pueden responder a un número finito de
acontecimientos diferentes.
III. El estado en el que se encuentra el sistema resume toda
la información referente a todos los acontecimientos
pasados.
IV. La respuesta a un acontecimiento solo se determina en
función del acontecimiento y del estado en que se
encuentra el sistema.
Por ejemplo: Un interruptor mecánico biestable, un
ascensor, etc.
Autómatas finitos y los lenguajes
Aunque existen muchos usos para los autómatas
finitos, en nuestro caso particular, consideraremos
los autómatas finitos como:
Maquinas conceptuales reconocedoras de
lenguajeslenguajes
Y por lo tanto la tarea realizada por los mismos
será:
responder a la pregunta de si una palabra
pertenece a un lenguaje o no.
Como imaginamos un autómata finito, desde
nuestra perspectiva de reconocedores de
lenguajes:
• La forma más habitual de hacerlo consiste en
imaginar a los autómatas como máquinas que
constan de una unidad central con un cabezal
capaz de leer una cinta sobre la cual se han escrito,capaz de leer una cinta sobre la cual se han escrito,
de izquierda a derecha los símbolos de la palabra
que se intenta reconocer.
• Inicialmente esta unidad se encuentra en un
estado inicial denominado (qo), y el cabezal está
totalmente a la izquierda de la cinta, sin haber
leído todavía ninguno de los símbolos que
contiene.
Como imaginarse un autómata finito.
Autómata en estado inicial:
Como imaginarse un autómata finito.
Cuando se lee un símbolo y se cambia de estado se
denomina transición:
Representación Gráfica de los
Autómatas finitos
Esta es su representación más usada, y es la siguiente:
1. Los estados son círculos que llevan dentro el nombre que
los identifica.
2. El estado Inicial tendrá una pequeña flecha sobre este.2. El estado Inicial tendrá una pequeña flecha sobre este.
3. Los estados aceptadores se indicaran con una pequeña
cruz que sale de ellos.
4. Las posibles transiciones, en función de los símbolos
leídos, se indicaran con flechas que van de un estado al otro
(o a sí mismo). Las mismas estarán etiquetadas con el
símbolo que produce el cambio de estado.
Autómatas finitos – Conceptos Básicos.
Algunas otras cosas importantes a tener en cuenta son:
• Los estados del autómata están divididos en dos
categorías, los estados llamados aceptadores o
finales y los estados llamados no aceptadores.
• Cuando el estado en que se encuentra la maquina es
aceptador, significa que la palabra que va desde el
inicio de la cinta hasta el símbolo actual se reconoce
como perteneciente al lenguaje.
• Por el contrario, si al llegar al final de la palabra (y la
cinta) la máquina queda en un estado que no sea
aceptador, la palabra no pertenece al lenguaje.
Representación Gráfica de los
Autómatas finitos
Por ejemplo:
Procesamiento de una palabra por
parte de un autómata
Supongamos que en el autómata anterior se
procesa la palabra w=aabab:
1. Inicialmente se esta en el estado A.1. Inicialmente se esta en el estado A.
2. Cuando se lee el símbolo a se evoluciona hacia el
estado B.
3. Cuando se lee el segundo símbolo a, se
evoluciona de B hasta B.
4. Cuando se lee el símbolo b, se evoluciona de B
hacia D.
Procesamiento de una palabra por
parte de un autómata
5. Cuando se lee el símbolo a, se evoluciona desde
D hasta B.
6. Finalmente el autómata lee el último símbolo a,
y evoluciona desde B hacia D y debido a que ya
se proceso completamente la palabra y else proceso completamente la palabra y el
autómata que ubicado en un estado aceptador,
se puede decir que la palabra aabab ha sido
reconocida como perteneciente al lenguaje L.
Importante: No basta con que una palabra pase por
un estado aceptador para decir que el lenguaje la
acepto, ya que es necesario que el último estado sea
aceptador.
Autómatas finitos y algoritmos
Cualquier autómata finito se puede
representar como un algoritmo, en
el cual independientemente de la
longitud de la palabra de entrada, la
cantidad de memoria que debe
consumirse para realizar el
procesamiento es siempre la
misma.misma.
Su estructura básica es:
Ciclo
ejecución
autómata
Tipos de autómatas finitos
• Autómatas Finitos Determinista (DFA,
Deterministic Finite Automate).Deterministic Finite Automate).
• Autómatas Finitos No Determinista (NFA, Non-
Deterministic Finite Automate)

Más contenido relacionado

La actualidad más candente

Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
Omarzingm
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de Pila
Pablo Guerra
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Hugo Alberto Rivera Diaz
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
Jacqui Venegas
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacion
jorge severino
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
Rennytox Hernandez
 
Alfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasAlfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y Problemas
Raul
 
Noción de archivo real y virtual
Noción de archivo real y virtual Noción de archivo real y virtual
Noción de archivo real y virtual
Laura Guadalupe Rosado Hernández
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
Rosviannis Barreiro
 
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacionalFundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacional
José Antonio Sandoval Acosta
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
Brayhan Acosta
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
Francisco Gómez
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
Yorka Marisol Perez Feliz
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
José Antonio Sandoval Acosta
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
Alvaro Enrique Ruano
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
Jonathan Bastidas
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
ROSA IMELDA GARCIA CHI
 
Autómata de Pila
Autómata de Pila Autómata de Pila
Autómata de Pila
Edgar Jimenez
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Humano Terricola
 
Transacciones
TransaccionesTransacciones
Transacciones
Daniel Antonio Cruz
 

La actualidad más candente (20)

Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de Pila
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacion
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Alfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y ProblemasAlfabeto, Cadenas, Lenguajes, y Problemas
Alfabeto, Cadenas, Lenguajes, y Problemas
 
Noción de archivo real y virtual
Noción de archivo real y virtual Noción de archivo real y virtual
Noción de archivo real y virtual
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
 
Fundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacionalFundamentos de BD - Unidad 5 algebra relacional
Fundamentos de BD - Unidad 5 algebra relacional
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Autómata de Pila
Autómata de Pila Autómata de Pila
Autómata de Pila
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
Transacciones
TransaccionesTransacciones
Transacciones
 

Destacado

Automata Finito No Determinista
Automata Finito No DeterministaAutomata Finito No Determinista
Automata Finito No Determinista
Jean Bernard
 
Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)
Moises Morales
 
Autómatas finitos no deterministas
Autómatas finitos no deterministasAutómatas finitos no deterministas
Autómatas finitos no deterministas
Omega Tech
 
Teoria de automatas
Teoria de automatasTeoria de automatas
Teoria de automatas
equipolf
 
Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.
Vikky Moscoso
 
Hábitos de estudio
Hábitos de estudioHábitos de estudio
Hábitos de estudio
Videoconferencias UTPL
 

Destacado (6)

Automata Finito No Determinista
Automata Finito No DeterministaAutomata Finito No Determinista
Automata Finito No Determinista
 
Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)
 
Autómatas finitos no deterministas
Autómatas finitos no deterministasAutómatas finitos no deterministas
Autómatas finitos no deterministas
 
Teoria de automatas
Teoria de automatasTeoria de automatas
Teoria de automatas
 
Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.
 
Hábitos de estudio
Hábitos de estudioHábitos de estudio
Hábitos de estudio
 

Similar a Alfabetos-Lenguajes y Automatas 1

Expresiones regulares2.pdf
Expresiones regulares2.pdfExpresiones regulares2.pdf
Expresiones regulares2.pdf
Jeffreyagnz
 
Conjuntos y subconjuntos
Conjuntos y subconjuntosConjuntos y subconjuntos
Conjuntos y subconjuntos
Giovanni Vielma
 
02.conjuntos
02.conjuntos02.conjuntos
Introduccion FUNDAMENTOS.pdf
Introduccion FUNDAMENTOS.pdfIntroduccion FUNDAMENTOS.pdf
Introduccion FUNDAMENTOS.pdf
ClaudioMonserratAnaS
 
Conjuntos y subconjuntos
Conjuntos y subconjuntos Conjuntos y subconjuntos
Conjuntos y subconjuntos
Giovanni Vielma
 
Mate i conjuntos y sub conjuntos
Mate i conjuntos y sub conjuntosMate i conjuntos y sub conjuntos
Mate i conjuntos y sub conjuntos
cesargch2
 
Conjuntos y subconjuntos
Conjuntos y subconjuntosConjuntos y subconjuntos
Conjuntos y subconjuntos
Ricky Espinoza
 
Expresiones Regulares y Gramáticas
Expresiones Regulares y GramáticasExpresiones Regulares y Gramáticas
Expresiones Regulares y Gramáticas
PaolaNovas
 
Conjuntos
ConjuntosConjuntos
Teoria de conjuntos
Teoria de conjuntosTeoria de conjuntos
Teoria de conjuntos
alex huallpa inca
 
1 matematicas conjuntos
1 matematicas conjuntos1 matematicas conjuntos
1 matematicas conjuntos
Gabriel Alejandro Alvear Yañez
 
Matematica ii presentacion
Matematica ii presentacionMatematica ii presentacion
Matematica ii presentacion
MildredCarreo4
 
Teoría de los conjuntos
Teoría de los conjuntosTeoría de los conjuntos
Teoría de los conjuntos
Lizul S. Bautista
 
Conjuntos de matematicas
Conjuntos de matematicasConjuntos de matematicas
Conjuntos de matematicas
Cisnecitas
 
Teoria de conjuntos.
Teoria de conjuntos.Teoria de conjuntos.
Teoria de conjuntos.
Luis Enrique Huaringa Tello
 
1 TeoríA De Conjuntos
1 TeoríA De Conjuntos1 TeoríA De Conjuntos
1 TeoríA De Conjuntos
Alfa Velásquez Espinoza
 
Números reales y plano numérico.pdf
Números reales y plano numérico.pdfNúmeros reales y plano numérico.pdf
Números reales y plano numérico.pdf
uptaeb
 
conjuntos y subconjuntos
conjuntos y subconjuntosconjuntos y subconjuntos
conjuntos y subconjuntos
milanomariangel
 
FMMA010_apunte_s8.pdf
FMMA010_apunte_s8.pdfFMMA010_apunte_s8.pdf
FMMA010_apunte_s8.pdf
PaulinaCornejoMeza
 
Conjuntos teresita
Conjuntos teresitaConjuntos teresita
Conjuntos teresita
citty ville
 

Similar a Alfabetos-Lenguajes y Automatas 1 (20)

Expresiones regulares2.pdf
Expresiones regulares2.pdfExpresiones regulares2.pdf
Expresiones regulares2.pdf
 
Conjuntos y subconjuntos
Conjuntos y subconjuntosConjuntos y subconjuntos
Conjuntos y subconjuntos
 
02.conjuntos
02.conjuntos02.conjuntos
02.conjuntos
 
Introduccion FUNDAMENTOS.pdf
Introduccion FUNDAMENTOS.pdfIntroduccion FUNDAMENTOS.pdf
Introduccion FUNDAMENTOS.pdf
 
Conjuntos y subconjuntos
Conjuntos y subconjuntos Conjuntos y subconjuntos
Conjuntos y subconjuntos
 
Mate i conjuntos y sub conjuntos
Mate i conjuntos y sub conjuntosMate i conjuntos y sub conjuntos
Mate i conjuntos y sub conjuntos
 
Conjuntos y subconjuntos
Conjuntos y subconjuntosConjuntos y subconjuntos
Conjuntos y subconjuntos
 
Expresiones Regulares y Gramáticas
Expresiones Regulares y GramáticasExpresiones Regulares y Gramáticas
Expresiones Regulares y Gramáticas
 
Conjuntos
ConjuntosConjuntos
Conjuntos
 
Teoria de conjuntos
Teoria de conjuntosTeoria de conjuntos
Teoria de conjuntos
 
1 matematicas conjuntos
1 matematicas conjuntos1 matematicas conjuntos
1 matematicas conjuntos
 
Matematica ii presentacion
Matematica ii presentacionMatematica ii presentacion
Matematica ii presentacion
 
Teoría de los conjuntos
Teoría de los conjuntosTeoría de los conjuntos
Teoría de los conjuntos
 
Conjuntos de matematicas
Conjuntos de matematicasConjuntos de matematicas
Conjuntos de matematicas
 
Teoria de conjuntos.
Teoria de conjuntos.Teoria de conjuntos.
Teoria de conjuntos.
 
1 TeoríA De Conjuntos
1 TeoríA De Conjuntos1 TeoríA De Conjuntos
1 TeoríA De Conjuntos
 
Números reales y plano numérico.pdf
Números reales y plano numérico.pdfNúmeros reales y plano numérico.pdf
Números reales y plano numérico.pdf
 
conjuntos y subconjuntos
conjuntos y subconjuntosconjuntos y subconjuntos
conjuntos y subconjuntos
 
FMMA010_apunte_s8.pdf
FMMA010_apunte_s8.pdfFMMA010_apunte_s8.pdf
FMMA010_apunte_s8.pdf
 
Conjuntos teresita
Conjuntos teresitaConjuntos teresita
Conjuntos teresita
 

Último

DN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en PerúDN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en Perú
estudios22
 
Tecnología comercial y tipos de tecnología
Tecnología comercial y tipos de tecnologíaTecnología comercial y tipos de tecnología
Tecnología comercial y tipos de tecnología
rnzs85wvch
 
BIOSENSORES BASADOS EN NANOTECNOLOGÍA.pdf
BIOSENSORES BASADOS EN NANOTECNOLOGÍA.pdfBIOSENSORES BASADOS EN NANOTECNOLOGÍA.pdf
BIOSENSORES BASADOS EN NANOTECNOLOGÍA.pdf
sunwndniel
 
Conceptos basicas de programacion (1) (1).docx
Conceptos basicas de programacion (1) (1).docxConceptos basicas de programacion (1) (1).docx
Conceptos basicas de programacion (1) (1).docx
JuanVelandia33
 
aplicaciones de sistema de informacion geografico
aplicaciones de sistema de informacion geograficoaplicaciones de sistema de informacion geografico
aplicaciones de sistema de informacion geografico
cyberquiximies
 
Solución de vulnerabilidades en dispositivos de Area Local
Solución de vulnerabilidades en dispositivos de Area LocalSolución de vulnerabilidades en dispositivos de Area Local
Solución de vulnerabilidades en dispositivos de Area Local
investigacionproec
 
DESARROLLO_DE_APLICACIONES_MULTIMEDIA.pptx
DESARROLLO_DE_APLICACIONES_MULTIMEDIA.pptxDESARROLLO_DE_APLICACIONES_MULTIMEDIA.pptx
DESARROLLO_DE_APLICACIONES_MULTIMEDIA.pptx
fortinodominguez78
 
Pedagogía : Gamificación en la educación
Pedagogía : Gamificación en la educaciónPedagogía : Gamificación en la educación
Pedagogía : Gamificación en la educación
César Luis Camba Martínez
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
gregory760891
 
CAPCUT PASO A PASO - herramientas tecnológicas de edición de videos
CAPCUT PASO A PASO - herramientas tecnológicas de edición de videosCAPCUT PASO A PASO - herramientas tecnológicas de edición de videos
CAPCUT PASO A PASO - herramientas tecnológicas de edición de videos
Iris505525
 
Reconocimiento del Secuenciador de nanoporos (Nanopore sequencing) MinIon Mk1...
Reconocimiento del Secuenciador de nanoporos (Nanopore sequencing) MinIon Mk1...Reconocimiento del Secuenciador de nanoporos (Nanopore sequencing) MinIon Mk1...
Reconocimiento del Secuenciador de nanoporos (Nanopore sequencing) MinIon Mk1...
sunwndniel
 
Catalogo General Elica Campanas Extraccion Amado Salvador Distribuidor Oficia...
Catalogo General Elica Campanas Extraccion Amado Salvador Distribuidor Oficia...Catalogo General Elica Campanas Extraccion Amado Salvador Distribuidor Oficia...
Catalogo General Elica Campanas Extraccion Amado Salvador Distribuidor Oficia...
AMADO SALVADOR
 
Tecnologia segundo periodo unicab Ciclo VI Camila Ochoa
Tecnologia segundo periodo unicab Ciclo VI Camila OchoaTecnologia segundo periodo unicab Ciclo VI Camila Ochoa
Tecnologia segundo periodo unicab Ciclo VI Camila Ochoa
camilaochoacortina
 
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
MenaOlortinYherlyEli
 
MATERIAL BASE D A T O S .docx
MATERIAL BASE    D A T O S              .docxMATERIAL BASE    D A T O S              .docx
MATERIAL BASE D A T O S .docx
CarlosAndresLoaizaRe
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
Katia Reyes
 
Informe de electroforesis del ADN MEDIANTE EL MinION Mk1C.pdf
Informe de electroforesis del ADN MEDIANTE EL MinION Mk1C.pdfInforme de electroforesis del ADN MEDIANTE EL MinION Mk1C.pdf
Informe de electroforesis del ADN MEDIANTE EL MinION Mk1C.pdf
KEVINYOICIAQUINOSORI
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
Henry W. Zavala
 
LA INTERCULTURALIDAD EN EL PERU SEGUN LA OMS
LA INTERCULTURALIDAD EN EL PERU SEGUN LA OMSLA INTERCULTURALIDAD EN EL PERU SEGUN LA OMS
LA INTERCULTURALIDAD EN EL PERU SEGUN LA OMS
lzavaletagu17
 
Catalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdfCatalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdf
walter729637
 

Último (20)

DN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en PerúDN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en Perú
 
Tecnología comercial y tipos de tecnología
Tecnología comercial y tipos de tecnologíaTecnología comercial y tipos de tecnología
Tecnología comercial y tipos de tecnología
 
BIOSENSORES BASADOS EN NANOTECNOLOGÍA.pdf
BIOSENSORES BASADOS EN NANOTECNOLOGÍA.pdfBIOSENSORES BASADOS EN NANOTECNOLOGÍA.pdf
BIOSENSORES BASADOS EN NANOTECNOLOGÍA.pdf
 
Conceptos basicas de programacion (1) (1).docx
Conceptos basicas de programacion (1) (1).docxConceptos basicas de programacion (1) (1).docx
Conceptos basicas de programacion (1) (1).docx
 
aplicaciones de sistema de informacion geografico
aplicaciones de sistema de informacion geograficoaplicaciones de sistema de informacion geografico
aplicaciones de sistema de informacion geografico
 
Solución de vulnerabilidades en dispositivos de Area Local
Solución de vulnerabilidades en dispositivos de Area LocalSolución de vulnerabilidades en dispositivos de Area Local
Solución de vulnerabilidades en dispositivos de Area Local
 
DESARROLLO_DE_APLICACIONES_MULTIMEDIA.pptx
DESARROLLO_DE_APLICACIONES_MULTIMEDIA.pptxDESARROLLO_DE_APLICACIONES_MULTIMEDIA.pptx
DESARROLLO_DE_APLICACIONES_MULTIMEDIA.pptx
 
Pedagogía : Gamificación en la educación
Pedagogía : Gamificación en la educaciónPedagogía : Gamificación en la educación
Pedagogía : Gamificación en la educación
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
 
CAPCUT PASO A PASO - herramientas tecnológicas de edición de videos
CAPCUT PASO A PASO - herramientas tecnológicas de edición de videosCAPCUT PASO A PASO - herramientas tecnológicas de edición de videos
CAPCUT PASO A PASO - herramientas tecnológicas de edición de videos
 
Reconocimiento del Secuenciador de nanoporos (Nanopore sequencing) MinIon Mk1...
Reconocimiento del Secuenciador de nanoporos (Nanopore sequencing) MinIon Mk1...Reconocimiento del Secuenciador de nanoporos (Nanopore sequencing) MinIon Mk1...
Reconocimiento del Secuenciador de nanoporos (Nanopore sequencing) MinIon Mk1...
 
Catalogo General Elica Campanas Extraccion Amado Salvador Distribuidor Oficia...
Catalogo General Elica Campanas Extraccion Amado Salvador Distribuidor Oficia...Catalogo General Elica Campanas Extraccion Amado Salvador Distribuidor Oficia...
Catalogo General Elica Campanas Extraccion Amado Salvador Distribuidor Oficia...
 
Tecnologia segundo periodo unicab Ciclo VI Camila Ochoa
Tecnologia segundo periodo unicab Ciclo VI Camila OchoaTecnologia segundo periodo unicab Ciclo VI Camila Ochoa
Tecnologia segundo periodo unicab Ciclo VI Camila Ochoa
 
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
TESisssssssss de yhnnjuuhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
 
MATERIAL BASE D A T O S .docx
MATERIAL BASE    D A T O S              .docxMATERIAL BASE    D A T O S              .docx
MATERIAL BASE D A T O S .docx
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
Informe de electroforesis del ADN MEDIANTE EL MinION Mk1C.pdf
Informe de electroforesis del ADN MEDIANTE EL MinION Mk1C.pdfInforme de electroforesis del ADN MEDIANTE EL MinION Mk1C.pdf
Informe de electroforesis del ADN MEDIANTE EL MinION Mk1C.pdf
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
 
LA INTERCULTURALIDAD EN EL PERU SEGUN LA OMS
LA INTERCULTURALIDAD EN EL PERU SEGUN LA OMSLA INTERCULTURALIDAD EN EL PERU SEGUN LA OMS
LA INTERCULTURALIDAD EN EL PERU SEGUN LA OMS
 
Catalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdfCatalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdf
 

Alfabetos-Lenguajes y Automatas 1

  • 1. Alfabetos, palabras, Lenguajes y autómatas. Clase # 2 – Compiladores e Interpretes Luis Ochoa ziul1979@gmail.com
  • 2. Repaso General • Conjuntos: Un conjunto como se puede ver a grandes rasgos como una colección de individuos u objetos . Los conjuntos se pueden expresar de dos maneras: En extensión, lo cual quiere decir que citamos explícitamente cada uno de sus elementos, como en el conjunto {1, 3, 5} que contiene exactamente los números 1, 3 y 5.números 1, 3 y 5. En intención, dando una descripción precisa de los elementos que forman parte del conjunto, en vez de citarlos explícitamente. Por ejemplo, el conjunto del punto anterior puede ser visto como: {i Є N | impar(i), i < 6} donde se supone que los números impares cumplen la condición impar(i). La notación a Є B significa que a es elemento o está contenido en el conjunto B; por Ejemplo: {2, 3} Є {1, {2, 3}, 4} Para indicar que a no está en B se escribe a Є B. La notación a Є B significa que a es elemento o está contenido en el conjunto B; por Ejemplo: {2, 3} Є {1, {2, 3}, 4} Para indicar que a no está en B se escribe a Є B.
  • 3. • El tamaño de un conjunto es el número de elementos que contiene, y se representa como |A| para un conjunto A. Por ejemplo, el tamaño de {a, b, c} es 3, y el tamaño del conjunto vació es cero. Aunque existen conjuntos con tamaños no muy claros. • Dos conjuntos A y B son iguales, A = B, si y sólo si tienen los mismos elementos, esto es, x Є A si x Є B. Por ejemplo {1, {2, 3}} = {{3, 2}, 1} vemos que en los conjuntos el orden de los elementos es irrelevante. Repaso General irrelevante. • Se supone que en los conjuntos no hay repeticiones de elementos, y que cada elemento del conjunto es distinto de todos los otros elementos. • La notación A C B significa que el conjunto A está “contenido” en el conjunto B, o más técnicamente, que A es subconjunto de B. Por ejemplo, el conjunto {a, c} es subconjunto de {a, b, c}, indicado como {a, c} C {a, b, c}. En otras palabras, A C B cuando siempre que x Є A, tenemos también x Є B. Obsérvese que de acuerdo con esta definición, A Є A para cualquier conjunto A: todo conjunto es subconjunto de sí mismo.
  • 4. • Para indicar que un subconjunto contiene menos elementos que otro, es decir, que es un subconjunto propio de éste, se escribe A C B. Por ejemplo, {a, c} C {a, b, c}. Claramente, A = B si A C B y B C A. Obsérvese también que si A C B, entonces |A| ≤ |B|, y si A C B, entonces |A| < |B|. • Operaciones con conjuntos: ▫ Unión: A U B contiene los elementos del conjunto A y también los del conjunto B, es decir, {x | x Є A o x Є B}. La unión de conjuntos es conmutativa. ▫ Intersección: A ∩ B contiene los elementos que pertenecen Repaso General ▫ Intersección: A ∩ B contiene los elementos que pertenecen simultáneamente al conjunto A y al conjunto B, es decir, A ∩ B = {x | x Є A y x Є B}. Por ejemplo, {1, 2, 3} ∩ {3, 4} = {3}.Es conmutativa y asociativa. ▫ Complemento: Dado un universo (ejemplo números naturales), contiene entonces el complemento del conjunto contiene los elementos del universo que no están en el conjunto. Ejemplo: U=números naturales A= {2,4,6…} Ac = {1,3,5…} ▫ Producto Cartesiano: de dos conjuntos, A × B, es el conjunto de pares ordenados (a, b) tales que a Є A y Є 2 B. Por ejemplo, {1, 2} × {3, 4, 5} = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)} El tamaño de A×B es |A| multiplicado por |B|.
  • 5. • Se llama relación a todo subconjunto de un producto cartesiano; por ejemplo la relación ≤ contiene los pares de números naturales tales que el primer componente es menor o igual al segundo, esto es, ≤ = {(1, 1), (1, 2), (1, 3), (2, 3), . . .} o relación “x es padre de y”, siendo “x” y “y” conjuntos de personas. • Un caso particular de las relaciones son las funciones, que Repaso General • Un caso particular de las relaciones son las funciones, que son relaciones en que no hay dos pares ordenados que tengan el mismo primer componente. Es decir, los pares ordenados asocian a cada primer componente un único segundo componente. Por ejemplo, la relación {(1, 2), (2, 3), (1, 3)} no es una función, pero {(1, 2), (2, 3), (3, 3)} sí lo es. Tomando como ejemplo las familias, la relación de hermanos no es una función, pero la relación de cada quien con su padre sí lo es (cada quien tiene a lo más un padre).
  • 6. • Además de los conjuntos “finitos” ( con un número de elementos determinado ) también puede haber conjuntos infinitos, cuyo tamaño no puede expresarse con un número; un ejemplo es el conjunto de los números naturales N = {1, 2, Repaso General el conjunto de los números naturales N = {1, 2, 3, . . .}. Aún a estos conjuntos pueden aplicarse todas las operaciones antes descritas.
  • 7. Conceptos Alfabeto: Conjunto finito y no vació cuyos elementos se denominan símbolos. Se designa normalmente con las letras: Σ o Γ Ejemplos:Ejemplos: {0,1} {a,b,c…,x,y,z} {0,1,2,3,4,5,6,7,8,9} {a,b}
  • 8. Conceptos Palabra: es una secuencia finita de símbolos de un alfabeto, las mismas se pueden crear especificando un alfabeto determinado. Ejemplos: Si el alfabeto es {a,b}:Si el alfabeto es {a,b}: aba, bab, a, b, bbbbabababababababababababababbaba Si el alfabeto {0,1}: 0,1,01,11,10,… Existe una palabra especial que representa una secuencia vacía de símbolos, y a menudo se llama la palabra vacía, y se representa con la letra griega λ
  • 9. Subpalabras, prefijos y sufijos • Subpalabras: subsecuencias de símbolos consecutivos de una palabra, a menudo se usan las palabras factor o infijo. Ejemplo: La palabra bba contiene las siguientes subpalabras: {λ,a,b,bb,ba,bba} es importante las palabras en negritas son también consideradas subpalabras impropias, las demás son subpalabras propias. • Prefijos: subpalabras al principio de una palabra.• Prefijos: subpalabras al principio de una palabra. • Sufijos: subpalabras al final de una palabra. ▫ Nota: La palabra vacía y entera se consideran sufijos y prefijos de cualquier palabra. Ejemplo: ▫ Los prefijos de la palabra bbaab son {λ,b,bb,bba,bbaa,bbaab} se observan los prefijos propios en azul ▫ Los sufijos son {λ,b,ab,aab,baab,bbaab} se observan los sufijos propios en azul
  • 10. Lenguaje • Se considera un lenguaje como un conjunto de palabras sobre un alfabeto determinado. • Para designarlo normalmente se usa la letra L, con subíndices, si es necesario, y otras letras mayúsculas del alfabeto latino. Ejemplos sobre el alfabeto Σ={a,b}: L1={a,aa,aaa,aaaa} L2={a,b,aa,ab,ba,bb} L3={aabb} con una sola palabra L4={λ} L5={}=ø Pueden ser infinitos como: ▫ El lenguaje sobre Σ={a,b} de todas las palabras que tengan tantas letras a como letras b. ▫ El lenguaje de todas las palabras sobre Σ={a,b,c}
  • 11. Concatenación: construir una palabra nueva añadiéndole los símbolos de la segunda tras los símbolos de la primera. Se representa con un punto (●) normalmente, a veces si no es necesario se omite. Ejemplo: aaa ● bbb = aaabbb aba ● λ = aba Operaciones sobre palabras Propiedades: No es conmutativa w1 ● w2 ≠ w2 ● w1 Es asociativa (w1 w2) w3 = w1 (w2 w3) Tiene como elemento neutro la palabra vacía (λ). Se puede representar la concatenación de una palabra consigo misma usando la representación exponencial, ejemplo: www = w3 ww = w2 w0 = λ
  • 12. • La longitud: de una palabra se denota con |w| y representa el número de símbolos de la misma. Ejemplo |101| = 3 | λ | = 0 • El numero de ocurrencias: de una palabra se denota con |w|x y representa el numero de ocurrencias del símbolo x en la palabra w. Ejemplo: | ababb |a = 2 Operaciones sobre palabras | ababb |a = 2 | aaab |c = 0 • La inversión de una palabra: consiste en escribir al revés una palabra dada, y WR denota su inversa. Ejemplo (ab)R = ba • Cuando una palabra es igual a su inversa se dice es un palíndromo.
  • 13. Operaciones sobre lenguajes Las operaciones conjuntistas: • La unión (U). • La intersección (∩). • La complementación (c). • La diferencia (-).• La diferencia (-). Propiedades básicas: ▫ (Lc)c = L ▫ (L1 U L2)c = L1 c ∩ L2 c ▫ (L1 ∩ L2)c = L1 c U L2 c ▫ L1 - L2 = L1 ∩ L2 c
  • 14. Operaciones sobre lenguajes La Concatenación: la concatenación de dos lenguajes L1 y L2, es otro lenguaje formado por todas las palabras que se pueden construir concatenando una palabra de L1 con L2. L1 ● L2 = { x ● y | x Є L1 ^ y Є L2 } Propiedades:Propiedades: No es conmutativa. Es Asociativa. El elemento neutro es la palabra vacía λ. No es distributiva, L1(L2 ∩ L3) ≠ L1L2 ∩ L1L3 Se puede representar la concatenación de un lenguaje consigo mismo usando la notación exponencial. Se pueden concatenar lenguajes con palabras.
  • 15. La inversión: no es mas que el lenguajes formado por los inversos de las palabras de L, y se denota con LR Clausura, Cierre o Estrella de Kleene: Operaciones sobre lenguajes Su concepto es simple: El mismo es la unión de {λ} con el conjunto de todas las palabras que se pueden formar concatenando entre sí palabras de este mismo lenguaje. Por ejemplo si L={a,ba} entonces L0={λ} L1=L={a,ba} L2={aa, aba, baa, baba} … Así L*=L0 U L1 U L2 U … ¿Si fuese L={b} o L={aa} como quedaría la clausura?
  • 16. • Clausura, Cierre Positivo de Kleene: Operaciones sobre lenguajes Su concepto es simple: Es similar a L*, solo difiere en que no posee L0, a diferencia de L* que si lo posee. Por ejemplo si L={a,ba} entonces L0={λ} L1=L={a,ba} L2={aa, aba, baa, baba} … Así L+=L1 U L2 U … ¿Si fuese L={b} o L={aa} como quedaría la clausura?
  • 17. Cierres de un alfabeto: Σ* Σ+ • Dado que un alfabeto puede ser considerado un lenguaje formado por palabras de un solo símbolo (longitud 1), las operaciones de cierre de Kleene y cierre positivo de Kleene también son aplicables a los alfabetos.los alfabetos. • Σ* : Conjunto de todas las palabras sobre Σ. • Σ+ : Conjunto de todas las palabras sobre Σ de longitud no nula.
  • 18. Definición de Lenguaje Para definir un lenguaje lo podemos hacer de dos maneras, formal e informal:
  • 20. Autómatas finitos • ¿Qué es un autómata finito? • Autómatas finitos que reconocen lenguajes. • Cómo hay que imaginarse un autómata finito.
  • 22. ¿Que es un autómata finito? Es un modelo matemático de los sistemas que posee las siguientes características: I. En cada momento el sistema se encuentra en un estado y el conjunto total de estados en los que se puede encontrar un sistema es finito. II. Pueden responder a un número finito de acontecimientos diferentes. III. El estado en el que se encuentra el sistema resume toda la información referente a todos los acontecimientos pasados. IV. La respuesta a un acontecimiento solo se determina en función del acontecimiento y del estado en que se encuentra el sistema. Por ejemplo: Un interruptor mecánico biestable, un ascensor, etc.
  • 23. Autómatas finitos y los lenguajes Aunque existen muchos usos para los autómatas finitos, en nuestro caso particular, consideraremos los autómatas finitos como: Maquinas conceptuales reconocedoras de lenguajeslenguajes Y por lo tanto la tarea realizada por los mismos será: responder a la pregunta de si una palabra pertenece a un lenguaje o no.
  • 24. Como imaginamos un autómata finito, desde nuestra perspectiva de reconocedores de lenguajes: • La forma más habitual de hacerlo consiste en imaginar a los autómatas como máquinas que constan de una unidad central con un cabezal capaz de leer una cinta sobre la cual se han escrito,capaz de leer una cinta sobre la cual se han escrito, de izquierda a derecha los símbolos de la palabra que se intenta reconocer. • Inicialmente esta unidad se encuentra en un estado inicial denominado (qo), y el cabezal está totalmente a la izquierda de la cinta, sin haber leído todavía ninguno de los símbolos que contiene.
  • 25. Como imaginarse un autómata finito. Autómata en estado inicial:
  • 26. Como imaginarse un autómata finito. Cuando se lee un símbolo y se cambia de estado se denomina transición:
  • 27. Representación Gráfica de los Autómatas finitos Esta es su representación más usada, y es la siguiente: 1. Los estados son círculos que llevan dentro el nombre que los identifica. 2. El estado Inicial tendrá una pequeña flecha sobre este.2. El estado Inicial tendrá una pequeña flecha sobre este. 3. Los estados aceptadores se indicaran con una pequeña cruz que sale de ellos. 4. Las posibles transiciones, en función de los símbolos leídos, se indicaran con flechas que van de un estado al otro (o a sí mismo). Las mismas estarán etiquetadas con el símbolo que produce el cambio de estado.
  • 28. Autómatas finitos – Conceptos Básicos. Algunas otras cosas importantes a tener en cuenta son: • Los estados del autómata están divididos en dos categorías, los estados llamados aceptadores o finales y los estados llamados no aceptadores. • Cuando el estado en que se encuentra la maquina es aceptador, significa que la palabra que va desde el inicio de la cinta hasta el símbolo actual se reconoce como perteneciente al lenguaje. • Por el contrario, si al llegar al final de la palabra (y la cinta) la máquina queda en un estado que no sea aceptador, la palabra no pertenece al lenguaje.
  • 29. Representación Gráfica de los Autómatas finitos Por ejemplo:
  • 30. Procesamiento de una palabra por parte de un autómata Supongamos que en el autómata anterior se procesa la palabra w=aabab: 1. Inicialmente se esta en el estado A.1. Inicialmente se esta en el estado A. 2. Cuando se lee el símbolo a se evoluciona hacia el estado B. 3. Cuando se lee el segundo símbolo a, se evoluciona de B hasta B. 4. Cuando se lee el símbolo b, se evoluciona de B hacia D.
  • 31. Procesamiento de una palabra por parte de un autómata 5. Cuando se lee el símbolo a, se evoluciona desde D hasta B. 6. Finalmente el autómata lee el último símbolo a, y evoluciona desde B hacia D y debido a que ya se proceso completamente la palabra y else proceso completamente la palabra y el autómata que ubicado en un estado aceptador, se puede decir que la palabra aabab ha sido reconocida como perteneciente al lenguaje L. Importante: No basta con que una palabra pase por un estado aceptador para decir que el lenguaje la acepto, ya que es necesario que el último estado sea aceptador.
  • 32. Autómatas finitos y algoritmos Cualquier autómata finito se puede representar como un algoritmo, en el cual independientemente de la longitud de la palabra de entrada, la cantidad de memoria que debe consumirse para realizar el procesamiento es siempre la misma.misma. Su estructura básica es: Ciclo ejecución autómata
  • 33. Tipos de autómatas finitos • Autómatas Finitos Determinista (DFA, Deterministic Finite Automate).Deterministic Finite Automate). • Autómatas Finitos No Determinista (NFA, Non- Deterministic Finite Automate)