Diferenciação automática de matrizes Hessianas

Detalhes bibliográficos
Autor(a) principal: Gower, Robert Mansel
Data de Publicação: 2011
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
Texto Completo: https://hdl.handle.net/20.500.12733/1615482
Resumo: Orientador: Margarida Pinheiro Mello
id UNICAMP-30_3bb750fb4d62fe0ffef4df95fedaa787
oai_identifier_str oai::796671
network_acronym_str UNICAMP-30
network_name_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository_id_str
spelling Diferenciação automática de matrizes HessianasAutomatic differentiation of hessian matricesMatriz hessianaDiferenciação automáticaTeoria dos grafosHessian matrixAutomatic differentiationGraph theoryOrientador: Margarida Pinheiro MelloDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matemática, Estatística e Computação CientíficaResumo: Dentro do contexto de programação não linear, vários algoritmos resumem-se à aplicação do método de Netwon aos sistemas constituídos pelas condições de primeira ordem de Lagrange. Nesta classe de métodos é necessário calcular a matriz hessiana. Nosso foco é o cálculo exato, dentro da precisão da máquina, de matrizes hessianas usando diferenciação automática. Para esse fim, exploramos o cálculo da matriz hessiana sob dois pontos de vista. O primeiro é um modelo de grafo que foca nas simetrias que ocorrem no processo do cálculo da hessiana. Este ângulo propicia a intuição de como deve ser calculada a hessiana e leva ao desenvolvimento de um novo método de modo reverso para o cálculo de matrizes hessianas denominado edge pushing. O segundo ponto de vista é uma representação puramente algébrica que reduz o cálculo da hessiana à avaliação de uma expressão. Esta expressão pode ser usada para demonstrar algoritmos já existentes e projetar novos. Para ilustrar, deduzimos dois novos algoritmos, edge pushing e um novo algoritmo de modo direto, e uma série de outros métodos conhecidos [1], [20, p.157] e [9]. Apresentamos estudos teóricos e empíricos sobre o algoritmo edge pushing. Analisamos sua complexidade temporal e de uso de memória. Implementamos o algoritmo como um driver do pacote ADOL-C [19] e efetuamos testes computacionais, comparando sua performance com à de dois outros drivers em dezesseis problemas da coleção CUTE [5]. Os resultados indicam que o novo algoritmo é muito promissor. Pequenas modificações em edge pushing produzem um novo algoritmo, edge pushing sp, para o cálculo da esparsidade de matrizes hessianas, um passo necessário de uma classe de métodos que calculam a matriz hessiana usando colorações de grafos, [14, 19, 30]. Estudos de complexidade e testes numéricos são realizados comparando o novo método contra um outro recentemente desenvolvido [30] e os testes favorecem o novo algoritmo edge pushing sp. No capítulo final, motivado pela disponibilidade crescente de computadores com multiprocesadores, investigamos o processamento em paralelo do cálculo de matrizes hessianas. Examinamos o cálculo em paralelo de matrizes hessianas de funções parcialmente separáveis. Apresentamos uma abordagem desenvolvida para o cômputo em paralelo que pode ser usando em conjunto com qualquer método de cálculo de hessiana e outra estratégia específica para métodos de modo reverso. Testes são executados em um computador com memória compartilhada usando a interface de programação de aplicativo OpenMPAbstract: In the context of nonlinear programming, many algorithms boil down to the application of Newton's method to the system constituted by the first order Lagrangian conditions. The calculation of Hessian matrices is necessary in this class of solvers. Our focus is on the exact calculation, within machine precision, of Hessian matrices through automatic differentiation. To this end, we detail the calculations of the Hessian matrix under two points of view. The first is an intuitive graph model that focuses on what symmetries occur throughout the Hessian calculation. This provides insight on how one should calculate the Hessian matrix, and we use this enlightened perspective to deduce a new reverse Hessian algorithm called edge pushing. The second viewpoint is a purely algebraic representation of the Hessian calculation via a closed formula. This formula can be used to demonstrate existing algorithms and design new ones. In order to illustrate, we deduce two new algorithms, edge pushing and a new forward algorithm, and a series of other known Hessian methods [1], [20, p.157] and [9]. We present theoretical and empirical studies of the edge pushing algorithm, establishing memory and temporal bounds, and comparing the performance of its computer implementation against that of two algorithms available as drivers of the software ADOL-C [14, 19, 30] on sixteen functions from the CUTE collection [5]. Test results indicate that the new algorithm is very promising. As a by-product of the edge pushing algorithm, we obtain an efficient algorithm, edge pushing sp, for automatically obtaining the sparsity pattern of Hessian matrices, a necessary step in a class of methods used for computing Hessian matrices via graph coloring, [14, 19, 30]. Complexity bounds are developed and numerical tests are carried out comparing the new sparsity detection algorithm against a recently developed method [30] and the results favor the new edge pushing sp algorithm. In the final chapter, motivated by the increasing commercial availability of multiprocessors, we investigate the implementation of parallel versions of the edge pushing algorithm. We address the concurrent calculation of Hessian matrices of partially separable functions. This includes a general approach to be used in conjunction with any Hessian software, and a strategy specific to reverse Hessian methods. Tests are carried out on a shared memory computer using the OpenMP paradigmMestradoAnálise NuméricaMestre em Matemática Aplicada[s.n.]Mello, Margarida Pinheiro, 1957-Oliveira, Aurelio Ribeiro Leite deBirgin, Ernesto Julián GoldbergUniversidade Estadual de Campinas. Instituto de Matemática, Estatística e Computação CientíficaPrograma de Pós-Graduação em Matemática AplicadaUNIVERSIDADE ESTADUAL DE CAMPINASGower, Robert Mansel2011info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdf89 f. : il.https://hdl.handle.net/20.500.12733/1615482GOWER, Robert Mansel. Diferenciação automática de matrizes Hessianas. 2011. 89 f. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matemática, Estatística e Computação Científica, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1615482. Acesso em: 25 abr. 2024.https://repositorio.unicamp.br/acervo/detalhe/796671porreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2022-12-15T18:35:53Zoai::796671Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2022-12-15T18:35:53Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false
dc.title.none.fl_str_mv Diferenciação automática de matrizes Hessianas
Automatic differentiation of hessian matrices
title Diferenciação automática de matrizes Hessianas
spellingShingle Diferenciação automática de matrizes Hessianas
Gower, Robert Mansel
Matriz hessiana
Diferenciação automática
Teoria dos grafos
Hessian matrix
Automatic differentiation
Graph theory
title_short Diferenciação automática de matrizes Hessianas
title_full Diferenciação automática de matrizes Hessianas
title_fullStr Diferenciação automática de matrizes Hessianas
title_full_unstemmed Diferenciação automática de matrizes Hessianas
title_sort Diferenciação automática de matrizes Hessianas
author Gower, Robert Mansel
author_facet Gower, Robert Mansel
author_role author
dc.contributor.none.fl_str_mv Mello, Margarida Pinheiro, 1957-
Oliveira, Aurelio Ribeiro Leite de
Birgin, Ernesto Julián Goldberg
Universidade Estadual de Campinas. Instituto de Matemática, Estatística e Computação Científica
Programa de Pós-Graduação em Matemática Aplicada
UNIVERSIDADE ESTADUAL DE CAMPINAS
dc.contributor.author.fl_str_mv Gower, Robert Mansel
dc.subject.por.fl_str_mv Matriz hessiana
Diferenciação automática
Teoria dos grafos
Hessian matrix
Automatic differentiation
Graph theory
topic Matriz hessiana
Diferenciação automática
Teoria dos grafos
Hessian matrix
Automatic differentiation
Graph theory
description Orientador: Margarida Pinheiro Mello
publishDate 2011
dc.date.none.fl_str_mv 2011
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/20.500.12733/1615482
GOWER, Robert Mansel. Diferenciação automática de matrizes Hessianas. 2011. 89 f. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matemática, Estatística e Computação Científica, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1615482. Acesso em: 25 abr. 2024.
url https://hdl.handle.net/20.500.12733/1615482
identifier_str_mv GOWER, Robert Mansel. Diferenciação automática de matrizes Hessianas. 2011. 89 f. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matemática, Estatística e Computação Científica, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1615482. Acesso em: 25 abr. 2024.
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv https://repositorio.unicamp.br/acervo/detalhe/796671
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
89 f. : il.
dc.publisher.none.fl_str_mv [s.n.]
publisher.none.fl_str_mv [s.n.]
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
instname:Universidade Estadual de Campinas (UNICAMP)
instacron:UNICAMP
instname_str Universidade Estadual de Campinas (UNICAMP)
instacron_str UNICAMP
institution UNICAMP
reponame_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
collection Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)
repository.mail.fl_str_mv sbubd@unicamp.br
_version_ 1797405040949854208