Título: | Estudo e implementação da árvore de semigrupos numéricos |
Autor(es): | Duarte, Bruno Henrique Sousa |
Orientador(es): | Souza, Matheus Bernardini de |
Assunto: | Matemática Linguagem de programação (Computadores) Linguagem de programação - Python |
Data de apresentação: | 2023 |
Data de publicação: | 3-Jul-2024 |
Referência: | DUARTE, Bruno Henrique Sousa. Estudo e implementação da árvore de semigrupos numéricos. 2023. 65 f., il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Software) — Universidade de Brasília, Brasília, 2023. |
Resumo: | Este trabalho refere-se ao desenvolvimento de conexões entre os conceitos computacionais e a área de estudo matemático de semigrupos numéricos, mais especificamente visando compreender a contagem de semigrupos numéricos por gênero dado. Abordaremos aqui as operações e técnicas necessárias para obter elementos da sequência (𝑛𝑔) de forma rápida e com maior eficiência mediante as linguagens de programação. Desta forma, busca-se,com auxílio de estudos já elaborados anteriormente, definir quais as melhores alternativas computacionais tanto em função do tempo e execução das operações quanto em relação à particularidade das linguagens de programação. A construção da árvore de semigrupos numéricos foi implementada nas linguagens de programação Python e C++. Adicionalmente, foi empregado o Cilk++ para a paralelização do processo. Importante citar que para tal pesquisa adotou-se como referencial matemático os conceitos de árvore de semigrupos numéricos. Em complemento a isso, o presente estudo relaciona-se com as metodologias criadas por Fromentin e Hivert a fim de estabelecer as relações computacionais e matemáticas objetivadas. O conhecimento prévio, tanto de algumas estruturas de algoritmos quanto de alguns conceitos matemáticos colabora para a leitura e entendimento da presente pesquisa. Este trabalho obteve como resultado a contagem da sequência até 𝑛64, juntamente com a criação de uma tabela contendo os tempos de execução correspondentes, permitindo o acompanhamento do progresso das otimizações realizadas. |
Abstract: | This work refers to the development of connections between computational concepts andnumerical semigroups, more specifically aiming to understand the counting of numericalsemigroups by given genus. Here we will discuss the operations and techniques necessaryto obtain elements of the sequence (𝑛𝑔) quickly and with greater efficiency using programminglanguages. In this way, with the aid of previously elaborated studies, we seekto define the best computational alternatives both in terms of time and execution of operationsand in relation to the particularity of programming languages. The construction ofthe tree of numerical semigroups was implemented in the programming languages Pythonand C++. Additionally, Cilk++ was employed for parallelizing the process. It is importantto mention that for this research the concepts of tree of numerical semigroups wereadopted as a mathematical reference. In addition to this, it relates to the methodologies created by Fromentin and Hivert in order to establish the computational and mathematical relationships objectified in this work. It should be noted that prior knowledgeof both some algorithm structures and some mathematical concepts collaborate for the reading and understanding of this research. This research resulted in the computation ofthe sequence up to 𝑛64, accompanied by the creation of a table containing the respective execution times, enabling the tracking of the progress made during the optimizations performed. |
Informações adicionais: | Trabalho de Conclusão de Curso (graduação) — Universidade de Brasília, Faculdade UnB Gama, 2023. |
Licença: | A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta. |
Aparece na Coleção: | Engenharia de Software
|
Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.