Você está na página 1de 32

Heursticas,

metaheursticas e
algoritmos bio-inspirados
Airton Bordin Junior
[airtonbjunior@gmail.com]

Mestrado em Cincia da Computao Inteligncia Computacional


Prof Dr Celso Gonalves Camilo Junior
Universidade Federal de Gois (UFG) - Instituto de Informtica - Maro/2017
Programao

Introduo

Inteligncia Computacional - Airton Bordin Junior


Heursticas

Metaheursticas

Algoritmos bio-inspirados
Referncias

2
Introduo
Podemos classificar os problemas computacionais em 2 grupos [SALIBA, 2010]
Tratveis, tambm chamados de polinomiais
Podem ser resolvidos por algoritmos determinsticos.

Inteligncia Computacional - Airton Bordin Junior


Intratveis, ou no polinomiais
Sem algoritmo determinstico para resolver o problema em tempo hbil.

Polinomiais
Tratveis
Algoritmos determinsticos

No polinomiais
Intratveis Algoritmos no determinsticos
Soluo determinstica invivel
3
Introduo

Muitos problemas pertencem a classe dos NP-Difceis


Ausencia de soluo exata em tempo polinomial.

Inteligncia Computacional - Airton Bordin Junior


Soluo exata possui resultado timo, porm tem tempo
proibitivo para entradas no pequenas;
Na dificuldade de encontrar ou calcular a melhor resposta
para problemas no polinomiais, partiu-se para outros
caminhos que pudessem fornecer uma alternativa. [SALIBA, 2010]

4
Introduo
[CAPPELLE, 2017]

Inteligncia Computacional - Airton Bordin Junior


5
Introduo
Exemplo: Caixeiro Viajante

Inteligncia Computacional - Airton Bordin Junior


N (entradas) Rotas possveis Tempo processamento
5 12 irrelevante
10 181.440 ~3 minutos
11 1.814.400 ~30 minutos
15 43.589.145.600 ~1,3 anos
20 60.822.550.204.416.000 ~19 sculos
25 310.224.200.866.619.719.680.000 ~98 bilhes sculos
Exemplo algoritmo Caixeiro Viajante Simtrico ((n-1)!). Considere o clculo de 1000 rotas por segundo [CORDENONSI, 2008]

6
Heurstica
Derivado do grego heuriskein descobrir

Tcnica inspirada em processos intuitivos que procura uma boa

Inteligncia Computacional - Airton Bordin Junior


soluo a um custo computacional aceitvel, sem, no entanto, estar
capacitada a garantir sua otimalidade, bem como garantir o quo
prximo est da soluo tima; [SOUZA, 2008]

Procedimento algortmico desenvolvido atravs de um modelo


cognitivo, usualmente atravs de regras baseadas na experincia
dos desenvolvedores. Normalmente tendem a apresentar um certo
grau de conhecimento acerca do comportamento do problema,
gerando um nmero muito menor de solues. [CORDENONSI, 2008]

7
Heurstica

Algoritmos no determinsticos para tratar problemas

Inteligncia Computacional - Airton Bordin Junior


no polinomiais, com capacidade de tomar decises
sobre estratgias de busca. Geralmente so usadas
para guiar o processo de busca de solues para um
determinado problema. So algoritmos aproximados
que combinam algoritmos construtivos com estratgias
de busca local, e no garantem a soluo tima, mas
frequentemente, encontram boas solues [HOOS, 2004]

8
Heurstica
A ideia de usar heursticas surgiu da impraticabilidade
de encontrar/calcular a melhor resposta para problemas
no polinomiais;

Inteligncia Computacional - Airton Bordin Junior


Desafio: produzir, em tempo reduzido, solues to
prximas quanto possveis da soluo tima.

9
Heurstica
Heursticas muito eficientes foram desenvolvidas para
diversos problemas;
Maioria delas especfica para um problema particular,

Inteligncia Computacional - Airton Bordin Junior

