0% encontró este documento útil (0 votos)
122 vistas29 páginas

Autómatas y Lenguajes Formales: Unidades 1-3

Este documento presenta tres unidades sobre autómatas y lenguajes formales. Introduce los conceptos básicos de autómatas finitos deterministas y no deterministas, autómatas de pila y expresiones regulares. Incluye ejercicios prácticos como derivar expresiones regulares y lenguajes regulares a partir de autómatas dados, convertir entre autómatas finitos deterministas y no deterministas, minimizar autómatas finitos deterministas y construir un autómata de pila y una máquina de Turing propia.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
122 vistas29 páginas

Autómatas y Lenguajes Formales: Unidades 1-3

Este documento presenta tres unidades sobre autómatas y lenguajes formales. Introduce los conceptos básicos de autómatas finitos deterministas y no deterministas, autómatas de pila y expresiones regulares. Incluye ejercicios prácticos como derivar expresiones regulares y lenguajes regulares a partir de autómatas dados, convertir entre autómatas finitos deterministas y no deterministas, minimizar autómatas finitos deterministas y construir un autómata de pila y una máquina de Turing propia.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

AUTOMATAS Y LENGUAJES FORMALES

UNIDADES 1, 2, 3 – FASE 6

PRESENTADO POR:

CESAR ENRIQUE ARGUMEDO SUESCUN

CÓDIGO: 1.116.855.300

GRUPO:

301405_98

TUTOR.

EDGAR ANTONIO CORTES

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍAS E INGENIERÍAS

TAME ARAUCA

2017
INTRODUCCION

Los lenguajes regulares son la buena manera de validar campos de texto. Podemos utilizarlas para
obligar la entrada, aplicar reglas del formato, y mucho más hay varios métodos de cómo validar
información y entre ellos, se encuentran los autómatas de Pila que contienen las expresiones
regulares, que tienen parecido a una especie de lenguaje que se puede usar para buscar, remplazar
y sobreponer ciertos patrones en un texto, trabajable casi de manera igual que los autómatas
finitos y no finitos. Un autómata con pila o autómata de pila es un modelo matemático de un
sistema que recibe una cadena constituida por símbolos de un alfabeto y determina si esa cadena
pertenece al lenguaje que el autómata reconoce. El lenguaje que reconoce un autómata a pila
pertenece al grupo de los lenguajes de contexto libre en la clasificación de la jerarquía de
Chomsky.
Ejercicio 1:

De cada uno de los siguientes autómatas, realizar el procedimiento paso a paso de hallar la
expresión regular, el lenguaje regular y explicar el tipo de autómata que es:

1.

Expresión Regular

x=r x +s

x=r∗s

S=a q0 +b q2

B=a q2 +b q 1

A=a q1 +b q1 +ʎ

A=a q1 +b q1 +ʎ

A=( a+b ) q 2+ ʎ

¿
A=( a+b )

B=a q2 +b q 1

¿
B=a¿ (b ( a+b ) )
S=a q0 +b q2

S=a¿ ¿

Expresión regular:

ER=a¿ ( b ( a¿ ( b ( a∨b )¿ ) ) )

Lenguaje regular:

L=
{seguidaswpor∈ {auna,b }∗¿b , seguidas
ω=todas lascadenas que empienzen por una a o por muchas a ,
por una a o muchas a y que terminen en una a o b o muchas a y b }

Tipo de autómata

Es un autómata finito no determinista ya que es un autómata que tiene transiciones por un


símbolo de entrada desde un estado de origen y existe más de una transición posible.

2.

Expresión Regular

x=r x +s

x=r∗s
A=q0 =1 q0 +0 q 1
B=q1=1 q0 + 0 q2
S=q2=1 q 0+ 0 q2 + ʎ

S=q2=1 q 0+ 0 q2 + ʎ
S=q2= (1+ 0 ) q2 +ʎ
¿
S=q2= (1+ 0 )

