SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
INTELIGENCIA ARTIFICIAL
                Trabajo Práctico nº 4

            Algoritmos Genéticos
                Optimización
           Mezcla Motores Nafteros




     Profesores:

                  Ing. Mario Figueroa
                  Ing. Pablo Rovarini

     Alumnos:

                  José Daniel Muccela


Comisión: 5 k 2
Año 2008




              Facultad Regional Tucumán
           Universidad Tecnológica Nacional
Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel


                             TP Nº4 – Algoritmos Genéticos
Problema:                  Optimización Mezcla para Motores Nafteros

                                                    Desarrollo

        En la resolución del presente problema se tratará de encontrar la mejor
solución, esto es, encontrar los mejores valores para las variables que
intervienen en el problema: Aire, Combustible y NOS. Estos valores
representarán las partes de los componentes en la mezcla que se usará en el
motor para obtener una mayor potencia.

                                            Bujía

                                                              Válvula



                                            AIRE
             Esquema de
               Motor a
             combustión




                                                       Biela



      Se necesitan 3 variables que son los parámetros a considerar para el
desarrollo del modelo.
      Estas variables son:

                   Aire
                   Combustible
                   NOS

         Para resolverlo utilizaremos el software comercial Matlab versión 7.
         Para ello seguimos los siguientes pasos:

         •     Abrimos la herramienta Matlab.
         •     Creamos un nuevo archivo *.mat en el directorio que deseemos.
         En nuestro caso los archivos se crearon en el Current Directory
         (‘C:MATLAB7work’).
         •     Se abre la ventana de programación de Matlab. En ella escribimos
         en la primera línea la definición de la función fitness, que vamos a
         maximizar y en una segunda línea la función misma.

         -Línea 1      function F = tp4Mezcla (X)
         -Línea 2      F = ((0.8*X(1))/(0.1*X(2))) + (0.1 * ((0.36*X(3))/(0.64*X(3))))



                                                                                         1
                                           UTN          FRT
Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel


        Para la función fitness consideramos que en la mezcla interviene por un
lado el aire con un porcentaje del 80 % de la mezcla y el combustible con un
porcentaje del 10 % (variables X1 y X2, respectivamente) y por otro lado
interviene el NOS, otorgando a la mezcla inicial su parte de aire (oxígeno) y
nitrógeno (variable X3) las cuales están representadas por su respectivo
porcentaje en que intervienen en la mezcla. O sea le corresponde el 10 %
restante de la mezcla. De ese 10 %, 0.36 corresponden al aporte de aire que
tiene el NOS; el 0.64 que queda es Nitrógeno, que se agrega al Combustible.
        El cociente indica la relación entre el aire y el combustible de la mezcla.
        Procedemos a guardar el archivo; por defecto se guarda con el mismo
nombre especificado en la definición de la función. En nuestro caso
mantuvimos el nombre por defecto de la función: tp4Mezcla.mat.

         •      Ahora nos dirigimos a la ventana principal del Matlab y en la
         ventana de comandos escribimos gatool para abrir la caja de
         herramientas para resolver problemas de Algoritmos Genéticos que
         ofrece el programa.
                                  >> gatool

         •      Se nos abre una ventana que contiene múltiples opciones para la
         configuración y la inicialización de nuestro problema:




       En ella comenzaremos a escribir los parámetros que usará Matlab para
resolver el problema.


                                                                                  2
                                           UTN          FRT
Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel


       En el primer cuadro de texto escribimos la directiva @nombredefunción.
Esto significa que llama a la función que previamente creamos en el archivo
*.mat (tp4Mezcla).
       En el siguiente cuadro especificamos el número de variables de la
función de aptitud (fitness) del problema que como dijimos son X1, X2 y X3.
(Aire, Combustible y NOS, respectivamente).
       En el grupo Plots, se encuentran las opciones de gráfico, esto es, cuáles
serán las salidas que el sistema representará gráficamente para el algoritmo
genético. Las más importante son Best fitness, Best individual, Selection.




      Ahora configuramos las opciones para nuestro problema.
      En la sección Population especificamos nuestro tipo de población que
será un Double Vector (número decimal) ya que usaremos cantidades reales.




         Especificamos cuantos individuos hay en cada generación en Population
size.
      Indicamos la función de creación: La creación predefinida function
