miércoles, 9 de noviembre de 2016

PROBLEMAS A RESOLVER CON AUTÓMATAS

CONCEPTOS BÁSICOS


Autómata

Máquina automática programable capaz de realizar determinadas operaciones de manera autónoma y sustituir a los seres humanos en algunas tareas, en especial las pesadas, repetitivas o peligrosas; puede estar dotada de sensores, que le permiten adaptarse a nuevas situaciones.



Imagen 1. Autómatas en la comunicación

Compilador 

Es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje diferente. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. Este proceso de traducción se conoce como compilación.

Código intermedio

Es un código abstracto independiente de la máquina para la que se generará el código objeto. El código intermedio ha de cumplir dos requisitos importantes: ser fácil de producir a partir del análisis sintáctico, y ser fácil de traducir al lenguaje objeto

Autómatas de pila
Son autómatas finitos que cuentan con un dispositivo de memoria muy elemental, del tipo pila, el cual es un almacenamiento lineal que funciona bajo el principio LIFO: Primero en Entrar, Ultimo en Salir. 


Fases de un compilador:

Imagen 2. Fases de un compilador


1.-¿Que tipos de problemas se pueden resolver con la teoría de autómatas?


Debido a que un autómata es una máquina automática programable capaz de realizar determinadas operaciones de manera autónoma, estas pueden ayudar al ser humano en tareas, en especial las pesadas, repetitivas o peligrosas, por ejemplo dentro del sector industrial donde se encuentran maquinarias pesadas, como los robots industriales que se encargan del sistema de movimiento y almacenamiento automáticos, y si revisamos a fondo encontraremos en ascensores, escaleras mecánicas, hornos, dosificadoras, sistemas de bombeo, hasta en lavadoras y microondas.


Ejemplo:

Semáforos inteligentes

Estos semáforos llevan un sistema de foto-rojo con cámaras instaladas y tienen la función de comprobar el cumplimiento de la normativa de detención de los vehículos en las intersecciones que dispongan de semáforo.
De forma que las cámaras se instalan a una distancia de 25 metros del punto de detención, para visualizar correctamente el paso de peatones y el semáforo.
Los semáforos van acompañados de una señal informativa vertical y están colocados en los puntos en los que se han registrado más accidentes. 
Estos semáforos se encargan de gestionar el tráfico dentro del casco urbano, tomando como referencia los manos libres de los usuarios en los coches que transitan determinada calle. 
Estos semáforos cuentan con la capacidad de medir las colas que se generan en ciertos cruces y detectar así los atascos de forma inmediata cabe mencionar que  todos los datos que recolectan los sensores instalados en la cinta asfáltica, son capaces de contar el número de vehículos que transitan de un punto a otro, este es un medio perfecto para poder advertir a los conductores sobre las calles y plazas más saturadas en tiempo real.


Resultado de imagen para imagenes de semáforos inteligentes

Imagen 3. Semáforo inteligente

2.-¿Como influye que un compilador deba tener sus dos faces (análisis, síntesis) para poder responder problemas ?


Para que un autómata pueda responder problemas debe de estar programado correctamente, las instrucciones deben ser exactas  y precisas ademas de poder ejecutarlas en un tiempo considerablemente rápido, para que esto pueda ser así el compilador del autómata debe pasar por una etapa de análisis que es la que se encarga de verificar que la escritura del código fuente este correctamente escrita  para que así, al pasar a la etapa de síntesis se genere los grupos de los componentes que conformaran el programa, dando como resultado el código de salida que la maquina va a interpretar.




2 comentarios:

  1. hola compañera!
    Podrías haber iniciado con un breve resumen de que es la teoría de autómatas para complementar un poco mas la información y dentro del concepto de que es un autómata clasificarlos en:
    *atomatas finitos
    * autómatas deterministas
    * autómatas finitos no deterministas.
    * autómatas de pila.
    * maquinas de turing.

    Y podrías anexar ejemplos

    ResponderBorrar