La société Klippan France dont l usine est à Gournay-en-Bray en Normandie, La société Autoliv S.A. dont l usine est à Seclin dans le Nord, Normandie.

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

Download "La société Klippan France dont l usine est à Gournay-en-Bray en Normandie, La société Autoliv S.A. dont l usine est à Seclin dans le Nord, Normandie."

Transcription

1 1 REMERCIEMENTS Tout d abord, je tiens à remercier M. Benoît MARSAUD, DG d Autoliv France, pour l accueil qu il m a réservé au sein de sa société. J adresse également mes remerciements à M. Fabrice COQUIN, ingénieur développement et tuteur de mon stage, qui m a proposé un projet intéressant et enrichissant pour mon expérience dans le domaine informatique. Je tiens aussi à remercier M. Pierre Christian CELLE, Mme Isabelle RACINE, Mme Céline ANCELIN, Mme Corinne ALEXANDRE, Mme Isabelle RACINE, M. Pascal VITASSE, M. Jérémie DELESTRE, M. Stéphane CAZAT, M. Jean Charles LEBELLEGUY, M. Tony DORE, M. Benjamin PESCHET, M. Nicolas ABRAHAM, M. Marc TRUONG, M. Sébastien HULEUX ainsi que tout le service support et réseau pour leur accueil chaleureux qui a facilité mon intégration dans le service. 1

2 2 SOMMAIRE I. REMERCIEMENTS 1 II. SOMMAIRE 2 A. Références et chiffres-clés 5 B. Autoliv dans le monde 6 C. Autoliv en France 7 D. Le Service Informatique 11 III. INDEXATION 14 A. Introduction 14 B. Système d information de la gestion documentaire 15 C. Segmentation et classification 17 D. Dualité entre classification et segmentation 18 IV. ARBRE D INDEXATION 20 A. Introduction 20 B. B-Arbre 21 C. Structures 21 D. Algorithme des opérations sur les b-arbres 22 E. Exemple 25 V. APPLICATION 27 A. Compression huffman 27 a) Arbre représentant un code prefixe 27 b) arbre binaire complet 28 c) algorithme 28 d) demonstration 29 e) implémentation 29 B. Exemple Huffman 37 C. Diagramme UML B-Arbre 39 D. Diagramme UML des communications distribues 47 VI. PARALLELISATION DE L INDEXATION 42 A. Définitions 50 B. Fonctionnalité 50 C. Les taches 51 D. Structure d un index inversé 52 E. Partionnement de l indexation 53 F. Parallelisation de l indexer 54 G. Calculs des statistiques 55 a)calcul statistique pendant la phase d indexation 56 b)calcul statistique au moment de l ecriture 57 VII. CONCLUSION 59 2

3 Historique du groupe Autoliv Inc., équipementier automobile n 1 sur le marché mondial de l airbag, est une société dont le but est : d inventer, de développer, de produire et de vendre dans le monde entier des systèmes destinés à éviter ou à atténuer les risques de blessures lors d accidents automobiles. En 1962, la société Klippan a été crée par une famille suédoise croyant en le développement de la ceinture de sécurité, alors non obligatoire. Cette société, qui s est implantée à Gournay-en-Bray en 1966, est devenue la propriété du groupe américain Allied Chemical en 1970, au moment où les constructeurs automobiles eurent l obligation d installer des ceintures de sécurité sur leurs véhicules. En 1982, Allied Corporation, anciennement Allied Chemical, décide de vendre les unités de France, d Allemagne et d Espagne du groupe Klippan à un partenaire du groupe Klippan Italie, le groupe italien Nike Finanziaria. En 1985, le groupe Klippan est acheté par Electrolux qui possède déjà une activité similaire sous le nom d Autoliv. A cette période, il y a trois sociétés sur le territoire français : La société Klippan France dont l usine est à Gournay-en-Bray en Normandie, La société Autoliv S.A. dont l usine est à Seclin dans le Nord, La société Autoliv & Cie. Normandie. dont l usine est à Caudebec-lès-Elbeuf en 3

4 A partir de 1985, la direction entreprend la restructuration de son ensemble industriel, pour répondre à trois objectifs : Rationaliser l utilisation de l outil de production afin d améliorer la productivité et se permettre ainsi de réaliser d importants programmes d investissements permettant de renforcer la situation de la société sur le marché de la ceinture de sécurité, Normaliser les fabrications pour abaisser les prix de revient des produits et ainsi être le plus concurrentiel possible, Consolider la position du groupe auprès des clients : les constructeurs automobiles français, vis-à-vis de la concurrence. C est dans cet objectif que, dès 1986, Autoliv S.A. et Klippan France fusionnent pour former la société Autoliv Klippan, prenant en charge la totalité de l assemblage et de la distribution des ceintures de sécurité auprès des constructeurs. Pendant ce temps la société Autoliv & Cie. concentre son activité sur la fabrication des composants métalliques entrant dans l assemblage de ces ceintures. Au début de l année 1994, le groupe Electrolux décide de se concentrer sur son activité principale, l électroménager, et se sépare du groupe Autoliv en introduisant 100% de ses actions à la bourse de Stockholm. Le capital est ouvert principalement aux investisseurs institutionnels suédois et sur les marchés internationaux. Cette opération financière est réalisée avec un franc succès en juin 1994.Autoliv Klippan fait désormais partie du groupe suédois Autoliv AB et sa raison sociale devient Autoliv France. Le 1 er mai 1997, le groupe Autoliv AB fusionne avec l activité automobile du groupe Morton, donnant naissance à Autoliv Inc. Cette fusion place le nouveau groupe parmi les deux premières sociétés du marché mondial de la sécurité automobile. 2.1 Références et chiffres-clés Le groupe Autoliv Inc., dont les domaines d activités sont tout ce qui se rapporte aux équipements et systèmes de sécurité automobiles, comptait pour l année 2000, plus de employés (dont 2500 en Recherche & Développement) répartis sur 80 sites de production à travers le monde. Le chiffre d affaire s est élevé cette année là à 4,1 milliards $ US et le bénéfice à 169 millions $ US. Constructeurs automobiles clients du groupe Autoliv Inc. : Evolution des ventes des produits durant ces dernières années : 4

5 Exemple de produits fabriqués par Autoliv Inc. : 2.2 Autoliv dans le monde Le groupe Autoliv Inc. est une des deux principales sociétés de fabrication de systèmes de sécurité automobiles (ceintures de sécurité, airbags). A travers le monde, le groupe Autoliv Inc. est représenté par la présence de sites de productions sur tous les continents. Les entreprises Autoliv locales ont non seulement leurs propres ressources de production, mais aussi leurs propres ressources d ingénierie, facilitant ainsi une meilleure accessibilité pour les clients de proximité. Ainsi, certains sites du groupe sont dotés de leur propre centre de R&D et d une unité de crash-tests, faisant profiter leurs recherches et leurs découvertes à tout le groupe. Répartition des sites du groupe Autoliv Inc. dans le monde : 5