no aplicveis (ou no eficientemente aplicveis) na


reosluo de uma classe mais ampla; [SOUZA, 2008]
A partir da dcada de 1980, intensificaram-se estudos na
busca de procedimentos heursticos de carter mais
generalista sem prejudicar a flexibilidade.

10
Metaheurstica
Termo introduzido por [GLOVER, 1986];
Procedimentos heursticos que guiam outras heursticas;

Inteligncia Computacional - Airton Bordin Junior


Estratgias inteligentes para projetar ou melhorar
procedimentos heursticos mais gerais com alto
rendimento; [ZAPELINI, 2009]

Algoritmos aproximados que combinam algoritmos


construtivos, estratgias de busca local, estratgias
para escapar de timos locais, dentre outras
caractersticas. So amplamente utilizados em
problemas de otimizao combinatria. [MILANO, 2004]
11
Metaheurstica

Em linhas gerais, so compostas de estratgias para


explorar o espao de busca usando diferentes tcnicas;

Inteligncia Computacional - Airton Bordin Junior


De forma objetiva, a principal finalidade guiar a
explorao do espao de busca por meio de diversas
estratgias
Estrutura algoritmica geral que pode ser empregada na
resoluo de diferentes problemas de otimizao com um
nmero reduzido de modificaes de adaptao.

12
Metaheurstica
Propriedades e Estratgias que guiam o processo de busca;
caractersticas
das Explorao eficiente do espao de busca - solues timas ou

Inteligncia Computacional - Airton Bordin Junior


quase timas;
metaheursticas De simples procedimentos de busca local a complexos processos
[SALIBA, 2010]
de aprendizado;
Aproximados e usualmente no determinsticos;

Podem incorporar mecanismos para evitar ficar presos em reas


confinadas do espao de busca;
No so especficas para um determinado problema;

Podem usar um conhecimento especfico do problema na forma de


heursticas que so controladas por uma estratgia de nvel superior.
13
Metaheurstica
Algumas metaheursticas selecionadas como
exemplo
Busca Tabu, em sua forma atual, por [GLOVER, 1986];

Inteligncia Computacional - Airton Bordin Junior


Grosso modo, permite movimentos de piora da soluo podendo
escapar de timos locais.

[SALIBA, 2010] 14
Metaheurstica
Algumas metaheursticas selecionadas como exemplo
Iterated Local Search (ILS)
4 componentes bsicos [SALIBA, 2010]

Inteligncia Computacional - Airton Bordin Junior


1. Gerao da soluo inicial - Soluo inicial factvel para o
problema criada, e passa a ser o ponto inicial do processo;
2. Busca local Refina uma determinada soluo para encontrar
o timo local;
3. Perturbao Modificao da soluo corrente, guiando para
uma soluo intermediria. Deve permitir que o mtodo
explore diferentes solues no espao de busca do problema;
4. Critrio de aceitao Seleciona as novas solues e decide em
qual delas sero aplicadas as prximas pertubaes.

15
Metaheurstica
Algumas metaheursticas selecionadas como
exemplo
Iterated Local Search (ILS)

Inteligncia Computacional - Airton Bordin Junior


[SALIBA, 2010] 16
Algoritmos bio-inspirados
Classede meta-heursticas que tem recebido
muita ateno nos ltimos tempos; [VON ZUBEN, 2005]

Inteligncia Computacional - Airton Bordin Junior


Emprega metforas e modelos de sistemas
biolgicos no projeto de ferramentas
computacionais de soluo de problemas
complexos; [VON ZUBEN, 2005]

17
Algoritmos bio-inspirados
Muitos desses processos biolgicos tm um
comportamento otimizado e capacidade de
processamento de informao muito grande;

Inteligncia Computacional - Airton Bordin Junior


Uso de metforas
Simplificaes so necessrias;
No necessariamente incluem todos os detalhes do
sistema natural.

