Informe de Un Simulador de Aspiradora - Aula 119 - Mañana

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 45

|Inteligencia Artificial

UNIVERSIDAD PRIVADA

ESCUELA DE INGENIERIA DE SISTEMAS

Implementación de un “Agente Reflejo Simple”: Un


simulador del Mundo de la Aspiradora.

CURSO:

INGENIERÍA ARTIFICIAL

PROFESOR:

Ing. TITO CHURA VIRGILIO

INTEGRANTES:

Abregú Marcos, Rosangela

Gonzales Mestanza, Joseph

Laurente Granados, Nancy

Távara Vallejos, Jorge Luis

AULA:

119 - Mañana
|Inteligencia Artificial

RESUMEN

El presente trabajo representa el estudio y desarrollo de los


agentes inteligentes, en esta ocasión el trabajo se encuentra
implementado basándonos en un agente capaz de realizar acciones
de limpieza cada vez que el mismo se topa con una porción de
basura.

Para poder realizar este proyecto nos hemos basado en el


lenguaje de Programación JAVA el cual abarca todas las
funcionalidades de nuestro agente permitiendo de esta manera un
correcto funcionamiento sin la necesidad de dar instrucciones dado
que él mismo tomara sus propias decisiones en el momento
determinado.

Todo el desarrollo de nuestro proyecto se encuentra sustentado


por flujo gramas, modelos de solución y demás elementos que
permitirán la correcta sustentación.
|Inteligencia Artificial

|
Implementación de un “Agente Reflejo Simple”: Un
Simulador del Mundo de la Aspiradora

1. QUÉ ES UN AGENTE INTELIGENTE

Un agente:

Un agente inteligente, es una entidad capaz de percibir su entorno,


procesar tales percepciones y responder o actuar en su entorno de manera
racional, es decir, de manera correcta y tendiendo a maximizar un resultado
esperado.

En este contexto la racionalidad es la característica que posee una


elección de ser correcta, más específicamente, de tender a maximizar un
resultado esperado. Este concepto de racionalidad es más general y por ello más
adecuado que inteligencia (la cual sugiere entendimiento) para describir el
comportamiento de los agentes inteligentes. Por este motivo es mayor el
consenso en llamarlos agentes racionales.

Un agente inteligente puede ser una entidad física o virtual. Si bien el


término agente racional se refiere a agentes artificiales en el campo de la
Inteligencia Artificial, también puede considerarse agentes racionales a los
animales incluido el hombre.

Los agentes inteligentes se describen esquemáticamente como un sistema


funcional abstracto. Por esta razón, los agentes inteligentes son a veces
llamado Agentes Inteligentes Abstractos (AIA) para distinguirlos de sus
|Inteligencia Artificial

|
implementaciones del mundo real como
sistemas informáticos, los sistemas
biológicos, o de organizaciones. Algunas
definiciones de agentes inteligentes hacen
énfasis en su autonomía por lo que
prefieren el término agente inteligente
autónomo. Y otros (en particular, Russell y
Norvig (2003)) consideran conducta
dirigida a objetivos como la esencia de lo
inteligente y prefieren un término tomado de
la economía "Agente Racional".

Como ejemplos de entidades físicas pueden nombrarse:

 Un robot de comportamiento variable autoregulado (ya sea que su


comportamiento sea determinado por software o incorporado
directamente en la electrónica),
 Una computadora que ejecuta un software de diagnóstico médico y
muestra resultados en una pantalla para ayudar a decidir a un médico,
 Una computadora especializada que controla un helicóptero en
maniobras peligrosas para un hombre.

Ejemplos de entidad puramente virtual serían:

 Un software de descubrimiento de patrones en Internet que sólo


interactúa con otro software.
 Un software softbot que simula a una persona en un juego de
computadora, tal como un jugador de ajedrez, un jugador de fútbol
contrincante o un conductor de carreras de automóviles, etc.

1.1 ¿Cómo se diseña un agente?

 Considerando el agente como entidad que


interactúa con su entorno el diseño de un
agente requiere estudiar:
- Cómo percibir el entorno
- Cómo representar el entorno
- Cómo definir los actuadores

 Utilizando la definición de Newell:


- Cómo representar los objetivos del agente
|Inteligencia Artificial

|
- Cómo describir la toma de decisiones del agente
- Cómo representar el conocimiento

 Y si consideramos un SMA, según Ferber, los mismos elementos de antes


y además:
- Leyes que controlan el entorno
- Objetos ubicados
- Coordinación de los agentes
- Acciones permitidas

1.2. Arquitecturas para agentes inteligentes

Una arquitectura permite descomponer un sistema computacional en


componentes más pequeños y determinar cómo es la relación entres estos. Una
arquitectura para agentes en particular permite descomponer un sistema de
agentes, y determinar cómo deben interactuar entre ellos y con el ambiente.

Se distinguen tres arquitecturas diferentes que se clasifican según el


modelo de razonamiento que utilizan.

1.2.1. Arquitecturas deliberativas

Una arquitectura deliberativa es aquella en la que el comportamiento y


conocimiento de los agentes están explícitamente representados mediante un
modelo simbólico. El modelo simbólico consta generalmente de un conjunto de
símbolos físicos, es decir un conjunto físicamente realizable de entidades y
estructuras. Además de esto en la arquitectura deliberativa las decisiones de los
agentes son hechas mediante razonamiento lógico
o seudo lógico.

Para construir una arquitectura deliberativa


se deben solucionar los siguientes dos problemas.
|Inteligencia Artificial

|
• Trasladar el mundo real a una
acertada y suficiente descripción
simbólica.

• La forma en la que se representará


simbólicamente la información de las
entidades y procesos complejos del
mundo real, y la manera de conseguir
que los agentes razonen con esta información.

Un ejemplo de agentes que se pueden desarrollar con la arquitectura


deliberativa, son los agentes intencionales en los cuales se define una
planificación teniendo en cuenta sus creencias y deseos. La arquitectura BDI es
una de las arquitecturas más utilizada en nuestros días, en ella se definen los
deseos, creencia e intenciones de los agentes.

1.2.2 Arquitecturas reactivas

Una arquitectura reactiva es aquella que no incluye alguna clase central


de modelo simbólico del mundo y no usa un razonamiento simbólico complejo.
Las acciones que toman sus entidades se basan en una asignación de lectura
del medio ambiente con una operación a efectuar. Esta clase de arquitectura
también es llamada alternativa, ya que surgió como una opción a las
arquitecturas deliberativas que presentan problemas que en ocasiones no se
pueden solucionar y además se aleja de la representación del conocimiento
mediante un modelo simbólico.

1.2.3 Arquitecturas Híbridas

Los investigadores sugieren que ninguna de las dos arquitecturas vistas


anteriormente es del todo apropiada para la construcción de agentes, por eso se
plantean soluciones de arquitecturas híbridas en la cual se integran los dos
métodos (deliberativa y reactiva).

Una propuesta de tal arquitectura es la construcción en base a dos


subsistemas: uno deliberativo en el cual los planes desarrollados y las decisiones
hechas sean planteadas por un conjunto de símbolos y uno reactivo el cual tenga
la capacidad de reaccionar ante eventos del entorno sin emplear razonamiento
complejo.
|Inteligencia Artificial

|
Esta clase de metodología se puede
desarrollar en capas en la que una o más
capas pueden tener acceso a los datos
suministrados por el entorno y una o más
capas pueden efectuar acciones en el
entorno. A continuación se presentan dos
clases en la que esta propuesta de
arquitectura híbrida se puede desarrollar.

• Horizontal: Todas las capas tienen acceso a los datos del entorno y a
realizar acciones en el entorno.

• Vertical: Una capa tiene accesos a los datos del entorno y a realizar
acciones en el entorno.

En este caso de arquitectura en capas, el correcto comportamiento del


agente viene dado por la interacción entre los diferentes niveles y en el nivel de
información de cada capa.

1.3. Tipología de agentes

La existencia de diferentes tipos de agentes se debe a la gran cantidad de


aplicaciones en las que pueden incursionar y en el ambiente en que trabajan. El
primer aspecto se refiere a los roles que los agentes pueden tomar al trabajar en
diferentes aplicaciones por ejemplo ayudantes personales, agentes móviles,
knowbots (agentes de conocimiento), entre otros. El segundo aspecto tiene que
ver con la apariencia de los agentes, es decir en donde se sitúan, trabajan o
ejecutan sus acciones, por ejemplo los agentes que trabajan en el mundo físico
son denominados robots, los agentes que trabajan como un programa de
computador son llamados softbots o agentes de software.

Una tipología de agentes se refiere al estudio y clasificación de diferentes


tipos de entidades. En esta sección seguiremos la clasificación de los agentes
hecha por Nwana en [NWAN 1996], primero veremos cómo se pueden clasificar
los agentes desde diferentes aspectos y segundo se dará una explicación más
detallada sobre algunas clases de agentes de software.

1.3.1 Clasificación de los agentes inteligentes.

• Movilidad.
• Arquitectura de construcción
|Inteligencia Artificial

|
• Atributos principales
• Roles
• Híbridos y Heterogéneos

1.3.2 Clases de agentes inteligentes

1.3.2.1 Agentes colaborativos

Este tipo de agentes se enfatiza en la autonomía y las habilidades sociales


con otros agentes para ejecutar las tareas de sus usuarios. La coordinación de
los agentes se logra mediante la negociación para alcanzar acuerdos que sean
aceptables para los agentes negociantes.

Los agentes colaborativos son capaces de actuar racionalmente y


autónomamente en ambientes multiagente y con restricciones de recursos.
Otras características de estos agentes es que poseen habilidades sociales, son
proactivos, benévolos, estáticos y veraces.

Los agentes colaborativos se pueden utilizar es la solución de algunos de


los siguientes problemas:

• Para resolver problemas que son muy grandes para un agente centralizado.

• Para permitir la interconexión e interoperabilidad de sistemas de IA


existentes como sistemas expertos, sistemas de soporte de decisión etc.

• Solucionar problemas que son inherentemente distribuidos.

• Proporcionar soluciones que simulen recursos de información distribuidos.

• Incrementar la modularidad, velocidad, confiabilidad, flexibilidad y


reutilización en sistemas de información.
|Inteligencia Artificial

1.3.2.2 Agentes de Interface

Los agentes de interfaz se enfatizan en


la autonomía y la adaptabilidad para realizar
tareas a sus usuarios. Este tipo de agentes
básicamente presta soporte y asistencia a un
usuario que está aprendiendo una nueva
aplicación o nuevos conceptos.

El agente puede aprender mediante alguna de las siguientes cuatro


técnicas, observando y monitoreando la interfaz:

1. Por observación e imitación del usuario.

2. A través de una retroalimentación positiva o negativa del usuario.

3. Recibiendo instrucciones explicitas del usuario.

4. Asesorándose de otros agentes.

De esta manera el agente puede actuar como un asistente personal y


autónomo del usuario, cooperando con él para terminar una cierta tarea.

1.3.2.3 Agentes móviles

Estos agentes se enfatizan en las


habilidades sociales y la autonomía, a
diferencia de los agentes cooperativos,
estos son móviles.

Los agentes móviles son procesos


de software que son capaces de transitar
por una red, generalmente una WAN,
interactuando con computadores
alejados, reuniendo información para el usuario y volviendo a su origen cuando
las tareas fijadas por el usuario se hayan completado. Las tareas que se pueden
realizar son por ejemplo reservaciones de vuelos, manejo de una red de
telecomunicaciones entre otras.
|Inteligencia Artificial

|
Los agentes móviles traen con si grand es beneficios aunque no son
funcionales, esto quiere decir que una tarea que realiza un agente móvil puede
ser realizada por un agente colaborativo, la diferencia radica en que para
movilizar el agente se requiere de un costo muy alto de recursos.

Algunas de las ventajas que se pueden obtener al usar agentes móviles


son:

• Reducen el costo de comunicación, por ejemplo cuando en una ubicación


hay un gran volumen de información que necesita ser examinada y
transmitida, esto ocuparía una gran cantidad de recursos en la red y
consumiría mucho tiempo. En este caso el agente móvil puede determinar
la información relevante al usuario y transmitir un resumen comprimido de
esta información.

• Facilitar la coordinación, es más sencillo coordinar un cierto número de


requerimientos remotos e independientes al comparar solo los resultados
localmente.

• Reduce los recursos locales, los agentes móviles pueden ejecutar sus
tareas en computadores diferentes del local, de tal manera que no
consuman recursos de procesamiento, memoria y almacenamiento en
estos.

• Computación asíncrona, mientras que un agente móvil realiza su tarea el


usuario puede ir realizando otra, de tal manera que después de un tiempo
el resultado del agente móvil sea enviado al usuario.

1.3.2.4 Agentes de información

Los agentes de información nacieron debido a la gran cantidad de


herramientas que surgieron para el manejo y recuperación de información. Los
agentes de información tienen los roles de manejar, manipular, e integrar
información de muchas fuentes de datos distribuidas.

La hipótesis fundamental de los agentes de información es que puedan


mejorar de algún modo, pero no completamente el problema de la sobrecarga
de información y en general el manejo de esta.
|Inteligencia Artificial

|
2. DESCRIPCION DEL PROYECTO

Se trata de implantar un simulador de ambiente para la medición del


desempeño en el mundo de una aspiradora.

2.1. Ambiente:

El ambiente está formado por una rejilla de F filas x C columnas. En algunos


de ellos hay obstáculos (muros y muebles), en otro hay huecos, en tanto que
otros cuadrados son espacios libres. En algunos de estos espacios libres hay
basura. Por cada acción “avanzar” se adelanta un cuadrado, a menos que ese
cuadrado haya un obstáculo, en cuyo caso el agente permanecerá en donde se
encuentra, y se enciende el sensor táctil. Mediante la acción “aspirar basura”
siempre se limpia la basura. Si cae en un hueco se termina la simulación, de
igual manera el comando “apagar” da por terminada la simulación.

La configuración del ambiente estará dada de la siguiente manera:

• Celdas F x C

• Celdas con obstáculos, O < 0.10*FxC

• Celdas con basura B, B < 0.10*FxC

• Celdas con huecos, H < 0.10*FxC

• Posición inicial Px = (Pf, Pc), Px Ë H

• Orientación Inicial Oi = {N, S, E, O}

1.2 Estado:

Situación en la que se encuentra la aspiradora en un momento, donde


tendremos FxC posibles celdas de estado.
|Inteligencia Artificial

1.3 Estado Inicial:

Cuando la aspiradora no ha iniciado las acciones. El estado inicial


(Ubicación de origen) de la aspiradora será aleatorio.

- Pantalla de inicio
|Inteligencia Artificial

|
- Ingresa datos para tener acceso al programa

- Aspiradora cuando no ha iniciado ninugna acción

 Meta
La meta del agente es aspirar toda la basura que hay en el ambiente
|Inteligencia Artificial

- El agente termina de limpiar

1.4 Percepciones:

Todo agente de aspiradora obtiene cada vez un vector de percepción


formado por cuatro elementos.

- Un sensor táctil (T).- Situado en la parte frontal de la aspiradora, que


tendrá un valor 1 si la aspiradora topa con algún obstáculo y un valor 0
en caso contrario.
|Inteligencia Artificial

- Un foto sensor (Fs).- Que está debajo de la maquina, que emitirá un 1


si hay basura y un 0 en caso contrario.

- Un sensor infrarrojo (If).- Que esta debajo de la aspiradora, que emitirá


un 1 cuando el agente se encuentra en su ubicación de origen y 0 e
cualquier otro caso.

- Un sensor de hueco (H).- Que está debajo de la aspiradora, que emitirá


un 1 cuando el agente cae a un hueco y permanece en un 0 en caso
contrario.
|Inteligencia Artificial

1.5 Actuadores:
Las acciones posibles que puede realizar la aspiradora son:

 Avanzar

 Voltear 90o a la derecha

 Voltear 90o a la izquierda


|Inteligencia Artificial

 Aspirar basura

 Apagarse

El apagado de la aspiradora puede producirse por los siguientes motivos:

- Si la aspiradora termino de aspirar todas las basuras.


- Si se le ordena apagarse.
|Inteligencia Artificial

|
|Inteligencia Artificial

|
1.6 Tabla de Percepción Acción:

PERCEPCIONES
ACCIÓN SIGUIENTE POSICIÓN SIGUIENTE ACCIÓN
IF T FS H ORIENTACIÓN
El agente avanza una celda. Siguiente celda (al frente) *Si choca, se activa el sensor
táctil.
0 0 0 0 →,←,↑,↓ *Si no choca, avanza y evalúa
si la posición en la que se
encuentra es la inicial.
El agente se apaga debido a Se reinicia posición Se apaga el agente
0 0 0 1 →,←,↑,↓ que sensa hueco y se termina
el juego.
La acción que toma es aspirar La misma celda donde aspiró *Aumentar el contador de
0 0 1 0 →,←,↑,↓ la mugre. aspiradas en 1-->CB = CB + 1
*Avanzar
No existe debido ya que no
0 0 1 1 - ubica basura en un hueco.
- -
Gira 90° derecha al tocar un La misma celda donde giró *Aumentar el contador de
0 1 0 0 →,←,↑,↓ borde o pared. acciones en 1 --> CA = CA+ 1
*Avanzar
No existe debido a que una
- -
0 1 0 1 - pared no se encuentra en el
hueco.
No existe esta percepción
debido a que el agente no
- -
0 1 1 0 - puede aspirar mugre de la
pared.
No existe ya que al caer en un
hueco sensa el vacío por ende
- -
0 1 1 1 - no puede sensar mugre y
menos una pared.
|Inteligencia Artificial

|
El agente se encuentra en el *Si no es la primera acción del *Si no es la primera acción del
punto origen se apaga. agente: Se reinicia posición. agente: Se apaga.
*Si es la primera acción, *Si es la primera acción, evalúa
evalúa. su posición y la guarda como
1 0 0 0 →,←,↑,↓ *Si no es la primera acción del posición inicial PI.
agente: Se reinicia posición.
*Si es la primera acción, se
queda en misma celda.
Termina el juego debido a que Se reinicia posición Se apaga el agente
1 0 0 1 - el
punto de origen es un hueco
El agente se encuentra en el *Si no es la primera acción del *Si no es la primera acción: Se
punto de origen y aspira. agente: Se reinicia posición. apaga.
1 0 1 0 →,←,↑,↓ *Si es la primera acción, se *Si es la primera acción, aspira
queda en misma celda. la basura.

No existe debido que no puede


1 0 1 1 - sensar hueco, basura.
- -
No existe porque el punto de
origen es un obstáculo donde el
- -
1 1 0 0 - juego no permite iniciar en un
obstáculo.
1 1 0 1 -
No existe debido a que sensa
hueco y obstáculo a la vez.
- -
No existe debido a que el
- -
1 1 1 0 - agente sensa obstáculo,
basura y el punto de origen.
No existe debido a que el
agente sensa obstáculo,
- -
1 1 1 1 - basura, hueco y el punto de
origen.
|Inteligencia Artificial

|
1.7 Desempeño:

La medida del desempeño y de costos será aplicado según la tabla de


pesos equivalentes de cada acción que realiza la aspiradora.

1.8 Estadísticos:

Son las medidas que utilizaremos para el cálculo del desempeño


 Contador de choques de la aspiradora.
 Contador de la cantidad de basuras recogidas.
 Posición de origen (PO): capturará la posición inicial del agente.
 Posición Final (PF): capturará la última posición del agente cuando finaliza
el trabajo.
 Porcentaje de Limpieza: Se realiza el cálculo tomando la cantidad de
basuras totales y la cantidad de basuras recogidas.
 Gasto Realizado: Se realiza la suma de costos de cada acción que realizo
el agente.
 Tiempo: Se mostrara el tiempo que el agente se tomo para realizar la
limpieza completa.

Al finalizar el simulador, se realizará la totalización de puntos de acuerdo a


las reglas.

 Contador A * 1 = A1
 Contador B * 100 = B1
 Compara PF y PO:

 Si PF = PO
Desempeño = B1 - A1

 Si PF ≠ PO
Desempeño = B1 - A1 – 1000
|Inteligencia Artificial

|
1.9 Calculo del Desempeño:

El desempeño se calculará según el detalle en punto 1.9 Desempeño, tal


como se muestra en el siguiente diagrama:
|Inteligencia Artificial

|
3. PSEUDOCODIGO (Algoritmos utilizados)