6 2.3 Autoliv en France Autoliv France (AKF), dont le siège social est à Paris, dispose d une usine de production de ceintures et systèmes de sécurité à Gournay-en-Bray (à 90 Km de Paris). Pour l année 2001, le chiffre d affaire d AKF était de 629 millions, et l effectif était de 1207 employés et environ 1500 prestataires et intérimaires. Autoliv Composants, filiale d Autoliv France, est spécialisée dans la production de composants métalliques. En 2001, le chiffre d affaire de cette filiale était de 42 millions pour un effectif de 267 personnes. Autoliv Electronics (anciennement Sagem Autoliv) est devenue une filiale à part entière du groupe Autoliv France en Son chiffre d affaire pour 2001 était e 157 millions pour un effectif de 405 employés. D autre part, le groupe Autoliv France détient des participations dans trois autres sociétés : 51% dans Livbag, qui produit des générateurs de gaz entrant dans la fabrication des airbags, 49% dans E.A.K., qui produit et distribue des ceintures de sécurité et des airbags pour le groupe Peugeot S.A., 76% dans Isodelta pour la production de volants. Autoliv France occupe au sein du groupe Autoliv Inc. une place prépondérante sur le plan de la R&D. En effet, la société travaille en étroite collaboration avec les bureaux d études d Autoliv Suède et d Autoliv Allemagne sur le développement de nouveaux produits tels que les airbags et les systèmes pyrotechniques. 6

7 Répartition du groupe Autoliv en France (avec CA et effectifs) : 7

8 Autoliv France, à Gournay-en-Bray, est un centre de compétence leader dans le groupe Autoliv Inc. Ce site est chargé de la conception et de la réalisation des lignes d assemblage des composants entrant dans la fabrication des systèmes de sécurité automobiles. Ce département réalise les équipements de production de nombreuses filiales du groupe, exportant ainsi dans une douzaine de pays. Plan du site de Gournay-en-Bray : 2.4 Le Service Informatique Sous la responsabilité de M. Pierre Christian CELLE, le rôle du service informatique d Autoliv France est de mettre en œuvre un système d informations et une architecture technique performante pour répondre aux besoins des employés de la société. Ce service apporte aussi le support aux clients internes et aux filiales sur différents outils mis à leur disposition. Au niveau du matériel, on ne dénombre pas moins de 650 ordinateurs, dont 120 en production, une centaine de stations de C.A.O. et une quarantaine de serveurs. Les nombreuses interventions quotidiennes en maintenance informatique, représentent l une des facettes les plus connues de ce service. Mais il serait incomplet de penser que l informatique ne se caractérise que par le matériel... L équipe informatique a également à charge l administration d un véritable patrimoine de données et d informations qui sont essentielles à la bonne marche de l entreprise. C est pourquoi le service informatique est composé de six grandes familles de métiers au sein de cette équipe de 30 personnes : Le système réseau : Administration et mise en œuvre de l ensemble des matériels et logiciels permettant aux utilisateurs et aux ordinateurs d échanger des informations. 8

9 Les études : Analyses et développements de programmes spécifiques à Autoliv France et intégration de logiciels du marché. Le support clients interne : Assistance aux utilisateurs et mise en place des postes de travail (logiciels et matériels). Les bases de données : Administration des bases de données (classification des informations afin de pouvoir les retrouver et garantir leur intégrité et unicité). La C.A.O. (Conception Assistée par Ordinateurs) : Développement de programmes et assistance aux utilisateurs. L informatique industrielle : Développement de programmes d informatique industrielle spécifiques aux chaînes de fabrication. 9

10 Ce sujet est proposé dans le cadre de recherche, conception, analyse et développement d un outil permettant la recherche par mots clefs dans un ensemble de document utilisateur qui seront périodiquement mis à jour. Ce sujet est proposé par l entreprise Autoliv Dans l optique de recherche, conception d analyse et de développement, l étudiant devra concevoir un outil de recherche documentaire. Cet outil devra indexer les mots clefs des différents documents afin d effectuer de manière optimale le parcours arborescent de la dite structure. Ce projet devra répondre des contraintes de temps (et par conséquent de complexités) ou l indexation pourra être effectué par l intermédiaire d un traitement parallèle des informations. Le projet proposé est d une durée de cinq mois compter du 8 mars Nous pourrons dégagez différent axes principaux. Tout d abord l indexation des documents, puis le moteur permettant le stockage des informations dégagez lors de cette indexation, la mise en parallèle de l algorithme d indexation. 10

11 3 Indexation 3.1 Introduction Cet outil devra en réponse fournir une liste de document qui devront correspondre à une requête fournit par l utilisateur. Il y a deux possibilités pour l atteindre soit par une recherche sur les informations du document lui-même (libelle, domaine, etc.... ) soit sur le contenu de ces documents (résultat de l indexation). Nous verrons tout d abord le système d information qui recense l ensemble des documents avec leurs propriétés. Ensuite nous verrons quels traitements possibles lors de l indexation sont possibles. Nous verrons la segmentation et la classification thématique d un document servant pour le réordonnement pour le classement des documents par pertinence. 11

12 3.2 Système d information de la gestion documentaire 12

13 Ce système d information constitue la couche supérieure du repository ou sont stocké toutes les informations nécessaires pour la classification des différents documents. Les documents sont organisés en une arborescence. Ces documents peuvent être de type différent. En effet un document peut être un fichier ou un dossier. Ils sont classés par axe. Chaque dossier possède donc un père. Sont aussi rattachés à ces documents un certains nombre de mots clefs prédéfinis permettant une certaine classification globale pour chaque document. De plus différent moyen de stockage des historiques des actions sur les documents sont présent. 13

14 3.3 Segmentation et classification Une simple liste des documents ne suffit pas à l utilisateur pour sélectionner avec pertinence le ou les documents qui lui conviennent. Un court extrait du document doit lui être aussi présenté. Le classement peut être aussi structuré dans une organisation thématique du document (ceci en couplant les deux modes de recherche). Mais il est possible de déterminer des structures dynamiques dans les textes proposés. On peut considérer séparément chaque zone textuelle et de dégager un nouveau mode de lecture. Si on utilise les techniques statistiques classiques d indexation et de calcul de similarités, les thématiques trouvés seront probablement masquées par une prise de vue globale du document. En segmentant dynamiquement un article on pourra isoler les zones textuelles relative à la requête. 3.4 Dualité entre classification et segmentation En classifiant les phrases ou les paragraphes d un document on obtient directement une segmentation. Les frontières thématiques sont trouvées lorsque deux phrases contiguës sont dans deux classes différentes. Un grand nombre de méthode de segmentation sont utilisées, pour la re- 14

