2 Cadre du TER Projet Algol But du TER Conception et étude d’algorithmes de traitement de données dans un satellite d’observation de la voûte spatiale
3 Plan Description et résolution du premier problème Description et résolution du second problème Analyses et expériences Conclusion
4 Premier problème Récupération des valeurs les plus pertinentes dans un tableau de taille n à l’aide de k masques de taille c Présentation du problème Présentation du problème Construction du graphe Construction du graphe Une première solution : GOA-V Une première solution : GOA-V Modélisation du graphe et des vecteurs Modélisation du graphe et des vecteurs Déroulement de l’algorithme Déroulement de l’algorithme Compléxités Compléxités Idée de parallélisation Idée de parallélisation
5 Présentation du problème Valeurs récupérées : (16,14,12,7,6,5,4,1,0) Valeurs récupérées : (19,17,16,14,10,8,6,4,1) Récupération des valeurs les plus pertinentes Meilleure solution 3 masques de taille 3 Cas interdits Problème1
6 Début du 1er masque Début du 2ème masque Début du 3ème masque Problème1 Construction du graphe 3 masques de taille 3 sur un tableau de 12 cases
7 Première solution Déroulement de GOA Passage de GOA à GOA-V Problème1
8 Déroulement de GOA Tri des sommets par ordre topologique 0 +inf 1 Initialisation des distances Traitement des sommets Problème1
9 Passage de GOA à GOA-V Distance Pondération vectorielle Scalaire Vecteur Addition Addition vectorielle Comparaison Comparaison vectorielle Problème1
10 Problème de GOA-V Utilisation importante de mémoire Possibilité de créer un algorithme spécialisé pour le type de graphes utilisés Problème1
11 Modélisation du graphe et des vecteurs (1/2) Représentation des vecteurs : tableau Addition vectorielle (5,2,1) + (7,4,1) = (7,5,4,2,1,1) Comparaison vectorielle (6,4,1) < (7,3,2) Problème (7,5,4,1,1)
12 Modélisation du graphe et des vecteurs (2/2) Représentation du graphe : Les arcs : pondérations stockées dans un tableau Les arcs : pondérations stockées dans un tableau Représentation du graphe : Les arcs : pondérations stockées dans un tableau Les arcs : pondérations stockées dans un tableau Les sommets : pondérations des sommets utiles stockées dans un tableau (mat_vect) Les sommets : pondérations des sommets utiles stockées dans un tableau (mat_vect) Chemin : le père de chaque sommet est stocké dans un tableau Chemin : le père de chaque sommet est stocké dans un tableau Problème1
A B C D Mat_vect A B C D 0 18,12,5 21,18,17 12,5,4 21,20,18 17,12,5 5,4,2 (18,12,5) + 0 = (18,12,5) (21,17,4) + (18,12,5) = (21,18,17,12,5,4) (21,18,17,12,5,4) + (20,5,2) = (21,20,18,17,12,5,5,2) (18,12,4) ou (18,12,5) + 0 ? (18,12,5) + (21,17,2) ou (21,18,17,12,5,4) + 0 ? (21,18,17,12,5,4) + (20,16,5) ou (21,20,18,17,12,5,5,4,2) + 0 ? (18,17,4) ou (18,12,5) + 0 ? 18,17,4 (18,17,4) + (21,5,2) ou (21,18,17,12,5,4) + 0 ? (21,18,17,12,5,4) + (20,18,16) ou (21,20,18,17,12,5,5,4,2) + 0 ? 21,20,18 18,17,16 12,5, (21,17,4) ou (18,17,4) + 0 ? 21,17,4 (21,17,4) + (20,5,2) ou (21,18,17,12,5,4) + 0 ? 21,20,17 5,4,2 (21,20,17,5,4,2) + (18,16,1) ou (21,20,18,18,17,16,12,5,4) + 0 ? Problème1 Déroulement de l’algorithme 3 masques de taille 3 sur un tableau de 12 cases
14 Complexités Temps : O( c*log (c) + c*(n-c) + k²c(n-k*c) ) O( c*log (c) + c*(n-c) + k²c(n-k*c) ) Mémoire : O( c*(n-c) +nk ) Avec c = taille des masques k = nombre de masques k = nombre de masques n = taille du tableau n = taille du tableau Problème1
15 Problème1 t2 t3t4t5t6t1 p1 p2 p3 p t7 Idée de parallélisation (1/2)
16 Idée de parallélisation (2/2) Nombre de processeurs utiles : p = min(nombre de lignes, nombre de colonnes) p = min(nombre de lignes, nombre de colonnes) Rapport d ’accélération : R = nb R = nb (nb) + p - 1 (nb) + p - 1 p Avec nb = nombre de sommets du graphe Problème1
17 Second problème Récupération de toutes les valeurs pertinentes en utilisant un nombre minimum de masques Construction du graphe Construction du graphe Algorithme utilisé et déroulement Algorithme utilisé et déroulement Complexités Complexités Combien de masques de taille 3 faut-il pour couvrir toutes les valeurs pertinentes ?
18 Construction du graphe (1/2) Conversion du tableau initial Problème
19 Construction du graphe (2/2) Mise en place du graphe (0,0) (-1,1) (0,0) (-1,1) (0,0) (-2,1) (0,0) (-1,1) (0,0) (-2,1) (0,0) (-1,1) (0,0) (-2,1) (0,0) (-1,1) (0,0) (-1,1) (0,0) (-1,1) Problème2
20 Algorithme utilisé et déroulement Utilisation de GOA-V Problème (-2,1) (0,0) (-2,1) (0,0) (-1,1)
21 Complexités Temps : O(n) O(n)Mémoire Problème2
22 Analyses et expériences Evaluer le nombre moyen de masques Z pour couvrir toutes les valeurs pertinentes d’un tableau de taille n
23 Analyse Résultat analytique : α*n n α*n n (α+1)*c c (α+1)*c c Avec α : nombre de valeurs possibles pour une case du tableau n : taille du tableau n : taille du tableau c : taille d’un masque c : taille d’un masque Analyses et expériences
24 Expériences (1/4) Analyses et expériences
25 Expériences (2/4) Analyses et expériences
26 Expériences (3/4) Analyses et expériences
27 Expériences (4/4) Analyses et expériences
28 Conclusion
29 Présenté par :David BaudonGrégory Vital Nous remercions notre encadrant : Christian Laforest
30 Merci de votre attention. Si vous avez des questions …