Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2013.Esta dissertação aborda a aplicação dos métodos de Monte Carlo via Cadeias de Markov na aprendizagem de estruturas de redes Bayesianas. Estes métodos têm se mostrado extremamente eficientes nos cálculos aproximados de problemas nos quais é impossível obter uma solução exata. Neste sentido, apresenta um método para gerar estruturas de redes Bayesianas a partir dos dados para que possam ser utilizadas para realizar consultas sobre o domínio do problema e também que permitam extrair conhecimento sobre o problema através dos modelos gráficos gerados. Inicialmente, através do uso de técnicas de verificação de independência condicional entre os nós da rede, alguns vértices (conexões entre os nós) da estrutura inicial foram fixados e não mais alterados, visando minimizar o uso de recursos computacionais. Após fixar esses vértices, o próximo passo consistiu em construir uma estrutura inicial de rede (conectar os demais nós da rede não fixados no passo anterior) a ser alterada durante toda a execução do algoritmo. Para isso, foram utilizados algoritmos de busca heurística. De posse de um modelo inicial de rede e seguindo o fluxo dos métodos de Monte Carlo e Cadeias de Markov, a próxima etapa alterava esse modelo, a cada iteração do algoritmo, de forma aleatória, visando encontrar o modelo que melhor representasse os dados. Os algoritmos de geração de amostras de rede utilizados nessa etapa selecionavam dois nós e uma operação a ser realizada no vértice de conexão entre esses nós (incluir, excluir ou inverter), sempre de forma aleatória. Depois de verificar se a operação realizada na estrutura atual da rede gerava uma rede válida (sem ciclos), a rede era aceita como novo estado da cadeia. Finalmente, para comparar os modelos de rede e selecionar o melhor entre eles, foram utilizadas métricas de score. Analisando as redes geradas durante as execuções do algoritmo, juntamente com os dados capturados na submissão dos casos de teste, pôde-se concluir que os resultados mostraram-se muito satisfatórios, devido, principalmente, às taxas de erros apresentadas nas matrizes de classificação. Como exemplo, na submissão de um dos conjuntos de testes a uma das redes gerada pelo algoritmo, apenas 7% (sete) dos dados foram classificados incorretamente. Pode-se crer que os bons resultados obtidos devem-se ao processo utilizado na coleta de modelos de rede, no qual foram salvos os melhores modelos durante toda a execução do programa.Abstract : This paper discusses the application of the methods of Markov Chain Monte Carlo in the learning of structures of Bayesian networks. These methods have proved to be extremely effective in approximate calculations of problems in which it is impossible to obtain an exact solution. In this sense, it presents a method for generating structures of Bayesian networks from data that can be used to perform queries on the problem domain and also for extracting knowledge about the problem through the graphic models generated. Initially, through the use of verification techniques for conditional independence between the network nodes, some vertices (connections between nodes) of the initial structure were fixed and not altered in order to minimize the use of computational resources. After fixing these vertices, the next step was to build an initial network structure (connect other network nodes not set in the previous step) to be changed throughout the execution of the algorithm. For this, heuristic search algorithms are used. With this initial network model and following the flow of the Monte Carlo and Markov chains methods, the next step alter this model, in each iteration of the algorithm, randomly, aiming to find the model that best represents the data. The algorithms for generating samples of network used in this step selected two nodes and an operation to be performed at the vertice of connection between these nodes (add, delete or reverse), always randomly. After checking that the operation performed on the current network structure generated a valid network (without cycles), the network was accepted as a new state of the chain. Finally, to compare the network models and select the best among them, metrics score are used. Analyzing the networks generated during the execution of the algorithm, along with the data captured in the submission of test cases, it can be concluded that the results were very satisfactory, mainly due to error rates presented in the matrix of classification. As an example, submission of one of the test sets to the network generated by the algorithm, only 7% (seven) of data were misclassified. It is believed that the good results are due to the process used to collect network models, where it saves the best models throughout the execution of the program