15 connaissance de frontières thématique et à la création de résumés automatique. Parmis les documents rapportés certains d entre eux peuvent être impertinent malgré un premier classement par segmentation. Il s agit ici seulement de réordonner. La plupart des algorithmes de segmentation utilisent un modèle vectoriel selon l hypothèse que deux extraits de texte ayant une faible similarité ont de faibles liens thématiques. Ceci étant proche de l hypothèse selon laquelle un document est pertinent vis-à-vis d une requête si leur similarité est grande. Une méthode simple constitue en un calcul des similarités des paragraphes adjacents (analyse des répétitions de chaîne de mots à l intérieur des textes pour trouver les frontières thématiques. Un même concept peut être exprimé par des termes différents, la technique précédente n est donc suffisante. Il faut alors calculer un coefficient de cohésion thématique, ceci étant évalué suivant un réseau sémantique. Tant qu il restera des segments non classés, les segments adjacents les plus proches sont regroupés hiérarchiquement entre la distance qui les sépares et la profondeur de l arbre. Cette technique ne sera appliquée qu a une certaine classe de document. Les différentes unités documentaire étant déterminer lors du stockage des différents documents on effectuera une nouvelle classification sur le document globale et non sur les phrases qu il contient, cela nous permettra de relier les documents liées thématiquement. On pourra ensuite en déduire une seconde segmentation en fonction de l appartenance ou non à une même classes de deux unités documentaires adjacentes dans les textes, et ainsi de suite. Les différentes itérations de ce processus définiront la granularité de la recherche. Une segmentation peut être déduite d une classification effectuée au préalable sur les unités de base composant les textes. Inversement, une classification peut être effectuée à partir de toute segmentation. La classification et la segmentation permettent d offrir à l utilisateur du système de recherche documentaire un parcours thématique à l intérieur des documents ainsi qu une liste ordonnée de zones textuelles pertinentes. Cette technique bien que très fines requiert néanmoins beaucoup de ressources. Toutes les informations obtenues devront être triées et rangé dans une structure adéquate. 15

16 4 Arbre d indexation 4.1 Introduction Il existe différentes techniques pour le stockage d une indexation. Certain stocke ces informations dans un automate pondéré. Ce système est notamment utilisé pour la reconnaissance du langage. Cette représentation compacte forme un large nombre de séquences alternatives et les poids reflètent l incertitude ou la variabilité des données. L index résultant est représenté par un automate déterministe ce qui est optimale pour une recherche. Ceci permet la recherche de motif complexe incluant les informations syntaxiques. Nous considérons que pour chaque langage d expression ui de l ensemble des données considérées i=1.., un automate pondéré Ai sur un alphabet Σ. Le plus gros problème est l indexation total celle qui permet la recherche direct de n importe quel facteur de n importe quel chaîne accepté par cet automate. Ce problème diffère des problèmes d indexation classique du fait que les données entrées sont incertaines. L algorithme doit s assurer des poids de chacune des chaînes fournit en entrée. L idée principale est donc de faire intervenir un automate pondéré finit reliant chaque facteur x à un ensemble d indices de l automate où apparaît x et le nombre d occurrence de x. Néanmoins les données sur lesquels porte notre recherche documentaire ne nécessitent pas obligatoirement un système permettant l entrée de donnée incertaine ou variable à proprement parler. Nous utiliserons donc un arbre (BV arbre) pour le stockage et la restitution des informations provenant de l indexation. 4.2 B-Arbre Les structures de ces arbres supportent un ensemble d opérations de base tel que la recherche, les prédécesseurs, les successeurs, minimum, maximum, insertion et suppression. Toutes ces opérations ont une complexité en fonction de la hauteur de l arbre. L arbre sera équilibré et la hauteur sera en log n ou n est le nombre de nœuds de l arbre. Afin d assurer un l arbre le plus petit possible on peut se baser sur des structures d arbres tel que le red-black tree, l arbre avl ou le b-arbre. Du au grand nombre d informations, l arbre sera stockés sur le disque dur. Les données du fichier de donnée seront indexées par l arbre. Les b-arbres balancés sont optimisés pour ce stockage lent (disque dur). L arbre doit minimiser les accès au disque. 4.3 Structures Contrairement aux arbres binaires, chaque nœud contient un nombre de clef variable et des enfants. Les clefs sont stockées en ordre croissant. Chaque clef a un enfant associé qui est la racine du sous arbre qu elle contient. Ce sous arbre possède des clefs inférieures ou égales à celle-ci mais plus grandes que la clef précédente (par rapport à la racine précédemment citée). 16

17 Dans un b-arbre chaque nœud a un nombre minimum d enfant désigné par le facteur de minimisation (t). Chaque nœud doit avoir au moins t-1 clefs. Dans certaine circonstance le nœud racine peut avoir moins de t-1clefs. Chaque nœud peut avoir au plus 2t-1 clef où autrement dit 2t enfants. Chaque nœud tend à avoir un grand nombre d enfant, ce qui permet de traverser l arbre en un minimum de nœud avant d obtenir la clef désirée. Le facteur t est utilisé pour détermine la taille total de chaque nœud qui est un multiple de la taille d un block sur le dur. Ce choix permet d optimiser les accès au disque. Pour n>=1, la hauteur d une n-clef du b-arbre T de hauteur h et avec t>=2 on a : (Preuve : Cormen, Leiserson et Rivest pages ). Le pire cas est 0(log n). 4.4 Algorithme des opérations sur les b-arbres Les algorithmes pour la recherche, la création et l insertion seront exposés dans cette partie. Les nœuds sont stockés sur le disque, par conséquent chaque chargement d un nœud sera précédé par HD-READ et l écriture par HD-WRITE. 1. Recherche(x,k) Avec x un noeud et k la clef de la recherche i=1 tant que i<= n[x] et k > clef i x] i++ si i<= n[x] et k=clef i [x] alors return (x,i) si feuille[x] alors return null sinon HD-READ(ci[x]) return Recherche(ci[x],k) Cette recherche est similaire à la recherche dans un arbre binaire. Au lieu de choisir entre le fils gauche ou droit, la recherche se fait sur les clefs du nœud courant. Ce choix est linéaire. Apres avoir trouvé une valeur plus grande ou égale on donne la valeur à gauche de cette clef. Si toutes les valeurs sont inférieur à la valeur de la clef désiré alors le fils le plus à droite est suivi. 1. creation d un arbre 17

18 x = new Nœud x.feuille = vrai x.nb clef = 0 HD-WRITE(x) Racine[T] = x La création d un arbre vide se fait en 0(1). Rappelons que seul le nœud racine peut violer les propriétés sur le nombre de clef dans un nœud. 1. scinder arbre(x,i,y) Avec x un noeud i position du découpage y un noeud et z un nœud temporaire z = new nœud z.feuille = y.feuille z.nb clef = t-1 pour j=1 à t-1 clef j [z] = clef j+t [y] si y.feuille == faux alors pour j=1 à t c j [z] = cj+t [y] y.nb clef = t-1 pour j=x.nb clef+1 à i+1 cj+1[x]=cj[x] ci+1=z pour j=x.nb clef à i clefj+1[x]=clefj[x] clefi[x]=cleft[y] x.nb clef++ HD-WRITE(y) HD-WRITE(z) HD-WRITE(x) Si un noeud est plein il est nécessaire d effectuer cette opération de scission. L opération déplace la clef médiane du nœud x dans son père y ou x est le ieme fils de y. Un nouveau nœud z est crée avec les clefs droite de x. Les clefs gauche reste dans x. Le nœud z devient le fils situé à droite de la clef médiane de x qui s est déplacé dans le père y. x quant à lui devient le fils à gauche de la clef médiane. Cet algorithme transforme un nœud plein (avec 2t-1 clefs) dans deux nœuds avec t-1 clefs chacun et que l une des clef est déplacé dans le nœud parent. Cet algorithme à une complexité de O(t) ou t est constant. 1. insertion(k) 18

