Licence informatique - L3 Année 2012/2013. Conception d algorithmes et applications (LI325) COURS 2
|
|
|
- Josiane Lessard
- il y a 9 ans
- Total affichages :
Transcription
1 Licence informatique - L Année 0/0 Conception d algorithmes et applications (LI) COURS Résumé. Cette deuxième séance est entièrement consacrée aux applications du principe Diviser pour Régner. Nous regarderons plus particulièrement une application à l algorithmique numérique (un algorithme de multiplication d entiers - Karatsuba), une application à l algorithmique des graphes (recherche d un élément dans un arbre de recherche) et enfin une application à la géométrie algorithmique (trouver deux points les plus proches dans un nuage).. Diviser pour Régner (en algorithmique numérique) Multiplication de deux entiers par la méthode de Karatsuba. Dans cette section, nous évaluerons le coût des algorithmes en nombre de multiplications élémentaires effectuées (multiplications de nombres à un chiffre). On remarque que pour le produit de deux nombres de n chiffres en utilisant la méthode naïve (celle apprise à l école), on fait n multiplications élémentaires, le coût T en calcul d une multiplication de deux nombres à n chiffres est donc T (n) = Θ(n ). L algorithme de Karatsuba (A. Karatsuba, Ofman Yu, Multiplication of multiple numbers by mean of automata, Dokadly Akad. Nauk SSSR, no,, pp-.) est une application du principe diviser pour régner qui permet d améliorer le coût des multiplications des grands nombres. Le principe en est assez simple : Soient a et b deux nombres positifs écrits en base de n = k chiffres, on peut écrire : a = (a k + a 0 ) et b = (b k + b 0 ), avec a 0, b 0, a, b des nombres binaires à k chiffres. On remarque alors que le calcul de ab : (a k + a 0 )(b k + b 0 ) = a b k + (a b 0 + a 0 b ) k + a 0 b 0 ne nécessite pas les quatre produits a b, a b 0, a 0 b et a 0 b 0, mais peut en fait être effectué seulement avec les trois produits a b, a 0 b 0 et ( a a 0 )( b b 0 ) en regroupant les calculs sous la forme suivante (on note sgn(x) le signe de x) : ab = a b k + (a b + a 0 b 0 sgn(a a 0 )sgn(b b 0 )( a a 0 )( b b 0 )) k + a 0 b 0 Ce que l on peut écrire ainsi : Diviser : On décompose a et b des nombres de k chiffres en a = (a k +a 0 ) et b = (b k +b 0 ) où a 0, b 0, a, b sont des nombres à k chiffres. Régner : On résout par appel récursif le problème pour a 0 b 0, a b et ( a a 0 )( b b 0 ). Combiner : On obtient le produit ab en faisant (a k + a 0 )(b k + b 0 ) = a b k + (a b + a 0 b 0 sgn(a a 0 )sgn(b b 0 )( a a 0 )( b b 0 )) k + a 0 b 0. On admet que les opérations / k (division entière par une puissance de ) et mod k (reste de la division entière par une puissance de ) ne nécessitent pas de multiplication. En fait, ces opérations se font en machine en temps constants et sont négligeables. D où le pseudo-code suivant :
2 Conception d algorithmes et applications Algorithme : KARATSUBA Entrées : deux entiers positifs. Sorties : un entier. KARATSUBA(a, b) n := max( log a, log b ) + ; si n alors retourner ab; k = n ; a 0 = a mod k ; a = a/ k ; b 0 = b mod k ; b = b/ k ; x := KARATSUBA(a 0, b 0 ); y := KARATSUBA(a, b ); z := KARATSUBA((( a a 0 ), ( b b 0 )); retourner y k + (x + y sgn(a a 0 )sgn(b b 0 )z) k + x; 0 Analyse de l algorithme KARATSUBA Preuve de Terminaison. Par induction sur n = max( log a, log b ) + : Si n = alors, on ne fait qu une multiplication, donc l algorithme est fini. Supposons que pour tout n < n 0, l algorithme KARATSUBA(a, b) se termine, alors pour tous a et b avec n 0 = max( log a, log b ) +, KARATSUBA(a, b) se termine aussi car il appelle recursivement trois copies de KARATSUBA sur des instances plus petites (qui par hypothèse d induction se terminent). Preuve de Validité. Par induction sur k = max( log a, log b ) + : Si k = alors, KARATSUBA(a, b) renvoie ab. Supposons que pour tout k < n 0, l algorithme KARATSUBA(a, b) renvoie ab, alors pour tous a et b avec n 0 = max( log a, log b ) + : KARATSUBA(a, b) = y k + (x + y sgn(a a 0 )sgn(b b 0 )z) k + x, qui vaut ab car par récurrence x = a 0 b 0, y = a b et z = ( a a 0 )( b b 0 )). Analyse de la Complexité en nombre de multiplications élémentaires : Notons T (n) le nombre de multiplications élémentaires nécessaires pour multiplier deux nombres de n chiffres. Le principe Diviser pour Régner permet de donner la formule de récurrence pour T suivante : T () = et T (n) = T (n/). On en déduit que T (n) = Θ(n log ). Or log = ln() ln()., ce qui bien mieux que le n de la multiplication naïve.
3 UPMC Année /. Diviser pour Régner (en algorithmique des graphes) Arbres binaires de recherche. L ensemble AB des arbres binaires étiquetés sur N est défini inductivement comme suit : Base : AB Induction : Si G AB, D AB et n N alors (n, G, D) AB Si (n, G, D) est un arbre binaire étiqueté alors G est appelé le sous-arbre gauche et D le sous-arbre droit de (n, G, D). L étiquette n de (n, G, D) est appelée la clef de la racine de (n, G, D). Plus généralement, les nombres présents dans un arbre binaire sont appelés des clefs. Un arbre binaire de recherche est un arbre binaire étiqueté dont les étiquettes vérifient la propriété suivante : Pour tout noeud x, la clef de x est supérieure à toutes les clefs du sous-arbre gauche de x et inférieure à toutes les clefs du sous-arbre droit de x. Le problème que l on se pose est : étant donnés un nombre x et un arbre binaire de recherche B, x est-il une clef présente dans B? On va suivre pour cela le principe diviser pour régner suivant : Si B est vide, on renvoie NON Diviser : On divise B en trois parties : la racine, le sous-arbre gauche, le sous-arbre droit. Régner : Si x est égal à la clef de la racine de B, on renvoie OUI Si x est inférieur à la clef de la racine de B, on cherche si x est une clef du sous-arbre gauche on cherche x dans le sous-arbre droit. Ceci peut s écrire en pseudo-code de la manière suivante : Algorithme : RECHERCHE(x, B) Entrées : Une valeur x et un arbre binaire de recherche B. Sorties : Un booléen indiquant si x est une clef de B. RECHERCHE(x, B) si B = alors retourner NON; si x = clefracine(b) alors retourner OUI; si x < clefracine(b) alors retourner RECHERCHE(x,sous-arbre gauche(b)); retourner RECHERCHE(x,sous-arbre droit(b)); Analyse de l algorithme RECHERCHE Immédiat, étant donné que l on fait des appels sur des arbres de plus en plus petits et que si l arbre est vide, on s arrête. Sans difficulté par induction. Notons T (h) le nombre de comparaisons pour trouver x dans un arbre binaire de profondeur h, on a T (0) = 0 et T (h) T (h ) +, en effet dans le pire des cas, on appelle récursivement RECHERCHE sur le plus profond des sous-arbres. Donc T (h) = O(h). Remarquer que si l arbre binaire de recherche est équilibré, il peut contenir de l ordre de h clefs. RECHERCHE est donc un algorithme de recherche en temps logarithmique (si l arbre est équilibré) et non linéaire tel que la présentation pourrait le laisser penser.
4 Conception d algorithmes et applications. Diviser pour Régner (en géométrie algorithmique) Recherche des deux points les plus rapprochés dans un nuage de points dans le plan. Le problème consiste à trouver les deux points les plus proches dans un nuage de n points (n > évidement). Il peut y avoir plusieurs points ayant les mêmes coordonnées dans ce nuage. Bien sûr par les plus proches, l on entend deux points dont la distance euclidienne est minimale. On rappelle à ce titre que la distance entre p = (x, y ) et p = (x, y ) vaut d(p, p ) = (x x ) + (y y ). Un algorithme naïf consisterait à calculer la distance entre toutes les paires possibles de points dans L et d en extraire le minimum. Mais il y a C n possibilités, ce qui donne un algorithme en Θ(n ). On va montrer qu il existe un algorithme de type diviser pour régner qui permet de trouver les deux points les plus rapprochés en O(n ln(n)). En voici l idée : Diviser : Partager le tableau T en deux tableaux T G et T D avec T D = T / et T G = T /. et tous les points de T G ont une abscisse plus petite ou égale à ceux de T D (Les points de T G sont à gauches ou sur une droite d tandis que des points de T D à droite ou sur d). Régner : On résoud récursivement le problème des points rapprochés sur T G et T D tant qu ils ont au moins éléments, on résoud naïvement. Fusionner : Soit (A G, B G ) (resp. (A D, B D )) les deux points les plus proches dans T G (resp. dans T D ) et soit (C, D) les deux points les plus proches avec C dans T G et D dans T D. On retourne parmis ces trois paires, celle qui a la distance la plus petite. Il nous faut donc pour fusionner, un algorithme spécifique pour calculer si la distance minimale entre T G et T D est plus petite que celles dans T G et T D. On va voir qu il en existe un efficace. Structure de données : On va utiliser deux tableaux T X et T Y, le premier contient les points classés par ordre croissant de leur abscisse (plus précisément, par ordre lexicographique sur les coordonnées (x, y)). Le deuxième par ordre croissant sur les ordonnées (plus précisément, par ordre lexicographique sur les coordonnées inversées (y, x)). Donc, on stoque deux fois trop de données (chaque point est présent dans les deux tableaux), mais cette structure va nous permettre d obtenir un algorithme en O(n ln(n)). Tout d abord, voici le pseudo-code qui permet de diviser les deux tableaux T X et T Y : Algorithme : SeparePoints Entrées : les tableaux de points T X, T Y. Sorties : les tableaux scindés T G X, T D X, T G Y, T D Y et l abscisse de la droite d qui sépare les points. SeparePoints (T X, T Y ) n := longueur(t X); T G X := T X[.. n/ ]; T D X := T X[ n/ +..n]; T G Y := CreerTableau[.. n/ ]; T D Y := CreerTableau[ n/ +..n]; g := ; d := ; med := T G X[ n/ ]; pour i allant de à n faire si T Y [i] x < med x ou (T Y [i] x = med x et T Y [i] y <= med y et g <= n/ ) alors T G Y [g] := T Y [i] ; g := g + ; T D Y [d] := T Y [i]; d := d + ; 0 retourner (med x, T G X, T D X, T G Y, T D Y )
5 UPMC Année / Analyse du pseudo-code SeparePoints Il n y a qu une boucle définie. Exercice facile. On fait au plus deux comparaisons à chaque passage dans la boucle Pour de la ligne. On a donc un algorithme linéaire en la taille de l entrée. Soit δ G (resp. δ D ) la plus petite distance entre deux points de T G (resp. T D ), notons δ le minimum de δ G et δ D. Pour fusionner, il nous faut déterminer s il existe une paire de points dont l un est dans T G et l autre dans T D, et dont la distance est strictement inférieure à δ. Il est facile de voir que si une telle paire existe, alors les deux points se trouvent dans la bande verticale centrée en x = med x et de largeur δ. Nous allons donc devoir construire un tableau T Y, trié selon les ordonnées (nous verrons en suite pourquoi ce tri), et obtenu à partir de T Y en ne gardant que les points d abscisse x vérifiant med x δ x med x + δ. En voici le pseudo-code : Algorithme : BandeVerticale Entrées : le tableau de points T Y, la distance δ et l abscisse med x de la droite d. Sorties : le tableau T Y. BandeVerticale(T Y, δ, med x ) n := longueur(t X); j := ; pour i allant de à n faire si T Y [i] x med x δ et T Y [i] x med x + δ alors T Y [j] := T Y [i]; j := j + ; retourner T Y Analyse du pseudo-code BandeVerticale Il n y a qu une boucle définie. Immédiat. On fait au plus deux comparaisons à chaque passage dans la boucle Pour de la ligne. On a donc un algorithme linéaire en la taille de l entrée. Nous sommes presque en mesure de donner un pseudo-code efficace pour déterminer s il existe une paire de points dont l un est dans T G et l autre dans T D, et dont la distance est strictement inférieure à δ. Les deux remarques restant à faire sont : S il existe deux points p = (x, y ) et p = (x, y ) de T Y tels que dist(p, p ) < δ et y < y, alors p se trouve dans le rectangle R = {(x, y); med x δ x med x +δ et y y y +δ}. R ne peut contenir au plus que les points qui suivent p dans le tableau T Y. Ceci nous permet d écrire le pseudo-code suivant :
6 Conception d algorithmes et applications Algorithme : DePartEtDAutre Entrées : le tableau de points T Y, la distance δ. Sorties : Un quadruplet (b, P, P, δ) où b est un booléen qui vaut faux s il n y a pas de points dans T Y à distance inférieur à δ et P et P sont les coordonnées de deux points les plus proches dans T Y et δ leur distance. DePartEtDAutre(T Y, δ) n :=longueur(t Y ); δ min := δ; res := (F AUX, (0, 0), (0, 0), 0); pour i allant de à n faire j := i + ; tant que j n et j i + faire d := dist(t Y [i], T Y [j]); si d < δ min alors δ min := d; res := (V rai, T Y [i], T Y [j], δ min ); 0 j := j + ; retourner res Analyse du pseudo-code DePartEtDAutre Il y a une boucle définie ligne et emboîté dedans un tant que ligne, mais celui-ci n ai jamais itéré plus de fois à cause du compteur j. Donc l algorithme se termine. Immédiat si l on est d accord avec les remarques. On parcourt T Y une fois, et pour chaque point, on fait au plus comparaisons. On a donc un algorithme linéaire en la taille de l entrée. Nous pouvons finalement ecrire un pseudo-code pour la recherche de deux points les plus rapprochés (voir Algorithme sur la page suivante). Analyse du pseudo-code PlusProches Tant que la taille des tableaux est supérieur à, elle diminue de moitié à chaque appel recursif et dès qu elle est inférieur à, l algorithme s arête en lançant PlusProcheNaïf qui n est pas recursif. Donc l algorithme se termine. Immédiat. Le nombre de comparaisons effectuées par l algorithme suit la relation de récurence T (n) = T ( n/ ) + T ( n/ ) + O(n). Le O(n) vient du fait que DiviserPoints, BandeVerticale et De- PartEtDAutre se font tous les en O(n). Les T ( n/ ) et T ( n/ ) décrivent seulement les appels recursifs ligne et. Donc, on a une complexité en nombre de comparaisons qui est en O(n ln(n)).
7 UPMC Année / Algorithme : PlusProches Entrées : les tableaux de points T X, T Y. Sorties : Deux points à distance minimum et δ la distance minimum. PlusProches(T X, T Y ) si longueur(t X) < alors retourner PlusProcheNaïf(T X, T Y ); (med x, T G X, T D X, T G Y, T D Y ) := DiviserP oints(t X, T Y ); (p G 0, p G, δ ) := P lusp roches(t G X, T G Y ); (p D 0, p D, δ ) := P lusp roches(t D X, T D Y ); si δ < δ alors (p 0, p, δ) := (p G 0, p G, δ ); (p 0, p, δ) := (p D 0, p D, δ ); 0 T Y := BandeV erticale(t Y, δ, med x ); (b, p 0, p, δ ) := DeP artetdautre(t Y, δ); si b = V RAI alors (p 0, p, δ) := (p 0, p, δ ); retourner (p 0, p, δ) ; Le prétraitement qui consiste à créer les tableaux triés T X et T Y se fait aussi en O(n ln(n)) comparaisons avec un algorithme de tri comme tri fusion par exemple.
1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
chapitre 4 Nombres de Catalan
chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C
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.
Les arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme
Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet
Algorithmique et Programmation
École Supérieure d Ingénieurs de Poitiers Gea Algorithmique et Programmation Laurent Signac ii Algorithmique et programmation Gea Table des matières Avant Propos v Structures de données Notion de pointeur..............................................
ARBRES BINAIRES DE RECHERCHE
ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d
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
INF601 : Algorithme et Structure de données
Cours 2 : TDA Arbre Binaire B. Jacob IC2/LIUM 27 février 2010 Plan 1 Introuction 2 Primitives u TDA Arbin 3 Réalisations u TDA Arbin par cellules chaînées par cellules contiguës par curseurs (faux pointeurs)
Statistique : Résumé de cours et méthodes
Statistique : Résumé de cours et méthodes 1 Vocabulaire : Population : c est l ensemble étudié. Individu : c est un élément de la population. Effectif total : c est le nombre total d individus. Caractère
MIS 102 Initiation à l Informatique
MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ
1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : [email protected] Page personnelle : http://www.lri.fr/ hivert
1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : [email protected] Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes
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
Licence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Module 16 : Les fonctions de recherche et de référence
Module 16 : Les fonctions de recherche et de référence 16.0 Introduction L une des fonctions les plus importantes d Excel, c est la possibilité de chercher une valeur spécifique dans un grand nombre de
La fonction exponentielle
DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction
Les structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Rappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Représentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
Quelques Algorithmes simples
Quelques Algorithmes simples Irène Guessarian [email protected] 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été
BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE
BACCALAURÉAT GÉNÉRAL SESSION 2012 MATHÉMATIQUES Série S Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE Les calculatrices électroniques de poche sont autorisées, conformément à la
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
Algorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
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,
avec des nombres entiers
Calculer avec des nombres entiers Effectuez les calculs suivants.. + 9 + 9. Calculez. 9 9 Calculez le quotient et le rest. : : : : 0 :. : : 9 : : 9 0 : 0. 9 9 0 9. Calculez. 9 0 9. : : 0 : 9 : :. : : 0
# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>
94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue
Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Architecture des Systèmes d Information Architecture des Systèmes d Information
Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau
Feuille TD n 1 Exercices d algorithmique éléments de correction
Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments
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
Chp. 4. Minimisation d une fonction d une variable
Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie
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
Arbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.
ANALYSE 5 points Exercice 1 : Léonie souhaite acheter un lecteur MP3. Le prix affiché (49 ) dépasse largement la somme dont elle dispose. Elle décide donc d économiser régulièrement. Elle a relevé qu elle
Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
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
t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :
Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant
introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives
introduction Chapitre 5 Images récursives http ://univ-tln.fr/~papini/sources/flocon.htm Récursivité http://www.poulain.org/fractales/index.html Image qui se contient elle-même 1 Exemples mathématiques
Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé
Baccalauréat S/L Métropole La Réunion 13 septembre 2013 Corrigé A. P. M.. P. XRCIC 1 Commun à tous les candidats Partie A 1. L arbre de probabilité correspondant aux données du problème est : 0,3 0,6 H
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
Chapitre 5 : Flot maximal dans un graphe
Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d
CCP PSI - 2010 Mathématiques 1 : un corrigé
CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P
Fonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
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
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
Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé
Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e
Les deux points les plus proches
MPSI Option Informatique Année 2001, Deuxième TP Caml Vcent Simonet (http://cristal.ria.fr/~simonet/) Les eux pots les plus proches Lors e cette séance, nous allons nous téresser au problème suivant :
Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels.
Cette partie est consacrée aux nombres. Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels. L aperçu historique vous permettra
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
Développement décimal d un réel
4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce
Partie 1. Fonctions plus complexes dans Excel. Fonctions Si(), Et(), Ou() et fonctions imbriquées. Opérateurs logiques. I.1.
Présentation Excel 7 Fonctions plus complexes dans Excel Partie 1 Sandra Michelet Département Informatique Pédagogique Université Stendhal, Grenoble III Fonctions Si(), Et(), Ou() et fonctions imbriquées
2.4 Représentation graphique, tableau de Karnaugh
2 Fonctions binaires 45 2.4 Représentation graphique, tableau de Karnaugh On peut définir complètement une fonction binaire en dressant son tableau de Karnaugh, table de vérité à 2 n cases pour n variables
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
Exo7. Limites de fonctions. 1 Théorie. 2 Calculs
Eo7 Limites de fonctions Théorie Eercice Montrer que toute fonction périodique et non constante n admet pas de ite en + Montrer que toute fonction croissante et majorée admet une ite finie en + Indication
Excel avancé. Frédéric Gava (MCF) [email protected]
Excel avancé Frédéric Gava (MCF) [email protected] LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Rappels et compléments
Resolution limit in community detection
Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.
Image d un intervalle par une fonction continue
DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction
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.............................
Jade. Projet Intelligence Artificielle «Devine à quoi je pense»
Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges
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)
Introduction à l étude des Corps Finis
Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur
De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que
Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer
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.
* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours
Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****
données en connaissance et en actions?
1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)
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
Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé
Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue
Suites numériques 3. 1 Convergence et limite d une suite
Suites numériques 3 1 Convergence et limite d une suite Nous savons que les termes de certaines suites s approchent de plus en plus d une certaine valeur quand n augmente : par exemple, les nombres u n
V- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Compter à Babylone. L écriture des nombres
Compter à Babylone d après l article de Christine Proust «Le calcul sexagésimal en Mésopotamie : enseignement dans les écoles de scribes» disponible sur http://www.dma.ens.fr/culturemath/ Les mathématiciens
Complément d information concernant la fiche de concordance
Sommaire SAMEDI 0 DÉCEMBRE 20 Vous trouverez dans ce dossier les documents correspondants à ce que nous allons travailler aujourd hui : La fiche de concordance pour le DAEU ; Page 2 Un rappel de cours
Baccalauréat ES Pondichéry 7 avril 2014 Corrigé
Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient
Logiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli [email protected] Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
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,
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
Initiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
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é
Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3
8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant
Chapitre 2 Le problème de l unicité des solutions
Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)
Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires
Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Julien Jorge [email protected] Laboratoire d Informatique de Nantes Atlantique,
Le langage SQL Rappels
Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,
Probabilités Loi binomiale Exercices corrigés
Probabilités Loi binomiale Exercices corrigés Sont abordés dans cette fiche : (cliquez sur l exercice pour un accès direct) Exercice 1 : épreuve de Bernoulli Exercice 2 : loi de Bernoulli de paramètre
IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB
IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB Ce document, écrit par des animateurs de l IREM de Besançon, a pour objectif de présenter quelques unes des fonctions du logiciel Scilab, celles qui sont spécifiques
Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument
Formes algébriques et trigonométriques, module et argument Exercice - - L/Math Sup - On multiplie le dénominateur par sa quantité conjuguée, et on obtient : Z = 4 i 3 + i 3 i 3 = 4 i 3 + 3 = + i 3. Pour
clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE
Cas Neptune hôtel Base de données et langage SQL Propriété Intitulé long Formation concernée Matière Notions Transversalité Présentation Description Neptune Hôtel. L interrogation d une base de données
Développements limités, équivalents et calculs de limites
Développements ités, équivalents et calculs de ites Eercice. Déterminer le développement ité en 0 à l ordre n des fonctions suivantes :. f() e (+) 3 n. g() sin() +ln(+) n 3 3. h() e sh() n 4. i() sin(
Chapitre 6. Fonction réelle d une variable réelle
Chapitre 6 Fonction réelle d une variable réelle 6. Généralités et plan d étude Une application de I dans R est une correspondance entre les éléments de I et ceu de R telle que tout élément de I admette
Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications
Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au
Fonctions homographiques
Seconde-Fonctions homographiques-cours Mai 0 Fonctions homographiques Introduction Voir le TP Géogébra. La fonction inverse. Définition Considérons la fonction f définie par f() =. Alors :. f est définie
TP3 : Manipulation et implantation de systèmes de fichiers 1
École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande
Correction du baccalauréat ES/L Métropole 20 juin 2014
Correction du baccalauréat ES/L Métropole 0 juin 014 Exercice 1 1. c.. c. 3. c. 4. d. 5. a. P A (B)=1 P A (B)=1 0,3=0,7 D après la formule des probabilités totales : P(B)=P(A B)+P(A B)=0,6 0,3+(1 0,6)
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
Dérivation : cours. Dérivation dans R
TS Dérivation dans R Dans tout le capitre, f désigne une fonction définie sur un intervalle I de R (non vide et non réduit à un élément) et à valeurs dans R. Petits rappels de première Téorème-définition
Algorithmique et structures de données I
Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence
Comment tracer une droite représentative d'une fonction et méthode de calcul de l'équation d'une droite.
Comment tracer une droite représentative d'une fonction et méthode de calcul de l'équation d'une droite. Introduction : Avant de commencer, il est nécessaire de prendre connaissance des trois types de
RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3
RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3 Pour construire un graphique : On lance l assistant graphique à l aide du menu Insérer è Diagramme en ayant sélectionné au préalable une cellule vide dans
BACCALAUREAT GENERAL MATHÉMATIQUES
BACCALAUREAT GENERAL FEVRIER 2014 MATHÉMATIQUES SERIE : ES Durée de l épreuve : 3 heures Coefficient : 5 (ES), 4 (L) 7(spe ES) Les calculatrices électroniques de poche sont autorisées, conformement à la
Probabilités conditionnelles Exercices corrigés
Terminale S Probabilités conditionnelles Exercices corrigés Exercice : (solution Une compagnie d assurance automobile fait un bilan des frais d intervention, parmi ses dossiers d accidents de la circulation.
DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.
A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur
