SlideShare uma empresa Scribd logo
1 de 74
Baixar para ler offline
©2015Dr.WalterF.deAzevedoJr.
1
101101011010
000010000100
000001111111
100111100111
111110011000
000001011010
000010111100
110100111100
110100111010
101101011100
100110011000
1111111100111
101101011010
100111100111
111110011000
110100111100
Biofísica
Métodos Teóricos em Biofísica
Algoritmos Evolucionários
Prof. Dr. Walter F. de Azevedo Jr.
O que é evolução?
O que é um algoritmo?
Podemos simular a evolução no computador?
Podemos usar as ideias da evolução na
resolução de problemas de otimização?
2
A resolução de problemas computacionais,
a partir do uso de princípios biológicos, não
é algo novo, propostas relacionadas à
aplicação de princípios biológicos em
programação de computadores remontam
as ideias de Alan Turing, um dos pais da
computação moderna. Alan Turing foi o
cientista responsável pela quebra do código
secreto “Enigma”, usado pelos nazistas
durante a Segunda Guerra Mundial. Os
nazistas usavam um sistema de
criptografia, que evitava que os aliados
descobrissem o conteúdo das mensagem
secretas enviadas via rádio.
O Alan Turing estava interessado no uso de
modelos biológicos, como paradigmas
de programação de computadores.
3
Inspiração Biológica
Simplificação das estruturas de um organismo vivo,
mostradas como um anel circular. Alan Turing tinha
como objetivo usar princípios biológicos como
inspiração para programas de computador.
Foto feita por Linus S. Azevedo (3/2/2013). Science
Museum, London-UK.
A Teoria da Evolução de Darwin tem
papel fundamental no entendimento da
evolução, e seu sucesso como teoria
científica fez Theodosius Dobzhansky
(1900-1975) a propor:
“Nothing in Biology makes sense except in
the light of evolution”.
Esta proposição tem sido usada como
introdução em muitos livros e seminários,
para destacar a importância da teoria de
Darwin.
Embora sistemas biológicos são
normalmente difíceis de se serem
submetidos à modelagem computacional,
os conceitos da evolução são simples,
sendo a seleção natural o conceito mais
importante.
4
Evolução, um Paradigma Computacional
Foto feita por Linus S. Azevedo (4/2/2011). Natural
History Museum, London-UK.
Viste a página do museu: http://www.nhm.ac.uk/
Normalmente os críticos da teoria de
Darwin compartilham dois aspectos em
comum.
1) Total desconhecimento do método
científico. Toda teoria científica é uma
modelagem da natureza, usando de um
arcabouço teórico para explicar
fenômenos naturais. Como tal pode ser
aprimorada, sem contudo, em essência,
está errada.
2) Desconhecimento da biologia
molecular, onde aspectos moleculares
da vida revelam a abrangência da
evolução, que manifesta-se no nível
molecular, como no caso da mioglobina
de mamíferos marinhos.
5
Foto feita por Linus S. Azevedo (4/2/2011). Natural
History Museum, London-UK.
Viste a página do museu: http://www.nhm.ac.uk/
Evolução, um Paradigma Computacional
O sucesso da Teoria da Evolução de Darwin, levou
seus conceitos a serem usados por outras áreas do
conhecimento, como, por exemplo, na computação.
Há um conjunto de algoritmos baseados na teoria
da evolução.
Mas o que é um algoritmo?
Algoritmos são descrições passo a passo de uma
tarefa, passível de implementação
computacional. Por exemplo, uma descrição passo
a passo de como resolver uma equação de primeiro
grau é um algoritmo. Cada programa de computador
é a materialização de um algoritmo ou vários
algoritmos. Quando você usa um programa, nada
mais está fazendo que usando a implementação de
algoritmos.
Uma representação dos principais componentes de
um algoritmo, está ilustrada no fluxograma ao lado.
Lemos de cima para baixo, incialmente temos a
entrada de dados, que sofrem um processamento
e geram uma nova informação, a saída.
Entrada de
dados
Processo
(tarefas a
serem
executadas)
Saída de
dados
6
Algoritmos
Colocando de uma forma mais simples
ainda, podemos pensar no algoritmo
como uma receita de bolo, por exemplo,
a receita para prepararmos um bolo de
leite condensado sem farinha de trigo.
Para o bolo temos os seguintes
ingredientes:
-1 lata de leite condensado;
-4 ovos pequenos (ou 3 grandes);
-1 medida de leite igual ao volume da
lata de leite condensado;
-100 g de coco ralado e
-uma colher de fermento.
Os ingredientes são as entradas do
algoritmo.
.
Ingredientes do nosso delicioso bolo de leite condensado
sem farinha de trigo
7
Algoritmos
O processo do algoritmo é a receita, no nosso bolo é a
seguinte: coloque todos os ingredientes num
liquidificador e mexa tudo (foto 1). Unte uma forma de
bolo com manteiga (foto 2). Coloque o conteúdo do
liquidificador na forma untada. Asse no forno
convencional a 260º por aproximadamente 40 minutos
(foto 3). Depois de 40 minutos temos o nosso bolo (foto
4)! A saída é nosso bolo de leite condensado. Assim, na
solução de muitos problemas científicos e tecnológicos,
temos algoritmos. O uso da inspiração da evolução
biológica no desenvolvimento de algoritmos é chamado
de algoritmo evolucionário (evolutionary algorithm).
Foto 1
Foto 2
Foto 3 8
Algoritmos
Foto 4
As ideias da evolução têm sido usadas em
otimização de soluções de problemas
específicos. A otimização é um método
computacional (algoritmo), que procura
achar as condições ótimas para um dado
problema. Para evitar uma abordagem mais
matemática, vamos ilustrar a otimização
com um exemplo, chamado problema do
caixeiro viajante (travelling salesman
problem). Neste problema temos um
vendedor (caixeiro viajante), que tem que
passar por diversas cidades, digamos 4
cidades. O objetivo do problema é achar o
menor caminho possível, que leva o
caixeiro viajante a passar pelas quatro
cidades, sem repetir nenhuma cidade.
Sabemos as distâncias entre todos os pares
de cidades, dAB por exemplo, assim a
solução ótima (otimizada) é aquela que
leva a um menor percurso total. Este é o
típico problema de otimização.
C
D
A
B
dAC
dAD
dAB
dBD
dBC
dCD
9
Otimização
Apresentaremos alguns conceitos da
evolução, usados como inspiração para os
algoritmos evolucionários.
Vamos considerar um ambiente que pode
sustentar só um número restrito de
indivíduos (joaninhas nas figuras aqui), a
natureza seleciona aquelas joaninhas que
lutam pelos os recursos limitados de forma
mais eficiente, em outras palavras, a
seleção natural dos indivíduos mais
adaptados da população (as joaninhas
mais adaptadas). Outro conceito básico da
teoria de Darwin, é a variação do fenótipo
entre indivíduos da população. Traços do
fenótipo são aqueles aspectos físicos e de
comportamento de um indivíduo, que estão
relacionados com sua reação ao ambiente,
por exemplo, a cor da joaninha. Os traços
do fenótipo determinam seu ajuste (fitness)
ao ambiente. 10
Indivíduo
População
A cor das joaninha é um traço do fenótipo
Conceitos Básicos sobre Evolução
Numa população, cada indivíduo mostra um
conjunto de traços do fenótipo exclusivos,
que estão continuamente sendo testados
pelo ambiente [HOLLAND, 1992]. O ajuste
de cada indivíduo pode ser quantificado
numa análise matemática do sistema
biológico, os indivíduos com maior sucesso
apresentam um ajuste mais alto, ou seja,
uma função ajuste (fitness function) mais
alta.
Veja que estamos modelando nosso
sistema biológico, para capturar os
aspectos essenciais do sistema, que
possibilitarão o seu uso para resolver
problemas de otimização. Colocando de
outra forma, estamos simplificando o
sistema biológico, para extrairmos suas
características mais fundamentais, como a
seleção natural.
11
Conceitos Básicos sobre Evolução
Indivíduo
População
A cor das joaninha é um traço do fenótipo
Referência:
HOLLAND JH. Adaptation in Natural and Artificial
Systems. MIR Press. Cambridge MA, 1992.
População inicial da primeira geração
População inicial da segunda geração
Resumindo os conceitos básicos, uma
população é um conjunto de indivíduos, cada
um sendo considerado uma “ unidade de
seleção”, seu sucesso depende de o quão bem
adaptado ao ambiente eles estão. Indivíduos
mais bem adaptados apresentam probabilidade
mais alta de gerar descendentes, e, mutações
ocasionais, dão origem a novos indivíduos que
serão testados pelo ambiente.
Assim, de uma geração para outra, há variação
no genótipo (conjunto de genes) da população.
Cada gene codifica uma proteína, e pode ser
responsável por uma característica do indivíduo,
ou um conjunto de genes ser o responsável por
uma característica. Na figura vemos claramente
diferenças nos padrões de cores, embora
alguns indivíduos tenham sobrevivido de uma
geração para outra sem alterações.
12
Conceitos Básicos sobre Evolução
O processo de evolução pode ser
visualizado usando uma superfície
adaptativa (adaptive surface). No gráfico
ao lado, a altura z representa a função
ajuste (fitness function), também chamada
de função escore (scoring function). Aqui,
quanto maior a altura na superfície, melhor
o ajuste do indivíduo. Os eixos x-y
representam todas as combinações
possíveis de dois traços do fenótipo. Cada
ponto na superfície representa um
indivíduo, com a combinação de traços do
fenótipo representados pelo valores de x e
y. Para exemplificar, o eixo x pode
representar a capacidade de mimetismo
(camuflagem) das joaninhas, e o eixo y a
capacidade de escalar obstáculos. A
combinação de x e y dará a função ajuste.
Os picos mais altos na figura representam
os indivíduos mais bem adaptados. 13
Conceitos Básicos sobre Evolução
Ajuste
x
y
Superfície adaptativa (adaptive surface)
Os vales indicam indivíduos menos
adaptados ao ambiente. Cada pico na
superfície indica um ponto ótimo local (ou
simplesmente máximo local). O pico mais
alto o ponto de ótimo global (ou máximo
global). A partir desta analogia, está clara
as implicações da evolução em problemas
de otimização, que podemos pensar que é
representado pelo ponto de ótimo global.
Num problema de otimização, como o do
caixeiro viajante, nós podemos ter uma lista
de soluções para o problema (diferentes
rotas), e tentamos achar a melhor solução.
O conjunto de soluções possíveis é
chamado de espaço de busca, a superfície
adaptativa, da figura ao lado, é uma
representação gráfica do espaço de busca.
Ajuste
x
y
14
Conceitos Básicos sobre Evolução
Máximo local
Máximo global
Superfície adaptativa (adaptive surface)
75 2
1 37 2
1 18 2
0 9 2
1 4 2
0 2 2
0 1
Um dos primeiros algoritmos evolucionários foi o
algoritmo genético (genetic algorithm). Na
abordagem original dos algoritmos genéticos,
foram usados números binários para a
representação de cromossomos
[GOLDENBERG, 1989]. Faremos uma
introdução (ou revisão) da matemática básica
envolvida na conversão de um sistema para
outro. Um número binário é um número que usa
somente os algarismos “zero” e “um”, para
representar uma quantidade. Por exemplo, 101
em binário representa 5 no decimal. Veremos
exemplos para esclarecer o processo. Vamos
converter 75 em decimal para sua representação
binária. Para isto temos que dividir
continuamente “75” por “2”, o resto da divisão é
o último algarismo do número binário equivalente
ao 75, como mostrado ao lado. O último
resultado da divisão “1” é o algarismo mais
significativo do número binário. 15
Números Binários
75 = 100101110 2
Referência:
GOLDBERG DE. Genetic Algorithms in Search,
Optimization, and Machine Learning. Addison
Wesley Longman, Ins.,Indiana, USA, 1989.
Para converter de binário (subscrito 2) de
volta para decimal (subscrito 10), é ainda
mais fácil. Temos que multiplicar “0” ou “1”
por 2 elevado à potencia, que é a posição
do número binário, começando na posição
zero no lado direito, até o último número na
sequência, como segue:
1.26 + 0.25 +0.24 + 1. 23 + 0.22 + 1.21 + 1.20
=64 + 0 + 0 + 8 + 0 + 2 + 1 = 75
Como ilustrado acima, somamos os
resultados parciais das multiplicações, o
resultado final é 75, o número na base
decimal.
16
75 2
1 37 2
1 18 2
0 9 2
1 4 2
0 2 2
0 1
75 = 100101110 2
Números Binários
Agora que sabemos como operar com
números binários, usaremos tais números
nos algoritmos genéticos. Em muitos
algoritmos genéticos os indivíduos são
representados por números binários, tal
método tem o benefício de ser rápido na
aplicação dos operadores genéticos,
como mutação e crossover. Num número
binário, a mutação é simplesmente uma
mudança de “0” para “1” ou vice-versa.
A essência de um algoritmo genético é o
uso das ideias da evolução, por isso são
classificados como algoritmo evolucionário.
17
75 2
1 37 2
1 18 2
0 9 2
1 4 2
0 2 2
0 1
75 = 100101110 2
Números Binários
Assim, a implementação de um algoritmo genético usa as ideias da evolução de
Darwin, de forma que os indivíduos de uma dada população são submetidos aos
princípios da evolução, tais como, seleção natural, cruzamento (crossover) e mutação.
Veja abaixo, um indivíduo será representado por uma string binária. Uma string
binária é uma sequência de “0” e “1”. No algoritmo genético a string binária é
convertida num número decimal, usando as operações matemáticas já vistas.
18
011011110001
Representação do genoma de um indivíduo
na abordagem de algoritmo genéticos
 1777
