Efficacité des algorithmes

Slides:



Advertisements
Présentations similaires
Smoking a regular verb cigar: the –er version The keys to putting together what you want to say!
Advertisements

Analyse des algorithmes: une introduction. La question abord é e dans ce chapitre est la suivante: Comment choisir parmi les diff é rentes approches pour.
Efficacité des algorithmes
Efficacité des algorithmes
Efficacité des algorithmes
ANSWERS. What is Verb Conjugation? For one thing, conjugating a verb is simply putting a verb in an orderly arrangement. We will use a chart. To create.
Information Theory and Radar Waveform Design Mark R. bell September 1993 Sofia FENNI.
Objectif: Comment employer un exposant?. Objective: How to use an exponent?
Structures de données et algorithmes – TP7 Maria-Iuliana Dascalu, PhD
Cours de Langage C Récursivité. Objectifs de la séance 11 Connaître la récursivité. Mesurer un temps d’exécution. 2.
Making PowerPoint Slides Avoiding the Pitfalls of Bad Slides.
PERFORMANCE One important issue in networking is the performance of the network—how good is it? We discuss quality of service, an overall measurement.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
Chap. 141 Chapitre 14 (Seul. 14.1, 14.2, 14.4, 14.5) Structure de mémoire disques
An Introduction To Two – Port Networks The University of Tennessee Electrical and Computer Engineering Knoxville, TN wlg.
UE2 - M22 Licence acoustique
Outils de Recherche Opérationnelle en Génie MTH 8414
Aujourd'hui Ecrivez la date Objectives Revise the numbers
Business Case Title Company name
The Passé Composé Tense
Section 1.1 : Unités du système international (SI)
L'heure.
Les facteurs biotique et abiotique Les interactions.
l y a which we have already learned means “there is/are l y a which we have already learned means “there is/are.” When we put a measure of time.
Réunion service Instrumentation Activités CMS-Traces
Technologies de l’intelligence d’affaires Séance 14
Quantum Computer A New Era of Future Computing Ahmed WAFDI ??????
Programmation Impérative II
The Passé Composé Tense
Résumé CB WLCG du 3 février 2005
Apprentissage profond Q
There are so many types of sports. For example-: Basketball,volleyball, cricket, badminton, table tennis, football, lawn tennis etc.
© 2004 Prentice-Hall, Inc.Chap 4-1 Basic Business Statistics (9 th Edition) Chapter 4 Basic Probability.
1. Financial (Accounting) Statements  Financial or Accounting statements are used for reporting corporate activity. 2 For Stakeholders.
The Passé Composé Tense
Lect12EEE 2021 Differential Equation Solutions of Transient Circuits Dr. Holbert March 3, 2008.
Essai
Qu’est-ce que tu as dans ta trousse?
In this topic you will learn
Le Subjonctif Q: What is it? A: It is a MOOD of a verb that has various tenses (similar to verbs being in a parallel “universe”) It usually has something.
B.Shishedjiev - Informatique
J’aime ma culture francophone, j’aime notre façon d’être, notre joie de vivre, nos traditions, nos manies. Je veux que mes enfants vivent ça et qu’ils.
Classroom Expressions
MATLAB Basics With a brief review of linear algebra by Lanyi Xu modified by D.G.E. Robertson.
Révision – Phrases Importantes
J’aime ma culture francophone, j’aime notre façon d’être, notre joie de vivre, nos traditions, nos manies. Je veux que mes enfants vivent ça et qu’ils.
Le code de Huffman: est une méthode de compression statistique de données qui permet de réduire la longueur du codage d'un alphabet. Le code de Huffman.
Question formation In English, you can change a statement into a question by adding a helping verb (auxiliary): does he sing? do we sing? did they sing.
Global Challenge Capteur de nuit Leçon 2.
Le verbe « être » au pluriel
Manometer lower pressure higher pressure P1P1 PaPa height 750 mm Hg 130 mm higher pressure 880 mm Hg P a = h = +- lower pressure 620 mm Hg.
Making PowerPoint Slides Avoiding the Pitfalls of Bad Slides.
Tris Simples/Rapides.
The Passé Composé Tense
Paul Eluard Dans Paris.
Les arbres généraux.
Arbre binaire.
5S Methodology How to implement "5S" and get extraordinary results.
4C Telling Exact Time.
1 Sensitivity Analysis Introduction to Sensitivity Analysis Introduction to Sensitivity Analysis Graphical Sensitivity Analysis Graphical Sensitivity Analysis.
Avoiding the Pitfalls of Bad Slides Tips to be Covered Outlines Slide Structure Fonts Colour Background Graphs Spelling and Grammar Conclusions Questions.
Le Passé Composé (Perfect Tense)
Lequel The Last Part.
Programmation – Mathématiques
Python Nicolas THIBAULT
Type Tableau Partie 1 : Vecteurs
EDHEC OPEN INNOVATION - Season 9 - Company LOGO Business Case Title.
La spécialité Mathématiques en TS
Traitement de TEXTE 2 Stage – Semaine 3.
IMPROVING PF’s M&E APPROACH AND LEARNING STRATEGY Sylvain N’CHO M&E Manager IPA-Cote d’Ivoire.
Transcription de la présentation:

