Então quantas situações possíveis existem?
Posso certamente contá-las desta forma.
Posso dizer que, bom, existem três possibilidades que
posso incluir para norte: vazio, lata, e parede.
O Robby pode encontrar-se num quadrado vazio, com um quadrado vazio a norte,
um quadrado que tem uma lata, ou com uma parede.
São estas então as três possibilidades para norte.
E o sul tem as mesmas três possibilidades, e assim por diante.
E então eu posso multiplicar estes em conjunto: três vezes três vezes três
cinco vezes para as cinco, aliás, as quatro direções
e o sítio atual para dar 243.
É claro que algumas destas situações nunca poderiam ocorrer no mundo.
Parede, parede, parede, parede, parede: todos a serem paredes.
É simplesmente impossível, o modo como é o nosso mundo.
Mas para os propósitos do algoritmo genético,
não vou preocupar-me com isso.
Vou só listar todas estas possibilidades,
mesmo aquelas que não são possibilidades reais.
Vamos então ter um total de 243 situações possíveis, em que algumas delas
não são de fato possibilidades reais, mas não faz mal, como veremos.
E uma estratégia seria uma lista de todas essas possibilidades,
a par com a ação que o Robby deve tomar
em cada uma dessas situações possíveis.
Eis um exemplo da estratégia.
Aqui, vou - bom, não vou listar todas as 243 situações,
mas o computador poderia fazer isso sistematicamente.
E preenchi uma ação aleatória que escolhi aleatoriamente
para cada uma dessas situações.
OK, se olharmos de novo para a nossa primeira imagem, vemos que o Robby
encontra-se nesta situação: parede a norte, vazio a sul,
lata a este, parede a oeste, sítio atual vazio.
E preenchi "mover oeste".
Logo, se o Robby se encontrar nesta situação e obedecer a esta estratégia,
mover-se-ia para oeste e embateria contra uma parede.
Não disse que esta era uma boa estratégia, mas é uma estratégia.
Acontece que é uma péssima estratégia.
E posso agora fazer uma pergunta: qual seria a pontuação do Robby
depois de seguir esta estratégia para três passos?
Vimos no primeiro passo, ele embateu contra uma parede.
Neste mundo, ele regressa ao mesmo sítio onde estava antes,
e encontra-se exatamente na mesma situação.
Muito estúpido, admito, dado que está na mesma situação,
ele tem que tomar esta ação de novo. Logo, iria contra uma parede de novo.
E, do mesmo modo, no terceiro passo ele iria embater contra a parede de novo.
Nunca iria aprender a não emabater contra a parede.
É algo estúpido mas a sua pontuação seria -5 por cada vez que
embatesse contra a parede. Logo ele teria -15 depois de três passos.
O que queremos então que o algoritmo genético faça é usar evolução
para eliminar este tipo de estratégias realmente estúpidas
e encontrar as estratégias boas.
Antes de mostrar como funciona o algoritmo genético, vamos fazer mais um quiz.
Eis o quiz: temos uma estratégia para o Robby, com apenas 2 situações relevantes.
O Robby começa aqui nesta posição, e o quiz pergunta qual a sua pontuação
depois de realizar duas ações de acordo com esta estratégia acima.
O que tem de fazer é encontrar a situação na lista de situações
que corresponda à situação atual do Robby.
Fazer a ação que está associada a essa situação
e procurar por essa nova situação na lista,
fazer o movimento que está associado a essa situação,
e dar qual seria a pontuação resultante.