18
Algoritmos bio-inspirados
Algoritmos Genticos
Algoritmos Programao Gentica
Evoluo Gramatical
evolucionrios Estratgias Evolucionrias
Programao Evolucionria

Inteligncia Computacional - Airton Bordin Junior


[PAPPA, 2013]
Inteligncia Colnia de Formigas
Algoritmos coletiva Enxame de Partculas
bio-inspirados
MLP Multi-layer Perceptrons
RBF- Radio Basis Function Net
Redes Neurais SOM- Self-Organizing Maps
ARTMap

Sistemas Seleo Negativa


Expanso Clonal
Imunolgicos Redes

19
Algoritmos bio-inspirados
Algoritmos evolucionrios
Inspirados na teoria de evoluo de

Inteligncia Computacional - Airton Bordin Junior


Darwin;
Evoluo: mudana das caractersticas
(genticas) de uma populao de uma
gerao para a prxima
Mutao dos genes; Algoritmos

Recombinao dos genes dos pais.


evolucionrios

Inteligncia
coletiva
Algoritmos bio-
inspirados
Redes Neurais

Sistemas
Imunolgicos 20
Algoritmos bio-inspirados
Algoritmos evolucionrios
Evoluo caracterizada basicamente por um
processo constitudo de 3 passos [VON ZUBEN, 2005]

Inteligncia Computacional - Airton Bordin Junior


1. Reproduo com herana gentica;
2. Introduo de variao aleatria em uma
populao de indivduos;
3. Aplicao da seleo natural para a
produo da prxima gerao. Algoritmos
evolucionrios

Inteligncia
coletiva
Algoritmos bio-
inspirados
Redes Neurais

Sistemas
Imunolgicos 21
Algoritmos bio-inspirados
Algoritmos evolucionrios

Inteligncia Computacional - Airton Bordin Junior


Algoritmos
evolucionrios

Inteligncia
coletiva
Algoritmos bio-
inspirados
Redes Neurais

[PAPPA, 2013] Sistemas


Imunolgicos 22
Algoritmos bio-inspirados
Inteligncia coletiva

Inteligncia Computacional - Airton Bordin Junior


Qualquer tentativa de projetar
algoritmos ou tcnicas de resoluo
distribuda de problemas inspirada pelo
comportamento coletivo de insetos sociais
e outras sociedades animais [BONABEAU, 1999] Algoritmos
evolucionrios

Inteligncia
coletiva
Algoritmos bio-
inspirados
Redes Neurais

Sistemas
Imunolgicos 23
Algoritmos bio-inspirados
Inteligncia coletiva
Origens

Inteligncia Computacional - Airton Bordin Junior


Colmias de abelhas;
Colnia de formigas;
Voo de pssaros;
Cardume de peixes;
Etc. Algoritmos
evolucionrios

Inteligncia
coletiva
Algoritmos bio-
inspirados
Redes Neurais

Sistemas
Imunolgicos 24
Algoritmos bio-inspirados
Inteligncia coletiva

Inteligncia Computacional - Airton Bordin Junior


Algoritmos
evolucionrios

Inteligncia
coletiva
Algoritmos bio-
inspirados
Redes Neurais

Sistemas
Imunolgicos 25
Algoritmos bio-inspirados
Redes Neurais
Sistemas inspirados nos neurnios

Inteligncia Computacional - Airton Bordin Junior


biolgicos e na estrutura massivamente
paralela do crebro, com capacidade de
adquirir, armazenar e utilizar
conhecimento experimental. [CARVALHO, 2006]
Algoritmos
evolucionrios

Inteligncia
coletiva
Algoritmos bio-
inspirados
Redes Neurais

Sistemas
Imunolgicos 26
Algoritmos bio-inspirados
Redes Neurais
Tcnicas computacionais que apresentam

Inteligncia Computacional - Airton Bordin Junior


um modelo matemtico inspirado na
estrutura neural de organismos
inteligentes e que adquirem conhecimento
atravs da experincia. [CARVALHO, 2006]
Algoritmos
evolucionrios

Inteligncia
coletiva
Algoritmos bio-
inspirados
Redes Neurais

Sistemas
Imunolgicos 27
Algoritmos bio-inspirados
Redes Neurais

Inteligncia Computacional - Airton Bordin Junior


Processador paralelamente distribudo
constitudo de unidades de processamento
simples, que tm a propenso natural para
armazenar conhecimento experimental e
torn-lo disponvel para uso. [HAYKIN, 2001]
Algoritmos
evolucionrios

Inteligncia
coletiva
Algoritmos bio-
inspirados
Redes Neurais

Sistemas
Imunolgicos 28
Algoritmos bio-inspirados
Redes Neurais
Devido similaridade com o crebro, exibem
caractersticas similares ao comportamento

Inteligncia Computacional - Airton Bordin Junior


humano [CARVALHO, 2006]
Procura paralela e endereamento pelo contedo;
Aprendizado;
Associao;
Generalizao;
Abstrao; Algoritmos
evolucionrios

Robustez e degradao gradual. Algoritmos bio-


Inteligncia
coletiva
inspirados
Redes Neurais

Sistemas
Imunolgicos 29
Algoritmos bio-inspirados
Redes Neurais

Inteligncia Computacional - Airton Bordin Junior


Algoritmos
evolucionrios

Inteligncia

Representao de um neurnio artificial [CASTRO, 2001] Algoritmos bio-


inspirados
coletiva

Redes Neurais

Sistemas
Imunolgicos 30
Algoritmos bio-inspirados
Sistemas Imunolgicos
Sistema computacional baseado em metforas

Inteligncia Computacional - Airton Bordin Junior


do sistema imunolgico natural; [CASTRO, 2001]

Metodologias de manipulao de dados,


classificao, representao e raciocnio que
seguem um paradigma biolgico plausvel: o Algoritmos
evolucionrios

sistema imunolgico humano. [HUNT, 1998] Algoritmos bio-


Inteligncia
coletiva
inspirados
Redes Neurais

Sistemas
Imunolgicos 31
Referncias
TALBI, E. G. Metaheuristics - From Design To MILANO, M.; ROLI, A. Magma: A Multiagent
Implementation Architecture For Metaheuristics

GLOVER, Fred W., Kochenberger, Gary A. VON ZUBEN, F. J. Computao Evolutiva


Handbook of Metaheuristics
PAPPA, G. L. Conceitos e Aplicaes em

Inteligncia Computacional - Airton Bordin Junior



SALIBA Jr, E. Sistema Multiagente Bioinspirado Aprendizado de Mquina
para Otimizao Combinatorial
BONABEAU, E.; DORIGO, M.; THERAULAZ, G.
BECCENERI, J. C. Meta-heursticas e Otimizao Swarm intelligence: from natural to artificial
Combinatria: Aplicaes em Problemas systems
Ambientais
HAYKIN, S. Redes Neurais Princpios e prticas
CORDENONSI, A.Z. Ambientes, Objetos e
Dialogicidade: Uma Estratgia de Ensino Superior CARVALHO, C.L Redes Neurais Artificiais
em Heursticas e Metaheursticas
CASTRO, L.N. Sistemas Inteligentes E O Sistema
HOOS, H. H.; STTZLE, T. Stochastic Local Imunolgico
Search Foundations and Applications
HUNT, J. E., TIMMIS, J., COOKE, D. E., Neal, &
SOUZA, M. J. F. Inteligncia Computacional para King, C. JISYS: The Development of An Artificial
Otimizao Immune System for Real World Applications

ZAPELINI, C. Z. Um Estudo Abrangente sobre CAPPELLE, M.; LONGO, H. Estrutura de Dados


Metaheurstica, incluindo um Histrico e Projeto de Algoritmos
32