Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Lfya 2
1. LFyA2012
-abc. abdielc@acm.org
Lenguajes Formales y Aut´matas
o
Alfabetos y lenguajes
Alfabetos
Palabras
Lenguajes
Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
Abdiel E. C´ceres Gonz´lez
a a El lenguaje de un
Universidad Ju´rez Aut´noma de Tabasco, DACB (www.ujat.mx)
a o Aut´mata
o
abdielc@acm.org
2. LFyA2012
-abc. abdielc@acm.org
Alfabetos y lenguajes
Alfabetos
Palabras
Lenguajes
Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Alfabetos, palabras y lenguajes Tabla de transici´n de
estados
Definici´n formal
o
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
3. LFyA2012
Alfabetos, palabras y lenguajes
-abc. abdielc@acm.org
La comunicaci´n se realiza mediante el uso de un lenguaje com´n para el que
o u
transmite como para el que recibe el mensaje. En aut´matas tambi´n se usan
o e Alfabetos y lenguajes
Alfabetos
lenguajes, sin embargo se usan un poco m´s formalmente que en el lenguaje
a Palabras
natural. Lenguajes
Operaciones con
Empecemos con algunas definiciones que nos permitir´n estar de acuerdo con
a palabras
los conceptos m´s usados.
a Operaciones con
lenguajes
Definici´n (Alfabeto)
o Lenguajes regulares
Expresiones regulares
Un alfabeto es un conjunto no vac´ y finito de s´
ıo ımbolos. Aut´matas finitos
o
Generalmente denotaremos un alfabeto por la letra griega Σ. Cada s´
ımbolo Diagrama de
transiciones
del alfabeto se conoce tambi´n como letra.
e Uso del diagrama de
transiciones
escribir ejemplos de alfabetos y del s´
ımbolo nulo
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
4. LFyA2012
En el lenguaje natural, con las letras podemos formar palabras. En los
lenguajes formales sucede lo mismo. -abc. abdielc@acm.org
Definici´n (Palabra)
o Alfabetos y lenguajes
Alfabetos
Si Σ es un alfabeto, diremos que una palabra ω est´ construida con s´
a ımbolos Palabras
de Sigma, denot´ndola como ω ∈ Σ y le´ como “omega es una palabra en
a ıda Lenguajes
Operaciones con
sigma”, cuando ω sea una secuencia finita de s´ımbolos en Σ. palabras
Operaciones con
lenguajes
ω = σ0 σ1 . . . σm−1 ; con cada σi ∈ Σ; i = 0, 1, . . . , m − 1
Lenguajes regulares
Expresiones regulares
Las palabras tienen varios sin´nimos, entre ellos cadena, string, palabra.
o Aut´matas finitos
o
escribir ejemplos de palabras y hablar del espacio en blanco y la palabra vac´ ∅
ıa Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
5. LFyA2012
escribir ejemplos de palabras y hablar del espacio en blanco y la palabra vac´ ∅
ıa
-abc. abdielc@acm.org
Alfabetos y lenguajes
Alfabetos
Palabras
Lenguajes
Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
6. LFyA2012
Un conjunto muy importante es el siguiente:
-abc. abdielc@acm.org
Definici´n (Σ∗ )
o
El conjunto Σ∗ es el conjunto de todas las palabras en Σ de longitud finita. Alfabetos y lenguajes
Alfabetos
As´ Σ es el conjunto generador de Σ∗ .
ı, Palabras
Lenguajes
Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
7. No todas las palabras de Σ∗ sirven. LFyA2012
-abc. abdielc@acm.org
Definici´n (Lenguaje)
o
Un lenguaje L basado en un alfabeto Σ es un subconjunto de Σ∗ , esto es Alfabetos y lenguajes
Alfabetos
LΣ ⊆ Σ∗ , donde Palabras
LΣ = {ω ∈ Σ∗ |P(ω)} Lenguajes
Operaciones con
palabras
El predicado P(ω) determina la pertenencia de ω al lenguaje LS igma. En el Operaciones con
lenguajes
lenguaje espaol, las palabras que pertenecen al lenguaje son aquellas que Lenguajes regulares
tienen significado en el diccionario. Otras palabras como wipsjwql no tienen Expresiones regulares
significado, por lo que no pertenecen al lenguaje. Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
8. LFyA2012
Si ω es una palabra (en cualquier alfabeto), la longitud de la palabra ω se
determina por |ω|, de igual modo que la cardinalidad de un conjunto, pero -abc. abdielc@acm.org
cuando el operando es una palabra, la cardinalidad es el n´mero de s´
u ımbolos
Alfabetos y lenguajes
que tiene la palabra, sin importar si aparece m´s de una vez en la misma
a Alfabetos
palabra. Palabras
Lenguajes
Operaciones con
As´ si ω1 = 10110 , |ω| = 5. No importa que el s´
ı, ımbolo ’1’ y el s´
ımbolo ’0’ palabras
ocurran m´s de una vez.
a Operaciones con
lenguajes
Lenguajes regulares
Recursivamente podemos definir la longitud de una palabra como: Expresiones regulares
Aut´matas finitos
o
0 si ω = ∅
longitud(ω) ← Diagrama de
1 + longitud(cdr(ω)) en otro caso transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
1 (define LONGITUD estados
2 (λ (ω) Definici´n formal
o
3 (if (empty? ω) Extensi´n de la
o
4 0 funci´n de transici´n
o o
5 (+ 1 (LONGITUD (cdr ω)))))) Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
9. LFyA2012
Definir longitud como recursivo-cola
-abc. abdielc@acm.org
Alfabetos y lenguajes
Alfabetos
Palabras
Lenguajes
Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
10. LFyA2012
Un operador b´sico en la manipulaci´n de cadenas (modeladas como listas) es
a o
el constructor de listas cons. -abc. abdielc@acm.org
Definici´n (Constructor de listas)
o Alfabetos y lenguajes
Alfabetos
El operador cons, es una funci´n con encabezado cons : Σ ×
o Σ∗ → Σ∗ con Palabras
definici´n:
o Lenguajes
Operaciones con
palabras
σ si w = ∅ Operaciones con
cons(σ, ω) ← lenguajes
σσ0 σ1 . . . σm−1 en otro caso
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
11. LFyA2012
A´n hay otros dos constructores de listas (recordemos que por ahora, un
u
sin´nimo de lista es palabra), estos constructores de listas son:
o -abc. abdielc@acm.org
list Se utiliza con cero o m´s argumentos y crea una lista con los
a Alfabetos y lenguajes
argumentos que se utilizan en su invocaci´n.
o Alfabetos
Palabras
Lenguajes
Se utiliza list cuando se desea crear una lista, los elementos Operaciones con
de la lista quedan en el mismo orden que ocuparon en la palabras
Operaciones con
invocaci´n de la funci´n. Si se invoca sin argumentos el
o o lenguajes
resultado es la palabra vac´
ıa. Lenguajes regulares
Expresiones regulares
append Se utiliza con cero o m´s listas, y crea una lista anexando los
a
Aut´matas finitos
o
elementos de la segunda lista a los elementos de la primera.
Diagrama de
Si se utiliza sin listas, el resultado es la lista vac´
ıa. transiciones
Uso del diagrama de
Las diferencias son sutiles, pero muy utiles si se saben utilizar. Al utilizar list
´ transiciones
Tabla de transici´n de
o
se crea una lista con tantos elementos como argumentos tenga la invocaci´n, o estados
pero al utilizar append, se debe asegurar de que todos los elementos son listas, Definici´n formal
o
Extensi´n de la
o
de modo que el resultado es una lista con los elementos de cada una de las funci´n de transici´n
o o
Estados aceptores
listas.
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
12. LFyA2012
Definici´n (Enlistar)
o -abc. abdielc@acm.org
La funci´n de enlistar tiene un encabezado list : Σ∗ → Σ∗ definida del
o
Alfabetos y lenguajes
siguiente modo:
Alfabetos
Palabras
∅ si ω = ∅ Lenguajes
list(ω) ←
cons(car(ω), list(cdr(ω))) en otro caso. Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
13. LFyA2012
Para modelar la funci´n append, necesitaremos primero una funci´n que anexe
o o
una letra a una palabra. Pero que la anexe por la derecha, del mismo modo -abc. abdielc@acm.org
que se escribe, de izquierda a derecha.
Alfabetos y lenguajes
Definici´n (Anexa1)
o Alfabetos
Palabras
La funci´n anexa1 tiene un encabezado anexa1 :
o Σ∗ ×Σ→ Σ∗ y definida Lenguajes
Operaciones con
como: palabras
Operaciones con
lenguajes
anexa1(ω, σ) = append(ω, list(σ)) Lenguajes regulares
Expresiones regulares
La funci´n anexar1 tiene un efecto similar al cons, pero en lugar de agregar
o Aut´matas finitos
o
por la izquierda, agrega por la derecha. Diagrama de
transiciones
Uso del diagrama de
Lo siguiente es utilizar anexar1 para anexar todas las letras de una palabra a transiciones
Tabla de transici´n de
o
otra palabra, con el fin de tener una funci´n que anexe palabras.
o estados
Definici´n formal
o
Definici´n (Anexar)
o Extensi´n de la
o
o
funci´n de transici´n
o
El anexado es una funci´n con encabezado append : Σ∗ × Σ∗ → Σ∗ y
o Estados aceptores
Modelo de AFD
definida como sigue: Orientado a Objetos
M´todos de la clase
e
afd%
ω1 si ω2 = ∅ Ejemplo de un AFD
append(ω1 , ω2 ) ←
append(anexa1(ω1 , car(ω2 )), cdr(ω1 )) en otro caso. El lenguaje de un
Aut´mata
o
Esta operaci´n de anexar, se conoce tambi´n como concatenar. Por
o e
comodidad, en la lectura de los s´
ımbolos matem´ticos, frecuentemente
a
podemos encontrar la concatenaci´n de las palabras ω1 y ω2 como ω1 ω2 .
o
Escribir sobre la longitud de la concatenaci´n.
o
14. LFyA2012
Definici´n (Potencia)
o -abc. abdielc@acm.org
La potencia n de una palabra ω es una funci´n con encabezado
o
potencia : Σ∗ × Z≥0 → Σ∗ definida como: Alfabetos y lenguajes
Alfabetos
Palabras
∅ si n = 0, Lenguajes
potencia(ω, n) ← Operaciones con
append(ω, potencia(ω, n − 1)) en otro caso. palabras
Operaciones con
lenguajes
∅ es el s´
ımbolo que utilizaremos para denotar la identidad multiplicativa en las Lenguajes regulares
palabras, es la palabra que no tiene s´
ımbolos. Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
15. LFyA2012
Definici´n
o -abc. abdielc@acm.org
Palabras iguales La igualdad entre palabras es una funci´n con encabezado
o
=: Σ∗ × Σ∗ → B, donde B = {#t, #f} las constantes booleanas y cuya Alfabetos y lenguajes
definici´n es
o Alfabetos
Palabras
Lenguajes
#t
si ω1 = ∅ ∧ ω2 = ∅; Operaciones con
palabras
#f si ω1 = ∅ ⊕ ω2 = ∅;
=(ω1 , ω2 ) ← Operaciones con
#f
si car(ω1 ) = car(ω2 ); lenguajes
=(cdr(ω1 ), cdr(ω2 )) En otro caso.
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
16. LFyA2012
Definici´n (prefijo)
o -abc. abdielc@acm.org
Si α, ω ∈ Σ∗ , decimos que α es un prefijo de ω, si existe una palabra β ∈ Σ∗
Alfabetos y lenguajes
tal que αβ = ω
Alfabetos
Palabras
Definici´n (sufijo)
o Lenguajes
Operaciones con
Si β, ω ∈ Σ∗ , decimos que β es un sufijo de ω, si existe una palabra α ∈ Σ∗ palabras
Operaciones con
tal que αβ = ω lenguajes
Escribir definiciones de es-prefijo?, es-sufijo?, prefijo, sufijo Lenguajes regulares
Expresiones regulares
Como ∅ es la palabra vac´ es posible que sea el prefijo (sufijo) de cualquier
ıa,
Aut´matas finitos
o
palabra, as´ cualquier palabra es prefijo (sufijo) de ella misma. Las palabras
ı
Diagrama de
prefijos (sufijos) diferentes a ellas mismas se llaman prefijo (sufijo) propio. transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
17. LFyA2012
Definici´n (Subpalabra)
o -abc. abdielc@acm.org
Una palabra γ ∈ Σ∗ es una subpalabra de otra palabra ω ∈ Σ∗ si existe un
prefijo α ∈ Σ∗ y un sufijo β ∈ Σ∗ tales que ω = αγβ. Alfabetos y lenguajes
Alfabetos
Definir es-subpalabra? Palabras
Lenguajes
Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
18. LFyA2012
Definir subpalabra: recibe dos palabras y devuelve a.w1.b, donde a es prefijo y b es sufijo
-abc. abdielc@acm.org
Alfabetos y lenguajes
Alfabetos
Palabras
Lenguajes
Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
19. LFyA2012
Definici´n (Palabra inversa)
o -abc. abdielc@acm.org
El inverso de una palabra es una funci´n con encabezado inversa : Σ∗ → Σ∗ y
o
Alfabetos y lenguajes
definida como
Alfabetos
Palabras
∅ Si ω = ∅;
inversa(ω) ← Lenguajes
append(inversa(cdr(ω)), list(car(ω))) En otro caso. Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
20. LFyA2012
Como los lenguajes son subconjuntos de los conjuntos de todas las palabras, y
lo importante aqu´ es que sean subconjuntos, entonces todas las operaciones
ı -abc. abdielc@acm.org
entre conjuntos tienen validez tambi´n en los lenguajes. En particular las
e
Alfabetos y lenguajes
operaciones de concatenaci´n (append), la potencia y el inverso.
o Alfabetos
Palabras
Definici´n (Anexar lenguajes)
o Lenguajes
Operaciones con
Si AΣ1 y BΣ2 son lenguajes, cada uno en su propio alfabeto, el anexar el palabras
lenguaje BΣ2 al lenguaje AΣ1 es una funci´n con encabezado
o Operaciones con
lenguajes
append∗ : P(Σ∗ 1 ) × P(Σ∗ 2 ) → P(Σ∗ 3 ), donde Σ∗ 3 = Σ∗ 1 ∪ Σ∗ 2 , y la funci´n
o Lenguajes regulares
definida como Expresiones regulares
∗ Aut´matas finitos
o
append (AΣ1 , BΣ2 ) ← ∀ x ∈ AΣ1 : ∀ y ∈ BΣ2 : append(x, y ) Diagrama de
transiciones
Uso del diagrama de
transiciones
Ejemplos con {libr , flor } y {ero, eria} Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
21. LFyA2012
Definici´n (Potencia de un lenguaje)
o -abc. abdielc@acm.org
Si AΣ∗ es un lenguaje, la potencia del lenguaje es una funci´n con
o
encabezado potencia∗ : P(Σ∗ ) × Z≥0 → Σ∗ y definida como: Alfabetos y lenguajes
Alfabetos
Palabras
{∅} si AΣ∗ = ∅; Lenguajes
potencia∗ (AΣ∗ , n) ←
append∗ (AΣ∗ , potencia∗ (AΣ∗ , n − 1)) en otro caso. Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
22. LFyA2012
Definici´n (Sublenguaje)
o -abc. abdielc@acm.org
Si LΣ∗ es un lenguaje en alg´n alfabeto Σ, LΣ∗ es un sublenguaje de LΣ∗ , y
u
Alfabetos y lenguajes
lo denotamos por LΣ∗ ⊆ LΣ∗ si ∀ ω ∈ LΣ∗ : ω ∈ LΣ∗
Alfabetos
Palabras
Lenguajes
Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
23. LFyA2012
Teorema (Igualdad de lenguajes) -abc. abdielc@acm.org
Sean AΣ∗ y BΣ∗ dos lenguajes. AΣ∗ = BΣ∗ ↔ AΣ∗ ⊆ BΣ∗ ∧ BΣ∗ ⊆ AΣ∗
Alfabetos y lenguajes
Alfabetos
Palabras
Lenguajes
Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
24. LFyA2012
Como los lenguajes son conjuntos de palabras (aquellas que son permitidas, o
que tienen alg´n significado), podemos utilizar las operaciones fundamentales
u -abc. abdielc@acm.org
de conjuntos, como la uni´n y la intersecci´n.
o o
Alfabetos y lenguajes
Definici´n (Uni´n de lenguajes)
o o Alfabetos
Palabras
Sean AΣ∗ 1 y BΣ∗ 2 dos lenguajes. La uni´n de los lenguajes es un nuevo
o Lenguajes
Operaciones con
lenguaje denotado por (AΣ∗ 1 ∪ BΣ∗ 2 )Σ∗ 1 ∪Σ∗ 2 , definido como palabras
Operaciones con
lenguajes
(AΣ∗ 1 ∪ BΣ∗ 2 )Σ∗ 1 ∪Σ∗ 2 ← {ω|ω ∈ AΣ∗ 1 ∨ ω ∈ ∩BΣ∗ 2 }
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
25. LFyA2012
Definici´n (Intersecci´n de lenguajes)
o o -abc. abdielc@acm.org
Sean AΣ∗ 1 y BΣ∗ 2 dos lenguajes. La intersecci´n de los lenguajes es un nuevo
o
Alfabetos y lenguajes
lenguaje denotado por (AΣ∗ 1 ∩ BΣ∗ 2 )Σ∗ 1 ∩Σ∗ 2 , definido como
Alfabetos
Palabras
(A Σ∗ 1
∩B Σ∗ 2
)
Σ∗ 1 ∩Σ∗ 2
← {ω|ω ∈ A Σ∗ 1
∧ ω ∈ ∩B Σ∗ 2
} Lenguajes
Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Tabla de transici´n de
o
estados
Definici´n formal
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
26. LFyA2012
-abc. abdielc@acm.org
Alfabetos y lenguajes
Alfabetos
Palabras
Lenguajes
Operaciones con
palabras
Operaciones con
lenguajes
Lenguajes regulares
Expresiones regulares
Aut´matas finitos
o
Diagrama de
transiciones
Uso del diagrama de
transiciones
Lenguajes regulares Tabla de transici´n de
estados
Definici´n formal
o
o
Extensi´n de la
o
funci´n de transici´n
o o
Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o
27. LFyA2012
Definici´n (Lenguaje Regular)
o -abc. abdielc@acm.org
Se define recursivamente como:
Alfabetos y lenguajes
1. ∅ es un lenguaje regular ∅ representa el lenguaje vac´ un conjunto de palabras.
ıo, Alfabetos
Palabras
2. {∅} es un lenguaje regular ∅ es la palabra vac´
ıa
Lenguajes
Operaciones con
3. ∀ a ∈ Σ, {a} es un lenguaje regular palabras
Operaciones con
4. Si A y B son lenguajes regulares, A ∪ B, A · B, y A∗ , son lenguajes lenguajes
regulares. Lenguajes regulares
Expresiones regulares
5. Ning´n otro lenguajes sobre Σ es regular.
u
Aut´matas finitos
o
Diagrama de
As´ el conjunto de los lenguajes regulares sobre Σ est´ formado por:
ı, a transiciones
Uso del diagrama de
El lenguaje vac´ ∅.
ıo transiciones
Tabla de transici´n de
o
Los lenguajes unitarios, inclu´ {∅}.
ıdo estados
Definici´n formal
o
Todos los lenguajes que se puedan obtener usando la concatenaci´n
o Extensi´n de la
o
funci´n de transici´n
o o
(anexado), uni´n y cerradura de estrella de lenguajes.
o Estados aceptores
Modelo de AFD
Orientado a Objetos
M´todos de la clase
e
afd%
Ejemplo de un AFD
El lenguaje de un
Aut´mata
o