Unidad 2 Protocolo Individual

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

Asignatura Datos del estudiante Fecha

Apellidos: RAMIREZ CASSIANI


TEORIA DE
2021
AUTOMATAS
Nombre: TATIANA

Actividad
Protocolo individual de la unidad n°: 2

Análisis y síntesis:
Síntesis e interpretación personal de los temas vistos en la unidad

AUTOMATA FINITO
Un autómata finito 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. El autómata finito acepta una cadena x si la
secuencia de transiciones correspondientes a los símbolos de x conduce desde
el estado inicial a un estado final. Si para todo estado del autómata existe como
máximo una transición definida para cada símbolo del alfabeto, se dice que el
autómata es determinístico (AFD). Si a partir de algún estado y para el mismo
símbolo de entrada, se definen dos o más transiciones se dice que el autómata
es no determinístico.

La Teoría de Autómatas es una rama de la Teoría de la Computación que estudia


las máquinas teóricas llamadas autómatas. Estas máquinas son modelos
matemáticos.

Un Autómata está formado por un conjunto de estados, uno de los cuales es el


estado en el que la máquina se encuentra inicialmente. Recibe como entrada
una palabra (una concatenación de símbolos del alfabeto del autómata) y según
esta palabra la máquina puede cambiar de estados.

Los Autómatas se clasifican según el número de estados (finito o no), la forma en


que se realiza el cambio de estado (determinista o no), si acepta o no el símbolo
vacío ε, si tiene o no una pila, etc.

Los Autómatas están estrechamente relacionados con la máquina de Turing


(1936), de gran importancia en la Teoría de la Computación. Esto se debe a que
una máquina de Turing puede simular el almacenamiento y la unidad de control
de una computadora. Tenemos certeza de que lo que no puede ser resuelto por
una máquina de Turing no puede ser resuelto por una computadora real.

Autómata Finito Determinista


Asignatura Datos del estudiante Fecha
Apellidos: RAMIREZ CASSIANI
TEORIA DE
2021
AUTOMATAS
Nombre: TATIANA

Llamamos Autómata Finito Determinista a

A=(Q,Σ,δ,q0,F)A=(Q,Σ,δ,q0,F)

siendo

 Q el conjunto finito de estados, que denotaremos por

q0,q1,q2,...q0,q1,q2,...

 Σ el alfabeto, es decir, un conjunto finito de símbolos que


formarán palabras o cadenas.

El conjunto de palabras que se pueden formar concatenando los símbolos


de Σ se denota por Σ*. La palabra vacía, que no está formada por ningún
símbolo, forma parte de Σ*.

 δ es la función de transición. Determina el comportamiento del autómata.

δ(qi,a)=qjδ(qi,a)=qj

significa que si en el estado qi de Q el autómata recibe el símbolo de


entrada a de Σ, entonces pasa al estado qj de Q.

 q0 es el estado inicial, el estado en qué el autómata se encuentra


inicialmente.
 F es el subconjunto de Q (por tanto, finito) que contiene los estados de
aceptación (o finales), que son los estados que provocan la parada del
autómata.

Cuando se llega a uno de estos estados a través de una palabra w de Σ*,


diremos que el autómata acepta a dicha palabra (es una palabra del
lenguaje del autómata).

Representación o diagrama de un AFD

Representaremos los estados del AFD mediante círculos que encierran el nombre
del estado (q0, q1,...).

La posible transición
Asignatura Datos del estudiante Fecha
Apellidos: RAMIREZ CASSIANI
TEORIA DE
2021
AUTOMATAS
Nombre: TATIANA

δ(qi,x)=qjδ(qi,x)=qj

se representa mediante una flecha que empieza en qi y termina en qj con la


etiqueta "x".

Los circulos de los estados de aceptación tienen el borde doble.

El estado inicial, q0, se representa con una flecha que termina en dicho estado
(pero no empieza en ningún estado).

EJEMPLO 1

Ver explicación

Lenguaje de un AFD

Llamamos lenguaje del autómata finito determinista A, L(A), al conjunto de


palabras para las cuales el autómata llega a un estado de aceptación.

Si empleamos la función de transición extendida (definida más adelante),


podemos definir el lenguaje como

L(A):={w∈Σ∗ ∶ ˆδ(q0,w)∈F}

Autómata finito (máquina de estado finito). Es un modelo computacional que


realiza cómputos en forma automática sobre una entrada para producir una salida.

Este modelo está conformado por un alfabeto, un conjunto de estados y un


conjunto de transiciones entre dichos estados. Su funcionamiento se basa en una
función de transición, que recibe a partir de un estado inicial una cadena de
caracteres pertenecientes al alfabeto (la entrada), y que va leyendo dicha cadena
a medida que el autómata se desplaza de un estado a otro, para finalmente
detenerse en un estado final o de aceptación, que representa la salida.
Asignatura Datos del estudiante Fecha
Apellidos: RAMIREZ CASSIANI
TEORIA DE
2021
AUTOMATAS
Nombre: TATIANA

La finalidad de los autómatas finitos es la de reconocer lenguajes regulares, que


corresponden a los lenguajes formales más simples según la Jerarquía de
Chomsky.

Autómata finito determinista

Un autómata finito determinista (AFD) es un autómata finito que además es un