String binária Decimal relacionado à string binária
Números Binários
Um algoritmo genético típico usa três operadores para manipular uma população de
indivíduos gerados aleatoriamente, são eles: seleção, crossover e mutação. Um
diagrama esquemático dá uma visão geral destes passos para uma iteração
(geração). A população inicial é formada de strings binárias geradas aleatoriamente,
os números indicados à esquerda.
101101011010
000010000100
000001111111
100111100111
111110011000
000001011010
000010111100
110100111100
Strings binárias
(populatção incial)
Operador
seleção
Operador
crossover
Operador
mutação
110100111010
101101011100
100110011000
1111111100111
101101011010
100111100111
111110011000
110100111100
Strings binárias
(Nova população)
19
Algoritmo Genético
O operador seleção é uma implementação computacional da “seleção natural”. É
uma tentativa de aplicar a pressão evolucionária sobre indivíduos de uma população.
Indivíduos com função ajuste (ou função escore) baixa serão descartados. Os
indivíduos de mais alto valor de função ajuste apresentam maior probabilidade de
sobreviver. Os sobreviventes farão parte da população, que começará a nova geração
(iteração).
20
101101011010
000010000100
000001111111
100111100111
111110011000
000001011010
000010111100
110100111100
Strings binárias
(populatção incial)
Operador
seleção
Operador
crossover
Operador
mutação
110100111010
101101011100
100110011000
1111111100111
101101011010
100111100111
111110011000
110100111100
Strings binárias
(Nova população)
Algoritmo Genético
O operador crossover, também conhecido como recombinação, faz com que os
indivíduos (strings binárias) troquem sua informação genética, de forma análoga à
reprodução sexuada. Uma forma de implementar tal operador, é selecionar pares de
indivíduos promovidos após a etapa de seleção (pais). Depois selecionamos
aleatoriamente um local único (locus) (indicado pela barra vermelha vertical), dentro
da string binária. Por último trocamos todos os dígitos à direita deste locus entre os
dois pais, conforme indicado abaixo.
110100111010
101101011100
100110011000
1111111100111
110100111100
101101011010
100111100111
111110011000
Locus
Locus
Pais Descendentes
Crossover
21
Algoritmo Genético
O operador crossover é aplicado a um par de pais, parar gerar um par de novas
strings binárias (descendentes). Um par de pais será submetido ao operador
crossover, se e somente se, um número aleatório (Rn) for menor que a
probabilidade de crossover (Pc). Rn está no intervalo [0,1], e um típico valor de Pc
está no intervalo [0,4, 0,9].
110100111010
101101011100
100110011000
1111111100111
110100111100
101101011010
100111100111
111110011000
Locus
Locus
Pais Descendentes
Crossover
Gera um
número
aleatório
(Rn)
Rn<=Pc?
Escolha
novo par de
pais
Sim
Não
22
Algoritmo Genético
Para ilustrar os princípios básicos do algoritmo genético, vamos resolver o seguinte
problema simples, qual o número entre 0 e 4095 maximiza a função quadrática
(f(x)=x2)? OK, não precisamos de um algoritmo genético para saber a resposta deste
problema, tal problema é só para ilustrar o algoritmo. Na implementação deste
algoritmo, temos strings binárias de comprimento 12 (11111111112 = 409510). Assim,
vamos gerar números aleatórios entre 0 e 4095, como mostrado parcialmente na
tabela abaixo. Esta faixa de números é nosso espaço de busca.
String binária Decimal
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0 1 0 2
0 0 0 0 0 0 0 0 0 0 1 1 3
0 0 0 0 0 0 0 0 0 1 0 0 4
0 0 0 0 0 0 0 0 0 1 0 1 5
0 0 0 0 0 0 0 0 0 1 1 0 6
0 0 0 0 0 0 0 0 0 1 1 1 7
0 0 0 0 0 0 0 0 1 0 0 0 8
.......... .....
1 1 1 1 1 1 1 1 1 1 1 0 4094
1 1 1 1 1 1 1 1 1 1 1 1 4095
23
Algoritmo Genético
Neste algoritmo simples, o operador seleção escolherá a melhor metade da
população, usando a função quadrática como função ajuste (fitness function).
Inicialmente temos que gerar a população de forma aleatória. Tal população é
formada por strings binárias (genótipo), também chamados de cromossomos no
jargão dos algoritmos genéticos. As strings binárias que serão convertidas em
números decimais, e então a função quadrática será calculada. A função quadrática é
nossa função ajuste. Nós classificamos a metade dos melhores indivíduos da
população e, então, aplicamos o operador crossover. Estes novos indivíduos gerados
pelo operador crossover serão submetidos ao operador mutação. Na mutação nem
todos os indivíduos serão submetidos a este operador, só aqueles que passarem no
critério de probabilidade de mutação (Pm). Na implementação do algoritmo
genético, usaremos o critério de número de iterações (gerações), como critério de
parada. Um típico conjunto de entrada para tal algoritmo é o seguinte:
Population size (tamanho da população):
Maximum number of iterations (Número máximo de iterações):
Probability of crossover (probabilidade de crossover):
Length of strings (tamanho das strings):
Probability of mutation (probabilidade de mutação): 24
Implementação de um Algoritmo Genético Simples
Gera uma população
aleatória de strings
binárias
Converte cada string
binária a um número
decimal
Calcula a função ajuste
para cada indivíduo
Seleciona parte da
população para seguir
(operador seleção)
Seleciona pares de pais
seguindo uma ordem
aleatória
Operador Crossover
Mutação dos
descendentes
(operador mutação)
Gera uma nova
população
Critério de
parada
satisfeito?
Retorna os resultados
Não
Sim
Ordena aleatoriamente
os melhores pais
25
Implementação de um Algoritmo Genético Simples
Inicialização. Números aleatórios são
gerados (genótipo), para representar
indivíduos numa população. Em
algoritmos genéticos tais números
são chamados cromossomos. Para
cada cromossomo, uma função ajuste
(função escore) será calculada.
26
Initialização
A B
CD
Operador seleção (A). Agora um dos
maiores processos da evolução é
aplicado. Os cromossomos gerados
aleatoriamente são selecionados,
usando como critério a função ajuste.
Esta função indica o quão adaptado um
indivíduo está. Os indivíduos
selecionados são chamados “pais”.27
Initialização
A B
CD
Operador crossover (B). Os
indivíduos selecionados (pais) podem
gerar descendentes (filhos). Os pais
são gerados aleatoriamente e seus
cromossomos são combinados para
gerar filhos. A posição de corte é
chamada locus, sendo gerada
aleatoriamente também. 28
Initialização
A B
CD
Operador mutação (C). É permitido
que os descendentes sofram mutação.
Em bactéria uma taxa de 2.10-3
mutações por genoma por geração é
observada. Aqui, o operador mutação
possibilita a diversidade genética na
simulação da evolução.
29
Initialização
A B
CD
Ao final, os indivíduos (pais mais
descendentes), tornam-se a população
inicial para um novo ciclo. Com objetivo
de manter a abordagem biológica, este
ciclo é chamado de geração. Em
computação um ciclo é chamado de
iteração.
30
Initialização
A B
CD
Este ciclo está completo e todo o
processo é repetido até que um critério
de parada seja satisfeito, como por
exemplo, o número de iterações
(gerações) máximo foi atingido.
31
Initialização
A B
CD
Agora temos uma visão geral de como
os algoritmos genéticos funcionam.
Vamos ver alguns conceitos de como
implementá-los. Os indivíduos nesta
população podem ser representados
por “0” e “1”, ou seja, uma string
binária.
32
Initialização
A B
CD
Na inicialização, números aleatórios
são gerados para representar cada
cromossomo na população. Cada linha
(string binária) é um cromossomo de
um indivíduo (equivalentes às
joaninhas de cores diferentes).
101101011010
000010000100
000001111111
100111100111
111110011000
000001011010
000010111100
110100111100
Strings binárias
33
Initialização
Initialização
A
Seleção. Para ilustrar a
evolução, vamos considerar
que queremos achar o máximo
da função quadrática para um
inteiro entre 0 e 4095. Agora
calculamos a função (f=x2) para
cada cromossomo. As strings
binárias são convertidas para
decimal e, então, calculamos a
função. Selecionamos a melhor
metade da população, segundo
a função ajuste.
101101011010
000010000100
000001111111
100111100111
111110011000
000001011010
000010111100
110100111100
101101011010
100111100111
111110011000
110100111100
f = x2
2906
132
127
2535
3992
90
188
3388
Converte
binário
para
decimal
2906
2535
3992
3388
Strings binárias Decimals (x)
8444836
17424
16129
6426225
15936064
8100
35344
11478544
Decimais (x)
8444836
6426225
15936064
11478544
Strings binárias
Seleção dos
melhores
resultados
34
Função ajuste ou
escore
Nesta etapa temos o operador crossover. Somente
os melhores pais são submetidos ao crossover,
(recombinação). Inicialmente as strings binárias são
aleatoriamente posicionadas e, então, a posição de
crossover é escolhida. Esta posição indica onde a
troca dos cromossomos acontecerá. Os novos
cromossomos agora fazem parte da população, junto
como os melhores pais.
101101011010
100111100111
111110011000
110100111100
Strings binárias
110100111010
101101011100
100110011000
1111111100111
110100111100
101101011010
100111100111
111110011000
101101011010
100111100111
111110011000
110100111100
Strings filhas
Strings de posição aleatória
35
Strings pais
Initialização
A B
110100111010
101101011100
100110011000
1111111100111
101101011010
100111100111
111110011000
110100111100O operador mutação é usualmente aplicado a um bit da string,
mudando-o de “0” para “1”, ou vice-versa. Na maioria das
aplicações, é sugerida uma probabilidade de mutação (Pm) de
0,001, ou seja, uma mutação para cada 1000 bits.
36
Strings pais
Strings filhas
Initialização
A B
CD
110100111010
101101011100
100110011000
1111111100111
101101011010
100111100111
111110011000
110100111100Há diversas formas de implementar o operador mutação, uma
forma é aplicá-lo a um bit (número “0” ou “1” na string) na
posição 1/pm e gerar um número aleatório, se o número aleatório
é maior que 0,5 muda o bit, caso contrário deixa como está. 37
Strings filhas
Strings pais
Initialização
A B
CD
110100111010
101101011100
100110011000
1111111100111
101101011010
100111100111
111110011000
110100111100
O operador mutação funciona para
aumentar a diversidade genética,
evitando que a população fique
confinada a um máximo local.
110100111011
101101011100
100110011000
1111111100111
Strings filhas
101101011011
100111100111
111110011000
110100111100
Mutação
38
Strings pais
Strings filhas
Strings pais
Initialização
A B
CD
Depois da aplicação do operador
mutação, os indivíduos tornam-se a
população de uma nova iteração.
O ciclo é repetido até que um critério
de parada seja satisfeito. Podemos
fixar o número de iterações, ou outro
critério de parada. Um outro critério de
parada possível, está baseado na
variação da população, ou seja, se os
indivíduos de uma geração não estão
variando com relação à geração
anterior. Quando não há variação,
durante um certo número de gerações,
não faz sentido continuar a simulação,
pois não iremos gerar indivíduos que
gerem melhores funções ajuste, assim
podemos parar a simulação.110100111010
101101011100
100110011000
1111111100111
Strings binárias
101101011010
100111100111
111110011001
110100111100 39
Para o problema descrito de maximização,
temos numa simulação típica de algoritmos
genéticos, as seguintes entradas: número de
indivíduos da população inicial de 10
indivíduos, probabilidade de mutação de 0,01,
probabilidade de crossover de 0,8 e número
de iterações igual à 60. Com estes dados de
entrada, observamos uma convergência
para o valor correto após poucas iterações
(gerações). O gráfico ao lado mostra os
resultados de tal simulação. O eixo x indica o
número de iterações (gerações) e o eixo y o
valor máximo da função quadrática (função
escore ou ajuste), obtido para cada geração.
Como o indivíduo com maior valor para uma
string binária de 12 algarismos é
1111111111112 , cujo o valor decimal é 4095,
temos uma função quadrática de 16769025,
que é alcançada na iteração 18. Depois disso
não há alteração, dizemos que houve
convergência.
40
Implementação de um Algoritmo Genético Simples
Vimos um tipo de algoritmo evolucionário chamado de algoritmo genético. Há outros
algoritmos que usam as ideias de evolução, mas são baseados em métodos
computacionais distintos. Todos usam como inspiração a evolução, mas sua
implementação computacional varia de algoritmo para algoritmo. Um dos algoritmos
evolucionários de maior sucesso é o algoritmo de evolução diferencial. Na evolução
diferencial temos os operadores clássicos dos algoritmos genéticos: seleção, crossover
e mutação, como mostrados abaixo. Como uma implementação distinta do crossover.
41
Algoritmos Evolucionários (Evolução Diferencial)
Operador
seleção
Operador
crossover
Operador
mutação
Critério
de
parada
satisfeito
?
Mostra
resultados
Sim
Não
O algoritmo de evolução diferencial executa a parte inicial de geração aleatória de uma
população com N cromossomos, em seguida avalia a função ajuste de cada
cromossomo. A novidade está na formação cromossomos filhos. O filhos são gerados
da seguinte forma, para cada cromossomo pai na população, chamado aqui
cromossomo j, são escolhidos aleatoriamente três outros cromossomos pais distintos,
cromossomos k, l e m. Calcula-se um novo cromossomo, chamado aqui de n, da
seguinte forma:
cromossomo(n) = cromossomo(m) + peso.[cromossomo(k) - cromossomo(l)]
o peso varia entre 0 e 2.
O cromossomo novo (n) será incorporado à população, se ao gerarmos um número
aleatório entre 0 e 1, este for menor que a probabilidade de crossover, caso não seja, o
cromossomo filho não é considerado. Um último teste é realizado no cromossomo filho
n, se este apresenta função escore maior que o cromossomo pai j, caso seja, o
cromossomo j é deletado e substituído pelo cromossomo n. As etapas seguintes são
idênticas ao algoritmo genético original. Estamos considerando aqui que a função
ajuste de maior valor é a que representa um indivíduo mais bem adaptado. Veja, este
critério depende do tipo de problema a ser resolvido pelo algoritmo evolucionário.
42
Algoritmos Evolucionários (Evolução Diferencial)
Na implementação do algoritmo de
evolução diferencial, como nos
algoritmos genéticos, o primeiro passo é
gerar indivíduos de forma aleatória,
como no exemplo das joaninhas.
43
Algoritmos Evolucionários (Evolução Diferencial)
No passo seguinte, calculamos a função
ajuste, que indica a adaptação de cada
indivíduo. Depois aplicamos o operador
crossover, descrito anteriormente, onde
três joaninhas pais (joaninhas cinza,
branca e amarela) geram uma joaninha
filha, para cada cromossomo pai
(joaninha verde), como mostrado ao
lado.
44
Cromossomo k
Cromossomo l
Cromossomo m
cromossomo(n) = cromossomo(m) + peso.[cromossomo(k) - cromossomo(l)]
Algoritmos Evolucionários (Evolução Diferencial)
Cromossomo n
Cromossomo j
Considerando que o cromossomo n
passou no teste da probabilidade de
crossover, e que tem função ajuste
maior que a do pai (cromossomo j), este
ocupa o lugar do pai, ou seja, o
cromossomo j é deletado e substituído
pelo cromossomo n. Por último,
aplicamos a mutação, onde
selecionamos aleatoriamente
cromossomos filhos. O critério para
escolher se um cromossomo filho
sofrerá mutação, é a probabilidade de
mutação (Pm). Geramos um número
aleatório entre 0 e 1, se este número for
menor ou igual à probabilidade de
mutação, a mutação ocorre, caso
contrário não. Testamos a condição de
mutação para todos os cromossomos
filhos. Terminamos um ciclo da
evolução, ou iteração. O processo se
repete um número finito de vezes.
45
Cromossomo n
Cromossomo n mutado
Mutação
Algoritmos Evolucionários (Evolução Diferencial)
Cromossomo j é deletado e
substituído pelo n
Muitos fármacos são desenvolvidos a
partir do uso de simulações
computacionais, inclusive baseados
nos algoritmos evolucionários (EAs).
Para entender tais estudos, temos que
ver a interação do fármaco com uma
proteína alvo. Podemos usar a
analogia da interação da chave com a
fechadura, onde o fármaco é a chave
e a proteína alvo é a fechadura.
Especificamente, parte da proteína
alvo é a fechadura. No caso de
enzimas, a fechadura será o sítio ativo
e o inibidor a chave. Temos que
destacar que tal analogia é só para
captarmos a essência da interação, o
fenômeno da interação proteína-
fármaco é mais complexo, mas para
nossos propósitos será suficiente tal
comparação.
Interação da chave (fármaco) com a fechadura (sítio
ativo da enzima)
Fontedaimagem:http://www.sciencephoto.com/media/215959/enlarge
Consultadoem15/06/2014
46
Desenho de Fármacos
Na figura ao lado temos a
representação gráfica da interação de
um inibidor (chave) com o sítio ativo
de uma enzima (fechadura). A
estrutura representada é da CDK2
(cyclin-dependent kinase 2), uma
enzima envolvida no controle da
progressão do ciclo celular. A inibição
dessa enzima leva a célula a parar a
progressão do ciclo celular. Tal parada
pode levar a célula à apoptose. Este
efeito mostrou atividade
anticancerígena. Por isso grande
esforço tem sido feito no
desenvolvimento de inibidores de
CDK2. Na figura ao lado temos a
superfície molecular da CDK2
interagindo com inibidor (em verde).
As cores da superfície molecular da CDK2 representam a
carga elétrica parcial, com vermelho indicando concentração
de carga negativa, azul positiva e ciano neutro.
47
Desenho de Fármacos
A interação de um possível inibidor de
uma enzima pode ser obtida por meio
de algoritmos evolucionários, num
método chamado docking molecular
(docagem molecular). Nesta
simulação computacional, são
tentadas várias posições possíveis
para a chave (possível inibidor),
mudando-se sua orientação relativa
dentro do sítio ativo da enzima. Ao
final da simulação, temos várias
posições possíveis para a chave
(possível inibidor) no sítio ativo da
enzima (fechadura). O melhor
resultado (a melhor posição da chave
na fechadura) é escolhido a partir de
uma função de ajuste (também
chamada de escore).
Zoom do sítio ativo da CDK2. Vemos o inibidor (chave) em
verde bem acomodado no sítio ativo (fechadura). As cores
da superfície molecular da CDK2 representam a carga
elétrica parcial, com vermelho indicando concentração de
carga negativa, azul positiva e ciano neutro.
48
Desenho de Fármacos
Toda simulação de docking molecular
tem duas etapas. Na primeira etapa
são geradas posições para a molécula
no sítio ativo da enzima. Numa
segunda etapa selecionamos, dentro
de um critério (função ajuste), a
melhor posição. Na implementação do
EA para docking molecular, as
posições do inibidor (chave) são
geradas aleatoriamente (indivíduos do
EA). Depois selecionamos as
melhores posições (posições pais)
(operador seleção). No passo
seguinte operamos o cruzamento
entre as melhores posições (operador
crossover), gerando as posições
filhos. Aplicamos de forma aleatória
mutações às posições filhos
(operador mutação). Selecionamos
os melhores, entre pais e filhos e
iniciamos novo ciclo (iteração).
Cinco posições possíveis de um inibidor no sítio ativo da
CDK2. A melhor posição será selecionada a partir da função
ajuste (também chamada função escore). A superfície da
CDK2 está colorida para indicar potencial elétrico, com
vermelho indicando potencial negativo, azul positivo e
branco neutro.
49
Desenho de Fármacos
A simulação computacional finaliza ao
atingirmos um critério de parada, que
pode ser o número de repetições da
iteração, ou um critério de
convergência. As novas posições em
um novo ciclo não mostram grande
variação com relações às posições do
ciclo anterior.
A implementação dos algoritmos
evolucionários para a simulação de
docking está disponível em diversos
programas de computador. E são
usadas de forma intensa por
laboratórios farmacêuticos para o
desenvolvimento de novos fármacos.
Um dos maiores sucessos de tal
abordagem, foi a descoberta de
inibidores da protease do HIV,
mostrada ao lado. Tais inibidores são
usados no coquetel contra AIDS.
Inibidor no sítio ativo da HIV protease.
50
Desenho de Fármacos
Consideremos um sistema biológico
formado por uma proteína (P) e um
ligante (L) em solução. No sistema o
ligante é uma pequena molécula que
apresenta afinidade pela proteína, por
exemplo, o fármaco indinavir, um inibidor
a protease do HIV. Tal sistema possibilita
a formação de um complexo binário
proteína-ligante (PL), com constante de
reação indicada por k1 e constante
reversa de reação dada por k-1, ambos
descritos na equação reversível abaixo,
P + L PL
A reação pode ser caracterizada pela
constante de equilíbrio (Keq). Na prática
são usadas as constantes de dissociação
(Kd) e inibição (Ki).
k1
k-1
Formação do complexo proteína (P) com ligante (L),
complexo proteína-ligante (PL).
A estrutura em destaque é o complexo protease do HIV (P)
e o fármaco indinavir (L), usado no tratamento contra a
AIDS.
Interação Proteína-Ligante
51
Ligante
Proteína
As interações entre o inibidor de CDK2
(roscovitine mostrado ao lado) e a
proteína alvo (CDK2) são não covalentes.
Tais contatos intermoleculares
apresentam uma interação energética
favorável, o que leva o equilíbrio da
reação química indicada abaixo para o
lado da formação do complexo binário
(PL).
P + L PL
A análise da energia da interação
proteína-ligante indica a formação de um
composto de transição, onde a energia do
sistema é elevada e o composto formado
instável. Este estado é chamado estado
de transição, e a reação caminha para
uma menor energia, com a formação do
complexo binário PL.
k1
k-1
Estrutura molecular do inibidor de CDK2 roscovitine. A
figura foi gerada com o programa VMD e a opção CPK. As
coordenadas foram extraídas do arquivo PDB: 2a4l.
52
Interação Proteína-Ligante
+
Proteína + Ligante Estado de transição Complexo proteína-ligante
Energia
Coordenada da interação
Ea
Ed
E
Ea = Energia de ativação para associação
Ed = Energia de ativação para dissociação
E = Variação total da energia
53
Interação Proteína-Ligante
P + L PL
Podemos representar a formação do complexo proteína-ligante (PL) a partir dos
componentes proteína (P) e ligante(L), como esquematizado abaixo. Temos a proteína
(P) e o ligante (L) em solução, no caso do ligante apresentar afinidade pela proteína, o
equilíbrio desta reação será favorável à formação do complexo proteína-ligante (PL).
k1
k-1
54
Interação Proteína-Ligante
No caso do complexo binário proteína-
ligante (PL) apresentar uma energia
menor que as moléculas livres (proteína e
ligante sem interação), a formação do
complexo proteína-ligante ocorrerá de
forma espontânea, ou seja, sem a
necessidade de fornecimento de energia
para que ocorra a formação. Uma forma
de estudar a formação do complexo
binário é a partir da avaliação da variação
de energia livre de Gibbs (G), definida
pela seguinte equação,
G = H -TS
Onde H é a entalpia do sistema
proteína-ligante, T é a temperatura e S é
a variação da entropia do sistema. Na figura acima temos a formação espontânea de um
complexo proteína-ligante, pois este apresenta energia
menor que das moléculas livres (proteína e ligante sem
interação)
P
L
PL
55
Interação Proteína-Ligante
G = H -TS
Com G > 0 a reação não é favorável à formação do
complexo, como na figura inferior. Com G < 0 temos
uma reação favorável à formação do complexo, como na
figura superior.
L
P
G < 0
G > 0
O termo H indica a entalpia do sistema,
que representa as forças moleculares
envolvidas nas interações proteína-
ligante. O termo S é a variação da
entropia do sistema, que pode ser
entendida como a quantidade de energia
que não pode ser convertida em trabalho.
Na equação anterior, o produto da
temperatura absoluta (T) pela variação da
entropia (S), indica que um aumento da
entropia favorece a formação do
complexo binário.
Um valor negativo de G indica formação
espontânea do complexo.
PL
56
Interação Proteína-Ligante
O termo entálpico (H) contribui para variação da energia livre de Gibbs, por meio de
interações não-covalentes, resultantes da quebra ou formação desta interações, são
elas,
1) Ligações de hidrogênio. Esta ligação envolve um átomo doador (D) e um átomo
aceitador (A).
2) Interações eletrostáticas (iônicas e polares).
3) Interações aromáticas.
4) Interações dispersivas (van der Waals). 57
Interação Proteína-Ligante
O termo entrópico (S) está relacionado
com a variação de graus de liberdades
das moléculas presentes no sistema
proteína-ligante. Na parte de cima da
figura ao lado, temos o sítio ativo da
enzima (esquerda) e o ligante livre
(direita). Temos que lembrar que a
interação proteína-ligante não ocorre no
vácuo, o sistema apresenta moléculas
de água, que têm participação decisiva
na interação intermolecular. As cadeias
laterais dos resíduos de aminoácido do
sítio ativo estão livres para girarem, o
ligante também está livre para girar, se
apresentar ligações simples. A proteína e
ligante interagem com água.
Fonte: Caceres RA, Pauli I, Timmers LFS, de Azevedo Jr. WF. Curr. Drug
Targets 2008; 9(12): 1077-1083.
Sítio de ligação
solvatado
Complexo proteína-ligante solvatado
Contatos hidrofóbicos
Ligações de hidrogênio
58
Interação Proteína-Ligante
A figura ao lado ilustra a formação do
complexo proteína-ligante, a liberação
das moléculas de água tende a aumentar
a entropia do sistema, o que compensa a
perda de entropia devida à formação do
complexo. O ligante e a proteína perdem
liberdade na estrutura do complexo
binário.
Fonte: Caceres RA, Pauli I, Timmers LFS, de Azevedo Jr. WF. Curr. Drug
Targets 2008; 9(12): 1077-1083.
Sítio de ligação
solvatado
Complexo proteína-ligante solvatado
Contatos hidrofóbicos
Ligações de hidrogênio
59
Interação Proteína-Ligante
Quando o sistema proteína-ligante está
em equilíbrio, a formação do complexo
binário e a dissociação ocorrem, assim a
constante de equilíbrio (Keq) da reação é
dada por,
onde os termos [P], [L], [PL] indicam as
concentrações molares da proteína,
ligante e complexo proteína-ligante,
respectivamente. A partir da análise
dimensional da constante de equilíbrio
vemos claramente que sua unidade é M-1.
 
  LP
