0 évaluation0% ont trouvé ce document utile (0 vote)
269 vues3 pages
1) O documento descreve um trabalho prático sobre o problema do Passeio do Cavalo usando a técnica de tentativa e erro.
2) O objetivo é implementar um algoritmo que gere todos os possíveis passeios do cavalo em um tabuleiro de tamanho n e contar a profundidade máxima alcançada na árvore de possibilidades.
3) Como saída deve ser impressa a geração de todos os passeios possíveis e a profundidade máxima alcançada em cada um até chegar a uma posição sem movimentos v
1) O documento descreve um trabalho prático sobre o problema do Passeio do Cavalo usando a técnica de tentativa e erro.
2) O objetivo é implementar um algoritmo que gere todos os possíveis passeios do cavalo em um tabuleiro de tamanho n e contar a profundidade máxima alcançada na árvore de possibilidades.
3) Como saída deve ser impressa a geração de todos os passeios possíveis e a profundidade máxima alcançada em cada um até chegar a uma posição sem movimentos v
1) O documento descreve um trabalho prático sobre o problema do Passeio do Cavalo usando a técnica de tentativa e erro.
2) O objetivo é implementar um algoritmo que gere todos os possíveis passeios do cavalo em um tabuleiro de tamanho n e contar a profundidade máxima alcançada na árvore de possibilidades.
3) Como saída deve ser impressa a geração de todos os passeios possíveis e a profundidade máxima alcançada em cada um até chegar a uma posição sem movimentos v
Cincias Exatas & Engenharias 1 o Semestre de 2014 Observaes: 1. Comece a fazer este trabalho imediatamente. Voc nunca ter tanto tempo para resolv-lo quanto agora! 2. Este um trabalho individual. 3. Data de Entrega: at 28 de abril de 2014, s 23:59 horas, ou antes. Aps essa data haver penalizao por atraso: 2 d , onde d o nmero de dias atrasados. 4. Linguagem de programao do trabalho: linguagem C padro. 5. O seu trabalho deve compilar e executar em alguma mquina do ambiente computacional do Departamento de Cincia da Computao da UFMG, onde o monitor ir avali-lo. Basicamente, um ambiente utilizando Linux ou Windows. Procure saber quais so esses ambientes. 6. Envie este trabalho para o endereo eletrnico esub.para.loureiro@gmail.com tendo como assunto [MD 2014/1 TP: "seu nome completo"] e como anexo um arquivo zip, descrito abaixo, com o nome TP_"SeuNomeCompleto".zip onde o string "SeuNomeCompleto" o seu nome completo sem espaos em branco e sem acentos. Exemplo para o aluno Zoroastro Felizardo e Sortudo: Assunto: [MD 2014/1 TP: Zoroastro Felizardo e Sortudo] Arquivo zip: TP_ ZoroastroFelizardoESortudo.zip O arquivo zip deve conter trs arquivos: (a) passeio.c: arquivo fonte a ser compilado e executado pelo monitor; (b) leiame.txt: deve dizer qual o ambiente computacional para executar o seu TP bem como todas as instrues necessrias; (c) passeio.saida: arquivo de sada com os resultados solicitados neste trabalho, conforme descrito abaixo. Voc receber uma mensagem de conrmao da submisso. sua responsabilidade fazer sua submisso dentro do prazo. 7. No envie arquivo executvel na sua mensagem eletrnica. Backtracking e Contagem Uma rea muito interessante de projeto de algoritmos quando se quer achar solues para problemas que no se conhece uma regra xa de computao, ou seja, no se conhece um algoritmo que a partir de uma congurao inicial determine o prximo passo a ser dado que leve soluo nal. Nesse caso, uma possvel alternativa a tcnica de tentativa e erro, ou seja, tenta-se uma alternativa e, caso no seja vivel, deve-se desfazer os passos executados e tenta-se um outro caminho. A partir das disciplinas de Algoritmos e Estruturas de Dados II e III, esse paradigma computacional e outros (por exemplo, diviso-e-conquista, programao dinmica, tcnica gulosa e branch-and-bound) sero estudados. Algoritmos que usam a tcnica de tentativa e erro no seguem uma regra xa de computao. Em geral, os passos em direo soluo nal so tentados e registrados numa estrutura de dados. Caso esses passos tomados no levem soluo nal do problema, eles podem ser retirados e apagados do registro. MD o 2014/1 Trabalho Prtico 1 Na tcnica de tentativa e erro, a abordagem mais comum decompor o processo em um nmero nito de tarefas parciais. Geralmente as tarefas so expressas naturalmente em termos recursivos e devem ser exploradas de forma exaustiva (a partir daquele caminho, no existe nenhuma possibilidade que deixou de ser avaliada). A construo de uma soluo obtida atravs de tentativas (ou pesquisas) que podem ser representadas por uma rvore de sub-tarefas. Muitas vezes as tentativas crescem exponencialmente e, nesses casos, deve-se usar uma heurstica para evitar a pesquisa exaustiva, no caso de estarmos interessados em uma soluo, no necessariamente a melhor delas. Uma heurstica no garante a soluo tima mas tende a ser rpida. O objetivo aqui mostrar como essa tcnica recursiva funciona e no heursticas, que, em geral, so dependentes do tipo de problema que se est estudando. A tcnica de tentativa e erro pode ser melhor explicada atravs de um exemplo: O Passeio do Cavalo (Knights Tour). Esse um problema muito interessante que sido estudado teoricamente e existem vrios resultados publi- cados na literatura. Seja um tabuleiro n n com n 2 posies e um cavalo que move seguindo as regras do xadrez. O cavalo colocado numa posio inicial (x 0 , y 0 ). O objetivo do problema encontrar, se existir, um passeio do cavalo com n 2 1 movimentos tal que todas as posies do tabuleiro so visitadas uma nica vez. Neste problema, os oito movimentos possveis de um cavalo (identicado pelas letras A, B, C, D, E, F, G e H), considerando um tabuleiro 55 e o cavalo posicionado inicialmente no centro desse tabuleiro, esto representados a seguir: Cada letra representa um movimento vlido do cavalo. Assim, o movimento G, por exemplo, signica avanar uma coluna para a direita e descer duas linhas. Uma possvel soluo para um tabuleiro 5 5 seria: 23 10 15 4 25 16 5 24 9 14 11 22 1 18 3 6 17 20 13 8 21 12 7 2 19 Para o exemplo acima, o cavalo, ao comear na posio indicada por 1, pode fazer qualquer um dos oito movimentos acima. O movimento G executado e o nmero dois colocado nessa posio. A partir da segunda casa visitada, os movimentos A, E, F, G e H levariam o cavalo uma posio inexistente e o movimento C levaria o cavalo posio inicial, que j foi visitada. Assim, somente os movimentos B e D podem ser executados e um deles deve ser escolhido. Esse processo deve continuar at possivelmente se chegar a uma soluo. Objetivo: Este trabalho tem como objetivo a implementao do Passeio do Cavalo e sua avaliao. Como dado de entrada deve ser fornecido o tamanho n do tabuleiro (4 n 6). Como resultado, pede-se a impresso (sada) de: 1. A gerao dos Passeios do Cavalo, cada um comeando em uma das n 2 casas do tabuleiro. As casas so numeradas sequencialmente comeando na posio (1, 1) (canto superior esquerdo do tabuleiro). Para um tabuleiro de tamanho 5, a numerao das casas a seguinte: MD o 2014/1 Trabalho Prtico 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2. A profundidade com que se consegue alcanar na rvore de possibilidades at a primeira vez que se chega a uma posio que no possvel caminhar mais e deve ser feito um retrocesso. Tambm deseja-se saber o nmero de possibilidades at esse momento. Por exemplo, para um tabuleiro 4 4, comeando na posio (1, 1) e sempre tentando as posies na ordem de A a H, temos o seguinte passeio: Legenda: Casa visitada no n-simo passo {Identicao dos movimentos vlidos}, sendo que o primeiro movimento que aparece o que foi escolhido. 1 {GH} 4 {FG} 9 {E} 12 {E} 10 {H} 13 {FG} 6 {FG} 3 {DF} 5 {AH} 2 {ABH} 11 {BE} 8 {CD} 14 {} 7 {AC} Neste caso, a primeira casa visitada (que tem o nmero 1) est no canto superior esquerdo. A partir dessa casa, s possvel executar dois movimentos: G e H. Como o primeiro movimento escolhido, a segunda casa visitada recebe o nmero 2 e foi alcanada executando o movimento G. Ao se chegar 14 a casa visitada, no possvel prosseguir. At esse momento, um limite superior para a quantidade de possibilidades, de acordo com a regra acima, : 2 3 2 2 2 2 2 2 1 1 2 1 2 = 2 8 3 = 768. Ao no ser possvel continuar, teramos que retornar at 13 a casa, escolher o movimento G e tentar prosseguir. Se ainda assim no for possvel prosseguir, teramos que retornar at 11 a casa, escolher o movimento E e tentar continuar. Veja que nesse exemplo s existe uma alternativa na 12 a casa, fazendo com seja necessrio retornar at a primeira casa onde haja mais de uma possibilidade de movimento, que nesse momento a 11 a casa. MD o 2014/1 Trabalho Prtico 3