Algorithmique pour l'algèbre linéaire Cours 2. Multiplication de polynômes et diviser pour régner

Dimension: px
Commencer à balayer dès la page:

Download "Algorithmique pour l'algèbre linéaire Cours 2. Multiplication de polynômes et diviser pour régner"

Transcription

1 Algorithmique pour l'algèbre linéaire Cours 2. Multiplication de polynômes et diviser pour régner Mario Valencia valencia@lipn.univ-paris13.fr 18/03/2016 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.

2 survol du cours Rappels : complexité algorithmique et "Diviser pour Régner" Multiplication classique de polynômes Algorithme naïf de multiplication de polynômes Algorithme de Karatsuba

3 survol du cours CM1 : Diviser pour régner et multiplication rapide de matrices CM2 : Diviser pour régner et multiplication rapide de polynômes. Évaluation : 2 TPs notés : TP2 et TP4 Cours, Tds et TPs : http ://www-lipn.univ-paris13.fr/ valencia/algo-algebre.html

4 Rappel Complexité algorithmique (1) : Ordres de grandeur des fonctions On s'intéressera que à borner supérieurement une fonction par une autre : Notation "grand O". On dit qu'une fonction f est un "grand O d'une fonction g " ssi c, n 0 > 0 : n n 0, f (n) c.g(n). Exemple 1 : f (n) = n 3 /2 est un O(n 3 ), avec c = 1 et n 0 = 1. Exemple 2 : f (n) = 5n 2 + 3n est un O(n 2 ), avec c = 8 et n 0 = 1.

5 Rappel Complexité algorithmique (2) : Propriétés de O O(c.f ) = O(f ) si c est une constante. O(f + g) = O(f ) + O(g) = O(max{f, g}) d i=0 a in i = O(n d+1 ), où les a i sont des coecients d'un polynome de degré d. log a n = O(log 2 n), pour n'importe quelle base a > 0.

6 Rappel Complexité algorithmique (3) : algorithmes itératifs Les instructions élémentaires (aectation, comparaison) sont en temps constant : O(1). Séquence de blocs : I 1 ; I 2 est de complexité O(max{f 1 (n), f 2 (n)}), où O(f j (n)) est la complexité de I j, avec j {1, 2}. "if (C ) I 1 else I 2 " est de complexité O(max{f (n), f 1 (n), f 2 (n)}), où f (n) est la complexité de C. "for (i=0 ; i<n ; i++) I ;" est de complexité O(nf (n)), où f (n) est la complexité de I. Si la complexité de I dépend de i, alors n 1 la complexité est en O(f (i)). i=0 "while (C ) I ;" est de complexité O(g(n). max{f 1 (n), f 2 (n)}), où f 1 (n) est la complexité de C, f 2 (n) est la complexité de I et g(n) est le nombre de fois que la boucle "while" est exécutée.

7 Rappel Diviser pour régner (1) De l'adage politique divide ut imperes à une stratégie fondamentale de l'algorithmique. Résoudre le problème P par un algorithme A qui, pour chaque instance I de taille n : 1. coupe l'instance I en 2 (ou plus!) instances I 1 et I 2 2. résout le problème P pour I 1 et I 2 avec l'algorithme A (récursivement!) 3. compose les solutions P(I 1 ) et P(I 2 ) pour produire la solution P(I )

8 Rappel Diviser pour régner (2) Un algorithme récursif (paradigme "diviser pour régner") a un temps d'exécution : T (n) = at (n/b) + f (n) où n est la taille des entrées, a est le nombre de sous-problèmes, n/b (= n/b ou n/b ) est la taille de sous-problèmes, et f (n) est le temps requis pour diviser et combiner.

9 Introduction Le produit de polynômes et d'entiers est une opération élémentaire, qui intervient dans un nombre impressionnant d'algorithmes de calcul formel. Exemples d'applications de la multiplication de polynômes : Algorithmes de calcul de pgcd Algorithmes de factorisation en une ou plusieurs variables Algorithmes de composition de séries formelles Algorithmes d'évaluation multipoint et d'interpolation, etc. Certains problèmes, en cryptologie ou en théorie des nombres, nécessitent de manipuler des polynômes de degré de l'ordre de , tailles auxquelles les algorithmes rapides sont indispensables.

