SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Universidad Nacional de Loja
      Carrera de Ingeniería en Sistemas
              Inteligencia Artificial




Nombre: Gabriela Narváez Chamba



                           2012
Framework JGAP

1. Introducción


Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para resolver
problemas de búsqueda y optimización [1]. Están basados en el proceso genético de los
organismos vivos, pues, combinan la supervivencia de los individuos mejor adaptados junto
con operadores de búsqueda genéticos como la mutación y el cruce.

Fueron desarrollados por Jhon Holland y Rechemberg que crearon algoritmos de optimización
imitando los principios básicos de la naturaleza.

El poder de los Algoritmos Genéticos proviene del hecho de que se trata de una técnica
robusta, y pueden tratar con éxito una gran variedad de problemas provenientes de diferentes
áreas, incluyendo aquellos en los que otros métodos encuentran dificultades. Si bien no se
garantiza que el Algoritmo Genético encuentre la solución óptima del problema, puede
encontrar soluciones de un nivel aceptable, en un tiempo competitivo con el resto de algoritmos
de optimización combinatoria [1].

JGAP es un framework basado en Java para implementar Algoritmos Genéticos. Proporciona
mecanismos genéticos básicos que pueden ser fácilmente utilizados para solucionar problemas
aplicando los principios evolutivos.

El objetivo principal del presente trabajo es conocer y probar este framework, por lo tanto el
informe se estructura de la siguiente manera: Introducción que proporciona una idea general
acerca de los algoritmos genéricos y JGAP; Instalación y Configuración en donde se establece
de forma clara y precisa las acciones a llevar acabo para utilizar el framework; y finalmente
Ejemplo Práctico, en esta esta sección se plasma un ejemplo explicativo para en entender el
funcionamiento y manipular adecuadamente JGAP




                                                                                             2
2. Instalación y Configuración de JGAP

Para el ejemplo práctico que se menciona al final del documento así como todas las pruebas
realizadas para el desarrollo de este informe, se utilizó el IDE Netbeans y las librerías de JGAP


       2.1. Descarga e instalación de la Máquina Virtual de Java y Netbeans

       La máquina virtual permite la compilación de las aplicaciones desarrolladas bajo el lenguaje
       de programación JAVA. Se pude descargar de su página oficial de ORACLE la última
       versión1:
                 http://www.oracle.com/technetwork/java/javase/downloads/index.html

       A continuación se muestra la página de descarga, aquí se pude descargar “Java Plataform
       (JDK)7u4” que es la máquina virtual o en su defecto descargar “JDK 7u4 +Netbeans” que
       contiene en uno solo tanto la máquina virtual como el IDE Netbeans que para nuestro caso
       también lo vamos a necesitar




       Si por el contrario ya se tiene instalada la máquina virtual, se puede descargar el IDE
       Netbeans de su página oficial: http://netbeans.org/downloads/index.html

       Como se muestra en la figura, la última versión es la 7.1.2 y además existen algunas
       opciones, todo depende de los paquetes que se desee descargar junto con el IDE2


1
    Hasta la fecha de realización de este informe la última versión es 7

                                                                                                 3
La instalación tanto de Java con Netbeans es sencilla, basta con ejecutar el archivo .exe
    (que se obtiene de la descarga) aceptar términos y condiciones y clic en siguiente hasta
    finalizar la instalación


    2.2. Descarga y utilización de JGAP

Para utilizar JGAP es necesario descargar unas librerías (archivos jar); esto se puede realizar
desde la página http://sourceforge.net/projects/jgap/files/.

En la página se indica cual es la última versión y al hacer clic en el enlace se direcciona hacia la
descarga del archivo comprimido:




A continuación se descomprime el archivo jgap_3.6.2_full.zip, en este archivo se encuentran las
librerías y algunos ejemplos de aplicación compilados y todos los códigos fuentes.




2
 Es recomendable descargar la versión de Netbeans completa 257MB (con todos sus paquetes) para no tener
problemas posteriores. La última versión es la 7.1.2

                                                                                                          4
