Programa weasel
O programa weasel ou weasel de Dawkins é uma experiência mental e uma variedade de simulações computacionais que ilustram isso.
A experiência de raciocínio foi proposta e formulada por Richard Dawkins, e foi a primeira simulação escrita por ele; diversas outras implementações do programa foram escritas por outros. Dawkins fez uma declaração salientando que esta experiência não tinha a intenção de mostrar como a evolução funciona de verdade, mas tenta mostrar o poder de um mecanismo de seleção em um algoritmo evolutivo. Dawkins reconhece que, em certa medida, seu modelo é "enganoso em aspectos importantes".[1]
Algoritmo
Richard Dawkins não forneceu o código fonte de seu programa. Nós vamos usar um algoritmo genético padrão sem crossing-over que poderia rodar como se segue.
- Inicie com uma sequência (string) aleatórea de 28 caracteres.
- Faça 100 cópias da sequência.
- Compare cada nova sequência com a sequência alvo "METHINKS IT IS LIKE A WEASEL", e dê a cada uma um escore (para cada letra no lugar correto adicione 1 ponto).
- Enquanto nenhuma sequência atingiu o escore perfeito (28) faça
- Para cada sequência:
- Para cada caracter na sequência:
- Com uma probabilidade de 5% por caracter, troque o caracter por um caracter aleatóreo.
- Compare a sequência com o alvo "METHINKS IT IS LIKE A WEASEL", e adicione 1 ponto ao escore para cada letra que esteja no lugar correto.
- Escolha a sequência que tenha o mais alto escore e substitua todas as 100 cópias com esta sequência.
O conjunto de caracteres conjunto é o conjunto de letras maiúsculas acrescido do espaço em branco. Talvez Dawkins possa ter usado outra estratégia para criar novas gerações. Ele pode ter usado a técnica de crossing-over, escolhendo as melhores pontuações e gerando novas cadeias a partir delas por crossing-over. Isto só alteraria a taxa de convergência do algoritmo.
Crítica
O programa weasel de Dawkins tem estado sujeito a muito debate. Um problema menor com o algoritmo de Dawkins é que ele não foi concebido tendo em conta as taxas reais de ocorrência das mutações e seleção natural na natureza, resultando numa taxa de convergência muito mais rápida do que poderia ocorrer em vigor.[2] William Dembski afirma que a escolha de uma sequência alvo pré-especificada como Dawkins faz é profundamente teleológica.[3] Dembski criticou a suposição de que as fases intermitentes de tal progressão são selecionadas por princípios evolutivos, e afirma que muitos genes que são úteis em conjunto não poderiam ter surgido de forma independente.
Objetivo pré-selecionado
O primeiro problema com o algoritmo é que ele tem uma meta pré-selecionada.[4] Royal Truman apontou que "Uma vez que uma carta cai no lugar, o programa de Dawkins garante que ela não irá sofrer mutações novamente".[5] Os exemplos de Dawkins em seu livro "O Relojoeiro Cego" e na revista New Scientist parecem levar o leitor a essa conclusão. Essa não é a verdade sobre o algoritmo. E por quê? Porque este é um algoritmo genético que mantém as melhores frases com base em uma pontuação global da sentença e, eventualmente, uma carta no lugar certo pode sofrer mutação em uma frase onde muitas outras cartas foram para o lugar certo, de modo que a pontuação geral da frase é melhor. Mas o fato é que o algoritmo está balanceado de tal forma que a possibilidade de uma frase com uma letra no lugar correto mutar para uma letra incorreta nesta posição é muito pequena.
Mas na evolução Darwiniana, a natureza não tem nenhum objetivo pré-selecionado. Quando se fixa em um objetivo, ele está, de fato, exercendo o papel de Deus ou de um designer inteligente. As mudanças que supostamente levam a um processo de evolução são causadas por mutações aleatórias, deriva genética e o processo de seleção natural e seleção sexual. Fixar um objetivo é fazer com que o processo de seleção natural controle completamente a forma final da frase criada. Em cada uma de suas características. Isso realmente complica o trabalho dos evolucionistas porque eles têm que encontrar em cada um dos genes de todas as criaturas uma causa com base na seleção natural para explicar o aparecimento desse traço.
Seleção natural perfeita
Jonathan Sarfati ressalta que, no programa de Dawkins, a seleção natural é perfeita[6]:
a correspondência que está um pouco mais perto é a única que é selecionada para reproduzir para a próxima geração; é como se qualquer outra coisa fosse uma combinação genética letal.[6]
Vantagens irrealistas da evolução
Walter ReMine assinala que, em sua experiência, Dawkins não permite mutações recessivas, epistasia, efeitos poligênicos e pleiotrópicos que, normalmente, tornariam a evolução mais lenta.[7]
Formas intermediárias
Outra falha na argumentação que Dawkins fez ao usar este algoritmo, é considerar que todas as formas de vida intermediárias são viáveis e se reproduzem tão bem quanto as outras. Timothy G. Standish, professor de biologia da Andrews University em Berrien Springs, Michigan, apontou que "Alterar mesmo um único aminoácido em uma proteína pode alterar a sua função dramaticamente".[8] ele continua dizendo:
“ | Essa idéia de que a seleção natural, vai fixando os aminoácidos a medida que constrói proteínas funcionais também não é suportada pelos dados. Células não despejam grandes grupos aleatórios de proteínas, onde a seleção natural pode, então, agir. Se qualquer coisa, precisamente o oposto é verdadeiro. As células só produzem as proteínas que elas precisam fazer naquele momento. Fazendo outras proteínas, mesmo aquelas que fossem funcionais mas desnecessárias, seria um desperdício para as células fazer, e em muitos casos, poderia destruir a capacidade da célula de funcionar. | ” |
Agora vamos olhar para esta questão de um lado completamente oposto. Considere que as únicas formas viáveis sejam:
- MWR SWTNUZMLDCLEUBXTQHNZVJQF (a primeira cadeia) e
- METHINKS IT IS LIKE A WEASEL (a cadeia alvo).
Todas as outras formas intermediárias seriam inviáveis e não deixariam prole. Neste caso extremo (o extremo oposto ao que foi proposto por Dawkins) a possibilidade da evolução (a uma taxa de mudança por caractere de 5%) seria: 0.0528 ou 3.725 x 10-37. Uma probabilidade extremamente baixa e o algoritmo executaria por uma enorme quantidade de anos sem alcançar o resultado.
Claro que, por uma questão de justiça, nenhuma das duas alternativas descreve com precisão o que acontece na natureza. Mas como quantificar o número de formas intermediárias viáveis e não viáveis? Esta é uma questão importante, pois quanto mais formas intermediárias viáveis existirem, maior a probabilidade de formas intermediárias aparecer e menor o tempo de execução do algoritmo. Então, se usar um caso extremo para ilustrar um fenômeno possível seria uma abordagem científica?
Outra questão que resulta desta raciocínio é um paradoxo: Quanto maior for o número de formas intermediárias, menor o número requerido de mutações necessárias para alcançar esse forma intermediária, portanto, menor será o tempo do algoritmo para avançar um passo. Mas um grande número de formas intermediárias não se encaixa muito bem com o registro fóssil. Quanto menor o número de formas intermediárias, maior o número requerido de mutações necessárias para alcançar esse forma intermediária e, por conseguinte, maior o tempo que o algoritmo levará para avançar um passo.
Les Ey e Don Batten têm uma abordagem muito semelhante a esta. Eles a chamam de "modelo catástrofe erro".[9]
Transições entre os seres viáveis
Outro problema relacionado é o que acontece quando precisa pular de uma forma viável de outra forma viável. Suponha que apenas uma palavra na frase "me thinks it is like a weasel" vá ser alterada, e a nova frase formada será gramaticalmente correta. Por meio de mutações pontuais, se formarão frases inválidas no Inglês ao longo do caminho antes que se possa finalmente obter a frase transformada em uma forma gramaticalmente correta.
Frase | Situação gramatical | Tipo de transformação, em comparação com a forma anterior | Tentativa de tradução para o português |
---|---|---|---|
methinks it is like a weasel | gramaticalmente correta | nenhum | me parece é como uma doninha |
methinks it is like a veasel | sintaticamente incorreta | permutação | me parece é como um veasel |
ethinks it is like a veasel | lexicamente e sintaticamente incorreta | deleção | ethinks é como um veasel |
ithinks it is like a veasel | lexicamente e sintaticamente incorreta | permutação | ithinks é como um veasel |
it hinks it is like a veasel | lexicamente e sintaticamente incorreta | inserção | ele hinks é como um veasel |
it sinks it is like a veasel | lexicamente e sintaticamente incorreta | permutação | ele afunda é como um veasel |
it sinks it is ekil a veasel | lexicamente e sintaticamente incorreta | inversão (like -> ekil) | se afunda é um ekil veasel |
it sinks it is evil a veasel | lexicamente e sintaticamente incorreta | permutação | se afunda é um mal veasel |
it sinks it is evil a vessel | sintaticamente incorreta | permutação | ele afunda é mal uma embarcação |
it sinks ithis evil a vessel | lexicamente e sintaticamente incorreta | permutação | ele afunda ithis mal uma embarcação |
it sinks this evil a vessel | sintaticamente incorreta | deleção | ele afunda este mal uma embarcação |
it sinks this evila vessel | lexicamente e sintaticamente incorreta | deleção | ele afunda este navio evila |
it sinks this evil vessel | gramaticalmente correta | deleção | ele afunda este navio mal |
Experimento
Para ilustrar o problema das formas intermediárias nós desenvolvemos um experimento baseado no algoritmo disponível em EvoAlgo.java.[nota 1] Nós escolhemos a implementação em Java para executar o teste. Cada vez que o programa foi executado, para cada posição, se retirou uma letra como uma possibilidade. O segmento de código do programa mudado está disponível aqui. Por exemplo, ao executar o programa pela primeira vez todas as combinações foram permitidas.
Ao executar o programa pela segunda vez na primeira posição não foi permitido o espaço em branco. Na segunda posição não foi permitida a letra "A". Na terceira posição não foi permitida a letra "B" e assim por diante.
Ao executar o programa pela terceira vez na primeira posição não foram permitidos os caracteres "Z " ("Z" e branco). Na segunda posição não foi permitidos os caracteres " A" (branco e "A"). Na terceira posição não foi permitidos os caracteres "AB" ("A" e "B") e assim por diante.
Ao executar o programa pela sétima vez na primeira posição não foram permitidos os caracteres "UVWXYZ ". Na segunda posição não foram permitidos os caracteres "VWXYZ A". Na terceira posição não foram permitidos os caracteres "WXYZ AB" e assim por diante até a 28ª posição.
É importante notar que, além das letras permitidas, mais duas são adicionadas (se já não estiverem no conjunto): a letra correspondente à posição da frase alvo e a letra correspondente à posição da frase corrente. Por exemplo, no caso de 10 letras excluídas, o número de letras permitidas pode variar de 17 a 19, dependendo se a letra corrente da posição determinada e/ou a letra alvo da posição actual pertence ao conjunto ou não. Assim, neste caso 8-10 letras não serão permitidas em cada posição.
Os resultados foram registrados na tabela abaixo [nota 2]:
Número de letras não permitidas/posição[nota 3] | Número de letras permitidas/posição | Número de gerações para se alcançar o resultado (primeira execução) | Número de gerações para se alcançar o resultado (segunda execução) |
---|---|---|---|
0 | 27 | 569 | 526 |
0-1 | 26-27 | 668 | 805 |
0-2 | 25-27 | 1087 | 920 |
1-3 | 24-26 | 1253 | 1127 |
2-4 | 23-25 | 1552 | 2481 |
3-5 | 22-24 | 2290 | 1821 |
4-6 | 21-23 | 1873 | 3282 |
5-7 | 20-22 | 3078 | 4394 |
6-8 | 19-21 | 6526 | 8188 |
7-9 | 18-20 | 10561 | 9306 |
8-10 | 17-19 | 29837 | 16770 |
9-11 | 16-18 | 70037 | 30220 |
10-12 | 15-17 | 78704 | 63363 |
11-13 | 14-16 | 427193 | 143010 |
12-14 | 13-15 | 726978 | 341149 |
13-15 | 12-14 | 1587174 | 1150129 |
14-16 | 11-13 | 4815120 | 4010293 |
15-17 | 10-12 | 47212423 | 63659913 |
É muito fácil de constatar que à medida que aumentam as combinações não possíveis ou viáveis, o número de gerações necessárias e o tempo de processamento aumenta exponencialmente. Por exemplo, com treze letras permitidas por posição na frase o número de sentenças válidas é 1328 (~1.55 x 1031) em um universo de 2728 (~1.19 x 1040) sentenças possíveis.
Tamanho fixo
Outro vício no algoritmo de Dawkins é manter o número de caracteres fixo a cada passo. Isto é bem diverso do que ocorre na natureza, nem mesmo é o que seria esperado de macacos digitando em uma máquina de escrever. Por que os macacos acertarim o número exato de cartas (28) em todas as suas tentativas? No caso da natureza, cromossomas podem experimentar inserções, deleções e inversões. Isto pode resultar em cópias de maior comprimento ou mais curto. Por exemplo:
ME THANKS YOU VERY MUCH IT ISNT LIKE IN NATURE ou
NOT CONVINCED ME, THANKS
O menor ser vivo
Bactérias com um menor número de genes tem aproximadamente 500 genes. Mesmo para o menor ser vivo, algumas funções devem existir antes que ele possa reproduzir: obter alimentos ou materiais, sintetizar o material genético e adquirir energia. Karp lista algumas funções comuns a células[10]:
- Células possuem um programa genético e meios para utilizá-lo.
- Células são capazes de produzir mais de si mesmas.
- Células adquirem e utilizam energia.
- Células realizam uma variedade de reações químicas.
- Células se envolvem em atividades mecânicas.
- Células são capazes de auto-regulação.
Isto requer um número mínimo de genes. Alguns cientistas afirmaram em trabalhos teóricos e experimentais recentes sobre a chamada "complexidade mínima" necessária para manter o organismo vivo mais simples possível que se sugere um limite inferior de cerca de 250-400 genes e suas proteínas correspondentes.[11][12] Para saltar de matéria inanimada para a forma mais simples da vida não existem etapas intermediárias. Assim, para o ser vivo mais simples, o algoritmo de Dawkins nem mesmo se aplica. E, neste caso particular, a crítica feita em relação ao teorema do macaco infinito é aplicável.
Paralelo com DNA
Embora Dawkins não tenha feito esse paralelo no seu exemplo, quando se considera o ADN no lugar das letras do alfabeto, mais problemas surgem. Aqui vamos usar um exemplo baseado no exemplo exposto no livro de I. L. Cohen.[13]
Existem 20 aminoácidos (há mais de 20, mas, por razões de simplicidade consideremos os 20 comuns) que são lidos através do código genético do ARN. Podemos representar estes aminoácidos por uma letra do alfabeto. Cada um destes aminoácidos é formado a partir de um conjunto de três nucleótidos chamado codões ou triplas. Suponha que temos uma seqüência de ARN que se lê:
AUG UCU UAC AAG GCC GUG UAA
Esta mensagem traduz-se a:
AUG - iniciar a leitura, UCU - atrair aminoácido Serina, UAC - atrair aminoácido Tirosina, AAG - atrair aminoácido Lisina, GCC - atrair aminoácido Alanina, GUG - atrair aminoácido Valina, UAA - parar produção.
Assumindo agora que o código do quinto nucleótido (citosina) seja destruído. Agora a mensagem vai se traduzir de forma muito diferente de antes, apesar de apenas um nucleotídeo ter mudado de um ARN para outro:
AUG UUU ACA AGG CCG UGU AA_
Esta mensagem traduz-se a:
AUG - iniciar a leitura, UUU - atrair aminoácido Leucina, ACA - atrair aminoácido Treonina, AGG - atrair aminoácido Arginina, CCG - atrair aminoácido Prolina, UGU - atrair aminoácido Cisteina, AA_ - isso depende do nucleotídeo seguinte.
Voltando ao exemplo da frase de Hamlet, a mudança de uma letra, (por exemplo, a letra 'A' da palavra 'AT') (assumindo que cada letra é composta de três nucleotídeos) pode significar mudar a frase inteira. Por exemplo:
ME THINKS AT IS LIKE A UEASEL mudaria, por exemplo, a:
ME THINKS ZUAJTAMJLFABAWFBTFMA
Este exemplo mostra como é fácil arruinar um código com uma simples mudança.
Notas
- ↑ O conteúdo está disponível sob a licença GNU Free Documentation License 1.2.
- ↑ Os parâmetros do programa original não foram alterados. número de descendentes por geração (number of spawn per generation)=100, e Taxa mínima de mutação (minMutateRate) = 0.09.
- ↑ É importante notar que, além das letras permitidas, mais duas são adicionadas (se já não estiverem no conjunto): a letra correspondente à posição da frase alvo e a letra correspondente à posição da frase corrente. Por exemplo, no caso de 10 letras excluídas, o número de letras permitidas pode variar de 17 a 19, dependendo se a letra corrente da posição determinada e/ou a letra alvo da posição actual pertence ao conjunto ou não. Assim, neste caso 8-10 letras não serão permitidas em cada posição.
Referências
- ↑ Spetner, Lee M. Not by Chance!: Shattering the Modern Theory of Evolution. Brooklin, New York: Judaica Press, 1997. 272 p. p. 168. ISBN 978-1-88058224-4
- ↑ Newman, Robert C. In: Dembski, William A.. Mere Creation: Science, Faith & Intelligent Design. Downers Grove, Illinois: InterVarsity Press, 1998. Capítulo: 18: Artificial Life & Cellular Automata, p. 436. ISBN 0-8308-1515-5
- ↑ Dembski, William A. No Free Lunch: Why Specified Complexity Cannot Be Purchased without Intelligence. [S.l.]: Rowman & Littlefield Publishers, 2007. 432 p. ISBN 978-074255810-6
- ↑ Gitt, Werner. In the Beginning was Information: A Scientist Explains the the Incredible Design in Nature. Green Forest, AR: Master Books, 2006. 260 p. p. 102. ISBN 978-0-89051-461-0
- ↑ The weasel returns: Truman replies to Curtis.
- ↑ 6,0 6,1 Sarfati, Jonathan D. The Greatest Hoax on Earth?: Refuting Dawkins on Evolution (em inglês). Atlanta, Georgia: Creation Book Publishers, 2010. 336 p. p. 50. ISBN 1-921643-06-4
- ↑ ReMine, Walter J. The Biotic Message:Evolution Versus Message Theory. Saint Paul, Minnesota: St. Paul Science Publishers, 1993. p. 233. ISBN 0-9637999-0-8
- ↑ Timothy G. Standish, Biology
- ↑ Weasel, a flexible program for investigating deterministic computer ‘demonstrations’ of evolution Research. Página visitada em 7 de abril de 2012.
- ↑ Karp, Gerald. Cell and Molecular Biology:Concepts and Experiments. 5ª ed. New Jersey: John Wiley, 2008. p. 5-6. ISBN 978-0-470-04217-5
- ↑ Meyer, Stephen C (2003). "DNA and the Origin of Life: Information, Specification, and Explanation". Darwinism, Design, & Public Education: 223-285.
- ↑ Mushegian, Arcady R.; Koonin, Eugene V. (17-09-1996). "A minimal gene set for cellular life derived by comparison of complete bacterial genomes". Proc. Natl. Acad. Sci. USA 93 (19): 10268-10273.
- ↑ Cohen, I. L. Darwin was Wrong - A Study in Probabilities. Greenvale, New York: New Research Publications, Inc., 1984. 225 p. p. 74-76. ISBN 0-910891-02-8
Ligações externas
- Gitt, Werner. In the Beginning was Information: A Scientist Explains the the Incredible Design in Nature. Green Forest, AR: Master Books, 2006. 260 p. ISBN 978-0-89051-461-0
- The weasel returns: Truman replies to Curtis O retorno do weasel: Truman responde a Curtis.
- Implementation of Weasel programs in many programming languages Implementação de programas Weasel em muitas linguagens de programação.
- Methinks it is Like a Weasel by D. Pitman M.D. Methinks it is Like a Weasel por D. Pitman M.D.
- Dawkins’ Weasel Revisited outro servidor O Weasel de Dawkins visitado de novo.
- Timothy G. Standish, Biology Timothy G. Standish, Biologia
- Weasel, a flexible program for investigating deterministic computer ‘demonstrations’ of evolution
- Artigo de Ewert Winston, George Montañez, William Dembski e Robert J. Marks sobre o programa weasel