Efficacité des algorithmes Comment choisir parmi les différentes approches pour résoudre un problème? 2 objectifs à atteindre: Concevoir un algorithme facile à comprendre, coder et déboguer. Concevoir un algorithme qui utilise de façon efficace les ressources de l’ordinateur.

Efficacité des algorithmes(suite) Objectif (1): concerne le génie logiciel Objectif (2): Algorithmes et structures de données. Lorsque l’objectif (2) est important, comment peut-on mesurer l’efficacité d’un algorithme?

Comment mesurer l’efficacité? Comparaison empirique: coder et exécuter le programme Analyse théorique (asymptotique) Ressources critiques: temps, espace mémoire,... Facteurs affectant le temps d’exécution: machine, langage, programmeur, compilateur, algorithme et structure de données. En général, le temps d’exécution dépend de la longueur de l’entrée. Ce temps est une fonction positive T(n) où n est la longueur de l’entrée. Empirical comparison is difficult to do “fairly” and is time consuming. Critical resources: Time. Space (disk, RAM). Programmers effort. Ease of use (user’s effort). Factors affecting running time: Machine load. OS. Compiler. Problem size. Specific input values for given problem size.

Analyse théorique On compte le nombre d’opérations élémentaires en fonction de la longueur de l’entrée. Exemple: Problème Op. élémentaire Trouver x dans un tableau Comparaison de x avec les éléments du tableau Multiplier 2 matrices Multiplication scalaire Trier un tableau Comparaison entre deux éléments du tableau Parcourir un arbre Visiter un noeud Empirical comparison is difficult to do “fairly” and is time consuming. Critical resources: Time. Space (disk, RAM). Programmers effort. Ease of use (user’s effort). Factors affecting running time: Machine load. OS. Compiler. Problem size. Specific input values for given problem size.

Analyse théorique La longueur de l’entrée dépend du problème. Exemple: Trier un tableau Nombre d’éléments dans le tableau Multiplier deux matrices Dimension des matrices Parcourir un arbre binaire Nombre de noeuds Résoudre un système d’équations linéaires Nombre d’inconnues ou d’équations Résoudre un problème de graphe Nombre de nœuds et/ou nombre d’arêtes Empirical comparison is difficult to do “fairly” and is time consuming. Critical resources: Time. Space (disk, RAM). Programmers effort. Ease of use (user’s effort). Factors affecting running time: Machine load. OS. Compiler. Problem size. Specific input values for given problem size.

Exemples Exemple 1. // Retourne l’indice du plus grand élément int PlusGrand(int T[], int n) { int max = 0; for (int i=1; i<n; i++) if (T[max] < T[i]) max = i; return max; } As n grows, how does T(n) grow? Cost: T(n) = c1n + c2 steps

Exemples (suite) Exemple 2: int médiane(int T[], int n) { Exemple 3: return T(n/2); } Exemple 3: sum = 0; for (i=1; i<=n; i++) for (j=1; j<=n; j++) sum++; Example 2: Constant cost. Example 3: Cost: T(n) = c1n2 + c2. Roughly n2 steps, with sum being n2 at the end. Ignore various overhead such as loop counter increments.

Meilleur algorithme ou ordinateur? How much speedup? 10 times. More important: How much increase in problem size for same time expended? That depends on the growth rate. n: Size of input that can be processed in one hour (10,000 steps). n’: Size of input that can be processed in one our on the new machine (100,000 steps). Note: for 2n, if n = 1000, then n’ would be 1003. On suppose que l’ordinateur utilisé peut effectuer 106 opérations à la seconde

Taux de croissance

Pire cas, meilleur cas et cas moyen Toutes les entrées d’une longueur donnée ne nécessitent pas le même temps d’exécution. Exemple: Recherche séquentielle dans un tableau de taille n: On commence au début du tableau et regarde chaque élément jusqu’à ce que l’élément cherché soit trouvé. Meilleur cas: 1 comparaison Pire cas: n comparaisons Cas moyen: n/2 comparaisons Best: Find at first position. Cost is 1 compare. Worst: Find at last position. Cost is n compares. Average: (n+1)/2 compares IF we assume the element with value K is equally likely to be in any position in the array.

Compromis espace-temps Deux situations: Lorsqu'on peut réduire le temps de calcul en utilisant plus d'espace mémoire: Exemple: table de conversion (look-up table). Lorsqu'on peut réduire l'espace mémoire au prix d'un temps d'exécution plus long: Exemple: compression de données Best: Find at first position. Cost is 1 compare. Worst: Find at last position. Cost is n compares. Average: (n+1)/2 compares IF we assume the element with value K is equally likely to be in any position in the array.