Las tres librerías que nos interesan son:




   a. Importar librerías JGAP a un Proyecto


      Crear un proyecto en Netbeans
          o Clic en Archivo—>Proyecto Nuevo.
          o Aparecerá la siguiente ventana en donde se debe escoger el tipo de proyecto a
              desarrollar, este caso es “Java Application”




           o   Clic en siguiente >, aparecerá la siguiente ventana en donde se debe especificar
               el nombre y ubicación del proyecto. Por defecto Netbeans direcciona todos los
               proyectos a su carpeta NetBeansProjects ubicada en Mis Documentos




                                                                                             5
o   Finalmente clic en Terminar, a continuación aparecerá la interfaz de Netbeans
           para el desarrollo de la aplicación dentro del proyecto recientemente creado




   Importar las librerías JGAP al proyecto creado
    Al crear un proyecto en Netbeans también se crea otras carpetas, cada una con su
    función. Por el momento nos interesa la carpeta Bibliotecas, pues aquí es donde
    debemos importar las librerías JGAP

       o   Clic derecho sobre la carpeta Bibliotecas, se despliega el siguiente submenú en
           donde se debe escoger la opción Agregar archivo JARCarpeta




                                                                                        6
o   A continuación aparece ala siguiente ventana en donde se debe especificar la
              ruta donde se encuentran las 3 librerías. Seleccionarlas y clic en Abrir




IMPORTANTE: Una buena práctica es colocar las librerías en una carpeta dentro de nuestro
proyecto, de esta forma cuando realice el paso anterior va a direccionarse hacia el mismo
proyecto, además se debe escoger la opción Ruta Relativa. La ventaja es la portabilidad, ya
que al abrir el archivo desde otra máquina no existirá el problema de librerías pérdidas o de
darse el caso, se la puede importar desde el mismo proyecto

          o   Ahora podemos ver que en la carpeta Bibliotecas del Proyecto EjemploJGAP
              se encuentran agregados 3 archivos jar que corresponden a las librerías JGAP




          o   A partir de este momento se puede trabajar en la implementación de un
              algoritmos genético utilizando el framework JGAP



                                                                                           7
Para una mayor comprensión puede ver el siguiente video JGAP-parte1
http://www.youtube.com/watch?v=eQKHcJbPMNQ&feature=youtu.be



3. Ejemplo Práctico de utilización de JGAP

La forma más efectiva de entender y aprender es a través de la realización de ejercicios
prácticos. El siguiente ejemplo es una variante del original3[2] adaptado al entorno ecuatoriano:

El problema consiste en lograr descomponer un cierto monto de dinero en la menor cantidad
posible de monedas. Por ejemplo si se tiene 1,70 dólares (170 centavos) se puede
descomponer en:

       1 moneda de 1dólar
       1 moneda de 50 centavos y
       2 monedas de 10 centavos

Dando un total de 4 monedas.

Pero también existen otras formas de descomponer, tomando en consideración que las
monedas utilizadas dentro del Ecuador son 6 (Dólar, 50 ctv, 25 ctv, 10 ctv, 5 ctv y 1 ctv), asi
podemos tener:

       2 monedas de 50 centavos
       2 monedas de 25 centavos y
       4 monedas de 5 centavos

    Dando un total de 8 monedas

Como se puede observar, existen muchas soluciones (cromosomas) para el problema y tiene
un valor de aptitud asociado, que deberá depender de la cantidad de monedas totales de ese
cromosoma. Mientras menos monedas se necesiten más aptas será la solución ya que lo que
se busca es lograr la menor cantidad de monedas posibles.

Solución: Implementación del Algoritmo Genéticos

Para la solución, partimos de la creación de un proyecto en Netbeans denominado
Proyecto_JGAP, dentro de este se tiene el paquete de fuentes, que contiene dos clases:
CambioMinimo en donde se especifica una serie de parámetros y la clase
CambioMinimoFuncionAptitud en donde se codifica la función aptitud

Se debe tener claro que cada gen de los cromosomas será un número entero y representará la
cantidad de un tipo de moneda de ese cromosoma. Por lo tanto cada cromosoma tendrá 6
genes
   1. Moneda de 1 dólar (100 centavos)

3
 Inicialmente el ejercicio fue implementado para que funcione con pesos, luego con euros y ahora el objetivo es
adaptarlo al sistema monetario del Ecuador

                                                                                                                  8
2.   Moneda de 50 centavos
      3.   Moneda de 25 centavos
      4.   Moneda de 10 centavos
      5.   Moneda de 5 centavos
      6.   Moneda de 1 centavo