PL
k
k
K
1
1
eq 

Estrutura do complexo entre a proteína quinase
dependente de ciclina 2 (Cyclin-Dependent Kinase 2,
CDK2) e o inibidor roscovitine. 60
Interação Proteína-Ligante
A variação da energia livre de Gibbs da
interação intermolecular entre proteína e
ligante é dada pela seguinte equação,
onde Go é a variação da energia livre de
Gibbs padrão, ou seja, a variação em G
que acompanha a formação do complexo
no estado padrão de equilíbrio
(temperatura de 25oC, pressão de 100
kPa).
)
]L][P[
]PL[
ln(RTGG o

Estrutura cristalográfica da protease do HIV em
complexo com inibidor. A estrutura destaca as
interações intermoleculares entre um fármaco (ligante)
e sua proteína alvo.
Inibidores da Protease do HIV
61
No equilíbrio termodinâmico temos G = 0 (estado estacionário), assim temos,
O termo Go é chamado variação na energia livre de Gibbs da ligação (Gbinding),
assim temos,
)
]L][P[
]PL[
ln(RTG
)
]L][P[
]PL[
ln(RTG0
o
o


)
]L][P[
]PL[
ln(RTGbinding 
62
Inibidores da Protease do HIV
De uma forma geral, podemos expressar a afinidade proteína-ligante pela variação da
energia livre de Gibbs (Gbinding), quanto menor a energia, maior a afinidade do ligante
pela proteína. Essa grandeza física depende das concentrações do complexo
proteína-ligante [PL], das concentrações da proteína [P] e do ligante [L], bem como da
temperatura. O “R” (R=1,99 cal/mol.K = 8,31 J/mol.K) na equação indica a constante
dos gases.
A constante de dissociação (Kd) é dada por:
Assim temos como calcular a energia livre de uma interação proteína-ligante, a partir
da constante de dissociação determinada experimentalmente.
][
]][[
PL
LP
Kd 
)ln(
)ln()ln(
)
]][[
][
ln(
dbinding
d
d
binding
binding
K
K
K
RTG
RT
1
RTG
LP
PL
RTG



63
Inibidores da Protease do HIV
Vamos considerar o estudo do
desenvolvimento de drogas contra o HIV.
Vimos que o principal alvo para o desenho
de fármacos contra HIV é a protease do
HIV. Os dados sobre a constante de
dissociação (Kd) de 4 inibidores da
protease estão indicados na tabela
abaixo, todos feitos na temperatura de 25º
C. As estruturas são mostradas ao lado.
A partir dessa informação calcularemos a
variação na energia livre de Gibbs da
ligação (Gbinding).
Estruturas de alguns inibidores da protease do HIV. A)
Indinavir. B) Saquinavir. C) Ritonavir. D) Nelfinavir.Inibidor Kd (nM) Gbinding (kJ/mol)
Indinavir 1,07
Saquinavir 0,31
Ritonavir 0,6
Nelfinavir 0,0122
64
Inibidores da Protease do HIV
Estudo do indinavir. As constantes de dissociação foram determinadas a uma
temperatura de 25º C, para converter para Kelvin é só somar 273, assim temos T= 298
K.
   
kJ/mol51,2-G
J/mol51201,6-(-20,6556).2478,8236G
1,07.10ln.2478,82361,07.10ln.298.8,3182ln(KR.T.G
binding
binding
-9-9
dbinding


 )
Inibidor Kd (nM) Gbinding (kJ/mol)
Indinavir 1,07 -51,2
Saquinavir 0,31
Ritonavir 0,6
Nelfinavir 0,0122
Estrutura molecular do fármaco indinavir. A
figura foi gerada com o programa VMD e a
opção CPK. As coordenadas foram extraídas
do arquivo PDB: 1hsg.
65
Inibidores da Protease do HIV
A partir da análise da tabela abaixo, vemos que o inibidor que apresenta menor
energia livre de Gibbs de ligação é o nelfinavir, cujo a estrutura do complexo proteína-
ligante está mostrada abaixo.
Inibidor Kd (nM) Gbinding (kJ/mol)
Indinavir 1,07 -51,2
Saquinavir 0,31 -54,3
Ritonavir 0,6 -52,6
Nelfinavir 0,0122 -62,3
66
Inibidores da Protease do HIV
Moléculas
puras
Base de dados
moleculares
Cálculo da
afinidade
proteína-ligante
teórico
Seleção dos
melhores
resultados
Testes in vitro
Seleção de alvo
molecular
Simulações de
docking
Testes in vivo
in silico
in vitro
in vivo
Na descoberta de fármacos podemos usar as abordagens in silico. Para
isso temos que ter a estrutura 3D da proteína, que foi selecionada a
partir do conhecimento do sistema biológico, como descrito para a
CDK2. Usamos uma metodologia chamada docking molecular, para
procurarmos “chaves” em potencial que se encaixem do sítio ativo da
enzima. O teste de várias moléculas é chamado Virtual Screening. As
melhores moléculas selecionadas são submetidas aos testes
posteriores.
Procura por Novos Fármacos por Docking Molecular
67
Vocês são alunos do curso de ciências
biológicas, um curso de graduação.
Atualmente vocês estão dando os
primeiros passos de uma carreira
fascinante, mas que permitirão que vocês
se apaixonem cada vez mais pelo estudo
da natureza.
Dicas do mestre Jedi,
1) Paixão
2) Foco
3) Informação
4) Dedicação
Próximos Passos...
68
Graduação
Mestrado
Doutorado
Pós-doutorado
Livre-docência
(4 – 6 anos)
(2 – 4 anos)
(4 – 6 anos)
(1 – 2 anos)
(Indeterminado)
Dissertação de
mestrado
Tese de doutorado
O fluxograma ao lado indica os principais
passos da carreira científica. Após a
graduação vocês têm o curso de pós-
graduação stricto sensu, níveis de
mestrado e doutorado. Ao terminar o
doutorado vocês podem fazer estágio de
pós-doutoramento, que não é um curso,
mas dá uma experiência extra ao recém
doutor. Depois de muito anos de carreira
acadêmica, e você já ter orientado
mestres e doutores, poderá prestar o
concurso de livre docente, sendo este o
título acadêmico mais alto da carreira
científica.
69
Próximos Passos...
Biofísica
Bioinformática Química
Farmacologia
70
Física
Biofísica e sua Relação com Outras Disciplinas
Zoologia
Evolução
Biologia
molecular
Bioquímica
estrutural
Bioquímica
metabólica
Biologia
celular e
tecidual
O filme Prometheus, do diretor Ridley
Scott, traz uma trama onde a partir de
evidências arqueológicas a humanidade
encontra um convite para encontrarmos
os nossos criadores. O local do encontro
é a lua LV_223 do sistema Zeta 2 Reticuli.
A trama se passa no ano de 2093.
Fonte:
http://www.prometheus-
movie.com/articles/3
Foto do filme Prometheus de Ridley Scott.
Fonte da imagem:
http://www.prometheus-movie.com/gallery/view/img/482
Acesso em: 31 de maio de 2015.
71
Material Adicional (Filme Indicado)
Bio-inspired algorithms applied to
molecular docking simulations.
Heberlé G, de Azevedo WF Jr.
Curr Med Chem. 2011;18(9):1339-52.
Revista científica Current Medicinal Chemistry
Fonte da imagem:
http://benthamscience.com/journal/index.php?journalID=
cmc
Acesso em: 31 de maio de 2015.
72
Material Adicional (Artigos Indicados)
MolDock applied to structure-based virtual
screening.
De Azevedo WF Jr.
Curr Drug Targets. 2010 Mar;11(3):327-34.
Revista científica Current Drug Targets
Imagem disponível em: <
http://benthamscience.com/journal/index.php?journalID=
cdt#top >
Acesso em: 31 de maio de 2015.
73
Material Adicional (Revista Current Drug Targets)
Há diversas revistas
científicas internacionais
que tratam do
desenvolvimento de novos
fármacos, a partir do
conhecimento das
propriedades biológicas de
proteínas envolvidas em
patologias humanas. Uma
das mais conceituadas é a
revista “Current Drug
Targets”, que traz artigos
sobre proteínas alvos para
o desenvolvimento de
fármacos.
http://benthamscience.com/journal/editorial-board.php?journalID=cdt#top
COLEY DA. An Introduction to Genetic Algorithms for Scientist
and Engineers. World Scientific Publishing Co. Pte. Ltd. Toh Tuck
Link, Singapore, 1999.
EIBEN AE, SMITH SJ. Introduction to Evolutionary Computing.
Springer-Verlag, Berlin, 2007.
FOGEL DB. Evolutionary Computation: Toward a New Philosophy
of Machine Intelligence, IEEE Press, 1995.
GOLDBERG DE. Genetic Algorithms in Search, Optimization, and
Machine Learning. Addison Wesley Longman, Ins.,Indiana, USA,
1989.
Analysis of Quantum-Inspired Evolutionary Algorithm . IEEE
Transactions on Evolutionary Computation, Vol .6, No. 6, 2002.
HOLLAND JH. Adaptation in Natural and Artificial Systems. MIR
Press. Cambridge MA, 1992.
MICHALEWICZ Z.Genetic Algorithms + Data Structures =
Evolution Programs, Springer-Verlag, 3rd, revised and extended
edition, 1999.
SCHWEFEL H-P. Evolution and Optimum Seeking,Wiley Inter-
Science, 1995.
Storn R,Price K. Differential evolution – A simple and efficient
adaptive scheme for global optimization over continuous spaces.
Technical Report TR-95-012, International Computer Science
Institute, Berkeley, CA, 1995.
74
Referências
Última atualização em 31 de maio de 2015..

Mais conteúdo relacionado

Semelhante a Algoritmos evolucionários bioinspirados

