Vous êtes sur la page 1sur 15

Unidad 3 Autómatas finitos

Germain
Mayra
Melchor
Robert
Fidel
Índice Unidad 3
Índice Unidad 3 ......................................................................................................................2
Introducción ........................................................................................................................... 3
Investigación: Autómatas finitos .......................................................................................... 4
3.1 Conceptos: Definición y Clasificación de Autómata Finito (AF). .............................. 4
3.2 Conversión de un Autómata Finito No Determinista (AFND) a Autómata Finito
Determinista (AFD). ...........................................................................................................4
3.3 Representación de ER usando AFND ........................................................................5
3.4 Minimización de estados en un AF ............................................................................6
3.5 Aplicaciones (definición de un caso de estudio) ......................................................7
Cuadro comparativo ..........................................................................................................9
Ensayos ............................................................................................................................... 10
Melchor Alberto Can Mis ................................................................................................ 10
Mayra Nicolasa Pech Chimal ......................................................................................... 11
Robert Antonio Fernández Chan.................................................................................... 12
Germain Roberto Rosado Can ....................................................................................... 13
Fidel Andrei Tec Ucan ..................................................................................................... 14
Conclusión........................................................................................................................... 15
Introducción
En el siguiente escrito se abordarán temas a cerca de los autómatas finitos y subtemas
de la unidad 3 del plan de estudios de la materia LENGUAJES Y AUTOMATAS I; donde se
aprenderá y conocerá la importancia del estudio de los autómatas dentro de los
procesos de desarrollo de software, y algunas aplicaciones. Partiendo del conocimiento
de sus comportamientos, aspectos y características más relevantes de estos
autómatas. Los autómatas son esencialmente importantes en las actividades sociales,
ya que se encuentran dentro de todo tipo de maquinaria y aplicaciones desarrolladas,
donde estas tienen las funcionalidades específicas con las que realizan sus operaciones
y actividades; además de sus comportamientos, características y funcionalidad que
tienden los autómatas se detallara cómo influyen en la vida social y real de los ser
humanos. Los autómatas finitos, son antes de todas logísticas matemáticas, en las que
se realizan operaciones en cada estado de los eventos, estos eventos pueden ser de un
solo estado o varios; al tener acciones con estados de dos o más eventos, los autómatas
finitos tienden a cambiar de finitos determinísticos a no determinísticos. Dentro de estas
hojas se denotan las esquematizaciones de los nuevos autómatas finitos:

 Determinísticos
 No Determinísticos

Se conocerán su estructuras, funcionalidades y comportamientos entre estos dos tipos


de autómatas, dentro de ello se abarcará las conversiones o transformaciones entre
estos autómatas. Como breve definición 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. En la sección de la MT, se conocerá deforma
formal que es una máquina de Turing y sus componentes; además de ello se detallara
de forma explícita algunos conceptos sobre su desarrollo y formación. La máquina de
Turing es un dispositivo capaz de establecer los problemas intratables, para conocer si
es resolutorio o no. Tales confirmaciones se deben y se detallan de cada proceso
u problemas matemáticos de la vida real. Al igual que los AF la máquina de Turing utiliza
estructuras, transiciones y formas de conformación para la representación de los
modelos matemáticos, de situación en las que se desea conocer si estos tienen
soluciones, ya que un computador no puede definir dicha confirmación, ya que es un
proceso tardado.
Investigación: Autómatas finitos
Un autómata finito (AF) o 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.
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.
3.1 Conceptos: Definición y Clasificación de Autómata Finito (AF).
Formalmente, un autómata finito es una 5-tupla (Q, Σ, q0, δ, F) donde:

En el comienzo del proceso de reconocimiento de una cadena de entrada, el autómata


finito 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 en el estado final del proceso. Si el estado final en el que se
detuvo es un estado de aceptación, entonces la cadena pertenece al lenguaje
reconocido por el autómata; en caso contrario, la cadena no pertenece a dicho lenguaje.

Note que el estado inicial de un autómata q0 finito siempre es único, en tanto que los
estados finales pueden ser más de uno, es decir, el conjunto F puede contener más de
un elemento. También puede darse el caso de que un estado final corresponda al mismo
estado inicial.

3.2 Conversión de un Autómata Finito No Determinista (AFND) a Autómata Finito


Determinista (AFD).

 Los autómatas se pueden clasificar en:


Deterministas; Cada combinación (estado, símbolo de entrada) produce un solo estado.
 No Deterministas; Cada combinación (estado, símbolo de entrada) produce arios
estados y además son las transiciones con λ.
3.3 Representación de ER usando AFND
ERs, AFDs, y AFNDs son mecanismos equivalentes para denotar los lenguajes
regulares. Las dos primeras conversiones son muy relevantes en la práctica, pues
permiten construir verificadores o buscadores eficientes a partir de ERs

Existen algoritmos que relacionan la especificación de tokens (expresiones


regulares), con el reconocimiento de éstos (autómatas finitos). Es posible dada
una expresión regular obtener el AFD que reconozca las cadenas del lenguaje
denotado por la expresión regular. También es posible obtener el
AFND que reconozca el lenguaje representado por dicha expresión regular.
El algoritmo que permite construir el autómata finito determinístico está fuera del
alcance de estas notas. Sin embargo, el algoritmo utilizado para la construcción del
autómata finito no determinístico AFND, es relativamente sencillo de aplicar, ya que

se basa en reglas simples.


Este algoritmo es dirigido por sintaxis, es decir, usa la estructura sintáctica de la
expresión regular para guiar el proceso de construcción del autómata AFND.
Supongamos que N(s)y N(t)son AFND’s para las expresiones regulares sy t,
respectivamente.
a) Para la expresión regular s | t(alternancia), construir el siguiente AFND,
N(s|t):
b) Para la expresión regular st(concatenación), construir el AFND, N(st):

c) Para la expresión regular s*, construir el AFND, N(s*):

3.4 Minimización de estados en un AF


Dos estados de un autómata finito determinista son estados equivalentes si al unirse
en un sólo estado, pueden reconocer el mismo lenguaje regular que si estuviesen
separados.
Un AFD está minimizado, si todos sus estados son distinguibles y alcanzables. Un
algoritmo de minimización de AFD es el siguiente:
1.- Eliminar los estados inaccesibles es del autómata.
2.- Construir una tabla con todos los pares (p, q) de estados restantes.
3.- Marcar en la tabla aquellas entradas donde un estado es final y el otro es no-final,
es decir, aquellos pares de estados que son claramente distinguibles.
4.- Para cada par (p, q) y cada símbolo a del alfabeto, tal que
r = δ(p,a) y s = δ(q,a):
1.- Si (r, s) ya ha sido marcado, entonces p y q tam-
bién son distinguibles, por lo tanto, marcar la entrada (p, q).
2.-De lo contrario, colocar (p, q) en una lista asociada a la entrada (r, s).
5.- Agrupar los pares de estados no marcados.
Luego del tercer paso, si la tabla creada queda comple-
tamente marcada, entonces el AFD inicial ya era mínimo. La complejidad
computacional del problema de minimizar un AFD es polinomio.
Método para minimizar un autómata finito determinista.
Dado un AFD M = (Q, Σ, δ, q0, F), se trata de encontrar un AFD M′ con L(M) = L(M′ ) y tal
que M′ tenga el mínimo número de estados posible. Para ello, el método consiste en
encontrar todos los estados que son equivalentes, es decir, que son indistinguibles en
el autómata. Por cada clase de estados equivalentes, el autómata mínimo necesitara un
solo estado.
En el siguiente autómata, los estados A y B son equivalentes:

El método para minimizar un autómata consiste básicamente en encontrar todos los


estados que son indistinguibles entre sí y sustituirlos por un ´único estado. Para ello lo
principal es averiguar qué estados son distinguibles y cuáles no.

3.5 Aplicaciones (definición de un caso de estudio)


Un autómata finito M consta de 5 elementos:
1.- un conjunto finito A de símbolos de entrada.
2.- un conjunto finito S de estados internos.
3.- un sub-conjunto T de S (cuyos elementos se llaman estados de aceptación).
4.- un estado inicial q0 en S.
5.- una función de estado próximo F de S*A en S.

El autómata M se denota por M= cuando queremos designar sus 5 partes.


Ejemplo: lo siguiente define un autómata finito con dos símbolos de entrada y tres
estados.

A={a , b}, símbolo de entrada


