lunes, 29 de octubre de 2012

Sistema de Transiciones

  •  La tarea consiste en :
  • Inventar un ejemplo simple.
  • Modélar  un sistema de transiciones o un grafo de programa.
Solucion:

Inventar ejemplo Simple:
Se me ocurrio un ejemplo simple de transferencia de archivos por ejemplo NFS con Login:

Modélar  un sistema de transiciones:

Sistema simple de transferencia de archivos por ejemplo NFS con Login



Estado
Transicion
Proximo Estado
login
Error Login
login
Login Exitoso
Transferencia Archivo
Transferencia
Archivo
/dir
Transferencia Archivo
get
Transferencia Archivo
salir
quitar
logout
login


Otro sistema  seria el de una terminal de recarga de un sistema de prepago :












martes, 23 de octubre de 2012

Red Petri

La tarea consiste en :
  • Investigar un poco sobre Redes Petri
  • Inventar un pequeño sistema concurrente
  • Modelar la Red Petri en Python, utilizando python-snakes

Para esto usaremos  python y el paquete snakes-python lo puedes descargar en el siguiente enlace:

Tutorial:

Definicion Red Petri:
Es una representación matemática o gráfica de un sistema a eventos discretos en el cual se puede describir la topología de un sistema distribuido, paralelo o concurrente. Son una generalización de la teoría de autómatas que permite expresar un sistema a eventos concurrentes. 

Una red de Petri es un grafo orientado con dos tipos de nodos: lugares (representados mediante circunferencias) y transiciones (representadas por segmentos rectos verticales).

Para esta tarea hice una red petri sencilla en donde se modela :
sistema de entrada y salida de vehiculos con una tarjeta RFID

http://wabingenieria.com/usos-rfid/


Codigo python
Resultado:




Referencias:
http://code.google.com/p/python-snakes/source/browse/doc/tutorial.txt?spec=svn.abcd.b7e58afd5c1b845899816065fff49d782e02a56b&repo=abcd&r=b7e58afd5c1b845899816065fff49d782e02a56b
http://www.uhu.es/diego.lopez/AI/auto_trans-tema3.PDF
http://www.ibisc.univ-evry.fr/~fpommereau/snakes-api/snakes.plugins.gv-module.html

sábado, 6 de octubre de 2012

Aplicaciones de la lógica predicativa

Esta tarea es  investigar una aplicación de la logica predicativa escogí el tema de Agentes Inteligentes



Un agente puede considerarse como aquel objeto que percibe su ambiente y que responde o actúa en dicho ambiente. Percibe por medio de sensores; en los humanos, los sensores son: ojos, oídos, olfato, tacto,... Respondemos por medio de efectores como: manos, pierna, boca. En una máquina, estos efectores son motores; en un programa son acciones. Un agente robótico tiene como sensores cámaras , infrarrojos, y los motores 

un agente racional deberá emprender todas aquellas acciones que favorezcan obtener el máximo de su medida de rendimiento, basándose en el conocimiento y en las percepciones. El concepto de agente permite pensar en él como herramienta para el análisis de sistemas inteligentes.  
Una vez que se ha visualizado que el comportamiento de un agente depende exclusivamente de la secuencia de percepciones en un momento dado, podemos elaborar una tabla de acciones que podría realizar un agente a partir de un conjunto de percepciones. Especificar qué tipo de acción deberá emprender un agente como respuesta a una determinada secuencia de percepciones es el diseño de un agente. 

El agente debe basarse exclusivamente en el conocimiento integrado. se dice que el agente no tiene autonomía, pero podemos decir que un sistema será autónomo en la medida en que su conducta está definida por su propia experiencia. como la evolución nos ha de eventos que facilitan sobrevivir hasta aprender correctamente, también se crearán agentes inteligentes (artificiales) con cierto conocimiento inicial y de capacidad para aprender.

La intención de la IA es diseñar agentes "(programas) con autonomía, ejecutándose en algún hardware (arquitectura). En general, el hardware pone al alcance del agente percepciones obtenidas mediante los sensores; lo ejecuta y alimenta con las acciones seleccionadas

El ambiente plantea tantos desafíos que algunas veces resulta muy difícil para un software desempeñarse adecuadamente.

función agente(percepciones) retornar acción memoria:
    memoria <- actualizar_memoria(memoria, percepciones) 
    acción <- escojer_mejor_acción(memoria)
    memoria <- actualizar_memoria(memoria, acción)

    retornar acción 


ejemplo se construye agentes teniendo como base la función agente Sea un agente conducido por una tabla:

función agente_conducido_por_ tabla(percepciones) retornar acción percepciones:
   añadir percepción al final de la percepciones
   acción <- consulta(percepciones, tabla) retornar acción

el agente es un taxista requiere saber cómo es el recorrido, quién más circula en la vía, a qué velocidad puede desplazarse. Claro que esta información la obtiene de percepciones que ofrecen: cámaras, velocímetro, contador. Sin olvidar que debe conocer el estado del vehículo, lo cual lo logra por medio de sensores. También contará con dispositivos que le permiten comunicarse con los pasajeros, quienes le informaran cuál es el destino. las acciones deben de ser las mismas frenar,acelerar

¿Cuál sería la medida de desempeño? Entre las medidas deseables es llegar al destino correcto, no realizar violaciones de tránsito ni molestias a otros conductores, ofrecer seguridad y comodidad a los pasajeros,...

Sin embargo, es necesario definir el ambiente en el cual se ha de movilizar. ¿Calles con huecos?, ¿vía circunvalar?, ¿autopista del norte?, ¿poco o mucho tránsito?, ¿con semáforos o sin semáforos?

se selecciona para ejemplo :
* Agentes de reflejo simple.

Agentes de reflejo simple

Estara estructurado por un conjunto de reglas de condición-acción, tal como se hacen los choferes

SI semáforo en amarillo ENTONCES empezar a frenar.
SI carro adelante prende stop ENTONCES empezar a frenar.
SI calle cerrada ENTONCES gire en dirección permitida.
SI dirección permitida es derecha ENTONCES girar derecha.
SI ambas direcciones permitidas ENTONCES girar lado inmediato.


función agente_reflejo_simple(percepciones) retornar acción 
     percepciones:
     reglas:
     estado <- interpretar_entrada(percepciones) 

     regla <- regla_coincidencia(estado, reglas) 
     acción <- regla_acción(regla)
retornar acción 


Referencias.
http://www.uv.es/~jkliment/Documentos/TeoMod.pc.pdf
http://www.depi.itch.edu.mx/apacheco/expo/html/ai12/
http://www.aic.uniovi.es/ssii/SSII-T1-Introduccion.pdf