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

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

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

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

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

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

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

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

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

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

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

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

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

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

chapitre 4 Nombres de Catalan

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

Plus en détail

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

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

Plus en détail

Quelques Algorithmes simples

Quelques Algorithmes simples Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été

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

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

Utiliser un tableau de données

Utiliser un tableau de données Utiliser un tableau de données OBJECTIFS : - Définir une Base de Données. - Présentation : tableau de données. - Création d un tableau de données - Gestion d un tableau de données. - Trier et Filtrer des

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues 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

Plus en détail

Image d un intervalle par une fonction continue

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

Plus en détail

GUIDE Excel (version débutante) Version 2013

GUIDE Excel (version débutante) Version 2013 Table des matières GUIDE Excel (version débutante) Version 2013 1. Créer un nouveau document Excel... 3 2. Modifier un document Excel... 3 3. La fenêtre Excel... 4 4. Les rubans... 4 5. Saisir du texte

Plus en détail

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

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

Plus en détail

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

Algorithme. Table des matières

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

Plus en détail

1 Introduction au codage

1 Introduction au codage CélestineOscarDésiréAnatoleGastonEugène 1 Introduction au codage 1.1 Les ensembles L ensemble de tout les ensembles est Dieu lui-même. Kantor Ensemble des parties d un ensemble désigne l ensemble des sous-ensembles

Plus en détail

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1 Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1 Table des matières 1. Accéder au gestionnaire de notes... 3 2. Sélectionner une classe... 4 3. Première

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

Représentation des Nombres

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

Plus en détail

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

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

Plus en détail

www.netexplorer.fr contact@netexplorer.fr

www.netexplorer.fr contact@netexplorer.fr www.netexplorer.fr 05 61 61 20 10 contact@netexplorer.fr Sommaire Sécurité applicative... 3 Authentification... 3 Chiffrement... 4 Traçabilité... 4 Audits... 5 Sécurité infrastructure... 6 Datacenters...

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

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

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ; RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines

Plus en détail

Chapitre 2 Le problème de l unicité des solutions

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)

Plus en détail

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

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

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

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

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Chapitre 7. Récurrences

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

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

Débuter avec Excel. Excel 2007-2010

Débuter avec Excel. Excel 2007-2010 Débuter avec Excel Excel 2007-2010 Fabienne ROUX Conseils & Formation 10/04/2010 TABLE DES MATIÈRES LE RUBAN 4 LE CLASSEUR 4 RENOMMER LES FEUILLES DU CLASSEUR 4 SUPPRIMER DES FEUILLES D UN CLASSEUR 4 AJOUTER

Plus en détail

Intégration et probabilités TD1 Espaces mesurés Corrigé

Intégration et probabilités TD1 Espaces mesurés Corrigé Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.

Plus en détail

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

Plus en détail

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

TP 2 Réseaux. Adresses IP, routage et sous-réseaux TP 2 Réseaux Adresses IP, routage et sous-réseaux C. Pain-Barre INFO - IUT Aix-en-Provence version du 24/2/2 Adressage IP. Limites du nombre d adresses IP.. Adresses de réseaux valides Les adresses IP

Plus en détail

ISO/CEI 11172-3 NORME INTERNATIONALE

ISO/CEI 11172-3 NORME INTERNATIONALE NORME INTERNATIONALE ISO/CEI 11172-3 Première édition 1993-08-01 Technologies de l information - Codage de l image animée et du son associé pour les supports de stockage numérique jusqu à environ Ii5 Mbit/s

Plus en détail

Concevoir et déployer un data warehouse

Concevoir et déployer un data warehouse Concevoir et déployer un data warehouse Ralph Kimball Éditions Eyrolles ISBN : 2-212-09165-6 2000 2 Le cycle de vie dimensionnel Avant d étudier de plus près les spécificités de la conception, du développement

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université

Plus en détail

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

# 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

Plus en détail

La présente publication est protégée par les droits d auteur. Tous droits réservés.