19 r la racine de l arbre si r.nb clef == 2t-1 alors s = new nœud r = s s.feuille = faux s.nb clefs = 0 c1 = r scinder arbre(s,1,r) insertion(s,k) sinon insertion(r,k) insertion(x,k) i=x.nb clefs si x.feuille == vrai alors tant que i>=1 et k < clefi[x] clefi+1[x]=clefi[x] i clef i+1[x]=k x.nb clef[x]++ HD-WRITE(x) Sinon tant que i<= et k<clef i[x] i i++ HD-READ(ci[x]) Si ci[x].nb clef == 2t-1 Alors scinder arbre(x,i,ci[x]) Si k > clefi[x] Alors i++ Insertion(ci[x],k) Pour effectuer une insertion dans un arbre, le nœud approprié doit être localisé en utilisant un algorithme similaire à celui vu précédemment. Ensuite la clef doit être inséré dans le nœud. Si le nœud est plein on doit scinder le nœud pour faire de la place pour la nouvelle clef. Lors du déplacement de la clef vers le père il se peut que celui-ci soit plein alors il faudra le scinder lui aussi à son tour. L insertion s effectue donc en deux passes, l une pour la recherche du bon nœud et l autre pour des découpages de l arbre. L algorithme présenté ici découpe les nœuds pleins lors de la recherche dans l arbre dans la première passe. Tout ceci afin d éviter de remonter l arbre pour le découper, ceci économisant des accès au disque inutile. Cependant il se peut que certain découpage soit inutile. La complexité de l insertion est en O(t logt n). Un cas particulier subsiste lorsque le nœud root est a scinder, dans ce cas on créer une nouvelle racine. L arbre grandira par le haut. 1. suppression La suppression d un arbre pose un problème. En effet l arbre devant toujours être équilibre il se peut que le nombre de clef d un nœud soit inférieur à t-1. il faudra alors recombiner pour réduire la taille de l arbre. 19

20 Tout d abord on cherche le nœud contenant la clef. Si le nœud est une à supprimer et on la retire de la feuille puis on fait glisser les clefs pour combler le trou. Si le nombre de clef est inférieur au nombre minimal de clef pour le nœud alors on ajuste l arbre. Si le nœud à ajuster est la racine alors on ne fait rien de plus. Sinon on récupère les enfants de même parent supérieur et inférieur. On cherche les feuilles avec les successeurs de la clef On copy les successeurs dans un nœud Si les enfants de même parent ont de la place dans le nœud alors on redistribue les clefs entre le nœud et les enfants de même parent. Sinon si le nœud parent n a qu une clef et qu il est le nœud racine alors on concatène le nœud avec les frères et le parent Chaque noeud de l arbre doit être à 50% remplit. En général il l est à 69%. 1. Exemples L exemple suivant est un b-arbre d ordre 5 c est à dire tous les nœuds interne ont au moins 3 enfants (5/2) et au moins 2 clefs. Le nombre maximum d enfant est 5. Insertion : En accord avec l algorithme de Kruse (exposé précédemment) nous allons à l aide d un exemple construire un arbre avec les lettres C N G A H E K Q M F W L T Z D P R X Y S. Les quatre premières lettres sont donc insérées dans le même nœud racine ce qui donne la figure ci-dessous. Lorsque on tente d insérer le H on ne trouve plus de place dans ce nœud alors on scinde en 2 noeuds, déplaçant la clef médiane G dans un nouveau 20

21 noeud racine. L insertion de E K et Q donne ceci : L insertion de M demande la scission d un nœud en remontant cette même clef. 21

22 Les lettres F, W L et T ne demande aucune scission. Lorsque Z est ajouté le noeud le plus à droite doit être découpé. T est re- 22

23 monté dans son père. Lorsque D est ajouté le noeud le plus à gauche doit être découpé. D est remonté dans son père et on continue en ajoutant P R X Y. Finalement lorsque S est ajouté le noeud avec NPQR est découpé. Néanmoins le père est plein donc on le découpe à son tour envoyant M pour créer une nouvelle racine. 23

24 Suppression : Pour effacer H par exemple on commence bien sur par le rechercher dans l arbre. Si le H est dans une feuille et qu il aura assez de clef restante alors il suffit alors de simplement le retirer. Ce qui donne : Ensuite on supprime T qui n est pas dans une feuille. On cherche son successeur qui est W. On déplace W pour prendre la place de T. Ce qui revient à supprimer W qui fait partit d une feuille. Dans tous les cas ceci revient à une suppression dans une feuille en utilisant cette méthode. 24

25 Ensuite on supprime R. Ceci viole les contraintes de notre arbre. Si le nœud de même parent à gauche où à droite a une clef disponible on pourra prendre cette clef du parent et déplacer une clef du nœud de même parent. Dans ce cas le nœud droit a une clef qu il peut donner. Le successeur W de S est déplacé du parent et X est remonté et S est déplacé ainsi W peut y être insère à sa bonne place. Finalement on supprime E. E est dans une feuille même possédant un nombre de clef insuffisant ni ses frères. Dans un tel cas la feuille doit être combiné avec un ou plusieurs frères. Ceci incluse de descendre la clef père qui est entre ces 25

26 deux feuilles. Dans cet exemple on combine le noeud contenant F avec la feuille contenant A et C et on descend aussi D. Bien sur on peut tout de suite voir que le nœud parent ne contient plus qu une clef G. Ceci viole les contraintes de l arbre. Si ce nœud a un frère a sa gauche ou droite qui a une clef on devra alors emprunter une clef. Supposons que le nœud frère contenant QX avec une clef supplémentaire a droite de Q on pourrait alors descendre M et monter Q ou M était. Toutefois le sous arbre de Q devrais devenir le sous arbre droit de M. En d autre terme le nœud avec NP devrait être rattaché la droite de M dans sa nouvelle position. Dans cet exemple on combinera avec le frère et en descendant M. 26

27 27

28 5 APPLICATION Le langage de programmation utilisé étant java, l écrire sur le disque n est pas optimisé en espace il faut par conséquent compresser les données. Nous utiliserons ici la compression de Huffman. Nous présenterons l algorithme d Huffman puis le diagramme UML du b-arbre. Ensuite nous présenterons le diagramme UML de l architecture distribué pour la communication inter programme. Enfin un exemple de la compression d Huffman. 5.1 Compression huffman Arbre représentant un code prefixe Considérons un arbre binaire infini T avec chaque flèche étiqueté 1 pour la flèche de gauche et 0 pour la flèche de droite. On définit le nommage de chaque nœud x de T tel que la concaténation des étiquettes des flèches soit unique de la racine à x. Un code préfixe sera représenté par un unique et finit sous arbre de T qui contient la racine et la feuille représentant l ensemble du mot. Une telle représentation est possible car deux mots ne peuvent avoir le même chemin dans l arbre. Soit A l alphabet. Pour chaque a de A soit f(a) la fréquence d apparition de a. La formulation des fréquences par une valeur positive ne change pas le problème du calcul d un code optimal. Nous adopterons qu une fréquence de symbole nulle ne peut assigné un mot dans un code optimal. arbre binaire complet Un arbre binaire complet est un arbre qui pour chacun de ces nœuds possède exactement deux enfants. Théorème : Tous les codes préfix optimaux correspondent à un arbre binaire complet. La preuve en est que le poids d un code préfixe à un arbre non complet décroît lorsque l on parcourt le chemin d un nœud. Théorème : Chaque code préfix optimal satisfait l inégalité de McMillan. Théorème de MacMillan : Il existe un code décodable unique avec de longueurs l1... lq si et seulement si Σ2ˆ-li <=1 Corollaire : lorsqu il existe un code décodable unique il y a aussi un code préfix de même coût. algorithme L algorithme manipule une foret d arbre binaire complet. Le nombre total de feuilles est n= A et chaque feuille est étiqueté par un symbole distinct de A. Au début il y a n singleton d arbre. L algorithme fond par pair chacun de ces arbres. Cet algorithme se termine lorsqu il n y a plus qu un seul arbre. Pour fondre deux arbres T1 et T2 on introduit un nouveau nœud avec pour fils gauche T1 et fils droit T2.( peu importe s il l arbre T1 ou T2 est à droite ou à gauche). Il faut donc spécifier qu elle paire d arbre doit être fondu à chaque itération. 28

