CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... ·...

37
Cooperative Foraging and Search: Swarm2 Daniel Docmac M.

Transcript of CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... ·...

Page 1: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Cooperative Foraging and Search:Swarm2

Daniel Docmac M.

Page 2: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Foraging Theory• Foraging: Se basa en la suposición de que los animales buscan

y obtienen nutrientes de manera de maximizar la energía E tomada de ellos por unidad de tiempo T gastado foraging.

• El problema se traduce a la maximización de la función:

• Otra definición tiene relación con la “energetic efficiency”: energía consumida/energía gastada para obtenerla: Ec/Eg

• Foraging tendrá relación también con otras actividades, como por ejemplo buscar un lugar seguro o refugio para la lluvia.

T

E

2

Page 3: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Elementos de la teoría Foraging (cont)

• La teoría de foraging formula el foraging como un problema de optimización en donde los métodos computacionales o analíticos pueden proveer una política óptima de foraging.

3

Page 4: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Cooperative/Social Foraging

• Los foragers viven en un ambiente con otros pares .• Métodos de compartir información son necesarios para

foraging cooperativo .• Las ventajas de el foraging en grupo incluyen:

� La cantidad de energía per cápita es mayor , aun si la ganancia no es repartida equitativamente en el grupo.

� En algunos casos la tasa de energía de un individuo decrece si se une a un grupo pero sigue siendo una buena alternativa si es poco.

� Cuando hay más animales buscando se incrementa la probabilidad de encontrar nutrientes. Así, si uno encuentra alimento le dirá al resto donde está este. Es en otras palabras ganar acceso a un “centro de información”.

4

Page 5: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Cooperative/Social Foraging (cont)

� Aumente la posibilidad de acceder a grandes presas.

� Mayor protección frente a depredadores.

� Algunas especies ocupan la diversidad en su especie para producir mayor eficiencia (hormigas obreras, soldado, reina).

• ¿Cómo ocurre esta en la naturaleza?

� Una hormiga inicia la búsqueda a lo largo y lejos de forma aleatoria. Al encontrar nutrientes expele feromonas que marcarán en área e indicará al resto de la colonia donde están los nutrientes. Una abeja encuentra el alimento y vuelve al panal indicando con un baile al resto de la colmena la localización de este.

5

Page 6: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Cooperative/Social Foraging (cont)

• Swarms (enjambres) nacen debido a la comunicación y pueden llevar a un más exitoso foraging: Optimización.

6

Page 7: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

E. Coli Swarm Foraging para optimización• El algoritmos de foraging de bacterias es un método de

optimización estocástico no gradiente.

• Sea J(θ) la representación de los efectos combinados de repelencia y atracción del medio ambiente , en donde θ será la posición de la bacteria con θ

• Así J(θ) < 0, J(θ) = 0, y J(θ) > 0 representarán que la bacteria se encuentra en una posiciónθ rica en nutrientes, neutral y nociva respectivamente.

• Básicamente la quimiotaxis es un comportamiento del foraging el cual consiste en que las bacterias tratan de escalar hacia las mayores concentraciones de nutrientes (encontrando valores más y más bajos de J(θ) evitando a su vez sustancias nocivas .

Rp∈

7

Page 8: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Población y Quimiotaxis

• Una bacteria tiene dos tipos de desplazamiento: swim (o run) y tumble.

8

Page 9: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Población y Quimiotaxis (cont)

• Se define la quimiotaxis como el patrón de movimiento que las bacterias generan en la presencia de químicos de atracción y repulsión.

• Sea:

� j: índice para pasos quimotaxicos.

� k: índice de paso reproductivo.

� l: índice para evento de eliminación – dispersión.

� S: población de bacterias.

• Se tiene que la posición de cada miembro de la población S estará dada por:

• Para el jth paso quimiotaxico, kth paso reproductivo y lth paso de eliminación-dipersión.

},..,2,1|),,({),,( SilkjlkjP i == θ

9

Page 10: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Población y Quimiotaxis (cont)

• J(i,j,k,l) corresponderá al costo de localización de la bacteria ith , representada por θi en donde p será el número de dimensiones a las cuales se aplica el método. Para este caso en particular p = 3 (ubicación espacial).

• Se define Nc como el largo de vida de una bacteria medido en el número de paso quimiotaxicos que darádurante su vida.

• Sea C(i) > 0 el tamaño de un paso quimiotaxico durante un desplazamiento “run” (swim) y Ф(j) la representación de la unidad aleatoria que definirá la dirección de movimiento luego de un “tumble”.

Rp∈

10

Page 11: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Población y Quimiotaxis (cont)

• Se tendrá que:

• Si para costo asociado es menor para entonces otro paso de tamaño C(i) será tomado en la

misma dirección, lo cual continuará mientras siga mejorando pero solo hasta un máximo de pasos Ns (número máximo de pasos en “run”).

)()(),,(),,1( jiClkjlkj ii Φ⋅+=+ θθ

),,1( lkji +θ ),,1,( lkjiJ +),,( lkjiθ

11

Page 12: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Mecanismo Swarming

• Hasta ahora no se ha tratado la utilización de “attractants” para señalar a otras células que deberían agruparse (cell-to-cell signaling via attractant).

• La optimización swarm explota una aproximación regional a un gradiente lo cual ayuda a escalar sobre el ruido.

• Se definen los siguientes parámetros de atracción:� dattract: Cuantificación de la cantidad de sustancias de

atracción liberadas por la célula.

� wattract: Cuantificación de la velocidad de difusión del

químico.

12

Page 13: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Mecanismo Swarming (cont)

• Las células también repelerán a sus vecinos cuando estos se encuentren demasiado cerca pues consumirían sus nutrientes.

• Se definen los siguientes parámetros de repulsión:� hrepellent: Cuantificación de la cantidad de sustancias de

repulsión liberadas por la célula.

� wrepellent: Cuantificación de la velocidad de difusión del

químico.

• Así se tiene que la representación del efecto combinado de atracción y repulsión cell-to-cell será:

∑=

=S

i

ii lkjJlkjPJcc1

)),,(,()),,(,( θθθ

13

Page 14: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Mecanismo Swarming (cont)

• Así:

• En corresponde a un punto en el dominio de optimización, mientras que será el mth componente de la posición de la bacteria ith (θi).

∑ ∑= =

−−⋅−=

S

i

p

m

immattractattract wdlkjPJcc

1 1

2)(exp)),,(,( θθθ

∑ ∑= =

−−⋅+

S

i

p

m

immrepellentrepellent wh

1 1

2)(exp θθ

Tp ],...,[ 1 θθθ =

imθ

14

Page 15: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Mecanismo Swarming (cont)

• La función Jcc representa los químicos liberados por el movimiento de cada célula. Debido al movimiento de todas las células Jcc es una función variante en el tiempo.

• Si muchas células vienen juntas habrá un alto valor de attractant lo cual aumentará las probabilidades de que otra célula se mueva hacia al grupo. Esto provoca el efecto swarming.

• Con swarming se tiene que la célula tratará de encontrar nutrientes, evitando sustancias nocivas y al mismo tiempo tratándose de mover hacia otras células, pero no muy cerca de ellas.

• Como se vio, el costo queda redefinido como:

),(),,,( PJcclkjiJ θ+

15

Page 16: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Mecanismo Swarming (cont)

• La figura representa el modelo de costo (repulsión al medio) del modelo cell-to-cell chemical attractant para una población S = 2. Los dos peaks son la posición inicial de las respectivas células.

16

Page 17: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Efecto Swarming

17

Page 18: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Foraging Swarm Social Estable

• Modelo del medio ambiente: Describe los agentes, comunicaciones y el medio en que estos se mueven.

• Agentes dinámicos y comunicación: Se considera un swarmcompuesto por N agentes, cada uno los cuales tiene:

• Modelo lineal simple para ilustrar las características básicas del swarming y análisis de estabilidad de cohesión.

• Se asume que cada agente puede censar la información de posición y velocidad de otros agentes, pero con algo de ruido.

• Los agentes interactúan para formar grupos pero en ocasiones estos se separan.

18

i

i

i

ii

uM

v

vx

1.

.

=

=

Page 19: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Foraging Swarm Social Estable (cont)

• Una forma de representar que agentes interactúan con cual es vía un gráfico dirigido (G, A), donde G={1,2,...,N} es un set de agentes y representa links de comunicación.

• Así, si se puede asumir que el agente i puede censar la posición y velocidad del agente j.

• Se asume que A es fijo y no dependerá de la posición y velocidad del agente, y que se encuentra completamente conectado. Además que no existe ruido ni retardo en las comunicaciones, con un ancho de banda ilimitado.

19

},,:),{( jiGjijiA ≠∈=

Aji ∈),(

Page 20: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Atracción y Repulsión Agente – Agente

• Los agentes quieren estar cerca uno del otro, pero no demasiado.

• Cada agente busca estar en una posición “confortable” relativa a sus vecinos.

• Muchas formas de caracterizar la atracción - repulsión, una de ellas es definiendo la fuerza ui para cada agente.

• Atracción: Puede ser lineal, y en este caso expresada en términos de ui.

• En donde ka > 0 es un escalar que representa la fuerza de atracción. Así, si los agentes se alejan, más se atraen.

• La atracción puede ser representada en función de una variedad de factores dinámicos, como por ejemplo la velocidad, en donde una agente intentaría igualar la velocidad de otro.

20

)( jia xxk −⋅−

Page 21: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Atracción y Repulsión Agente – Agente (cont)• Repulsión: Al igual que la atracción hay muchos tipos de

términos de repulsión: locales, globales, estáticos, dinámicos, cada uno de los cuales pueden ser expresados en términos de una variedad de factores.

• Buscando una “distancia confortable”: En términos de ui

tomará la forma:

• En donde k > 0 es la magnitud de la repulsión y d puede ser pensada como la distancia confortable entre el agente ith y jth . Aquí, el valor entre corchetas fijará el tamaño de la repulsión.

21

( )[ ] ( )jiji xxdxxk −⋅−−⋅−

Page 22: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Atracción y Repulsión Agente – Agente (cont)• Se tiene entonces que:

▫ Si es pequeño en relación a d, [%] > 0 se repelen.

▫ Si es grande en relación a d, [%] < 0 se atraen.

▫ Si es igual a d, [%] = 0 equilibrio .

• Equilibrio: Concepto básico en la dinámica swarm.

• Otras expresiones de repulsión:

▫ Repulsión cuando se está cerca.

22

ji xx − ⇒ji xx − ⇒ji xx − ⇒

( )ji

s

ji

r xxr

xxk −⋅

−⋅−⋅

2

22/1

exp

Page 23: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Atracción y Repulsión Agente – Agente (cont)

▫ Repulsión “fuerte” para evitar colisión.

En donde w > 0 afecta el radio de repulsión de los agentes, a > 0 es la ganancia de la magnitud de la repulsión, b > 0 puede cambiar la forma de la repulsión, y puede ser usado para definir el término para que solo tenga influencia local.

23

( )ji

jixx

wxxb

a −⋅

∈−

−−⋅0,max

0>∈

Page 24: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Propiedades de cohesión Swarm

• La cohesión y swarm dinámico pueden ser cuantificadas y analizadas usando análisis de estabilidad.

• Censado, ruido y error dinámico:▫ Sea:

el centro del swarm y

la velocidad promedio del grupo de agentes.

▫ Se asume que cada agente puede censar su distancia al centro delswarm y la diferencia entre su velocidad y la velocidad promedio .

24

∑=

=N

i

ixN

x1

1

∑=

=N

i

ivN

v1

1

Page 25: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Propiedades de cohesión Swarm (cont)

▫ Cada agente conoce su velocidad pero no su posición.

▫ El objetivo de cada agente es moverse para acabar cerca de

y tener su velocidad igual a . Así terminarán cercas unos de otros y se moverán en la misma dirección (cohesión).

• Surge el problema que al moverse todos los agentes al mismo tiempo, x y v serán variantes en el tiempo.

• Se estudia la dinámica del erro de un sistema como:

25

x v

vve

xxe

iiv

iip

−=

−=

Page 26: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Autómatas celulares [1]

• Modelos matemáticos para sistemas dinámicos que evoluciona en pasos discretos. Es adecuado para modelar sistemas naturales que puedan ser descritos como una colección masiva de objetos simples que interactúen localmente unos con otros (swarms).

• Life (El juego de la vida): Diseñado por el matemático británico John Horton Conway en 1970.

• En el se observa como patrones complejos pueden provenir de reglas muy sencillas.

26

Page 27: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Life [2]

• El juego de la vida es un juego de cero jugadores, lo que quiere decir que su evolución está determinada por el estado inicial y no necesita ninguna entrada de datos posterior.

• El tablero es una maya formada por cuadrados (células), cada uno de los cuales posee 8 vecinos.

• Las células tienen dos estados: están "vivas" o "muertas" (o "encendidas" y "apagadas").

• El estado de la malla evoluciona a lo largo de unidades de tiempo discretas (“por turnos”).

27

Page 28: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Life (cont.)

• Todas las células se actualizan simultáneamente.

• El estado de todas las células se tiene en cuenta para calcular el estado de las mismas al turno siguiente.

• Las transiciones dependen del número de células vecinas vivas:

� Una célula muerta con exactamente 3 células vecinas vivas "nace" (al turno siguiente estará viva).

� Una célula viva con 2 ó 3 células vecinas vivas sigue viva, en otro caso muere o permanece muerta (por "soledad" o "superpoblación").

28

Page 29: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Life (cont.)

• Reglas originales simbolizadas por: 23/3 (n° de células vecinas para mantenerse viva/n° de células para su nacimiento).

• Patrones: Numerosos tipos de patrones pueden tener lugar en el juego de la vida, como lo son:

� Estáticos (“still lifes”), osciladores (conjunto de vidas estáticas, “oscillators”), patrones que se trasladan por el tablero (“spaceships”).

29

Page 30: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Life (cont.)

• Los patrones llamados "Matusalenes" (Methuselahs)pueden evolucionar a lo largo de muchos turnos, o generaciones, antes de estabilizarse. El patrón "Diehard" desaparece después de 130 turnos, mientras que "Acorn" tarda 5206 turnos en estabilizarse en forma de muchos osciladores, y en ese tiempo genera 13 planeadores.

30

Page 31: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Simulaciones

• Applet:

http://www.bitstorm.org/gameoflife/

• Dibujar nuestro propio patrón y ver que pasa:

http://www.math.com/students/wonders/life/life.html#help

• Swarm, G.A, etc.: http://ccl.northwestern.edu/netlogo/

31

Page 32: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Código (Java)• http://www.bitstorm.org/gameoflife/code/org/bitstorm

/gameoflife/GameOfLifeGrid.html

32

while ( enum.hasMoreElements() ) {

cell = (Cell) enum.nextElement();

// Here is the Game Of Life rule (1):

if ( cell.neighbour != 3 && cell.neighbour != 2 ) {

currentShape.remove( cell ); }

}

// Bring out the new borns

enum = nextShape.keys();

while ( enum.hasMoreElements() ) {

cell = (Cell) enum.nextElement();

// Here is the Game Of Life rule (2):

if ( cell.neighbour == 3 ) {

setCell( cell.col, cell.row, true ); }

}

Page 33: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Aplicaciones [3]

• En Italia y Suiza, flotas de camiones utilizan reglas de ant-foraging para encontrar la mejor ruta de entrega.

• En Inglaterra y Francia, compañías de teléfonos aumentan la velocidad de sus redes programando mensajes para depositar feromonas virtuales, al igual como lo hacen las hormigas, al cambiar los canales, indicando los canales más rápidos.

33

Page 34: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Aplicaciones (cont.)

• Warehouse Robots:

http://www.youtube.com/watch?v=lWsMdN7HMuA

• En desarrollo:

▫ http://www.youtube.com/watch?v=SkvpEfAPXn4&feature=fvst

▫ http://www.youtube.com/watch?v=CJOubyiITsE

34

Page 35: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Conclusiones

• Swarm se basa en la aplicación de reglas sencillas sobre sus agentes individuales logrando como resultado un comportamiento global complejo.

• La agrupación de agentes “sencillos” permiten que estos accedan a una “fuente de información”poderosa la cual les permite optimizar su foraging logrando una mayor eficiencia energética.

35

Page 36: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Referencias

[1] http://es.wikipedia.org/wiki/Aut%C3%B3mata_celular

[2] http://es.wikipedia.org/wiki/Juego_de_la_vida

[3] Peter Miller, Swarm Theory, National Geographic Magazine, July2007.

36

Page 37: CooperativeForagingandSearch: Swarm2profesores.elo.utfsm.cl/~tarredondo/info/soft-comp/swarm... · 2009-07-02 · desplazamiento “run” (swim) y Ф(j) la representación de la

Fin

Preguntas

37