La présente publication est protégée par les droits d auteur. Tous droits réservés. Editeur (Medieninhaber/Verleger) : Markus Winand Maderspergerstasse 1-3/9/11 1160 Wien AUSTRIA Copyright 2013 Markus Winand La présente publication est protégée par les droits d auteur.

Plus en détail

La voie rapide vers le cpdm

La voie rapide vers le cpdm teamcenter express brochure FR W33.qxd:tc express brochure FR A4 12.07.09 23:53 Page 1 Teamcenter Express La voie rapide vers le cpdm Siemens PLM Software www.siemens.com/velocity Les PME font face à des

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Chapitre 1 Qu est-ce qu une expression régulière?

Chapitre 1 Qu est-ce qu une expression régulière? Chapitre 1 Qu est-ce qu une expression régulière? Les ordinateurs n ont pas du tout la même conception des textes que nous : pour nous, un texte est un ensemble d idées couchées sur papier. Nous nous en

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Excel 2007 Niveau 3 Page 1 www.admexcel.com

Excel 2007 Niveau 3 Page 1 www.admexcel.com Excel 2007 Niveau 3 Page 1 TABLE DES MATIERES UTILISATION DE LISTES DE DONNEES... 4 REMARQUES PREALABLES SUR LES LISTES DE DONNEES... 4 METTRE EN FORME LE TABLEAU... 6 METTRE LA LISTE A JOUR... 7 a/ Directement

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

Architecture des Systèmes d Information Architecture des Systèmes d Information

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

Plus en détail

La classification automatique de données quantitatives

La classification automatique de données quantitatives La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations

Plus en détail

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES BASE DE DONNEES La plupart des entreprises possèdent des bases de données informatiques contenant des informations essentielles à leur fonctionnement. Ces informations concernent ses clients, ses produits,

Plus en détail

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS Sauvegarde collaborative entre pairs 1 Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS Sauvegarde collaborative entre pairs 2 Introduction Pourquoi pair à pair? Utilisation de ressources

Plus en détail

Les nouveautés de Femap 11.1

Les nouveautés de Femap 11.1 Siemens PLM Software Les nouveautés de Femap 11.1 Amélioration de la productivité des Ingénieurs calcul Avantages Manipulation plus rapide des modèles grâce à des performances graphiques améliorées Flexibilité

Plus en détail

et les Systèmes Multidimensionnels

et les Systèmes Multidimensionnels Le Data Warehouse et les Systèmes Multidimensionnels 1 1. Définition d un Datawarehouse (DW) Le Datawarehouse est une collection de données orientées sujet, intégrées, non volatiles et historisées, organisées

Plus en détail

Plan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation

Plan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation Complex Event Processing Traitement de flux de données en temps réel Romain Colle R&D Project Manager Quartet FS Plan Génération et exploitation de données CEP et applications Flux de données et notifications

Plus en détail

Organiser le disque dur Dossiers Fichiers

Organiser le disque dur Dossiers Fichiers Ce document contient des éléments empruntés aux pages d aide de Microsoft Organiser le disque dur Dossiers Fichiers Généralités La connaissance de la logique d organisation des données sur le disque dur

Plus en détail

Traitement des données avec Microsoft EXCEL 2010

Traitement des données avec Microsoft EXCEL 2010 Traitement des données avec Microsoft EXCEL 2010 Vincent Jalby Septembre 2012 1 Saisie des données Les données collectées sont saisies dans une feuille Excel. Chaque ligne correspond à une observation

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

SUPPORT DE COURS ACCESS 2010

SUPPORT DE COURS ACCESS 2010 Qu est-ce qu Access? Access 2010 est un outil de déploiement et de conception d application de base de données que vous pouvez utiliser pour effectuer le suivi d informations importantes. Vous pouvez conserver

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

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

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

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Entrepôt de données 1. Introduction

Entrepôt de données 1. Introduction Entrepôt de données 1 (data warehouse) Introduction 1 Présentation Le concept d entrepôt de données a été formalisé pour la première fois en 1990 par Bill Inmon. Il s agissait de constituer une base de

Plus en détail

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr Excel avancé Frédéric Gava (MCF) gava@univ-paris12.fr 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

Plus en détail

