ATIVIDADES PRÁTICAS SUPERVISIONADAS 7ª Série Linguagens Formais e Autômatos Ciência da Computação A atividade prática supervisionada (ATPS) é um método de ensino-aprendizagem desenvolvido por meio de um conjunto de atividades programadas e supervisionadas e que tem por objetivos: Favorecer a aprendizagem. Estimular a corresponsabilidade do aluno pelo aprendizado eficiente e eficaz. Promover o estudo, a convivência e o trabalho em grupo. Desenvolver os estudos independentes, sistemáticos e o autoaprendizado. Oferecer diferenciados ambientes de aprendizagem. Auxiliar no desenvolvimento das competências requeridas pelas Diretrizes Curriculares Nacionais dos Cursos de Graduação. Promover a aplicação da teoria e conceitos para a solução de problemas relativos à profissão. Direcionar o estudante para a emancipação intelectual. Para atingir estes objetivos, as atividades foram organizadas na forma de um desafio, que será solucionado por etapas ao longo do semestre letivo. Participar ativamente deste desafio é essencial para o desenvolvimento das competências e habilidades requeridas na sua atuação no mercado de trabalho. Aproveite esta oportunidade de estudar e aprender com desafios da vida profissional. AUTORIA: Faculdade Anhanguera de Limeira
Pág. 2 de 6 COMPETÊNCIAS E HABILIDADES Ao concluir as etapas propostas neste desafio, você terá desenvolvido as competências e habilidades descritas a seguir. Capacidade para desenvolvimento de pesquisa científica e tecnológica. Profundo conhecimento dos aspectos teóricos, científicos e tecnológicos relacionados à computação. Competência para identificar, analisar, documentar e solucionar problemas e necessidades passíveis de solução via computação. Saber conciliar teoria e prática. DESAFIO O Xadrez é um jogo estratégico de tabuleiro para dois jogadores. O jogo é disputado em um tabuleiro de 64 casas (8x8) alternadas entre claras e escuras. Cada jogador inicia a partida com 16 peças, sendo: 1 rei, 1 rainha, 2 bispos, 2 cavalos, 2 torres e 8 peões. O objetivo da partida é capturar o rei inimigo. Para isso, um dos jogadores deve posicionar suas peças no tabuleiro de forma que, na próxima jogada, ele consiga mover uma das peças para a casa ocupada pelo rei inimigo, considerando o movimento particular de cada peça. Além do seu valor estratégico e lúdico, o xadrez também se mostra muito importante no ponto de vista matemático e computacional. Diversos problemas de natureza combinatória e topológica ligado ao xadrez são conhecidos, foram estudados nas últimas centenas de anos e, mais recentemente, suas soluções foram aplicadas para resolução de vários problemas computacionais. Esses problemas são chamados de composições. Em uma composição o problema é apresentado por Configuração inicial de um tabuleiro de xadrez (fonte: Wikipédia) meio da definição de uma distribuição de peças no tabuleiro e a solução consiste em realizar uma ação determinada. É comum que a ação a ser realizada venha acompanhada de uma ou mais restrições. Existem diversas composições clássicas no xadrez. Uma delas é conhecida como o passeio do cavalo. Nessa composição o desafio é fazer com que o cavalo passe por todas as casas do tabuleiro. Inicialmente o cavalo está em uma casa qualquer e ele deve ser movimentado obedecendo às regras de movimentação para essa peça. Este desafio consiste em elaborar uma solução computacional, utilizando os conceitos de Linguagens Formais e Autômatos, para verificar se uma sequência de movimentações é uma solução para a composição do passeio Movimento do Cavalo (fonte UOL) do cavalo. Para tanto o aluno é convidado a elaborar os formalismos geradores (expressões regulares e gramáticas) e reconhecedores (máquinas de estados finitos) necessários para verificar se a sequência
Pág. 3 de 6 corresponde a uma representação textual correta de movimentos da peça; se a sequência de movimentos é valida e, por fim, se todas as casas do tabuleiro foram visitadas. Produção Acadêmica Participação Relatório contendo a apresentação e solução para validação do problema do Passeio do Cavalo. Para a elaboração desta atividade, os alunos deverão previamente organizar-se em equipes de 3 a 4 participantes e entregar seus nomes, RAs e e-mails ao professor(a) da disciplina. Essas equipes serão mantidas durante todas as etapas. Padronização O material escrito solicitado nesta atividade deve ser produzido de acordo com as normas da ABNT 1, com o seguinte padrão: em papel branco, formato A4; com margens esquerda e superior de 3cm, direita e inferior de 2cm; fonte Times New Roman tamanho 12, cor preta; espaçamento duplo entre linhas; se houver citações com mais de três linhas, devem ser em fonte tamanho 10, com um recuo de 4cm da margem esquerda e espaçamento simples entre linhas; com capa, contendo: nome de sua Unidade de Ensino, Curso e Disciplina; nome e RA de cada participante; título da atividade; nome do professor(a) da disciplina; cidade e data da entrega, apresentação ou publicação. ETAPA 1 Aula-tema: Introdução e Conceitos Básicos. Expressões Regulares. Gramática Regular. Esta atividade é importante para que você possa entender o processo de representação de problemas em uma forma que seja passível de computação, utilizando os conceitos de linguagem e gramática vistos nas primeiras aulas da disciplina. 1 Consulte o Manual para Elaboração de Trabalhos Acadêmicos. Unianhanguera. Disponível em: <http://www.unianhanguera.edu.br/anhanguera/bibliotecas/normas_bibliograficas/index.html>.
Pág. 4 de 6 Passo 1 (Aluno) Faça uma pesquisa para determinar as regras do xadrez referentes ao posicionamento, à movimentação das peças e a Notação Algébrica utilizada para descrever essas movimentações. Utilize o documento contendo as regras do Xadrez disponibilizado em <https://docs.google.com/fileview?id=0b2tqtesk_ik0nju0ymzjnwitmzywmi00ytblltk yodetymi1otq5nta1nwrl&hl=en> (Acesso em 26 de outubro de 2010) como base para a sua pesquisa. Discuta os resultados da pesquisa com o grupo para garantir que todos tenham o mesmo entendimento. Acesse <http://www.flyordie.com/jogo/xadrez.html> (Acesso em 26 de outubro de 2010) e jogue uma partida de xadrez on-line com os membros do seu grupo para validar as regras e perceber a utilização das Notações Algébricas para descrição das jogadas. Elabore, com base na pesquisa realizada, uma expressão regular e/ou uma gramática regular capaz de representar uma sequência de movimentos utilizando Notação Algébrica para a peça cavalo. Passo 4 (Equipe) Monte um relatório denominado O Passeio do Cavalo, distribuído em dois capítulos. Apresente o problema no capítulo 1, que deverá ter o título Descrição do Problema. Nomeio o capítulo 2 como Descrição Textual dos Movimentos do Xadrez e descreva nele as especificações e formalismos definidos nessa etapa. Acrescente a esse relatório uma capa contendo a nome do relatório e os nomes dos integrantes do grupo. ETAPA 2 Aula-tema: Autômatos Finitos Determinísticos. Autômatos Finitos Não Determinísticos. Esta atividade é importante para que você aprimore o seu entendimento dos conceitos de autômatos, desenvolvendo a capacidade de aplicá-los para resolução de problemas computacionais. Passo 1 (Equipe) Utilize os teoremas apresentado no livro-texto e/ou na bibliografia complementar da disciplina para elaborar um Autômato Finito Não Determinístico que reconheça as sentenças geradas pela gramática/expressão regular definida na Etapa 1.
Pág. 5 de 6 Defina um Autômato Finito Determinístico equivalente ao Autômato Finito Não Determinístico especificado no Passo 1 desta etapa. Consulte o livro-texto para identificar o processo para construção de um Autômato Finito Determinístico equivalente a um Autômato Finito Não Determinístico. Estenda o relatório O Passeio do Cavalo adicionando o capítulo 3 denominado Reconhecimento da Entrada. Descreva nesse capítulo os formalismos reconhecedores definidos nesta etapa. ETAPA 3 Aula-tema: Gramática Livre de Contexto. Autômato com Pilha. Esta atividade é importante para que você possa verificar se uma sequência de movimentações é uma sequência válida para uma peça. Passo 1 (Equipe) Defina uma gramática livre de contexto capaz de produzir sequências de movimentos validos para a peça cavalo. Para tanto, considere cada casa como uma variável que gera a notação da peça quando posicionada nessa casa seguida das variáveis representando as possíveis casas que a peça pode assumir através de uma movimentação válida. Utilize os teoremas apresentados no livro-texto e/ou bibliografia complementar da disciplina para elaborar o autômato com pilha que reconhece as produções da gramática definida no Passo 2 dessa etapa. Adicione ao relatório O Passeio do Cavalo o capítulo 4 com o título Reconhecimento dos Movimentos do Cavalo, contendo a descrição dos formalismos geradores e reconhecedores definidos nessa etapa. ETAPA 4 Aula-tema: Gramáticas Sensíveis ao Contexto. Máquina de Turing. Esta atividade é importante para que você possa validar se a solução apresentada atende à restrição de que todas as casas do tabuleiro sejam visitadas.
Pág. 6 de 6 Passo 1 (Equipe) Defina uma Máquina de Turing que receba como entrada uma sequência de movimentações e simule o AFD definido na Etapa 2 para validar se a sequência é valida. Estenda essa máquina para que ela simule o Autômato com Pilha definido na Etapa 3 para validar se os movimentos são válidos. Adicione a essa máquina uma segunda fita. Grave nessa fita as casas para a qual a peça se movimenta se, e somente se, essa casa não constar na fita. Depois de validar a sequência de movimentos, valide se todas as 64 casas do tabuleiro constam na segunda fita. Passo 4 (Equipe) Estenda o relatório Passeio do Cavalo adicionando o capítulo 5, com o título Validação do Problema. Descreva nesse capítulo a Máquina de Turing projetada nessa etapa.