Computação BioInspirada



Documentos relacionados
Inteligência Computacional: resolvendo problemas difíceis da vida real

A Otimização Colônia de Formigas

Inteligência Computacional Aplicada a Engenharia de Software

Algoritmos Genéticos

IA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI

Inteligência de Enxame: ACO

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados

3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS

Pós-Graduação em Engenharia Elétrica Inteligência Artificial

Inteligência Artificial

Aprendizagem de Máquina

INF 1771 Inteligência Artificial

Introdução a computação móvel. Middlewares para Rede de Sensores sem Fio. Uma avaliação na ótica de Adaptação ao Contexto

Mestrado em Informática, tendo Inteligência Artificial como área de pesquisa.

MLP (Multi Layer Perceptron)

Revisão Inteligência Artificial ENADE. Prof a Fabiana Lorenzi Outubro/2011

OBJETIVOS: CARGA HORÁRIA MÍNIMA CRONOGRAMA:

Paradigmas da IA. Eixos centrais (das diferenças)

O que é? Swarm Intelligence. Qual a origem? Cardume. Qualquer tentativa de projetar algoritmos ou técnicas de resolução distribuída de

Complemento IV Introdução aos Algoritmos Genéticos

Atividade extra. Questão 1. Questão 2. Ciências da Natureza e suas Tecnologias Biologia. A diversidade biológica é o fruto da variação genética.

FUNDAÇÃO DE APOIO AO ENSINO TÉCNICO DO ESTADO DO RIO DE JANEIRO FAETERJ Petrópolis Área de Extensão PLANO DE CURSO

Unidade 13: Paralelismo:

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Vamos fazer um mundo melhor?

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA

ALGORITMOS GENÉTICOS

Dificuldades de Modelos de PNL. Onde está a solução ótima? Outro exemplo: Condição ótima Local vs. Global Quinta-feira, 25 de abril

Universidade Federal de São Paulo Campus São José dos Campos LISTA DE DISCIPLINAS DA GRADUAÇÃO

Projeto Pedagógico do Bacharelado em Ciência da Computação. Comissão de Curso e NDE do BCC

Simulação Computacional de Sistemas, ou simplesmente Simulação

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

O OBTURADOR 1. FUNCIONAMENTO:

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são

CONSTRUINDO UMA PONTE TRELIÇADA DE PALITOS DE PICOLÉ

Problemas Multi-modais e Distribuições Espaciais em Algoritmos Genéticos.

Inteligência Computacional [2COP229]

Pesquisa Operacional

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

Introdução às Redes Neurais Artificiais

SIMULAÇÃO DE TRÁFEGO DE VEÍCULOS INTELIGENTES PARA PREVENÇÃO DE ACIDENTES

Essa apostila é livre para ser distribuída desde que seja de maneira GRATUITA.

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

DESENVOLVIMENTO DE SISTEMA DE VIDA ARTIFICIAL BASEADO EM AGENTES DE COMPORTAMENTOS COMPLEXOS

6 Construção de Cenários

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

Otimização de Funções Não Lineares por Meio do Algoritmo Árvore da Montanha

SÍNTESE PROJETO PEDAGÓGICO. Missão. Objetivo Geral

Decidir como medir cada característica. Definir as características de qualidade. Estabelecer padrões de qualidade

Redes Neurais. Profa. Flavia Cristina Bernardini

- Computação Evolutiva -

O Inventor. - Devido à extensão desse Projeto, ficarão a cargo de cada professor adequar as sugestões dadas à sua realidade escolar.

Complemento II Noções Introdutória em Redes Neurais

3 Método de Monte Carlo

Modelagem e Simulação

IC Inteligência Computacional Redes Neurais. Redes Neurais

Unidade. 6 Coleção IAB de Ciências / 3º ANO

Sumário. Prefácio... xi. Prólogo A Física tira você do sério? Lei da Ação e Reação... 13

INVESTIGAÇÃO OPERACIONAL EM AÇÃO

Do neurônio biológico ao neurônio das redes neurais artificiais

Evolução Biológica e Algoritmos Genéticos. Fábio Lima Custódio flc@lncc.br

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Introdução e Motivação

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Pesquisa Etnográfica

PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO

Introdução à Arte da Ciência da Computação

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