Uniform crea una población inicial al azar con una distribución uniforme.
Dejamos en blanco Inicial Population para que la función predefinida la cree.
       Dejamos en blanco Inicial scores para que el algoritmo compute los
puntajes de acuerdo a la función de aptitud (fitness).
       A continuación vamos a especificar cuales serán las opciones para las
funciones de Selección, Mutación, Reproducción, etc.
       Para Fitness scaling nos basamos en posición de los individuos según el
ranking (Rank) que obtengan por la adecuación a la función fitness.




                                                                               3
                                           UTN          FRT
Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel




       Para la selección elegimos el método de la ruleta, donde a cada
individuo se le asigna una porción de la torta. En este caso, a mayor tamaño de
la porción mayor será su probabilidad de salir seleccionado.




      Para la reproducción se considerará el método elitista, donde irán
conservándose los mejores a medida que surjan las nuevas generaciones.
      El porcentaje de cruza lo dejamos en 80 %. El restante es para la
mutación.




      Para la mutación elegimos hacerlo de manera uniforme con una taza de
mutación de 1 %. A veces no se llega a realizar la mutación. Caso contrario
sólo sería con una frecuencia del 1 %. La mutación permite modificar un gen
del genoma de un individuo cualquiera con el fin de mejorarlo.
      Por ej:
      Cadena de bits: representan un individuo.

                 0       1       1       0         1     1       1       0    0   1

     Queremos mutar un gen del genoma, supongamos el tercero. De esta
manera el genoma quedaría:

                 0       1       0       0         1     1       1       0    0   1




       Para la opción de Cruza (crossover) elegimos Two point. Two point
selecciona dos enteros al azar m y n entre 1 y el Número de variables. El
algoritmo selecciona genes numerados menores o iguales a m del primer
padre, selecciona genes numerados m+1 a n del segundo padre, y selecciona


                                                                                      4
                                             UTN        FRT
Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel


genes numerados mayor que n del primer padre. El algoritmo procede a
encadenar estos genes para formar un solo gen. Por ejemplo,

         p1 = [a b c d e f g h]      p2 = [1 2 3 4 5 6 7 8]
         Punto de cruza (al azar) = 3,6
         El resultado es el siguiente: p3 = [a b c 4 5 6 g h]




         Por lo tanto para nuestro caso seleccionamos dos puntos de cruza.

       Para el criterio de parada del algoritmo elegimos 100 generaciones.
       El resto de las opciones del criterio podemos dejarlas como están. Esto
producirá que en el caso de que no haya mejores soluciones que las que
encontró en el proceso de cómputo del algoritmo parará antes de que se llegue
a las 100 generaciones. De todas maneras si queremos probar las 100
tenemos que especificar Inf en Time limit, Fitness limit, Stall generations y Stall
time limit.




       Las configuraciones especificadas hasta aquí son suficientes para correr
el problema y analizar los resultados.
       Para ello nos dirigimos a la derecha de la caja de herramientas



    Comenzar a correr
    el problema




    En esta sección se
    visualizará el
    resultado del
    cómputo y el motivo
    porque se detuvo el
    algoritmo


                                                                                  5
                                           UTN          FRT
Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel


       En el momento que se está ejecutando vemos que se abre una ventana
mostrando los gráficos que se seleccionamos en la sección Plots. En el se
puede ver como los gráficos van modificándose a medida que se realiza el
cómputo. Al final del mismo, el resultado de la función fitness es mostrado en la
imagen anterior. El mejor resultado encontrado para las variables se observará
en la siguiente imagen:




       Para conservar la configuración que establecimos podemos guardarla de
la siguiente manera:
         Vamos al botón:

     Esto nos abre una pequeña ventana que nos pregunta qué es lo que
queremos exportar:


                                                                              problema


                                                                              configuración




       Podemos seleccionar todas las opciones. Cabe mencionar que antes de
la ejecución del problema las opciones 2 y 4 están deshabilitadas porque el
algoritmo todavía no computó el mismo.
       Esto permitirá guardar las configuraciones, el problema y los resultados
para posteriores ejecuciones y análisis.




     configuración
        problema




                                                                                              6
                                           UTN          FRT
Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel


         Resultados:




       Puntos finales encontrados. Corresponden a los valores que toman las
variables del problema.

         Gráficos generados:

         •     El primero de ellos muestra el mejor valor para la función fitness.
         •     El segundo hace referencia al mejor individuo actual.
         •     El tercero muestra la expectativa de adaptación de cada individuo.
         •     El cuarto muestra la adaptación de cada individuo.
         •     El quinto hace referencia a la selección de los individuos, de
         acuerdo al método de la ruleta que seleccionamos en la configuración.
         •     El sexto muestra los criterios de parada de ejecución del
         problema. Como se ve aquí el problema se detuvo cuando finalizaron de
         computarse todas las generaciones (100 en este caso).




        El objetivo es encontrar la mejor combinación de los componentes que
intervienen en la mezcla. De esta manera se obtiene un valor correspondiente
al Aire, al Combustible y al NOS. Esta será la mejor solución.



                                                                                 7
                                           UTN          FRT

Weitere ähnliche Inhalte

Andere mochten auch

Prevencion de criaderos de Aedes aegypti
Prevencion de criaderos de Aedes aegyptiPrevencion de criaderos de Aedes aegypti
Prevencion de criaderos de Aedes aegypti
Michael Castillo
 
Algoritmos Genéticos na Prática
Algoritmos Genéticos na PráticaAlgoritmos Genéticos na Prática
Algoritmos Genéticos na Prática
Norton Guimarães
 
Diseño con algoritmos genéticos
Diseño con algoritmos genéticosDiseño con algoritmos genéticos
Diseño con algoritmos genéticos
MilanxD
 
Como generar una tabla de contenido en word 2010
Como generar una tabla de contenido en word 2010Como generar una tabla de contenido en word 2010
Como generar una tabla de contenido en word 2010
Kariiee Casas Enriquez
 
Diseño de tabla de contenido con hipervínculo en word
Diseño de tabla de contenido con hipervínculo en wordDiseño de tabla de contenido con hipervínculo en word
Diseño de tabla de contenido con hipervínculo en word
miguel vega
 
Presentacion Algortimos Geneticos
Presentacion Algortimos GeneticosPresentacion Algortimos Geneticos
Presentacion Algortimos Geneticos
pechever
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
ESCOM
 
Como generar tablas de contenido en word
Como generar tablas de contenido en wordComo generar tablas de contenido en word
Como generar tablas de contenido en word
ALee Bouvier
 
Word secciones , tablas de contenido , indice, tabla de ilustraciones.
Word secciones , tablas de contenido , indice, tabla de ilustraciones.Word secciones , tablas de contenido , indice, tabla de ilustraciones.
Word secciones , tablas de contenido , indice, tabla de ilustraciones.
Jess Tuapanta
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
Marco Gámez
 

Andere mochten auch (16)

Prevencion de criaderos de Aedes aegypti
Prevencion de criaderos de Aedes aegyptiPrevencion de criaderos de Aedes aegypti
Prevencion de criaderos de Aedes aegypti
 
Algoritmos Genéticos na Prática
Algoritmos Genéticos na PráticaAlgoritmos Genéticos na Prática
Algoritmos Genéticos na Prática
 
Algoritmo Genetico
Algoritmo GeneticoAlgoritmo Genetico
Algoritmo Genetico
 
Diseño con algoritmos genéticos
Diseño con algoritmos genéticosDiseño con algoritmos genéticos
Diseño con algoritmos genéticos
 
Algoritmo genético presentacion
Algoritmo genético presentacionAlgoritmo genético presentacion
Algoritmo genético presentacion
 
Resolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticosResolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticos
 
Como generar una tabla de contenido en word 2010
Como generar una tabla de contenido en word 2010Como generar una tabla de contenido en word 2010
Como generar una tabla de contenido en word 2010
 
Diseño de tabla de contenido con hipervínculo en word
Diseño de tabla de contenido con hipervínculo en wordDiseño de tabla de contenido con hipervínculo en word
Diseño de tabla de contenido con hipervínculo en word
 
Algoritmos geneticos
Algoritmos geneticosAlgoritmos geneticos
Algoritmos geneticos
 
Presentacion Algortimos Geneticos
Presentacion Algortimos GeneticosPresentacion Algortimos Geneticos
Presentacion Algortimos Geneticos
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Como generar tablas de contenido en word
Como generar tablas de contenido en wordComo generar tablas de contenido en word
Como generar tablas de contenido en word
 
