herramientas de la inteligencia artificial bioinspiradas herramientas de la inteligencia artificial

Download HERRAMIENTAS DE LA INTELIGENCIA ARTIFICIAL BIOINSPIRADAS Herramientas de la Inteligencia Artificial

Post on 15-May-2020

0 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • · UNIVERSIDAD CARLOS III DE MADRID ·

    PROYECTO FIN DE CARRERA

    2005 / 2006

    HHEERRRRAAMMIIEENNTTAASS DDEE LLAA IINNTTEELLIIGGEENNCCIIAA AARRTTIIFFIICCIIAALL

    BBIIOOIINNSSPPIIRRAADDAASS

    FERNANDO ALONSO MARTÍN

  • Proyecto Fin de Carrera – Universidad Carlos III Madrid Herramientas de la Inteligencia Artificial Bioinspiradas

    Pág.2

    “La naturaleza inspira la inteligencia”

  • Proyecto Fin de Carrera – Universidad Carlos III Madrid Herramientas de la Inteligencia Artificial Bioinspiradas

    Pág.3

    A la familia, por su apoyo

    A los amigos, por escucharme

    Especialmente a Pedro Isasi, por hacer ver que la

    informática también puede ser entretenida y un

    camino de reflexión sobre el mundo.

  • Proyecto Fin de Carrera – Universidad Carlos III Madrid Herramientas de la Inteligencia Artificial Bioinspiradas

    Pág.4

    ÍNDICE 1. Introducción ............................................................................................ 7

    1.1 Estructura del proyecto ................................................................................... 10 2. Simulador de Algoritmos Genéticos ................................................... 12

    2.1 Introducción ...................................................................................................... 12 2.2 Pseudo-código del algoritmo principal ........................................................... 15 2.3 Arquitectura de la aplicación ......................................................................... 16 2.4 Particularidades de la implementación .......................................................... 19

    2.4.1 Parámetros Estáticos ............................................................................... 19 2.4.2 Parámetros dinámicos ............................................................................. 22

    2.5 Como codificar problemas ............................................................................... 24 2.5.1 ¿Cómo crear una función de evaluación? ............................................... 25

    3.5.1.1. Métodos de implementación necesaria .................................................. 25 3.5.1.2 Métodos de implementación opcional .................................................... 26

    2.5.2 ¿Cómo crear una población específica? ................................................ 28 2.5.3 Extendiendo la funcionalidad del simulador: crear nuevos individuos .. 29

    2.6 Modo funcionamiento ...................................................................................... 30 3.6.1 La interfaz gráfica de Usuario ....................................................................... 30

    3.6.1.1 Descripción de la interfaz de usuario ..................................................... 30 3.6.1.2 Ejecutar un problema desde la interfaz de usuario ................................. 36 3.6.1.3 Crear un nuevo problema desde la interfaz de usuario ........................... 46

    3.6.2 Ejecutando el simulador sin la interfaz gráfica ............................................. 52 3. Simulador de Enjambres de Partículas ............................................. 55

    3.1 Introducción ...................................................................................................... 55 3.2 Pseudo-código del algoritmo principal ........................................................... 58 3.3 Arquitectura de la aplicación .......................................................................... 59 3.4 Particularidades de la implementación .......................................................... 60 3.5 Como codificar problemas ............................................................................... 61

    3.5.1 ¿Cómo crear una función de evaluación? ............................................... 62 4.5.1.1. Métodos de implementación necesaria .................................................. 62

    3.6 Modo funcionamiento ...................................................................................... 64 4.6.1 La interfaz gráfica de Usuario ....................................................................... 64

    4.6.1.1 Descripción de la interfaz de usuario ..................................................... 64 4.6.1.2 ejecutar un problema desde la interfaz de usuario .................................. 70 4.6.1.3 Crear un nuevo problema desde la interfaz de usuario ........................... 78

    4.6.2 Ejecutando el simulador sin la interfaz gráfica ............................................. 83 4. Simulador de Colonias de Hormigas .................................................. 85

    4.1 Introducción ...................................................................................................... 85 4.2 Pseudo-código del algoritmo principal ........................................................... 87 4.3 Arquitectura de la aplicación .......................................................................... 89 4.4 Particularidades de la implementación .......................................................... 90

    4.4.1 Parámetros Estáticos ............................................................................... 90 4.4.2 Parámetros Dinámicos ............................................................................ 91

    4.5 Como codificar problemas ............................................................................... 92 3.5.1.1. Métodos de implementación necesaria .................................................. 92

  • Proyecto Fin de Carrera – Universidad Carlos III Madrid Herramientas de la Inteligencia Artificial Bioinspiradas

    Pág.5

    3.5.1.2 Métodos de implementación opcional .................................................... 92 4.6 Modo funcionamiento ...................................................................................... 93

    6.6.1 La interfaz gráfica de Usuario ....................................................................... 93 6.6.1.1 Descripción de la interfaz de usuario ..................................................... 93 6.6.1.2 ejecutar un problema desde la interfaz de usuario .................................. 98 6.6.1.3 Crear un nuevo problema desde la interfaz de usuario ......................... 103

    6.6.2 Ejecutando el simulador sin la interfaz gráfica ........................................... 108 5. Simulador de Temple Simulado ....................................................... 110

    5.1 Introducción .................................................................................................... 110 5.2 Pseudo-código del algoritmo principal ......................................................... 111 5.3 Arquitectura de la aplicación ........................................................................ 112 5.4 Particularidades de la implementación ........................................................ 113 5.5 Como codificar problemas ............................................................................. 115

    5.5.1 ¿Cómo codificar las posibles soluciones al problema? ........................ 115 6.5.1.1. Métodos de implementación necesaria ................................................ 116

    5.5.2 ¿Cómo evaluar las posibles soluciones? ............................................... 117 6.5.2.1. Métodos de implementación necesaria ................................................ 117 6.5.2.2 Métodos de implementación opcional .................................................. 118

    5.6 Modo funcionamiento .................................................................................... 119 6.6.1 La interfaz gráfica de Usuario ..................................................................... 119

    6.6.1.1 Descripción de la interfaz de usuario ................................................... 119 6.6.1.2 ejecutar un problema desde la interfaz de usuario ................................ 124 6.6.1.3 Crear un nuevo problema desde la interfaz de usuario ......................... 129

    6.6.2 Ejecutando el simulador sin la interfaz gráfica ........................................... 134 6. Simulador de Redes de Neuronas Artificiales ................................. 136

    6.1 Introducción .................................................................................................... 136 6.2 Pseudo-código del algoritmo principal ......................................................... 140 6.3 Arquitectura de la aplicación ........................................................................ 141 6.4 Particularidades de la implementación ........................................................ 142

    6.4.1 Autonormalización de las entradas y salidas ........................................ 142 6.4.2 Distintas funciones de activación ......................................................... 143 6.4.3 Distintos modos de entrenamiento ....................................................... 143 6.4.4 Distintos algoritmos de aprendizaje ..................................................... 143

    6.4.4.1 Backpropagation ................................................................................... 144 6.4.4.2 Aprendizaje basado en algoritmos genéticos........................................ 146 6.4.4.3 Aprendizaje basado en Enjambres de partículas .................................. 146

    6.5 Modo funcionamiento ............................