Código Fuente

El código fuente de este proyecto tiene documentado cada una de sus instrucciones para un
mejor entendimiento, además se ha realizado un video explicativo de todos los cambios
realizados al código fuente original con el objetivo de adaptarlo al contexto actual que es el
Sistema Monetario del Ecuador, además se agregó una interfaz gráfica

Ver video: JGAP-parte2
http://www.youtube.com/watch?v=dTI3LPJ0dvk&feature=youtu.be




Referencias


[1] A Guerra.” Aprendizaje Automático: Algoritmos genéticos” [online]. México: Universidad
   Veracruzana.                      2004.                    Disponible               en:
   http://di002.edv.uniovi.es/~alguero/eaac/eaac_archivos/09-
   10/Trabajos%20para%20evaluaci%C3%B3n/Quintairos/Art%C3%ADculos%20proporcionado
   s/temageneticos.pdf

[2]       G.A.Veloso, R. Arce “Algoritmos Genético JGAP” [online].Facultad de Ingenierías
      Informáticas.                     2009.                    Disponible              en:
      http://eqaula.org/eva/file.php/1800/Trabajo_Practico_Aplicaciones_Informaticas.pdf


                                                                                            9

Weitere ähnliche Inhalte

Was ist angesagt?

Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesHumano Terricola
 
Caracteristicas de un vtp
Caracteristicas de un vtpCaracteristicas de un vtp
Caracteristicas de un vtpErika Vazquez
 
3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientos3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientosEstefanny Martinez Soto
 
JDBC MONOGRAFIA
JDBC MONOGRAFIAJDBC MONOGRAFIA
JDBC MONOGRAFIASefira111
 
Trabajo protocolo icmp ejemlo en packet tracer
Trabajo protocolo icmp ejemlo en packet tracerTrabajo protocolo icmp ejemlo en packet tracer
Trabajo protocolo icmp ejemlo en packet tracerJairo Rosas
 
Detección y Corrección de errores
Detección y Corrección de erroresDetección y Corrección de errores
Detección y Corrección de erroresRonie Martínez
 
diferencia entre Cliente servidor y p2 p
diferencia entre Cliente servidor y p2 pdiferencia entre Cliente servidor y p2 p
diferencia entre Cliente servidor y p2 pyeinier
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesKim Sorel Rush
 
Herramientas de programacion de sistemas
Herramientas de programacion de sistemas Herramientas de programacion de sistemas
Herramientas de programacion de sistemas jose
 

Was ist angesagt? (20)

Unidad 1 interfaz
Unidad 1 interfazUnidad 1 interfaz
Unidad 1 interfaz
 
Transaccion
TransaccionTransaccion
Transaccion
 
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regularesPortafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
 
Sumador con and xor or (2)
Sumador con and xor or (2)Sumador con and xor or (2)
Sumador con and xor or (2)
 
Caracteristicas de un vtp
Caracteristicas de un vtpCaracteristicas de un vtp
Caracteristicas de un vtp
 
Investigacion errores lexicos
Investigacion errores lexicosInvestigacion errores lexicos
Investigacion errores lexicos
 
3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientos3. dercas -_el_documento_de_requerimientos
3. dercas -_el_documento_de_requerimientos
 
VLSM y CIDR
VLSM   y  CIDRVLSM   y  CIDR
VLSM y CIDR
 
JDBC MONOGRAFIA
JDBC MONOGRAFIAJDBC MONOGRAFIA
JDBC MONOGRAFIA
 
Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Ventanas deslizantes
Ventanas deslizantesVentanas deslizantes
Ventanas deslizantes
 
Trabajo protocolo icmp ejemlo en packet tracer
Trabajo protocolo icmp ejemlo en packet tracerTrabajo protocolo icmp ejemlo en packet tracer
Trabajo protocolo icmp ejemlo en packet tracer
 
Rip
RipRip
Rip
 
Detección y Corrección de errores
Detección y Corrección de erroresDetección y Corrección de errores
Detección y Corrección de errores
 
Ieee y osi
Ieee y osiIeee y osi
Ieee y osi
 
diferencia entre Cliente servidor y p2 p
diferencia entre Cliente servidor y p2 pdiferencia entre Cliente servidor y p2 p
diferencia entre Cliente servidor y p2 p
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redes
 
CODIGO DE HUFFMAN
CODIGO DE HUFFMANCODIGO DE HUFFMAN
CODIGO DE HUFFMAN
 
Herramientas de programacion de sistemas
Herramientas de programacion de sistemas Herramientas de programacion de sistemas
Herramientas de programacion de sistemas
 
Metodologia oohdm
Metodologia oohdmMetodologia oohdm
Metodologia oohdm
 

Ähnlich wie Algoritmos geneticos con JGAP

Manual Instalación JLex & CUP
Manual Instalación JLex & CUPManual Instalación JLex & CUP
Manual Instalación JLex & CUPrubeniii
 
Guia de entornos de programacion unidad 1 semestre 2
Guia de entornos de programacion unidad 1 semestre 2Guia de entornos de programacion unidad 1 semestre 2
Guia de entornos de programacion unidad 1 semestre 2K Manuel TN
 
Manual de instalación ambiente de desarrollo básico de java JDK 1.6
Manual de instalación ambiente de desarrollo básico de java JDK 1.6Manual de instalación ambiente de desarrollo básico de java JDK 1.6
Manual de instalación ambiente de desarrollo básico de java JDK 1.6Andres Bedoya Tobon
 
Manual_java.pdf
Manual_java.pdfManual_java.pdf
Manual_java.pdfAnaLpez275
 
Instalacion de java y sus herramientas
Instalacion de java y sus herramientasInstalacion de java y sus herramientas
Instalacion de java y sus herramientasJuan Diaz Calixtro
 
