jueves, 5 de diciembre de 2013

Xoto Proyecto Final


Nuestro Xoto está diseñado para jugar al Volleyball como se juega tradicionalmente, empujando la pelota hacia el otro lado de la cancha y cuidando cerca de la barrera para que en cuanto la pelota cruce la línea divisora la mande inmediatamente al otro lado.

El proceso de codificación fue muy tortuoso y lleno de dificultades debido a que primeramente nuestro sensor infrarrojo no servía y por lo tanto, no podíamos probarlo y no sabíamos si se estaba haciendo bien lo que teníamos codificado. Después porque los otros tres equipos que decidieron hacer RoboVolley se llevaron las pelotas a sus casas y no consideraron que otros equipos también la necesitaban, lo que desató un drama (véase página en Facebook con el reclamo) que termino con tener que ir a casa de uno de los chicos del otro equipo que se llevo la pelota en la noche y rescatarla justo una noche antes para poder realizar nuestras pruebas. Además la devolvieron sin batería.

El código funciona de la siguiente manera: hay tres hilos, uno es el Main que sólo inicializa los otros dos hilos, uno de ellos es el BackLineTask y StateMachineTask. El BackLineTask lo que hace es estar revisando con el sensor de luz si ve una linea negra, si la encuentra el robot se va en reversa y desactiva el hilo del StateMachin para evitar problemas de concurrencia y luego vuelve a iniciar el hilo del StateMachine que hace una máquina de estados (autómata), también sirve para buscar con el infrarrojo la pelota, y finalmente para empujar la pelota ya que la encontró y se acercó a ella, el último estado es para regresar al inicio de la cancha. Esto lo hace con estados diferentes dentro de la máquina de estados.

Al hacer las pruebas en la cancha de piso, dónde siempre probamos el robot (véase vídeos de prueba) el robot funcionaba mejor debido a que el piso no generaba la sombra que generó la cancha oficial.
El principal problema que tuvimos al jugar los partidos oficiales fue que el material de la cancha aún con luz artificial generaba sombra de la pelota y el robot al detectar el "negro" le daba más prioridad sobre los otros procesos y lo detenía; sin embargo, creemos que el papel que desempeño fue muy bueno y que el diseño que creamos estuvo muy bien pues jugaba Volleyball.
Vídeo Prueba1:
video

 Vídeo Prueba2:
Vídeo Torneo1:



Vídeo Torneo2:

Vídeo Torneo3:



Liga de página en Facebook: https://www.facebook.com/quierolapelotadeagentesinteligentescarajo 


martes, 19 de noviembre de 2013

Agentes Reflexivos con ROBOT C


Laberinto

Para realizar nuestro laberinto, el robot debe de inicializar y definir los sensores del robot de la siguiente manera: #pragma config(Sensor, S4,     sonarSensor,         sensorSONAR)

#define SENSOR SensorValue[sonarSensor]
#define DERECHA motor[motorB]
#define IZQUIERDA motor[motorC]
#define POWER(izquierda, derecha) \

Nota: creamos macros para manejar más facilmente el código.

El robot revisa con el sensor sonar que distancia hay entre el y la pared y si la distancia es menor que una variable x, el robot sabe que ya esta cerca de la pared o está chocando con la misma, y procede a retroceder en reversa y a hacer una vuelta a la derecha y a la izquierda aleatoriamente, si no se cumple ninguna de estas condiciones procede a moverse derecho. Con esto aseguramos que el robot sale del laberinto en algun momento. 
El video es el siguiente: 
video


Linea Negra


El robot debe de detectar el valor del color negro a través del sensor de luz, mientras este senor esta detectado el robor avanza en linea recta con los motores a una velocidad determinada. Por el contrario, si el sensor detecta que el color es blanco va a avanzar hacia la izquierda con un motor en 40 y el otro en cero. Si no encuentra aún la linea negra y ya paso el valor del contador que controla los movimientos del robot, deberá de comenzar a moverse hacia la derecha del mismo modo que explicamos anteriormente. En el caso que no encuentre la linea negra, reiniciará todo a 0 y volverá a repetir el proceso de búsqueda del sensor por la izquierda.
El video es el siguiente:


video


Detectar y seguir un sonido

