Atividade 11. Caça ao Tesouro Autômatos de Estados Finitos - PDF
Download "Atividade 11. Caça ao Tesouro Autômatos de Estados Finitos"
Neusa Covalski Azenha
1 Atividade 11 Caça ao Tesouro Autômatos de Estados Finitos Sumário Freqüentemente programas de computador precisam processar uma seqüência de símbolos como letras ou palavras em um documento, ou até mesmo o texto de outro programa. Cientistas da computação freqüentemente usam autômatos de estados finitos para isso. Um Autômato de Estados Finitos (AEF) segue um conjuto de instruções para verificar se o computador reconhecerá a palavra ou conjunto de símbolos. Trabalharemos com algo equivalente a um AEF mapas do tesouro! Correlações curriculares Matemática: Desenvolvimento lógico e raciocínio usar palavras e símbolos para descrever e seguir padrões Estudos sociais Português Habilidades Leitura de mapas simples Reconhecimento de padrões Lógica Seguir instruções Idades A partir de 9 anos Material Você precisará de: Um conjunto de cartas de ilha (as instruções devem ficar escondidas de quem estiver tentando desenhar o mapa!) Faça uma cópia mestre das Cartas da Ilha (página 92 em diante) e recorte-as. Dobre na linha pontilhada e cole, de modo que, a frente das cartas tenha o nome da ilha, e o fundo tenha as instruções. Cada criança precisará de: Planilha de Atividade: Encontre o Caminho para as Riquezas da Ilha do Tesouro (pág. 91) Caneta ou lápis Existem atividades opcionais de extensão para as quais as crianças precisarão: Planilha de Atividade: Ilhas do Tesouro (pág. 97) Planilha de Atividade: O Misterioso Jogo da Moeda (pág. 98)
2 Ilha do Tesouro Introdução Seu objetivo é encontrar a Ilha do Tesouro. Navios piratas amigos navegam por um conjunto fixo de rotas entre as ilhas nesta parte do mundo, oferecendo carona aos viajantes. Cada ilha possui dois navios de partida, A e B, que você pode escolher para viajar. Você precisa encontrar o melhor caminho para a Ilha do Tesouro. Em cada ilha na qual chegar, você pode escolher um dos navios A ou B (não ambos). A pessoa na ilha lhe dirá para onde vai o navio, mas os piratas não têm um mapa de todas as ilhas disponíveis. Use seu mapa para saber onde você está indo e em quais navios você já viajou. Demonstração (Nota: A atividade usará um mapa diferente.) Usando um quadro ou projetor, desenhe o diagrama das três ilhas como abaixo: Copie as três cartas das próximas duas páginas e dê uma carta a cada criança. Note que as rotas nessas cartas são diferentes daquelas na atividade principal. Começando da Ilha dos Piratas, escolha o navio A. A criança deve direcioná-lo para a Baía do Naufrágio. Anote a rota no mapa. Na Baía do Naufrágio, escolha o navio A novamente. Você voltará a Ilha dos Piratas. Anote isso no mapa. Agora escolha o navio B. Anote isso no mapa. Essa rota vai para a Ilha dos Mortos, onde você ficará preso! Seu mapa final deverá estar assim: Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (
3 Cartas para a atividade de demonstração! "!! #!!!! "!! #! 88 Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (
4 Cartas para a atividade de demonstração!"#$%&'#()*+',"*-('(' './$(',+0'1+23+0' Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (
5 Atividade Escolha sete crianças para serem as ilhas. As crianças segurarão as cartas identificando suas ilhas, com as instruções secretas no verso. Posicione-as aleatoriamente pela sala. O restante das crianças ficará com mapas em branco e terão que navegar da Ilha dos Piratas para a Ilha do Tesouro, marcando isso cuidadosamente em seus mapas. (Uma boa prática é enviar uma criança por vez para que elas não consigam ouvir as rotas de antemão.) Os primeiros a terminar devem tentar encontrar mais de uma rota. O mapa completo é o seguinte: Discussão Qual é a rota mais rápida? Qual seria uma rota muito lenta? Algumas rotas podem ter laços (loops). Você pode encontrar um exemplo disso? (Por exemplo,!!!"!"! e!!!"!!"!"!#$ambos chegam a Ilha do Tesouro.) 90 Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (
6 !"#$%"&#'()'*+%,%(#()-'.$/0$+1)'0'/#2%$&0'3#1#' #4'1%56)7#4'(#'8"&#'(0'9)40610' Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (
7 !"#$%&'()*+(,&!%+*%)&-%)&./0%)&12345& 6& & 7& & & & 6& & 7& & 92 Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (
8 !"#$%&'()*+(,&!%+*%)&-%)&./0%)&12345& 6& 7& 6& 7& & & Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (
9 !"#$%&'()*+(,&!%+*%)&-%)&./0%)&12345& 6& 7& 6& 7& & & 94 Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (
10 !"#$%&'()*+(,&!%+*%)&-%)&./0%)&12324& 5%+%678)999& Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (
11 Autômatos de Estados Finitos Outra maneira de desenhar um mapa seria: As ilhas são representadas por círculos numerados, e a ilha final (com o tesouro) tem dois círculos. Quais rotas podemos usar para chegar a última ilha? Nota: o mapa (a) termina no círculo duplo (ilha 2) somente se a seqüência tem um numero ímpar de As (por exemplo, AB, BABAA, ou AAABABA). O mapa (b) só alcança o círculo duplo com uma seqüência alternada de As e Bs (AB, ABAB, ABABAB,...). O mapa (c) requer que a seqüência contenha no mínimo um B (as únicas seqüências que não servem são A, AA, AAA, AAAA,...). 96 Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (
12 !"#$%"&#'()'*+%,%(#()-'."&#/'(0'1)/0230' Você é capaz de esconder bem seu tesouro? Quão difícil você pode tornar o mapa do tesouro? É a hora de fazer seu próprio mapa! 1. Esta é uma versão mais complicada da mesma idéia de representação de um mapa. Esse mapa é igual ao usado no exercício anterior. Cientistas da computação usam esse método simples e rápido para projetarem rotas para seus padrões. Desenhe seu próprio mapa como este para ver claramente as rotas de seus navios piratas e, depois, crie seus próprios mapas vazios e suas cartas de ilha. Qual é a seqüência mais eficiente de rotas para alcançar a sua Ilha do Tesouro? 2. Seus amigos conseguem seguir bem seu mapa? Dê a eles uma seqüência de As e Bs e veja se eles conseguem chegar à ilha correta. Você pode criar uma variedade de jogos e quebra-cabeças baseados na idéia de autômatos de estados finitos. 3. Esta é uma maneira de construir frases através da escolha de caminhos aleatórios do mapa, anotando as palavras encontradas. Agora tente a mesma idéia. Talvez você possa até fazer uma história engraçada! Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (
13 !"#$%"&#'()'*+%,%(#()-'.'/%0+)1%202'3242'(#' /2)(#' Alguns amigos baixaram um jogo na Internet no qual um robô jogava uma moeda e eles deveriam adivinhar se sairia cara ou coroa. No começo o jogo parecia muito fácil. Eles tinham, no mínimo, 50% de chances de ganhar ou melhor, eles achavam que tinham! Após certo tempo, eles começaram a desconfiar. Parecia haver um padrão nos resultados das moedas. O jogo foi manipulado? Certamente não! Eles decidiram investigar. João anotou os resultados de suas próximas tentativas no jogo e eles encontraram o seguinte: (c = cara, o = coroa) c c o c c o c c c o o c c c c o o c o o o c c c c c o c c c o o o c c c o o o c c c c c c o o c o o o o o c o o c o o o c c c o o c c c o c c c c c c c c c o o c c c o o o o c c c c c o o o o o o o Você consegue identificar um padrão previsível? Existe um mapa bem simples que descreve a seqüência dos resultados das moedas. Veja se você consegue descobrí-lo. (Dica: esse mapa tem somente quatro ilhas )
14 O que é tudo isso afinal? Autômatos de estados finitos são usados na Ciência da Computação para ajudar um computador a processar uma seqüência de caracteres ou de eventos. Um exemplo simples é quando você liga para algum lugar e escuta a mensagem Tecle 1 para isso... Tecle 2 para aquilo Tecle 3 para falar com um dos atendentes. As teclas pressionadas são entradas para um autômato de estados finitos do outro lado do telefone. O diálogo pode ser bem simples ou muito complicado. Algumas vezes, você fica andando em círculos porque existe um laço específico no autômato. Se isso ocorre, então é um erro no projeto do sistema e isso pode ser extremamente frustrante para quem liga! Outro exemplo é quando você saca dinheiro no caixa eletrônico do banco. O programa no computador do caixa guia você através de uma seqüência de eventos. Dentro do programa, todas as possíveis seqüências estão guardadas como um autômato de estados finitos. Toda tecla pressionada leva o autômato a um novo estado. Alguns dos estados têm instruções para o computador como libere R$100,00 em dinheiro ou Imprima um extrato ou Ejete o cartão. Alguns programas de computador lidam realmente com frases em português usando mapas como os da página 97. Eles podem tanto gerar quanto processar frases digitadas pelos usuários. Nos anos sessenta, um cientista da computação escreveu um programa famoso chamado Eliza (em referência à Eliza Dolittle) que conversava com pessoas. O programa fingia ser um psicoterapeuta e fazia perguntas do tipo : Fale sobre a sua família e Prossiga. Embora o programa não entendesse nada, era suficientemente convincente e seus usuários humanos eram suficientemente ingênuos para que certas pessoas acreditassem estar conversando com um psicoterapeuta humano. Embora os computadores não entendam muito bem a linguagem natural, eles podem rapidamente processar linguagens artificiais. Um tipo importante de linguagem artificial é a linguagem de programação. Os computadores usam autômatos de estados finitos para ler programas e traduzí-los para a forma elementar de instruções do computador, as quais podem ser executadas diretamente pelo computador. Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (
15 Soluções e dicas O Misterioso Jogo da Moeda (pág. 98) O misterioso jogo da moeda usa o seguinte mapa para jogar as moedas: Se você seguir esse mapa, verá que as duas primeiras de cada três moedas jogadas produzem o mesmo resultado. 100 Cópia autorizada somente para uso em sala de aula Computer Science Unplugged (