Avaliação de Matriz Jacobiana utilizando Coloração de Grafos · Departamento de Informática,...

3
Avaliação de Matriz Jacobiana utilizando Coloração de Grafos Thiago Molino Moreira , Maria Cristina Rangel Departamento de Informática, Centro Tecnológico, UFES 29.075-910, Vitória, ES E-mail: [email protected], [email protected] Palavras-chave: Otimização, Coloração e Avaliação da Jacobiana Resumo: Este trabalho estuda o Problema de Coloração de Grafos para modelagem do Problema de Particionamento de Colunas da Matriz Jacobiana oriunda da solução de problemas não-lineares pelo Método de Newton. A matriz Jacobiana n x n é representada por um grafo G=(N,E) onde as arestas (i,j) indicam que as colunas i e j são estruturalmente ortogonais. O algoritmo construtivo para coloração de grafos foi implementado reduzindo o número de colunas da matriz Jacobiana permitindo que a avaliação em um ponto x seja feita em um tempo computacional menor. O algoritmo foi aplicado a um conjunto de matrizes esparsas disponíveis na internet [2]. Os tempos computacionais de avaliação da matriz Jacobiana original e da matriz Jacobiana reduzida são comparados. 1 Introdução O método de Newton é um processo iterativo que tem como objetivo estimar as raízes de uma função. A cada iteração é calculado um novo ponto e verificado se o mesmo é a raiz da função. Para isso, é necessário conhecer o ponto da iteração anterior, o valor da função e sua derivada neste ponto da iteração anterior. Neste trabalho esta função é representada por um conjunto de funções não- lineares. Desta forma, a derivada dessas funções é uma matriz denominada Jacobiana. Além disso, é explorada uma característica importante dessa matriz, a esparsidade, ou seja, um elevado número de elementos não nulos. Conhecido esse princípio, este problema pode ser tratado na forma de particionamento de matrizes, que utiliza o conceito de ortogonalidade, ou seja, duas colunas são ditas estruturalmente ortogonais se ambas não possuírem elementos não nulos na mesma linha. A partir disso, pode-se ver uma matriz qualquer como um grafo, no qual seus nós são as colunas dessa matriz. Portanto aplicando uma técnica de otimização chamada de coloração de grafos [3,4], é encontrada a matriz Jacobiana reduzida. Isso significa dizer que num processo iterativo o tempo gasto será diminuído, visto que o número de avaliações dessa Jacobiana reduzida é menor. A seguir é apresentado um exemplo de uma matriz 5x5, com sua devida representação como grafo e sua forma final reduzida. Figura 1: Matriz original e com redução através da coloração de grafos. Fonte da ilustração [4]. j 11 j 12 j 15 0 0 j 23 j 34 j 32 j 33 j 11 0 0 j 54 0 j 55 j 11 j 12 0 0 j 15 0 0 j 23 0 0 0 j 32 j 33 j 34 0 j 41 0 0 0 0 0 0 0 j 54 j 55 j 11 j 12 0 0 j 15 0 0 j 23 0 0 0 j 32 j 33 j 34 0 j 41 0 0 0 0 0 0 0 j 54 j 55 c 5 c 4 c c 3 c 2 390 ISSN 2317-3300

Transcript of Avaliação de Matriz Jacobiana utilizando Coloração de Grafos · Departamento de Informática,...

Avaliação de Matriz Jacobiana utilizando Coloração de Grafos

Thiago Molino Moreira, Maria Cristina Rangel Departamento de Informática, Centro Tecnológico, UFES

29.075-910, Vitória, ES E-mail: [email protected], [email protected]

Palavras-chave: Otimização, Coloração e Avaliação da Jacobiana Resumo: Este trabalho estuda o Problema de Coloração de Grafos para modelagem do Problema de Particionamento de Colunas da Matriz Jacobiana oriunda da solução de problemas não-lineares pelo Método de Newton. A matriz Jacobiana n x n é representada por um grafo G=(N,E) onde as arestas (i,j) indicam que as colunas i e j são estruturalmente ortogonais. O algoritmo construtivo para coloração de grafos foi implementado reduzindo o número de colunas da matriz Jacobiana permitindo que a avaliação em um ponto x seja feita em um tempo computacional menor. O algoritmo foi aplicado a um conjunto de matrizes esparsas disponíveis na internet [2]. Os tempos computacionais de avaliação da matriz Jacobiana original e da matriz Jacobiana reduzida são comparados.

1 Introdução O método de Newton é um processo iterativo que tem como objetivo estimar as raízes de uma função. A cada iteração é calculado um novo ponto e verificado se o mesmo é a raiz da função. Para isso, é necessário conhecer o ponto da iteração anterior, o valor da função e sua derivada neste ponto da iteração anterior. Neste trabalho esta função é representada por um conjunto de funções não-lineares. Desta forma, a derivada dessas funções é uma matriz denominada Jacobiana. Além disso, é explorada uma característica importante dessa matriz, a esparsidade, ou seja, um elevado número de elementos não nulos. Conhecido esse princípio, este problema pode ser tratado na forma de particionamento de matrizes, que utiliza o conceito de ortogonalidade, ou seja, duas colunas são ditas estruturalmente ortogonais se ambas não possuírem elementos não nulos na mesma linha. A partir disso, pode-se ver uma matriz qualquer como um grafo, no qual seus nós são as colunas dessa matriz. Portanto aplicando uma técnica de otimização chamada de coloração de grafos [3,4], é encontrada a matriz Jacobiana reduzida. Isso significa dizer que num processo iterativo o tempo gasto será diminuído, visto que o número de avaliações dessa Jacobiana reduzida é menor. A seguir é apresentado um exemplo de uma matriz 5x5, com sua devida representação como grafo e sua forma final reduzida.