29 La règle de fusion des arbres est la suivante. Chacun des arbres possèdent une fréquence qui est la somme des symboles associés à l arbre. On fusionne les deux plus petit arbres de la foret. Soit a et b les deux symboles de A de plus petite fréquence. Soit A0=(A \ {a, b}) [ {c} ou c est un nouveau symbole avec f(c)=f(a)+f(b) Ensuite on calcul récursivement l arbre représentant un code préfixe optimale pour A0. On modifie cet arbre en ajoutant deux enfants étiqueté a et b à la feuille c. L arbre résultant est un code préfixe optimal pour A. demonstration Soit X l ensemble des arbres de représentation de tous les codes préfixes pour A dans lesquels les symboles a et b sont associés avec les feuilles de même parent. Lemme : L ensemble X contient l arbre de représentation d un code préfixe optimale. Soit Y l ensemble d arbre représentant tous les codes préfixe de A0. Il y a correspondance entre les ensembles X et Y, pour chaque arbre T dans Y soit h(t) l arbre correspondant à X. Lemme : Pour chaque arbre T de Y, le poids de h(t) est égale au poids de T plus f(a) + f(b). Ceci montre que pour chaque arbre T de poids minimum dans Y correspond à un arbre arbre h(t) de poids minimal dans X. Tant qu il restera un code préfixe optimal on poursuit l algorithme. Tous les codes optimaux ne sont pas forcement des codes préfixes. Par exemple sur un alphabet {a,b,c} ayant les même fréquences, deux codes préfixes optimaux( pour la même entrée) peuvent avoir une distribution différente pour un mot. implémentation On utilise une file de priorité supportant les opérations d insertions et de suppression en O(log n). Initialement on insert chacun des n symboles dans la file de priorité. A chaque itération (ou niveau de récursivité) on retire deux entrées de la file de priorité et on en insert une nouvelle. Le coût total est 2n-1 pour l insertion et de O(n log n) pour la suppression. Toutes les autres opérations ont un coût de O(1) par itération et O(n) pour la totalité. En admettant que les feuilles sont fournit par une file trié par fréquences, au fur et à mesure que l algorithme se déroule on peut trouver la plus petite fréquence en O(1). Néanmoins lorsque qu un noeud est crée on l ajoute à une seconde file de nœud (qui ne sont donc pas des feuilles). Cette file est elle aussi trié. La moyenne du nombre de bit utilisé pour encoder chaque symbole est proche de un, la limite inférieure de l entropie. Excepte dans les cas où l entropie est très proche de zéro ceci implique une compression quasi optimal. Néanmoins on doit connaître la probabilité des symboles avant d encoder. 29

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014 Langage C/C++ TD 3-4 : Création dynamique d objets Hubert Godfroy 7 novembre 014 1 Tableaux Question 1 : Écrire une fonction prenant un paramètre n et créant un tableau de taille n (contenant des entiers).

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

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN CHAPITRE 6 Arbres binaires Lycée Kléber MPSI, Option Info 2014/2015 1 Définitions 2 Parcours en largeur Parcours en profondeur Parcours préfixe, infixe, postfixe Reconstitution 3 Recherche Complexité Insertion

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 1 Arbres binaires de recherche 1 Les arbre sont très utilisés en informatique, d une part parce que les informations sont souvent hiérarchisées, et peuvent être représentées naturellement sous

Plus en détail

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données Implantation des SGBD relationnels Université de Nice Sophia-Antipolis Version 3.4 25//06 Richard Grin Plan de cette partie Nous allons étudier (très rapidement!) quelques éléments de solutions utilisés

Plus en détail

Option Informatique Arbres binaires équilibrés

Option Informatique Arbres binaires équilibrés Option Informatique Arbres binaires équilibrés Sujet novembre 2 Partie II : Algorithmique et programmation en CaML Cette partie doit être traitée par les étudiants qui ont utilisé le langage CaML dans

Plus en détail

Arbres binaires de recherche (ABR) Binary Search Trees (BST)

Arbres binaires de recherche (ABR) Binary Search Trees (BST) LSVIII-BIM Algorithmie, 2015 Arbres binaires de recherche (ABR) Binary Search Trees (BST) I. Arbres binaires 1. Structure 2. Parcours II. Arbres binaires de recherche 1. Définition 2. Opérations sur les

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 11 : Arbre couvrant Prétraitement Benjamin Wack 2015-2016 1 / 32 La dernière fois Rappels sur les graphes Problèmes classiques Algorithmes d optimisation

Plus en détail

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr)

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr) Partie 3 Gilles Lebrun (gilles.lebrun@unicaen.fr) Les arbres binaires Définition : C est une structure arborescente ou hiérarchique ou récursive Chaque élément (nœud) constituant la structure de l arbre

Plus en détail

Présentation. Logistique. Introduction

Présentation. Logistique. Introduction Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,

Plus en détail

Systèmes de Fichiers

Systèmes de Fichiers Systèmes de Fichiers Hachage et Arbres B Serge Abiteboul INRIA February 28, 2008 Serge Abiteboul (INRIA) Systèmes de Fichiers February 28, 2008 1 / 26 Systèmes de fichiers et SGBD Introduction Hiérarchie

Plus en détail

Plan. Cours 4 : Méthodes d accès aux données. Architecture système. Objectifs des SGBD (rappel)

Plan. Cours 4 : Méthodes d accès aux données. Architecture système. Objectifs des SGBD (rappel) UPMC - UFR 99 Licence d informatique 205/206 Module 3I009 Cours 4 : Méthodes d accès aux données Plan Fonctions et structure des SGBD Structures physiques Stockage des données Organisation de fichiers

Plus en détail

LA GESTION DE FICHIERS

LA GESTION DE FICHIERS CHAPITRE 6 : LA GESTION DE FICHIERS Objectifs spécifiques Connaître la notion de fichier, ses caractéristiques Connaître la notion de répertoires et partitions Connaître les différentes stratégies d allocation

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

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. 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

Plus en détail

Série d exercices N 9 Arbres

Série d exercices N 9 Arbres Série d exercices N 9 Arbres Exercice 1 a) Ecrire une fonction ARBIN creerarbreentiers() qui permet de créer et de renvoyer l arbre d entiers suivant : b) Ecrire une fonction int feuilles(arbin a) qui

Plus en détail

C12. Les structures arborescentes. Août 2006

C12. Les structures arborescentes. Août 2006 Les structures arborescentes Août 2006 Objectifs du C12 Connaître le principe de la structure d arbre binaire Connaître les détails d implémentation de la structure d arbre binaire de recherche Les structures

Plus en détail

Recherche d information textuelle