Nuestro algoritmo es muy sencillo y tan funcional que si el robot está completamente de espaldas al sonido es capaz de girar y seguirlo. 
El señorito robot se mueve dando giros sobre su propio eje y detecta el sonido mayor con el sensor de sonidos, lo sigue inmediatamente aunque la fuente de sonido debe estar próxima para que pueda detectarlo. 
El video es el siguiente:

video


Huir de la luz

Xoto debe usar su sonar para moverse por un cuarto mientras la luz esté apagada. En cuanto la luz se encienda, Xoto debe escapar de ella y esconderse en un rincón oscuro. Xoto recurre en más de una ocasión a algoritmos parecidos a los del laberinto para moverse usando su sonar y para escapar y esconderse. En cuanto ve la luz, comienza a girar buscando el punto donde menos iluminación perciba; luego avanza en esa dirección.
El video es el siguiente:



Detectar y seguir los bordes de un objeto

Para este ejercicio el robot Xoto debe moverse hasta encontrar un objeto y entonces recorrerlo toqueteando sus bordes. En nuestra implementación, Xoto se mueve aleatoriamente hasta topar con un objeto, y entonces lo agasaja con sus pequeños brazos construidos siguiendo el instructivo casi al pie de la letra. Cuando deja de sentir la presión en un brazo, se gira para tratar de encontrar el objeto de nuevo.
El video es el siguiente:


martes, 29 de octubre de 2013

Agentes y ambientes

Hecho por:
Rafael Alcaráz
Monserrat Romero
Luis S. Gatica

Preguntas actividad 1. 

¿Llegó el agente a la meta? 
Si el agente llego a la meta 
¿Por qué crees que haya sucedido esto?
Porque el agente tiene tantos pasos disponibles para dar a través del laberinto que en un determinado momento llego hacia la meta,la ejecución random pudo haberlo enviado hacia arriba o hacia abajo, pero por suerte en esta ejecución si llega a la meta ayudado del número tan grande de pasos que tiene por dar.

Captura de pantalla de la ejecución del agente:



Preguntas Actividad 2
¿Llegó el agente a la meta?
Si llegó a la meta.
¿Cómo es la memoria del agente?
Una bandera que le indica si está caminando o no. Esto es para simular el algoritmo de siempre tener la mano sobre la pared para eventualmente llegar a la solución. Como recuerda si está caminando, en caso contrario quiere decir que el robot está checando su lado izquierdo para ver si dar vuelta o seguir caminando.
¿Notas alguna diferencia con el agente reflexivo simple?
Si, este agente ahora ha llegado a la solución en menos tiempo, y por tanto tiene un SCORE más alto.
Captura de pantalla de la ejecución del agente:



Preguntas actividad 3:
¿Llegó el agente a la meta?
Si llegó a la meta nuestro agente.
Si no llegó a la meta ¿Qué le falta para eventualmente encontrar la salida?
Como si llegó a la meta, no fue necesario cambiar a nuestro agente.

Captura de pantalla de la ejecución del agente:

Preguntas actividad 4:
¿Pudo llegar el agente a la meta?
Sí pudo llegar el agente a la meta.
¿Qué calificación obtuvo?
109948
En caso de que no haya podido salir, realiza las modificaciones a su memoria para que pueda resolver el laberinto.
Prueba el agente cambiando la posición y la dirección iniciales y compara el desempeño cada vez.
¿Qué conclusiones obtienes de esto?
Cambiando y comparando el desempeño nos podemos dar cuenta que nuestro agente depende mucho de la forma del laberinto, ya que al estar siempre checando a su lado izquierdo para ver si puede caminar, cuando lo ponemos su punto de partida a la izquierda del punto de llegada, nuestro agente tarda más que en cualquier otro punto.
Podemos concluir que los agentes inteligentes dependen totalmente del ambiente en el que se mueven y las conclusiones a las que es capaz de llegar con la retroalimentación que recibe del ambiente, y por tanto si queremos que un agente tenga un desempeño muy bueno, tenemos que conocer el ambiente y saber cómo responder a esos estímulos.

Captura de pantalla de la ejecución del agente:


¿Qué agente para qué problema?

Hecho por:
Rafael Alcaráz
Monserrat Romero
Luis S. Gatica

