6.2 Algoritmo Gen´ etico
6.2.2 O problema de interesse
Nesta aplica¸c˜ao, especificamente, deseja-se obter x0, t0 e, claro, α que minimizem
a soma dos quadrados das diferen¸cas obtidos da aplica¸c˜ao dos dados a (5.18) e (5.19): fg1 = X i √ t0 + p Ti x0Xi − p Ti − √ t0 x20 − 4t0 p Tiα 2 (6.3) fg2 = X i p Ti − √ t0 Xi2 + √ t0 + p Ti x0Xi − 4 √ t0Tiα 2 (6.4)
Chamando de g uma fun¸c˜ao gen´erica que se deseje minimizar, ´e simples com- preender que um indiv´ıduo zk cumprir´a t˜ao melhor esse objetivo quanto maior for
o valor de
F it(zk) = 1 −
g(zk)
maxig(zi)
, (6.5)
e esta fun¸c˜ao, (6.5), ´e usada aqui a fim de determinar o fitness de um indiv´ıduo, ou seja, qu˜ao bem adaptado ao meio ele est´a.
A popula¸c˜ao, ao se reproduzir, deve gerar mais indiv´ıduos mais parecidos com os mais adaptados e para garantir computacionalmente essa caracter´ıstica, uma alternativa ´e usar o Algoritmo da Roleta. Neste algoritmo, a cada indiv´ıduo ´e atribu´ıdo um percentual de uma roleta, proporcional ao seu fitness, e, ent˜ao, a probabilidade de um indiv´ıduo ser selecionado ´e tanto maior quanto maior for a adequa¸c˜ao do indiv´ıduo.
Uma vez selecionados os indiv´ıduos mais adaptados, eles s˜ao pareados e ocorre o processo de crossover. Existem muitas possibilidades para este processo. Aqui, para cada par de progenitores ´e gerado um vetor de zeros e uns, de acordo com a distribui¸c˜ao binomial e com uma probabilidade pc pr´e-estipulada e, se `a posi¸c˜ao desse vetor gerado aparece o valor um e os progenitores tˆem o i-´esimo gene dife- rente, os genes s˜ao trocados.
Al´em disso, ´e sabido que, em processos gen´eticos existe uma probabilidade, aqui chamada de pm, de ocorrer uma muta¸c˜ao. A muta¸c˜ao neste trabalho ´e programada do seguinte modo: para cada novo indiv´ıduo, cria-se tamb´em um vetor com n´umero de entradas igual ao n´umero de genes do indiv´ıduo, gerado com zeros e uns, de acordo com a distribui¸c˜ao binomial com probabilidade pm, e a cada posi¸c˜ao em que houver um 1 no vetor de muta¸c˜ao, o gene do indiv´ıduo ´e trocado.
Aqui tomou-se pm = 0.2. J´a o parˆametro de crossover utilizado ´e pc = 0.3. Os demais parˆametros usados na implementa¸c˜ao s˜ao:
• Tamanho da popula¸c˜ao: 50 indiv´ıduos; • N´umero m´aximo de gera¸c˜oes: 5000;
• Cada parˆametro a ser ajustado era representado por 12 cromossomos; • O dom´ınio permitido para o coeficiente de difus˜ao: [0, 1];
• O dom´ınio permitido para o x0: [10−3, miniXi];
• O dom´ınio permitido para o t0: [10−3, miniTi]
Vale observar que o controle sobre o valor assumido pelos parˆametros que esta- vam sendo ajustados era feito por meio da fun¸c˜ao converte que consta no Apˆendice D. Uma estimativa foi considerada bem sucedida quando, em menos gera¸c˜oes
Figura 6.1: Exemplo de progress˜ao dos ajustes dos parˆametros usando o algoritmo gen´etico.
do que o n´umero m´aximo estabelecido, o fitness da popula¸c˜ao atingia 0.95 ou a estimativa de algum dos parˆametros diferia de menos do que a tolerˆancia pr´e- estabelecida, a saber, para x0 e t0, 0.05 e para α, 0.0001, posto que este era o
dos parˆametros para uma amostra aleat´oria gerada com α = 0.5. Os dom´ınios para x0 e t0 eram, respectivamente, [10−3, 0.28] e [10−3, 0.4].
Assim, realiza-se uma busca cega em um espa¸co quadridimensional posto que deseja-se determinar os trˆes parˆametros originais e, para tanto, emprega-se a ava- lia¸c˜ao do ajuste dos indiv´ıduos `a express˜ao de fitness. A fim de que o objetivo seja atingindo, a popula¸c˜ao inicial gerada aleatoriamente vai sendo selecionada a cada gera¸c˜ao e, tamb´em, vai tendo os valores dos indiv´ıduos pertubados, pelos processos de muta¸c˜ao e crossover, a fim de que, combinados, estes procedimentos permitam que todo o espa¸co seja explorado e que os melhores resultados possam indicar a melhor tendˆencia a seguir.
Tendo em m˜aos as express˜oes que modelam o problema e conhecendo as t´ecnicas que ser˜ao usadas para ajustar tais express˜oes aos dados, parte-se para a discuss˜ao do tratamento dos dados. Tal tratamento, por ora, ser´a empregado aos dados gerados, a fim de validar, ou n˜ao, a t´ecnica e/ou determinar seu grau de precis˜ao. Uma vez determinada a (extens˜ao da) validade da t´ecnica, o mesmo tratamento poder´a ser aplicado aos dados reais sem que atrapalhem o desempenho do m´etodo de determina¸c˜ao dos coeficientes de difus˜ao. Ao tratamento, ent˜ao.
Cap´ıtulo 7
Ensaios Num´ericos
Antes de mais nada ´e importante que se esclare¸ca a que v˜ao se referir, via de regra, os trˆes termos seguintes:
‘Evento’: o termo ser´a usado aqui para designar cada par (t, x) obtido atrav´es das simula¸c˜oes cujo desenvolvimento consta do Cap´ıtulo 4;
‘Amostra’: referir-se-´a a um conjunto de eventos. Representa o conjunto de dados que se obt´em quando da ocorrˆencia de uma epizootia numa determinada regi˜ao ao longo de certo per´ıodo de tempo, por exemplo;
‘Cen´ario’: um conjunto de amostras; seria a combina¸c˜ao de conjuntos de dados de diversas regi˜oes, supondo que um mesmo coeficiente de difus˜ao estivesse relacionado a todos os casos.
Assim, de posse de um conjunto de dados formado por locais e datas de ocorrˆencia de eventos, como determinar, partindo da hip´otese de que o processo pode ser entendido como um processo difusivo, o coeficiente de difus˜ao?
Para responder a essa pergunta ´e que se desenvolveu todo este trabalho e, mais especificamente, o modelo sobre o qual trata o Cap´ıtulo 5. Pouco falta para que os resultados possam ser apresentados. E parte importante do que falta s˜ao os detalhes por tr´as da gera¸c˜ao dos dados usados na valida¸c˜ao da t´ecnica e que s˜ao esclarecidos a seguir.
7.1
Realiza¸c˜ao dos ensaios
Para a valida¸c˜ao da t´ecnica s˜ao necess´arios, como se vem dizendo, dados relativos a cen´arios difusivos e cujos coeficientes que os geraram sejam conhecidos. A ne- cessidade da disponibilidade desses dados e, por isso, de ser capaz de obtˆe-los foi causa da existˆencia dos Cap´ıtulos 3 e 4. Resta, ent˜ao, apenas, abordar os detalhes computacionais.
Primeiramente deve se ter em mente que, a solu¸c˜ao num´erica base para a gera¸c˜ao dos dados, daqui por diante, tem o dom´ınio temporal e o espacial subdi- vididos em 128 intervalos. E, j´a se sabe que, para cada tempo, a solu¸c˜ao num´erica permite conhecer a concentra¸c˜ao que resolve o problema (3.2)-(3.5). ´E importante esclarecer, tamb´em, que todos os programas foram escritos e executados no Matlab 7.0.1 e todos os c´odigos podem ser vistos nos Apˆendices A, [?] e [?].
Geralmente, num processo difusivo real(ista) n˜ao-laboratorial, n˜ao se pode ter conhecimento de todos os eventos em todos os pontos do dom´ınio espa¸co-temporal. Para retratar com fidelidade tal situa¸c˜ao, aqui, opta-se, ent˜ao, por sortear os tempos de ocorrˆencia dos eventos. Sorteio este que ´e baseado numa distribui¸c˜ao uniforme de inteiros entre 1 e DT , onde DT ´e o maior n´umero de intervalos de tempo entre eventos permitido.
Enquanto que quanto menor DT mais eventos pr´oximos no tempo ser˜ao obtidos; numa situa¸c˜ao real, DT = N T , ou seja, o tempo m´aximo entre dois eventos poderia chegar a ser todo o intervalo temporal.
O valor do parˆametro DT , transposto para um caso real, estaria relacionado com a capacidade de vigilˆancia acerca do evento de interesse. Uma maior porcen- tagem de casos conhecidos relacionar-se-ia com um valor de DT bastante pequeno. E um valor alto para DT , relativamente ao n´umero de subdivis˜oes temporais, cor- responderia a situa¸c˜oes em que pouco se pode saber sobre o que acontece dentro do dom´ınio.
Por outro lado, DT ’s baixos podem levar a erros na determina¸c˜ao do coeficiente de difus˜ao, uma vez que, se muitos eventos s˜ao for¸cosamente gerados, a probabi- lidade de eventos mais distantes em tempos menores acaba por ser incrementada. Aqui trabalha-se com 2 valores para DT: DT=10 e DT aleat´orio entre 1 e 128 para, assim, poder analisar o impacto da falta de controle sobre o tempo entre eventos em rela¸c˜ao `a qualidade dos resultados.
Por fim, do jeito que o c´odigo foi montado, as exigˆencias feitas sobre os tempos entre os eventos s˜ao de que, quando somados, n˜ao ultrapassem o tempo final e de que assumam, no m´aximo, o valor DT ; assim, cada amostra, e consequentemente cen´ario, poder´a ter um n´umero diferente de eventos e, claro, eventos em tempos distintos, como ocorre com os eventos de que se toma conhecimento na natureza. A cada passo temporal sorteado, ´e gerado um evento de acordo com a dis- tribui¸c˜ao da concentra¸c˜ao naquele instante, conhecida gra¸cas `a solu¸c˜ao num´erica obtida atrav´es do processo apresentado no Cap´ıtulo 3. Ao fim do processo, ter- se-´a em m˜aos um conjunto de dados relacionando os tempos dos eventos e suas localiza¸c˜oes, do mesmo tipo que seria obtida numa situa¸c˜ao real.
De posse das express˜oes que relacionam o coeficiente de difus˜ao e um conjunto de dados, antes de aplicar o m´etodo, ´e preciso ainda lapidar os dados. A seguir dedica-se a aten¸c˜ao necess´aria a tal tratamento.