UNIDAD 2 LENGUAJES REGULARES

Anuncio
TEORIA DE LA COMPUTACION
UNIDAD 2 LENGUAJES REGULARES
ITM
UNIDAD 2
LENGUAJES REGULARES
2.1 AUTOMATAS FINITOS
2.1.1 AUTOMATAS FINITOS DETERMINISTICOS
1. Define un automata finito.
Es una quíntupla (S,∑,T,s,A) donde:
∑ es un alfabeto
S un conjunto de estados
T es la función de transición.
s E S es el estado inicial
A ⊆S es el conjunto de estados de aceptación o finales
2. ¿De que forma se puede representar un autómata finito?
Por medio de tablas de transiciones y de Diagramas de Transiciones.
3. Escriba las siglas del término autómata finito no deterministico y su significado en ingles.
NFA. Nondeterministic Finite Automaton.
4. De un ejemplo de tabla de transición.
0
1
S1
S2
S1
S2
S1
S2
5. ¿Que es un autómata finito no deterministico?
Es una quinta tupla ( Q, S , q0, d , F) en donde Q, S , q0 y F (estados, entradas, estado inicial y
estados finales) poseen el mismo significado que para un DFA, pero en este caso d es una
transformación de Q x S a 2Q.
6. ¿Que es un autómata finito no deterministico con movimiento e.?
Es como la quinta tupla ( Q, S , d , q0, F) con todos sus componentes igual que a un NFA, con
excepción de d , la función de transición, que ahora transforma Q x (S È {e }) a 2Q; para incluir
transiciones de un estado a otro que no dependan de ninguna entrada. Se puede añadir una
columna en la tabla de d para colocar los pares de la forma (qi, e ). Cuando hay e -transiciones en
un NFA es conveniente suponer que cada estado tiene una e -transición que cicla en ese estado. Es
como la quinta tupla ( Q, S , d , q0, F) con todos sus componentes igual que a un NFA, con
excepción de d , la función de transición, que ahora transforma Q x (S È {e }) a 2Q; para incluir
transiciones de un estado a otro que no dependan de ninguna entrada. Se puede añadir una
columna en la tabla de d para colocar los pares de la forma (qi, e ). Cuando hay e -transiciones en
un NFA es conveniente suponer que cada estado tiene una e -transición que cicla en ese estado.
MARIA DEL CARMEN FLORES DOMINGUEZ
TEORIA DE LA COMPUTACION
UNIDAD 2 LENGUAJES REGULARES
ITM
7. Si M es un NFA, ¿como se define el lenguaje aceptado por M.?
Definiremos el lenguaje aceptado por M por medio de L(M)={w ½ w es una cadena aceptada por M}
donde una cadena w es aceptada por M, si M pasa de su estado inicial a su estado de aceptación o
final al recorrer w (w es consumida en su totalidad).
8. ¿Que es un autómata finito?
Un autómata finito o máquina de estado finito 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.
9. De un concepto de autómata finito determinista.
Autómata finito no determinista es aquel que presenta cero, una o más transiciones por el mismo
carácter del alfabeto y se clasifican en: con transiciones Σ y sin transiciones Σ dependiendo de la
existencia o no de una o más transiciones sin que el autómata lea el próximo carácter de la cadena
que está analizando.
10. ¿Cuando se dice que el autómata no es deterministico?
Cuando a partir de algún estado y para el mismo símbolo de entrada, se definen dos o más
transiciones.
MARIA DEL CARMEN FLORES DOMINGUEZ
TEORIA DE LA COMPUTACION
UNIDAD 2 LENGUAJES REGULARES
ITM
2.1.2 AUTOMATAS FINITOS NO DETERMINISTICOS
1. ¿Qué es un autómata finito?
R: es un modelo matemático de una máquina que acepta cadenas de un lenguaje definido sobre un
alfabeto A. Consiste en un conjunto finito de estados y un conjunto de transiciones entre esos
estados, que dependen de los símbolos de la cadena de entrada.
2. ¿Cuando se dice que el autómata es deterministico?
R: Cuando para todo estado del autómata existe como máximo una transición definida para cada
símbolo del alfabeto.
3. ¿Cuando se dice que el autómata no es deterministico?
R: Cuando a partir de algún estado y para el mismo símbolo de entrada, se definen dos o más
transiciones.
4. ¿Menciona 2 formas de representar autómatas finitos?
R: Las Tablas de Transiciones: la tabla de transición para el AF del ejemplo 1 es
0 1
S1 S2 S1
S2 S1 S2
Los Diagramas de Transiciones: el diagrama de transición para el AF del ejemplo 1 es
5. Menciona la descripción informal de un autómata finito.
R: En el comienzo del proceso de reconocimiento de una cadena, el AF se encuentra en el estado
inicial y a medida que procesa cada símbolo de la cadena va cambiando de estado de acuerdo a lo
determinado por la función de transición. Cuando se ha procesado el último de los símbolos de la
cadena de entrada, el autómata se detiene. Si el estado en el que se detuvo es un estado de
aceptación o final, entonces la cadena pertenece al lenguaje reconocido por el autómata, caso
contrario, la cadena no pertenece a dicho lenguaje
MARIA DEL CARMEN FLORES DOMINGUEZ
TEORIA DE LA COMPUTACION
UNIDAD 2 LENGUAJES REGULARES
MARIA DEL CARMEN FLORES DOMINGUEZ
ITM
TEORIA DE LA COMPUTACION
UNIDAD 2 LENGUAJES REGULARES
ITM
6. Dibuja el esquema lógico de un autómata finito.
7. Menciona las características de los autómatas finitos deterministicos.
1. Un conjunto finito de estados y un conjunto de transiciones de estado a estado, que se dan
sobre símbolos de entrada tomados de un alfabeto S.
2. Para cada símbolo de entrada existe exactamente una transición a partir de cada estado
(posiblemente de regreso al mismo estado).
3. Un estado, por lo general denotado como q0 es el estado inicial, en el que el autómata
comienza.
4. Algunos estados (tal vez ninguno) están designados como final o de aceptación.
8. ¿Qué son las expresiones regulares?
R: Los lenguajes aceptados por un autómata finito se describen con facilidad mediante expresiones
simples llamadas expresiones regulares.
9. ¿Cuántas maneras de diferenciar un Autómata PushDown y un Autómata Finito?
1.-Pueden utilizar la tapa del apilado para calcular hacia fuera qué transición a la toma.
2.-Pueden manipular el apilado como parte de realizar una transición.
10. Formalmente un autómata finito determinista consiste en una quíntupla, descríbela.





S: es un conjunto finito de estados.
: es el alfabeto de la maquina.
: es una función(función de transición) de SXS a S
i: estado inicial(un elemento de S)
F: conjunto de estados de aceptación (sub.-conjunto de S)
MARIA DEL CARMEN FLORES DOMINGUEZ
TEORIA DE LA COMPUTACION
UNIDAD 2 LENGUAJES REGULARES
ITM
2.3 LENGUAJES NO REGULARES
1.- ¿Por que se utilizan las expresiones matemáticas para la explicación de lenguajes no
regulares?
R= Por que este tipo de ejemplos indican como pueden mejorarse las técnicas de análisis léxico,
para permitirnos una mayor gama de estructuras de cadenas.
2.- ¿Por que en estas expresiones debe existir el mismo numero de paréntesis izquierdos y
derechos?
R= Por que al recorrer la expresión de izquierda a derecha, el numero de paréntesis derechos
detectados no debe exceder el numero de paréntesis izquierdos encontrados, hasta ese punto.
3.- ¿Que podemos intuir con estas observaciones sobre el análisis de expresiones
aritméticas?
R= Nos dice que el análisis de estas expresiones requiere la habilidad para recordar cuantos
paréntesis izquierdos se han encontrado sin que exista un paréntesis derecho correspondiente.
4.- ¿Podemos decir que el análisis de expresiones aritméticas que contienen paréntesis es
una tarea que rebasa las capacidades de los autómatas finitos?
R= Si puesto que un autómata determinista no tiene manera de almacenar este recuento para una
referencia posterior.
5.- ¿De que nos habla el teorema sobre las cadenas de la forma xn yn?
R= Si un lenguaje regular contiene cadenas de la forma xnyn para enteros n arbitrariamente grandes,
entonces debe contener cadenas de la forma xmyn, donde m y n no son iguales.
6.- ¿Que pasaría si un autómata finito determinista aceptara expresiones xmyn?
R= Entonces tendría que aceptar expresiones de la forma (n)n para enteros arbitrariamente grandes.
7.-¿ De que mas nos habla el teorema acerca de los autómatas de este tipo?
R= Nos dice que un autómata de este tipo también debe aceptar expresiones en donde el numero de
paréntesis izquierdos no sea igual al numero de paréntesis derechos.
MARIA DEL CARMEN FLORES DOMINGUEZ
TEORIA DE LA COMPUTACION
UNIDAD 2 LENGUAJES REGULARES
ITM
8.- ¿Que pasaría si autómata finito repasa la sintaxis de un lenguaje de programación de alto
nivel?
R=Se encontraría que no podría reconocer todos los detalles de la estructura de el programa ya que
es probable que el lenguaje permita emplear paréntesis en expresiones aritméticas.
9.- ¿Que permite la simplicidad de este nivel de lenguaje?
R= la simplicidad de este lenguaje no es fortuita: permite construir el analizador léxico del compilador
utilizando técnicas sencillas.
10.- ¿Que podemos concluir acerca de los autómatas finitos deterministas?
R= Podemos notar que aunque tengan un poder limitado, no son inútiles ya que pueden procesar la
estructura de construcciones como palabras reservadas, nombres de variables y símbolos de
operaciones.
MARIA DEL CARMEN FLORES DOMINGUEZ
Documentos relacionados
Descargar