10 Introduction Dans ce cours, on s'intéresse a la complexité arithmétique de la multiplication de polynômes à une variable où les coecients appartient à un anneau commutatif et unitaire. Un anneau (A, +, x) est un ensemble A muni de deux opérations : + et x, appelées usuellement "addition" et "multiplication" resp., vériant : (A, +) est un groupe Abélien ; la multiplication est associative, distributive par rapport à l'addition, et elle possède un élément neutre. Si la multiplication est aussi commutative, alors (A, +, x) est appelé un anneau commutatif. Ex. (Z, +, x), (R, +, x), etc.

11 Multiplication de polynômes et multiplication d'entiers Considerons les deux exemples suivants : Polynômes : Soient à multiplier 3X 2 + 2X + 1 et 6X 2 + 5X + 4 dans Z[X ]. (3X 2 + 2X + 1) (6X 2 + 5X + 4) = (3.6)X 4 + ( )X 3 + ( )X 2 + ( )X + (1.4) = 18X X X X + 4 Nombres entiers : Soient a multiplier 321 et 654 en base 10. ( ) ( ) = (3.6) ( ) ( ) ( )10 + (1.4) = = = Dans le deux cas, nous avons retranscrit l'algorithme naïf, et la suite de calculs est essentiellement la même, sauf que pour les entiers, il faut en outre gérer les retenues.

12 Multiplication de polynômes : algorithme naïf (1) À partir d'ici, on travaillera avec des polynomes F et G à coecients dans un anneau A, ayant un degré au plus n 1. Formellement, F = f 0 + f 1 X f n 1 X n 1 et G = g 0 + g 1 X g n 1 X n 1 ; le probleme est alors de calculer (les coecients de) H = F.G = h 0 + h 1 X h 2n 2X 2n 2.

13 Multiplication de polynômes : algorithme naïf (2) Ex. H = FG = (1 + 2X + 3X 2 ) (4 + 5X + 6X 2 ) = 4+ 5X + 6X 2 + 8X + 10X X X X X 4 = 4+ 13X + 28X X X 4 L'algorithme : H = FG = 2n 2 i=0 h i X i avec h i = j+k=i f j g k. Complexité : calculer les h i demande O(n 2 ) opérations dans A.

14 Algorithme de Karatsuba (1) Il est possible de gagner "une" multiplication pour le produit de polynômes de degré 1. Soient les polynomes F = f 0 + f 1 X et G = g 0 + g 1 X. Le produit H = FG s'écrit H = f 0 g 0 + (f 0 g 1 + f 1 g 0 )X + f 1 g 1 X 2. Eectuer les 4 produits f 0 g 0, f 0 g 1, f 1 g 0, f 1 g 1 correspond à l'algo. naïf. Mais, Karatsuba a remarqué que le coecient de X s'écrit f 0 g 1 + f 1 g 0 = (f 0 + f 1 )(g 0 + g 1 ) f 0 g 0 f 1 g 1. Cette écriture mène à un algorithme qui eectue 3 multiplications et 4 additions.