S={q0,q1,q2}, estados
T={q0,q1}, estados de aceptación
q0 estado inicial
La función de estado próximo F: s*a, s definida por la siguiente tabla:
podemos describir concisamente un autómata finito M por su diagrama de estado
como se hizo con las máquinas de estado finito excepto que usaremos círculos
dobles para estados de aceptación, y cada segmento se rotula solamente con el
símbolo de entrada específicamente el diagrama de estado D de M es un grafo
dirigido rotulado cuyos nodos son los estados de S; también el estado inicia q0 se
denota poniendo una flecha que entra al nodo q0. Por ejemplo, el diagrama de

estado para el autómata M del ejemplo anterior seria el siguiente:


Decimos que M reconoce o acepta la cadena w si el estado final, Sn, es un estado
de aceptación o sea si Sn Є T. L(M) denotara el conjunto de las cadenas que
reconoce M. Por ejemplo, se puede mostrar que el autómata M anterior reconocerá
aquellas cadenas que no tienen dos b sucesivas.
Cuadro comparativo

AFND AFD
La transición desde un estado puede tener como
La transición desde un estado puede tener múltiples destino un único estado. Por eso se llama
destinos. Por eso se le llama no determinista. determinista.

No se aceptan transiciones con cadenas vacías.


Permite transiciones con cadenas vacías.
Se permite el uso de backtracking

No siempre se permite el uso de backtracking.


Requiere más espacio.

Requiere menos espacio.


Una cadena es aceptada si solo una de todas sus Una cadena es aceptada si su transición es hacia un
posibles transiciones son hacia un estado final. estado final.

UN AFND SE DEFINE COMO: Mientras en un AFD esta función se define de la

siguiente manera:
Ensayos

Melchor Alberto Can Mis


Los autómatas funcionan como maquinas las cuales nos ayudan a resolver problemas
complejos en cuanto a áreas profesionales o de estudio.
Una maquina abstractas que dio un cambio de rumbo a lo que son los modelos de
teorías de computación, ya que estos autómatas definen y son ejemplos de lo que son
las teorías para computadoras. Una máquina de Turing es un dispositivo que manipula
símbolos sobre una tira de cinta de acuerdo a una tabla de reglas, Las máquinas de
Turing ayudan a los científicos a entender los límites del cálculo mecánico.
Existen dos tipos de autómatas, entre ellos: Autómatas finitos: deterministas y no
deterministas Autómatas cooperativos
Los autómatas finitos son una quíntupla que denotaremos de manera genérica por
M=(Q,Σ,q0,δ,F) donde:
Q=es un conjunto finito cuyos elementos llamaremos estados.
Σ=es un alfabeto que llamamos alfabeto de entrada.
q0∈Q=es un estado señalado que llamamos estado inicial.
F=es un subconjunto de Q no vacío, cuyos elementos llamamos estados finales.
δ=es una aplicación de Q×Σ→Q , que llamamos función de transición.
La función de transición es la verdadera clave de la máquina. Obsérvese que es una
aplicación, así cada pareja posible formada por un estado y un símbolo del alfabeto debe
tener una imagen y sólo una, es decir δ(q,a)∈Q, cualquiera que sean q∈Q y a∈Σ.
Un autómata finito determinista (abreviado AFD): es un autómata finito que además es
un sistema determinista; es decir, para cada estado en que se encuentre el autómata,
y con cualquier símbolo del alfabeto leído.
un autómata finito no determinista: consta de transiciones vacías o transiciones ε
(abreviado AFND-ε). Estas transiciones permiten al autómata cambiar de estado sin
procesar ningún símbolo de entrada.
Un sistema de automatas cooperativos: es una quíntupla {s,S,T,Att,R} donde {s,S,T} es
un autómata agente con un conjunto finito de estados S, un conjunto finito de acciones
s, y un sistema de transición.
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.
Mayra Nicolasa Pech Chimal
Se llegó a la conclusión de que un autómata finito es un modelo matemático que acepta
cadenas de un lenguaje definido sobre un alfabeto.
Los autómatas son máquinas abstractas las cuales funcionan para realizar tareas
complejas.
Los Autómatas finitos, se clasifican en dos los cuales son deterministas y no
deterministas.
Se pueden utilizar para reducir lo difícil del trabajo matemático, también para usar
expresiones regulares cuando un texto enorme, de igual forma para predecir si va a
llover y ese tipo de cosas relacionadas al ambiente.
Para cada AFnD (autómata no determinista) existe un AFD que acepta el mismo
lenguaje, así que para ver que existe un AFD que reconoce un lenguaje basta con
encontrar un AFnD.
Por tanto, para saber si un lenguaje es regular basta con encontrar un autómata no
determinista que lo reconozca.
Ambos tipos de autómatas pueden convertirse en expresiones regulares, los autómatas
finitos deterministas (AFN) pueden ser representados mediante un grafo de
transiciones, en el cual los nodos son los estados y en las aristas se detallan los
elementos del alfabeto que sirven para avanzar al siguiente estado.
La representación por medio de un diagrama de transiciones puede tener la ventaja de
encontrar las transiciones de un determinado estado con mayor rapidez, pero cuando el
alfabeto es extenso el diagrama puede ser muy grande.
Robert Antonio Fernández Chan
El lenguaje 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.
La teoría de autómatas se ocupa de clasificar y estudiar de modo sistemático diferentes
tipos de máquinas abstractas que llevan a cabo un procesamiento secuencial de la
información. Los Autómatas Finitos constituyen el grupo de máquinas más sencillas y
que, por tanto, tienen un menor poder funcional. El estudio de los autómatas finitos se
utiliza para modelar el comportamiento de dispositivos mecánicos y también de
sistemas naturales. Concretamente, permite estudiar procesos que dependen de una
historia, es decir, sistemas cuyo comportamiento actual depende del pasado.
Los Autómatas Finitos son máquinas teóricas que van cambiando de estado
dependiendo de la entrada que reciban. La salida de estos Autómatas está limitada a
dos valores: aceptado y no aceptado, que pueden indicar si la cadena que se ha recibido
como entrada es o no valida. Generalmente utilizaremos los Autómatas Finitos para
reconocer lenguajes regulares, es decir, una palabra se considerara valida solo si
pertenece a un determinado lenguaje.
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.
En los autómatas finitas determinísticas cabe recalcar que se define como una 5-tupla
AFD = (Σ, Q, f, q0, F), donde:
 Σ es el alfabeto de entrada
 Q es el conjunto finito y no vacío de los estados del Autómata
 f es la función de transición que indica en que situaciones el Autómata pasa de un