V- Manipulations de nombres en binaire

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,

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Le langage SQL Rappels

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,

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

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

Plus en détail

Recherche d Information(RI): Fondements et illustration avec Apache Lucene. par Majirus Fansi @majirus

Recherche d Information(RI): Fondements et illustration avec Apache Lucene. par Majirus Fansi @majirus 1 Recherche d Information(RI): Fondements et illustration avec Apache Lucene par Majirus Fansi @majirus Résumé Fondements de la Recherche d Information (RI) Noyau de toute application de RI Éléments à

Plus en détail

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes

Plus en détail

Calc 2 Avancé. OpenOffice.org. Guide de formation avec exercices et cas pratiques. Philippe Moreau

Calc 2 Avancé. OpenOffice.org. Guide de formation avec exercices et cas pratiques. Philippe Moreau OpenOffice.org Calc 2 Avancé Guide de formation avec exercices et cas pratiques Philippe Moreau Tsoft et Groupe Eyrolles, 2007, ISBN : 2-212-12036-2, ISBN 13 : 978-2-212-12036-3 4 - Plages de données 4

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET Brancher / débrancher l ordinateur de la prise Allumer / éteindre l ordinateur : pour allumer ou éteindre l ordinateur vous devez appuyer sur le bouton On/off

Plus en détail

Comment utiliser FileMaker Pro avec Microsoft Office

Comment utiliser FileMaker Pro avec Microsoft Office Guide d utilisation Comment utiliser FileMaker Pro avec Microsoft Office Comment utiliser FileMaker Pro et Microsoft Office page 1 Table des matières Introduction... 3 Avant de commencer... 4 Partage de

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Prise en main rapide utilisateur

Prise en main rapide utilisateur Prise en main rapide utilisateur De base notre CRM propose les fonctionnalités suivantes : 1 > Un Accueil personnalisable avec de nombreux Widget permettant une vue globale de vos activités dès l ouverture

Plus en détail

Sécuristation du Cloud

Sécuristation du Cloud Schémas de recherche sur données chiffrées avancés Laboratoire de Cryptologie Thales Communications & Security 9 Avril 215 9/4/215 1 / 75 Contexte Introduction Contexte Objectif Applications Aujourd hui

Plus en détail

Une ergonomie intuitive

Une ergonomie intuitive Une ergonomie intuitive Les solutions de la ligne PME offrent une interface de travail proche des usages quotidiens en informatique. Leur ergonomie intuitive facilite la prise en main du logiciel. Une

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX TABLE DES MATIERES Livret Utilisateur Excel 2007 Niveau 2 INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX... 4 Les tableaux croisés dynamiques... 4 Création d un tableau croisé... 5 Comparer des

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

Pascal Weber - Expert en organisation http://www.ameliorationcontinue.fr

Pascal Weber - Expert en organisation http://www.ameliorationcontinue.fr Livre de formation offert par Pascal Weber - Expert en organisation http://www.ameliorationcontinue.fr http://twitter.com/ameliorcontinue Le simple fait de posséder ce livre vous donne le droit de l'offrir

Plus en détail

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version 1.0 30/11/05

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version 1.0 30/11/05 EXCEL PERFECTIONNEMENT Version 1.0 30/11/05 SERVICE INFORMATIQUE TABLE DES MATIERES 1RAPPELS...3 1.1RACCOURCIS CLAVIER & SOURIS... 3 1.2NAVIGUER DANS UNE FEUILLE ET UN CLASSEUR... 3 1.3PERSONNALISER LA

Plus en détail

Objets Combinatoires élementaires

Objets Combinatoires élementaires Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci http://liris.cnrs.fr/hamamache.kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de

Plus en détail

Introduction à la théorie des graphes. Solutions des exercices

Introduction à la théorie des graphes. Solutions des exercices CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti

Plus en détail

Initiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr

Initiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr Initiation à Excel Frédéric Gava (MCF) gava@univ-paris12.fr 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 Plan de cette année

Plus en détail

EXCEL TUTORIEL 2012/2013

EXCEL TUTORIEL 2012/2013 EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi

Plus en détail