B=q1=1 q0 + 0 q2
B=q1=1¿ 0 ( q 2 )
¿
B=q1=1¿ ( 0 ( 1+0 ) )

A=q0 =1 q0 +0 q 1
A=q0 =1¿ 0 ( q1 )

A=q0 =1¿ (0 ( 1¿ ( 0 ( 1+ 0 )¿ ) ) )

Expresión regular:
ER=1¿ ( 0 ( 1¿ ( 0 ( 1∨0 )¿ ) ) )

Lenguaje regular:
w ∈ { 1,0 }∗¿ ω=todas las cadenas que empienzen por un 1 o por muchas 1 ,
L=
{ seguidas por un 0 , seguidas por un 1 o muchos 1 , seguidas por un 0
y que terminen en un 0 o muchos 0 }
Tipo de autómata

Es un autómata finito no determinista ya que es un autómata que tiene transiciones por un


símbolo de entrada desde un estado de origen y existe más de una transición posible.
3.

Expresión Regular
x=r x +s
x=r∗s
S=q0 =0 q2 +1 q1
A=q1=1q 1
B=q2=0 q 1+ Ø q 3
C=q 3=1 q1

C=q 3=1 q1
C=q 3=1¿

B=q2=0 q 1+ Ø q 3
B=q2=( 0+ ∅ ) q 2
¿
B=q2=( 0+ ∅ )

A=q1=1q 1
A=q1=1¿

S=q0 =0 q2 +1 q1
¿
S=q0 =( 0+∅ ) 1 ( q1 )
S=q0 =1¿ ( 0+∅ )¿ ( 1 ( 1¿ ) )
Expresión regular:
ER=1¿ ( 0∨∅ )¿ ( 1 ( 1¿ ) )
Lenguaje regular:
w ∈ {1,0 }∗¿ ω=todaslas cadenas que empienzen por un 1 o por muchas1 ,
{
L= seguidas por un 0 o muchos 0 seguidas por cadena vacia , seguidas por un 1
y que terminen en un 1o muchos1 }
Tipo de autómata
Es un autómata finito no determinista ya que es un autómata que tiene transiciones por un
símbolo de entrada desde un estado de origen y existe más de una transición posible.

Teniendo en cuenta el siguiente autómata realizar los puntos siguientes:

Ejercicio 2: Realizar la conversión de AFD a AFND o de AFND a AFD según corresponda:

Es un autómata finito no determinista se realiza la conversión a un autómata finito determinista.


Tabla de transiciones:

ʎ a b c

Q0 Q1 Q2 Q0 Q4

Q1 ∅ Q1 ∅ ∅

Q2 ∅ Q4 Q0 ∅

Q3 ∅ Q5 Q 1 ,Q 4 ∅

Q4 Q1 Q3 ∅ Q0

Q5 ∅ Q2 Q4 Q3

Q6=Q 1 , Q4 Q1 Q 1 ,Q3 ∅ Q0

Q 7=Q 1 , Q 3 ∅ Q 1 ,Q5 Q4 ∅

Nueva tabla de transiciones:

ESTADO TRANSICIONES
a b c
q0 q2 q0 q4
¿ q1 q1 Ø Ø
q2 q4 q0 Ø
¿ q3 q5 q 4 , q1 Ø
¿ q4 q3 Ø q0
¿ q5 q2 q4 q3
¿ q6 q3, q1 Ø q0
q7 q5, q1 q4 Ø

Autómata:
Ejercicio 3: Realice la minimización paso a paso del autómata finito determinista

Ahora vamos a crear los nuevos conjuntos, el conjunto de los estados finales
o aceptadores y el conjunto de los estados no aceptadores.
A={ q 1 , q3 , q 4 , q5 , q6 }  Estados Aceptadores
B= { q0 , q2 , q7 }  Estados No Aceptadores

Determinamos las iteraciones de los conjuntos, comenzando con el conjunto


de los estados aceptadores
  a b c
