Initiation à la Recherche : lecture d’article HEURISTICS ... · Bora UÇAR Présenté par...
Transcript of Initiation à la Recherche : lecture d’article HEURISTICS ... · Bora UÇAR Présenté par...
HEURISTICS FOR A MATRIX
SYMMETRIZATION PROBLEM
Initiation à la Recherche : lecture d’article
SYMMETRIZATION PROBLEM
Article de
Bora UÇARPrésenté par
Mohamed Amine EL AFRIT
1
PLAN
• Contexte Générale et problématique
• Principe de l’algorithme
• Anomalies• Anomalies
• Améliorations
• Résultats et expériences
2HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
PLAN
• Contexte Générale et problématique
• Principe de l’algorithme
• Anomalies• Anomalies
• Améliorations
• Résultats et expériences
3HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
Contexte général• Problème de partitionnement de graphe et d’ordonnancement
(réf : [8,10,16])
• Les solveurs numériques parallèles utilisent l’arbre d’élimination
qui n’est définie que pour une matrice symétrique (réf : [17])
� complétion A+AT
�Augmentation des cout de calcul
����On cherche à augmenter la symétrie dans une matrice
4HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
Problématique
Matrice •Carré•Non symétriqueA valeur dans { 0,1}
Trouver une permutation des colonnes•Maximiser la symétrie•Diagonale non nulle
Matrice •Carré•Plus symétrique•A valeur dans { 0,1}
Décider si une matrice est symétrisable
NP-complet
5HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
•A valeur dans { 0,1} •Diagonale non nulle •A valeur dans { 0,1}•Diagonale non nulle
NP-hard
On s’intéresse à optimiser le problème de symétrisation d’une matrice carré non symétrique à valeur dans {0,1}
PLAN
• Contexte Générale et problématique
• Principe de l’algorithme
• Anomalies• Anomalies
• Améliorations
• Résultats et expériences
6HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
Principe de l’algorithme
0110013
1101012
0010111
654321
R
R
R
CCCCCC
A =
Exemple de matrice à symétriser
0010016
0110005
1110114
0110013
R
R
R
RA =
11)(0
== ∑≠
jia
ij aaASij
7HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
Principe de l’algorithme
0010016
0110005
1110114
0110013
1101012
0010111
654321
R
R
R
R
R
R
CCCCCC
A =Construction du graphe biparti
Graphe (V,E) biparti
Il existe une partition de V en deux sous-ensembles R et C
telle que chaque arête ait une extrémité dans R et l'autre dans C.0010016R
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
G
8HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
dans C.
Principe de l’algorithme
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
Générer un couplage
G
Générer un couplage à partir du graphe
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
M
9HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
3C 5C2C 4C1C 6C
][]),[( positioniCMCR èmejji →⇒∈
Principe de l’algorithme
Matrice de permutation correspondant au
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
M
0000016
0100005
1000004
0010003
0001002
0000101
654321
R
R
R
R
R
R
CCCCCC
M =
3C 5C2C 4C1C 6Ccorrespondant au couplage M
10HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
1001006
0101005
1111014
1101003
1110102
1001011
654321
R
R
R
R
R
R
CCCCCC
MA T =×
10)( =AMS
3C 5C2C 4C1C 6C
Principe de l’algorithme
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
G M
Construction de C4ensemble des cycles alternés
4C
3R
1C
6R
C4 =
4C
3R
5C
5R
11HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
Principe de l’algorithme
4C
3R
1C
6R
C4 =
4C
3R
5C
5R
01)( ≥=Cgain3R 6R
Calcul du gain
12HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
4C 1C
0010006
0100005
1000004
0000013
0001002
0000101
654321
)1(
R
R
R
R
R
R
CCCCCC
M =
PLAN
• Contexte Générale et problématique
• Principe de l’algorithme
• Anomalies• Anomalies
• Améliorations
• Résultats et expériences
13HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
Anomalies
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
M1
L’ensemble C4 dépend du premier couplage
4C
3R
1C
6R
C4 =4C
3R
5C
5R
14HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
Chaque cycle n’est considéré qu’une seule fois � problème d’ordre
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
M21C
3R
4C
6R
C4 =
PLAN
• Contexte Générale et problématique
• Principe de l’algorithme
• Anomalies• Anomalies
• Améliorations
• Résultats et expériences
15HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
Améliorations
• Trier C4 selon le gain des cycles.
• Parcours aléatoire des sommets et choisir le
meilleur cycle contenant ce sommet.meilleur cycle contenant ce sommet.
• Borne supérieure et couplage initiale.
16HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
AméliorationsExemple bornes supérieures UB1
A vertex v can be in at most d(v) − 1 alternating cycles of length four
))(),(min(),( jiijji CdRdwMCR =⇒∈
17HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
AméliorationsExemple bornes supérieures UB1
A vertex v can be in at most d(v) − 1 alternating cycles of length four
))(),(min(),( jiijji CdRdwMCR =⇒∈
18HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
2
22
21
3
M
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
G
AméliorationsExemple bornes supérieures UB1
A vertex v can be in at most d(v) − 1 alternating cycles of length four
))(),(min(),( jiijji CdRdwMCR =⇒∈
19HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
2
22
21
3UB1 = 12M
AméliorationsExemple bornes supérieures UB1
A vertex v can be in at most d(v) − 1 alternating cycles of length four
))(),(min(),( jiijji CdRdwMCR =⇒∈
20HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
2
22
21
3UB1 = 12M 12)( ≤AMS
AméliorationsExemple bornes supérieures UB1
A vertex v can be in at most d(v) − 1 alternating cycles of length four
))(),(min(),( jiijji CdRdwMCR =⇒∈
21HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
2
22
21
3UB1 = 12M 12)( ≤AMS
On choisit le couplage initiale ayant le meilleur score
PLAN
• Contexte Générale et problématique
• Principe de l’algorithme
• Anomalies• Anomalies
• Améliorations
• Résultats et expériences
22HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
Résultats et expériences
Avec des matrices initialement symétriques + permutation aléatoire
Avec des matrices non symétriques
QIBPA )( +=�Le meilleur score de symétrie est connue
�Le meilleur score de symétrie n’est pas connue
23HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
�Le meilleur score de symétrie n’est pas connue
Résultats et expériences
24HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
Références• [5] Davis, T.: University of Florida sparse matrix collection. NA Digest 92/96/97
(1994/1996/1997), http://www.cise.ufl.edu/research/sparse/matrices
• [7] Duff, I.S., Koster, J.: On algorithms for permuting large entries to the diagonal of a sparse
matrix. SIAM Journal on Matrix Analysis and Applications 22, 973–996 (2001)
• [8] Hendrickson, B., Kolda, T.G.: Partitioning rectangular and structurally unsymmetric sparse
matrices for parallel processing. SIAM Journal on Scientific Compu
• [10] Hu, Y.F., Scott, J.A.: Ordering techniques for singly bordered block diagonal forms for
unsymmetric parallel sparse direct solvers. Numerical Linear Algebra with Applications 12,
877–894 (2005)ting 21, 2048–2072 (2000)
• [12] Kernighan, B.W., Lin, S.: An efficient heuristic procedure for partitioning graphs. The Bell • [12] Kernighan, B.W., Lin, S.: An efficient heuristic procedure for partitioning graphs. The Bell
System Technical Journal 49, 291–307 (1970)
• [13] Lawler, E.: Combinatorial Optimization: Networks and Matroids. Dover, Mineola, New
York (unabridged reprint of Combinatorial Optimization: Networks and Matroids, originally
published by New York: Holt, Rinehart, and Wilson, c1976) (2001)
• [16] Reid, J.K., Scott, J.A.: Reducing the total bandwidth of a sparse unsymmetric matrix.
SIAM Journal on Matrix Analysis and Applications 28, 805–821 (2006)
• [17] P. Hénon, P. Ramet, and J. Roman. PaStiX: A High-Performance Parallel Direct Solver for
Sparse Symmetric Definite Systems. Parallel Computing, 28(2):301-321, January 2002.
http://www.labri.fr/perso/ramet/
• [18] http://fr.wikipedia.org …
25HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
Questions ?Questions ?
26HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
Annexe : Calcul du gain d’un cycle
4C
3R
1C
6R
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
G
27HEURISTICS FOR A MATRIX SYMMETRIZATION PROBLEM
3C 5C2C 4C1C 6C
1R 2R 3R 4R 5R 6R
0145)( ≥=−=Cgain