Mostrando entradas con la etiqueta Inteligencia Artificial. Mostrar todas las entradas
Mostrando entradas con la etiqueta Inteligencia Artificial. Mostrar todas las entradas

8/09/2010

AGENTE INTELIGENTE: “BÚSQUEDA DE PLANTAS MEDICINALES”

0 comentarios

La época tecnológica actual nos lleva trabajar en un mundo donde la información es un territorio muy extenso por explorar, los buscadores actuales están en constante mejoramiento, con el fin de ofrecer mejores resultados a sus clientes, de aquí nace la idea de desarrolla un software inteligente, este agente tiene como finalidad el acelerar el proceso de búsqueda actual y que los resultados que presenta sean los más adecuados y los esperados.
En este entorno actual surge el presente trabajo, que  tiene como finalidad abordar el estudio del desarrollo y diseño de un agente de búsquedas, basado en  la recuperación y manejo de la información, aplicado en la búsqueda de plantas medicinales, donde el usuario ingresa la enfermedad para la cual necesita una planta medicinal y el agente responde a esta consulta, además cada búsqueda será valorada y sumará un peso a cada planta.
El uso de los algoritmos clasificadores o de aprendizaje supervisado, están siendo considerados en los agentes de búsqueda y recuperación de información, como se puede apreciar en los trabajos enunciados anteriormente.
Los algoritmos utilizados son muy diversos, esto se debe al tipo de problema que se aborda en cada trabajo, en el estudio de comparación de algoritmos los que resultaron más eficientes, fueron: BST-DT, RF, BAG-DT y el SVM.
Por lo que se puede decir que el presente trabajo se seleccionará el  algoritmo SVM, ya que debido al principio de minimización de riesgo estructural, se convierte en algoritmo robusto y ágil.
Para el desarrollo del presente se estará utilizando el al algoritmo de clasificación de información SVM[1] o Máquinas de Vectores de Soporte, las cuales se han destacado en la clasificación de textos, ya que tienden a minimizar el error de generalización y los errores del clasificador sobre nuevas instancias.
Los fundamentos de este algoritmo  se encuentran en los trabajos de Vapnik y otros actores sobre la teoría de aprendizaje estadístico, desarrollados a finales de los 70 y durante los 80. El modelo como se entiende hoy fue presentado en la conferencia de COLT, teoría de Aprendizaje Computacional en 1992 por Vapnik junto con Baser y Guyon y descrito con más detalle posteriormente en 1995 y 1998, posibilitando la práctica de la formulación teórica en problemas reales de reconocimiento de patrones.
Trabaja con un modelo que estructuralmente tenga poco riesgo de cometer errores ante datos futuros, este principio se denomina Minimización de Riesgo Estructural (SRM), lo que permite construir modelos confiables.[2]
Este algoritmo se caracteriza por tener un conjunto de puntos (datos de entrenamiento) ubicados en un plano dimensional (SVM), que se dividen en clases, estas se separan de acuerdo a la muestra que se está evaluando, mediante la construcción de un hiperplano que separa y maximicen la distancia entre ellas. [3]
Un problema que presenta este algoritmo es el sobrentrenamiento, este se da cuando han aprendido muy bien los datos de entrenamiento, pero no se pueden clasificar bien los ejemplos nuevos nunca antes vistos, esto nos da como resultado una mala generalización. [4]

--------------------------------------------------------------------
[1]Alberto Téllez Valero. 2005. EXTRACCIÓN DE INFORMACIÓN CON ALGORITMOS DE CLASIFICACIÓN. Pág 20
[2] Basilio Sierra Araujo. 2006.  APRENDIZAJE AUTOMÁTICO: CONCEPTOS BÁSICOS Y AVANZADOS “MÉTODOS KÉRNEL Y MÁQUINAS DE VECTORES SOPORTE” Pág. 175
[3]Gerardo Colmenares 2009. MÁQUINAS DE VECTOR DE SOPORTE. Pág 1. http://www.webdelprofesor.ula.ve/economia/gcolmen/programa/economia/maquinas_vectores_soporte.pdf
[4] Gerardo Colmenares. 2009. MÁQUINAS DE VECTOR DE SOPORTE. Pág 11. http://www.webdelprofesor.ula.ve/economia/gcolmen/programa/economia/maquinas_vectores_soporte.pdf
---------------------------------------------------------------------

Referencia:
Trabajo realizado por Raquel Luzuriaga, puedes descargar el trabajo completo AQUÍ
Un póster de su presentación a continuación:



2/15/2010

Algoritmo Genético: Problema Agente Viajero (TSP)

4 comentarios
El problema del agente viajero, consiste en encontrar el orden en que un viajante de comercio debería visitar varias ciudades para que la distancia recorrida sea mínima. Se trata de un problema NP completo, en el que la única alternativa para su solución consiste en verificar todas las posibles opciones para encontrar cuál es la óptima, hay que tener en cuenta que si el número de ciudades es n, el número de posibles recorridos a ensayar resulta ser n!/2n.
Una de las soluciones para resolver este problema es usando algoritmo genéticos, puesto que una de sus aplicaciones es la resolución de problemas de optimización complejos, aquellos cuyo tiempo de ejecución mediante algoritmos convencionales crece exponencialmente o factorialmente con el aumento del tamaño del problema.
------------------------
El Informe Completo con la Base Teórica lo puedes descargar desde aquí
------------------------

Problema TSP usando Algoritmo Genético
Para resolver el problema TSP se codificó el cromosoma de la siguiente manera:
Representa el orden de las ciudades que debe seguir el agente para su recorrido. El tamaño de este arreglo es el número de ciudades del problema. No puede existir una ciudad que se repita en el recorrido.
La función de evaluación de cada cromosoma esta dado por la longitud del recorrido del mismo, es decir que longitud recorre el agente si sigue el orden de las ciudades que están en el cromosoma. El recorrido completo es de ir de la primera hasta la n-sima ciudad y regresar a la ciudad de partida.
El tipo de Cruzamiento que se uso fue “Cruzamiento de un punto”:
Después del cruzamiento, los hijos tienen un problema, existe una ciudad que se repite: la ciudad 4 en el hijo 1 y la ciudad 7 en hijo 2.
Para resolver este problema, se hizo lo siguiente: la ciudad que se repite en la parte heredada del padre 1, es reemplazada por alguna ciudad (no se encuentre en la parte de la ciudad a reemplazar) de la parte que no es heredada del padre 2.
Para la mutación, se escoge aleatoriamente de la población (después del cruce) tantos individuos como la probabilidad de mutación lo indique. Se uso el tipo de mutación “Order Chaining”, el cual consiste en seleccionar aleatoriamente dos números (ciudades) y cambiarlos. 

Resultados:
Problema 7 Ciudades:
 

Para cada Caso se realizo 20 pruebas:

2/14/2010

Poda Alfa-Beta (Juego del acorralado)

0 comentarios
Implementación del Algoritmo Poda Alfa - Beta en el Juego del Acorralado


Resumen:
El presente trabajo tiene como propósito mostrar la Implementación de juegos, aplicados al campo de la Inteligencia Artificial mediante la implementación del algoritmo Poda Alfa -  Beta.
Para mostrar la aplicación de un juego entre dos adversarios hemos seleccionado el juego del acorralado, el cual para este caso trata de que tres perros acorralen a un conejo. En el presente paper se describirá las técnicas usadas para implementarlo.


1. Introducción:
La Inteligencia Artificial, es un campo que ha tomado gran interés en los últimos tiempos debido a su capacidad de poder resolver problemas imitando el razonamiento lógico de las personas y hasta el mecanismo de como ellas lo resuelven.
Un tema interesante a tratar a lo que concierne a la IA son los juegos. Así por ejemplo, el juego del acorralado es un juego de mesa entre dos adversarios y es un ejemplo claro de como podemos imitar mediante el uso de un computador el razonamiento humano.
Existen varias técnicas usadas para el desarrollo de este juego. Dentro de las técnicas que hemos estudiado, se considero utilizar la Poda Alfa - Beta, la cual es muy eficiente en la búsqueda de una solución en un 30% en comparación con la búsqueda MiniMax. Sin embargo la elección de una heurística apropiada es lo que define mejor la solución del juego.
-------------------------------
El paper completo lo pueden descargar desde aquí.
El código de la implementación puedes descargar desde aquí. (clave: jhire-velasquez.blogspot.com)
------------------------------




Capturas de pantalla del programa en ejecución:
Fig. 1: Se elije el nivel en el cual se desea jugar.
Fig. 2: Ultima jugada realizada en el nivel Night Mare.
Fig. 3: Perdida de la partida en nivel Night Mare.
Fig. 4: Victoria en el nivel I Can Win.

Fig. 1
Fig. 2
Fig. 3
Fig. 4