Computação evolucionária

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

A computação evolucionária é um ramo da ciência da computação que tem por base os mecanismos evolutivos encontrados na natureza. Esses mecanismos estão diretamente relacionados com a teoria da evolução de Darwin, onde ele afirma que a vida na Terra é o resultado de um processo de seleção, feito pelo meio ambiente, em que somente os mais aptos e adaptados possuirão chances de sobreviver e, consequentemente, reproduzir-se.

História[editar | editar código-fonte]

Os primeiros passos dados na área da Computação Evolucionária (CE) foram de biólogos e geneticistas. Estes tinham interesse em simular os processos vitais de um ser humano em um computador. Dentre os cientistas destacam-se os nomes de Barricelli, Fraser, Martin e Cockerham. Na década de 60, um grupo de cientistas, em que o nome de Holland se destaca, iniciaram um estudo em que era implementada uma população de n indivíduos onde cada um possuía seu genótipo e estava sujeito a operações de seleção, recombinação e mutação. Tal estudo foi modelado e passou a ser conhecido como algoritmo genético. Holland chegou a propor um quarto operador, a inversão. Entretanto ele não obteve destaque na comunidade científica, não vindo a ser muito utilizado. Uma das primeiras aplicações na área de CE foi relacionada a algoritmos genéticos. Bagley, em 1967, utilizou em uma parte de sua dissertação Algoritmos Genéticos para desenvolver sistemas classificadores.

Idéias básicas[editar | editar código-fonte]

A CE possui as três seguintes ideias básicas: criação de uma população de soluções, criação de uma função de avaliação e criação dos operadores de seleção, recombinação e mutação.

a) A criação de uma população de soluções

É necessário que haja uma população inicial de soluções possível para o problema proposto. Essa população pode ser gerada aleatoriamente ou através de alguma técnica. Cada indivíduo dessa população terá registrado em si os parâmetros que descrevem a sua respectiva solução para o problema.

b) A criação de uma função de avaliação

A função de avaliação terá o trabalho de julgar a aptidão de cada indivíduo da população. Ela não precisará deter o conhecimento de como encontrar a solução do problema. Somente precisará julgar a qualidade da solução que está sendo apresentada por aquele indivíduo. A função é definida através da codificação das soluções para o problema para que se possa avaliar se o indivíduo está ou não apto.

c) A criação dos operadores seleção, recombinação e mutação.

É necessário gerar novas populações para que se encontre o mais apto. Essas são chamadas de gerações e são obtidas através da aplicação de três operadores: seleção, recombinação e mutação. Na seleção escolhem-se os indivíduos mais aptos para gerarem descendentes. Essa reprodução pode ocorrer de duas formas: um indivíduo gera a descendência ou um par de indivíduos geram a descendência. O primeiro caso simula uma reprodução assexuada e o segundo uma reprodução sexuada. É importante destacar que os descendentes serão diferentes de seus antecedentes. Na recombinação ocorre a troca de material genético entre o par de antecedentes definindo assim a carga genética dos descendentes. Dessa forma, cada descendente desse par herdará uma parte do material genético de seus antecedentes escolhidos de forma aleatória. E na mutação ocorrem mudanças aleatórias no material genético do indivíduo. Dessa forma o indivíduo estará mais apto dentro daquela população. A simulação da passagem de gerações ocorre na repetição deste ciclo, ou seja, a cada iteração.

Áreas da computação evolucionária[editar | editar código-fonte]

Os estudos relacionados a CE não pararam. Outras áreas surgiram e ganharam importância no meio científico. Recentemente, novas concepções de meta-heurísticas emergiram e todas diretamente relacionadas com a CE, por exemplo Formações de Cristais, Colônia de Formigas e Enxame de Partículas. Tais propostas também têm uma forte motivação física ou biológica tais como bandos de pássaros, cardumes, enxames, entre outros.

Geração Evolucionaria dos Computadores.[editar | editar código-fonte]

Geração zero (século XVII)

Elementos puramente mecânicos e “dedicados”. Dentre as principais máquinas dessa geração, citamos:

Calculadora de Pascal: O filósofo, físico e matemático francês Blaise

Pascal criou uma máquina (a Pascaline) para ajudá-lo nos negócios do pai. A pascaline foi a primeira máquina de calcular mecânica, com base em rodas e engrenagens para realizar somas e subtrações.

Calculadora de Leibnitz o filósofo e matemático alemão von Leibnitz introduziu o conceito de realizar multiplicações e divisões através de adições e subtrações sucessivas. Sua máquina era capaz de realizar as 4 operações básicas, mas era muito suscetível a erros.

Placa Perfuradora: „Joseph Marie Jacquard introduziu o conceito de armazenamento de informações em placas perfuradas, para controlar uma máquina de tecelagem. „Causou bastante desemprego na época Arithmometer: a primeira calculadora realmente comercializada com sucesso. Ela fazia multiplicações com o mesmo princípio da calculadora de Leibnitz e com a assistência do usuário efetuava as divisões.

Máquina Diferencial de Babbage: O matemático Babbage construiu um modelo para calcular tabelas de funções (logaritmos, funções trigonométricas, etc.) sem a intervenção de um operador humano, que chamou de Máquina das diferenças; Sua única operação era a adição, mas realizava um largo número de funções úteis pela técnica de diferenças finitas.

continua...

http://www.dca.ufrn.br/~lmarcos/courses/DCA800/pdf/Apresentacao_historico.pdf

Ver também[editar | editar código-fonte]

Ligações externas[editar | editar código-fonte]