Autómatas y Lenguajes Formales 2016-1
Maestría en Ciencia e Ingeniería de la Computación UNAM Tema 2: Lenguajes regulares y autómatas finitos
Dr. Favio Ezequiel Miranda Perea
Facultad de Ciencias UNAM
Lenguajes Regulares
Lenguajes Regulares
DefiniciónUn lenguajeL⊆Σ? es regular si es generado a partir de los lenguajes
básicos∅,{ε},{a}(dondea∈Σ) mediante las operaciones de unión,
concatenación y estrella de Kleene.
Recursivamente:
∅y{ε}son lenguajes regulares.
Sia∈Σentonces{a}es regular.
SiL,Mson regulares entoncesL∪M,LM yL?son regulares.
Lenguajes Regulares
Lenguajes Regulares
DefiniciónUn lenguajeL⊆Σ? es regular si es generado a partir de los lenguajes
básicos∅,{ε},{a}(dondea∈Σ) mediante las operaciones de unión,
concatenación y estrella de Kleene. Recursivamente:
∅y{ε}son lenguajes regulares.
Sia∈Σentonces{a}es regular.
SiL,Mson regulares entoncesL∪M,LM yL?son regulares.
Lenguajes Regulares
Lenguajes Regulares
DefiniciónUn lenguajeL⊆Σ? es regular si es generado a partir de los lenguajes
básicos∅,{ε},{a}(dondea∈Σ) mediante las operaciones de unión,
concatenación y estrella de Kleene. Recursivamente:
∅y{ε}son lenguajes regulares.
Sia∈Σentonces{a}es regular.
SiL,Mson regulares entoncesL∪M,LM yL?son regulares.
Lenguajes Regulares
Lenguajes Regulares
DefiniciónUn lenguajeL⊆Σ? es regular si es generado a partir de los lenguajes
básicos∅,{ε},{a}(dondea∈Σ) mediante las operaciones de unión,
concatenación y estrella de Kleene. Recursivamente:
∅y{ε}son lenguajes regulares.
Sia∈Σentonces{a}es regular.
SiL,Mson regulares entoncesL∪M,LM yL?son regulares.
Lenguajes Regulares
Lenguajes Regulares
DefiniciónUn lenguajeL⊆Σ? es regular si es generado a partir de los lenguajes
básicos∅,{ε},{a}(dondea∈Σ) mediante las operaciones de unión,
concatenación y estrella de Kleene. Recursivamente:
∅y{ε}son lenguajes regulares.
Sia∈Σentonces{a}es regular.
Lenguajes Regulares
Ejemplos
Lenguajes regulares
Cualquier lenguaje finito es regular.
En efecto siL={w1, . . . ,wn} ⊆Σ? entoncesL=L1∪L2∪. . .∪Ln conLi ={wi}. Cada lenguajeLi es regular puesto que si
wi =a1. . .aki conaj ∈ΣentoncesLi ={a1}{a2}. . .{aki}y cada {aj}es regular por definición.
Lenguajes Regulares
Ejemplos
Lenguajes regulares
Cualquier lenguaje finito es regular.
En efecto siL={w1, . . . ,wn} ⊆Σ? entoncesL=L1∪L2∪. . .∪Ln conLi ={wi}. Cada lenguajeLi es regular puesto que si
wi =a1. . .aki conaj ∈ΣentoncesLi ={a1}{a2}. . .{aki}y cada {aj}es regular por definición.
Lenguajes Regulares
Ejemplos
Lenguajes regulares
Cualquier lenguaje finito es regular.
En efecto siL={w1, . . . ,wn} ⊆Σ? entoncesL=L1∪L2∪. . .∪Ln conLi ={wi}. Cada lenguajeLi es regular puesto que si
wi =a1. . .aki conaj ∈ΣentoncesLi ={a1}{a2}. . .{aki}y cada {aj}es regular por definición.
Lenguajes Regulares
Ejemplos
Lenguajes regulares
Sobre el alfabetoΣ ={a,b}tenemos los siguientes lenguajes
regulares infinitos:
I L1={w ∈Σ?|wempieza conb}={b}Σ?
I L2={w ∈Σ?|wcontiene exactamente unaa}={b}?{a}{b}?
I L3={w ∈Σ?|wcontiene la subcadenaba}= Σ?{ba}Σ?
I L4={w ∈Σ?|wcontiene exactamente dos bes}=
{a}?{b}{a}?{b}{a}?
I L5={w ∈Σ?|wcontiene un número par de aes}=
{b}?∪ {b}?{a}{b}?{a}{b}??
Lenguajes Regulares
Ejemplos
Lenguajes regulares
Sobre el alfabetoΣ ={a,b}tenemos los siguientes lenguajes
regulares infinitos:
I L1={w∈Σ?|wempieza conb}={b}Σ?
I L2={w ∈Σ?|wcontiene exactamente unaa}={b}?{a}{b}?
I L3={w ∈Σ?|wcontiene la subcadenaba}= Σ?{ba}Σ?
I L4={w ∈Σ?|wcontiene exactamente dos bes}=
{a}?{b}{a}?{b}{a}?
I L5={w ∈Σ?|wcontiene un número par de aes}=
{b}?∪ {b}?{a}{b}?{a}{b}??
Lenguajes Regulares
Ejemplos
Lenguajes regulares
Sobre el alfabetoΣ ={a,b}tenemos los siguientes lenguajes
regulares infinitos:
I L1={w∈Σ?|wempieza conb}={b}Σ?
I L2={w∈Σ?|wcontiene exactamente unaa}={b}?{a}{b}?
I L3={w ∈Σ?|wcontiene la subcadenaba}= Σ?{ba}Σ?
I L4={w ∈Σ?|wcontiene exactamente dos bes}=
{a}?{b}{a}?{b}{a}?
I L5={w ∈Σ?|wcontiene un número par de aes}=
{b}?∪ {b}?{a}{b}?{a}{b}??
Lenguajes Regulares
Ejemplos
Lenguajes regulares
Sobre el alfabetoΣ ={a,b}tenemos los siguientes lenguajes
regulares infinitos:
I L1={w∈Σ?|wempieza conb}={b}Σ?
I L2={w∈Σ?|wcontiene exactamente unaa}={b}?{a}{b}?
I L3={w∈Σ?|wcontiene la subcadenaba}= Σ?{ba}Σ?
I L4={w ∈Σ?|wcontiene exactamente dos bes}=
{a}?{b}{a}?{b}{a}?
I L5={w ∈Σ?|wcontiene un número par de aes}=
{b}?∪ {b}?{a}{b}?{a}{b}??
Lenguajes Regulares
Ejemplos
Lenguajes regulares
Sobre el alfabetoΣ ={a,b}tenemos los siguientes lenguajes
regulares infinitos:
I L1={w∈Σ?|wempieza conb}={b}Σ?
I L2={w∈Σ?|wcontiene exactamente unaa}={b}?{a}{b}?
I L3={w∈Σ?|wcontiene la subcadenaba}= Σ?{ba}Σ?
I L4={w∈Σ?|wcontiene exactamente dos bes}=
{a}?{b}{a}?{b}{a}?
I L5={w ∈Σ?|wcontiene un número par de aes}=
{b}?∪ {b}?{a}{b}?{a}{b}??
Lenguajes Regulares
Ejemplos
Lenguajes regulares
Sobre el alfabetoΣ ={a,b}tenemos los siguientes lenguajes
regulares infinitos:
I L1={w∈Σ?|wempieza conb}={b}Σ?
I L2={w∈Σ?|wcontiene exactamente unaa}={b}?{a}{b}?
I L3={w∈Σ?|wcontiene la subcadenaba}= Σ?{ba}Σ?
I L4={w∈Σ?|wcontiene exactamente dos bes}=
{a}?{b}{a}?{b}{a}?
I L5={w∈Σ?|wcontiene un número par de aes}=
{b}?∪ {b}?{a}{b}?{a}{b}??
Lenguajes Regulares
Ejemplos
Lenguajes regulares
Sobre el alfabetoΣ ={a,b}tenemos los siguientes lenguajes
regulares infinitos:
I L1={w∈Σ?|wempieza conb}={b}Σ?
I L2={w∈Σ?|wcontiene exactamente unaa}={b}?{a}{b}?
I L3={w∈Σ?|wcontiene la subcadenaba}= Σ?{ba}Σ?
I L4={w∈Σ?|wcontiene exactamente dos bes}=
{a}?{b}{a}?{b}{a}?
Lenguajes Regulares
Problemas de interés acerca de lenguajes regulares
Dado un lenguaje regularL⊆Σ? existen diversas problemas de
decisión (es decir, problemas cuya respuesta es sí o no) acerca deL,
enunciamos algunos de ellos que tienen solución algorítmica.
1 Problema de vacuidad: ¿ EsLel lenguaje vacío ?
2 Problema de finitud: ¿ EsLfinito ?
3 Problema de la pertenencia: Dadaw ∈Σ?, ¿w ∈L?
Lenguajes Regulares
Problemas de interés acerca de lenguajes regulares
Dado un lenguaje regularL⊆Σ? existen diversas problemas de
decisión (es decir, problemas cuya respuesta es sí o no) acerca deL,
enunciamos algunos de ellos que tienen solución algorítmica.
1 Problema de vacuidad: ¿ EsLel lenguaje vacío ?
2 Problema de finitud: ¿ EsLfinito ?
3 Problema de la pertenencia: Dadaw ∈Σ?, ¿w ∈L?
Lenguajes Regulares
Problemas de interés acerca de lenguajes regulares
Dado un lenguaje regularL⊆Σ? existen diversas problemas de
decisión (es decir, problemas cuya respuesta es sí o no) acerca deL,
enunciamos algunos de ellos que tienen solución algorítmica.
1 Problema de vacuidad: ¿ EsLel lenguaje vacío ?
2 Problema de finitud: ¿ EsLfinito ?
3 Problema de la pertenencia: Dadaw ∈Σ?, ¿w ∈L?
Lenguajes Regulares
Problemas de interés acerca de lenguajes regulares
Dado un lenguaje regularL⊆Σ? existen diversas problemas de
decisión (es decir, problemas cuya respuesta es sí o no) acerca deL,
enunciamos algunos de ellos que tienen solución algorítmica.
1 Problema de vacuidad: ¿ EsLel lenguaje vacío ?
2 Problema de finitud: ¿ EsLfinito ?
3 Problema de la pertenencia: Dadaw ∈Σ?, ¿w ∈L?
Lenguajes Regulares Expresiones Regulares
Expresiones regulares
Definición
Un mecanismo de suma importancia para denotar lenguajes regulares es por medio de las llamadas expresiones regulares, definidas
recursivamente como sigue:
∅es una expresión regular.
εes una expresión regular.
Sia∈Σentoncesaes una expresión regular.
Siα, β son expresiones regulares entoncesαβ, α+β, α? son
expresiones regulares.
Lenguajes Regulares Expresiones Regulares
Expresiones regulares
Definición
Un mecanismo de suma importancia para denotar lenguajes regulares es por medio de las llamadas expresiones regulares, definidas
recursivamente como sigue:
∅es una expresión regular.
εes una expresión regular.
Sia∈Σentoncesaes una expresión regular.
Siα, β son expresiones regulares entoncesαβ, α+β, α? son
expresiones regulares.
Lenguajes Regulares Expresiones Regulares
Expresiones regulares
Definición
Un mecanismo de suma importancia para denotar lenguajes regulares es por medio de las llamadas expresiones regulares, definidas
recursivamente como sigue:
∅es una expresión regular.
εes una expresión regular.
Sia∈Σentoncesaes una expresión regular.
Siα, β son expresiones regulares entoncesαβ, α+β, α? son
expresiones regulares.
Lenguajes Regulares Expresiones Regulares
Expresiones regulares
Definición
Un mecanismo de suma importancia para denotar lenguajes regulares es por medio de las llamadas expresiones regulares, definidas
recursivamente como sigue:
∅es una expresión regular.
εes una expresión regular.
Sia∈Σentoncesaes una expresión regular.
Siα, β son expresiones regulares entoncesαβ, α+β, α? son
expresiones regulares.
Lenguajes Regulares Expresiones Regulares
Expresiones regulares
Definición
Un mecanismo de suma importancia para denotar lenguajes regulares es por medio de las llamadas expresiones regulares, definidas
recursivamente como sigue:
∅es una expresión regular.
εes una expresión regular.
Sia∈Σentoncesaes una expresión regular.
Siα, β son expresiones regulares entoncesαβ, α+β, α? son
expresiones regulares.
Lenguajes Regulares Expresiones Regulares
Significado de una ER
Expresiones Regulares
Dada una expresión regularα, su significado es un lenguaje regular,
denotadoL(α), definido como sigue:
L(∅) =∅
L(ε) =ε
L(a) ={a} siα∈Σ L(αβ) =L(α)L(β)
L(α+β) =L(α)∪L(β)
Lenguajes Regulares Expresiones Regulares
Significado de una ER
Expresiones Regulares
Dada una expresión regularα, su significado es un lenguaje regular,
denotadoL(α), definido como sigue:
L(∅) =∅
L(ε) =ε
L(a) ={a} siα∈Σ L(αβ) =L(α)L(β)
L(α+β) =L(α)∪L(β)
Lenguajes Regulares Expresiones Regulares
Significado de una ER
Expresiones Regulares
Dada una expresión regularα, su significado es un lenguaje regular,
denotadoL(α), definido como sigue:
L(∅) =∅
L(ε) =ε
L(a) ={a} siα∈Σ
L(αβ) =L(α)L(β)
L(α+β) =L(α)∪L(β)
Lenguajes Regulares Expresiones Regulares
Significado de una ER
Expresiones Regulares
Dada una expresión regularα, su significado es un lenguaje regular,
denotadoL(α), definido como sigue:
L(∅) =∅
L(ε) =ε
L(a) ={a} siα∈Σ L(αβ) =L(α)L(β)
L(α+β) =L(α)∪L(β)
Lenguajes Regulares Expresiones Regulares
Significado de una ER
Expresiones Regulares
Dada una expresión regularα, su significado es un lenguaje regular,
denotadoL(α), definido como sigue:
L(∅) =∅
L(ε) =ε
L(a) ={a} siα∈Σ L(αβ) =L(α)L(β)
L(α+β) =L(α)∪L(β)
Lenguajes Regulares Expresiones Regulares
Significado de una ER
Expresiones Regulares
Dada una expresión regularα, su significado es un lenguaje regular,
denotadoL(α), definido como sigue:
L(∅) =∅
L(ε) =ε
L(a) ={a} siα∈Σ L(αβ) =L(α)L(β)
L(α+β) =L(α)∪L(β)
Lenguajes Regulares Expresiones Regulares
Lenguajes y Expresiones Regulares
Se cumple la siguiente relación entre lenguajes y expresiones regulares:
Proposición
Un lenguaje M ⊆Σ?es regular si y sólo si existe una expresión regularαtal que M =L(α).
Demostración.
La dirección⇐es directa. Para la otra dirección hacemos inducción
Lenguajes Regulares Expresiones Regulares
Lenguajes y Expresiones Regulares
Se cumple la siguiente relación entre lenguajes y expresiones regulares:
Proposición
Un lenguaje M ⊆Σ?es regular si y sólo si existe una expresión regularαtal que M =L(α).
Demostración.
La dirección⇐es directa. Para la otra dirección hacemos inducción
Lenguajes Regulares Expresiones Regulares
Equivalencia de Expresiones regulares
Definición
Lenguajes Regulares Propiedades
Propiedades
Expresiones Regulares
α+ (β+γ) = (α+β) +γ α+β =β+α
α+∅=α α+α=α
αε=α α∅=∅
Lenguajes Regulares Propiedades
Propiedades
Expresiones Regulares
α+ (β+γ) = (α+β) +γ α+β =β+α
α+∅=α α+α=α
αε=α α∅=∅
Lenguajes Regulares Propiedades
Propiedades
Expresiones Regulares
α+ (β+γ) = (α+β) +γ α+β =β+α
α+∅=α α+α=α
αε=α α∅=∅
Lenguajes Regulares Propiedades
Propiedades
Expresiones Regulares
α+ (β+γ) = (α+β) +γ α+β =β+α
α+∅=α α+α=α
αε=α α∅=∅
Lenguajes Regulares Propiedades
Propiedades
Expresiones Regulares
α(β+γ) =αβ+αγ (β+γ)α=βα+γα
ε? =ε ∅? =ε
αα?=α?α α? =α?α? = (α?)?
α? =ε+αα? (α+β)? = (α?+β?)?
Lenguajes Regulares Propiedades
Propiedades
Expresiones Regulares
α(β+γ) =αβ+αγ (β+γ)α=βα+γα
ε? =ε ∅? =ε
αα?=α?α α? =α?α? = (α?)?
α? =ε+αα? (α+β)? = (α?+β?)?
Lenguajes Regulares Propiedades
Propiedades
Expresiones Regulares
α(β+γ) =αβ+αγ (β+γ)α=βα+γα
ε? =ε ∅? =ε
αα? =α?α α? =α?α? = (α?)?
α? =ε+αα? (α+β)? = (α?+β?)?
Lenguajes Regulares Propiedades
Propiedades
Expresiones Regulares
α(β+γ) =αβ+αγ (β+γ)α=βα+γα
ε? =ε ∅? =ε
αα? =α?α α? =α?α? = (α?)?
α? =ε+αα? (α+β)? = (α?+β?)?
Lenguajes Regulares Propiedades
Propiedades
Expresiones Regulares
α(β+γ) =αβ+αγ (β+γ)α=βα+γα
ε? =ε ∅? =ε
αα? =α?α α? =α?α? = (α?)?
α? =ε+αα? (α+β)? = (α?+β?)?
Lenguajes Regulares Propiedades de Cerradura
Propiedades de cerradura
Lenguajes regulares
Las propiedades de cerradura nos permiten construir nuevos
lenguajes regulares a partir de lenguajes ya conocidos por medio de algunas operaciones entre lenguajes.
SiL,Mson lenguajes regulares entonces:
L∪M es regular.
LM es regular.
L? es regular.
L+es regular.
Les regular
L∩M es regular.
Lenguajes Regulares Propiedades de Cerradura
Propiedades de cerradura
Lenguajes regulares
Las propiedades de cerradura nos permiten construir nuevos
lenguajes regulares a partir de lenguajes ya conocidos por medio de algunas operaciones entre lenguajes.
SiL,Mson lenguajes regulares entonces:
L∪M es regular.
LM es regular.
L? es regular.
L+es regular.
Les regular
L∩M es regular.
Lenguajes Regulares Propiedades de Cerradura
Propiedades de cerradura
Lenguajes regulares
Las propiedades de cerradura nos permiten construir nuevos
lenguajes regulares a partir de lenguajes ya conocidos por medio de algunas operaciones entre lenguajes.
SiL,Mson lenguajes regulares entonces:
L∪M es regular.
LM es regular.
L? es regular.
L+es regular.
Les regular
L∩M es regular.
Lenguajes Regulares Propiedades de Cerradura
Propiedades de cerradura
Lenguajes regulares
Las propiedades de cerradura nos permiten construir nuevos
lenguajes regulares a partir de lenguajes ya conocidos por medio de algunas operaciones entre lenguajes.
SiL,Mson lenguajes regulares entonces:
L∪M es regular.
LM es regular.
L? es regular.
L+es regular.
Les regular
L∩M es regular.
Lenguajes Regulares Propiedades de Cerradura
Propiedades de cerradura
Lenguajes regulares
Las propiedades de cerradura nos permiten construir nuevos
lenguajes regulares a partir de lenguajes ya conocidos por medio de algunas operaciones entre lenguajes.
SiL,Mson lenguajes regulares entonces:
L∪M es regular.
LM es regular.
L? es regular.
L+es regular.
Les regular
L∩M es regular.
Lenguajes Regulares Propiedades de Cerradura
Propiedades de cerradura
Lenguajes regulares
Las propiedades de cerradura nos permiten construir nuevos
lenguajes regulares a partir de lenguajes ya conocidos por medio de algunas operaciones entre lenguajes.
SiL,Mson lenguajes regulares entonces:
L∪M es regular.
LM es regular.
L? es regular.
L+es regular.
Les regular
L∩M es regular.
Lenguajes Regulares Propiedades de Cerradura
Propiedades de cerradura
Lenguajes regulares
Las propiedades de cerradura nos permiten construir nuevos
lenguajes regulares a partir de lenguajes ya conocidos por medio de algunas operaciones entre lenguajes.
SiL,Mson lenguajes regulares entonces:
L∪M es regular.
LM es regular.
L? es regular.
L+es regular.
Les regular
∩
Lenguajes Regulares Propiedades de Cerradura
Propiedades de cerradura
Lenguajes regulares
Las propiedades de cerradura nos permiten construir nuevos
lenguajes regulares a partir de lenguajes ya conocidos por medio de algunas operaciones entre lenguajes.
SiL,Mson lenguajes regulares entonces:
L∪M es regular.
LM es regular.
L? es regular.
L+es regular.
Les regular
L∩M es regular.
Lenguajes Regulares Propiedades de Cerradura
Aplicaciones de las expresiones regulares
Búsqueda y sustitución en editores de texto (vi, emacs, etc.)
Caza de patrones (pattern matching) y procesamiento de textos y conjuntos de datos, por ejemplo en minería de datos (grep, sed, awk, perl, etc.)
Lenguajes Regulares Propiedades de Cerradura
Aplicaciones de las expresiones regulares
Búsqueda y sustitución en editores de texto (vi, emacs, etc.)
Caza de patrones (pattern matching) y procesamiento de textos y conjuntos de datos, por ejemplo en minería de datos (grep, sed, awk, perl, etc.)
Lenguajes Regulares Propiedades de Cerradura
Aplicaciones de las expresiones regulares
Búsqueda y sustitución en editores de texto (vi, emacs, etc.)
Caza de patrones (pattern matching) y procesamiento de textos y conjuntos de datos, por ejemplo en minería de datos (grep, sed, awk, perl, etc.)
Lenguajes Regulares Propiedades de Cerradura
¿Cuando no es
L
regular?
Lenguajes Regulares
No todos los lenguajes son regulares, por ejemplo:
L={anbn|n≥1}
no es definible mediante una expresión regular.
¿Cómo decidir cuando un lenguaje no es regular?
Mediante propiedades de cerradura.
Lenguajes Regulares Propiedades de Cerradura
¿Cuando no es
L
regular?
Lenguajes Regulares
No todos los lenguajes son regulares, por ejemplo:
L={anbn|n≥1}
no es definible mediante una expresión regular.
¿Cómo decidir cuando un lenguaje no es regular?
Mediante propiedades de cerradura.
Lenguajes Regulares Propiedades de Cerradura
¿Cuando no es
L
regular?
Lenguajes Regulares
No todos los lenguajes son regulares, por ejemplo:
L={anbn|n≥1}
no es definible mediante una expresión regular.
¿Cómo decidir cuando un lenguaje no es regular?
Mediante propiedades de cerradura.
Lenguajes Regulares Propiedades de Cerradura
¿Cuando no es
L
regular?
Lenguajes Regulares
No todos los lenguajes son regulares, por ejemplo:
L={anbn|n≥1}
no es definible mediante una expresión regular.
¿Cómo decidir cuando un lenguaje no es regular?
Mediante propiedades de cerradura.
Autómatas Finitos
Autómatas
Introducción
Un autómata es una representación abstracta de una máquina.
Los aspectos relevantes para nosotros son diseño y especificación de autómatas.
Autómatas Finitos
Autómatas
Introducción
Un autómata es una representación abstracta de una máquina.
Los aspectos relevantes para nosotros son diseño y especificación de autómatas.
Autómatas Finitos
Autómatas
Introducción
Un autómata es una representación abstracta de una máquina.
Los aspectos relevantes para nosotros son diseño y especificación de autómatas.
Autómatas Finitos
Autómatas
Aplicaciones
Diseño de circuitos digitales.
Analizadores léxicos para compiladores.
Búsqueda de palabras clave en internet.
Verificación de sistemas de estados finitos. (por ejemplo protocolos de comunicación).
Autómatas Finitos
Autómatas
Aplicaciones
Diseño de circuitos digitales.
Analizadores léxicos para compiladores.
Búsqueda de palabras clave en internet.
Verificación de sistemas de estados finitos. (por ejemplo protocolos de comunicación).
Autómatas Finitos
Autómatas
Aplicaciones
Diseño de circuitos digitales.
Analizadores léxicos para compiladores.
Búsqueda de palabras clave en internet.
Verificación de sistemas de estados finitos. (por ejemplo protocolos de comunicación).
Autómatas Finitos
Autómatas
Aplicaciones
Diseño de circuitos digitales.
Analizadores léxicos para compiladores.
Búsqueda de palabras clave en internet.
Verificación de sistemas de estados finitos. (por ejemplo protocolos de comunicación).
Autómatas Finitos
Autómatas
Aplicaciones
Diseño de circuitos digitales.
Analizadores léxicos para compiladores.
Búsqueda de palabras clave en internet.
Autómatas Finitos Tipos de Autómatas
Tipos de Autómatas
Autómatas finitos: deterministas, no deterministas.
Autómatas de Pila.
Autómatas Linealmente Acotados.
Máquinas de Turing.
Autómatas Finitos Tipos de Autómatas
Tipos de Autómatas
Autómatas finitos: deterministas, no deterministas.
Autómatas de Pila.
Autómatas Linealmente Acotados.
Máquinas de Turing.
Autómatas Finitos Tipos de Autómatas
Tipos de Autómatas
Autómatas finitos: deterministas, no deterministas.
Autómatas de Pila.
Autómatas Linealmente Acotados.
Máquinas de Turing.
Autómatas Finitos Tipos de Autómatas
Tipos de Autómatas
Autómatas finitos: deterministas, no deterministas.
Autómatas de Pila.
Autómatas Linealmente Acotados.
Máquinas de Turing.
Autómatas Finitos Tipos de Autómatas
Tipos de Autómatas
Autómatas finitos: deterministas, no deterministas.
Autómatas de Pila.
Autómatas Linealmente Acotados.
Máquinas de Turing.
Autómatas Finitos Tipos de Autómatas
Tipos de Autómatas
¿Cómo se diferencian?
Detalles particulares del modelo.
Complejidad.
Funciones que pueden calcular.
Autómatas Finitos Tipos de Autómatas
Tipos de Autómatas
¿Cómo se diferencian?
Detalles particulares del modelo.
Complejidad.
Funciones que pueden calcular.
Autómatas Finitos Tipos de Autómatas
Tipos de Autómatas
¿Cómo se diferencian?
Detalles particulares del modelo.
Complejidad.
Funciones que pueden calcular.
Autómatas Finitos Tipos de Autómatas
Tipos de Autómatas
¿Cómo se diferencian?
Detalles particulares del modelo.
Complejidad.
Funciones que pueden calcular.
Autómatas Finitos Modelo General
Modelo General
Autómatas
Autómatas Finitos Modelo General
Lectura y unidad de control
Autómatas
Las cadenas de entrada se escriben sobre una cinta potencialmente infinita hacia la izquierda dividida en casillas y posee una unidad de
control ocabeza lectoraque lee desde la primera casilla y puede
Autómatas Finitos Autómatas Deterministas
Autómatas Finitos Deterministas
Definición
Un autómata finito determinista (AFD) es una quintupla
M =hQ,Σ, δ,q0,Fi
donde
Qes un conjunto finito de estados.
Σes el alfabeto de entrada.
δ :Q×Σ→Q es la función de transición.
q0∈Qes el estado inicial.
Autómatas Finitos Autómatas Deterministas
Autómatas Finitos Deterministas
Definición
Un autómata finito determinista (AFD) es una quintupla
M =hQ,Σ, δ,q0,Fi
donde
Qes un conjunto finito de estados.
Σes el alfabeto de entrada.
δ :Q×Σ→Q es la función de transición.
q0∈Qes el estado inicial.
Autómatas Finitos Autómatas Deterministas
Autómatas Finitos Deterministas
Definición
Un autómata finito determinista (AFD) es una quintupla
M =hQ,Σ, δ,q0,Fi
donde
Qes un conjunto finito de estados.
Σes el alfabeto de entrada.
δ :Q×Σ→Q es la función de transición.
q0∈Qes el estado inicial.
Autómatas Finitos Autómatas Deterministas
Autómatas Finitos Deterministas
Definición
Un autómata finito determinista (AFD) es una quintupla
M =hQ,Σ, δ,q0,Fi
donde
Qes un conjunto finito de estados.
Σes el alfabeto de entrada.
δ :Q×Σ→Qes la función de transición.
q0∈Qes el estado inicial.
Autómatas Finitos Autómatas Deterministas
Autómatas Finitos Deterministas
Definición
Un autómata finito determinista (AFD) es una quintupla
M =hQ,Σ, δ,q0,Fi
donde
Qes un conjunto finito de estados.
Σes el alfabeto de entrada.
δ :Q×Σ→Qes la función de transición.
q0∈Qes el estado inicial.
Autómatas Finitos Autómatas Deterministas
Autómatas Finitos Deterministas
Definición
Un autómata finito determinista (AFD) es una quintupla
M =hQ,Σ, δ,q0,Fi
donde
Qes un conjunto finito de estados.
Σes el alfabeto de entrada.
δ :Q×Σ→Qes la función de transición.
q0∈Qes el estado inicial.
Autómatas Finitos Autómatas Deterministas
Autómatas Finitos Deterministas
Ejemplo
Σ ={a,b} Q={q0,q1,q2}
q0:estado inicial
F ={q0,q2}, estados de aceptación.
Función de transiciónδ:
δ a b
q0 q0 q1
q1 q1 q2
δ(q0,a) =q0 δ(q0,b) =q1
δ(q1,a) =q1 δ(q1,b) =q2
Autómatas Finitos Autómatas Deterministas
Determinismo
Autómatas finitos
Los autómatas finitos descritos arriba se denominanautómatas
finitos deterministasya que para cada estadoq y para cada símbolo
a∈Σ, la función de transiciónδ(q,a)siempre está definida. Es decir,
la función de transiciónδ determina unívocamentela acción que el
autómata realiza cuando el control finito se encuentra en un estadoq
Autómatas Finitos Autómatas Deterministas
Lenguaje de aceptación
Autómatas Finitos
Dado un autómataM, ellenguaje aceptado o reconocidoporMse
denotaL(M)y se define por
L(M) := {u ∈Σ∗ :Mse detiene al procesar
Autómatas Finitos Diagramas de Estados
Diagrama de estados
Autómatas finitos
Un autómata finito se puede representar por medio de un grafo dirigido y etiquetado.
El grafo de un autómata se obtiene como sigue:
Los vértices o nodos son los estados del autómata.
El estadoqse representa por:
Autómatas Finitos Diagramas de Estados
Diagrama de estados
Autómatas finitos
Un autómata finito se puede representar por medio de un grafo dirigido y etiquetado. El grafo de un autómata se obtiene como sigue:
Los vértices o nodos son los estados del autómata.
El estadoqse representa por:
Autómatas Finitos Diagramas de Estados
Diagrama de estados
Autómatas finitos
Un autómata finito se puede representar por medio de un grafo dirigido y etiquetado. El grafo de un autómata se obtiene como sigue:
Los vértices o nodos son los estados del autómata.
El estadoqse representa por:
Autómatas Finitos Diagramas de Estados
Diagrama de estados
Autómatas finitos
Un autómata finito se puede representar por medio de un grafo dirigido y etiquetado. El grafo de un autómata se obtiene como sigue:
Los vértices o nodos son los estados del autómata.
El estadoqse representa por:
Autómatas Finitos Diagramas de Estados
Diagrama de estados
Autómatas finitos
Un estado finalqse representa por:
Autómatas Finitos Diagramas de Estados
Diagrama de estados
Autómatas finitos
Un estado finalqse representa por:
Autómatas Finitos Diagramas de Estados
Diagrama de estados
Ejemplo
Σ ={a,b} Q={q0,q1,q2}
q0:estado inicial
F ={q0,q2}, estados de aceptación.
Función de transiciónδ:
δ a b
q0 q0 q1
q1 q1 q2
Autómatas Finitos Diagramas de Estados
Estado de error
Diagrama de estados
Para autómatas deterministas se adopta la siguiente convención adicional con respecto a los diagramas de estados:
Se asume que las aristas no dibujadas explícitamente conducen a un estado de no-aceptación llamado estado de error.
Autómatas Finitos Diagramas de Estados
Estado de error
Diagrama de estados
Para autómatas deterministas se adopta la siguiente convención adicional con respecto a los diagramas de estados:
Se asume que las aristas no dibujadas explícitamente conducen a un estado de no-aceptación llamado estado de error.
Autómatas Finitos Diagramas de Estados
Estado de error
Diagrama de estados
Para autómatas deterministas se adopta la siguiente convención adicional con respecto a los diagramas de estados:
Se asume que las aristas no dibujadas explícitamente conducen a un estado de no-aceptación llamado estado de error.
Autómatas Finitos Problemas Importantes
Problemas de interés
Autómatas finitos
Los problemas que nos interesa resolver son:
Dado un autómataM determinar el lenguaje aceptado porM.
Dado un lenguaje regularLdiseñar un autómata finito
deterministaM que acepte o reconozca aL, es decir, tal que
L(M) =L.
Más adelante se demostrará que estos problemassiempretienen
Autómatas Finitos Problemas Importantes
Problemas de interés
Autómatas finitos
Los problemas que nos interesa resolver son:
Dado un autómataM determinar el lenguaje aceptado porM.
Dado un lenguaje regularLdiseñar un autómata finito
deterministaM que acepte o reconozca aL, es decir, tal que
L(M) =L.
Más adelante se demostrará que estos problemassiempretienen
Autómatas Finitos Problemas Importantes
Problemas de interés
Autómatas finitos
Los problemas que nos interesa resolver son:
Dado un autómataM determinar el lenguaje aceptado porM.
Dado un lenguaje regularLdiseñar un autómata finito
deterministaM que acepte o reconozca aL, es decir, tal que
L(M) =L.
Más adelante se demostrará que estos problemassiempretienen
Autómatas Finitos Problemas Importantes
Problemas de interés
Autómatas finitos
Los problemas que nos interesa resolver son:
Dado un autómataM determinar el lenguaje aceptado porM.
Dado un lenguaje regularLdiseñar un autómata finito
deterministaM que acepte o reconozca aL, es decir, tal que
L(M) =L.