Instrucciones:
Para los siguientes problemas señala qué tipo de agente podría resolverlo mejor (reflexivo o deliberativo). Es importante justificar la respuesta y dar ejemplos de situaciones en los que uno u otro tipo de agente podría desempeñarse mejor.

·         Salir de un laberinto
Deliberativo porque sería mejor para poder resolverse tener un punto de partida o inicial, también previamente un conjunto de planes a seguir y un estado objetivo definido, que sería en este caso, salir del laberinto.  

·         Explorar habitaciones y reconocer los objetos encontrados dentro de éstas
Reflexivo porque necesitamos los estímulos provenientes de los sensores (que le dan al agente una percepción del ambiente exterior) para saber qué tipo de objeto se está encontrando, y poder crear una base de conocimiento a partir de lo encontrado.

·        Jugar ajedrez
Deliberativo debido a que en el juego hay un conjunto de reglas bien definidas que deberán seguirse para poder ganar o llegar a un estado objetivo, además necesitamos un plan o en este caso las diferentes estrategias que pueden usarse para ganar un juego de ajedrez y deliberar sobre el entorno antes de poder tomar una decisión de movimiento.

·         Jugar dominó (en parejas).
Reflexivo debido a que para poder ganar el juego hay un ambiente aleatorio en el que cada jugador tendrá cierto número de fichas y deberá de realizar una acción en base al movimiento que su contrincante haga, no hay una estrategia definida como tal y por lo tanto sirve más el entorno de reflejos.

·         Cuidar una persona mayor en su casa.
Reflexivo debido a que no se sabe cómo una persona puede reaccionar o actuar en algún momento, por lo que el agente deberá estar preparado para actuar en base a reflejos instantáneos en un momento.

·         Asistir a un ejecutivo en el manejo de su agenda.
Deliberativo porque necesitamos los planes  bien estructurados para poder guiar la agenda del ejecutivo, saber de qué manera se estará cumpliendo el objetivo del día en la agenda y toda la planificación para que sea llevada a cabo satisfactoriamente.

·         Asistir a un ejecutivo en la preparación de sus viajes de negocios
Deliberativo debido a que en la preparación de los viajes de negocios hay un estado objetivo por cumplirse, un conjunto de planes o estrategias que deberán llevarse a cabo dentro de una agenda y un punto de partida o estado inicial. En esta planeación solo se necesita un agente deliberativo, sin embargo, si procediéramos a acompañar al ejecutivo durante el viaje, sería bueno tener una metodología hibrida que nos diera la opción de reaccionar ante alguna situación de emergencia que no esté planeada y podrían ser de utilidad tener también capacidad de reaccionar de acuerdo al entorno.

2.1 METODOLOGÍA PEAS

Una forma para responder la pregunta anterior es construir una definición PEAS de cada uno de los agentes. Esta definición consiste de 4 partes:
1.       Performance Measure (medida de desempeño): ¿Cómo calificamos la tarea que realiza el agente?
2.       Environment (Ambiente): Qué características tiene el ambiente en el que el agente va a llevar a cabo su tarea y que pueden afectarlo.
3.       Actuators: Qué acciones será capaz de llevar a cabo el agente, podemos definir también si tendrá alguna característica especial para llevar cabo estas acciones.
4.       Sensors (Sensores): ¿De qué forma recibirá el agente la información proveniente del ambiente?
4.
Salir de un laberito

1.     1. Performance Measure (medida de desempeño): ¿Cómo calificamos la tarea que realiza el agente?
Esta tarea la evaluaríamos de acuerdo al desempeño del agente, cuanto tiempo tarda en llegar del estado objetivo al final, si utilizo la ruta más óptima para llegar al estado final, etc.
2.     2. Environment (Ambiente): Qué características tiene el ambiente en el que el agente va a llevar a cabo su tarea y que pueden afectarlo.
En el caso del laberinto si las paredes están estrechas o no, si las puertas son fáciles de identificar y tiene el suficiente espacio para la salida o entrada, si existe un patrón de diseño en el laberinto que nos permita encontrar soluciones para llegar a la salida o estado final
3.      3. Actuators: Qué acciones será capaz de llevar a cabo el agente, podemos definir también si tendrá alguna característica especial para llevar cabo estas acciones.
El agente deberá encontrar una ruta a seguir y recorrerla de acuerdo a los estados del laberinto y a una planeación que será capaz de ejecutar
4.      4. Sensors (Sensores): ¿De qué forma recibirá el agente la información proveniente del ambiente?
4.Puede ser mediante cámaras, sensores de movimiento, de manera que introduzcamos una imagen del laberinto al procesador del agente, etc.


Explorar habitaciones y reconocer objetos encontrados dentro de éstas

1.      1. Performance Measure (medida de desempeño): ¿Cómo calificamos la tarea que realiza el agente?
Lo calificaremos de acuerdo a que tan acertado es al averiguar de qué objeto (cuantas veces adivina, se cumple el objetivo y cuantas no) se trata y cuánto tiempo tarda en identificar un objeto.
2.      2. Environment (Ambiente): Qué características tiene el ambiente en el que el agente va a llevar a cabo su tarea y que pueden afectarlo. Los cuartos podrían dificultar de acuerdo a las condiciones en las que se encuentren (visibilidad, orden) si los objetos están tirados sin un orden especifico o si están acomodados en un cierto orden y altura.
3.      3. Actuators: Qué acciones será capaz de llevar a cabo el agente, podemos definir también si tendrá alguna característica especial para llevar cabo estas acciones.
El agente deberá tomar objetos de algún lugar para poderlos analizar a través de sus sensores, también deberá ser capaz de volverlos a dejar donde los encontró y tomar otros nuevos.
4.      4. Sensors (Sensores): ¿De qué forma recibirá el agente la información proveniente del ambiente?
4.El agente deberá tener sensores de tacto o de vista como cámaras, sensores de movimiento para verificar si el objeto es móvil o inmóvil.

Jugar ajedrez
1.       Performance Measure (medida de desempeño): ¿Cómo calificamos la tarea que realiza el agente?
Podemos evaluar al agente de acuerdo a que tan efectivas son las estrategias realizadas con el indicador cuantos juegos ha ganado y perdido en un determinado periodo y también cuanto tiempo tarda en deliberar un movimiento.
2.       Environment (Ambiente): Qué características tiene el ambiente en el que el agente va a llevar a cabo su tarea y que pueden afectarlo.
El ambiente en si será su tablero de juego y lo que afectará para que el agente siga o no con una estrategia serán los movimientos realizados por el otro jugador.
3.       Actuators: Qué acciones será capaz de llevar a cabo el agente, podemos definir también si tendrá alguna característica especial para llevar cabo estas acciones.
El agente deberá mover una pieza en el tablero de acuerdo a las reglas del juego y movimientos, seguir una estrategia que impulse a ganar el juego y deliberar acciones para mover piezas dentro del tablero si la estrategia no resulta como lo planeado.
4.       Sensors (Sensores): ¿De qué forma recibirá el agente la información proveniente del ambiente?
A través de cámaras y de sensores que detecten los movimientos realizados en el ambiente que en este caso será el tablero.


Jugar domino
1.       1. Performance Measure (medida de desempeño): ¿Cómo calificamos la tarea que realiza el agente?
Podemos evaluar al agente de acuerdo a que tan efectivas son las estrategias realizadas con el indicador cuantos juegos ha ganado y perdido en un determinado periodo y también cuanto tiempo tarda en deliberar un movimiento.
2.      2. Environment (Ambiente): Qué características tiene el ambiente en el que el agente va a llevar a cabo su tarea y que pueden afectarlo.
El ambiente en si se va a componer de su juego y sus fichas y lo que afectará para que el agente siga dentro del juego será mover las fichas viendo los movimientos realizados por el otro jugador y  tomar una decisión con las fichas con las que en un momento tenga que efectuar un movimiento.
3.      3. Actuators: Qué acciones será capaz de llevar a cabo el agente, podemos definir también si tendrá alguna característica especial para llevar cabo estas acciones. 
El agente deberá colocar una ficha como le convenga de acuerdo al juego que este surgiendo y deberá ser capaz de identificar cual ficha es la que debe de poner, también que identifique si hay o no hay fichas disponibles. 
4.      4. Sensors (Sensores): ¿De qué forma recibirá el agente la información proveniente del ambiente?
A través de cámaras y de sensores que detecten los movimientos realizados en el ambiente que en este caso serán las fichas, el tablero y el juego.