2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia
2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia
2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em BiologiaLeandro de Castro
 
Aula: Introdução à ciência da melhoria - Proqualis
Aula: Introdução à ciência da melhoria - ProqualisAula: Introdução à ciência da melhoria - Proqualis
Aula: Introdução à ciência da melhoria - ProqualisProqualis
 
Modelagem matematicaaplicadaecologia
Modelagem matematicaaplicadaecologiaModelagem matematicaaplicadaecologia
Modelagem matematicaaplicadaecologiaLuiz Carlos Araújo
 
Teoria Geral dos Sistemas TGS
Teoria Geral dos Sistemas TGSTeoria Geral dos Sistemas TGS
Teoria Geral dos Sistemas TGSLuciana Roncarati
 
Poderes e limites da ciência - Ciclo de Conferências - Marta Agostinho
Poderes e limites da ciência - Ciclo de Conferências - Marta AgostinhoPoderes e limites da ciência - Ciclo de Conferências - Marta Agostinho
Poderes e limites da ciência - Ciclo de Conferências - Marta AgostinhoJoaquim Melro
 
Algoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesAlgoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesXequeMateShannon
 

Semelhante a Algoritmos evolucionários bioinspirados (8)

2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia
2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia
2006: Computação Bioinspirada - Novas Perspectivas para Pesquisa em Biologia
 
Aula tema 01 -
Aula tema 01 - Aula tema 01 -
Aula tema 01 -
 
Aula: Introdução à ciência da melhoria - Proqualis
Aula: Introdução à ciência da melhoria - ProqualisAula: Introdução à ciência da melhoria - Proqualis
Aula: Introdução à ciência da melhoria - Proqualis
 
Modelagem matematicaaplicadaecologia
Modelagem matematicaaplicadaecologiaModelagem matematicaaplicadaecologia
Modelagem matematicaaplicadaecologia
 
Teoria Geral dos Sistemas TGS
Teoria Geral dos Sistemas TGSTeoria Geral dos Sistemas TGS
Teoria Geral dos Sistemas TGS
 
Masp1 GQT.pdf
Masp1 GQT.pdfMasp1 GQT.pdf
Masp1 GQT.pdf
 
Poderes e limites da ciência - Ciclo de Conferências - Marta Agostinho
Poderes e limites da ciência - Ciclo de Conferências - Marta AgostinhoPoderes e limites da ciência - Ciclo de Conferências - Marta Agostinho
Poderes e limites da ciência - Ciclo de Conferências - Marta Agostinho
 
Algoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesAlgoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicações
 

Último

CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfFernandaMota99
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresAnaCarinaKucharski1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 

Último (20)

CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdf
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 

