La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Introduction à l’algorithmique et aux structures de données

Présentations similaires


Présentation au sujet: "Introduction à l’algorithmique et aux structures de données"— Transcription de la présentation:

1 Introduction à l’algorithmique et aux structures de données

2 I. Introduction  A propos du sujet L’organisation du cours

3 Plan de séance De quoi est-il question ? Session SDD 2011
Algorithme & SDD : dualité Culture G : histoire et anecdotes Enjeux et principes de l’algorithmique Session SDD 2011 Programme Méthode pédagogique Quelques repères : cours, TD, TP, … Evaluation, coefficients Ce qui change par rapport à 2010 Equipe pédagogique Pour approfondir : bibliographie

4 Algorithme But : effectuer une opération complexe
Données en entrée Production d’un résultat : données en sortie Moyen : succession d’opérations élémentaires Méthode systématique, déterministe Implique une façon de structurer les données à manipuler Equifinalité Plusieurs méthodes possibles Elles ne se valent pas toutes  ENJEU : la performance ! Intro Sujet Algo & SDD

5 Structure de donnée Organisation des données à manipuler
Deux grandes familles élémentaires Structures séquentielles Structures arborescentes Plus généralement… les graphes La structure appelle la méthode de traitement SDD séquentielles : traitement naturellement itératif SDD arborescentes : traitement naturellement récursif Intro Sujet Algo & SDD

6 Etude de cas Deux exemples issus de l’algorithmique numérique
Arithmétique But : addition et multiplication SDD : Numération de position vs. TFA A vous de jouer avec = 72 et = 108 Polynômes But : Evaluer un polynôme SDD : Polynôme développé vs. factorisé Problème : factoriser est difficile Solution : Algorithme de Horner Intro Sujet Algo & SDD

7 A retenir Algorithme et SDD sont indissociables Se conçoivent ensemble
Répondent à un même but Réaliser une opération complexe De la manière la plus performante possible Pour approfondir (niveau ontologique) definition.php Intro Sujet Algo & SDD

8 Algorithme : origine étymologique
Al Khawarizmi, Le Diophante perse Chiffres indiens Œuvre : ..Al-jabr.. (825) Résolution d’équations Méthode systématique Condition d’arrêt Structure algébrique Intro Sujet Culture G

9 Algorithme : l’archétype antique
Euclide, av. JC Les Eléments (livre 7) Algorithme d’Euclide Calcul du PGCD Intuition géométrique Simplicité : 1 ligne Efficacité : O(n) Généricité : entiers, polynômes, etc. Intro Sujet Culture G

10 Algorithme : l’archétype antique
En langage algorithmique Exemple de traduction en C unsigned gcd(unsigned a, unsigned b) { if (b == 0) return a; else return gcd(b, a % b); // ou // return b ? gcd(b, a % b) : a; } Elaborer (schématiser, tâtonner, intuiter) Spécifier (langage algorithmique) Implémenter (langage de programmation) Intro Sujet Méthode

11 Et bien avant Euclide Babyloniens 2000 à 500 av. JC
Algorithmes pratiques Astronomie Economie Mathématiques Numération sexagésimale Triplets pythagoriciens 1000 ans avant Pythagore Résolution d’équations Elévation à la puissance Intro Sujet Culture G

12 Et bien avant Euclide Os d’Ishango ~20000 av. JC
De nature arithmétique Associé à un procédé Lequel ? Intro Sujet Culture G

13 L’art d’opérer avec efficacité
Rappel de la motivation historique Le calcul : astronomie, économie, mathématique Ishango, les babyloniens, Euclide et les autres Enjeu : la performance (minimiser la complexité) Temporelle, spatiale Equifinalité, optimalité difficile à prouver Nombreux problèmes ouverts L’algorithmique est un domaine de recherche très actif Plutôt un art qu’une science Mais un art scientifique A rapprocher des arts tactiques en général Astuce et sagacité : une anecdote : Karatsuba Intro Sujet Enjeu

14 Une anecdote contemporaine
Kolmogorov, Monstre sacré Conjecture de 1952 Multiplication ≥ O(n2) Conférence de 1960 Karatsuba, Simple étudiant Réfutation : O(n1,58) Nouveau paradigme « diviser pour régner » Intro Sujet Culture G

15 Une anecdote contemporaine
Multiplication de deux nombres en numération de position Nombres de 2n chiffres Décomposition en deux moitiés Représentation algébrique de la multiplication naïve Les multiplications sont plus coûteuses que les additions Version naïve : 4 multiplications intermédiaires Forme équivalente de Karatsuba Complexification Mémorisation et réutilisation de résultats intermédiaires Ajout de 3 opérations additives supplémentaires On tombe à 3 multiplications ! Application récursive du procédé : O(n2)  O(n1,58) Intro Sujet Culture G


Télécharger ppt "Introduction à l’algorithmique et aux structures de données"

Présentations similaires


Annonces Google