Techniques de décomposition

Slides:



Advertisements
Présentations similaires
ALGORITHMES RECURSIFS
Advertisements

Introduction à l’algorithmique
Algorithmes de tri et de recherche
Méthodes de tri.
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
Algorithmes de tri.
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
Developpement Process « Coding party !! » Tony Carnal Altran.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
Le socle commun : des pistes pour la technologie Plan de la présentation : - Introduction - Contexte (socle commun et document eduscol) - Repérage des.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
Séquence 1 : Problème posé : A quoi sert une éolienne et de quels éléments est elle constituée ? énergie renouvelable classe de 4° Analyse de l'OT.
Programmation d'un aspirateur robot connecté
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
Pierre Joli Cours de Mathématique Pierre Joli
Droite de régression avec la méthode de Mayer
Algorithmiques Abdelbasset KABOU
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Information, Calcul, Communication
Semaine #1 INF130 par Frédérick Henri.
Algorithmique Avancée et Complexité Chap2:Complexité et Optimalité
Disposition Titre avec image
Cours 4 : Tris de Tableaux
Algorithmique Avancée et Complexité Chap3:Diviser pour Régner
3°) Décomposition d’un nombre entier en produit d’entiers :
L’Instruction de Test Alternatif
Information, Calcul, Communication
Exo 5 : Placements bancaires.
Algorithme de Dichotomie
Algorithme de Dichotomie
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Techniques d’Optimisation Chapitre 3: Programmation en 0-1 (bivalente)
Classification des archtecutres paralleles
Information, Calcul, Communication
République Algérienne Démocratique et Populaire Ministère de l'Enseignement Supérieur et de la Recherche Scientifique Université Saad.
Construire un GANTT.
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.
Containeurs & Itérateurs
Module 1: Généralités sur les systèmes informatiques Chapitre 1: Définitions et notions de base.
Cours N°10: Algorithmiques Tableaux - Matrices
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Dérivation et intégration
ACP Analyse en Composantes Principales
Royaume de Maroc Université Hassan Premier Settat Faculté des Sciences et Techniques de Settat LA CLASSIFICATION K-MEANS SOUS R /MATLAB Master :Automatique.
OPTIMISATION 1ère année ingénieurs
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
Disposition de titre Sous-titre.
Les réseaux logiques programmables
Exemple d'algorithme de construction de la matrice [ZBus] Schéma unifilaire.
CSI 3505 / Automne 2005: Conception et Analyse des Algorithmes I.
2. Méthode du simplexe et son analyse.
Exercice : Soient les fonctions définies sur N ( ensemble des entiers naturels donc positifs ) par : f(x) = - 2x + 6 ; g(x) = x + 1 ; k(x) = la plus.
SUJET : E C L A T UNIVERSITE GASTON BERGER DE SAINT LOUIS UFR DES SCIENCES APPLIQUEES ET DE TECHNOLOGIE MASTER PROFESSIONNEL EN DÉVELOPPEMENT DE SYSTÈMES.
Dynamique des Systèmes Asservis
Information, Calcul, Communication
RABAH M ed Ali 2018/2019
Recherche de zero d'une fonction MARMAD ANAS MPSI -2.
Tris Simples/Rapides.
Disposition du titre Sous-titre.
Encadré par : M. Mohammad EL GHABZOURI Elaboré par : - AZEGAMOUT Mohamed - ABOULKACEM abdelouahed - GOUN Ayoub EXPOSÉ Sous le thème : SER 2018 Parallélisme.
Les supports et les techniques d’audit comptable et financier.
GEOMETRIE VECTORIELLE
GESTION DE LA PRODUCTION Réalisé par : EL MAROUSSI Mohammed DRIOUCHI Mohammed Abdeljabbar WAKENNOU Salah CRMEF Grand Casablanca Cycle de préparation à.
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
Type Tableau Partie 1 : Vecteurs
La programmation dynamique
Transcription de la présentation:

Techniques de décomposition

INTRODUCTION On a vu que la première étape de la conception et l'implémentation d une solution parallèle pour un problème donné est la décompose de ce problème on taches. Ces taches peuvent être exécutées en parallèle. il n'existe pas une technique générale de décomposition. Les techniques présentées en suit peuvent être appliquées sur une large classe des problèmes

la décomptions récursive Applique le principe de (diviser pour gagner) On décompose le problème en sous problèmes. D’une manière récursive les sous problèmes sont décomposés en sous problèmes. ce processus termine lorsque on obtient des taches indécomposables. Cette technique Premièrement En suit

Exemple 1 le tri rapide L'algorithme de tri rapide d'un tableau ou d’une liste A est un algorithme qui favorise la décomposition récursive On commence par le choix d'un élément pivot X. On décompose la liste Q en deux listes A0 et A1 les éléments de A0 <X les éléments de A1 >=X Les listes A0 et A1 sont triées on applique récursivement les étapes précédentes. Si on a un élément dans la liste le processus s'arrête.

Exemple 1 le tri rapide

exemple 2 recherche de plus petit element la recherche de plus petit élément d'un tableau est un problème qui peut être résolu avec la décomposition récursive. La version séquentielle de l'algorithme n'est pas de type diviser pour gagner mais on peut la transformer pour avoir une décomposition récursive.

La version sequentille 1. procedure SERIAL MIN (A; n) 2. begin 3. min = A[0]; 4. for i := 1 to n -1 do 5. if (A[i] < min) min := A[i]; 6. endfor; 7. return min; 8. end SERIAL MIN

La version parallèle récursive 1. procedure RECURSIVE MIN (A; n) 2. begin 3. if (n = 1) then 4. min := A[0]; 5. else 6. lmin := RECURSIVE MIN (A; n/2); 7. rmin := RECURSIVE MIN (&(A[n/2]); n-n/2); 8. if (lmin < rmin) then 9. min := lmin; 10. else 11. min := rmin; 12. endelse; 13. endelse; 14. return min; 15. end RECURSIVE MIN

Déroulement de l'exécution

Décomposition des données Identifier les données sur lesquelles les calculs sont effectués. Partitionner ces données à travers diverses tâches. Cette séparation provoque une décomposition du problème. Les données peuvent être partitionnées de différentes manières, cela a un impact critique sur la performance d'un algorithme parallèle.

La décomposition des données de Sortie Souvent, chaque élément de la sortie peut être calculée de façon indépendante des autres (mais simplement en fonction de l'entrée). Une partition de l'ensemble des données de sortie décompose le problème naturellement. Considérons le problème de la multiplication de deux matrices A et B de nxn éléments pour produire la matrice C. La sortie de la matrice C peut être divisé en quatre tâches, comme suit

La décomposition des données de Sortie

La décomposition des données de Sortie La decomposition des donnees de sortie nest pas unique Par exemple on a le probleme de calcul de produit de deux matrices on peut le decomposer comme suit :

La décomposition des données de Sortie

La décomposition des données de Sortie

La décomposition des données d'entrée La décomposition des données de sortie est applicable si le calcul de ces sorties est en fonction des données d'entrée Ce n'est pas le cas toujours ( les algorithmes de tri, le calcul de Min…..) Dans ce cas on peut décomposer les données d'entrée. On peut crier une tache pour chaque partie On exécute les taches avec le plus possible des données locales. Rassembler les résultats partielles pour produire le résulta final

La décomposition des données d'entrée

La décomposition des données d'entrée

La décomposition exploratoire

décomposition spéculative