Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Sistemas AutÓmatas.
1. Sistemas Autómatas.
“Nos permitimos como última definición llamar autómatas a ciertas construcciones que no
tienen lo que llamamos un alma, gozan del poder de moverse por si mismas, y como
organismo artificial, de modo fetichista y controlable no padecer la enfermedad y la
muerte.”
En la Teoría de los lenguajes formales, disciplina perteneciente a la informática, se
describen tres tipos de autómatas que reconocen tipos diferentes de lenguajes: los
autómatas finitos, los autómatas a pila y las máquinas de Turing.
El autómata es la primera máquina con lenguaje, es decir, un calculador lógico cuyo juego
de instrucciones se orienta hacia los sistemas de evolución secuencial.
Un autómata antes que nada, es una máquina, un mecanismo artificial. Pero también
puede ser un instrumento musical que toca con ayuda de un mecanismo oculto,
muy a menudo adoptando la forma de un instrumentista que toca otro instrumento.
A pesar de que a muchos lectores la sospecha del interés que puedan ofrecer semejantes
ingenios les haga fruncir el ceño con desconfianza, la historia y evolución de los autómatas
desde mucho antes de la civilización griega fatiga la mente del hombre y recorre todas las
épocas, hasta llegar a nuestros días, arrastrando en su cauda incandescente muchos de los
prodigios de la técnica del siglo XX. Bajo formas siempre renovadas, gozarán de buena
vida aún en el siglo XXI.
Aplicaciones
Como ya se ha comentado, las primeras aplicaciones de los autómatas programables se
dieron en la industria automotriz para sustituir los complejos equipos basados en relés.
Sin embargo, la disminución de tamaño y el menor costo han permitido que los autómatas
sean utilizados en todos los sectores de la industria. Sólo a modo de ejemplo, se
mencionan a continuación algunos de los múltiples campos de aplicación.
Automóvil
• Cadenas de montaje, soldadura, cabinas de pintura, etc.
• Máquinas herramientas: Tornos, fresadoras, taladradoras, etc.
Plantas químicas y petroquímicas
• Control de procesos (dosificación, mezcla, pesaje, etc).
• Baños electrolíticos, oleoductos, refinado, tratamiento de aguas residuales,
etc.
2. Metalurgia
• Control de hornos, laminado, fundición, soldadura, forja, grúas,
Alimentación
• Envasado, empaquetado, embotellado, almacenaje, llenado de botellas,
etc.
Papeleras y madereras
• Control de procesos, serradoras, producción de conglomerados y de
laminados, etc.
Producción de energía
• Centrales eléctricas, turbinas, transporte de combustible, energía solar, etc.
Tráfico
• Regulación y control del tráfico, ferrocarriles, etc.
Domótica
• Iluminación, temperatura ambiente, sistemas anti robo, etc.
Fabricación de Neumáticos
• Control de calderas, sistemas de refrigeración, prensas que vulcanizan los
neumáticos.
• Control de las máquinas para el armado de las cubiertas, extrusoras de
goma.
• Control de las máquinas para mezclar goma.
Un autómata celular (A.C.) es un modelo matemático para un sistema dinámico que
evoluciona en pasos discretos. Es adecuado para modelar sistemas naturales que puedan
ser descritos como una colección masiva de objetos simples que interactúen localmente
unos con otros.
Son sistemas descubiertos dentro del campo de la física computacional por John von
Neumann en la década de los 50's. La teoría de los autómatas celulares se inicia con su
precursor John von Neumann a finales de los años 40's con su libro "Theory of Self-
reproducing Autómata" (editado y completado por A. W. Burks).
3. En electrónica un autómata es un sistema secuencial, aunque en ocasiones la palabra es
utilizada también para referirse a un robot. Puede definirse como un equipo electrónico
programable en lenguaje no informático y diseñado para controlar, en tiempo real y en
ambiente industrial, procesos secuenciales. Sin embargo, la rápida evolución de los
autómatas hace que esta definición no esté cerrada.
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.
Formalmente, un autómata finito (AF) puede ser descrito como una 5-tupla (S,Σ,T,s,A)
donde:
• S es un conjunto de estados;
• Σ es un alfabeto de entrada;
• T es una función de transición ,
donde ε representa a la cadena vacía y es el conjunto potencia del conjunto de
estados;
• es el estado inicial;
• es un conjunto de estados de aceptación o finales.
Ejemplo 1
• S = {S1,S2},
• Σ = {0,1},
• T = {(S1,0,{S2});(S1,1,{S1});(S2,0,{S1});(S2,1,{S2})}
• s = S1
• A = {S1}.
Un AFD o autómata finito determinista es aquel en cual para cada par (estado, símbolo)
está perfectamente definido el siguiente estado al cual pasará el automata, es decir para
cualquier estado q en que se encuentre el automata y con cualquier símbolo s del alfabeto
leido, existe exactamente una trancisión que parte de q y está etiquetada con s. [1]
Formalmente, un autómata finito determinista (AFD) es similar a un Autómata de estados
finitos, representado con una 5-tupla (S,Σ,T,s,A) donde:
• Σ es un alfabeto;
• S un conjunto de estados;
• T es la función de transición: ;
4. • es el estado inicial;
• es un conjunto de estados de aceptación o finales.
Al contrario de la definición de autómata finito, este es un caso particular donde no se
permiten transiciones vacías, el dominio de la función T es S (con lo cual no se permiten
transiciones desde un estado de un mismo símbolo a varios estados).
A partir de este autómata finito es posible hallar la expresión regular resolviendo un
sistema de ecuaciones.
S1 = 1 S1 + 0 S2 + ε
S2 = 1 S2 + 0 S1
Siendo ε la palabra nula. Resolviendo el sistema y haciendo uso de las reducciones
apropiadas se obtiene la siguiente expresión regular: 1*(01*01*)*.
Inversamente, dada la expresión regular es posible generar un autómata que reconozca el
lenguaje en cuestión utilizando el algoritmo de Thompson, desarrollado por Ken
Thompson, uno de los principales creadores de UNIX, junto con Dennis Ritchie.
Un tipo de autómatas finitos deterministas interesantes son los tries.
Autómatas finitos no deterministas
Un AFND o autómata finito no determinista es aquel que presenta cero, una o más
transiciones por el mismo carácter del alfabeto.
Un autómata finito no determinista también puede o no tener más de un nodo inicial.
Los AFND también se representan formalmente como tuplas de 5 elementos (S,Σ,T,s,A). La
única diferencia respecto al AFD es T.
AFD:
AFND: (partes de S)
Debido a que la función de transición lleva a un conjunto de estados, el autómata puede
estar en varios estados a la vez (o en ninguno si se trata del conjunto vacío de estados).
5. Autómatas finitos no deterministas con transiciones vacías
Un AFND-ε o autómata finito no determinista con transiciones ε permite cambiar de
estado sin procesar ningún símbolo de entrada. Cuando el autómata llega a un estado, se
encuentra en ese estado y en los estados a los que apunte éste mediante una transición ε.
Un autómata es un AFND: (partes de S)
AFND-ε: (partes de S)
Cuando el símbolo de entrada es la palabra vacía (ε), existe una transición ε entre los
estados.