15 Algorithme de Karatsuba (2) Cas général : On suppose que F et G sont de degré au plus n 1, et que n = 2k (pour l'instant). On pose alors F = F (0) + F (1) X k, G = G (0) + G (1) X k, F (0), F (1), G (0), G (1) ayant de degrés au plus k 1. Le produit H = FG s'écrit H = F (0) G (0) + (F (0) G (1) + F (1) G (0) )X k + F (1) G (1) X 2k

16 Algorithme de Karatsuba (3) Supposons que n est une puissance de 2. L'algorithme est le suivant Entrée : F, G de degré au plus n 1, n puissance de 2. Sortie : H = FG. 1. Si n = 1, renvoyer FG. 2. Calculer A 1 = F (0) G (0) et A 2 = F (1) G (1) récursivement. 3. Calculer A 3 = F (0) + F (1) et A 4 = G (0) + G (1). 4. Calculer A 5 = A 3.A 4 récursivement. 5. Calculer A 6 = A 5 A 1 et A 7 = A 6 A Renvoyer A 1 + A 7 X n 2 + A 2 X n.

17 Algorithme de Karatsuba (4) Complexité : T (n) le nombre de multiplications dans A. T (1) = 1. T (n) = 3T (n/2) + 4n. T (n) 9n log 2 3. Donc, T (n) = O(n 1,59 )

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

21 mars 2012. Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

21 mars 2012. Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire. de 21 mars 2012 () 21 mars 2012 1 / 6 de 1 2 3 4 5 () 21 mars 2012 2 / 6 1 de 2 3 4 5 () 21 mars 2012 3 / 6 1 2 de 3 4 5 () 21 mars 2012 4 / 6 1 2 de 3 4 de 5 () 21 mars 2012 5 / 6 de 1 2 3 4 5 () 21 mars

Plus en détail

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII ALGORITHMIQUE II NOTION DE COMPLEXITE 1 2 Comment choisir entre différents algorithmes pour résoudre un même problème? Plusieurs critères de choix : Exactitude Simplicité Efficacité (but de ce chapitre)

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Partie 1 - Séquence 3 Original d une fonction

Partie 1 - Séquence 3 Original d une fonction Partie - Séquence 3 Original d une fonction Lycée Victor Hugo - Besançon - STS 2 I. Généralités I. Généralités Définition Si F(p) = L [f(t)u (t)](p), alors on dit que f est l original de F. On note f(t)

Plus en détail

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine

Plus en détail

Chapitre 7. Récurrences

Chapitre 7. Récurrences Chapitre 7 Récurrences 333 Plan 1. Introduction 2. Applications 3. Classification des récurrences 4. Résolution de récurrences 5. Résumé et comparaisons Lectures conseillées : I MCS, chapitre 20. I Rosen,

Plus en détail

Continuité en un point

Continuité en un point DOCUMENT 4 Continuité en un point En général, D f désigne l ensemble de définition de la fonction f et on supposera toujours que cet ensemble est inclus dans R. Toutes les fonctions considérées sont à

Plus en détail

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

Plus en détail

Initiation à l algorithmique

Initiation à l algorithmique Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -

Plus en détail

L ALGORITHMIQUE. Algorithme

L ALGORITHMIQUE. Algorithme L ALGORITHMIQUE Inspirée par l informatique, cette démarche permet de résoudre beaucoup de problèmes. Quelques algorithmes ont été vus en 3 ième et cette année, au cours de leçons, nous verrons quelques

Plus en détail

Comparaison de fonctions Développements limités. Chapitre 10

Comparaison de fonctions Développements limités. Chapitre 10 PCSI - 4/5 www.ericreynaud.fr Chapitre Points importants 3 Questions de cours 6 Eercices corrigés Plan du cours 4 Eercices types 7 Devoir maison 5 Eercices Chap Et s il ne fallait retenir que si points?

Plus en détail

Structures algébriques

Structures algébriques Structures algébriques 1. Lois de composition s Soit E un ensemble. Une loi de composition interne sur E est une application de E E dans E. Soient E et F deux ensembles. Une loi de composition externe

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane Poteaux Adrien XLIM-DMI, UMR-CNRS 6172 Université de Limoges Soutenance de thèse 15 octobre

Plus en détail

Chapitre 1 Le routage statique

Chapitre 1 Le routage statique Les éléments à télécharger sont disponibles à l adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l ouvrage EIPRCIS dans la zone de recherche et validez. Cliquez sur le titre

Plus en détail

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/ Calculabilité Cours 3 : Problèmes non-calculables http://www.irisa.fr/lande/pichardie/l3/log/ Problèmes et classes de décidabilité Problèmes et classes de décidabilité Nous nous intéressons aux problèmes

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

CORRECTION EXERCICES ALGORITHME 1

CORRECTION EXERCICES ALGORITHME 1 CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré

Plus en détail

Une forme générale de la conjecture abc

Une forme générale de la conjecture abc Une forme générale de la conjecture abc Nicolas Billerey avec l aide de Manuel Pégourié-Gonnard 6 août 2009 Dans [Lan99a], M Langevin montre que la conjecture abc est équivalente à la conjecture suivante

Plus en détail

Développements limités. Notion de développement limité

Développements limités. Notion de développement limité MT12 - ch2 Page 1/8 Développements limités Dans tout ce chapitre, I désigne un intervalle de R non vide et non réduit à un point. I Notion de développement limité Dans tout ce paragraphe, a désigne un

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Raisonnement par récurrence Suites numériques

Raisonnement par récurrence Suites numériques Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.

Plus en détail

4. Les structures de données statiques

4. Les structures de données statiques 4. Les structures de données statiques 4.1 Tableaux à une dimension 4.1.1 Introduction Imaginons que dans un programme, nous ayons besoin simultanément de 25 valeurs (par exemple, des notes pour calculer

Plus en détail

Erreur statique. Chapitre 6. 6.1 Définition

Erreur statique. Chapitre 6. 6.1 Définition Chapitre 6 Erreur statique On considère ici le troisième paramètre de design, soit l erreur statique. L erreur statique est la différence entre l entrée et la sortie d un système lorsque t pour une entrée

Plus en détail

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel) Algorithmes et Programmes Introduction à l informatiquel! Vie d'un programme! Algorithme! Programmation : le langage! Exécution et test des programmes Chapitre : Algorithmes et Programmes 2 Cycle de vie

Plus en détail

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1 CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription Présentée par Leila Abidi Sous la direction de Mohamed Jemni & Christophe Cérin Plan Contexte Problématique Objectifs

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables Guy Desaulniers Département de mathématiques et de génie industriel École Polytechnique de Montréal Automne 2014 Table des matières

Plus en détail

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation. Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Optimisation Discrète

Optimisation Discrète Prof F Eisenbrand EPFL - DISOPT Optimisation Discrète Adrian Bock Semestre de printemps 2011 Série 7 7 avril 2011 Exercice 1 i Considérer le programme linéaire max{c T x : Ax b} avec c R n, A R m n et

Plus en détail

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Nombres premiers. Comment reconnaître un nombre premier? Mais... Introduction Nombres premiers Nombres premiers Rutger Noot IRMA Université de Strasbourg et CNRS Le 19 janvier 2011 IREM Strasbourg Definition Un nombre premier est un entier naturel p > 1 ayant exactement

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox Fiche 2 Cette fiche est la suite directe de la première. 1. Instructions conditionnelles : 1.1. Reprise de la fiche 1 : Lecture d'un algorithme : ORDINATEUR INTERDIT : Après

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

BACCALAURÉAT PROFESSIONNEL EPREUVE DE TRAVAUX PRATIQUES DE SCIENCES PHYSIQUES SUJET A.1

BACCALAURÉAT PROFESSIONNEL EPREUVE DE TRAVAUX PRATIQUES DE SCIENCES PHYSIQUES SUJET A.1 TP A.1 Page 1/5 BACCALAURÉAT PROFESSIONNEL EPREUVE DE TRAVAUX PRATIQUES DE SCIENCES PHYSIQUES SUJET A.1 Ce document comprend : - une fiche descriptive du sujet destinée à l examinateur : Page 2/5 - une

Plus en détail

CHAPITRE V SELECTION DES CONSULTANTS ET D AUTRES PRESTATAIRES DE SERVICES

CHAPITRE V SELECTION DES CONSULTANTS ET D AUTRES PRESTATAIRES DE SERVICES CHAPITRE V SELECTION DES CONSULTANTS ET D AUTRES PRESTATAIRES DE SERVICES Méthode de sélection: les dispositions qui suivent s appliquent lorsqu elles ne sont pas contraires à celles préconisées dans les

Plus en détail

Quelques tests de primalité

Quelques tests de primalité Quelques tests de primalité J.-M. Couveignes (merci à T. Ezome et R. Lercier) Institut de Mathématiques de Bordeaux & INRIA Bordeaux Sud-Ouest Jean-Marc.Couveignes@u-bordeaux.fr École de printemps C2 Mars

Plus en détail

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

Perl Orienté Objet BioPerl There is more than one way to do it

Perl Orienté Objet BioPerl There is more than one way to do it Perl Orienté Objet BioPerl There is more than one way to do it Bérénice Batut, berenice.batut@udamail.fr DUT Génie Biologique Option Bioinformatique Année 2014-2015 Perl Orienté Objet - BioPerl Rappels

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Chapitre 5. Le ressort. F ext. F ressort

Chapitre 5. Le ressort. F ext. F ressort Chapitre 5 Le ressort Le ressort est un élément fondamental de plusieurs mécanismes. Il existe plusieurs types de ressorts (à boudin, à lame, spiral etc.) Que l on comprime ou étire un ressort, tel que

Plus en détail

Plus courts chemins, programmation dynamique

Plus courts chemins, programmation dynamique 1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique

Plus en détail

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

Cours 7 : Utilisation de modules sous python

Cours 7 : Utilisation de modules sous python Cours 7 : Utilisation de modules sous python 2013/2014 Utilisation d un module Importer un module Exemple : le module random Importer un module Exemple : le module random Importer un module Un module est

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Peut-on tout programmer?

Peut-on tout programmer? Chapitre 8 Peut-on tout programmer? 8.1 Que peut-on programmer? Vous voici au terme de votre initiation à la programmation. Vous avez vu comment représenter des données de plus en plus structurées à partir

Plus en détail

alg - Classes, instances, objets [oo] Exercices résolus

alg - Classes, instances, objets [oo] Exercices résolus alg - Classes, instances, objets [oo] Exercices résolus Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 27 avril 2015 Table des matières 1 Compte bancaire OO 2 1.1

Plus en détail

LES NOMBRES DECIMAUX. I. Les programmes

LES NOMBRES DECIMAUX. I. Les programmes LES NOMBRES DECIMAUX I. Les programmes Au cycle des approfondissements (Cours Moyen), une toute première approche des fractions est entreprise, dans le but d aider à la compréhension des nombres décimaux.

Plus en détail

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009 Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox 1. Algorithme: Un algorithme est une suite d instructions qui, une fois exécutée correctement, conduit à un résultat donné Un algorithme doit contenir uniquement des instructions

Plus en détail

Propriétés des options sur actions

Propriétés des options sur actions Propriétés des options sur actions Bornes supérieure et inférieure du premium / Parité call put 1 / 1 Taux d intérêt, capitalisation, actualisation Taux d intéret composés Du point de vue de l investisseur,

Plus en détail

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation ) DÉRIVÉES I Nombre dérivé - Tangente Eercice 0 ( voir animation ) On considère la fonction f définie par f() = - 2 + 6 pour [-4 ; 4]. ) Tracer la représentation graphique (C) de f dans un repère d'unité