Cuidar una persona mayor en su casa
1.      1. Performance Measure (medida de desempeño): ¿Cómo calificamos la tarea que realiza el agente?
El agente habrá cumplido su objetivo de acuerdo a métricas como si la persona ha tenido accidentes o no en un determinado periodo de tiempo y que tan eficientes han sido las decisiones tomadas por el agente.
2.      2. Environment (Ambiente): Qué características tiene el ambiente en el que el agente va a llevar a cabo su tarea y que pueden afectarlo. 
El entorno será la casa y es un entorno lleno de riesgos que el agente deberá poder identificar y de ser posible minimizar para poder cumplir su objetivo.
3.     3.  Actuators: Qué acciones será capaz de llevar a cabo el agente, podemos definir también si tendrá alguna característica especial para llevar cabo estas acciones.
El agente deberá ser capaz de identificar riesgos en la casa y tomar decisiones para cuidar a la persona, ya sea mover objetos peligrosos con los que la persona podría hacerse daño dentro del entorno.
4.      4. Sensors (Sensores): ¿De qué forma recibirá el agente la información proveniente del ambiente?
4.A través de cámaras, sensores de movimiento, sensores de proximidad, sensores de tacto.


Asistir a un ejecutivo en el manejo de su agenda
1.     1.  Performance Measure (medida de desempeño): ¿Cómo calificamos la tarea que realiza el agente?
Si la agenda se cumplió de acuerdo a lo programado en tiempo y forma y si la planeación de las actividades fue la adecuada de acuerdo a los tiempos programados por el agente.
2.     2.  Environment (Ambiente): Qué características tiene el ambiente en el que el agente va a llevar a cabo su tarea y que pueden afectarlo.
El ambiente sería variado de acuerdo al tipo de ejecutivo al que se esté asistiendo, pero tomando en cuenta las actividades que el ejecutivo realizará podría determinarse con mayor precisión un ambiente.
3.      3. Actuators: Qué acciones será capaz de llevar a cabo el agente, podemos definir también si tendrá alguna característica especial para llevar cabo estas acciones.
El agente será capaz de organizar actividades dentro de un periodo de tiempo y determinar cuánto tiempo deberá de llevar cada una de las actividades estimando los tiempos con una base de conocimientos previa para mejores resultados.
4.     4.  Sensors (Sensores): ¿De qué forma recibirá el agente la información proveniente del ambiente?
4.Cámaras, estimaciones o bases de conocimientos previas para que el agente pueda estimar nuevos tiempos, etc.

Asistir a un ejecutivo en la preparación de sus viajes de negocios
1.     1. Performance Measure (medida de desempeño): ¿Cómo calificamos la tarea que realiza el agente?
Si la planeación del viaje resulta en el tiempo y con las actividades planeadas y además el agente reservo o planeo bien las actividades (con el menor número de cambios dentro de la agenda). El número de cambios posteriores a la planeación fue el menor.
2.      2. Environment (Ambiente): Qué características tiene el ambiente en el que el agente va a llevar a cabo su tarea y que pueden afectarlo.
Un ambiente de planeación de un viaje deberá ser una donde se pueda obtener la información  de los proveedores de servicios y acceder a realizar las reservaciones pertinentes, además colocar información en una agenda de viaje.
3.     3. Actuators: Qué acciones será capaz de llevar a cabo el agente, podemos definir también si tendrá alguna característica especial para llevar cabo estas acciones.
El agente deberá de tomar decisiones y planear deliberando decisiones sobre el mejor proveedor de servicios y en los horarios adecuados para ir armando una agenda de viaje exitosa.
4.     4.  Sensors (Sensores): ¿De qué forma recibirá el agente la información proveniente del ambiente?
4.El agente necesitará una base de conocimientos de los proveedores de servicios con los servicios que brinda, precios y horarios para efectuar así las mejores decisiones en base a conocimientos que debe de tener.

   

3 PROBLEMAS MAS…

Instrucciones:
Para los siguientes problemas señala qué tipo de agente podría resolverlo mejor (reflexivo o deliberativo). Es importante justificar la respuesta y dar ejemplos de situaciones en los que uno u otro tipo de agente podría desempeñarse mejor. Incluye metedología PEAS

·         Controlar el tráfico de aviones en el aeropuerto.

El agente podría ser deliberativo porque para controlar el tráfico de aviones se requiere de una planeación previa y efectuar toma de decisiones con respecto a la planeación o itinerario que exista en el aeropuerto pero también si surgen problemas de repente poder reaccionar, entonces debería ser reflexivo también para responder a cualquier problema que se presente.
1.                  Performance Measure (medida de desempeño): ¿Cómo calificamos la tarea que realiza el agente?
Si el tráfico en el aeropuerto está controlado,  el número de incidentes es bajo y el tiempo en el que los incidentes fueron controlados también, podemos decir que el agente ha hecho un buen trabajo.
2.                  Environment (Ambiente): Qué características tiene el ambiente en el que el agente va a llevar a cabo su tarea y que pueden afectarlo.
Es un ambiente en el que pueden surgir cambios aunque debe de ir sobre un itinerario específico con horas de llegadas y salidas. Se debe de mantener lo más apegado al plan posible.  Es un ambiente en el que el tiempo juega un factor determinante y pueden surgir contratiempos que atrasen todo el itinerario planeado.
3.                  Actuators: Qué acciones será capaz de llevar a cabo el agente, podemos definir también si tendrá alguna característica especial para llevar cabo estas acciones.
El agente será capaz de seguir un plan específico como el que sería el itinerario del aeropuerto pero también poder reaccionar ante contratiempos y emergencias, teniendo planes a seguir en caso de presentarse situaciones fuera de lo planeado.
4.                  Sensors (Sensores): ¿De qué forma recibirá el agente la información proveniente del ambiente? 
El agente puede recibir información a través de cámaras, sensores de movimiento, sensores de proximidad, sensores auditivos, bases de conocimientos para que pueda procesar los planes y la información, etc.



·         Monitorear el tráfico de automóviles en la ciudad de Guadalajara.

Hibrido entre reflexivo y deliberativo porque el tráfico de la ciudad a pesar de que debería de ser de una manera no siempre lo es, existen reglas definidas de transito que nos dicen cómo se supone  que deberíamos de conducir, sin embargo, la mayoría de personas no conducen de acuerdo a las reglas ni siempre se sigue un plan específico por lo que el sistema debe de actuar reflexivamente la mayor parte del tiempo pero también tener planes deliberativos que nos digan qué hacer cuando algún determinado incidente pase.

1.                  Performance Measure (medida de desempeño): ¿Cómo calificamos la tarea que realiza el agente?
Si el tráfico en la ciudad es detectado, regulado e informado en ciertos periodos de tiempo, se siguen planes para prevenir accidentes o se reacciona con las medidas adecuadas en caso de algún percance, el agente estará realizando su trabajo bien.
2.                  Environment (Ambiente): Qué características tiene el ambiente en el que el agente va a llevar a cabo su tarea y que pueden afectarlo.
El ambiente es muy irregular y hasta cierto punto peligroso o susceptible a cambios y accidentes, por lo que el trabajo de regulación del agente podría verse afecta si por ejemplo, surge  más de un percance a la vez.

3.                  Actuators: Qué acciones será capaz de llevar a cabo el agente, podemos definir también si tendrá alguna característica especial para llevar cabo estas acciones.

El agente deberá monitorear el tráfico y checar si hay mucho o poco tráfico de acuerdo a un patrón establecido por tiempo y número de vehículos y detectar problemas o irregularidades dentro de este, dar avisos o seguir planes de contingencia si se presentan situaciones dentro del tráfico.

4.                  Sensors (Sensores): ¿De qué forma recibirá el agente la información proveniente del ambiente? 
El agente recibe información por cámaras, sensores de velocidad, sensores de movimiento, sensores auditivos y bases de conocimiento para conforme a planes a seguir.