Recherche d information textuelle Recherche d information textuelle Pré-traitements & indexation B. Piwowarski CNRS / LIP6 Université Paris 6 benjamin@bpiwowar.net http://www.bpiwowar.net Master IP - 2014-15 Cours et travaux pratiques

Plus en détail

Compression méthode de Huffman

Compression méthode de Huffman Compression méthode de Huffman Thierry Lecroq Université de Rouen FRANCE La méthode de Huffman consiste à remplacer les caractères les plus fréquents par des codes courts et les caractères les moins fréquents

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

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,

Plus en détail

Les arbres Florent Hivert

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

Plus en détail

Algorithmique P2. HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont

Algorithmique P2. HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont Algorithmique P2 HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont Structure de tas - arbre Un tas est une structure de données qui Permet un nouveau type de tri (Tri par tas) Permet l'implémentation

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Introduction a la recherche d information Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département

Plus en détail

Listes et arbres binaires

Listes et arbres binaires Des structures de données dynamiques Listes, Listes ordonnées Arbres binaires, arbre binaires de recherche Listes chaînées Utile si le nombre d éléments n est pas connu à l avance et évolue beaucoup. Permet

Plus en détail

Cours 01 - Les structures de données

Cours 01 - Les structures de données Cours 01 - Les structures de données MPSI - Prytanée National Militaire Pascal Delahaye 1 er mars 2015 Les programmes informatiques, traitent des données, créent des données et renvoient des données. Pour

Plus en détail

Détection et Correction d erreurs

Détection et Correction d erreurs Chapitre 4 Détection et Correction d erreurs 4.1 La couche liaison de données La couche 3 (couche réseau) a pour mission, entre autres, de trouver le meilleur chemin pour acheminer le message. Cette tâche

Plus en détail

Arbres binaires et codage de Huffman

Arbres binaires et codage de Huffman MP Option Informatique Premier TP Caml Jeudi 8 octobre 2009 Arbres baires et codage de Huffman 1 Arbres baires Soit E un ensemble non vide. On défit la notion d arbre baire étiqueté (aux feuilles) par

Plus en détail

Algorithmes de tris. Chapitre 4

Algorithmes de tris. Chapitre 4 Chapitre 4 Algorithmes de tris Trier un ensemble d objets consiste à ordonner ces objets en fonction de clés et d une relation d ordre définie sur cette clé. Par exemple, chaque étudiant inscrit à l université

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2015) Marc Parizeau, Département de génie électrique et de génie informatique Plan Données massives («big data») Architecture Hadoop distribution

Plus en détail

Les structures de données. Rajae El Ouazzani

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

Plus en détail

GUIDE Excel (version intermédiaire) Version 2007 Table des matières

GUIDE Excel (version intermédiaire) Version 2007 Table des matières GUIDE Excel (version intermédiaire) Version 2007 Table des matières 1. Les rubans... 2 2. Recherchez des données... 5 3. Trier et filtrer.... 6 Trier... 6 Filtre... 7 4. Plage... 9 Attribuer un nom...

Plus en détail

ARBRES BINAIRES DE RECHERCHE

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

Plus en détail

Structures de données, IMA S6

Structures de données, IMA S6 Structures de données, IMA S6 Arbres Binaires d après un cours de N. Devésa, Polytech Lille. Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech

Plus en détail

Cours d Algorithmique et Complexité

Cours d Algorithmique et Complexité Cours d Algorithmique et Complexité Structures de données (2e suite) Catalin Dima Arbres binaires de recherche Propriété de base des arbres binaires de recherche Soit x un noeud de l arbre. Alors : 1.

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

Structures de données et algorithmes

Structures de données et algorithmes Structures de données et algorithmes Chapitre 4 Les arbres Nous introduisons dans ce chapitre le TDA : arbres binaires Ce TDA est intéressant pour plusieurs raisons : Les arbres de recherche binaire permettent

Plus en détail

pedigree d'un cheval Zoe ; son père est Tonnerre et sa mère Belle ; mère de Belle est Rose et père de Belle est Eclair jean jean marc paul luc

pedigree d'un cheval Zoe ; son père est Tonnerre et sa mère Belle ; mère de Belle est Rose et père de Belle est Eclair jean jean marc paul luc Chap. 3 Les arbres binaires Un arbre est un ensemble de nœuds, organisés de façon hiérarchique, à partir d'un nœud distingué, appelé racine. La structure d'arbre est l'une des plus importantes et des plus

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

Machines composées de (depuis 1940 env.) : http://cui.unige.ch/isi/cours/std/

Machines composées de (depuis 1940 env.) : http://cui.unige.ch/isi/cours/std/ données pr ogramme 11111101 11001101 01000101 b us disque ma gnétique processeur écran Structures de données et algorithmes Ordinateurs Gilles Falquet, printemps-été 2002 Machines composées de (depuis

Plus en détail

1 Définition. 2 Recherche dans un Arbre-B. 3 Insertion dans un Arbre-B. 4 Suppression dans un Arbre-B. Arbre-B

1 Définition. 2 Recherche dans un Arbre-B. 3 Insertion dans un Arbre-B. 4 Suppression dans un Arbre-B. Arbre-B Déition Recherche Arbre-B Insertion Arbre-B Suppression Arbre-B Déition Recherche Arbre-B Insertion Arbre-B Suppression Arbre-B Plan... Les arbres-b Géraldine Del Mondo, Nicolas Delestre 1 Déition 2 Recherche

Plus en détail

Factorisation des matrices creuses

Factorisation des matrices creuses Chapitre 5 Factorisation des matrices creuses 5.1 Matrices creuses La plupart des codes de simulation numérique en mécanique des fluides ou des structures et en électromagnétisme utilisent des discrétisations

Plus en détail

TS214 - Compression/Décompression d une image binaire

TS214 - Compression/Décompression d une image binaire Filière Télécommunications, 2 ème année TS214 - Compression/Décompression d une image binaire De nombreux télécopieurs utilisent la recommandation T.4 Groupe 3 de l International Telecommunications Union

Plus en détail

1 Partie A : administration d une base de donnée à travers PhpMyAdmin

1 Partie A : administration d une base de donnée à travers PhpMyAdmin Ce TP se compose en 2 sections : une section de prise en main (sur ordinateur) et une section d exercice (sur papier) concernant l algèbre relationnelle. 1 Partie A : administration d une base de donnée

Plus en détail

Théorie des Langages Formels Chapitre 5 : Automates minimaux

Théorie des Langages Formels Chapitre 5 : Automates minimaux Théorie des Langages Formels Chapitre 5 : Automates minimaux Florence Levé Florence.Leve@u-picardie.fr Année 2015-2016 1/29 Introduction Les algorithmes vus précédemment peuvent mener à des automates relativement

Plus en détail

UV Théorie de l Information. Codes à longueur variable

UV Théorie de l Information. Codes à longueur variable Cours n 5 : UV Théorie de l Information Compression de l information : Codage de source sans distorsion Ex 1 : Code de Shannon Fano Ex 2 : Code de Huffman Ex 3 : Codage par plage Ex 4 : Codage de Lempel

Plus en détail

Quelques problèmes NP-complets

Quelques problèmes NP-complets Chapitre 12 Quelques problèmes NP-complets Maintenant que nous connaissons la NP-complétude d au moins un problème (SAT), nous allons montrer qu un très grand nombre de problèmes sont NP-complets. Le livre