Arquitetura dos Sistemas de Informação Distribuídos


Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS

Conceitos Básicos de Algoritmos Genéticos: Teoria e Prática

6 Conclusões e Trabalhos futuros 6.1. Conclusões

Sumário ÁGUA, SOLO E SER HUMANO...52 AMBIENTE E SERES VIVOS... 10

Teoria Princípio do Capacitor

O que é a estatística?

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

ARQUITETURA DE SOFTWARE

Jardim de Números. Série Matemática na Escola

A Engenharia Civil e as Construções Sustentáveis

LOGÍSTICA MADE DIFFERENT LOGÍSTICA

5COP096 TeoriadaComputação

SUMÁRIO. Introdução... 3

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Fenômenos de Transporte

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

ECO039 Linguagens Formais

BC-0005 Bases Computacionais da Ciência. Modelagem e simulação

Aula 4 Estatística Conceitos básicos

Engenharia de Sistemas Computacionais

Inteligência de Enxame: PSO

Otimização de Recuperação de Informação usando Algoritmos Genéticos

Exercícios Resolvidos sobre Amostragem

Lista 2 - Modelos determinísticos

Transcrição:

Computação BioInspirada Os Engenheiros da Natureza Fabrício Olivetti de França

The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. George Bernard Shaw, Maxims for Revolutionists

Engenheiros da Natureza Muitos problemas desafiadores da engenharia e da computação são encontrados e solucionados de forma similar na natureza.

Engenheiros da Natureza As formigas encontram o menor caminho entre o ninho e o alimento. https://www.youtube.com/watch?v=pqf08jt3rd0

Engenheiros da Natureza

Engenheiros da Natureza Os cupins conseguem construir uma estrutura que seja sólida, conserve água, seja naturalmente aquecida pelo sol e estável. https://www.youtube.com/watch?v=0god2kacjms

Engenheiros da Natureza

Engenheiros da Natureza O nosso sistema imunológico consegue reconhecer o que faz parte de nosso corpo e o que é nocivo. https://www.youtube.com/watch?v=txu8c4vehwk

Engenheiros da Natureza

Engenheiros da Natureza Os pássaros adotam uma estratégia de vôo para economizar energia, sobreviver ataques e encontrar o destino. https://www.youtube.com/watch?v=_igcyizc5yo

Engenheiros da Natureza

Engenheiros da Natureza Fungos conseguem expandir criando uma rede de transportes que é eficiente e resistente a ataques. https://www.youtube.com/watch?v=gwkufreogmo

Engenheiros da Natureza

Engenheiros da Natureza As abelhas criaram um idioma próprio utilizando dança em que conseguem informar a direção e distância do ninho até flores polinizadas. https://www.youtube.com/watch?v=4ntegaoqpss

Engenheiros da Natureza

Engenheiros da Natureza O próprio processo de evolução é uma otimização da nossa adaptabilidade. https://www.youtube.com/watch?v=jbgg_vsp7f8

Caixa Preta A evolução consegue resolver um problema de caixa preta! Mas por que isso é útil? Entrada f(x) =? Saída

Como conseguem? Apesar de agirem seguindo regras simples e individuais, a união de suas ações levam a emergência da solução.

Como conseguem? Essas regras simples são conhecidas como heurísticas. Procedimento intuitivo para encontrar uma solução com o conhecimento disponível.

Como conseguem? As heurísticas individuais são coordenadas por uma heurística para a emergência da solução! Esses algoritmos são classificados como metaheurística.

O que realmente fazem? Na prática todos esses problemas resolvidos pela natureza são problemas de otimização. Dada uma função-objetivo e suas restrições, encontre a solução factível que retorne o maior valor para essa função. Assumindo que a função mede a qualidade.

O que realmente fazem? Os problemas da engenharia se resumem em: formulação matemática otimizar a função-objetivo verificar a solução obtida

Formulação Matemática Descrever o problema como uma função matemática e inequações que representam restrições. Necessário utilizar o conhecimento interdisciplinar: física, química, biologia, etc.

Otimização Encontrar a(s) solução(ões) da função-objetivo. f(x) = - x² fácil ACHEI!!

Otimização Encontrar a(s) solução(ões) da função-objetivo. CADÊ??