·         Monitorear las condiciones del bosque de la primavera para evitar y/o responder ante incendios forestales.
Hibrido porque se necesitan de ambas metodologías.
Reflexivo porque el agente deberá de actuar rápidamente ante un estímulo externo que en este caso sería la alarma de incendio, pero también deliberativo para realizar toda la parte de planeación para evitar incendios, por ejemplo, si ve a una persona tirando vidrio en el bosque emitir una señal de alarma y quitar rápidamente la basura del suelo.
1.                  Performance Measure (medida de desempeño): ¿Cómo calificamos la tarea que realiza el agente?
De acuerdo al número de incendios prevenidos e informados a tiempo en un determinado periodo de tiempo.
2.                  Environment (Ambiente): Qué características tiene el ambiente en el que el agente va a llevar a cabo su tarea y que pueden afectarlo.
Es un ambiente grande, cambiante y un poco impredecible aunque si podemos tomar en cuenta que hay temporadas donde el riesgo de incendios es mayor y el agente deberá de trabajar más.
3.                  Actuators: Qué acciones será capaz de llevar a cabo el agente, podemos definir también si tendrá alguna característica especial para llevar cabo estas acciones.
El agente será capaz de prevenir incendios emitiendo señales de alarma y recomendaciones a tiempo, definir acciones preventivas y en caso de presentarse una emergencia avisarla de la manera más rápida posible.
4.                  Sensors (Sensores): ¿De qué forma recibirá el agente la información proveniente del ambiente? 
Por medio de cámaras, sensores de calor, sensores de movimientos, sensores de proximidad, bases de conocimientos para determinar cómo actuará en determinadas situaciones de riesgo.

¿En qué son diferentes estos problemas con
respecto de los del punto 2? ¿Qué necesita un agente para poder resolverlos?

Estos problemas son diferentes a los del punto dos porque son más complejos de resolver, y necesitamos para algunas partes la metodología reflexiva y para otra la deliberativa, por lo tanto necesitaríamos un tipo de agente hibrido que se adecue a las necesidades del problema.


martes, 8 de octubre de 2013

Compras Planificación



Ir de Compras

Rafael Alcaraz
Montserrat Romero
Luis S. Gatica

1) Formalización:

Estado Inicial:
True: {En(Casa)}
False: {En(Ferreteria) & En(Supermercado) & Tengo(Platano) & Tengo(Leche) & Tengo(Taladro)}
Estado Objetivo:
Precondiciones: {En(Casa)& Tengo(Platano) & Tengo(Taladro) & Tengo(Leche)}
Operadores:
En(x) = estoy en x
Tengo(x) = tengo comprado x
Acciones:
IrA(x, y): Estoy en x y quiero ir a y
Precondiciones: {En(x)}
True: {En(y)}
False: {En(x)]
ComprarTaladro: Comprar un taladro
Precondiciones: {En(Ferretería) }
True: {Tengo(Taladro)}
False: { }
ComprarPlatano: Comprar plátanos
Precondiciones: {En(Supermercado)}
True: {Tengo(Platano)}
False: {}
ComprarLeche: Comprar leche
Precondiciones: {En(Supermercado)}
True: {Tengo(Leche)}
False: {}


2) Plan Construido:

A continuación se muestra el plan construido


3) Corrida:

0) Start ->
True{En(Casa)} False{En(Ferreteria),En(Supermercado),Tengo(Platano),Tengo(Leche),Tengo(Taladro)}
1) IrA(Casa, Ferreteria) ->
True{En(Ferreteria)}
False{En(Casa),En(Supermercado) ,Tengo(Platano),Tengo(Leche),Tengo(Taladro)}
2) ComprarTaladro ->
True{En(Ferreteria),Tengo(Taladro)}
False{ En(Casa),En(Supermercado) ,Tengo(Platano),Tengo(Leche)}
3) IrA(Ferreteria,Supermercado) ->
True{En(Supermercado),Tengo(Taladro)}
False{En(Ferreteria),En(Casa),Tengo(Platano),Tengo(Leche)}
4) ComprarPlatano ->
True{En(Supermercado),Tengo(Taladro),Tengo(Platano)}
False{En(Ferreteria),En(Casa),Tengo(Leche)}
5) ComprarLeche ->
True{En(Supermercado),Tengo(Taladro),Tengo(Platano),Tengo(Leche)}
False{En(Ferreteria),En(Casa)}
6) IrA(Supermercado,Casa) ->
True{En(Casa),Tengo(Taladro),Tengo(Platano),Tengo(Leche)}
False{En(Ferreteria),En(Supermercado)}
7) Finish ->
True{En(Casa),Tengo(Taladro),Tengo(Platano),Tengo(Leche)}
False{En(Ferreteria),En(Supermercado)}