Figura 1: Matriz original e com redução através da coloração de grafos. Fonte da ilustração [4].

j11 j12 j15 0 0 j23 j34 j32 j33 j11 0 0 j54 0 j55

j11 j12 0 0 j15 0 0 j23 0 0 0 j32 j33 j34 0 j41 0 0 0 0 0 0 0 j54 j55

j11 j12 0 0 j15 0 0 j23 0 0 0 j32 j33 j34 0 j41 0 0 0 0 0 0 0 j54 j55

c5

c4

c

c3

c2

390

ISSN 2317-3300

2 Metodologia Dada uma função diferenciável , cada coluna da matriz Jacobiana A pode ser estimada

através da aproximação da diferenças finitas considerando o tamanho do passo.

(1)

O termo ej representa os vetores canônicos e, portanto a equação 1 estima a matriz Jacobiana A completa, incluindo todos os termos nulos. Utilizando o exemplo da figura 1, esses vetores são:

. Para diminuir o

tempo gasto na avaliação, a matriz Jacobiana A estimada pela equação 1 pode ser particionada utilizando a coloração de grafos. As colunas da matriz A reduzida são representadas pelos vetores

que indicam as colunas que pertencem a mesma partição. Observando a Figura 1, a matriz Jacobiana ilustrada foi reduzida e os vetores são:

Isto mostra que a matriz Jacobiana reduzida é

avaliada da seguinte forma:

(2) . As matrizes originais utilizadas obtidas da University of Florida Sparse Matrix Collection [2] são armazenadas através do método denominado de CSR (Compressed Sparse Row), que é uma forma de utilizar somente os elementos não nulos dessas matrizes. Além disso, para aplicação da técnica de otimização, foi utilizado um algoritmo para coloração chamado algoritmo construtivo [1,5] que recebe como entrada um vetor que representa a ordem que as colunas são coloridas e retorna um novo vetor com as cores respectivas a cada coluna. A ordem estabelecida no algoritmo foi a ordem crescente das colunas (1,....,n). Para gerar funções não-lineares, a partir das matrizes disponíveis em [2], cada linha da

matriz dá origem a uma função ressaltando que existe se

Após essa construção, foi realizada uma simulação de uma das etapas do método de Newton. Inicialmente, foi avaliada a matriz Jacobiana original em um ponto x, isto é, n vezes são computadas as colunas . Para comparação, após a redução da matriz Jacobiana para r

colunas são computadas r vezes as colunas .

3 Resultados Computacionais e Conclusões Para a realização dos testes, foram utilizadas as matrizes listadas na primeira coluna da Tabela 1, com vetor e . A Tabela 1 mostra, a partir da segunda coluna, a dimensão n do

problema, o número de elementos não nulos nnz da matriz, número de cores C resultante do algoritmo construtivo, o tempo computacional TC para coloração, o tempo computacional T_orig de avaliação da Jacobiana original e o tempo T_red de avaliação da Jacobiana reduzida. Os tempos são tomados em segundos.

391

ISSN 2317-3300

Os resultados encontrados através do algoritmo utilizado são satisfatórios, visto que o tempo gasto para avaliar uma matriz sem redução é superior ao tempo para avaliar uma matriz reduzida. Vale ressaltar que essas matrizes escolhidas para os testes possuem esparsidade aproximadamente 99%. Quando se utiliza esta estratégia, um tempo computacional é gasto para encontrar a coloração da Jacobiana. No método de Newton é feita a cada iteração uma avaliação da Jacobiana, o que significa que existe um número mínimo de iterações para que seja compensado o tempo computacional para encontrar a coloração. Uma análise nesse sentido é apresentada na última coluna da Tabela 1, na qual NT representa esse número mínimo de iterações. Pode-se notar que este número é pequeno, tornando essa estratégia ainda mais eficiente.

Instâncias n nnz C TC (s) T_orig (s) T_red (s) % NT

HB/bcsstk08 1074 7017 335 4,524 0,094 0,031 67,02 71,81

HB/1138_bus 1138 2596 17 5,491 0,063 0,015 76,19 114,4

HB/bcsstk21 3600 15100 8 138,98 0,609 0,015 97,54 233,97

Cannizzo/sts4098 4098 38223 674 235,826 1,263 0,219 82,66 225,89

Tabela 1: Resultados encontrados para as quatro matrizes analisadas.

4 Referências [1] J. Culberson, Iterated greedy graph coloring and the difficult landscape, Tecnhical Report 92-07. Department of Computing Science, The University of Alberta. Edmonton, Alberta,1992. [2]T. Davis, University of Florida Sparse Matrix Collection, NA Digest, 97 (1997); http://www.cise.ufl. edu/research/sparse/matrices. [3] N. Deo, Graph Theory with Applications to Engineering and Computer Science, Prentice-Hall, Inc. Englewood Cliffs, N.J. USA, 1974. [4]A. Gebremedhin, F. Manne, and A. Pothen. What color is your Jacobian? Graph coloring for computing derivatives. SIAM Review, 47(4):629–705, Dec. 2005. [5] W. Klotz, Graph coloring algorithms. Tech Rep. Mathematik-Bericht 5.Clausthal University of Technology. Clausthal,2002.

392

ISSN 2317-3300