Verificar Solução Mesmo ao encontrar a solução ela pode não ser factível no problema real. Isso ocorre por imprecisões ou falta de informação na hora de criar a função-objetivo.

Caixa Preta Em altas dimensões não conseguimos ver as características dessa função: ela é contínua? tem superfície suave? tem vários ótimos? é diferenciável?

Caixa Aberta Quando a nossa função é bem determinada podemos usar alguns métodos tradicionais para encontrar a solução.

Algoritmo de Busca x = chute uma solução Enquanto encontrar nova solução: Para cada x N(x): Se f(x ) > f(x): x = x Retorna x

Vizinhança das Soluções A vizinhança da solução x (N(x)) é o conjunto de soluções próximas a ela.. x N(x) S

Algoritmo de Busca

Algoritmo de Busca

Algoritmo de Busca

Algoritmo de Busca

Algoritmo de Busca

Algoritmo de Busca

Algoritmo de Busca

Algoritmo de Busca x = chute uma solução Enquanto encontrar nova solução: x' = x + f'(x)/f"(x) Se f(x ) > f(x): x = x Retorna x

Algoritmo de Busca Mas e se f(x) não for diferenciável??

Busca em Paralelo O poder das soluções da natureza está no uso de diversos agentes fazendo a busca em paralelo. Dessa forma é possível explorar as diversas regiões do espaço de soluções.

Algoritmo de Busca

Exploração x Explotação Exploração: o ato de explorar toda a região do espaço de busca. Explotação: o ato de explorar apenas a região de vizinhança.

Algoritmos Bio-Inspirados P = população de soluções Enquanto quiser: P' = gera_novos(p) P = seleção(p, P')

Evolução Processo natural em que um grupo de uma espécie se adapta sucessivamente para: sobrevivência equilíbrio ecológico diversidade

Seleção Natural Proposta por Charles Darwin e explica porque certas características se tornam comuns enquanto outras desaparecem.

Seleção Natural 1. São produzidos mais herdeiros do que o sustentável 2. Características do indivíduo define sua probabilidade de sobrevivência 3. Características são hereditárias

Evolução Vamos ilustrar com a luta pela sobrevivência de coelhos em um território com raposas.

Evolução Na população de coelhos, alguns são mais espertos e mais rápidos que os outros. Esses têm maior chance de sobrevivência. Produzem mais coelhos.

Evolução Com o cruzamento dos coelhos rápidos e dos espertos na população novas variedades de coelhos surgem: Coelhos rápidos e burros; lentos e espertos, lentos e burros, rápidos e espertos.

Evolução A natureza joga de vez em quando um "coelho selvagem" nessa população mutando um ou outro filhote dessas crias. As crias não são cópias exatas dos pais, mas variações aleatórias.

Evolução Com o passar das gerações espera-se que a população de coelhos se torne mais rápida e esperta do que a inicial. Mas as raposas também evoluem...

Algoritmo Evolutivo P = população inicial (aleatório) Enquanto quiser: P' = reprodução(p) P" = mutação(p') P = seleção(p,p")

População Cada indivíduo da população representa uma solução, eles são representados computacionalmente como mais conveniente. Ex.: vetor de variáveis. Denominamos essa representação de cromossomo.

Reprodução A reprodução simula a reprodução das espécies em que ocorre troca de material genético.

Reprodução Com uma representação vetorial: 3 0 2 5 2 1 5 1 2 5 0 3 3 0 2 5 0 3 5 1 2 5 2 1

Mutação A mutação promove a novidade no nosso conjunto de soluções. Previne que todos os indivíduos sejam iguais.

Mutação A mutação no algoritmo é uma perturbação aleatória da solução: 5 1 2 5 0 3 5 1 4 5 0 3

Seleção Uma vez que temos a população de pais e filhos, temos que selecionar aqueles que sobreviverão. Lembrando que na natureza os mais aptos tem maior chance de sobrevivência.

Seleção Para verificar as soluções mais aptas, usamos a própria função-objetivo (fitness). Quem tem maior valor é mais apto. Fazemos então uma seleção probabilística de tal forma que aqueles com maior fitness tenham maior chance.

Taxonomia Algoritmos Genéticos: proposto incialmente por Holland com objetivo de estudar os fenômenos de adaptação. Estratégias Evolutivas: introduzido por Rechenberg com o intuito de otimizar parâmetros de uma função não-linear. Programação Evolutiva: representação de uma solução como uma máquina de estado finito, proposta por Fogel at al. Programação Genética: intuito de evoluir programas de computador, proposta por Koza.

Algoritmos Genéticos http://rednuht.org/genetic_cars_2/ http://alteredqualia.com/visualization/evolve/

Colônia de Formigas Foi observado que as formigas eram capazes de encontrar o menor caminho entre o ninho e uma fonte de alimento. Inicialmente o caminho aparentava desordem, mas com o passar do tempo elas seguiam um mesmo caminho.

Colônia de Formigas Inicialmente elas não têm informação alguma e andam aleatoriamente.

Colônia de Formigas Ao encontrar um alimento, elas retornam ao ninho depositando feromônio pelo caminho.

Colônia de Formigas Os menores caminhos tem uma probabilidade maior de ter mais feromônio.

Colônia de Formigas Coletivamente o menor caminho receberá cada vez mais feromônio e se tornará o único caminho.

Colônia de Formigas Enquanto quiser: Para cada formiga: constroi_solucao() atualiza_feromonio()

Construir Solução Para construir uma solução a formiga utiliza a informação do feromônio como probabilidade:

Atualizar Feromônio O feromônio é atualizado proporcionalmente a qualidade da solução.

Colônia de Formigas https://www.youtube.com/watch? v=sjm3er3l6p4 https://www.youtube.com/watch? v=qaiyydnp4tu

Redes Neurais O funcionamento do cérebro também serve como fonte de inspiração. Se for possível simular o funcionamento dele no computador, o computador será capaz de aprender?

Redes Neurais Artificiais As redes neurais artificiais modelam o aprendizado através de um grafo que simula o processamento da informação. Cada nó desse grafo é um neurônio e as arestas são utilizadas para transmitir informação de um neurônio a outro.

Redes Neurais Artificiais

Redes Neurais Artificiais Uma rede neural aprender através de exemplos com saídas conhecidas e atualiza o peso para que essa se aproxime do que é esperado. Tendo a entrada e a saída bem determinada existe uma fórmula fechada para atualizar os pesos: retropropagação.

Redes Neurais Artificiais https://www.youtube.com/watch? v=ocb8udyxtt0 https://www.youtube.com/watch? v=vi8bs2jikn8

Aplicações nas Engenharias

Engenharia Aeroespacial As equações de Navier-Stokes são usadas para modelar o fluxo de ar em torno das asas de um avião. Mas elas são computacionalmente caras para avaliar e otimizar. É possível usar uma Rede Neural para criar uma aproximação dessa função: http://epubs.surrey.ac.uk/7610/2/sc2005.pdf

Engenharia Biomédica Predição de estrutura de RNA: http://dx.doi.org/10.1006%2fjtbi.1995.0098

Engenharia de Energia Redistribuição de Rede de Distribuição de energia para Smart Grid: http://ieeexplore.ieee.org/xpl/articledetails.jsp? arnumber=6465615

Engenharia de Gestão Encontrar a escala ótima para enfermeiros em um hospital, maximizando a satisfação dos funcionários: http://arxiv.org/pdf/0802.2001.pdf

Engenharia de Materiais Predição de estruturas cerâmicas e ligas de metal minimizando entropia. http://arxiv.org/abs/1105.5941

Engenharia de Informação Roteamento dinâmico utilizando Algoritmo de Colônia de Formigas: http://pdf.aminer. org/000/372/248/multiple_ant_colony_optimizat ion_for_load_balancing.pdf

Engenharia de Automação Configuração automática de sensores para controle e tolerância a falhas de sistemas de suspensão: https://dspace.lboro.ac.uk/dspacejspui/handle/2134/5806

Aplicações Divertidas

Evoluindo um Carro http://rednuht.org/genetic_cars_2/

Evoluindo Funções https://www.youtube.com/watch?v=56zz_elap7o

Jogar Mega Man https://www.youtube.com/watch?v=yixiyfz5wrc

Corrida de Carros https://www.youtube.com/watch? v=1dvsnvgzekg

Desenhar https://www.youtube.com/watch? v=hzjwcdggjgu