2.1 Diagrama de Clases


|Inteligencia Artificial

|
2.2Diagrama de Flujo General del simulador
|Inteligencia Artificial

|
4. DESCRIPCION DEL CODIGO (Código Comentado) Y CODIGO
FUENTE

 Primero se agregan la cantidad de filas y columnas del ambiente

 Con las filas y columnas obtenidas se procede a crear el ambiente con el


tamaño asignado
|Inteligencia Artificial

|
 Crear una casilla vacía

 Colocar basura en un casillero del ambiente

 Colocar hueco en un casillero del ambiente


|Inteligencia Artificial

|
 Colocar obstáculo en un casillero del ambiente

 Colocar el agente en un casillero del ambiente


|Inteligencia Artificial

|
 Valores para las diferentes direcciones que el agente puede tomar
ORIENT_N = 0;
ORIENT_S = 1;
ORIENT_E = 2;
ORIENT_O = 3;

0 = vacio
1 = basura
2 = hueco
3 = obstáculo
4 = Agente

 Comienza el ciclo del agente para la búsqueda de basura


|Inteligencia Artificial

|
 El propioceptor del agente

 Ejecutar el ciclo para cada percepción de las direcciones del agente


|Inteligencia Artificial

|
 Percepción del Agente
|Inteligencia Artificial

 Sensor del agente


|Inteligencia Artificial

|
 Acciones del agente

 Cantidad de Obstáculos
|Inteligencia Artificial

|
 Cantidad de hueco

 Cantidad de basuras

 Obtener la posición inicial del agente (columna y fila)


|Inteligencia Artificial

|
 Obtener la cantidad de basuras aspiradas por el agente

 Obtener la cantidad de choques que sufrió el agente

 Porcentaje de basuras aspiradas.

 Gasto realizado según la tabla de pesos por cada acción


|Inteligencia Artificial

|
 Calcular el tiempo que el agente empleo para realizar la limpieza.

 Obtener la posición final del agente (fila y columna)

PROGRAMA EN FUNCIONAMIENTO

EJECUCION 1:
|Inteligencia Artificial

Porcentaje de Limpieza: 85%


|Inteligencia Artificial

|
EJECUCION 2:
|Inteligencia Artificial

Porcentaje de Limpieza: 100%


|Inteligencia Artificial

|
EJECUCION 3:
|Inteligencia Artificial

Porcentaje de Limpieza: 100%


|Inteligencia Artificial

|
EJECUCION 4:
|Inteligencia Artificial

Porcentaje de Limpieza: 100%


|Inteligencia Artificial

|
EJECUCION 5:
|Inteligencia Artificial

Porcentaje de Limpieza: 83%

PROMEDIO DE PORCENTAJE DE LIMPIEZA:

85%

100%

100%

100%

83%

= 93.6%
|Inteligencia Artificial

|
5. CONCLUSIONES:

El agente inteligente implementado solo tiene una memoria parcial,


por lo tanto solo recuerda las últimas acciones realizadas en base a
las percepciones que obtuvo del ambiente y por ello volverá a repetir
pasos realizados anteriormente, en ocasiones puede que el agente se
quede en un bucle repetitivo, pero eso solo ocurre en pocas
ocasiones. El agente se desempeña en el ambiente realizando los
movimientos usando su propio receptor y reacciona en base a los
sensores que este posee, obtuvo un desempeño casi óptimo ya que
en la mayoría de pruebas realizadas logro limpiar el 100% del
ambiente, obteniendo de esa manera casi un 90% de desempeño
óptimo en las pruebas realizadas.

 Sin embargo, este avance tecnológico puede traer graves


consecuencias como el desempleo, la veneración y el sometimiento
por parte del humano. No se puede negar que la Inteligencia artificial
traería grandes ventajas para el hombre; pero también se debe ser
consciente de sus implicaciones negativas.

6. SUGERENCIAS:

 Los agentes inteligentes realizan las tareas de la misma manera y con


la misma eficacia que lo hacen las personas.

 Las soluciones aportadas para resolver ciertos problemas tienen


aplicaciones interesantes en múltiples tareas de nuestra vida
cotidiana que nos hacen la vida más fácil.

También podría gustarte