Algoritmos evolucionários bioinspirados

  • 2. O que é evolução? O que é um algoritmo? Podemos simular a evolução no computador? Podemos usar as ideias da evolução na resolução de problemas de otimização? 2
  • 3. A resolução de problemas computacionais, a partir do uso de princípios biológicos, não é algo novo, propostas relacionadas à aplicação de princípios biológicos em programação de computadores remontam as ideias de Alan Turing, um dos pais da computação moderna. Alan Turing foi o cientista responsável pela quebra do código secreto “Enigma”, usado pelos nazistas durante a Segunda Guerra Mundial. Os nazistas usavam um sistema de criptografia, que evitava que os aliados descobrissem o conteúdo das mensagem secretas enviadas via rádio. O Alan Turing estava interessado no uso de modelos biológicos, como paradigmas de programação de computadores. 3 Inspiração Biológica Simplificação das estruturas de um organismo vivo, mostradas como um anel circular. Alan Turing tinha como objetivo usar princípios biológicos como inspiração para programas de computador. Foto feita por Linus S. Azevedo (3/2/2013). Science Museum, London-UK.
  • 4. A Teoria da Evolução de Darwin tem papel fundamental no entendimento da evolução, e seu sucesso como teoria científica fez Theodosius Dobzhansky (1900-1975) a propor: “Nothing in Biology makes sense except in the light of evolution”. Esta proposição tem sido usada como introdução em muitos livros e seminários, para destacar a importância da teoria de Darwin. Embora sistemas biológicos são normalmente difíceis de se serem submetidos à modelagem computacional, os conceitos da evolução são simples, sendo a seleção natural o conceito mais importante. 4 Evolução, um Paradigma Computacional Foto feita por Linus S. Azevedo (4/2/2011). Natural History Museum, London-UK. Viste a página do museu: http://www.nhm.ac.uk/
  • 5. Normalmente os críticos da teoria de Darwin compartilham dois aspectos em comum. 1) Total desconhecimento do método científico. Toda teoria científica é uma modelagem da natureza, usando de um arcabouço teórico para explicar fenômenos naturais. Como tal pode ser aprimorada, sem contudo, em essência, está errada. 2) Desconhecimento da biologia molecular, onde aspectos moleculares da vida revelam a abrangência da evolução, que manifesta-se no nível molecular, como no caso da mioglobina de mamíferos marinhos. 5 Foto feita por Linus S. Azevedo (4/2/2011). Natural History Museum, London-UK. Viste a página do museu: http://www.nhm.ac.uk/ Evolução, um Paradigma Computacional
  • 6. O sucesso da Teoria da Evolução de Darwin, levou seus conceitos a serem usados por outras áreas do conhecimento, como, por exemplo, na computação. Há um conjunto de algoritmos baseados na teoria da evolução. Mas o que é um algoritmo? Algoritmos são descrições passo a passo de uma tarefa, passível de implementação computacional. Por exemplo, uma descrição passo a passo de como resolver uma equação de primeiro grau é um algoritmo. Cada programa de computador é a materialização de um algoritmo ou vários algoritmos. Quando você usa um programa, nada mais está fazendo que usando a implementação de algoritmos. Uma representação dos principais componentes de um algoritmo, está ilustrada no fluxograma ao lado. Lemos de cima para baixo, incialmente temos a entrada de dados, que sofrem um processamento e geram uma nova informação, a saída. Entrada de dados Processo (tarefas a serem executadas) Saída de dados 6 Algoritmos
  • 7. Colocando de uma forma mais simples ainda, podemos pensar no algoritmo como uma receita de bolo, por exemplo, a receita para prepararmos um bolo de leite condensado sem farinha de trigo. Para o bolo temos os seguintes ingredientes: -1 lata de leite condensado; -4 ovos pequenos (ou 3 grandes); -1 medida de leite igual ao volume da lata de leite condensado; -100 g de coco ralado e -uma colher de fermento. Os ingredientes são as entradas do algoritmo. . Ingredientes do nosso delicioso bolo de leite condensado sem farinha de trigo 7 Algoritmos
  • 8. O processo do algoritmo é a receita, no nosso bolo é a seguinte: coloque todos os ingredientes num liquidificador e mexa tudo (foto 1). Unte uma forma de bolo com manteiga (foto 2). Coloque o conteúdo do liquidificador na forma untada. Asse no forno convencional a 260º por aproximadamente 40 minutos (foto 3). Depois de 40 minutos temos o nosso bolo (foto 4)! A saída é nosso bolo de leite condensado. Assim, na solução de muitos problemas científicos e tecnológicos, temos algoritmos. O uso da inspiração da evolução biológica no desenvolvimento de algoritmos é chamado de algoritmo evolucionário (evolutionary algorithm). Foto 1 Foto 2 Foto 3 8 Algoritmos Foto 4
  • 9. As ideias da evolução têm sido usadas em otimização de soluções de problemas específicos. A otimização é um método computacional (algoritmo), que procura achar as condições ótimas para um dado problema. Para evitar uma abordagem mais matemática, vamos ilustrar a otimização com um exemplo, chamado problema do caixeiro viajante (travelling salesman problem). Neste problema temos um vendedor (caixeiro viajante), que tem que passar por diversas cidades, digamos 4 cidades. O objetivo do problema é achar o menor caminho possível, que leva o caixeiro viajante a passar pelas quatro cidades, sem repetir nenhuma cidade. Sabemos as distâncias entre todos os pares de cidades, dAB por exemplo, assim a solução ótima (otimizada) é aquela que leva a um menor percurso total. Este é o típico problema de otimização. C D A B dAC dAD dAB dBD dBC dCD 9 Otimização
  • 10. Apresentaremos alguns conceitos da evolução, usados como inspiração para os algoritmos evolucionários. Vamos considerar um ambiente que pode sustentar só um número restrito de indivíduos (joaninhas nas figuras aqui), a natureza seleciona aquelas joaninhas que lutam pelos os recursos limitados de forma mais eficiente, em outras palavras, a seleção natural dos indivíduos mais adaptados da população (as joaninhas mais adaptadas). Outro conceito básico da teoria de Darwin, é a variação do fenótipo entre indivíduos da população. Traços do fenótipo são aqueles aspectos físicos e de comportamento de um indivíduo, que estão relacionados com sua reação ao ambiente, por exemplo, a cor da joaninha. Os traços do fenótipo determinam seu ajuste (fitness) ao ambiente. 10 Indivíduo População A cor das joaninha é um traço do fenótipo Conceitos Básicos sobre Evolução
  • 11. Numa população, cada indivíduo mostra um conjunto de traços do fenótipo exclusivos, que estão continuamente sendo testados pelo ambiente [HOLLAND, 1992]. O ajuste de cada indivíduo pode ser quantificado numa análise matemática do sistema biológico, os indivíduos com maior sucesso apresentam um ajuste mais alto, ou seja, uma função ajuste (fitness function) mais alta. Veja que estamos modelando nosso sistema biológico, para capturar os aspectos essenciais do sistema, que possibilitarão o seu uso para resolver problemas de otimização. Colocando de outra forma, estamos simplificando o sistema biológico, para extrairmos suas características mais fundamentais, como a seleção natural. 11 Conceitos Básicos sobre Evolução Indivíduo População A cor das joaninha é um traço do fenótipo Referência: HOLLAND JH. Adaptation in Natural and Artificial Systems. MIR Press. Cambridge MA, 1992.
  • 12. População inicial da primeira geração População inicial da segunda geração Resumindo os conceitos básicos, uma população é um conjunto de indivíduos, cada um sendo considerado uma “ unidade de seleção”, seu sucesso depende de o quão bem adaptado ao ambiente eles estão. Indivíduos mais bem adaptados apresentam probabilidade mais alta de gerar descendentes, e, mutações ocasionais, dão origem a novos indivíduos que serão testados pelo ambiente. Assim, de uma geração para outra, há variação no genótipo (conjunto de genes) da população. Cada gene codifica uma proteína, e pode ser responsável por uma característica do indivíduo, ou um conjunto de genes ser o responsável por uma característica. Na figura vemos claramente diferenças nos padrões de cores, embora alguns indivíduos tenham sobrevivido de uma geração para outra sem alterações. 12 Conceitos Básicos sobre Evolução
  • 13. O processo de evolução pode ser visualizado usando uma superfície adaptativa (adaptive surface). No gráfico ao lado, a altura z representa a função ajuste (fitness function), também chamada de função escore (scoring function). Aqui, quanto maior a altura na superfície, melhor o ajuste do indivíduo. Os eixos x-y representam todas as combinações possíveis de dois traços do fenótipo. Cada ponto na superfície representa um indivíduo, com a combinação de traços do fenótipo representados pelo valores de x e y. Para exemplificar, o eixo x pode representar a capacidade de mimetismo (camuflagem) das joaninhas, e o eixo y a capacidade de escalar obstáculos. A combinação de x e y dará a função ajuste. Os picos mais altos na figura representam os indivíduos mais bem adaptados. 13 Conceitos Básicos sobre Evolução Ajuste x y Superfície adaptativa (adaptive surface)
  • 14. Os vales indicam indivíduos menos adaptados ao ambiente. Cada pico na superfície indica um ponto ótimo local (ou simplesmente máximo local). O pico mais alto o ponto de ótimo global (ou máximo global). A partir desta analogia, está clara as implicações da evolução em problemas de otimização, que podemos pensar que é representado pelo ponto de ótimo global. Num problema de otimização, como o do caixeiro viajante, nós podemos ter uma lista de soluções para o problema (diferentes rotas), e tentamos achar a melhor solução. O conjunto de soluções possíveis é chamado de espaço de busca, a superfície adaptativa, da figura ao lado, é uma representação gráfica do espaço de busca. Ajuste x y 14 Conceitos Básicos sobre Evolução Máximo local Máximo global Superfície adaptativa (adaptive surface)
  • 15. 75 2 1 37 2 1 18 2 0 9 2 1 4 2 0 2 2 0 1 Um dos primeiros algoritmos evolucionários foi o algoritmo genético (genetic algorithm). Na abordagem original dos algoritmos genéticos, foram usados números binários para a representação de cromossomos [GOLDENBERG, 1989]. Faremos uma introdução (ou revisão) da matemática básica envolvida na conversão de um sistema para outro. Um número binário é um número que usa somente os algarismos “zero” e “um”, para representar uma quantidade. Por exemplo, 101 em binário representa 5 no decimal. Veremos exemplos para esclarecer o processo. Vamos converter 75 em decimal para sua representação binária. Para isto temos que dividir continuamente “75” por “2”, o resto da divisão é o último algarismo do número binário equivalente ao 75, como mostrado ao lado. O último resultado da divisão “1” é o algarismo mais significativo do número binário. 15 Números Binários 75 = 100101110 2 Referência: GOLDBERG DE. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison Wesley Longman, Ins.,Indiana, USA, 1989.
  • 16. Para converter de binário (subscrito 2) de volta para decimal (subscrito 10), é ainda mais fácil. Temos que multiplicar “0” ou “1” por 2 elevado à potencia, que é a posição do número binário, começando na posição zero no lado direito, até o último número na sequência, como segue: 1.26 + 0.25 +0.24 + 1. 23 + 0.22 + 1.21 + 1.20 =64 + 0 + 0 + 8 + 0 + 2 + 1 = 75 Como ilustrado acima, somamos os resultados parciais das multiplicações, o resultado final é 75, o número na base decimal. 16 75 2 1 37 2 1 18 2 0 9 2 1 4 2 0 2 2 0 1 75 = 100101110 2 Números Binários
  • 17. Agora que sabemos como operar com números binários, usaremos tais números nos algoritmos genéticos. Em muitos algoritmos genéticos os indivíduos são representados por números binários, tal método tem o benefício de ser rápido na aplicação dos operadores genéticos, como mutação e crossover. Num número binário, a mutação é simplesmente uma mudança de “0” para “1” ou vice-versa. A essência de um algoritmo genético é o uso das ideias da evolução, por isso são classificados como algoritmo evolucionário. 17 75 2 1 37 2 1 18 2 0 9 2 1 4 2 0 2 2 0 1 75 = 100101110 2 Números Binários
  • 18. Assim, a implementação de um algoritmo genético usa as ideias da evolução de Darwin, de forma que os indivíduos de uma dada população são submetidos aos princípios da evolução, tais como, seleção natural, cruzamento (crossover) e mutação. Veja abaixo, um indivíduo será representado por uma string binária. Uma string binária é uma sequência de “0” e “1”. No algoritmo genético a string binária é convertida num número decimal, usando as operações matemáticas já vistas. 18 011011110001 Representação do genoma de um indivíduo na abordagem de algoritmo genéticos  1777 String binária Decimal relacionado à string binária Números Binários
  • 19. Um algoritmo genético típico usa três operadores para manipular uma população de indivíduos gerados aleatoriamente, são eles: seleção, crossover e mutação. Um diagrama esquemático dá uma visão geral destes passos para uma iteração (geração). A população inicial é formada de strings binárias geradas aleatoriamente, os números indicados à esquerda. 101101011010 000010000100 000001111111 100111100111 111110011000 000001011010 000010111100 110100111100 Strings binárias (populatção incial) Operador seleção Operador crossover Operador mutação 110100111010 101101011100 100110011000 1111111100111 101101011010 100111100111 111110011000 110100111100 Strings binárias (Nova população) 19 Algoritmo Genético
  • 20. O operador seleção é uma implementação computacional da “seleção natural”. É uma tentativa de aplicar a pressão evolucionária sobre indivíduos de uma população. Indivíduos com função ajuste (ou função escore) baixa serão descartados. Os indivíduos de mais alto valor de função ajuste apresentam maior probabilidade de sobreviver. Os sobreviventes farão parte da população, que começará a nova geração (iteração). 20 101101011010 000010000100 000001111111 100111100111 111110011000 000001011010 000010111100 110100111100 Strings binárias (populatção incial) Operador seleção Operador crossover Operador mutação 110100111010 101101011100 100110011000 1111111100111 101101011010 100111100111 111110011000 110100111100 Strings binárias (Nova população) Algoritmo Genético
  • 21. O operador crossover, também conhecido como recombinação, faz com que os indivíduos (strings binárias) troquem sua informação genética, de forma análoga à reprodução sexuada. Uma forma de implementar tal operador, é selecionar pares de indivíduos promovidos após a etapa de seleção (pais). Depois selecionamos aleatoriamente um local único (locus) (indicado pela barra vermelha vertical), dentro da string binária. Por último trocamos todos os dígitos à direita deste locus entre os dois pais, conforme indicado abaixo. 110100111010 101101011100 100110011000 1111111100111 110100111100 101101011010 100111100111 111110011000 Locus Locus Pais Descendentes Crossover 21 Algoritmo Genético
  • 22. O operador crossover é aplicado a um par de pais, parar gerar um par de novas strings binárias (descendentes). Um par de pais será submetido ao operador crossover, se e somente se, um número aleatório (Rn) for menor que a probabilidade de crossover (Pc). Rn está no intervalo [0,1], e um típico valor de Pc está no intervalo [0,4, 0,9]. 110100111010 101101011100 100110011000 1111111100111 110100111100 101101011010 100111100111 111110011000 Locus Locus Pais Descendentes Crossover Gera um número aleatório (Rn) Rn<=Pc? Escolha novo par de pais Sim Não 22 Algoritmo Genético
  • 23. Para ilustrar os princípios básicos do algoritmo genético, vamos resolver o seguinte problema simples, qual o número entre 0 e 4095 maximiza a função quadrática (f(x)=x2)? OK, não precisamos de um algoritmo genético para saber a resposta deste problema, tal problema é só para ilustrar o algoritmo. Na implementação deste algoritmo, temos strings binárias de comprimento 12 (11111111112 = 409510). Assim, vamos gerar números aleatórios entre 0 e 4095, como mostrado parcialmente na tabela abaixo. Esta faixa de números é nosso espaço de busca. String binária Decimal 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 0 0 1 0 0 4 0 0 0 0 0 0 0 0 0 1 0 1 5 0 0 0 0 0 0 0 0 0 1 1 0 6 0 0 0 0 0 0 0 0 0 1 1 1 7 0 0 0 0 0 0 0 0 1 0 0 0 8 .......... ..... 1 1 1 1 1 1 1 1 1 1 1 0 4094 1 1 1 1 1 1 1 1 1 1 1 1 4095 23 Algoritmo Genético
  • 24. Neste algoritmo simples, o operador seleção escolherá a melhor metade da população, usando a função quadrática como função ajuste (fitness function). Inicialmente temos que gerar a população de forma aleatória. Tal população é formada por strings binárias (genótipo), também chamados de cromossomos no jargão dos algoritmos genéticos. As strings binárias que serão convertidas em números decimais, e então a função quadrática será calculada. A função quadrática é nossa função ajuste. Nós classificamos a metade dos melhores indivíduos da população e, então, aplicamos o operador crossover. Estes novos indivíduos gerados pelo operador crossover serão submetidos ao operador mutação. Na mutação nem todos os indivíduos serão submetidos a este operador, só aqueles que passarem no critério de probabilidade de mutação (Pm). Na implementação do algoritmo genético, usaremos o critério de número de iterações (gerações), como critério de parada. Um típico conjunto de entrada para tal algoritmo é o seguinte: Population size (tamanho da população): Maximum number of iterations (Número máximo de iterações): Probability of crossover (probabilidade de crossover): Length of strings (tamanho das strings): Probability of mutation (probabilidade de mutação): 24 Implementação de um Algoritmo Genético Simples
  • 25. Gera uma população aleatória de strings binárias Converte cada string binária a um número decimal Calcula a função ajuste para cada indivíduo Seleciona parte da população para seguir (operador seleção) Seleciona pares de pais seguindo uma ordem aleatória Operador Crossover Mutação dos descendentes (operador mutação) Gera uma nova população Critério de parada satisfeito? Retorna os resultados Não Sim Ordena aleatoriamente os melhores pais 25 Implementação de um Algoritmo Genético Simples
  • 26. Inicialização. Números aleatórios são gerados (genótipo), para representar indivíduos numa população. Em algoritmos genéticos tais números são chamados cromossomos. Para cada cromossomo, uma função ajuste (função escore) será calculada. 26 Initialização A B CD
  • 27. Operador seleção (A). Agora um dos maiores processos da evolução é aplicado. Os cromossomos gerados aleatoriamente são selecionados, usando como critério a função ajuste. Esta função indica o quão adaptado um indivíduo está. Os indivíduos selecionados são chamados “pais”.27 Initialização A B CD
  • 28. Operador crossover (B). Os indivíduos selecionados (pais) podem gerar descendentes (filhos). Os pais são gerados aleatoriamente e seus cromossomos são combinados para gerar filhos. A posição de corte é chamada locus, sendo gerada aleatoriamente também. 28 Initialização A B CD
  • 29. Operador mutação (C). É permitido que os descendentes sofram mutação. Em bactéria uma taxa de 2.10-3 mutações por genoma por geração é observada. Aqui, o operador mutação possibilita a diversidade genética na simulação da evolução. 29 Initialização A B CD
  • 30. Ao final, os indivíduos (pais mais descendentes), tornam-se a população inicial para um novo ciclo. Com objetivo de manter a abordagem biológica, este ciclo é chamado de geração. Em computação um ciclo é chamado de iteração. 30 Initialização A B CD
  • 31. Este ciclo está completo e todo o processo é repetido até que um critério de parada seja satisfeito, como por exemplo, o número de iterações (gerações) máximo foi atingido. 31 Initialização A B CD
  • 32. Agora temos uma visão geral de como os algoritmos genéticos funcionam. Vamos ver alguns conceitos de como implementá-los. Os indivíduos nesta população podem ser representados por “0” e “1”, ou seja, uma string binária. 32 Initialização A B CD
  • 33. Na inicialização, números aleatórios são gerados para representar cada cromossomo na população. Cada linha (string binária) é um cromossomo de um indivíduo (equivalentes às joaninhas de cores diferentes). 101101011010 000010000100 000001111111 100111100111 111110011000 000001011010 000010111100 110100111100 Strings binárias 33 Initialização
  • 34. Initialização A Seleção. Para ilustrar a evolução, vamos considerar que queremos achar o máximo da função quadrática para um inteiro entre 0 e 4095. Agora calculamos a função (f=x2) para cada cromossomo. As strings binárias são convertidas para decimal e, então, calculamos a função. Selecionamos a melhor metade da população, segundo a função ajuste. 101101011010 000010000100 000001111111 100111100111 111110011000 000001011010 000010111100 110100111100 101101011010 100111100111 111110011000 110100111100 f = x2 2906 132 127 2535 3992 90 188 3388 Converte binário para decimal 2906 2535 3992 3388 Strings binárias Decimals (x) 8444836 17424 16129 6426225 15936064 8100 35344 11478544 Decimais (x) 8444836 6426225 15936064 11478544 Strings binárias Seleção dos melhores resultados 34 Função ajuste ou escore
  • 35. Nesta etapa temos o operador crossover. Somente os melhores pais são submetidos ao crossover, (recombinação). Inicialmente as strings binárias são aleatoriamente posicionadas e, então, a posição de crossover é escolhida. Esta posição indica onde a troca dos cromossomos acontecerá. Os novos cromossomos agora fazem parte da população, junto como os melhores pais. 101101011010 100111100111 111110011000 110100111100 Strings binárias 110100111010 101101011100 100110011000 1111111100111 110100111100 101101011010 100111100111 111110011000 101101011010 100111100111 111110011000 110100111100 Strings filhas Strings de posição aleatória 35 Strings pais Initialização A B
  • 36. 110100111010 101101011100 100110011000 1111111100111 101101011010 100111100111 111110011000 110100111100O operador mutação é usualmente aplicado a um bit da string, mudando-o de “0” para “1”, ou vice-versa. Na maioria das aplicações, é sugerida uma probabilidade de mutação (Pm) de 0,001, ou seja, uma mutação para cada 1000 bits. 36 Strings pais Strings filhas Initialização A B CD
  • 37. 110100111010 101101011100 100110011000 1111111100111 101101011010 100111100111 111110011000 110100111100Há diversas formas de implementar o operador mutação, uma forma é aplicá-lo a um bit (número “0” ou “1” na string) na posição 1/pm e gerar um número aleatório, se o número aleatório é maior que 0,5 muda o bit, caso contrário deixa como está. 37 Strings filhas Strings pais Initialização A B CD
  • 38. 110100111010 101101011100 100110011000 1111111100111 101101011010 100111100111 111110011000 110100111100 O operador mutação funciona para aumentar a diversidade genética, evitando que a população fique confinada a um máximo local. 110100111011 101101011100 100110011000 1111111100111 Strings filhas 101101011011 100111100111 111110011000 110100111100 Mutação 38 Strings pais Strings filhas Strings pais Initialização A B CD
  • 39. Depois da aplicação do operador mutação, os indivíduos tornam-se a população de uma nova iteração. O ciclo é repetido até que um critério de parada seja satisfeito. Podemos fixar o número de iterações, ou outro critério de parada. Um outro critério de parada possível, está baseado na variação da população, ou seja, se os indivíduos de uma geração não estão variando com relação à geração anterior. Quando não há variação, durante um certo número de gerações, não faz sentido continuar a simulação, pois não iremos gerar indivíduos que gerem melhores funções ajuste, assim podemos parar a simulação.110100111010 101101011100 100110011000 1111111100111 Strings binárias 101101011010 100111100111 111110011001 110100111100 39
  • 40. Para o problema descrito de maximização, temos numa simulação típica de algoritmos genéticos, as seguintes entradas: número de indivíduos da população inicial de 10 indivíduos, probabilidade de mutação de 0,01, probabilidade de crossover de 0,8 e número de iterações igual à 60. Com estes dados de entrada, observamos uma convergência para o valor correto após poucas iterações (gerações). O gráfico ao lado mostra os resultados de tal simulação. O eixo x indica o número de iterações (gerações) e o eixo y o valor máximo da função quadrática (função escore ou ajuste), obtido para cada geração. Como o indivíduo com maior valor para uma string binária de 12 algarismos é 1111111111112 , cujo o valor decimal é 4095, temos uma função quadrática de 16769025, que é alcançada na iteração 18. Depois disso não há alteração, dizemos que houve convergência. 40 Implementação de um Algoritmo Genético Simples
  • 41. Vimos um tipo de algoritmo evolucionário chamado de algoritmo genético. Há outros algoritmos que usam as ideias de evolução, mas são baseados em métodos computacionais distintos. Todos usam como inspiração a evolução, mas sua implementação computacional varia de algoritmo para algoritmo. Um dos algoritmos evolucionários de maior sucesso é o algoritmo de evolução diferencial. Na evolução diferencial temos os operadores clássicos dos algoritmos genéticos: seleção, crossover e mutação, como mostrados abaixo. Como uma implementação distinta do crossover. 41 Algoritmos Evolucionários (Evolução Diferencial) Operador seleção Operador crossover Operador mutação Critério de parada satisfeito ? Mostra resultados Sim Não
  • 42. O algoritmo de evolução diferencial executa a parte inicial de geração aleatória de uma população com N cromossomos, em seguida avalia a função ajuste de cada cromossomo. A novidade está na formação cromossomos filhos. O filhos são gerados da seguinte forma, para cada cromossomo pai na população, chamado aqui cromossomo j, são escolhidos aleatoriamente três outros cromossomos pais distintos, cromossomos k, l e m. Calcula-se um novo cromossomo, chamado aqui de n, da seguinte forma: cromossomo(n) = cromossomo(m) + peso.[cromossomo(k) - cromossomo(l)] o peso varia entre 0 e 2. O cromossomo novo (n) será incorporado à população, se ao gerarmos um número aleatório entre 0 e 1, este for menor que a probabilidade de crossover, caso não seja, o cromossomo filho não é considerado. Um último teste é realizado no cromossomo filho n, se este apresenta função escore maior que o cromossomo pai j, caso seja, o cromossomo j é deletado e substituído pelo cromossomo n. As etapas seguintes são idênticas ao algoritmo genético original. Estamos considerando aqui que a função ajuste de maior valor é a que representa um indivíduo mais bem adaptado. Veja, este critério depende do tipo de problema a ser resolvido pelo algoritmo evolucionário. 42 Algoritmos Evolucionários (Evolução Diferencial)
  • 43. Na implementação do algoritmo de evolução diferencial, como nos algoritmos genéticos, o primeiro passo é gerar indivíduos de forma aleatória, como no exemplo das joaninhas. 43 Algoritmos Evolucionários (Evolução Diferencial)
  • 44. No passo seguinte, calculamos a função ajuste, que indica a adaptação de cada indivíduo. Depois aplicamos o operador crossover, descrito anteriormente, onde três joaninhas pais (joaninhas cinza, branca e amarela) geram uma joaninha filha, para cada cromossomo pai (joaninha verde), como mostrado ao lado. 44 Cromossomo k Cromossomo l Cromossomo m cromossomo(n) = cromossomo(m) + peso.[cromossomo(k) - cromossomo(l)] Algoritmos Evolucionários (Evolução Diferencial) Cromossomo n Cromossomo j
  • 45. Considerando que o cromossomo n passou no teste da probabilidade de crossover, e que tem função ajuste maior que a do pai (cromossomo j), este ocupa o lugar do pai, ou seja, o cromossomo j é deletado e substituído pelo cromossomo n. Por último, aplicamos a mutação, onde selecionamos aleatoriamente cromossomos filhos. O critério para escolher se um cromossomo filho sofrerá mutação, é a probabilidade de mutação (Pm). Geramos um número aleatório entre 0 e 1, se este número for menor ou igual à probabilidade de mutação, a mutação ocorre, caso contrário não. Testamos a condição de mutação para todos os cromossomos filhos. Terminamos um ciclo da evolução, ou iteração. O processo se repete um número finito de vezes. 45 Cromossomo n Cromossomo n mutado Mutação Algoritmos Evolucionários (Evolução Diferencial) Cromossomo j é deletado e substituído pelo n
  • 46. Muitos fármacos são desenvolvidos a partir do uso de simulações computacionais, inclusive baseados nos algoritmos evolucionários (EAs). Para entender tais estudos, temos que ver a interação do fármaco com uma proteína alvo. Podemos usar a analogia da interação da chave com a fechadura, onde o fármaco é a chave e a proteína alvo é a fechadura. Especificamente, parte da proteína alvo é a fechadura. No caso de enzimas, a fechadura será o sítio ativo e o inibidor a chave. Temos que destacar que tal analogia é só para captarmos a essência da interação, o fenômeno da interação proteína- fármaco é mais complexo, mas para nossos propósitos será suficiente tal comparação. Interação da chave (fármaco) com a fechadura (sítio ativo da enzima) Fontedaimagem:http://www.sciencephoto.com/media/215959/enlarge Consultadoem15/06/2014 46 Desenho de Fármacos
  • 47. Na figura ao lado temos a representação gráfica da interação de um inibidor (chave) com o sítio ativo de uma enzima (fechadura). A estrutura representada é da CDK2 (cyclin-dependent kinase 2), uma enzima envolvida no controle da progressão do ciclo celular. A inibição dessa enzima leva a célula a parar a progressão do ciclo celular. Tal parada pode levar a célula à apoptose. Este efeito mostrou atividade anticancerígena. Por isso grande esforço tem sido feito no desenvolvimento de inibidores de CDK2. Na figura ao lado temos a superfície molecular da CDK2 interagindo com inibidor (em verde). As cores da superfície molecular da CDK2 representam a carga elétrica parcial, com vermelho indicando concentração de carga negativa, azul positiva e ciano neutro. 47 Desenho de Fármacos
  • 48. A interação de um possível inibidor de uma enzima pode ser obtida por meio de algoritmos evolucionários, num método chamado docking molecular (docagem molecular). Nesta simulação computacional, são tentadas várias posições possíveis para a chave (possível inibidor), mudando-se sua orientação relativa dentro do sítio ativo da enzima. Ao final da simulação, temos várias posições possíveis para a chave (possível inibidor) no sítio ativo da enzima (fechadura). O melhor resultado (a melhor posição da chave na fechadura) é escolhido a partir de uma função de ajuste (também chamada de escore). Zoom do sítio ativo da CDK2. Vemos o inibidor (chave) em verde bem acomodado no sítio ativo (fechadura). As cores da superfície molecular da CDK2 representam a carga elétrica parcial, com vermelho indicando concentração de carga negativa, azul positiva e ciano neutro. 48 Desenho de Fármacos
  • 49. Toda simulação de docking molecular tem duas etapas. Na primeira etapa são geradas posições para a molécula no sítio ativo da enzima. Numa segunda etapa selecionamos, dentro de um critério (função ajuste), a melhor posição. Na implementação do EA para docking molecular, as posições do inibidor (chave) são geradas aleatoriamente (indivíduos do EA). Depois selecionamos as melhores posições (posições pais) (operador seleção). No passo seguinte operamos o cruzamento entre as melhores posições (operador crossover), gerando as posições filhos. Aplicamos de forma aleatória mutações às posições filhos (operador mutação). Selecionamos os melhores, entre pais e filhos e iniciamos novo ciclo (iteração). Cinco posições possíveis de um inibidor no sítio ativo da CDK2. A melhor posição será selecionada a partir da função ajuste (também chamada função escore). A superfície da CDK2 está colorida para indicar potencial elétrico, com vermelho indicando potencial negativo, azul positivo e branco neutro. 49 Desenho de Fármacos
  • 50. A simulação computacional finaliza ao atingirmos um critério de parada, que pode ser o número de repetições da iteração, ou um critério de convergência. As novas posições em um novo ciclo não mostram grande variação com relações às posições do ciclo anterior. A implementação dos algoritmos evolucionários para a simulação de docking está disponível em diversos programas de computador. E são usadas de forma intensa por laboratórios farmacêuticos para o desenvolvimento de novos fármacos. Um dos maiores sucessos de tal abordagem, foi a descoberta de inibidores da protease do HIV, mostrada ao lado. Tais inibidores são usados no coquetel contra AIDS. Inibidor no sítio ativo da HIV protease. 50 Desenho de Fármacos
  • 51. Consideremos um sistema biológico formado por uma proteína (P) e um ligante (L) em solução. No sistema o ligante é uma pequena molécula que apresenta afinidade pela proteína, por exemplo, o fármaco indinavir, um inibidor a protease do HIV. Tal sistema possibilita a formação de um complexo binário proteína-ligante (PL), com constante de reação indicada por k1 e constante reversa de reação dada por k-1, ambos descritos na equação reversível abaixo, P + L PL A reação pode ser caracterizada pela constante de equilíbrio (Keq). Na prática são usadas as constantes de dissociação (Kd) e inibição (Ki). k1 k-1 Formação do complexo proteína (P) com ligante (L), complexo proteína-ligante (PL). A estrutura em destaque é o complexo protease do HIV (P) e o fármaco indinavir (L), usado no tratamento contra a AIDS. Interação Proteína-Ligante 51 Ligante Proteína
  • 52. As interações entre o inibidor de CDK2 (roscovitine mostrado ao lado) e a proteína alvo (CDK2) são não covalentes. Tais contatos intermoleculares apresentam uma interação energética favorável, o que leva o equilíbrio da reação química indicada abaixo para o lado da formação do complexo binário (PL). P + L PL A análise da energia da interação proteína-ligante indica a formação de um composto de transição, onde a energia do sistema é elevada e o composto formado instável. Este estado é chamado estado de transição, e a reação caminha para uma menor energia, com a formação do complexo binário PL. k1 k-1 Estrutura molecular do inibidor de CDK2 roscovitine. A figura foi gerada com o programa VMD e a opção CPK. As coordenadas foram extraídas do arquivo PDB: 2a4l. 52 Interação Proteína-Ligante
  • 53. + Proteína + Ligante Estado de transição Complexo proteína-ligante Energia Coordenada da interação Ea Ed E Ea = Energia de ativação para associação Ed = Energia de ativação para dissociação E = Variação total da energia 53 Interação Proteína-Ligante
  • 54. P + L PL Podemos representar a formação do complexo proteína-ligante (PL) a partir dos componentes proteína (P) e ligante(L), como esquematizado abaixo. Temos a proteína (P) e o ligante (L) em solução, no caso do ligante apresentar afinidade pela proteína, o equilíbrio desta reação será favorável à formação do complexo proteína-ligante (PL). k1 k-1 54 Interação Proteína-Ligante
  • 55. No caso do complexo binário proteína- ligante (PL) apresentar uma energia menor que as moléculas livres (proteína e ligante sem interação), a formação do complexo proteína-ligante ocorrerá de forma espontânea, ou seja, sem a necessidade de fornecimento de energia para que ocorra a formação. Uma forma de estudar a formação do complexo binário é a partir da avaliação da variação de energia livre de Gibbs (G), definida pela seguinte equação, G = H -TS Onde H é a entalpia do sistema proteína-ligante, T é a temperatura e S é a variação da entropia do sistema. Na figura acima temos a formação espontânea de um complexo proteína-ligante, pois este apresenta energia menor que das moléculas livres (proteína e ligante sem interação) P L PL 55 Interação Proteína-Ligante
  • 56. G = H -TS Com G > 0 a reação não é favorável à formação do complexo, como na figura inferior. Com G < 0 temos uma reação favorável à formação do complexo, como na figura superior. L P G < 0 G > 0 O termo H indica a entalpia do sistema, que representa as forças moleculares envolvidas nas interações proteína- ligante. O termo S é a variação da entropia do sistema, que pode ser entendida como a quantidade de energia que não pode ser convertida em trabalho. Na equação anterior, o produto da temperatura absoluta (T) pela variação da entropia (S), indica que um aumento da entropia favorece a formação do complexo binário. Um valor negativo de G indica formação espontânea do complexo. PL 56 Interação Proteína-Ligante
  • 57. O termo entálpico (H) contribui para variação da energia livre de Gibbs, por meio de interações não-covalentes, resultantes da quebra ou formação desta interações, são elas, 1) Ligações de hidrogênio. Esta ligação envolve um átomo doador (D) e um átomo aceitador (A). 2) Interações eletrostáticas (iônicas e polares). 3) Interações aromáticas. 4) Interações dispersivas (van der Waals). 57 Interação Proteína-Ligante
  • 58. O termo entrópico (S) está relacionado com a variação de graus de liberdades das moléculas presentes no sistema proteína-ligante. Na parte de cima da figura ao lado, temos o sítio ativo da enzima (esquerda) e o ligante livre (direita). Temos que lembrar que a interação proteína-ligante não ocorre no vácuo, o sistema apresenta moléculas de água, que têm participação decisiva na interação intermolecular. As cadeias laterais dos resíduos de aminoácido do sítio ativo estão livres para girarem, o ligante também está livre para girar, se apresentar ligações simples. A proteína e ligante interagem com água. Fonte: Caceres RA, Pauli I, Timmers LFS, de Azevedo Jr. WF. Curr. Drug Targets 2008; 9(12): 1077-1083. Sítio de ligação solvatado Complexo proteína-ligante solvatado Contatos hidrofóbicos Ligações de hidrogênio 58 Interação Proteína-Ligante
  • 59. A figura ao lado ilustra a formação do complexo proteína-ligante, a liberação das moléculas de água tende a aumentar a entropia do sistema, o que compensa a perda de entropia devida à formação do complexo. O ligante e a proteína perdem liberdade na estrutura do complexo binário. Fonte: Caceres RA, Pauli I, Timmers LFS, de Azevedo Jr. WF. Curr. Drug Targets 2008; 9(12): 1077-1083. Sítio de ligação solvatado Complexo proteína-ligante solvatado Contatos hidrofóbicos Ligações de hidrogênio 59 Interação Proteína-Ligante
  • 60. Quando o sistema proteína-ligante está em equilíbrio, a formação do complexo binário e a dissociação ocorrem, assim a constante de equilíbrio (Keq) da reação é dada por, onde os termos [P], [L], [PL] indicam as concentrações molares da proteína, ligante e complexo proteína-ligante, respectivamente. A partir da análise dimensional da constante de equilíbrio vemos claramente que sua unidade é M-1.     LP PL k k K 1 1 eq   Estrutura do complexo entre a proteína quinase dependente de ciclina 2 (Cyclin-Dependent Kinase 2, CDK2) e o inibidor roscovitine. 60 Interação Proteína-Ligante
  • 61. A variação da energia livre de Gibbs da interação intermolecular entre proteína e ligante é dada pela seguinte equação, onde Go é a variação da energia livre de Gibbs padrão, ou seja, a variação em G que acompanha a formação do complexo no estado padrão de equilíbrio (temperatura de 25oC, pressão de 100 kPa). ) ]L][P[ ]PL[ ln(RTGG o  Estrutura cristalográfica da protease do HIV em complexo com inibidor. A estrutura destaca as interações intermoleculares entre um fármaco (ligante) e sua proteína alvo. Inibidores da Protease do HIV 61
  • 62. No equilíbrio termodinâmico temos G = 0 (estado estacionário), assim temos, O termo Go é chamado variação na energia livre de Gibbs da ligação (Gbinding), assim temos, ) ]L][P[ ]PL[ ln(RTG ) ]L][P[ ]PL[ ln(RTG0 o o   ) ]L][P[ ]PL[ ln(RTGbinding  62 Inibidores da Protease do HIV
  • 63. De uma forma geral, podemos expressar a afinidade proteína-ligante pela variação da energia livre de Gibbs (Gbinding), quanto menor a energia, maior a afinidade do ligante pela proteína. Essa grandeza física depende das concentrações do complexo proteína-ligante [PL], das concentrações da proteína [P] e do ligante [L], bem como da temperatura. O “R” (R=1,99 cal/mol.K = 8,31 J/mol.K) na equação indica a constante dos gases. A constante de dissociação (Kd) é dada por: Assim temos como calcular a energia livre de uma interação proteína-ligante, a partir da constante de dissociação determinada experimentalmente. ][ ]][[ PL LP Kd  )ln( )ln()ln( ) ]][[ ][ ln( dbinding d d binding binding K K K RTG RT 1 RTG LP PL RTG    63 Inibidores da Protease do HIV
  • 64. Vamos considerar o estudo do desenvolvimento de drogas contra o HIV. Vimos que o principal alvo para o desenho de fármacos contra HIV é a protease do HIV. Os dados sobre a constante de dissociação (Kd) de 4 inibidores da protease estão indicados na tabela abaixo, todos feitos na temperatura de 25º C. As estruturas são mostradas ao lado. A partir dessa informação calcularemos a variação na energia livre de Gibbs da ligação (Gbinding). Estruturas de alguns inibidores da protease do HIV. A) Indinavir. B) Saquinavir. C) Ritonavir. D) Nelfinavir.Inibidor Kd (nM) Gbinding (kJ/mol) Indinavir 1,07 Saquinavir 0,31 Ritonavir 0,6 Nelfinavir 0,0122 64 Inibidores da Protease do HIV
  • 65. Estudo do indinavir. As constantes de dissociação foram determinadas a uma temperatura de 25º C, para converter para Kelvin é só somar 273, assim temos T= 298 K.     kJ/mol51,2-G J/mol51201,6-(-20,6556).2478,8236G 1,07.10ln.2478,82361,07.10ln.298.8,3182ln(KR.T.G binding binding -9-9 dbinding    ) Inibidor Kd (nM) Gbinding (kJ/mol) Indinavir 1,07 -51,2 Saquinavir 0,31 Ritonavir 0,6 Nelfinavir 0,0122 Estrutura molecular do fármaco indinavir. A figura foi gerada com o programa VMD e a opção CPK. As coordenadas foram extraídas do arquivo PDB: 1hsg. 65 Inibidores da Protease do HIV
  • 66. A partir da análise da tabela abaixo, vemos que o inibidor que apresenta menor energia livre de Gibbs de ligação é o nelfinavir, cujo a estrutura do complexo proteína- ligante está mostrada abaixo. Inibidor Kd (nM) Gbinding (kJ/mol) Indinavir 1,07 -51,2 Saquinavir 0,31 -54,3 Ritonavir 0,6 -52,6 Nelfinavir 0,0122 -62,3 66 Inibidores da Protease do HIV
  • 67. Moléculas puras Base de dados moleculares Cálculo da afinidade proteína-ligante teórico Seleção dos melhores resultados Testes in vitro Seleção de alvo molecular Simulações de docking Testes in vivo in silico in vitro in vivo Na descoberta de fármacos podemos usar as abordagens in silico. Para isso temos que ter a estrutura 3D da proteína, que foi selecionada a partir do conhecimento do sistema biológico, como descrito para a CDK2. Usamos uma metodologia chamada docking molecular, para procurarmos “chaves” em potencial que se encaixem do sítio ativo da enzima. O teste de várias moléculas é chamado Virtual Screening. As melhores moléculas selecionadas são submetidas aos testes posteriores. Procura por Novos Fármacos por Docking Molecular 67
  • 68. Vocês são alunos do curso de ciências biológicas, um curso de graduação. Atualmente vocês estão dando os primeiros passos de uma carreira fascinante, mas que permitirão que vocês se apaixonem cada vez mais pelo estudo da natureza. Dicas do mestre Jedi, 1) Paixão 2) Foco 3) Informação 4) Dedicação Próximos Passos... 68
  • 69. Graduação Mestrado Doutorado Pós-doutorado Livre-docência (4 – 6 anos) (2 – 4 anos) (4 – 6 anos) (1 – 2 anos) (Indeterminado) Dissertação de mestrado Tese de doutorado O fluxograma ao lado indica os principais passos da carreira científica. Após a graduação vocês têm o curso de pós- graduação stricto sensu, níveis de mestrado e doutorado. Ao terminar o doutorado vocês podem fazer estágio de pós-doutoramento, que não é um curso, mas dá uma experiência extra ao recém doutor. Depois de muito anos de carreira acadêmica, e você já ter orientado mestres e doutores, poderá prestar o concurso de livre docente, sendo este o título acadêmico mais alto da carreira científica. 69 Próximos Passos...
  • 70. Biofísica Bioinformática Química Farmacologia 70 Física Biofísica e sua Relação com Outras Disciplinas Zoologia Evolução Biologia molecular Bioquímica estrutural Bioquímica metabólica Biologia celular e tecidual
  • 71. O filme Prometheus, do diretor Ridley Scott, traz uma trama onde a partir de evidências arqueológicas a humanidade encontra um convite para encontrarmos os nossos criadores. O local do encontro é a lua LV_223 do sistema Zeta 2 Reticuli. A trama se passa no ano de 2093. Fonte: http://www.prometheus- movie.com/articles/3 Foto do filme Prometheus de Ridley Scott. Fonte da imagem: http://www.prometheus-movie.com/gallery/view/img/482 Acesso em: 31 de maio de 2015. 71 Material Adicional (Filme Indicado)
  • 72. Bio-inspired algorithms applied to molecular docking simulations. Heberlé G, de Azevedo WF Jr. Curr Med Chem. 2011;18(9):1339-52. Revista científica Current Medicinal Chemistry Fonte da imagem: http://benthamscience.com/journal/index.php?journalID= cmc Acesso em: 31 de maio de 2015. 72 Material Adicional (Artigos Indicados) MolDock applied to structure-based virtual screening. De Azevedo WF Jr. Curr Drug Targets. 2010 Mar;11(3):327-34. Revista científica Current Drug Targets Imagem disponível em: < http://benthamscience.com/journal/index.php?journalID= cdt#top > Acesso em: 31 de maio de 2015.
  • 73. 73 Material Adicional (Revista Current Drug Targets) Há diversas revistas científicas internacionais que tratam do desenvolvimento de novos fármacos, a partir do conhecimento das propriedades biológicas de proteínas envolvidas em patologias humanas. Uma das mais conceituadas é a revista “Current Drug Targets”, que traz artigos sobre proteínas alvos para o desenvolvimento de fármacos. http://benthamscience.com/journal/editorial-board.php?journalID=cdt#top
  • 74. COLEY DA. An Introduction to Genetic Algorithms for Scientist and Engineers. World Scientific Publishing Co. Pte. Ltd. Toh Tuck Link, Singapore, 1999. EIBEN AE, SMITH SJ. Introduction to Evolutionary Computing. Springer-Verlag, Berlin, 2007. FOGEL DB. Evolutionary Computation: Toward a New Philosophy of Machine Intelligence, IEEE Press, 1995. GOLDBERG DE. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison Wesley Longman, Ins.,Indiana, USA, 1989. Analysis of Quantum-Inspired Evolutionary Algorithm . IEEE Transactions on Evolutionary Computation, Vol .6, No. 6, 2002. HOLLAND JH. Adaptation in Natural and Artificial Systems. MIR Press. Cambridge MA, 1992. MICHALEWICZ Z.Genetic Algorithms + Data Structures = Evolution Programs, Springer-Verlag, 3rd, revised and extended edition, 1999. SCHWEFEL H-P. Evolution and Optimum Seeking,Wiley Inter- Science, 1995. Storn R,Price K. Differential evolution – A simple and efficient adaptive scheme for global optimization over continuous spaces. Technical Report TR-95-012, International Computer Science Institute, Berkeley, CA, 1995. 74 Referências Última atualização em 31 de maio de 2015..