q1 A θ B
q3 A θ B
q4 A A θ
q5 B A A
q6 A A θ
Procedo a encontramos las iteraciones del conjunto de los estados no
aceptadores
  a b c
q0 X X Y
q2 Y X Y
q7 Y X θ

Se separan los conjuntos que contienen iteraciones diferentes en nuevos


conjuntos, y los que contienen iteraciones idénticas en el mismo conjunto,
quedando de la siguiente manera:
A={ q 6 }
C = {q 1, q 3}
E = {q 4}
F = {q 5}
G = {q 0}
P = {q 2}
Q = {q 7}

Ahora nuevamente reviso las iteraciones de los nuevos conjuntos


A a b c
q6 Q C F

C a b c
q1 C ∅ G
q3 E C ∅

E a b c
q4 P C F

F a b c
q5 A C ∅

G a b c
q0 P G C

P a b c
q2 C G ∅

Q a b c
q7 C G ∅
Seguimos dividiendo los conjuntos:
A a b c
q6 Q C F

C a b c
q1 C ∅ G

E a b c
q4 P C F

F a b c
q5 A C ∅

G a b c
q0 P G C

P a b c
q2 C G ∅

Q a b c
q7 C G ∅

S a b c
q3 E C ∅

Graficamos nuestro nuevo autómata ya minimizado, teniendo en cuenta los


nuevos estados y sus transiciones, el cual nos queda de la siguiente manera:
Ejercicio 4: Realizar el autómata a Pila de L = {(a+b)*}

Para la siguiente cadena: bbbaaaabbbaaabbb


Para la cadena: aaabbbaaabbb
Ejercicio 5: Realizar una máquina de Turing de autoría propia y realice:
a. Recorra la máquina con al menos una cadena válida explicando lo sucedido
tanto en la cinta como en la secuencia de entrada.
La cadena ingresada es 10.

Recibe como entrada un 1.

Pasa la cinta a un 0 y se queda en q 0.


Llega a q1 cambiando un 0 por 1 y avanza a la derecha.

Después reemplaza a 1 por 1 y retrocede.

Después reemplaza a 1 por vacío y avanza a la izquierda, llegando al estado


q3.
Después reemplaza a 1 por vacío y avanza a la izquierda llegando al estado q4.

Después reemplaza a vacío por vacío y avanza a la izquierda llegando a q5.

Después reemplaza a vació por vació y avanza a la izquierda llegando a q6 que


es el estado aceptador.
b. Identifique una cadena que no sea válida y justifíquela porque
Cadena no valida 001.
Esta cadena es inválida porque no tiene los ceros necesarios para reemplazar
durante su recorrido por los estados.
c. Ejecute el RunTest a una cadena aceptada que tenga la menos cinco símbolos
d. Identifique en que momento la máquina se detiene.

La máquina se detiene cuando llega al estado de aceptación y la cabeza de la


cinta está sobre un espacio en blanco.
CONCLUSIONES

En el anterior trabajo se pusieron en práctica la temática vista de las tres unidades del curso de
autómatas y lenguajes formales.
BIBLIOGRAFIAS

Carrasco, R., Calera, R., Forcada, M. (2016). Teoría De Lenguajes, Gramáticas Y Autómatas
Para Informáticos. Recuperado de: http://bibliotecavirtual.unad.edu.co:2051/login.aspx?
direct=true&db=nlebk&AN=318032&lang=es&site=eds-live&ebv=EB&ppid=pp_Cover

Hernández, R. (2010). Practique la teoría de autómatas y lenguajes formales. (pp. 1 -124).


Recuperado de: http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?
docID=10566114&ppg=10

Millán, J., Antonio J. (2009). Compiladores y procesadores de lenguajes. (pp. 73-126).


Recuperado de: http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/detail.action?
docID=10844351

González, A. (2017). Minimización de un autómata. Recuperado de:


https://youtu.be/eOynYG8Ibk0

También podría gustarte