[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma java[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma javaEudris Cabrera
 
Tutorial programacion01
Tutorial programacion01Tutorial programacion01
Tutorial programacion01Jenny Zambrana
 
Tutorial de eclipse_terminado
Tutorial de eclipse_terminadoTutorial de eclipse_terminado
Tutorial de eclipse_terminadoAixa Rodriguez
 
Manual de usuarios_de_eclipse_jenny
Manual de usuarios_de_eclipse_jennyManual de usuarios_de_eclipse_jenny
Manual de usuarios_de_eclipse_jennyJenny Martinez
 

Ähnlich wie Algoritmos geneticos con JGAP (20)

Tutorial jgap
Tutorial jgapTutorial jgap
Tutorial jgap
 
Clase 1 jJAVA 2012
Clase 1 jJAVA 2012Clase 1 jJAVA 2012
Clase 1 jJAVA 2012
 
Manual Instalación JLex & CUP
Manual Instalación JLex & CUPManual Instalación JLex & CUP
Manual Instalación JLex & CUP
 
Tarea
TareaTarea
Tarea
 
Guia de entornos de programacion unidad 1 semestre 2
Guia de entornos de programacion unidad 1 semestre 2Guia de entornos de programacion unidad 1 semestre 2
Guia de entornos de programacion unidad 1 semestre 2
 
Manual de instalación ambiente de desarrollo básico de java JDK 1.6
Manual de instalación ambiente de desarrollo básico de java JDK 1.6Manual de instalación ambiente de desarrollo básico de java JDK 1.6
Manual de instalación ambiente de desarrollo básico de java JDK 1.6
 
Manual_java.pdf
Manual_java.pdfManual_java.pdf
Manual_java.pdf
 
Instalacion de java y sus herramientas
Instalacion de java y sus herramientasInstalacion de java y sus herramientas
Instalacion de java y sus herramientas
 
[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma java[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma java
 
Hola mundorafaelnavarroprieto
Hola mundorafaelnavarroprietoHola mundorafaelnavarroprieto
Hola mundorafaelnavarroprieto
 
Tutorial programacion01
Tutorial programacion01Tutorial programacion01
Tutorial programacion01
 
Net3
Net3Net3
Net3
 
Netbeans manual 3
Netbeans manual 3Netbeans manual 3
Netbeans manual 3
 
Tutorial de eclipse_terminado
Tutorial de eclipse_terminadoTutorial de eclipse_terminado
Tutorial de eclipse_terminado
 
Manual de usuarios_de_eclipse_jenny
Manual de usuarios_de_eclipse_jennyManual de usuarios_de_eclipse_jenny
Manual de usuarios_de_eclipse_jenny
 
JAVA 2
JAVA 2JAVA 2
JAVA 2
 
MANUAL DE JAVA
MANUAL DE JAVAMANUAL DE JAVA
MANUAL DE JAVA
 
Java desde cero
Java desde ceroJava desde cero
Java desde cero
 
MANUAL JAVA
MANUAL JAVA MANUAL JAVA
MANUAL JAVA
 
JAVA
JAVA JAVA
JAVA
 

Mehr von GabyNarvaez

Ponencia "Laboratorio Virtual para la Simulación de los Componentes Internos ...
Ponencia "Laboratorio Virtual para la Simulación de los Componentes Internos ...Ponencia "Laboratorio Virtual para la Simulación de los Componentes Internos ...
Ponencia "Laboratorio Virtual para la Simulación de los Componentes Internos ...GabyNarvaez
 
Consorcion World Wide Web W3C
Consorcion World Wide Web W3CConsorcion World Wide Web W3C
Consorcion World Wide Web W3CGabyNarvaez
 
Valores, Actitudes y Comportamiento Ecologico Modelado con una Red Bayesiana
Valores, Actitudes y Comportamiento Ecologico Modelado con una Red Bayesiana Valores, Actitudes y Comportamiento Ecologico Modelado con una Red Bayesiana
Valores, Actitudes y Comportamiento Ecologico Modelado con una Red Bayesiana GabyNarvaez
 
Aplicaciones desarrolladas con PROLOG
Aplicaciones desarrolladas con PROLOGAplicaciones desarrolladas con PROLOG
Aplicaciones desarrolladas con PROLOGGabyNarvaez
 
Practicas de Observacion
Practicas de ObservacionPracticas de Observacion
Practicas de ObservacionGabyNarvaez
 
Ejercicios de Razonamiento
Ejercicios de RazonamientoEjercicios de Razonamiento
Ejercicios de RazonamientoGabyNarvaez
 

Mehr von GabyNarvaez (6)

Ponencia "Laboratorio Virtual para la Simulación de los Componentes Internos ...
Ponencia "Laboratorio Virtual para la Simulación de los Componentes Internos ...Ponencia "Laboratorio Virtual para la Simulación de los Componentes Internos ...
Ponencia "Laboratorio Virtual para la Simulación de los Componentes Internos ...
 
Consorcion World Wide Web W3C
Consorcion World Wide Web W3CConsorcion World Wide Web W3C
Consorcion World Wide Web W3C
 
Valores, Actitudes y Comportamiento Ecologico Modelado con una Red Bayesiana
Valores, Actitudes y Comportamiento Ecologico Modelado con una Red Bayesiana Valores, Actitudes y Comportamiento Ecologico Modelado con una Red Bayesiana
Valores, Actitudes y Comportamiento Ecologico Modelado con una Red Bayesiana
 
Aplicaciones desarrolladas con PROLOG
Aplicaciones desarrolladas con PROLOGAplicaciones desarrolladas con PROLOG
Aplicaciones desarrolladas con PROLOG
 
Practicas de Observacion
Practicas de ObservacionPracticas de Observacion
Practicas de Observacion
 
Ejercicios de Razonamiento
Ejercicios de RazonamientoEjercicios de Razonamiento
Ejercicios de Razonamiento
 

Kürzlich hochgeladen

PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxsisimosolorzano
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptNancyMoreiraMora1
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.JonathanCovena1
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxpvtablets2023
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 

Kürzlich hochgeladen (20)

Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 

Algoritmos geneticos con JGAP

  • 1. Universidad Nacional de Loja Carrera de Ingeniería en Sistemas Inteligencia Artificial Nombre: Gabriela Narváez Chamba 2012
  • 2. Framework JGAP 1. Introducción Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización [1]. Están basados en el proceso genético de los organismos vivos, pues, combinan la supervivencia de los individuos mejor adaptados junto con operadores de búsqueda genéticos como la mutación y el cruce. Fueron desarrollados por Jhon Holland y Rechemberg que crearon algoritmos de optimización imitando los principios básicos de la naturaleza. El poder de los Algoritmos Genéticos proviene del hecho de que se trata de una técnica robusta, y pueden tratar con éxito una gran variedad de problemas provenientes de diferentes áreas, incluyendo aquellos en los que otros métodos encuentran dificultades. Si bien no se garantiza que el Algoritmo Genético encuentre la solución óptima del problema, puede encontrar soluciones de un nivel aceptable, en un tiempo competitivo con el resto de algoritmos de optimización combinatoria [1]. JGAP es un framework basado en Java para implementar Algoritmos Genéticos. Proporciona mecanismos genéticos básicos que pueden ser fácilmente utilizados para solucionar problemas aplicando los principios evolutivos. El objetivo principal del presente trabajo es conocer y probar este framework, por lo tanto el informe se estructura de la siguiente manera: Introducción que proporciona una idea general acerca de los algoritmos genéricos y JGAP; Instalación y Configuración en donde se establece de forma clara y precisa las acciones a llevar acabo para utilizar el framework; y finalmente Ejemplo Práctico, en esta esta sección se plasma un ejemplo explicativo para en entender el funcionamiento y manipular adecuadamente JGAP 2
  • 3. 2. Instalación y Configuración de JGAP Para el ejemplo práctico que se menciona al final del documento así como todas las pruebas realizadas para el desarrollo de este informe, se utilizó el IDE Netbeans y las librerías de JGAP 2.1. Descarga e instalación de la Máquina Virtual de Java y Netbeans La máquina virtual permite la compilación de las aplicaciones desarrolladas bajo el lenguaje de programación JAVA. Se pude descargar de su página oficial de ORACLE la última versión1: http://www.oracle.com/technetwork/java/javase/downloads/index.html A continuación se muestra la página de descarga, aquí se pude descargar “Java Plataform (JDK)7u4” que es la máquina virtual o en su defecto descargar “JDK 7u4 +Netbeans” que contiene en uno solo tanto la máquina virtual como el IDE Netbeans que para nuestro caso también lo vamos a necesitar Si por el contrario ya se tiene instalada la máquina virtual, se puede descargar el IDE Netbeans de su página oficial: http://netbeans.org/downloads/index.html Como se muestra en la figura, la última versión es la 7.1.2 y además existen algunas opciones, todo depende de los paquetes que se desee descargar junto con el IDE2 1 Hasta la fecha de realización de este informe la última versión es 7 3
  • 4. La instalación tanto de Java con Netbeans es sencilla, basta con ejecutar el archivo .exe (que se obtiene de la descarga) aceptar términos y condiciones y clic en siguiente hasta finalizar la instalación 2.2. Descarga y utilización de JGAP Para utilizar JGAP es necesario descargar unas librerías (archivos jar); esto se puede realizar desde la página http://sourceforge.net/projects/jgap/files/. En la página se indica cual es la última versión y al hacer clic en el enlace se direcciona hacia la descarga del archivo comprimido: A continuación se descomprime el archivo jgap_3.6.2_full.zip, en este archivo se encuentran las librerías y algunos ejemplos de aplicación compilados y todos los códigos fuentes. 2 Es recomendable descargar la versión de Netbeans completa 257MB (con todos sus paquetes) para no tener problemas posteriores. La última versión es la 7.1.2 4
  • 5. Las tres librerías que nos interesan son: a. Importar librerías JGAP a un Proyecto  Crear un proyecto en Netbeans o Clic en Archivo—>Proyecto Nuevo. o Aparecerá la siguiente ventana en donde se debe escoger el tipo de proyecto a desarrollar, este caso es “Java Application” o Clic en siguiente >, aparecerá la siguiente ventana en donde se debe especificar el nombre y ubicación del proyecto. Por defecto Netbeans direcciona todos los proyectos a su carpeta NetBeansProjects ubicada en Mis Documentos 5
  • 6. o Finalmente clic en Terminar, a continuación aparecerá la interfaz de Netbeans para el desarrollo de la aplicación dentro del proyecto recientemente creado  Importar las librerías JGAP al proyecto creado Al crear un proyecto en Netbeans también se crea otras carpetas, cada una con su función. Por el momento nos interesa la carpeta Bibliotecas, pues aquí es donde debemos importar las librerías JGAP o Clic derecho sobre la carpeta Bibliotecas, se despliega el siguiente submenú en donde se debe escoger la opción Agregar archivo JARCarpeta 6
  • 7. o A continuación aparece ala siguiente ventana en donde se debe especificar la ruta donde se encuentran las 3 librerías. Seleccionarlas y clic en Abrir IMPORTANTE: Una buena práctica es colocar las librerías en una carpeta dentro de nuestro proyecto, de esta forma cuando realice el paso anterior va a direccionarse hacia el mismo proyecto, además se debe escoger la opción Ruta Relativa. La ventaja es la portabilidad, ya que al abrir el archivo desde otra máquina no existirá el problema de librerías pérdidas o de darse el caso, se la puede importar desde el mismo proyecto o Ahora podemos ver que en la carpeta Bibliotecas del Proyecto EjemploJGAP se encuentran agregados 3 archivos jar que corresponden a las librerías JGAP o A partir de este momento se puede trabajar en la implementación de un algoritmos genético utilizando el framework JGAP 7
  • 8. Para una mayor comprensión puede ver el siguiente video JGAP-parte1 http://www.youtube.com/watch?v=eQKHcJbPMNQ&feature=youtu.be 3. Ejemplo Práctico de utilización de JGAP La forma más efectiva de entender y aprender es a través de la realización de ejercicios prácticos. El siguiente ejemplo es una variante del original3[2] adaptado al entorno ecuatoriano: El problema consiste en lograr descomponer un cierto monto de dinero en la menor cantidad posible de monedas. Por ejemplo si se tiene 1,70 dólares (170 centavos) se puede descomponer en:  1 moneda de 1dólar  1 moneda de 50 centavos y  2 monedas de 10 centavos Dando un total de 4 monedas. Pero también existen otras formas de descomponer, tomando en consideración que las monedas utilizadas dentro del Ecuador son 6 (Dólar, 50 ctv, 25 ctv, 10 ctv, 5 ctv y 1 ctv), asi podemos tener:  2 monedas de 50 centavos  2 monedas de 25 centavos y  4 monedas de 5 centavos Dando un total de 8 monedas Como se puede observar, existen muchas soluciones (cromosomas) para el problema y tiene un valor de aptitud asociado, que deberá depender de la cantidad de monedas totales de ese cromosoma. Mientras menos monedas se necesiten más aptas será la solución ya que lo que se busca es lograr la menor cantidad de monedas posibles. Solución: Implementación del Algoritmo Genéticos Para la solución, partimos de la creación de un proyecto en Netbeans denominado Proyecto_JGAP, dentro de este se tiene el paquete de fuentes, que contiene dos clases: CambioMinimo en donde se especifica una serie de parámetros y la clase CambioMinimoFuncionAptitud en donde se codifica la función aptitud Se debe tener claro que cada gen de los cromosomas será un número entero y representará la cantidad de un tipo de moneda de ese cromosoma. Por lo tanto cada cromosoma tendrá 6 genes 1. Moneda de 1 dólar (100 centavos) 3 Inicialmente el ejercicio fue implementado para que funcione con pesos, luego con euros y ahora el objetivo es adaptarlo al sistema monetario del Ecuador 8
  • 9. 2. Moneda de 50 centavos 3. Moneda de 25 centavos 4. Moneda de 10 centavos 5. Moneda de 5 centavos 6. Moneda de 1 centavo Código Fuente El código fuente de este proyecto tiene documentado cada una de sus instrucciones para un mejor entendimiento, además se ha realizado un video explicativo de todos los cambios realizados al código fuente original con el objetivo de adaptarlo al contexto actual que es el Sistema Monetario del Ecuador, además se agregó una interfaz gráfica Ver video: JGAP-parte2 http://www.youtube.com/watch?v=dTI3LPJ0dvk&feature=youtu.be Referencias [1] A Guerra.” Aprendizaje Automático: Algoritmos genéticos” [online]. México: Universidad Veracruzana. 2004. Disponible en: http://di002.edv.uniovi.es/~alguero/eaac/eaac_archivos/09- 10/Trabajos%20para%20evaluaci%C3%B3n/Quintairos/Art%C3%ADculos%20proporcionado s/temageneticos.pdf [2] G.A.Veloso, R. Arce “Algoritmos Genético JGAP” [online].Facultad de Ingenierías Informáticas. 2009. Disponible en: http://eqaula.org/eva/file.php/1800/Trabajo_Practico_Aplicaciones_Informaticas.pdf 9