Preciso resolver uma implementação de sistemas distribuidos

Redes de Computadores Sistemas distribuidos Curso Superior

PROBLEMA: jogo 2048
Você conhece o jogo 2048? Se não, irei apresentá-lo a vocês. Abaixo segue uma imagem.
-Nesse jogo, as teclas direcionais são usadas para realizar jogadas (cima, baixo, esquerda e direita). A
-cada vez que uma tecla é pressionada, os blocos numerados tentam deslizar pela matriz caso haja
espaço. No exemplo da imagem abaixo, se a tecla para esquerda for pressionada, 5 blocos irão se
mover (8, 2, 16, 2, 32).
-Além de tentar deslizar, blocos adjacentes com o mesmo número se juntam em um único bloco com um
número dobrado caso tentem deslizar na direção certa. No exemplo da imagem abaixo, se a tecla para
baixo for pressionada, dois blocos 2 irão se transformar em um bloco 4 e dois blocos 32 irão se
transformar em um bloco 64.
Durante o jogo, além de fazer as jogadas, surgem aleatoriamente blocos na matriz com números iguais
a potências de 2. O objetivo é fazer os blocos se juntarem para que um bloco com número 2048 seja
formado. Quando isso acontece, o jogador vence o jogo e não é possível fazer mais jogadas.

Porém, também pode acontecer do jogador não ter mais jogadas possíveis antes de formar o número
2048. No exemplo da imagem abaixo, apertar a tecla para a direita não é uma jogada válida, pois
nenhum bloco pode se mover ou se juntar a outro bloco.
Sua tarefa nesse problema é dizer quais são as jogadas válidas para uma determinada situação
do jogo.
Entrada
Você deve fornecer 6 casos de teste de estado de jogo. Ou seja, 6 matrizes 4x4 aleatórias com valores
zero (para espaço vazio) ou múltiplos de 2. Isto é, os números da matriz são iguais a 0 para indicar que
não há bloco na posição, ou são iguais a potências de 2 entre 2 e 2048 inclusive.
Saída
Para cada teste, a saída consiste de uma linha contendo todas as jogadas possíveis para a entrada. As
jogadas são indicadas por BAIXO, ESQUERDA, DIREITA E CIMA. Caso não haja nenhuma jogada
possível, imprima NONE.
Imprima também a quantidade de vezes que não foi possível fazer uma jogada possível (NONE).
Exemplo
6 MATRIZES SORTEADAS RESULTADO
2 128 8 16
16 8 4 32
8 16 32 64
16 2 64 128
0 0 0 8
0 0 2 16
0 0 2 32
2 8 16 32
NONE
BAIXO ESQUERDA CIMA
DIREITA CIMA
NONE
BAIXO ESQUERDA
NONE
Não foi possível fazer jogadas 3 vezes

0 0 0 0
0 0 0 0
0 0 0 0
2 0 0 0
2 4 8 16
4 8 16 32
8 16 32 64
16 32 64 128
0 0 0 2
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Atividade de avaliativa 1
O objetivo desse exercício é que vocês comparem algoritmos em relação ao tempo de execução.
Lembrem-se que, se é desejado aferir o tempo de execução do processo, é necessário levar em
consideração que outros processos estão concorrendo por esse tempo de processamento na
máquina.
Escolha a mesma linguagem de programação para os exercícios 1 e 2 abaixo.
1) Faça um algoritmo A (sequencial) que resolva o problema acima.
2) Faça uma nova versão do algoritmo que utilize threads (algoritmo B) para o mesmo problema .
3) Faça um programa testador de tempo de execução. Ele terá por intuito inicializar os processos A e B,
aferir seus respectivos tempos médios de execução e calcular os speedups:
a) aferir o tempo médio do algoritmo A para 50 execuções;
b) aferir o tempo médio do algoritmo B para 50 execuções em cada um dos cenários abaixo:
i) 3 thread;
ii) 6 threads;
b) calcular os speedups do algoritmo A em relação a cada uma das versões do algoritmo B.
4) REFLITA e ANOTE:
a) Por que obteve esses resultados?
b) A relação do tempo do speedup coletado com os itens abaixo:
i) Qual o hardware usado? Isso influencia?
Instituto Federal de Educação, Ciência e Tecnologia do Sudeste de Minas Gerais
Campus Rio Pomba
- Sistemas Paralelos e Distribuídos -
professora: Bianca Portes
ii) Qual o sistema operacional usado? Isso influencia?
iii) Qual a linguagem e recursos da linguagem usados? Haveria diferença se as linguagens
fossem diferentes?
iv) Por que determinada abordagem obteve melhor desempenho em relação a outra
(paralelo x sequencial)?
v) Onde foi possível aumentar a vazão na sua proposta?
.

Foto de Pablo A.
Pablo perguntou há 3 semanas

Sabe a resposta?

Ganhe 10 pts por resposta de qualidade
Responder dúvida

Professores particulares de Redes de Computadores

+ Ver todos
Encontre e contrate um professor particular para te ajudar nos estudos.

Antonio P.

4,1 (16)
4 horas ministradas
22 tarefas resolvidas
Antonio Pedro está online

Antonio P.

Itaperuna / RJ
Graduação: Direito (UNIG)
Redes de Computadores - powerpoint Redes de Computadores - hardware Redes de Computadores - word
Professor de direito, aprovado em alguns concursos! Resolvo questões e dúvidas por um preço bastante acessível e com respostas corretas e confiáveis.
R$ 90 / aula Conversar Ver WhatsApp
1ª aula demonstrativa

Lucas G.

4,6 (5)
7 horas ministradas
5 tarefas resolvidas

Lucas G.

Rio de Janeiro / RJ
Graduação: Engenharia da Computação (Instituto Militar de Engenharia - IME)
Redes de Computadores Nível Curso Superior Redes de Computadores Avançado Redes de Computadores - Redes
Engenheiro formado pelo ime: ensino matemática/física/computação para fundamental/médio/superior e vestibulares militares.
R$ 80 / aula Conversar Ver WhatsApp
1ª aula demonstrativa

Recursos Profes

O Profes é uma solução completa de aprendizagem, com diversos recursos para
você aprender do jeito mais eficiente e personalizado possível.

Encontre um professor e combine aulas particulares Presenciais ou Online
  • Pode deixar uma solicitação grátis (até 7 professores entram em contato)
  • Ou paga para ver o Whatsapp dos professores que você escolher
  • Ou compra aulas a um preço fixo garantido com um excelente professor
Buscar professor
Envie uma tarefa, lista de exercícios, atividade ou projeto
  • Você define o prazo e o valor
  • Profes encontra um professor para resolver e retornar no seu prazo e valor
  • Interação com o professor por chat
  • Se não gostar da resolução, reembolsamos
Enviar Tarefa
Tenha uma aula online agora mesmo com um professor disponível
  • Você paga por minuto
  • Minutos restantes podem ser reutilizados ou reembolsados
  • Um excelente professor entra na Sala de Chat Profes ao vivo
  • Se em 5 min você não gostar, devolvemos o seu dinheiro
Pedir Profes Já