Вы находитесь на странице: 1из 6

Algoritmos Genticos

Lisset Alexandra Neyra Romero


Este es un pequeo manual de instalacin y configuracin en netbeans de JGAP Java Genetic Algorithms Package (paquete de algoritmos genticos para Java). Es un componente de programacin de algoritmos genticos que se utiliza como un framework.

08/07/2011

Una Breve Introduccin a los AG y JGAP

JGAP son las siglas de Java Genetic Algorithms Package (paquete de algoritmos genticos para Java). Es un componente de programacin de algoritmos genticos que se utiliza como un framework. Los algoritmos genticos se basan en la teora de la evolucin de Charles Darwin. Se tiene una poblacin, donde cada individuo posee diferentes caractersticas. Esas caractersticas se muestran favorables o no frente a un mtodo de seleccin al que se enfrentan todos los individuos. As se van identificando los que poseen las mejores caractersticas. Las caractersticas de los individuos estn dadas por sus cromosomas. Un cromosoma es un conjunto de genes. Cada gen es responsable de indicar el tipo de una sola caracterstica del individuo. El valor que toma el gen se llama alelo. En la biologa, los individuos mejor adaptados al medio donde se encuentran son los que sobreviven. De esa forma se reproducen, dando lugar a una descendencia que hereda sus caractersticas ventajosas. Tambin se dan variaciones en los genes por medio de la combinacin (reproduccin sexual) o por cambios aleatorios (mutaciones). As surgen de forma natural ms caractersticas que a su vez son puestas a prueba y permiten a sus portadores sobrevivir y reproducirse si son las ms adecuadas para el ambiente que les rodea. Los algoritmos genticos son una analoga de lo que ocurre biolgicamente, pero aplicada a encontrar la mejor solucin a un problema. Cada solucin es un individuo. El mtodo de seleccin se llama funcin de ajuste, e indica la aptitud de cada individuo para resolver el problema. Tambin existen cromosomas con genes y sus respectivos alelos. A los cromosomas se les aplican operadores genticos, equivalentes a la mutacin y la reproduccin sexual, de forma que se generan y ponen a prueba nuevas soluciones. De ese modo, los algoritmos genticos son un mtodo para probar mltiples soluciones autogeneradas a un problema. QU OFRECE JGAP? JGAP tiene clases e interfaces para representar: Genes (Gene), cromosomas (Chromosome), individuos (IChromosome), la poblacin (Genotype), la funcin de ajuste (FitnessFunction) y operadores genticos. Se trata de una solucin genrica, sin relacin alguna con un problema particular. Por esa razn se deben crear nuevas clases que heredan o implementan las clases e interfaces mencionadas. As se adapta JGAP al problema especfico que se quiere solucionar. MOTOR GENTICO JGAP tambin se encarga de la simulacin de un ambiente para que se desarrolle y sobreviva la mejor solucin. El motor gentico crea varias soluciones (individuos) aleatoriamente con el mtodo randomInitialGenotype(). Aplica operadores genticos (mutacin y combinacin) para que surjan nuevas soluciones con el mtodo evolve(). Pone a prueba cada solucin con la funcin de ajuste evaluate(). Y por ltimo retorna el cromosoma del individuo mejor adaptado con getFittestChromosome().

LICENCIA JGAP es software libre y se puede distribuir bajo la GNU Lesser Public License 2.1 o posterior. Las aplicaciones comerciales que no publiquen su cdigo fuente deben distribuirse bajo la Mozilla Public License. En ese caso deben donarse 50 Euros al proyecto.Laboratorio de AG con JGAPAlgoritmos-genticos

Instalacin y Configuracin Del Entorno De Trabajo

INSTALACIN DE JGAP El primer paso es descargar la ltima versin de JGAP en nuestro caso es la 3.5 la que se puede encontrar en la siguiente direccin: http://sourceforge.net/projects/jgap/files/ El archivo se llama jgap_3.5_full.zip y pesa (10.3 MB) Se recomienda descargar el de instalacin completa si no se desea compilar el cdigo.

AGREGAR JGAP A NETBEANS 6.9.1 1. Debemos de crear un proyecto nuevo desde File New Proyect Java Java Aplication y le ponemos un nombre a nuestro proyecto en nuestro caso JGAPPractica.

2. Luego procedemos a agregar la librera de JGAP. Debemos antes descomprimir el archivo ya previamente descargado en cualquier directorio. Sobre el proyecto creado damos clik

derecho en Properties descargadas.

Libraries

Add JAR/Folder y agregamos las libreras

Y as agregamos el resto de libreras que se encuentran en la carpeta lib. EJEMPLO DE UTILIZACIN DE JGAP En este ejemplo se muestra cmo resolver un problema clsico de algoritmos genticos utilizando el framework JGAP. El problema consiste en lograr juntar el monto de dinero ingresado a la aplicacin por parmetro con la menor cantidad de monedas posibles. Este trabajo se adapt para trabajarlo en Ecuador con moneda de 1 dlar ( equivale a 100 centavos) Moneda de 50 Centavos, Moneda de 25 Centavos , Moneda de 10 Centavos, Moneda de 5 Centavos, Moneda de 1 Centavo Cdigo Fuente de cambio mnimo Descargar: http://uploading.com/files/4m28bmma/JGAPPractica.rar/ Ejecucin del Programa: 1. Ingresamos el monto que deseamos que se haga el cambio en este caso hemos ingresado 322 lo cual equivale a 3 dlares y 22 centavos.

2. El algoritmo nos va a mostrar en consola cual es la mejor forma de dar cambio

Вам также может понравиться