estado a otro, se define f : Q × Σ −→ Q
 q0 ∈ Q es el estado inicial
 F ⊂ Q es el conjunto de estados finales de aceptación (F≠ Ø)

También mencionare que existen dos formas de representar un AFD, mediante tablas
de transición o mediante diagramas de transición:
 Tabla de transición El AFD se representaría mediante la tabla que representa los valores
de la función de transición.
 Diagrama de transición.
Germain Roberto Rosado Can
Aunque no se puede considerar como una definición correcta de autómata, está muy
extendida una idea que confunde el concepto de autómata con el de robot. Por lo tanto,
se considera erróneamente que un autómata es una máquina que imita funciones
típicas de los seres vivos, sobre todo relacionadas con el movimiento, pudiendo incluso
ejecutar ciertas órdenes. En realidad el concepto de autómata es mucho más genérico,
ya que podemos considerarlo como un dispositivo que procesa cadenas de símbolos
que recibe como entrada, cambiando de estado y produciendo una salida que, en
algunos casos, puede estar formada por otra cadena de símbolos.

Hasta este momento se han a prendido conceptos como el alfabeto, el cuál es un


conjunto no vacío y finito de símbolos. A estos símbolos también se les suele llamar
letras del alfabeto. Se denota con la letra griega sigma Σ.
Y a estos alfabetos les podemos aplicar múltiples operaciones usando sus palabras,
como la concatenación, potencia, unión de lenguajes.
Tenemos dos tipos de lenguaje el natural Estamos familiarizados con el concepto
tradicional de gramática que, de forma intuitiva, podríamos considerar como un conjunto
de reglas que nos indican qué es correcto y qué no lo es en un lenguaje natural. Con el
fin de acercarnos a una definición más formal comenzaremos con un ejemplo en lengua
castellana y artificial podríamos aplicar el mismo método para definir un fragmento de
un lenguaje de programación. Pretendemos describir cómo son las instrucciones que
permiten asignar el valor de una expresión a una variable en un lenguaje como C.
Noam Chomsky clasificó las grama ́ticas en cuatro grupos (G0,G1,G2,G3), donde cada
uno contiene al siguiente. La diferencia entre cada grupo se centra en la forma de las
producciones. La misma clasificación puede ser aplicada a los lenguajes, es decir, los
lenguajes de tipo 0 son los generados por las gramáticas de tipo 0 y así sucesivamente.

