Successfully reported this slideshow.
Your SlideShare is downloading. ×

Inteligência de Enxames: Abelhas

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Modulo 3
Modulo 3
Loading in …3
×

Check these out next

1 of 75 Ad

Inteligência de Enxames: Abelhas

Download to read offline

• Autor: Luiz Henrique Pinho de Sá
• Curso: Engenharia de Computação e Informação - UFRJ
• Disciplina: Inteligência Computacional
• Ano: 2014

Apresentação que aborda Inteligência de Enxames (Abelhas), com foco no algoritmo de Colônia Artificial de Abelhas (ABC), de Dervis Karaboga.

• Autor: Luiz Henrique Pinho de Sá
• Curso: Engenharia de Computação e Informação - UFRJ
• Disciplina: Inteligência Computacional
• Ano: 2014

Apresentação que aborda Inteligência de Enxames (Abelhas), com foco no algoritmo de Colônia Artificial de Abelhas (ABC), de Dervis Karaboga.

Advertisement
Advertisement

More Related Content

Slideshows for you (19)

Similar to Inteligência de Enxames: Abelhas (20)

Advertisement

More from Luiz Henrique Pinho de Sá (18)

Recently uploaded (20)

Advertisement

Inteligência de Enxames: Abelhas

  1. 1. Inteligência de Enxames Luiz Henrique Pinho de Sá
  2. 2. Agenda Introdução Categorias de algoritmo Algoritmo ABC Fases Exemplo Aplicações Projeto de viga soldada Conclusão
  3. 3. Introdução
  4. 4. Computação Natural Computação Natural Algoritmos Evolutivos Redes Neurais Artificiais Inteligência de Enxames Sistemas Imunológicos Artificiais
  5. 5. Computação Natural Natureza como fonte de inspiração para solucionar um problema Modelo Analogias Algoritmos estocásticos Garante encontrar solução quase-ótima Revoada dos estorninhos
  6. 6. Otimização Problema Maximização e minimização Global e local Espaço de busca (retângulo N-dimensional) Linear e não-linear Com restrições e sem restrições
  7. 7. Otimização Métodos de resolução Determinísticos Usualmente envolvem gradiente da função objetivo (∇f(x)) Estocásticos Alternativos aos métodos determinísticos usuais
  8. 8. Otimização
  9. 9. Otimização 𝑎 ≤ 𝑥1 ≤ 𝑏 𝑐 ≤ 𝑥2 ≤ 𝑑 ⋮ 𝑤 ≤ 𝑥 𝑛 ≤ 𝑧 𝒙 ∈ 𝑺 ⊂ 𝕽 𝒏
  10. 10. Comunicação entre abelhas Fundamental para formação da inteligência coletiva Formas Dança Sons Emissão de substâncias químicas Tato Estímulos eletromagnéticos
  11. 11. Dança Pista de dança Bússola solar Coordenadas polares Informações transmitidas Direção da fonte de alimento Ângulo entre sol e caminho da dança Distância da colmeia até a fonte Duração da dança Qualidade da fonte Frequência da dança
  12. 12. Dança
  13. 13. Categorias de algoritmo
  14. 14. Categorias de algoritmo Comportamento de coleta de alimentos Comportamentos de acasalamento Conceito de abelha rainha
  15. 15. Algoritmo ABC Colônia Artificial de Abelhas (Karaboga – 2005)
  16. 16. Ideia geral Abelhas descobrem aleatoriamente uma população de vetores de solução inicial Esses vetores são melhorados iterativamente através do emprego de estratégias Mover em direção das melhores soluções por meio de uma busca na vizinhança Abandono de piores soluções
  17. 17. Componentes Fontes de alimento Abelhas empregadas Abelhas não-empregadas Observadoras Exploradoras (ou batedoras) 1 abelha empregada para cada fonte de alimento!
  18. 18. Fluxo de atividades Procurar novas fontes se fonte de alimento se esgotar Abelhas empregadas viram exploradoras Receber informações das empregadas sobre fontes de alimento Abelhas observadoras Coletar fontes de alimento Abelhas empregadas Descobrir fontes de alimento Abelhas exploradoras
  19. 19. Analogias Posição da fonte de alimento Possível solução para o problema Quantidade de néctar da fonte de alimento Qualidade (fitness) da solução
  20. 20. Fases Fase de inicialização REPETIR Fase das abelhas empregadas Fase das abelhas observadoras Fase das abelhas exploradoras ATÉ (Ciclo = Número Máximo de Ciclos ou Tempo Máximo da CPU)
  21. 21. Notações Convenção adotada: índices começam do 0 vetor posição da fonte de alimento m (possível solução) vetor posição da fonte de alimento vizinha à fonte m CS tamanho da população D número de dimensões do problema m m-ésima fonte de alimento m = 0,1,...,N-1 k fonte de alimento aleatória, sendo k != m k = 0,1,...,N-1 i i-ésima coordenada do vetor posição i = 0,1,...,D-1 o o-ésima abelha observadora o = 0,1,...,N-1 mx  mv 
  22. 22. Algoritmo ABC #1 Fase de inicialização
  23. 23. Estabelecer Parâmetros de Controle Tamanho da população (CS) Fontes de alimento (N=CS/2) Abelhas empregadas (N=CS/2) Abelhas observadoras (N=CS/2) Abelhas exploradoras Limite para abelha exploradora ou critério de abandono (L) Número de dimensões do problema (D) Número máximo de ciclos (C) #1 Fase de inicialização
  24. 24. #1 Fase de inicialização  iiimi lurandlx  )1,0(                 )1( 1 0 Dm m m m x x x x                                     )1)(1(1)1(0)1( )1(11110 )1(00100 1 1 0 DNNN D D T N T T xxx xxx xxx x x x X         Inicializar aleatoriamente posições das N fontes de alimento
  25. 25. #1 Fase de inicialização X               )( )( )( 1 1 0 Nxf xf xf f                     )( )( )( 1 1 0 Nxfit xfit xfit fit                  0 0 0   t Contador de tentativas O que é Analogia Significado do valor alto e baixo O que é f
  26. 26. #1 Fase de inicialização X               )( )( )( 1 1 0 Nxf xf xf f             0)(|)(|1 0)( )(1 1 )( mm m mm xfxf xf xfxfit    se, se, :calcular,vetorcadaPara mx                 )( )( )( 1 1 0 Nxfit xfit xfit fit                  0 0 0   t Contador de tentativas
  27. 27. Algoritmo ABC Ciclo = 1
  28. 28. Algoritmo ABC #2 Fase das abelhas empregadas
  29. 29. 1. Obter #2 Fase das abelhas empregadas Para cada abelha empregada (associada a uma fonte m), ou seja, para m = 0,1,…, CS-1: Empregadas procuram uma nova fonte com mais alimento na vizinhança de mx  mv 
  30. 30. Escolher aleatoriamente uma das coordenadas (i=0,1,...,D-1) de e substituí-la por 1. Obter #2 Fase das abelhas empregadas  kimimimimi xxxv   )Calcular mvf  (2. Para cada abelha empregada (associada a uma fonte m), ou seja, para m = 0,1,…, CS-1: k é uma fonte aleatória, k != m )Calcular mvfit  (3. mx  mv  = rand(-a,a)mi
  31. 31. Se Zerar m-ésimo elemento do contador de tentativas Substituir elemento no(a): Matriz X : Vetor : Vetor : Caso contrário Incrementar m-ésimo elemento do contador de tentativas #2 Fase das abelhas empregadas X)matrizda(eentregulosaseleçãoAplicar T mmm xxv  4. )) mm xfitvfit  ((  mm vx   Para cada abelha empregada (associada a uma fonte m), ou seja, para m = 0,1,…, CS-1:                 1 1 0 # # # Nm m m tent tent tent t   f   fit )vf()xf( mm   )( mm vfit()xfit  
  32. 32. Usaremos na próxima fase… #2 Fase das abelhas empregadas     1 0 )( )( )( N m m m m xfit xfit xp                  )( )( )( 1 1 0 Nxp xp xp p      5. Calcular para obter)( mxp  Para cada abelha empregada (associada a uma fonte m), ou seja, para m = 0,1,…, CS-1: p  p 
  33. 33. #2 Fase das abelhas empregadas     1 0 )( )( )( N m m m m xfit xfit xp    Distribuição não-uniforme de probabilidades Exemplos:
  34. 34. Algoritmo ABC #3 Fase das abelhas observadoras
  35. 35. #3 Fase das abelhas observadoras 1. “Girar a roleta” para descobrir qual foi a fonte m escolhida pela abelha observadora o Para cada abelha observadora, ou seja, para o=0,1,...,N-1: Abelhas observadoras observam empregadas na pista de dança
  36. 36. #3 Fase das abelhas observadoras 2. Calcular 3. Calcular 4. Calcular 5. Aplicar seleção gulosa entre e Atualizar X, e (se necessário) Para cada abelha observadora, ou seja, para o=0,1,...,N-1: mv  )mvf  ( mx  mv  Mesmos passos da fase das abelhas empregadas! m: roleta i e k: distribuição uniforme )mvfit  ( 1. “Girar a roleta” para descobrir qual foi a fonte m escolhida pela abelha observadora o
  37. 37. #3 Fase das abelhas observadoras               )( )( )( 1 1 0 Nxf xf xf f                     )( )( )( 1 1 0 Nxfit xfit xfit fit                     1 1 0 # # # Nm m m tent tent tent t   ✓ ✓ ✓                 T N T T x x x X 1 1 0     ✓
  38. 38. #3 Fase das abelhas observadoras               )( )( )( 1 1 0 Nxf xf xf f                     )( )( )( 1 1 0 Nxfit xfit xfit fit                     1 1 0 # # # Nm m m tent tent tent t   ✓ ✓ ✓                 T N T T x x x X 1 1 0     ✓ Memorizar melhor fonte mx 
  39. 39. Algoritmo ABC #4 Fase das abelhas exploradoras
  40. 40. #4 Fase das abelhas exploradoras                 1 1 0 # # # Nm m m tent tent tent t   1. Abandonar fonte (solução) quando Fonte esgotada Abelha empregada vira exploradora Substituir fonte por uma nova aleatória (lembrar de ) 2. Ciclo = Ciclo+1 3. Repetir algoritmo até atingir critério de parada Ltentm # mx   iiimi lurandlx  )1,0(
  41. 41. Algoritmo ABC Exemplo
  42. 42. Problema de Otimização Local Sem restrições Sabemos de antemão que o vetor ótimo é [0 0]T Problema Minimizar f(x) = x1 2 + x2 2 -5≤x1,x2≤5
  43. 43. Estabelecer Parâmetros de Controle Tamanho da população: CS=6 Fontes de alimento: N=CS/2=3 Abelhas empregadas: N=CS/2=3 Abelhas observadoras: N=CS/2=3 Abelhas exploradoras Número de dimensões do problema: D=2 Limite para abelha exploradora ou critério de abandono: L=(CS*D)/2=6 Número máximo de ciclos: C #1 Fase de inicialização
  44. 44. Inicializar aleatoriamente posições das N=3 fontes de alimento #1 Fase de inicialização  iiimi lurandlx  )1,0(                       1.0323-0.1824- 1.43380.4756 2.5644-1.4112 T T T x x x X 2 1 0                             0 0 0 # # # 1 0 0 m m m tent tent tent t        iu il ,xx i i ,5 ,5 55 21
  45. 45. #1 Fase de inicialização        0)(|)(|1 0)( )(1 1 )( mm m mm xfxf xf xfxfit    se, se,                        0.4764 0.3047 0.1045 )( )( )( 2 1 0 xfit xfit xfit fit                          1.0990 2.2820 8.5678 )( )( )( 2 1 0 xf xf xf f     Ciclo=1 se iniciará no próximo slide...
  46. 46. Substituir uma das coordenadas de por Valores sorteados Possibilidades k ∈ {1,2} i ∈ {0,1} Φ ∈ [-1,1] Obter uma nova fonte (solução candidata) vizinha de #2 Fase das abelhas empregadas 1ª abelha empregada (1ª fonte de alimento m=0)  kimimimimi xxxv          2.5644- 1.4112 0x  0x  Escolher aleatoriamente k (fonte != m), i e Φ 0x  0v 
  47. 47. Valores sorteados Possibilidades k=1 k ∈ {1,2} i=0 i ∈ {0,1} Φ = 0.8050 Φ ∈ [-1,1] Substituir uma das coordenadas de por Obter uma nova fonte (solução candidata) vizinha de #2 Fase das abelhas empregadas 1ª abelha empregada (1ª fonte de alimento m=0)  kimimimimi xxxv          2.5644- 1.4112 0x  0x  Escolher aleatoriamente k (fonte != m), i e Φ 0x  0v 
  48. 48. #2 Fase das abelhas empregadas 1ª abelha empregada (1ª fonte de alimento m=0)        2.5644- 2.1644 0v  08160)( 0 .vfit   261011)( 0 .vf   Aplicar seleção gulosa entre e 0.0816 < 0.1045 A solução m=0 não foi melhorada Incrementar seu contador de tentativas            0 0 1 t  0v  0x   1000000000 xxxv   01x
  49. 49. #2 Fase das abelhas empregadas 2ª abelha empregada (2ª fonte de alimento m=1) Valores sorteados k=2 i=1 Φ = 0.0762 Aplicar seleção gulosa entre e 0.2593 < 0.3047 A solução m=1 não foi melhorada Incrementar seu contador de tentativas            0 1 1 t  1v  1x         1.6217 0.4756 1v  2.8560)( 1vf  0.2593)( 1vfit 
  50. 50. #2 Fase das abelhas empregadas 3ª abelha empregada (3ª fonte de alimento m=2) Aplicar seleção gulosa entre e 0.4828 > 0.4764 A solução m=2 foi melhorada Zerar seu contador de tentativas Substituir solução por            0 1 1 t  2v  2x         1.0323- 0.0754- 2v  1.0714)( 2vf  0.4828)( 2vfit  2x  2v  Valores sorteados k=0 i=0 Φ = -0.0671
  51. 51. #2 Fase das abelhas empregadas            1.0323-0.0754- 1.43380.4756 2.5644-1.4112 X            1.0714 2.2820 8.5678 f              0.4828 0.3047 0.1045 fit            0 1 1 t 
  52. 52. #2 Fase das abelhas empregadas   2 0 )( )( )( m m m m xfit xfit xp                          0.5412 0.3416 0.1172 )( )( )( 2 1 0 xp xp xp p    
  53. 53. #3 Fase das abelhas observadoras                       0.5412 0.3416 0.1172 )( )( )( 2 1 0 xp xp xp p     2 1 0    m m m m=2 1ª abelha observadora (o=0)
  54. 54. #3 Fase das abelhas observadoras Aplicar seleção gulosa entre e 0.1645 < 0.4828 A solução m=2 não foi melhorada Incrementar seu contador de tentativas            1 1 1 t  2v  2x  m=2 16450)( 2 .vfit   0772.5)( 2 vf         2.2520- 0.0754- 2v  1ª abelha observadora (o=0)
  55. 55. #3 Fase das abelhas observadoras                       0.5412 0.3416 0.1172 )( )( )( 2 1 0 xp xp xp p     2 1 0    m m m m=1 2ª abelha observadora (o=1)
  56. 56. #3 Fase das abelhas observadoras Aplicar seleção gulosa entre e 0.3241 > 0.3047 A solução m=1 foi melhorada Zerar seu contador de tentativas Substituir solução por            1 0 1 t  1v  1x  m=1 2ª abelha observadora (o=1)        1.4338 0.1722 1v  0855.2)( 1 vf  32410)( 1 .vfit   1x  1v 
  57. 57. #3 Fase das abelhas observadoras            1.0323-0.0754- 1.43380.1722 2.5644-1.4112 X            1.0714 2.0855 8.5678 f              0.4828 0.3241 0.1045 fit            1 0 1 t 
  58. 58. #3 Fase das abelhas observadoras                       0.5412 0.3416 0.1172 )( )( )( 2 1 0 xp xp xp p     2 1 0    m m m m=2 3ª abelha observadora (o=2)
  59. 59. #3 Fase das abelhas observadoras Aplicar seleção gulosa entre e 0.4838 > 0.4828 A solução m=2 foi melhorada Zerar seu contador de tentativas Substituir solução por            0 0 1 t  2v  2x  m=2 3ª abelha observadora (o=2) 2x  2v         1.0323- 0.0348 2v  0669.1)( 2 vf  48380)( 2 .vfit  
  60. 60. #3 Fase das abelhas observadoras            1.0323-0.0348 1.43380.1722 2.5644-1.4112 X            1.0669 2.0855 8.5678 f              0.4828 0.3241 0.1045 fit            0 0 1 t  ✓ ✓ ✓ ✓
  61. 61. #3 Fase das abelhas observadoras            1.0323-0.0348 1.43380.1722 2.5644-1.4112 X            1.0669 2.0855 8.5678 f              0.4828 0.3241 0.1045 fit            0 0 1 t  ✓ ✓ ✓ ✓ Melhor fonte: (ótimo é [0 0]T )  T x 1.0323-0.03482 
  62. 62. #4 Fase das abelhas exploradoras Nenhuma fonte (solução) possui Não há abandono de soluções! Ciclo = Ciclo+1 Repetir algoritmo até atingir critério de parada Ltentm #            0 0 1 t 
  63. 63. Aplicações
  64. 64. Projeto de viga soldada Dimensionar aço de viga e comprimento da solda Problema de otimização com restrições!
  65. 65. Propriedades envolvidas Tensão de cisalhamento Tensão de flexão Carga de flambagem Deflexão da solda Projeto de viga soldada   CP 
  66. 66. Projeto de viga soldada 𝑠𝑢𝑗𝑒𝑖𝑡𝑎 𝑎
  67. 67. Projeto de viga soldada Não consigo resolver problema com seleção gulosa entre vetor e vizinho Utilização das regras de Deb para comparar soluções
  68. 68. Projeto de viga soldada x1 x2 x3 x4 0.20573 3.470489 9.036624 0.20573 g1 g2 g3 g4 g5 g6 g7 0 -2E-06 0 -3.43298 -0.08073 -0.23554 0 f(x) 1.724852
  69. 69. Projeto de viga soldada Melhor Esperança Desvio padrão ABC (30 execuções) 1.724852 1.741913 3.1E-02 μ – λES Montes e Coello 1.724852 1.777692 8.8E-2
  70. 70. Mineração de dados Bioinformática Escalonamento de tarefas Logística Outras aplicações
  71. 71. http://www.estadao.com.br/noticias/geral,abelhas-inspiram-mudancas-no-samu-imp-,978942
  72. 72. Conclusão
  73. 73. Conclusão Poucos parâmetros de controle Rápida convergência Paralelizável Espaço de busca limitado pela solução inicial Lentidão no processamento sequencial
  74. 74. Referências bibliográficas D. Karaboga, “An idea based on honey bee swarm for numerical optimization”, Technical Report (2005) D. Karaboga, B. Basturk, “A powerful and efficient algorithm for numerical function optimization: Artificial bee Colony (ABC) algorithm”, J Glob Optim (2007) A. Serapião, “Fundamentos de Otimização por Inteligência de Enxames: uma visão geral”, Revista de Controle e Automação/Vol.20 no.3 (2009) Links http://mirzaei.iut.ac.ir/Evolutionary/EC3891/PowerPoints/Artificiel%2 0Bee%20Colony%20Algorithm.ppsx http://mf.erciyes.edu.tr/abc/ http://www.scholarpedia.org/article/Artificial_bee_colony_algorithm http://homepages.dcc.ufmg.br/~glpappa/aula01.pdf
  75. 75. Obrigado!

×