Click here to load reader

Una Metaheurística Bio inspirada - delta.cs. ccoello/compevol/clase12-parte1-leguizamon... · PDF filepermitirá a las hormigas de la colonia, recorrer ... un algoritmo ACO tiene

  • View
    216

  • Download
    0

Embed Size (px)

Text of Una Metaheurística Bio inspirada - delta.cs....

  • 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.html
  • ACO: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

Search related