1. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja INTELIGENCIA ARTIFICIAL AGENTE FARMACEUTICO ANDREA ESPINOSA, MAYRA CRIOLLO, MERCY JIMENEZ Blog: http://agentefarma.wordpress.com/
2. INTRODUCCION 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.
3. 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. 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 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.
5. El Agente Farmaceutico necesita de: Punto de Partida o estado inicial, es el punto de inicio de la actividad del agente donde procede a despachar las recetas médicas. Punto de Destino, Este punto siempre coincidirá con el punto de inicio ya que el agente siempre deberá regresar a él para entregar los productos pedidos por los clientes. Ruta, Es el objetivo que tendrá que perseguir el agente, la misma que puede tener varios puntos de destino intermedios, estos corresponderán a la ubicación de cada producto seleccionado de acuerdo con la receta medica.
6. Esquema de la matriz de la Farmacia Figura 1. Esquema del Agente
7. 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.
8. 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.
9. 7. RESTRICCIONES 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.
10. 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 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.
11.
12. Sensor sonar, le servirá para detectar objetos a distancia o los obstáculos que se le presenten en el camino
13.
14.
15. Locomoción, este actuador está relacionado con el sensor inercial por que le permitirá trasladarse de un lugar a otro.
18. 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.
20. 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:
21.
22.
23. 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).
24. 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 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.
26. 15. Algoritmo A* En la función principal crea el frame donde se va implementar la matriz aquí se llevará a cabo la búsqueda, además llama a la función init() y start () que permiten definir el tamaño de la matriz y la creación de cada celda
27. 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.
29. 16.DESCRIPCION: CODIGO DE ALGORITMO GENÉTICO 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:
30. 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 Figura. Figura. Archivo de la población
31. 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. Con la función Fitness permite indicar que aptitud para saber que tan buena es la elección. Figura. Cálculos de la aptitud
32. 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, que indica la inicialización de cada operación. Figura. Inicialización de operaciones
33. 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 . Operaciones de selección de población.
34. 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 Figura . Operaciones de selección de población.
35. 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
36. Reemplazo.- Una vez aplicados los operadores genéticos, se seleccionan los mejores individuos para conformar la población de la generación siguiente
37. OBTENCIÓN DE LA MEJOR RUTA: Figura . Obtención de la mejor ruta.
38. 17. 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.
39. 18. REFERENCIAS BIBLIOGRÁFICAS [1] Wooldridge y Jennings, 1995 [2] Díaz Noel Mamoghli disponible en http://profesores.sanvalero.net/~w0467/iartificial4/Agentes%20Inteligentes/Ejemplos%20de%20Trabajos/Agente%20Farmaceutico.doc [3] http://www.ceaifac.es/actividades/jornadas/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/Apuntes%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/robots-de-farmacia.html [9] ArtificialInteligenciahttp://www.a-i.com/