Word secciones , tablas de contenido , indice, tabla de ilustraciones.
Word secciones , tablas de contenido , indice, tabla de ilustraciones.Word secciones , tablas de contenido , indice, tabla de ilustraciones.
Word secciones , tablas de contenido , indice, tabla de ilustraciones.
 
Sesion 02 - Microsoft Word 2013
Sesion 02 - Microsoft Word 2013Sesion 02 - Microsoft Word 2013
Sesion 02 - Microsoft Word 2013
 
Manual de word 2013
Manual de word 2013Manual de word 2013
Manual de word 2013
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 

Ähnlich wie Algoritmos Genéticos

Algoritmos genéticos y sus aplicaciones - S.O.
Algoritmos genéticos y sus aplicaciones - S.O.Algoritmos genéticos y sus aplicaciones - S.O.
Algoritmos genéticos y sus aplicaciones - S.O.
Pol C. Arapa Sánchez
 
Guia para el programa desktop garp
Guia para el programa desktop garpGuia para el programa desktop garp
Guia para el programa desktop garp
Mildred_Lagos
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
Grisell d?z
 

Ähnlich wie Algoritmos Genéticos (20)

Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticos
 
Algoritmos genéticos y sus aplicaciones - S.O.
Algoritmos genéticos y sus aplicaciones - S.O.Algoritmos genéticos y sus aplicaciones - S.O.
Algoritmos genéticos y sus aplicaciones - S.O.
 
Logica fuzzy
Logica fuzzyLogica fuzzy
Logica fuzzy
 
Guia para el programa desktop garp
Guia para el programa desktop garpGuia para el programa desktop garp
Guia para el programa desktop garp
 
11 solveroptimización
11 solveroptimización11 solveroptimización
11 solveroptimización
 
Aligia algoritmos geneticos
Aligia  algoritmos geneticos Aligia  algoritmos geneticos
Aligia algoritmos geneticos
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
 
Práctica n3 Cladística UCE
Práctica n3 Cladística UCEPráctica n3 Cladística UCE
Práctica n3 Cladística UCE
 
Módulo 2
Módulo 2Módulo 2
Módulo 2
 
Computación 2
Computación 2Computación 2
Computación 2
 
Guia rapida win_qsb
Guia rapida win_qsbGuia rapida win_qsb
Guia rapida win_qsb
 
Logica Fuzzy
Logica FuzzyLogica Fuzzy
Logica Fuzzy
 
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
 
Tutorial weka
Tutorial wekaTutorial weka
Tutorial weka
 
Introduccion al programa_amos_5
Introduccion al programa_amos_5Introduccion al programa_amos_5
Introduccion al programa_amos_5
 
Programacion genetica
Programacion geneticaProgramacion genetica
Programacion genetica
 
CC_019_art_4.pdf
CC_019_art_4.pdfCC_019_art_4.pdf
CC_019_art_4.pdf
 
Infore de proyecto v1
Infore de proyecto v1Infore de proyecto v1
Infore de proyecto v1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 

Mehr von Daniel Muccela

Mehr von Daniel Muccela (11)

Parallel Python sistemas operativos avanzados
Parallel Python sistemas operativos avanzadosParallel Python sistemas operativos avanzados
Parallel Python sistemas operativos avanzados
 
Scrum en sistema grh tuc
Scrum en sistema grh tucScrum en sistema grh tuc
Scrum en sistema grh tuc
 
Encriptacion
EncriptacionEncriptacion
Encriptacion
 
Proyecto de fabricación de envases de madera
Proyecto de fabricación de envases de maderaProyecto de fabricación de envases de madera
Proyecto de fabricación de envases de madera
 
Sistema de vigilancia automatizado t5
Sistema de vigilancia automatizado t5Sistema de vigilancia automatizado t5
Sistema de vigilancia automatizado t5
 
Sistema de vigilancia automatizado t3
Sistema de vigilancia automatizado t3Sistema de vigilancia automatizado t3
Sistema de vigilancia automatizado t3
 
Sistema backup online
Sistema backup onlineSistema backup online
Sistema backup online
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Sistemas Expertos
Sistemas ExpertosSistemas Expertos
Sistemas Expertos
 
Turing-Searle
Turing-SearleTuring-Searle
Turing-Searle
 
Inteligencia Artificial - Inversiones
Inteligencia Artificial - InversionesInteligencia Artificial - Inversiones
Inteligencia Artificial - Inversiones
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Kürzlich hochgeladen (11)

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Algoritmos Genéticos

  • 1. INTELIGENCIA ARTIFICIAL Trabajo Práctico nº 4 Algoritmos Genéticos Optimización Mezcla Motores Nafteros Profesores: Ing. Mario Figueroa Ing. Pablo Rovarini Alumnos: José Daniel Muccela Comisión: 5 k 2 Año 2008 Facultad Regional Tucumán Universidad Tecnológica Nacional
  • 2. Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel TP Nº4 – Algoritmos Genéticos Problema: Optimización Mezcla para Motores Nafteros Desarrollo En la resolución del presente problema se tratará de encontrar la mejor solución, esto es, encontrar los mejores valores para las variables que intervienen en el problema: Aire, Combustible y NOS. Estos valores representarán las partes de los componentes en la mezcla que se usará en el motor para obtener una mayor potencia. Bujía Válvula AIRE Esquema de Motor a combustión Biela Se necesitan 3 variables que son los parámetros a considerar para el desarrollo del modelo. Estas variables son: Aire Combustible NOS Para resolverlo utilizaremos el software comercial Matlab versión 7. Para ello seguimos los siguientes pasos: • Abrimos la herramienta Matlab. • Creamos un nuevo archivo *.mat en el directorio que deseemos. En nuestro caso los archivos se crearon en el Current Directory (‘C:MATLAB7work’). • Se abre la ventana de programación de Matlab. En ella escribimos en la primera línea la definición de la función fitness, que vamos a maximizar y en una segunda línea la función misma. -Línea 1 function F = tp4Mezcla (X) -Línea 2 F = ((0.8*X(1))/(0.1*X(2))) + (0.1 * ((0.36*X(3))/(0.64*X(3)))) 1 UTN FRT
  • 3. Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel Para la función fitness consideramos que en la mezcla interviene por un lado el aire con un porcentaje del 80 % de la mezcla y el combustible con un porcentaje del 10 % (variables X1 y X2, respectivamente) y por otro lado interviene el NOS, otorgando a la mezcla inicial su parte de aire (oxígeno) y nitrógeno (variable X3) las cuales están representadas por su respectivo porcentaje en que intervienen en la mezcla. O sea le corresponde el 10 % restante de la mezcla. De ese 10 %, 0.36 corresponden al aporte de aire que tiene el NOS; el 0.64 que queda es Nitrógeno, que se agrega al Combustible. El cociente indica la relación entre el aire y el combustible de la mezcla. Procedemos a guardar el archivo; por defecto se guarda con el mismo nombre especificado en la definición de la función. En nuestro caso mantuvimos el nombre por defecto de la función: tp4Mezcla.mat. • Ahora nos dirigimos a la ventana principal del Matlab y en la ventana de comandos escribimos gatool para abrir la caja de herramientas para resolver problemas de Algoritmos Genéticos que ofrece el programa. >> gatool • Se nos abre una ventana que contiene múltiples opciones para la configuración y la inicialización de nuestro problema: En ella comenzaremos a escribir los parámetros que usará Matlab para resolver el problema. 2 UTN FRT
  • 4. Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel En el primer cuadro de texto escribimos la directiva @nombredefunción. Esto significa que llama a la función que previamente creamos en el archivo *.mat (tp4Mezcla). En el siguiente cuadro especificamos el número de variables de la función de aptitud (fitness) del problema que como dijimos son X1, X2 y X3. (Aire, Combustible y NOS, respectivamente). En el grupo Plots, se encuentran las opciones de gráfico, esto es, cuáles serán las salidas que el sistema representará gráficamente para el algoritmo genético. Las más importante son Best fitness, Best individual, Selection. Ahora configuramos las opciones para nuestro problema. En la sección Population especificamos nuestro tipo de población que será un Double Vector (número decimal) ya que usaremos cantidades reales. Especificamos cuantos individuos hay en cada generación en Population size. Indicamos la función de creación: La creación predefinida function Uniform crea una población inicial al azar con una distribución uniforme. Dejamos en blanco Inicial Population para que la función predefinida la cree. Dejamos en blanco Inicial scores para que el algoritmo compute los puntajes de acuerdo a la función de aptitud (fitness). A continuación vamos a especificar cuales serán las opciones para las funciones de Selección, Mutación, Reproducción, etc. Para Fitness scaling nos basamos en posición de los individuos según el ranking (Rank) que obtengan por la adecuación a la función fitness. 3 UTN FRT
  • 5. Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel Para la selección elegimos el método de la ruleta, donde a cada individuo se le asigna una porción de la torta. En este caso, a mayor tamaño de la porción mayor será su probabilidad de salir seleccionado. Para la reproducción se considerará el método elitista, donde irán conservándose los mejores a medida que surjan las nuevas generaciones. El porcentaje de cruza lo dejamos en 80 %. El restante es para la mutación. Para la mutación elegimos hacerlo de manera uniforme con una taza de mutación de 1 %. A veces no se llega a realizar la mutación. Caso contrario sólo sería con una frecuencia del 1 %. La mutación permite modificar un gen del genoma de un individuo cualquiera con el fin de mejorarlo. Por ej: Cadena de bits: representan un individuo. 0 1 1 0 1 1 1 0 0 1 Queremos mutar un gen del genoma, supongamos el tercero. De esta manera el genoma quedaría: 0 1 0 0 1 1 1 0 0 1 Para la opción de Cruza (crossover) elegimos Two point. Two point selecciona dos enteros al azar m y n entre 1 y el Número de variables. El algoritmo selecciona genes numerados menores o iguales a m del primer padre, selecciona genes numerados m+1 a n del segundo padre, y selecciona 4 UTN FRT
  • 6. Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel genes numerados mayor que n del primer padre. El algoritmo procede a encadenar estos genes para formar un solo gen. Por ejemplo, p1 = [a b c d e f g h] p2 = [1 2 3 4 5 6 7 8] Punto de cruza (al azar) = 3,6 El resultado es el siguiente: p3 = [a b c 4 5 6 g h] Por lo tanto para nuestro caso seleccionamos dos puntos de cruza. Para el criterio de parada del algoritmo elegimos 100 generaciones. El resto de las opciones del criterio podemos dejarlas como están. Esto producirá que en el caso de que no haya mejores soluciones que las que encontró en el proceso de cómputo del algoritmo parará antes de que se llegue a las 100 generaciones. De todas maneras si queremos probar las 100 tenemos que especificar Inf en Time limit, Fitness limit, Stall generations y Stall time limit. Las configuraciones especificadas hasta aquí son suficientes para correr el problema y analizar los resultados. Para ello nos dirigimos a la derecha de la caja de herramientas Comenzar a correr el problema En esta sección se visualizará el resultado del cómputo y el motivo porque se detuvo el algoritmo 5 UTN FRT
  • 7. Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel En el momento que se está ejecutando vemos que se abre una ventana mostrando los gráficos que se seleccionamos en la sección Plots. En el se puede ver como los gráficos van modificándose a medida que se realiza el cómputo. Al final del mismo, el resultado de la función fitness es mostrado en la imagen anterior. El mejor resultado encontrado para las variables se observará en la siguiente imagen: Para conservar la configuración que establecimos podemos guardarla de la siguiente manera: Vamos al botón: Esto nos abre una pequeña ventana que nos pregunta qué es lo que queremos exportar: problema configuración Podemos seleccionar todas las opciones. Cabe mencionar que antes de la ejecución del problema las opciones 2 y 4 están deshabilitadas porque el algoritmo todavía no computó el mismo. Esto permitirá guardar las configuraciones, el problema y los resultados para posteriores ejecuciones y análisis. configuración problema 6 UTN FRT
  • 8. Inteligencia Artificial 2008 - TPNº4 - Alg. Genéticos - Muccela José Daniel Resultados: Puntos finales encontrados. Corresponden a los valores que toman las variables del problema. Gráficos generados: • El primero de ellos muestra el mejor valor para la función fitness. • El segundo hace referencia al mejor individuo actual. • El tercero muestra la expectativa de adaptación de cada individuo. • El cuarto muestra la adaptación de cada individuo. • El quinto hace referencia a la selección de los individuos, de acuerdo al método de la ruleta que seleccionamos en la configuración. • El sexto muestra los criterios de parada de ejecución del problema. Como se ve aquí el problema se detuvo cuando finalizaron de computarse todas las generaciones (100 en este caso). El objetivo es encontrar la mejor combinación de los componentes que intervienen en la mezcla. De esta manera se obtiene un valor correspondiente al Aire, al Combustible y al NOS. Esta será la mejor solución. 7 UTN FRT