Heursticas y Ciencias de la Vida - PowerPoint PPT Presentation

1 / 59
About This Presentation
Title:

Heursticas y Ciencias de la Vida

Description:

Heur sticas y Ciencias de la Vida. Heur sticas. Algoritmos Gen ticos ... 7th International Conference on Artificial Evolution. EvoCOP2005 ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 60
Provided by: micu9
Category:

less

Transcript and Presenter's Notes

Title: Heursticas y Ciencias de la Vida


1
Heurísticas y Ciencias de la Vida
  • J. Marcos Moreno Vega
  • Grupo de Computación Inteligente
  • Dpto. de E.I.O. y Computación
  • Escuela Técnica Superior de Ingeniería
    Informática
  • Universidad de La Laguna
  • jmmoreno_at_ull.es
  • webpages.ull.es/users/jmmoreno

2
  • Heurísticas y Ciencias de la Vida
  • Heurísticas
  • Algoritmos Genéticos
  • Optimización basada en Colonias de Hormigas

3
HEURÍSTICAS CIENCIAS DE LA VIDA
Heurísticas
Medicina Sociología Zoología Biología
4
HEURÍSTICAS CIENCIAS DE LA VIDA
  • Supervivencia del más adaptado
  • Trabajo en grupo
  • Comunicación entre los miembros del grupo

5
HEURÍSTICAS
  • Origen
  • Interpretaciones del término
  • Campos de aplicación
  • Clasificación
  • Importancia

6
HEURÍSTICAS Origen
  • Heurística proviene del griego Heuriskein que
    puede traducirse por hallar, descubrir, encontrar
  • Arquímedes salió corriendo desnudo por la calle
    gritando Eureka (lo encontré), cuando descubrió
    el principio de flotación mientras estaba en el
    baño
  • Definición arte de inventar o descubrir hechos
    valiéndose de hipótesis o principios que, aun no
    siendo verdaderos, estimulan la investigación

7
HEURÍSTICAS Interpretaciones
  • Primera interpretación
  • reglas con las que la gente gestiona el
    conocimiento común
  • Segunda interpretación
  • procedimiento de resolución de problemas
  • Tercera interpretación
  • función que permite evaluar la bondad de un
    movimiento, estado, elemento o solución

8
HEURÍSTICAS Primera Interpretación
  • Buscar un problema parecido que haya sido
    resuelto
  • Determinar cuáles fueron la técnica empleada para
    su resolución y la solución obtenida.
  • Si es posible, usar la técnica y/o solución
    anteriores para resolver el problema original.

9
HEURÍSTICAS Primera Interpretación Ejemplo
? 4x sinx dx
  • 4x cosx ? cosx 4 dx - 4x cosx 4 ? cosx dx
  • - 4x cosx 4 sinx C

10
HEURÍSTICAS Segunda Interpretación
  • Un método heurístico (también llamado un
    algoritmo aproximado, un procedimiento inexacto,
    o, simplemente, una heurística) es un conjunto
    bien conocido de pasos para identificar
    rápidamente una solución de alta calidad para un
    problema dado.
  • Barr, Golden, Kelly, Resende, Stewart

11
HEURÍSTICAS Segunda Interpretación Ejemplo
Heurística desde el bar actual nos movernos al
bar más cercano que no hayamos visitado
12
HEURÍSTICAS Tercera Interpretación
  • Una función heurística es una correspondencia
    entre las descripciones de estados del problema
    hacia alguna medida de deseabilidad, normalmente
    representada por números. Los aspectos del
    problema que se consideran, cómo se evalúan estos
    aspectos y los pesos que se dan a los aspectos
    individuales, se eligen de forma que el valor que
    la función da a un nodo en el proceso de búsqueda
    sea una estimación tan buena como sea posible
    para ver si ese nodo pertenece a la ruta que
    conduce a la solución.

    Elaine Rich, Kevin Knight

13
HEURÍSTICAS Tercera Interpretación Ejemplo
O
X
X
Función heurística número de filas, columnas o
diagonales en las que se puede ganar
fx(1) 3 fx(2) 2 fx(3) 3 fx(4) 2 fx(5)
4 fx(6) 2 fx(7) 3 fx(8) 2 fx(9) 3
fO(1) 2 fO(2) 1 fO(3) 2 fO(4) 1 fO(6)
1 fO(7) 2 fO(8) 1 fO(9) 2
fX(1) 2 fX(2) 1 fX(4) 2 fX(6) 1 fX(7)
2 fX(8) 2 fX(9) 2
14
HEURÍSTICAS
Algunos métodos de resolución de problemas
emplean funciones heurísticas, para evaluar
determinados movimientos o elementos. Además, las
funciones heurísticas usadas intentan representar
el conocimiento que emplean los expertos para
resolver los problemas.
15
HEURÍSTICAS Campos de aplicación
Métodos para resolver problemas
Planificación y secuenciación de tareas
Determinación automática de las trayectorias de
un robot
Reconocimiento de formas
Sistemas de Búsqueda en Internet
Minería de datos
Bioinformática
Logística
Seguridad Informática
16
HEURÍSTICAS Clasificación
  • Métodos constructivos
  • G.R.A.S.P.
  • Métodos de búsqueda
  • Búsquedas Locales
  • Búsquedas Multiarranque
  • Simulated Annealing
  • VNS
  • Scatter Search
  • Métodos basados en el comportamiento de Sistemas
    Biológicos
  • Algoritmos Genéticos
  • Optimización basada en Colonias de Hormigas

17
HEURÍSTICAS Importancia Asociaciones
Metaheuristics Network web site
18
HEURÍSTICAS Importancia Congresos
7th International Conference on Artificial
Evolution
19
HEURÍSTICAS Importancia Empresas
hestley
20
HEURÍSTICAS Importancia
  • Las Heurísticas no son sólo la línea de
    investigación de algunos (muchos) investigadores.
  • Son el núcleo de sistemas informáticos que
    resuelven importantes problemas prácticos.

21
ALGORITMOS GENÉTICOS
  • Un poco de historia
  • Evolución natural de las especies
  • Proceso evolutivo en la resolución de problemas
  • Buscando el máximo de una función

22
ALGORITMOS GENÉTICOS Un poco de historia
Evolución natural
Charles Robert Darwin
Gregor Johann Mendel
Hugo De Vries
23
ALGORITMOS GENÉTICOS Un poco de historia
Darwin
  • Charles Robert Darwin El 27 de diciembre de
    1831 zarpa de Davenport (Inglaterra) el Beagle,
    buque al mando del capitán Fitz-Roy, con varios
    objetivos científicos completar el estudio de
    las costas de la Patagonia y Tierra del Fuego,
    realizar la cartografía de las costas de Chile,
    Perú y algunas islas del Pacífico y realizar
    varias observaciones cronométricas alrededor del
    mundo. A bordo viaja el joven naturalista de 22
    años, Charles Robert Darwin (1809-1882). El 6 de
    enero de 1832 el Beagle fondea frente a las
    costas de Tenerife. Sin embargo, las autoridades
    obligan a la tripulación a permanecer a bordo del
    buque por miedo a que padezca el cólera. La larga
    travesía del Beagle, que atraca el 2 de octubre
    en Falmouth, sirve a Darwin para enunciar su
    teoría acerca del origen y evolución de las
    especies. Uno de los elementos claves en la
    teoría de Darwin es que la evolución se debe a la
    selección natural. Es decir, aquellos individuos
    más adaptados al medio tienen mayor probabilidad
    de sobrevivir y, de esta forma, las
    características que les hacen mejores se propagan
    entre la descendencia. De esta forma, y de manera
    gradual, surgen las diversas especies.

24
ALGORITMOS GENÉTICOS Un poco de historia
Mendel
  • Gregor Johann Mendel El monje agustino
    austriaco Johann Mendel (1822-1884) se interesó
    por los principios que rigen la herencia de
    características en las especies. En 1843 se
    ordenó sacerdote y diez años más tarde fue
    nombrado profesor suplente de la escuela moderna
    de Brno, lugar donde pasó la mayor parte de su
    vida. En el jardín del mencionado convento
    cultivó algunas variedades de guisantes. Escogió
    algunas características con alternativas claras.
    Por ejemplo, semillas redondas o rugosas.
    Seleccionó variedades de guisantes que producían
    descendencias homogéneas para estas
    características y estudió sus sucesivas
    descendencias. De esta forma, pudo enunciar sus
    leyes acerca de la herencia. Estas muestran en
    que proporción se manifiestan las alternativas de
    cada característica. Para explicar las
    proporciones observadas, Mendel enunció la
    hipótesis de que la primera generación de
    guisantes contenía elementos hereditarios para
    ambas alternativas del carácter. Sus trabajos
    pueden considerarse como la base de la genética

25
ALGORITMOS GENÉTICOS Un poco de historia De
Vries
  • Hugo De Vries El botánico holandés Hugo De
    Vries (1848-1935) introdujo el concepto de
    mutación. Creía que las especies no surgían de
    manera gradual, sino a través de mutaciones de
    especies conocidas. Si estas mutaciones derivan
    en características beneficiosas, las mismas se
    propagan entre la descendencia. Fue responsable
    de que los trabajos de Mendel viesen la luz, ya
    que en 1900, dieciséis años después de la muerte
    de Mendel, encontró dichos trabajos y los dio a
    conocer.

26
ALGORITMOS GENÉTICOS Evolución natural de las
especies (i)
  • La evolución se produce por dos procesos la
    selección y la alteración genética de los
    cromosomas que almacenan las características de
    la especie. La alteración genética tiene lugar
    durante la reproducción de los individuos, o
    cuando éstos sufren algún tipo de mutación. En el
    proceso de selección, aquellos individuos más
    adaptados o adecuados al medio sobreviven en la
    reproducción, los individuos intercambian
    material cromosómico y en la mutación, se altera
    parte de la información de los cromosomas.
  • En la naturaleza, estos procesos ocurren sobre
    una generación, y luego sobre su descendencia, y
    a continuación sobre la descendencia de ésta, y
    así sucesivamente. Después de cada ciclo, la
    generación actual será (o al menos así se desea)
    mejor que las anteriores. Esto es, los individuos
    estarán más evolucionados y adaptados al medio.

27
ALGORITMOS GENÉTICOS Evolución natural de las
especies (ii)
28
ALGORITMOS GENÉTICOS Proceso evolutivo en la
resolución de problemas
  • En 1975, John Holland defendió su tesis doctoral
    Adaptation in Natural and Artificial Systems
    (Adaptación en Sistemas Naturales y Artificiales)
    en la Universidad de Michigan. En ella, se
    proponía por primera vez una clase de métodos,
    llamados Algoritmos Genéticos, para la resolución
    de problemas. La idea que subyace en los
    algoritmos genéticos es que es posible
    implementar, en un ordenador, un programa que,
    guiado por los principios de la herencia y la
    evolución de las especies, suministre la solución
    de un problema.

29
ALGORITMOS GENÉTICOS Proceso evolutivo en la
resolución de problemas
  • Para usar las ventajas del modelo del proceso
    evolutivo en la resolución de un problema, se
    deben establecer las siguientes correspondencias
  • Una apropiada codificación de las posibles
    soluciones del problema representará a éstas de
    la misma forma que el cromosoma representa a los
    individuos de la especie. Dada esta unívoca
    relación, se usarán indistintamente los términos
    solución, codificación, cromosoma o individuo.
  • La adecuación de cada solución será una medida
    del comportamiento de ésta en el problema
    particular considerado. Normalmente, es el valor
    objetivo de la solución. Así, una solución está
    más adecuada a un problema cuanto mejor sea su
    valor objetivo.
  • Se definirán unos operadores genéticos que, al
    actuar sobre una o varias soluciones, suministren
    una o más soluciones al alterar genéticamente los
    cromosomas. Juegan el papel del cruce y la
    mutación en el proceso evolutivo natural.

30
ALGORITMOS GENÉTICOS Proceso evolutivo en la
resolución de problemas
  • Con las consideraciones anteriores, el Algoritmo
    Genético trabaja como sigue
  • 1. Generar una población inicial de soluciones.
  • 2. Seleccionar, de la población actual, las
    soluciones mejor adaptadas al medio.
  • 3. Cruzar algunas soluciones para obtener su
    descendencia.
  • 4. Mutar algunas soluciones para obtener las
    soluciones mutadas.
  • 5. Si se alcanza el número máximo de
    generaciones, parar en otro caso, volver al paso
    2.
  • Al finalizar los pasos anteriores, la mejor
    solución de la población es la que se propone
    como solución del problema.

31
ALGORITMOS GENÉTICOS Buscando el máximo de una
función
Encontrar el máximo global de la función real de
una variable f(x) x2 5x 3 sobre el
intervalo (0, 4) con una precisión de 3 dígitos
tras el punto decimal.
Máximo en x 2.5, con valor 9.25
32
ALGORITMOS GENÉTICOS Buscando el máximo de una
función Representando las soluciones
Para representar de forma apropiada las
soluciones de este problema usamos la
representación binaria. Representamos cada número
real del intervalo (0,4) en base 2 con una
precisión de 10-3. Puesto que 4 1002 y
000000000012 2-10 lt 10-3 será suficiente con
tomar como soluciones posibles de nuestro
problema a los números reales representados en
forma binaria por dos cifras antes de la coma y
10 detrás. Cromosoma Número real
(100101110000)
2359375000 (011000111010)
1546640625
33
ALGORITMOS GENÉTICOS Buscando el máximo de una
función Población inicial
Una forma sencilla de construir una población
inicial de tamaño n para el problema planteado
consiste en generar, aleatoriamente, n cadenas
binarias de tamaño 12. Para n 5, en la tabla
siguiente se muestra una de tales poblaciones
iniciales. En dicha tabla se recoge la cadena
binaria, el número real que representa y el valor
de dicha cadena. Cromosoma Número real
(xi) Valor de la función (f(xi)) x1
(100101110000) 2359375000 92302 x2
(011000111010) 1546640625 83411 x3
(111100101010) 3791015625 75831 x4
(100000111010) 2056640600 90534 x5
(000001111010) 0119140600 35815 Suma de
los valores de la función ? f(x) 377893
34
ALGORITMOS GENÉTICOS Buscando el máximo de una
función Selección (i)
Durante esta fase, debe obtenerse una nueva
población desde la población anterior. El
procedimiento debe ser tal que los individuos más
adaptados, es decir, las soluciones, x, con mayor
valor de la función f(x), tengan mayor
probabilidad de ser elegidos. Para ello,
emplearemos el conocido como método de la rueda
de hilar. En este método se asigna a cada
solución, x, de la población un segmento del
intervalo 0,1 proporcional al valor relativo de
la función f
x1 f(x1) 92302 f(x1)/?f(x)
92302/377893 0244 x2 f(x2) 83411
f(x2)/?f(x) 83411/377893 0221
35
ALGORITMOS GENÉTICOS Buscando el máximo de una
función Selección (ii)
Cromosoma Número real (xi) Valor de la función
(f(xi)) x1 (100101110000) 2359375000 92302
x2 (011000111010) 1546640625 83411 x3
(111100101010) 3791015625 75831 x4
(100000111010) 2056640600 90534 x5
(000001111010) 0119140600 35815 Suma de
los valores de la función ? f(x) 377893
0125, 0750, 01875, 03125, 08125
36
ALGORITMOS GENÉTICOS Buscando el máximo de una
función Cruce (i)
  • Formar aleatoriamente parejas para el cruce
  • Aplicar el operador de cruce a cada pareja

Operador de cruce para cadenas binarias
seleccionar una posición de cruce al azar e
intercambiar las subcadenas de la derecha.
(110100110000)
(100101110101)
37
ALGORITMOS GENÉTICOS Buscando el máximo de una
función Cruce (ii)
Cromosoma Número real (xi) Valor de la función
(f(xi)) x1 (100101110000) 2359375000 92302
x4 (100000111010) 2056640600 90534 x1
(100101110000) 2359375000 92302 x2
(011000111010) 1546640625 83411 x4
(100000111010) 2056640600 90534 Suma de
los valores de la función ? f(x) 449073
x1, x4
38
ALGORITMOS GENÉTICOS Buscando el máximo de una
función Mutación (i)
  • Para cada bit del cromosoma decidir
    aleatoriamente si éste muta o no.
  • Aplicar el operador de mutación a los
    correspondientes bits

Operador de mutación para cadenas binarias
sustituir el valor del bit por su complementario
(0 por 1, 1 por 0)
(100101110000)
(100001110010)
39
ALGORITMOS GENÉTICOS Buscando el máximo de una
función Mutación (ii)
Cromosoma Número real (xi) Valor de la función
(f(xi)) x1 (100101111010) 2369140625 9232
9 x4 (100000111010) 2056640600 90534 x1
(100101110000) 2359375000 92302 x2
(011000111010) 1546640625 83411 x4
(100000110000) 2046875000 90447 Suma de
los valores de la función ? f(x) 449023
Muta el quinto bit de la solución x1
40
ALGORITMOS GENÉTICOS Buscando el máximo de una
función Finaliza un ciclo evolutivo
  • De esta forma finaliza un ciclo evolutivo.
  • La mejor solución encontrada en esta etapa es

x1 (100111111010) 2494140625 92500
  • El proceso continúa hasta que se decida parar
    (en general, se finaliza cuando cuando se alcanza
    un número máximo de generaciones).

41
OPTIMIZACIÓN BASADA EN COLONIAS DE HORMIGAS
  • Hormigas reales
  • Explicamos su comportamiento
  • Cómo usar lo anterior?
  • Etapas del procedimiento

42
OPTIMIZACIÓN BASADA EN COLONIAS DE HORMIGAS
La estrategia empleada por las Colonias de
Hormigas para descubrir fuentes de alimentación,
establecer el camino más corto entre éstas y el
hormiguero y transmitir esta información al resto
de sus compañeras inspiró a los investigadores
Marco Dorigo, Vittorio Maniezzo y Alberto
Colorni. Éstos, emulando dicha estrategia,
propusieron un nuevo procedimiento de resolución
de problemas que supone actualmente uno de los
tópicos en los que más se investiga.
43
HORMIGAS REALES
44
HORMIGAS REALES Algunas observaciones
  • Si no encuentran un rastro de feromona, se
    mueven aleatoriamente.
  • Las hormigas construyen iterativamente
    soluciones al problema que se les plantea e
    intercambian información sobre éstas para
    construir mejores soluciones.
  • La atracción que sienten por un determinado
    camino es proporcional a la intensidad del rastro
    de feromona sobre el mismo.

45
EXPLICAMOS SU COMPORTAMIENTO Características de
las hormigas artificiales
  • Tendrán memoria
  • No serán completamente ciegas.
  • Vivirán en un entorno discreto.
  • Se moverán a razón de una unidad de espacio por
    unidad de tiempo.

46
EXPLICAMOS SU COMPORTAMIENTO Simulación
47
CÓMO USAR LO ANTERIOR? Problema del Viajante
de Comercio
  • Sistema Hormiga Colocar una hormiga en cada
    ciudad.
  • Cada hormiga escoge la ciudad a la que ir con
    una probabilidad que depende de la distancia a
    dicha ciudad, y del rastro de feromona presente
    en la arista que conecta la ciudad de origen con
    la ciudad destino.
  • Empleando la memoria de que están dotadas, las
    hormigas construyen circuitos legales evitando
    repetir ciudades previamente visitadas.
  • Cuando se completa un circuito, las hormigas
    (todas o algunas) segregan feromona sobre las
    aristas que han sido atravesadas.
  • La feromona segregada, y la que estaba presente
    en las aristas, se usa para actualizar el rastro
    de feromona en la siguiente iteración.

48
CÓMO USAR LO ANTERIOR? Problema del Viajante
de Comercio Elementos
dij distancia entre las ciudades i y j ?ij 1/
dij inversa de la distancia entre las ciudades i
y j Sk(i) conjunto de ciudades alcanzables por
la k-ésima hormiga desde la ciudad i ?ij
intensidad del rastro de feromona de la arista
(i,j) ??ijk incremento de feromona de la arista
(i,j) debido a la aportación de la k-ésima
hormiga ??ij incremento de feromona de la
arista (i,j) debido a la aportación de todas las
hormigas Lk longitud del circuito construido
por la k-ésima hormiga c rastro inicial de cada
arista (constante fijada por el usuario) Q
constante fijada por el usuario el rastro que
recibe una arista depende de este valor ?
parámetro fijado por el usuario (1- ?)
representa la cantidad de feromona que
desaparece de una arista por efecto de la
evaporación
49
CÓMO USAR LO ANTERIOR? Problema del Viajante
de Comercio
50
CÓMO USAR LO ANTERIOR? Problema del Viajante
de Comercio Pseudocódigo
Procedure Sistema Hormiga begin
Inicialización repeat for k 1 to n
do begin i k
repeat Escoge j ? Sk(i)
i j until Solución
Factible Calcula incremento del
rastro end Actualiza(Rastro)
Almacena(Mejor Solución) until
(criterio de parada) end.
51
CÓMO USAR LO ANTERIOR? Problema del Viajante
de Comercio Incremento y actualización del
rastro
52
CÓMO USAR LO ANTERIOR? Problema del Viajante
de Comercio Probabilidad de transición
53
CÓMO USAR LO ANTERIOR? Problema del Viajante
de Comercio Un ejemplo
Matriz de distancias
Matriz de visibilidad
1
2
54
CÓMO USAR LO ANTERIOR? Problema del Viajante
de Comercio Un ejemplo
55
CÓMO USAR LO ANTERIOR? Problema del Viajante
de Comercio Un ejemplo
4
5
Hormiga 1
3
6
2
1
56
CÓMO USAR LO ANTERIOR? Problema del Viajante
de Comercio Un ejemplo
Matriz de feromona inicial
Matriz de feromona tras una iteración
57
ETAPAS DEL PROCEDIMIENTO
1. Inicialización Se fija el rastro inicial 2.
Fase constructiva. Se construyen soluciones al
problema empleando la información que suministra
el rastro de feromona y alguna función heurística
de lo apropiado de una elección. 3. Cálculo del
incremento del rastro. Se calcula el incremento
en la intensidad del rastro. 4. Actualizar el
rastro de feromona. Se calcula el nuevo rastro de
feromona. 5. Criterio de parada. Si el criterio
de parada se cumple, finalizar la búsqueda. En
caso contrario, volver al paso 2.
58
ALGUNAS NOTICIAS Sistemas hormigas
59
ALGUNAS NOTICIAS Algoritmos Genéticos
Write a Comment
User Comments (0)
About PowerShow.com