sistema determinista; es decir, para cada estado q ∈ Q en que se encuentre el
autómata, y con cualquier símbolo a ∈ Σ del alfabeto leído, existe siempre a lo
más una transición posible δ(q,a).

En un AFD no pueden darse ninguno de estos dos casos:

 Que existan dos transiciones del tipo δ(q,a)=q1 y δ(q,a)=q2, siendo q1 ≠ q2;
 Que existan transiciones del tipo δ(q,ε), salvo que q sea un estado final, sin
transiciones hacia otros estados.

Un ejemplo interesante de autómatas finitos deterministas son los tries.

Autómata finito no determinista

Un autómata finito no determinista (AFND) es aquel que, a diferencia de los


autómatas finitos deterministas, posee al menos un estado q ∈Q, tal que para un
símbolo a ∈ Σ del alfabeto, existe más de una transición δ(q,a) posible.

Haciendo la analogía con los AFDs, en un AFND puede darse cualquiera de estos
dos casos:

 Que existan transiciones del tipo δ(q,a)=q1 y δ(q,a)=q2, siendo q1 ≠ q2;


 Que existan transiciones del tipo δ(q,ε), siendo q un estado no-final, o bien un
estado final pero con transiciones hacia otros estados.

Cuando se cumple el segundo caso, se dice que el autómata es un autómata finito


no determinista con transiciones vacías o transiciones ε (abreviado AFND-ε).
Estas transiciones permiten al autómata cambiar de estado sin procesar ningún
símbolo de entrada.

Equivalencias entre autómatas finitos

Se dice que dos autómatas finitos son equivalentes, si ambos reconocen el mismo
lenguaje regular.

Toda expresión regular (que define a su vez un lenguaje regular) puede ser
expresada como un autómata finito determinista, y viceversa. Dada una expresión
regular, es posible construir un AFND-ε que reconozca dicho lenguaje, por
Asignatura Datos del estudiante Fecha
Apellidos: RAMIREZ CASSIANI
TEORIA DE
2021
AUTOMATAS
Nombre: TATIANA

ejemplo mediante el algoritmo de Thompson. Luego, todo AFND-ε puede


transformarse en un AFND equivalente, así como todo AFND puede
transformarse en un AFD equivalente, mediante el método llamado construcción
de conjunto potencia. Así, por transitividad, para cualquier autómata finito no
determinista siempre existe un autómata finito determinista equivalente, y
viceversa. Normalmente en el diseño de autómatas finitos, lo primero que se hace
es construir un AFND-ε, que es el más sencillo de construir, por poseer menos
restricciones en su función de transiciones. Luego dicho autómata se reduce a un
AFND, y finalmente a un AFD, el cual por sus características deterministas ya
puede ser implementado sin problemas utilizando un lenguaje de programación.

Existes diversas generalizaciones posibles de hacer sobre los autómatas finitos,


para aumentar su uso y expresividad. Así, por ejemplo, se definen los
transductores de estados finitos como autómatas finitos que están dotados
además de un alfabeto de salida, distinto al de entrada, y que pueden poseer más
de un estado inicial. Las máquinas de Moore y máquinas de Mealy son conocidos
ejemplos de transductores, que se utilizan sobre todo para modelar sistemas
secuenciales.

Es incluso posible aumentar el poder de cómputo de un autómata finito,


permitiendo un alfabeto adicional sobre éste, que actúe sobre una memoria de
tipo pila para ser considerada en cada transición. Esta es la idea utilizada por los
llamados autómatas con pila, los cuales son capaces de reconocer lenguajes
libres de contexto, que están un nivel por sobre los lenguajes regulares en la
Jerarquía de Chomsky.
Asignatura Datos del estudiante Fecha
Apellidos: RAMIREZ CASSIANI
TEORIA DE
2021
AUTOMATAS
Nombre: TATIANA

Discusión:
Dudas, desacuerdos, discusiones

Usando los autómatas finitos anteriores podemos construir una máquina para
cualquier expresión regular que describa a un lenguaje o conjunto regular. Por lo
tanto, la conclusión es de que la familia de lenguajes aceptados por una máquina
o autómata finito son del tipo regular.

Autómatas Finitos y Expresiones Regulares.

Los lenguajes regulares son definidos por medio de expresiones regulares y


aceptados por medio de autómatas finitos. Podemos establecer que un lenguaje
es regular si

- Es una expresión regular bajo un ∑.

- Es aceptado por un AFD, AFN o AFN- λ.

- Es generado por una gramática regular.

En cuanto a las expresiones regulares y autómatas, hemos ya comprobado en la


sección anterior que podemos construir un autómata finito para cualquier
expresión regular dada. Por otra parte existen métodos para producir una
expresión regular a partir de un autómata finito. Determinación de lenguajes
regulares y no regulares.

Dado el lenguaje {aibi | i<=n} ¿podemos construir un AFD que acepte dicho
lenguaje?

El siguiente AFD acepta dicho lenguaje pero está incompleto.

El AFD anterior está incompleto puesto que es imposible construir un AFD para
un lenguaje que no es regular. De hecho dicho lenguaje es del tipo contexto libre,
o es un lenguaje no regular.

Se puede demostrar que un lenguaje es regular al construir un autómata finito que


lo acepte. Pero para demostrar que no es regular necesitamos usar otras técnicas.

También podría gustarte