Plus en détail

Revenu net 2,509,803 101,280 113,506 115,765 119,401

Revenu net 2,509,803 101,280 113,506 115,765 119,401 Propr. VPN 2011 2012 2013 2014 C 49 50 51 52 S 47 48 49 50 C 0 100,000 116,555 134,383 153,941 S 0 0 6,536 13,778 21,811 C 0 35,000 39,869 39,859 33,783 C 5,000 10,931 S 0 35,000 37,869 35,694 27,739 S

Plus en détail

INF 4420: Sécurité Informatique Cryptographie II

INF 4420: Sécurité Informatique Cryptographie II : Cryptographie II José M. Fernandez M-3106 340-4711 poste 5433 Aperçu Crypto II Types de chiffrement Par bloc vs. par flux Symétrique vs. asymétrique Algorithmes symétriques modernes DES AES Masque jetable

Plus en détail

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement Bernard Fortz 2008-2009 Table des matières 1 Définition et classification des problèmes d ordonnancement 2 1.1 Introduction....................................

Plus en détail

Géométrie Algorithmique Plan du cours

Géométrie Algorithmique Plan du cours Plan du cours Introduction Triangulation de polygones Recherche/localisation Diagrammes de Voronoï Triangulation de Delaunay Arbres de partition binaire 1 Intersection de segments de droite Intersection

Plus en détail

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

Journées Nationales de Calcul Formel

Journées Nationales de Calcul Formel Journées Nationales de Calcul Formel Rencontre organisée par : Guillaume Chèze, Paola Boito, Clément Pernet et Mohab Safey el Din 2013 Grégoire Lecerf Factorisation des polynômes à plusieurs variables

Plus en détail

Algorithmique, Structures de données et langage C

Algorithmique, Structures de données et langage C UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : 2010-2011 Licence Chimie, parcours Physique. Semestre S3

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : 2010-2011 Licence Chimie, parcours Physique. Semestre S3 Licence de Physique Année Universitaire : 2010-2011 Licence Chimie, parcours Physique Semestre S3 Cours MÉTHODES NUMERIQUES Chargé du Cours : M. GAGOU Yaovi E-mail :.gagou@u-picardie.fr URL : http://www.u-picardie.fr/gagou

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

C f tracée ci- contre est la représentation graphique d une

C f tracée ci- contre est la représentation graphique d une TLES1 DEVOIR A LA MAISON N 7 La courbe C f tracée ci- contre est la représentation graphique d une fonction f définie et dérivable sur R. On note f ' la fonction dérivée de f. La tangente T à la courbe

Plus en détail

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé. Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé. L usage d une calculatrice est autorisé Durée : 3heures Deux annexes sont à rendre avec la copie. Exercice 1 5 points 1_ Soit f la

Plus en détail

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12 Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont

Plus en détail

Les formations de remise à niveau(!) l'entrée des licences scientifiques. Patrick Frétigné CIIU

Les formations de remise à niveau(!) l'entrée des licences scientifiques. Patrick Frétigné CIIU Les formations de remise à niveau(!) pour les bacheliers «non-s» à l'entrée des licences scientifiques. Patrick Frétigné CIIU Cinq exemples Nantes Clermont Ferrand Lorraine Rennes 1 Rouen Nantes REUSCIT

Plus en détail

IFT3245. Simulation et modèles

IFT3245. Simulation et modèles IFT 3245 Simulation et modèles DIRO Université de Montréal Automne 2012 Tests statistiques L étude des propriétés théoriques d un générateur ne suffit; il estindispensable de recourir à des tests statistiques

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

Mise en place d'un Réseau Privé Virtuel

Mise en place d'un Réseau Privé Virtuel Travaux Pratiques Trucs utiles : tail f /var/log/syslog pour tous les logs de la machine et notamment les cartes ethernet d'une machine. /etc/init.d/nom_du_démon (re)start pour le démarrer ou le redémarrer.

Plus en détail

UNIVERSITE IBN ZOHR Faculté des sciences Agadir. Filière SMA & SMI. Semestre 1. Module : Algèbre 1

UNIVERSITE IBN ZOHR Faculté des sciences Agadir. Filière SMA & SMI. Semestre 1. Module : Algèbre 1 UNIVERSITE IBN ZOHR Faculté des sciences Agadir Filière SMA & SMI Semestre 1 Module : Algèbre 1 Année universitaire : 011-01 A. Redouani & E. Elqorachi 1 Contenu du Module : Chapitre 1 : Introduction Logique

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables Fausto Errico Département de mathématiques et de génie industriel École Polytechnique de Montréal Automne 2012 Table des matières

Plus en détail

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro. Chapitre : Les nombres rationnels Programme officiel BO du 8/08/08 Connaissances : Diviseurs communs à deux entiers, PGCD. Fractions irréductibles. Opérations sur les nombres relatifs en écriture fractionnaire.

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Les différents types de données et leurs opérations de base

Les différents types de données et leurs opérations de base Séquence 2 Les différents types de données et leurs opérations de base Contenu Présentation générale... 21 Partie 1 Les 3 familles de données et l'opération d'affectation... 22 1. Les trois familles de

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Séquencer une application

Séquencer une application Séquencer une application Pour ma part, j'utilise Vmware workstation pour créer les packages. Je configure une VM sous Windows Xp Pro Sp2 : 1. Mise du Pc dans le domaine 2. Installation du séquenceur 3.

Plus en détail

Algorithmes récursifs

Algorithmes récursifs Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Environnements et Outils de Développement Cours 1 Introduction

Environnements et Outils de Développement Cours 1 Introduction Environnements et Outils de Développement Cours 1 Introduction Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot - Paris 7 URL http://upsilon.cc/~zack/teaching/1112/ed6/

Plus en détail