Um estudo sobre o uso de memória do algoritmo de Knuth para jogar Mastermind, usando Python

dc.contributor.advisorAmorim, Cláudio Alves de
dc.contributor.authorSoares, Marcus Filipe Coutinho Silva
dc.contributor.refereeMassa Neto, Ernesto de Souza
dc.date.accessioned2024-11-01T13:49:21Z
dc.date.available2024-11-01T13:49:21Z
dc.date.issued2021-07-12
dc.description.abstractMastermind é um jogo de tabuleiro de informação imperfeita, inventado em 1970 por Modecai Meirowitz, que recebeu popularidade mundial nas últimas décadas. É um jogo de dois jogadores que se assemelha ao jogo de "Bulls and Cows", originalmente jogado com lápis e papel. O objetivo deste trabalho foi realizar um estudo analítico do algoritmo determinístico proposto por Donald Knuth que influenciou diversos outros algoritmos posteriores na solução do jogo de Mastermind, no que diz respeito ao consumo de memória do mesmo durante o processo de execução utlizando a linguagem Python. Com base na documentação disponível sobre a linguagem Python, foi realizado um estudo sobre a forma de como esta realiza a alocação de memória de seus objetos e estruturas de dados, com a finalidade de fundamentar a criação de uma hipótese sobre o crescimento da curva do consumo total de memória esperado. Os resultados medidos empíricamente revelam que o consumo de memória do cabeçalho de objetos na linguagem Python é significativo, mantendo-se em cerca de 7% do consumo total de memória por objeto, mas não afeta a curva de crescimento de memória destes, que mantêm-se exponencial.
dc.description.abstract2Mastermind is a board game of imperfect information, invented in 1970 by Modecai Meirowitz, which has received worldwide popularity in recent decades. It is a two-player game that resembles the game of “Bulls and Cows”, originally played with pencil and paper. The aim of this work was to carry out an analytical study of the deterministic algorithm proposed by Donald Knuth, which influenced several other later algorithms for solving the Mastermind game, with regard to its memory consumption during the execution process, using the Python language. Based on the documentation available on the Python language, a study was carried out on how it allocates the memory of its objects and data structures, with the aim of creating a hypothesis on the growth of the expected total memory consumption curve. The empirically measured results show that the memory consumption of the object header in the Python language is significant, remaining at around 7% of the total memory consumption per object, but does not affect their memory growth curve, which remains exponential.
dc.format.mimetypeapplication/pdf
dc.identifier.citationSOARES, Marcus Filipe Coutinho Silva. Um estudo sobre o uso de memória do algoritmo de Knuth para jogar Mastermind, usando Python. Orientador: Cláudio Alves de Amorim. 2021. 53 f. Trabalho de conclusão de curso (Bacharelado em Sistemas de Informação) - Departamento de Ciências Exatas e da Terra, Campus I, Universidade do Estado da Bahia. Salvador- BA, 2021.
dc.identifier.urihttps://saberaberto.uneb.br/handle/20.500.11896/6568
dc.language.isopor
dc.publisherUniversidade do Estado da Bahia
dc.publisher.programGraduação
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rights.urihttp://creativecommons.org/licenses/by/3.0/br/
dc.rights2Attribution 3.0 Brazilen
dc.subject.keywordsMastermind
dc.subject.keywordsKnuth
dc.subject.keywordsAlgoritmo
dc.subject.keywordsPython
dc.titleUm estudo sobre o uso de memória do algoritmo de Knuth para jogar Mastermind, usando Python
dc.title.alternativeA study on the memory usage of Knuth's algorithm for playing Mastermind, using Python
dc.typeinfo:eu-repo/semantics/bachelorThesis
Arquivos
Pacote Original
Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
Um estudo sobre o uso de memória_Marcus Filipe Soares.pdf
Tamanho:
552.07 KB
Formato:
Adobe Portable Document Format
Descrição:
Licença do Pacote
Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
462 B
Formato:
Item-specific license agreed upon to submission
Descrição: