9

Click here to load reader

Ingenieria Del Agente

Embed Size (px)

Citation preview

Page 1: Ingenieria Del Agente

IA: Agente Farmacéutico

.

AGENTE FARMACEÚTICO

Andrea Espinosa

e-mail: [email protected]

Mayra Criollo

e-mail: [email protected]

Mercy Jiménez

e-mail: [email protected]

1. ABSTRACT

El presente trabajo consiste en la elaboración de

un agente inteligente que permite agilizar la

atención de los clientes en una farmacia,

despachar rápidamente las recetas médicas, ser

capaz de entender lo que dice la receta

expendida por los médicos y entregar el producto

o medicina correcta, brindando seguridad a los

clientes. Con el agente se puede lograr reducir la

utilización del personal y disminuir el tiempo de

espera para expedir el pedido de las personas.

2. INTRODUCCIÓN

La inteligencia artificial se ha enfocado sobre la

explicación del trabajo mental y construcción de

algoritmos de solución a problemas de propósito

general. Ya que un sistema de inteligencia

artificial tiene enormes ventajas respecto a los

humanos. Por ejemplo, su capacidad de

almacenamiento, su capacidad para tomar

decisiones racionales sin prejuicios o emociones

que perturben el resultado.

Debemos saber que es un agente inteligente; es

una entidad software que, basándose en su

propio conocimiento, realiza un conjunto de

operaciones para satisfacer las necesidades de

un usuario o de otro programa, bien por iniciativa

propia o porque alguno de éstos se lo requiere

[1]. La efectividad del agente se mide a través de

las medidas de rendimiento y las decisiones que

tome en un momento dado dependerán de la

secuencia de percepciones que tenga hasta ese

instante.

Un agente posee cierto conocimiento inicial el

cual debe ser retroalimentado con las

experiencias y percepciones que está captando

del entorno que lo rodea, se espera que exista

una especie de aprendizaje continuo y evolutivo.

Palabras clave: Agente inteligente, Agente

basado en utilidad, agente basado en objetivos,

Algoritmo A*, Algoritmos genéticos, Algoritmo

voraz local.

3. Objetivos

Nuestro objetivo es presentar,

identificar, definir y clasificar el tipo de

agente inteligente que tratamos de

modelar.

Aplicar medidas de desempeño o

rendimiento que sirvan para definir que

tan exitoso es nuestro agente

Conocer los tipos de ambiente en los

que un agente inteligente trabaja.

4. DESARROLLO

El contexto del problema se ubica en una

farmacia, la cual necesita de una mejor atención

a sus clientes y sobre todo eficiencia para su

negocio, ya que las estanterías dispone de varias

alturas para almacenar los medicamentos, y por

lo general los encargados de atender a los

Page 2: Ingenieria Del Agente

clientes no tienen esa eficiencia y la rapidez que

se necesita para el momento de atender y

despachar el pedido.

Por lo que la solución y la mejor manera de

incrementar la venta en el negocio y tener una

mejor atención al cliente se ha optado por la

implementación de un agente inteligente

farmacéutico, que pueda resolver este

inconveniente.

El agente farmacéutico necesitará de:

Punto de Partida o estado inicial, es el punto

de inicio de la actividad del agente inteligente,

ahí es donde recibe las órdenes que el

farmacéutico le de y la recepción de recetas

médicas a ser despachadas. [2]

Punto de Destino, el punto de destino siempre

coincidirá con el punto de inicio ya que el agente

siempre deberá regresar a él para entregar los

productos que hayan pedido los clientes. [2]

Ruta, el agente inteligente siempre tendrá un

objetivo que perseguir, la misma que puede tener

varios puntos de destino intermedios, las cuales

corresponderán a las coordenadas de ubicación

de cada producto seleccionado o pedido por el

cliente.

Figura 1. Esquema del Agente

5. ESPACIO DE ESTADOS

Un espacio es una configuración posible del

sistema, esto en nuestro ámbito es un caso real,

al conjunto de éstos se denomina espacio de

estados que englobará el conjunto de estados

que definen el ámbito total de nuestro agente, es

decir el conjunto de todas las combinaciones

posible Agente – Estado.

El espacio de estados es la totalidad de la

farmacia, pues el agente puede posicionarse en

cualquier lado del mismo.

6. OBJETIVO DEL AGENTE

El objetivo del agente es recoger todos los

medicamentos o productos que se le pida y

alcanzar el punto de inicio para depositarlos en la

zona de intercambio, para ello el agente deberá

evaluar en función de los obstáculos fijos el

camino o caminos a seguir, así mediante

comparaciones sucesivas se interrogará sobre si

el estado alcanzado coincide con el estado

objetivo o estado final que se persigue, ejecutará

en ese punto la acción pertinente.

7. RESTRICCIONES [2]

Las restricciones o limitaciones de nuestro

agente son los obstáculos que se le presentan

para llegar al objetivo, este agente estará

diseñado para evaluar si un obstáculo es móvil y

permanente o fijo, el mismo que irá actualizando

su base de conocimientos y marcará ese

obstáculo, y procederá a ejecutar una nueva

búsqueda para llegar hasta el objetivo.

Obstáculos Fijos.- Estos son las paredes del

almacén y las estanterías.

Obstáculos Móviles.- Son aquellos como

cajas desparramadas, miembros del personal

con los que el agente se pueda topar, para

llegar al objetivo.

8. EL AMBIENTE

Para poder saber el tipo de ambiente sobre el

cual se desenvolverá el agente farmacéutico

debemos conocer bien el problema y el entorno

físico sobre el cual va a actuar, siempre tomando

en cuenta las necesidades que debemos cubrir.

En nuestro caso analizando los tipos de

ambientes que existen podemos ver que el

agente farmacéutico operará sobre un entorno

Page 3: Ingenieria Del Agente

parcialmente observable ya que por algún factor

como el ruido dentro de la farmacia puede no

obtener la información necesaria para buscar el

producto que desea el cliente y discreto por que

en efecto las percepciones que realiza el agente

son finitas y están cuantificadas así como sus

acciones.

9. COMPONENTES

El agente necesitará de algunos componentes

para realizar su actividad:

9.1 Sensores [3]

Los sensores son una parte esencial en el

agente inteligente farmacéutico para que tenga la

capacidad de percibir lo que sucede en el medio

ambiente, para lo cual incorporará:

Sensor sonar, le servirá para detectar

objetos a distancia o los obstáculos que

se le presenten en el camino

Sensores de Fuerza sensitiva, le

permite al agente percibir y controlar la

ubicación de sus articulaciones con

mucha mayor precisión.

Sensor Táctil le permite tener contacto

con las personas y aplicar la fuerza

necesaria de acuerdo al medicamento

Sensor Inercial, éste sensor le ayuda

para la captura y análisis de

movimiento, y a medir la aceleración y

velocidad angular.

Cámara, le permite capturara las

imágenes en tiempo real, es decir captar

escenas del medio ambiente.

sensores Bump izquierda y derecha

para detectar choques.

Programa de OCR, para el

reconocimiento de los caracteres de la

receta médica escrita de forma

manuscrita por los médicos.

9.2 Actuadores [3]

El agente debe responder ante los estímulos que

le llegan mediante acciones físicas, nuestro

agente contará con los siguientes actuadores:

Locomoción, este actuador está

relacionado con el sensor inercial por

que le permitirá trasladarse de un lugar

a otro.

Motor, le servirá para activar el

dispositivo de traslado del agente, que

consistirá en un engranaje de ruedas y

cadenas, para que el agente pueda

avanzar y retroceder.

Rotor, es necesario para posibilitar el

giro de los engranajes y que el agente

pueda conseguir movimientos

circulares.

Brazo y mano articulados, le ayudarán

al movimiento adecuado para la

recepción del producto y la receta

médica.

Micrófonos y Altavoces, para escucha

de órdenes.

Figura 2. Componentes del Agente

10. TIPO DE AGENTE

Entre los distintos tipos de agentes que se

presentan en Inteligencia Artificial, y analizando

las tareas o actividades que realizará nuestro

agente se ha podido concluir que es un Agente

Basado en objetivos ya que nuestro problema se

basa en la consecución de un fin y basado en

utilidad porque debe emprender todas aquellas

acciones que favorezcan obtener el máximo de

su medida de rendimiento para el éxito en la

realización de sus tareas encontrar la mejor ruta.

Page 4: Ingenieria Del Agente

11. FICHA DEL AGENTE

Tipo de agente:

Farmacéutico.

Medidas de rendimiento:

Rápido.

Eficiente.

Seguro.

Calidad de trabajo.

Entorno:

Personas.

Almacén.

Medicamento.

Actuadores:

Locomoción.

Motor

Rotor

Brazo y mano articulados.

Micrófono

Altavoces

Sensores:

sonar

Inercial

táctil

Fuerza sensitiva

Bumpers

Infrarrojo

Cámaras

12. TIPOS DE BÚSQUEDA

Todo problema en inteligencia Artificial lleva

inherente un problema de búsqueda. Para elegir

el algoritmo con el cual actuará y aplicará

nuestro agente para encontrar la mejor ruta al

objetivo y para ir aprendiendo se debe

primeramente saber en que consiste cada tipo de

búsqueda y haber comprendido el problema que

se desea resolver.

Los algoritmos que podemos implementar en

nuestro agente son:

12.1 Algoritmo de búsqueda A* [4]

El algoritmo de búsqueda que se acopla con el

agente farmacéutico es el algoritmo A* también

pronunciada búsqueda en estrella. La ventaja

que ofrece este algoritmo a nuestro agente es

que permite evaluar los nodos combinados g(n)

determinando el coste para alcanzar el nodo, y

h(n) evalúa el coste para llegar al objetivo; como

sabemos este algoritmo es para encontrar

caminos en grafos, apoyándose en el hecho de

que a veces para llegar a la solución hay que dar

pasos que tienen un mayor coste que otros. Es

una combinación del algoritmo en profundidad y

el de anchura, lo que ayuda a encontrar la

solución optima.

12.2 Algoritmo Genético [6]

El agente puede basarse en algunas

técnicas para su aprendizaje (árboles de

decisión, algoritmos genéticos, reglas de

inducción); para el agente farmacéutico que

se modela en este proyecto se lo

caracteriza dentro del aprendizaje inductivo,

ya que permite al agente aprender de los

hechos observados.

Este tipo de algoritmos se puede utilizar en

cualquier tipo de problema, ya que se basa

en el principio de la evolución natural

13. PLANTEAMIENTO DEL PROBLEMA

El problema es encontrar la mejor ruta para llegar

al medicamento solicitado por el cliente. Con el

Agente Farmacéutico queremos mejorar la

atención en las farmacias sobre todo en tiempo,

rapidez y seguridad.

Como una solución a este problema se ha

elegido dos algoritmos para uno para que elija la

mejor ruta (Algoritmo A*) y el otro para su

aprendizaje (Algoritmo Genético).

14. ¿POR QUÉ IMPLEMENTAMOS ESTOS ALGORITMOS?

Algoritmo A*: Lo utilizamos por que nuestro

agente inteligente debe percibir que una persona

se encuentra en la farmacia solicitando que le

despachen una receta médica, el tiene que estar

en la capacidad de recibir la receta médica e

interpreta mediante el sensor

OCR(reconocimiento óptico de caracteres) el

pedido de los fármacos y determinar cuántas

Page 5: Ingenieria Del Agente

capturas debe realizar en los estantes como

ejemplo con una captura de 5 fármacos

primeramente se acercara a buscar la medicina

que se encuentre más próxima a él, calculando

las distancias de cada una de los productos

solicitados y dependiendo de los resultados del

cálculo de las distancias se moverá buscando el

siguiente medicamento.

ALMACEN

1 2 3 4 5 6 7 8 9 10

1

2

3

4

5

6

7

8

9

1

0

Medicamento 1

Medicamento 2

Figura 3. Esquema de recorrido

DESCRIPCION: Código

En la funcion principal crea el frame donde se va

implementar la matriz donde se va llevará a cabo la

busqueda, además llama a la función init() y start ()

Esta función define el tamaño de la matriz tomando

en cuenta las filas y columnas.

Crea cada una de las celdas de las filas y columnas

de la matriz que se muestra en le frame, contiene

métodos de inicialización para el recorrido de la

matriz, donde la función getSalida busca el camnimo

al objetivo.

La función de salida representa el agente, y la de

llegada pertenece al nodo objetivo.

Se declara las variables con las que empieza la

función heurística en este caso tenemos g y h

Page 6: Ingenieria Del Agente

Función f(n) permite encontrar el coste del camino

sumando g(n) que es el coste del camino para

alcanzar el nodo y h(n) el coste de ir al nodo objetivo.

La función encuentraCamino permite buscar en las

celdas ordenadas el camino mediante el coste de

cada uno de ellos, calcula en las celdas hijas con el

valor mínimo para seguir expandiendo la celda y de

esta manera llegar al objetivo.

Cuando aún no se encuentra el camino solución la

variable sol_encontrada denota el valor de falso,

entonces compara si la solución es diferente de falso

y abiertos diferente de vacía expande una nueva

celda y de esta manera genera sus sucesores para

encontrar el mejor nodo objetivo.

Algoritmo Genético: Es importante dentro de

nuestro agente ya que mientras mas tareas realiza

percibiendo del entorno, tiene más probabilidades de

aprender, con la finalidad de ser capaz de actuar de

forma autónoma

El agente farmacéutico da soluciones en base al

aprendizaje de algoritmos genéticos, el mismo que

puede generar conocimiento de acuerdo al espacio

de estados que puede tomar en cuanto a un pedido

medico.

Cuando se da demasiada concurrencia

de clientes en la farmacia el agente

puede capturar varios pedidos médicos

donde aplicara su conocimiento para

tomar la mejor decisión en el despacho

de productos.

El agente tiene que estar en la

capacidad de no confundir el

medicamento de cada pedido.

DESCRIPCION: CODIGO

El algoritmo genético puede presentar diversas

variaciones, dependiendo de cómo se aplican los

operadores genéticos (cruzamiento, mutación), de

cómo se realiza la selección y de cómo se decide el

reemplazo de los individuos para formar la nueva

población, para generar las distintas rutas hemos

ejecutado cada una de las parte que lo conforma

estas son:

1.- Inicialización

Para escoger una parte de la población se

genera aleatoriamente y se realizan operaciones en

estado inicial, que está constituida por un conjunto de

cromosomas los cuales representan las posibles

soluciones del problema. En caso tenemos registrada

una población en un archivo .txt para que se vaya

llamando cada elemento, véase en la Fig. 8

Page 7: Ingenieria Del Agente

Figura. 8 Archivo de la población

El tamaño de la población es de 6 de esta manera

permitirá indicar cada individuo, cromosoma, genes, y

buscar la ruta optima.

2.- Evaluación

Cada uno de los cromosomas de esta

población se aplicará la función de aptitud para saber

cómo que tan buena es la solución de la ruta

encontrada, refiérase a la figura 9.

Figura. 9 Cálculos de la aptitud

Con la función Fitness permite indicar que aptitud

para saber que tan buena es la elección.

3.- Condición de término

El Algoritmo Genético se detiene cuando se

alcanza la solución óptima, pero entendemos que se

desconoce por qué el algoritmo genético aun no

aplica todas las operaciones para buscar la ruta

óptima. Hemos indicado que el algoritmo genético

mantiene un tamaño de población, tamaño ELITE

(una porción de esa población), cruzamiento,

generaciones, TSP (problema de resolución de rutas),

observe en la figura 10, que indica la inicialización de

cada operación.

Figura. 10 Inicialización de operaciones

. Así que mientras no se cumpla la condición de

término se hace lo siguiente:

Selección.- Después de saber la aptitud de

cada cromosoma se procede a elegir los

cromosomas que serán cruzados en la

siguiente generación. Los cromosomas con

mejor aptitud tienen mayor probabilidad de

ser seleccionados. Refiérase a la figura11,

indica como hemos realizado la operación

de selección.

Figura 11. Operaciones de selección de

población.

Cruzamiento.- El cruzamiento es el principal

operador genético que se establece,

representa la reproducción sexual, opera

sobre dos cromosomas a la vez para

generar dos descendientes donde se

combinan las características de ambos

cromosomas padres. Vea la figura 12.

Page 8: Ingenieria Del Agente

Figura 11. Operaciones de selección de

población.

Cruzamiento de cromosomas padre y cromosomas

hijo dentro de la población.

Mutación.- modifica al azar parte del

cromosoma de los individuos, y permite

alcanzar zonas del espacio de búsqueda

que no estaban cubiertas por los individuos

de la población actual. Véase la figura 12.

Figura 12. Operaciones de mutación

Reemplazo.- una vez aplicados los

operadores genéticos, se seleccionan los

mejores individuos para conformar la

población de la generación siguiente

Obtención de la mejor ruta:

Figura 13. Obtención de la mejor ruta.

Page 9: Ingenieria Del Agente

15. CONCLUSIONES

Un agente puede ayudar a resolver

problemas que se presentan en la vida

cotidiana cumpliendo ciertas medidas de

rendimiento que permitan cumplir los

objetivos para los cuales fue creado.

Debemos tener bien definido lo que

queremos resolver con el agente inteligente,

para poder aplicar algoritmos de búsqueda y

de aprendizaje.

16. REFERENCIAS

BIBLIOGRÁFICAS

[1] Wooldridge y Jennings, 1995

[2] Díaz Noel Mamoghli disponible en

http://profesores.sanvalero.net/~w0467/iartifici

al4/Agentes%20Inteligentes/Ejemplos%20de%

20Trabajos/Agente%20Farmaceutico.doc

[3]

http://www.ceaifac.es/actividades/jornada

s/XXI/documentos/ja00_075/ja00_75.pdf

[4] El cerro de reyes estrena la primera

farmacia con robot de dispensación

automática citado (2010 enero 08) disponible

en http://www.hoy.es/20090605/badajoz/cerro-

reyes-estrena-primera-u20090605.html

[5]

http://lear.inforg.uniovi.es/ia/Archivos/Apun

tes%20y%20t/Tema4.2(BESolCompletas-

BL).pdf

[6] Genetic Algorithm

http://www.obitko.com/tutorials/genetic-

algorithms/ga-basic-description.php

[7] Russell Stuart, Norvig Peter Inteligencia

Artificial Un enfoque moderno, 2da edición

[8] Citado (2010 enero 08) La farmacia del

futuro disponible en

http://www.lafarmaciadelfuturo.net/2009/08/rob

ots-de-farmacia.html

[9] ArtificialInteligencia http://www.a-i.com/