Plus en détail

Séance de TD 05 TD05. 1 Exercice 1. 1.1 Question 1 : dessins des ABR avec hauteurs différentes AG51

Séance de TD 05 TD05. 1 Exercice 1. 1.1 Question 1 : dessins des ABR avec hauteurs différentes AG51 Séance de TD 05 1 Exercice 1 1. Dessinez les arbres binaires de recherche de hauteur 2,3,4,5 et 6 pour le même ensemble de clés S = 1,4,5,10,16,17,21. 2. Donnez l algorithme de l opération ArbreRechercher(x,k)

Plus en détail

Réseaux Multimédia 2002 Damien Magoni

Réseaux Multimédia 2002 Damien Magoni Réseaux Multimédia 2002 Damien Magoni Toutes les illustrations 2001 Pearson Education Limited Fred Halsall Contenu Représentation des informations multimédia Numérisation Structure d un encodeur Structure

Plus en détail

Introduction à l Algorithmique

Introduction à l Algorithmique Introduction à l Algorithmique N. Jacon 1 Définition et exemples Un algorithme est une procédure de calcul qui prend en entier une valeur ou un ensemble de valeurs et qui donne en sortie une valeur ou

Plus en détail

Proposition d activité utilisant l application. Tripatouille. (http://www.malgouyres.fr/tripatouille/)

Proposition d activité utilisant l application. Tripatouille. (http://www.malgouyres.fr/tripatouille/) IREM Clermont-Ferrand Algorithmique au lycée Malika More malika.more@u-clermont1.fr 28 janvier 2011 Proposition d activité utilisant l application Tripatouille (http://www.malgouyres.fr/tripatouille/)

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

THÉORIE DE L'INFORMATION : RAPPELS

THÉORIE DE L'INFORMATION : RAPPELS THÉORIE DE L'INFORMATION : RAPPELS 1920 : premières tentatives de définition de mesure de l'information à partir de 1948 : travaux de Shannon Théorie de l'information discipline fondamentale qui s'applique

Plus en détail

alg - Arbres binaires de recherche [br] Algorithmique

alg - Arbres binaires de recherche [br] Algorithmique alg - Arbres binaires de recherche [br] Algorithmique Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 25 avril 2015 Table des matières 1 Définition, Parcours, Représentation

Plus en détail

Usage d un Tableur : Excel/OO

Usage d un Tableur : Excel/OO Usage d un Tableur : Excel/OO Fonctions d un tableur : Organiser et gérer un ensemble d informations mises sous la forme d un tableau. Informations numériques et textuelles Calculs sur ces informations

Plus en détail

Système de Gestion de Base de Données (SGBD) A Introduction

Système de Gestion de Base de Données (SGBD) A Introduction A Introduction - Qu est-ce qu on entend généralement par BASE DE DONNEES? - Petit historique - Vers la structuration des données - Quelques exemple de bases connues (Sécu Sociale, Fichiers d inscription

Plus en détail

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES

PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES PRODUCTION DE JEUX DE DONNÉES ANONYMISÉES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas être considérés

Plus en détail

COMPRESSION/DECOMPRESSION D UNE IMAGE BINAIRE

COMPRESSION/DECOMPRESSION D UNE IMAGE BINAIRE Le 29 novembre 2013, Rapport projet TS114 COMPRESSION/DECOMPRESSION D UNE IMAGE BINAIRE Par Marc BELLINGER et Antoine BINON. 2eme année Télécommunications. 1 Introduction : Le but de ce projet est d implémenter

Plus en détail

L informatique des entrepôts de données

L informatique des entrepôts de données L informatique des entrepôts de données Daniel Lemire SEMAINE 4 Les techniques d indexation 4.1. Présentation de la semaine Les entrepôts de données utilisent plusieurs techniques d indexation. Nous avons

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

Formats d images. 1 Introduction

Formats d images. 1 Introduction Formats d images 1 Introduction Lorsque nous utilisons un ordinateur ou un smartphone l écran constitue un élément principal de l interaction avec la machine. Les images sont donc au cœur de l utilisation

Plus en détail

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000

INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 INITIATION AU SYSTEME D EXPLOITATION WINDOWS 2000 Introduction : Initiation à la Micro- Informatique 1. Matériel 2. Périphériques a) Le clavier b) La souris c) L écran d) L unité centrale e) L imprimante

Plus en détail

Cours 6 : Principes de la représentation des nombres en

Cours 6 : Principes de la représentation des nombres en Cours 6 : Principes de la représentation des nombres en mémoire 2013/2014 Introduction Représentation des données en mémoire naturels signés Nous décrivons les principes de la représentation des nombres

Plus en détail

Arbres binaires de recherche et arbres rouge noir

Arbres binaires de recherche et arbres rouge noir Institut Galilée lgo, rbres, Graphes I nnée 006-007 License rbres binaires de recherche et arbres rouge noir Rappels de cours et correction du TD rbres binaires de recherche : définitions Un arbre binaire

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 6 Arbres binaires de recherche 6.1 Introduction On a étudié le problème de la recherche dans une collection d éléments ordonnés entre eux : on a montré que Pour une liste contiguë, la recherche

Plus en détail

Travaux pratiques de traitement d images

Travaux pratiques de traitement d images Travaux pratiques de traitement d images EI3 année 2009-2010 TP n 1 : Segmentation d images en régions p. 3 TP n 2 : Reconnaissance des formes p. 15 Vandenbroucke Nicolas R11 TP n 1 Segmentation d images

Plus en détail

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé MIE - E ANNÉE ALGORITHMIQUE GÉNÉRALE Vincent Mousseau EXAMEN FINAL Février 006 - heures Aucun document autorisé Exercice : On s intéresse à la gestion informatique des réservations sur l année d une salle

Plus en détail

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée.

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée. A 2015 INFO. MP École des Ponts ParisTech, SUPAERO (ISAE), ENSTA ParisTech, Télécom ParisTech, Mines ParisTech, Mines de Saint-étienne, Mines Nancy, Télécom Bretagne, ENSAE ParisTech (filière MP), École

Plus en détail

Introduction: Arbres de recherche + Rappel: Arbres binaires de recherche

Introduction: Arbres de recherche + Rappel: Arbres binaires de recherche Introduction: Arbres de recherche + Rappel: Arbres binaires de recherche Dictionnaires ordonnés: Opérations principales: trouver(k): find(k): Si le dictionnaire a une entrée de clé k, retourne la valeur

Plus en détail

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures)

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures) L2 - lgorithmique et structures de données (nnée 2010/2011) Delacourt, Phan Luong, Poupet xamen (2 heures) Les documents (cours, TD, TP) sont autorisés. Les quatre exercices sont indépendants. À la fin

Plus en détail

OrdoNet, un outil de modélisation et d analyse des graphes potentiel-tâche sous Matlab

OrdoNet, un outil de modélisation et d analyse des graphes potentiel-tâche sous Matlab OrdoNet, un outil de modélisation et d analyse des graphes potentiel-tâche sous Matlab Bruno Sareni, Gérard Fontan,, Elodie Chanthery, Stéphane Caux {Gerard.Fontan, Bruno.Sareni, Stephane.Caux}@enseeiht.fr

Plus en détail

