Click here to load reader
View
216
Download
0
Embed Size (px)
Ant Colony Optimization(OptimizacinBasadaenel
comportamientodeColoniasdeHormigas)
UnaMetaheursticaBioinspirada
CINVESTAV Ciudad de Mxico - 2012Dr. Guillermo Leguizamn
Elenfoque ACO,marco general.
LametaheursticaACOsesitadentrodelcampodelaINTELIGENCIACOLECTIVAoINTELIGENCIADEENJAMBRESoSWARMINTELLIGENCE
Estemarcopresuponeunconjuntodeagentesqueobedecenaunconjuntodereglasmuysimples,peroqueactuandocooperativamente,surgeunsistemamuchomscomplejo.
Ejemplos:Hormigas,termitas,abejas,peces(cardmenes),pjaros,etc.
Inteligencia Colectiva Introduccin
The emergent collective intelligence of groups of simple agents.
(Bonabeau, Dorigo and Theraulaz)
Inteligencia Colectiva Introduccin
Muchos insectos/aves/peces sociales actuandocolectivamente,soncapaces derealizarcomportamientos complejos,e.g.,defenderunnido,construir puentes ynidos,distribuirtareas,buscar alimentos,defenderse dedepredadores,etc.
Inteligencia Colectiva Introduccin
Algunas preguntas que surgen cuando vemos la complejidad y perfeccin del producto de ciertas colonias/enjambres:
- Qu los gobierna?- Quin emite las ordenes?- Quin tiene una visin global?-Quin elabora los planes?-Quin preserva el equilibrio?
Parece ser que cada agente tiene sus propios objetivos, pero el resultado (construccin de un nido, puente, camino) se percibe como algo organizado y complejo.
Ingeligencia Colectiva Introduccin
Agentes simples (gobernados por reglas sencillas), pero masivos.
Comportamiento emergente
Auto-organizacin
Descentralizacin
Flexibilidad
Auto-reparacin
Caractersticas de estos sistemas
Ingeligencia Colectiva Introduccin
Autoorganizacin (Selforganization)
Es un conjunto de mecanismos dinmicos apartir de los cuales pueden emerger estructurasde alto nivel debido a las interacciones entrecomponentes de bajo nivel.
(Bonabeauetal.,enSwarmIntelligence,1999)
Inteligencia Colectiva Introduccin
Modelos
Algoritmos
Sist. Multi-Agente
Grupos de Robots
Inteligencia Colectiva Introduccin
Cine: Robtica y Ciencia Ficcin (Matrix)
Un centinela
Swarm de centinelas en accin
Inteligencia Colectiva Introduccin
Mscineyescenasquecapturanelconcepto
Inteligencia Colectiva Introduccin
Algunos principios delaInteligencia Colectiva
1. Auto-organizacin basada en: intensificacin de tareas va retroalimentacin positiva balance de actividades va retroalimentacin negativa intensificacin de fluctuaciones aleatorias mltiples interacciones
2. stigmergy , basada en: trabajo realizado como respuesta al estado del entorno el entorno funciona como memoria de estado de
trabajo realizado el trabajo no depende de agentes especficos
Inteligencia Colectiva Introduccin
Definicin de Inteligencia Colectiva Computacional (ICC) o Computational Swarm Intelligence (CSI), segn
E. Bonabeau et al.: cualquier intento de disear, desde una perspectiva distribuida, algoritmos o dispositivos para resolver problemas inspirados en el comportamiento de insectos u otros animales sociales
A. Engelbrecht da una definicin similar, excepto que no incluye a los dispositivos (e.g., robots).
Ant Colony Optimization (ACO)
LametaheursticaACOenglobaaunconjuntodealgoritmoscuyodiseoestbasadoenelcomportamiento deciertascoloniasdehormigasreales
Comportamiento:bsquedayprovisindealimentosrealizandolaexploracindesdeelnido(comportamientoforrajero).
Lashormigasreales(ciertasespecies)dejanunrastro(feromona)quepuedeserdetectadoporelrestodelacolonia(comunicacinindirectaostigmergy)
AntColonyOptimization(ACO)
Definicin:UnAlgoritmoACOesunprocesodistribuidoenelqueunconjuntodeagentes (reactivos)actanenformaindependienteycooperanespordicamenteenformaindirectaparallevaracabounobjetivocomn.
AntColonyOptimization(ACO)
ACO(Exp.Caminomscorto)Alimento
Nido
Ciertasespeciesdehormigasrealizanunprocesollamadoautocataltico,elquemodificalavelocidadconquesedejaelrastrodeferomona.
Existen2tiposdecatalizadores.
Positivos:aumentanlavelocidaddeunareaccin.
Negativos:disminuyenlavelocidaddeunareaccin(inhibidor).
AlgunosSimuladores(*)
http://www.sinanerdem.net/ant-colony-simulator
http://www.rennard.org/alife/english/antsgb.html
http://www.mcrit.com/complexity/applets/boid.html
(*) No son simuladores de algoritmos ACO, sino que representan un modelo simplificado para mostrar el comportamiento forrajero de las hormigas
http://www.sinanerdem.net/ant-colony-simulatorhttp://www.rennard.org/alife/english/antsgb.htmlhttp://www.mcrit.com/complexity/applets/boid.htmlACO:algunos conceptos previos
AntesdeintroducirlosaspectoscomputacionalesdelametaheursticaACO,veamosdosmtodosbsicosparaexplorarelespaciodebsquedaconelementoscomunesaalgunasmetaheursticas,porejemplo:
Bsqueda Local Algoritmos constructivos
Conceptos Previos (Cont.)BsquedaLocal
Presuponeunaestructurabiendefinidadelespaciodebsqueda(usodelconceptodevecindario).
Comienzadesdeunasolucininicialyrepetidamentetratademejorarlaatravsdecambioslocales
Cadacambiorealizadolepermitealmtodo,moversehaciaotrospuntosdelespaciodebsquedadentrodelvecindario
Conceptos Previos (Cont.)Vecindario deunpunto enelespacio
Operador
BsquedaLocal:ejemplo,operadordeintercambiode2elementos.
(15423)
(4 5 1 23)(51423)
(2 541 3) (3 5421)
(?) (?)
BsquedaLocal:algoritmosimple
Procedure BL;S Solucin_Inicial; // completaMejora TRUEwhile ( Mejora )
NS Vecindario de S // aplica operadorS Mejor(NS) // acorde al objetivoif ( S mejor que S ) Mejora FALSEelse S S
end-whilereturn S;
end-procedure
ConceptosPrevios(Cont.)
Algoritmosconstructivos
Lassolucionessonconstruidasiterativamenteaadiendocomponentesaunasolucinpartiendodesdeunasolucinvacaoconunacomponentedelproblema.
Porejemplo,enelproblemadelViajantedeComercio(TSP)lasolucinesconstruidaaadiendounaciudadtrasotraincrementandolalongituddeltour.
ConceptosPrevios(Cont.)
EjemplodeunAlgoritmoconstructivo
Procedure GreedyConstHeurist;Sp ElegirPrimeraComponente(Cand);while (Sp no est completa)
C ComponenteGreedy(Cand);Sp Sp C;
end-whileS Sp;return S;
end-procedure
Esta parte es la que determina la voracidad
ConceptosPrevios(Cont.)
QudiferenciahayentreBsquedaLocalyunAlgoritmoConstructivo?
CmovisualizarelespaciodebsquedaparaunAlgoritmoConstructivo?
Sepuedendefiniroperadoresparaexplorardichoespacio?
EspaciodeBsquedadelProblema(Ejemplo,TSP)
Tamao N=5, 5!=120 Posibles solucionesN=6, 6!=720N=100, 100! = ? EB
Cada punto en EB es una permutacin de las ciudades, e.g., (3 5 1 4 2) o (2 5 3 4 1)
3 4
2
51
3
1 2 54
41 25
5
51
2
21
1
1 5
1
5
5! en Total
3
4
2
1
EspaciodeBsquedaTSPAlgoritmoConstructivo
Cmo elegir la rama a seguir?
Algunas posibilidades deexpansin delrbol
1. Greedy(como enelejemplo delalgoritmopreviamentemostrado)
2. Aleatorio (tiene sentido?)3. Greedyrandom(e.g.,GRASP)4. obien,segn AntColonyOptimization
(formulacin clsica delenfoque,acontinuacin )
Consideraciones para suaplicacin
ElenfoqueACOesparticularmenteadecuadoparaseraplicadoaproblemasqueaceptenunarepresentacinvagrafo(necesarioparaimitarlabsquedadeuncamino)
Representacindelrastro deferomonaysuasociacinalasconexionesentrelascomponentesdelproblema.
Posibilidaddeaadirconocimientodelproblema(heursticalocal) paraguiarjuntoconelrastrolaconstruccindelassoluciones.
Consideracionesparasuaplicacin
Dorigo etal.planteanelconceptodegrafodeconstruccin comoprerequisitoparaaplicarunalgoritmoACO.Laexistenciadeestegrafopermitiralashormigasdelacolonia,recorrerdichografoparalaconstruccindelassolucionesenformacooperativa.
Consideracionesparasuaplicacin
SedefineungrafoGC=(V,E)donde:
Veselconjuntodevrtices E elconjuntodearcosquerepresentanlasconexionesentrelosvrtices
C eselconjuntodecomponentesdelproblemaypuedeestarasociadoaV oE.
Consideracionesparasuaplicacin(ejemplogeneral)
FN
ACOaplicadoaTSP
3 4
2
51
dnde ubicamos al nido (N) y a la fuente de alimentos (F)?
GrafoGC=(V,E),dondeV eselconjuntodenciudades(componentes)yElascarreterasentrelasciudades(TSPsimtrico).Enesteejemplon=5
ACOaplicadoaTSP(Cont.)
3 4
2
51
Nido: nodos elegidos aleatoriamente (e.g., 3)
FA: el ltimo nodo luego de completada la solucin (e.g., 1)
Una posible solucin:(3 5 4 2 1)
ACOaplicadoaTSP(Cont.)
3
S=(3), C={1,2,4,5}
5
S=(3 5), C={1,2,4}
S=(3 5 4), C={1,2}
S=(3 5 4 2), C={1}
S=(3 5 4 2 1), C={}
4
2
1
S=(), C={1,2,3,4,5}SolucinInicial
ComponentesCandidatas
Almomentodedecidirlaprximaciudadavisitar,culessernlosopcionesparacadahormiga?Veamoselcasodeunahormigaparticular:
Representacindelrastrodeferomonapuedeserrealizadoatravsdeunamatrizdenmerosreales()denn.
Heursticalocal(visibilidad):1/dij,esdecir,unvalorinversamenteproporcionalaladistanciaentrelasciudadesi yj.
ACOaplicadoaTSP(Cont.)
3 4
2
51
: matriz de feromona
ij indica fortaleza de la conexin (i,j)
11
2
2 3
34
4
5
5
ACOaplicadoaTSP(Cont