Gramáticas de tipo 0
También se las llama gramáticas sin restricciones o gramáticas recursivamente
numerables.

Gramáticas de tipo 1
A este tipo de gramáticas también se las llama gramáticas dependientes del
contexto.

Gramáticas de tipo 2
Son también llamadas gramáticas independientes del contexto. Sus producciones son
aún más restrictivas. En este caso, la parte izquierda de la producción está formada por
un único símbolo no terminal.

Gramáticas de tipo 3
Es el grupo más restringido de gramáticas y también son llamadas regulares. En este
caso también se le imponen restricciones a la parte derecha de las producciones, que
tendrán como máximo dos símbolos.
Fidel Andrei Tec Ucan

En el siguiente ensayo hablaremos un poco de la historia de los autómatas finitos,


definiremos lo que son las máquinas de estado finito, así como también se mencionaran
las dos clasificaciones de estas. Las derivaciones de las máquinas de estado finito.

Hablando un poco de la historia de los autómatas finitos, nos podemos remontar en el


siglo 20 donde se usaron implícitamente en las maquinas electromecánicas. En el año
de1907 el matemático ruso Andrei Markov formo un proceso llamado Cadena de
Markov, el cual consistía en el principio de los autómatas finitos, es decir, que para
entrar a un estado este debe depender del anterior, así como también la palabra
presente en la función de transición. Durante 1943 surge una aproximación de los
autómatas finitos, que es el modelo Neuronal de McCulloch- Pitts, al final de los 50’s
surge el concepto de autómata no determinístico por parte de Michael O. Rabin y Dana
Scott. Las máquinas de estado finito o conocidas también como Autómatas Finitos nos
sirven para hacer procesos bien definidos en un lapso determinado de tiempo. Estos
reciben una entrada, realizan el proceso y entregan un resultado.

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.
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.
Conclusión
Los autómatas son máquinas que imitan el comportamiento (decisión) humano. La
teoría de autómatas, plantea: “Las funciones físicas humanas pueden ser simuladas”.
Podríamos teniendo el concepto anterior, se puede inferir que, un autómata es una
maquina que se mantiene tomando decisiones dentro de un conjunto limitado de
estados, repitiendo un mismo proceso o secuencia de pasos.

El gran impulsor de la Teoría de Autómatas fue J. von Neumann. Este matemático, gastó
buena parte de los últimos años de su vida en el desarrollo de la teoría de autómatas y,
durante la Segunda Guerra Mundial, en el desarrollo de los computadores electrónicos
de gran tamaño que fructificó en la aparición del ENIAC (un ordenador para calcular
rápidamente trayectorias balísticas que fue financiado por el ejército de los Estados
Unidos y finalizado en 1948).

Esta materia se ha desarrollado gracias a la colaboración de varios campos o áreas del


conocimiento, como son: las matemáticas, teoría de máquinas, la lingüística, etc.
El estudio de los autómatas finitos se utiliza para modelar el comportamiento de
dispositivos mecánicos y también de sistemas naturales. Concretamente, permite
estudiar procesos que dependen de una historia, es decir, sistemas cuyo
comportamiento actual depende del pasado. También se aplican en el procesamiento
del lenguaje natural, pero en el contexto de esta asignatura su principal aplicación será
el reconocimiento de lenguajes regulares (de tipo 3).

Los Autómatas Finitos son máquinas teóricas que van cambiando de estado
dependiendo de la entrada que reciban. La salida de estos Autómatas está limitada a
dos valores: aceptado y no aceptado, que pueden indicar si la cadena que se ha recibido
como entrada es o no valida. Generalmente utilizaremos los Autómatas Finitos para
reconocer lenguajes regulares, es decir, una palabra se considerará válida sólo si
pertenece a un determinado lenguaje.

Los autómatas finitos tienen gran relevancia en muchas áreas de la ciencia, por lo
general son usados para el diseño y verificación de circuitos digitales, construcción de
analizadores léxicos de compiladores, software para analizar grandes conjuntos de
textos para buscar palabras, estructuras u otros patrones, además de software para
comprobar la corrección de cualquier tipo de sistemas que tengan un número finito de
estados diferentes.

En la vida cotidiana podemos encontrar que se aplican los autómatas en:


Semáforos, ascensores, lavadoras, máquinas expendedoras, computadores y cualquier
cosa que simule un comportamiento inteligente.

Vous aimerez peut-être aussi