1 Recherche en table par balayage

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

Plus en détail

Arbres Binaire. PSI DAKHLA Prof Youssef El marzak. 1 Prof Youssef Elmarzak

Arbres Binaire. PSI DAKHLA Prof Youssef El marzak. 1 Prof Youssef Elmarzak Arbres Binaire PSI DAKHLA Prof Youssef El marzak 1 Prof Youssef Elmarzak 1.introduction: Les arbre sont très utilisées en informatique, d une part parce que les informations sont souvent hiérarchisées,

Plus en détail

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche Université Paris Diderot Paris L Informatique Algorithmique Année 00-0, er semestre TD n Arbres Binaire de Recherche Le type de donné arbre" sera utilisé pour indiquer l ensemble de toutes les Arbres Binaires

Plus en détail

L enseignement de l algorithmique au Lycée

L enseignement de l algorithmique au Lycée L enseignement de l algorithmique au Lycée Sisteron 12 novembre 2009 Fernand Didier didier@irem.univ-mrs.fr Approche naïve C est une méthode, une façon systématique de procéder, pour faire quelque chose

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2014) Marc Parizeau, Département de génie électrique et de génie informatique Plan Mégadonnées («big data») Architecture Hadoop distribution

Plus en détail

SEANCE 2 : REQUETES DE SELECTION & FORMULAIRES DE CONSULTATION

SEANCE 2 : REQUETES DE SELECTION & FORMULAIRES DE CONSULTATION SEANCE 2 : REQUETES DE SELECTION & FORMULAIRES DE CONSULTATION Année universitaire 20015-2016 Masters Économie Société - Finances Informatique appliquée SGBD Pierre-Henri GOUTTE La requête de sélection

Plus en détail

Plan. Arbres équilibrés Arbres AVL Arbres a-b Quelques compléments de Java. Amphi 9 1

Plan. Arbres équilibrés Arbres AVL Arbres a-b Quelques compléments de Java. Amphi 9 1 Plan Arbres équilibrés Arbres AVL Arbres a-b Quelques compléments de Java Amphi 9 1 Structures d'arbre Les structures d'arbre permettent de réaliser des opérations dynamiques, telles que recherche, prédécesseur,

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

Arbres bien équilibrés

Arbres bien équilibrés Arbres bien équilibrés ENSIIE : Programmation avancée 1/24 Recherche par dichotomie on aimerait avoir des opérations de recherche, d insertion et de suppression efficaces en moyenne et dans le pire des

Plus en détail

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples Arbres Alphabet Σ = Σ 0 Σ k Σ i : alphabet fini de symboles de rang i (Σ i Σ j possible). Un arbre t de rang k est défini par un ensemble (fini) dom(t) {1,..., k} clos par préfixe (domaine de t) : si v,

Plus en détail

Les typologies d information que le moteur est en mesure de rechercher sont :

Les typologies d information que le moteur est en mesure de rechercher sont : AIDE SUR LA BIBLIOTHEQUE VIRTUELLE Le système de recherche de la bibliothèque virtuelle permet l accès rapide aux informations qui intéressent les étudiants et qui sont disponibles dans le cyberespace

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

L INFORMATION GEOGRAPHIQUE

L INFORMATION GEOGRAPHIQUE Champs sur Marne ENSG/CERSIG Le 19-nove.-02 L INFORMATION GEOGRAPHIQUE Archivage Le Système d information géographique rassemble de l information afin de permettre son utilisation dans des applications

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Exercice 1 : Questions diverses (5 points)

Exercice 1 : Questions diverses (5 points) Université Claude Bernard Lyon 1 Licence Sciences, Technologies, Santé L2 Année 2010-2011, 2ème semestre LIF5 Algorithmique & Programmation procédurale Contrôle final du 20 juin 2011 Durée : 1h30 Note

Plus en détail

Programmation avancée

Programmation avancée Programmation avancée Chapitre 1 : Complexité et les ABR (arbres binaires de recherche) 1 1 IFSIC Université de Rennes-1 M2Crypto, octobre 2011 Plan du cours 1 2 3 4 5 6 7 8 9 10 Algorithmes Définition

Plus en détail

ASSEMBLAGE ET ÉDITION DES LIENS

ASSEMBLAGE ET ÉDITION DES LIENS ASSEMBLAGE ET ÉDITION DES LIENS Mewtow 11 novembre 2015 Table des matières 1 Introduction 5 2 La chaine d assemblage 7 2.1 Résolution des symboles.............................. 7 2.2 Relocation.....................................

Plus en détail

Corrigé des exercices

Corrigé des exercices hapitre 1 option informatique orrigé des eercices Arbres binaires Eercice 1 La première solution qui vient à l esprit est sans doute celle-ci : let rec profondeur p = function Nil > [] a when p = 0 > [a]

Plus en détail

Plan. Bases de données. Cours 3 : Indexation. Opérations sur les fichiers. Le fichier comme abstraction du support physique. Polytech Paris-Sud

Plan. Bases de données. Cours 3 : Indexation. Opérations sur les fichiers. Le fichier comme abstraction du support physique. Polytech Paris-Sud Plan Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 3 : Indexation kn@lri.fr http://www.lri.fr/~kn 3.1 Introduction 3.2 Types d'indexes 3.3 Structures de données pour les indexes 3.4 Hash-index

Plus en détail

Introduction aux SGBDR

Introduction aux SGBDR 1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux

Plus en détail

Démonstrations. Chapitre 4. 4.1 Introduction

Démonstrations. Chapitre 4. 4.1 Introduction Chapitre 4 Démonstrations L objectif de ce chapitre est de commencer à aborder la question fondamentale suivante : qu est-ce qu une démonstration? Pour cela, plus précisément, on va se focaliser dans ce

Plus en détail

À propos des matrices échelonnées

À propos des matrices échelonnées À propos des matrices échelonnées Antoine Ducros appendice au cours de Géométrie affine et euclidienne dispensé à l Université Paris 6 Année universitaire 2011-2012 Introduction Soit k un corps, soit E

Plus en détail

Objectifs du cours d aujourd hui. Informatique I : Cours d introduction à l informatique et à la programmation Structures de Données Abstraites & Tris

Objectifs du cours d aujourd hui. Informatique I : Cours d introduction à l informatique et à la programmation Structures de Données Abstraites & Tris Objectifs du cours d aujourd hui Informatique I : Cours d introduction à l informatique et à la programmation Structures de Données Abstraites & Tris Continuer l approfondissement de la programmation de

Plus en détail

OBJECTIFS DE CE GUIDE... 5 QU EST-CE QU UN DOCUMENT ACCESSIBLE... 5 LA STRUCTURE D UN DOCUMENT... 6 LES TITRES ET LES SOUS-TITRES...

OBJECTIFS DE CE GUIDE... 5 QU EST-CE QU UN DOCUMENT ACCESSIBLE... 5 LA STRUCTURE D UN DOCUMENT... 6 LES TITRES ET LES SOUS-TITRES... Diffusion de l information dans Internet Guide de création de documents Word accessibles 5 novembre 2009 OBJECTIFS DE CE GUIDE... 5 QU EST-CE QU UN DOCUMENT ACCESSIBLE... 5 LA STRUCTURE D UN DOCUMENT...

Plus en détail

données en connaissance et en actions?

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)

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail