Résolution de problèmes par l'exploration
|
|
- Laurent Doucet
- il y a 7 ans
- Total affichages :
Transcription
1 Résolution de problèmes par l'exploration Jérôme Champavère lifl.fr
2 Exemples de problèmes Jeu d'échecs Recherche parmi un ensemble de déplacements Trouver un déplacement qui améliore le positionnement Itinéraire Recherche parmi un ensemble de chemins Trouver un chemin qui minimise la distance à parcourir Preuve de théorème Recherche parmi un ensemble d'étapes de raisonnement Trouver un raisonnement qui permet de prouver le théorème
3 Terminologie État : description du monde relativement au problème considéré Espace des états (ou espace de recherche) : ensemble de tous les états possibles Action : opération permettant de changer d'état Chemin : séquence d'états reliés par des actions Exploration : processus de calcul qui consiste à déterminer une séquence d'actions permettant d'atteindre une solution Stratégie : choix de la prochaine action à entreprendre dans le processus d'exploration
4 Résolution de problèmes
5 Itinéraire Problème : aller de Lyon à Bordeaux
6 Itinéraire États : être dans une ville But à atteindre : être à Bordeaux Action possible : se déplacer de ville en ville en suivant les routes existantes Solution : une séquence de villes-étapes qui mènent à Bordeaux en partant de Lyon
7 Résoudre un problème Formuler le problème : décider des états et des actions à considérer étant donné un but Explorer l'espace de recherche : déterminer une séquence d'actions qui permet d'atteindre le but
8 Bien formuler Problème : l'échiquier écorné
9 Définition d'un problème État initial : ÊtreÀ(Lyon) Description des actions possibles avec une ensemble d'opérateurs pouvant être appliqués à un état pour générer des successeurs Nord(ÊtreÀ(Lyon)) = ÊtreÀ(Dijon) SudEst(ÊtreÀ(Lyon)) = ÊtreÀ(Grenoble) Sud(ÊtreÀ(Lyon)) = ÊtreÀ(Marseille) SudOuest(ÊtreÀ(Lyon)) = ÊtreÀ(Montpellier) Ouest(ÊtreÀ(Lyon)) = ÊtreÀ(Clermont-Ferrand) Test de but qui détermine si le but est atteint : ÊtreÀ(Bordeaux) Fonction de coût de chemin qui assigne un valeur numérique (non négative) à chaque chemin selon les actions réalisées, correspondant à la somme des coûts des actions individuelles le long du chemin, appelés coûts d'étape
10 Solution d'un problème Chemin qui part de l'état initial pour mener à un état final correspondant au but [ÊtreÀ(Lyon) ; ÊtreÀ(Clermont-Ferrand) ; ÊtreÀ(Limoges) ; ÊtreÀ(Bordeaux)] [ÊtreÀ(Lyon) ; ÊtreÀ(Montpellier) ; ÊtreÀ(Toulouse) ; ÊtreÀ(Bordeaux)] Solution optimale : celle qui a le coût de chemin minimal parmi toutes les solutions
11 Niveau d'abstraction Supprimer des détails de la représentation On laisse tomber le paysage, la météo, la radio, On conserve le minimum nécessaire pour la résolution du problème d'aller de Lyon à Bordeaux Abstraire également les actions Abstraction valide si on peut projeter la solution dans le monde réel, utile si elle simplifie la réalisation des actions de la solution
12 Environnement de résolution Statique : la formulation et la résolution du problème ne tiennent pas compte de modifications susceptibles de survenir dans l'environnement Observable : l'état initial et l'effet de toutes les actions sont connus Discret : il est possible d'énumérer les actions alternatives étant donné un état Déterministe : les solutions aux problèmes se présentent sous la forme de séquences uniques d'actions
13 Exemples de problèmes Problèmes jouets et problèmes du monde réel
14 Jeu de taquin à 8 pièces Configuration initiale Configuration finale
15 Jeu de taquin à 8 pièces État : emplacement des huit pièces et de la case vide État initial : n'importe quel état Actions : déplacement de la case vide (haut, bas, gauche, droite) But : l'état correspond à la configuration finale Coût du chemin : chaque action coûte 1, donc nombre d'étapes qui composent le chemin Abstraction : on ne représente pas les détails relatifs aux manipulations physiques
16 Les 8 dames Disposition inappropriée Solution
17 Les 8 dames Formulation incrémentale État : toute disposition de 0 à 8 dames sur l'échiquier État initial : pas de dame sur l'échiquier Action : poser une dame sur l'une des cases vides But : huit dames sur l'échiquier et aucune menacée Optimisation État : disposition de n dames (0 n 8), une par colonne à partir de la gauche des n colonnes occupées, sans qu'aucune dame n'en menace une autre Action : poser une dame sur une case appartenant à la colonne la plus à gauche sans que celle-ci ne soit menacée Formulation complète : 8 dames sur l'échiquier et déplacement de celles-ci
18 Problèmes du monde réel Recherche d'un trajet Routage dans les réseaux informatiques Systèmes de synchronisation dans les transports en commun Navigation d'un robot Itinéraires touristiques Voyageur de commerce Agencement de VLSI Ordonnancement automatique de l'assemblage d'objets complexes Conception de protéines de synthèse Recherches Internet
19 Recherche de solutions Arbre de recherche
20 Arbre de recherche Lyon Dijon Grenoble Marseille Montpellier Clermont Strasbourg Lyon Paris
21 Arbre de recherche Lyon Dijon Grenoble Marseille Montpellier Clermont Strasbourg Lyon Paris
22 Arbre de recherche Lyon Dijon Grenoble Marseille Montpellier Clermont Strasbourg Lyon Paris
23 Arbre de recherche Racine de l'arbre : nœud de recherche correspondant à l'état initial Développer l'état courant en appliquant toutes les actions possibles : génère un nouvel ensemble d'états Stratégie d'exploration pour choisir l'état à développer Distinction arbre de recherche / espace des états
24 Nœud de recherche Structure de données État : l'état de l'espace des états auquel le nœud correspond Nœud parent : le nœud de l'arbre de recherche qui a généré ce nœud Action : l'action qui a été appliquée au parent pour générer le nœud Coût du chemin : le coût g(n) du chemin depuis l'état initial jusqu'au nœud Profondeur : le nombre d'étapes que compte le chemin depuis l'état initial Distinction nœud / état Frontière : collection des nœuds feuilles générés mais non encore développés
25 Nœud de recherche Nœud parent ÊtreÀ(Dijon) État Nœud Action = Nord Profondeur = 1 Coût de chemin = 194
26 Notion de frontière Lyon Dijon Grenoble Marseille Montpellier Clermont Strasbourg Lyon Paris
27 Algorithme général d'exploration Entrées : un problème et une stratégie Sortie : une solution, ou échec initialiser l'arbre de recherche avec l'état initial du problème itérer si il n'y a pas de candidat à développer alors retourner échec choisir un nœud à développer en appliquant la stratégie si le nœud contient un état final alors retourner la solution qui correspond sinon développer le nœud ajouter les nœuds du résultat dans l'arbre de recherche
28 Mesure de performance Complétude : est-ce que l'algorithme garantit d'obtenir une solution lorsqu'il en existe une? Optimalité : est-ce que la stratégie trouve la solution optimale? Complexité en temps : quelle est la durée pour l'obtention d'une solution? Complexité en espace : de combien de mémoire faut-il disposer pour effectuer l'exploration?
29 Complexité Quantités à prendre en compte b : facteur de branchement (nombre maximal de successeurs d'un nœud donné) d : profondeur du nœud but le moins éloigné m : longueur maximale d'un chemin dans l'espace des états (possiblement infinie) Temps exprimé par rapport au nombre de nœuds générés pendant l'exploration Espace : nombre maximal de nœuds conservés en mémoire
30 Stratégies d'exploration Choix d'un ordre pour développer les nœuds Exploration non informée (ou aveugle) Pas d'information sur les états Générer des successeurs et distinguer état final / non final Exploration informée (ou heuristique) Déterminer si un état non final est «plus prometteur» qu'un autre
31 Stratégies d'exploration non informée
32 Stratégies d'exploration non informée Exploration en largeur d'abord Exploration à coût uniforme Exploration en profondeur d'abord Exploration en profondeur limitée Exploration itérative en profondeur Exploration bidirectionnelle
33 Exploration en largeur d'abord Développement de tous les nœuds au niveau n avant ceux du niveau n+1 Frontière implémentée par une file FIFO (firstin-first-out)
34 Exploration en largeur d'abord A A B C B C D E F G D E F G A A B C B C D E F G D E F G
35 Exploration en largeur d'abord Complétude : oui (si b est fini) Optimalité : pas nécessairement Complexité en temps et en espace : O(b d ) Profondeur Nœuds Temps Mémoire 8 10⁹ 31 heures 1 téraoctet 12 10¹³ 35 ans 10 pétaoctets
36 Exploration à coût uniforme Développement du nœud qui a le coût de chemin le plus faible File triée par coût croissant Équivalent à l'exploration en largeur d'abord si tous les coûts d'étape sont égaux
37 Exploration à coût uniforme A 1 10 S 5 B 5 G 15 5 C
38 Exploration à coût uniforme S A B C G S,0 1 A,1 G,11 2 B,5 G, C,15 Contenu de la file [(S,0)] Étape Développe (S,0) # nœuds développés [(A,1);(B,5);(C,15)] Développe (A,1) 1 [(B,5);(G,11);(C,15)] Développe (B,5) 2 [(G,10);(G,11);(C,15)] 3 Développe (G,10) Ø 4
39 Exploration à coût uniforme Complétude : oui, si le coût de chaque étape est à une constante positive ε Optimalité : oui, car les nœuds sont développés dans l'ordre du coût croissant de leur chemin Complexité en temps et en espace : O b C */ (où C* est le coût de la solution optimale)
40 Exploration en profondeur d'abord Développement du nœud le plus profond de la frontière de l'arbre de recherche Frontière implémentée par une pile (ou file) LIFO (last-in-first-out) Alternative : fonction récursive
41 Exploration en profondeur d'abord A A B C B C D E F G D E F G A A B C B C D E F G D E F G
42 Exploration en profondeur d'abord Complétude : non (chemin possiblement infini) Optimalité : non Complexité en espace O(bm) O(m) avec backtracking Complexité en temps : O(b m )
43 Exploration en profondeur limitée Limite de profondeur l Nœuds à la profondeur l non développés Résout le problème du chemin infini Équivalent à profondeur d'abord si l =
44 function DLS(problème,limite) nœud CRÉÉR-NŒUD-ÉTAT-INITIAL(problème) return DLS-REC(nœud,problème,limite) function DLS-REC(nœud,problème,limite) interruption_survenue false if TEST-ÉTAT-FINAL(problème,ÉTAT(nœud)) then return SOLUTION(nœud) else if PROFONDEUR(nœud) = limite then return interruption else foreach successeur in DÉVELOPPER(nœud,problème) do résultat DLS-REC(successeur,problème,limite) if résultat = interruption then interruption_survenue true else if résultat échec then return résultat if interruption_survenue else return interruption else return échec
45 Exploration en profondeur limitée Complétude : non (cas l < d) Optimalité : non Complexité en espace : O(bl) Complexité en temps : O(b l )
46 Exploration itérative en profondeur Variante itérative de l'exploration en profondeur limitée Augmentation graduelle de la limite jusqu'à atteindre un nœud but Nœud but atteint lorsque la profondeur limite vaut d (profondeur du nœud but le moins profond)
47 Exploration itérative en profondeur Limite = 0 A A Limite = 1 A A A A B C B C B C B C Limite = 2 A A A A B C B C B C B C D E F G D E F G D E F G D E F G
48 Exploration itérative en profondeur function IDS(problème) for profondeur = 0 to do résultat DLS(problème,profondeur) if résultat interruption then return résultat
49 Exploration itérative en profondeur Complétude : oui (si b est fini) Optimalité : oui (si toutes les étapes ont le même coût) Complexité en espace : O(bd) Complexité en temps : O(b d) Nombre de nœuds générés par IDS (b=10 et d=5) : = Nombre de nœuds générés par largeur d'abord : =
50 Exploration bidirectionnelle Exécution de deux explorations simultanées En aval depuis l'état initial En amont à partir du but Arrêt lorsque les deux explorations se rencontrent au milieu S G
51 Exploration bidirectionnelle S G
52 Exploration bidirectionnelle Complétude et optimalité : oui pour des coûts d'étapes uniformes et si les deux explorations sont en largeur d'abord Complexité en temps et en espace : O(b d/2) Nombre de nœuds générés pour d=6 et b=10 Exploration bidirectionnelle : Exploration en largeur standard :
53 Comparaison des stratégies d'exploration non informée Critère Largeur d'abord Coût uniforme Profondeur d'abord Profondeur limitée Itérative en profondeur Bidirectionnelle (si applicable) Complète oui1 oui1,2 non non oui1 oui1,4 Temps O(bd) O b C * / O(bm) O(bl) O(bd) O(bd/2) Espace O(bd) O b C * / O(bm) O(bl) O(bd) O(bd/2) Optimale oui3 oui non non oui3 oui3,4 b : facteur de branchement d : profondeur de la solution la moins profonde m : profondeur maximale de l'arbre de recherche l : profondeur limite ¹ si b est fini ² si les coûts des étapes sont ε avec ε positif ³ si les coûts d'étapes sont tous identiques ⁴ si les deux directions utilisent un exploration en largeur d'abord
54 Éviter les répétitions d'états
55 Répétition d'états Possibilité de perdre du temps à développer des états déjà rencontrés et développés Parfois inévitable (actions réversibles) Grille rectangulaire : chaque état a 4 successeurs L'arbre de recherche a 4 d feuilles, états répétés compris Pour un état donné, 2d 2 états distincts en d étapes Pour d=20, 10 9 nœuds mais seulement 800 états distincts!
56 Algorithme d'exploration en graphe function GRAPH-SEARCH(problème) nœuds_fermés Ø nœuds_ouverts {CRÉÉR-NŒUD-ÉTAT-INITIAL(problème)} loop if VIDE(nœuds_ouverts) then return échec nœud CHOISIR(nœuds_ouverts) if TEST-ÉTAT-FINAL(problème,ÉTAT(nœud)) then return SOLUTION(nœud) if nœud nœuds_fermés then nœuds_fermés nœuds_fermés {nœud} nœuds_ouverts nœuds_ouverts DÉVELOPPER(nœud,problème)
57 Stratégies d'exploration en graphe Exploration en largeur d'abord Optimalité avec des coûts d'étape constants Optimalité avec une exploration à coût uniforme Exploration en profondeur d'abord Besoins en mémoire non linéaires Optimalité avec une exploration itérative en profondeur si le meilleur chemin est mis à jour
58 Exercices
59 Les missionnaires et les cannibales Trois missionnaires et trois cannibales sont du même côté d'une rivière, à côté d'un bateau qui ne peut contenir qu'une ou deux personnes. Trouvez un moyen pour que tout le monde se retrouve sur l'autre rive sans que le nombre de missionnaires à un endroit donné ne soit jamais inférieur au nombre de cannibales au même endroit. Formulez précisément le problème en ne fournissant que les éléments nécessaires pour garantir une solution valide. Tracez un diagramme complet de l'espace des états. Implémentez et résolvez le problème de manière optimale en utilisant un algorithme d'exploration approprié. Est-ce une bonne idée de détecter les répétitions d'états? Selon vous, étant donné la simplicité de l'espace des états, pourquoi la résolution de ce problème a-t-elle posé tant de difficultés?
60 Distance entre deux pages Web Écrivez un programme qui prend en entrée les URL de deux pages Web et qui retourne un chemin composé de liens permettant d'aller de l'une à l'autre. Quelle est la stratégie d'exploration appropriée? L'exploration bidirectionnelle est-elle une bonne idée? Pourrait-on utiliser un moteur de recherche pour implémenter une fonction successeur? Sur le même thème, voir : Six Degrees of Wikipedia
Algorithmes de recherche
Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème
Plus en détailPourquoi l apprentissage?
Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage
Plus en détailCours de Master Recherche
Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction
Plus en détailPROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES
Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.
Plus en détailLE 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étailCH.6 Propriétés des langages non contextuels
CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le
Plus en détailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Plus en détailCentre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
Plus en détailCours de Génie Logiciel
Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes
Plus en détailEbauche Rapport finale
Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide
Plus en détailDéroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009
Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30
Plus en détailQualité du logiciel: Méthodes de test
Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution
Plus en détailApplication 1- VBA : Test de comportements d'investissements
Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailPropagation sur réseau statique et dynamique
Université de la Méditerranée UFR Sciences de Luminy Rapport de stage informatique pour le Master 2 de Physique, Parcours Physique Théorique et Mathématique, Physique des Particules et Astroparticules.
Plus en détailUEO11 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étailCHAPITRE VIII : Les circuits avec résistances ohmiques
CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On
Plus en détailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Plus en détailLes algorithmes de base du graphisme
Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............
Plus en détailCalculateur quantique: factorisation des entiers
Calculateur quantique: factorisation des entiers Plan Introduction Difficulté de la factorisation des entiers Cryptographie et la factorisation Exemple RSA L'informatique quantique L'algorithme quantique
Plus en détailINITIATION 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étailIntroduction à 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étailOptimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)
Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases) Heuristique Constructive Itérativement, ajoute de nouvelles composantes à une solution partielle candidate Espace
Plus en détailNO-BREAK KS. Système UPS dynamique PRÉSENTATION
NO-BREAK KS Système UPS dynamique PRÉSENTATION Table des matières Chapitre 1 : Description du système No-Break KS...3 Chapitre 2 : Fonctionnement lorsque le réseau est présent...4 Chapitre 3 : Fonctionnement
Plus en détailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détail3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes
PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason
Plus en détailProgrammation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Plus en détailLes 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étailIntelligence Artificielle Planification
Intelligence Artificielle Planification Bruno Bouzy http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr Licence 3 Informatique UFR Mathématiques et Informatique Université Paris Descartes
Plus en détailTravaux 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étail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailUniversité de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailGrandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Plus en détailAtelier Transversal AT11. Activité «Fourmis» Pierre Chauvet. pierre.chauvet@uco.fr
Atelier Transversal AT11 Activité «Fourmis» Pierre Chauvet pierre.chauvet@uco.fr Ant : un algorithme inspiré de l éthologie L éthologie Etude scientifique des comportements animaux, avec une perspective
Plus en détailCours d algorithmique pour la classe de 2nde
Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage
Plus en détail1 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étailCorrigé des TD 1 à 5
Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un
Plus en détailOPTIMISATION À UNE VARIABLE
OPTIMISATION À UNE VARIABLE Sommaire 1. Optimum locaux d'une fonction... 1 1.1. Maximum local... 1 1.2. Minimum local... 1 1.3. Points stationnaires et points critiques... 2 1.4. Recherche d'un optimum
Plus en détailTravaux pratiques avec RapidMiner
Travaux pratiques avec RapidMiner Master Informatique de Paris 6 Spécialité IAD Parcours EDOW Module Algorithmes pour la Fouille de Données Janvier 2012 Prise en main Généralités RapidMiner est un logiciel
Plus en détailGuide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne
Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne Aperçu du Centre de copies et d'impression Bureau en Gros en ligne Pour accéder à «copies et impression Bureau en Gros
Plus en détailI Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème...
TABLE DES MATIÈRES 5 Table des matières I Stabilité, Commandabilité et Observabilité 11 1 Introduction 13 1.1 Un exemple emprunté à la robotique................... 13 1.2 Le plan...................................
Plus en détailChapitre 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étailGuide d installation de l Amplificateur Universel Wifi N avec 4 ports réseau
Guide d installation de l Amplificateur Universel Wifi N avec 4 ports réseau CONNECTEZ SANS FIL DES APPAREILS CABLES EXTENSION SANS FIL Extension de la portée sans fil Portée du routeur existant ROUTEUR
Plus en détailLes arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en détailSommaire. Introduction. I. Notions de routage a) Technologies actuelles b) Avantages et désavantages
Sommaire Introduction I. Notions de routage a) Technologies actuelles b) Avantages et désavantages II. Routage et fourmis a) Principe et avantages b) Structure du simulateur III.Implémentation a) Présentation
Plus en détailINTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Plus en détailRAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)
CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes
Plus en détailSommaire. Introduction.2. 1. Définition..2. 2. Historique.2. 3. Domaine d application.2. 4.Les Travaux réalisés sur les domaines d application.
Sommaire Introduction.2 1. Définition..2 2. Historique.2 3. Domaine d application.2 4.Les Travaux réalisés sur les domaines d application.3 5.Algorithme 4 6.Exemple d application 5 7. Avantage et inconvénient..6
Plus en détailProgrammation Linéaire - Cours 1
Programmation Linéaire - Cours 1 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 265 Ouvrages de référence V. Chvátal - Linear Programming, W.H.Freeman, New York, 1983.
Plus en détail6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses
6. Hachage Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses PLAN Définition Fonctions de Hachage Méthodes de résolution de collisions Estimation
Plus en détailCours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Plus en détailComplexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation
Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul
Plus en détailRapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources
Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils
Plus en détailCalcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane
Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane Poteaux Adrien XLIM-DMI, UMR-CNRS 6172 Université de Limoges Soutenance de thèse 15 octobre
Plus en détailSECURITY ADVISORY VULNERABILITE SUR LES DONNEES CLIENTS MAGENTO
SECURITY ADVISORY VULNERABILITE SUR LES DONNEES CLIENTS MAGENTO Date : le 25 avril 2012 Versions affectées : Enterprise 1.6 et Community jusqu'à 1.3.3.0 (incluse) Niveau de sécurité : critique Mode d'exploitation
Plus en détailMS PROJECT 2000. Prise en main. Date: Mars 2003. Anère MSI. 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere.
DOCUMENTATION MS PROJECT 2000 Prise en main Date: Mars 2003 Anère MSI 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere.com Le présent document est la propriété exclusive d'anère
Plus en détailL exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Plus en détailMIS 102 Initiation à l Informatique
MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ
Plus en détailProgrammation par contraintes. Laurent Beaudou
Programmation par contraintes Laurent Beaudou On se trouve où? Un problème, une solution : la solution est-elle une solution du problème? simulation, vérification 2 On se trouve où? Un problème, une solution
Plus en détailTechniques d interaction dans la visualisation de l information Séminaire DIVA
Techniques d interaction dans la visualisation de l information Séminaire DIVA Zingg Luca, luca.zingg@unifr.ch 13 février 2007 Résumé Le but de cet article est d avoir une vision globale des techniques
Plus en détail2. Activités et Modèles de développement en Génie Logiciel
2. Activités et Modèles de développement en Génie Logiciel Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Les Activités du GL Analyse des besoins Spécification globale Conceptions architecturale
Plus en détailET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Plus en détailTraitement de texte : Quelques rappels de quelques notions de base
Traitement de texte : Quelques rappels de quelques notions de base 1 Quelques rappels sur le fonctionnement du clavier Voici quelques rappels, ou quelques appels (selon un de mes profs, quelque chose qui
Plus en détailOrganigramme / Algorigramme Dossier élève 1 SI
Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué
Plus en détailPlus courts chemins, programmation dynamique
1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique
Plus en détailSouad 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étailChp. 4. Minimisation d une fonction d une variable
Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie
Plus en détailChapitre 5 : Flot maximal dans un graphe
Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d
Plus en détailPC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC!
PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC! MAGIX PC Check & Tuning 2010 est la solution logicielle complète pour l'analyse, la maintenance et l'accélération
Plus en détail1 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étailCAPTURE DES PROFESSIONNELS
CAPTURE DES PROFESSIONNELS 2 Téléchargement 3 Installation 8 Prise en main rapide 10 Lancement Recherche 14 Gestion des fichiers 23 Compare et Sépare 24 Fichiers annexes 2/ Le menu Utilitaires 32 Internet
Plus en détailModélisation multi-agents - Agents réactifs
Modélisation multi-agents - Agents réactifs Syma cursus CSI / SCIA Julien Saunier - julien.saunier@ifsttar.fr Sources www-lih.univlehavre.fr/~olivier/enseignement/masterrecherche/cours/ support/algofourmis.pdf
Plus en détailSupport Agile avec Kanban quelques trucs et astuces par Tomas Björkholm
Support Agile avec Kanban quelques trucs et astuces par Tomas Björkholm Avant-propos Il y a un an, j'ai animé un atelier au Scrum Gathering de Stockholm sur le Support Agile. Depuis, j'ai reçu plusieurs
Plus en détail- Le Diagramme de Gantt. - Le Diagramme de Pert - La Méthode QQCQCCP - La Méthode MOSI - Cahier des charges fonctionnel
Planifier le projet > Identifier les étapes > Organiser le projet > Identifier les étapes - Le Diagramme de Gantt > Organiser le projet - Le Diagramme de Pert - La Méthode QQCQCCP - La Méthode MOSI - Cahier
Plus en détailOptimisation Combinatoire et Colonies de Fourmis Nicolas Monmarche April 21, 1999 Sommaire Inspiration biologiques Ant Colony Optimization Applications TSP QAP Flow Shop Problemes dynamiques 1 Historique
Plus en détailEditer un script de configuration automatique du proxy
Editer un script de configuration automatique du proxy INTRODUCTION... 2 AVANTAGE D UN SCRIPT DE CONFIGURATION... 2 SYNTAXE DU SCRIPT DE CONFIGURATION AUTOMATIQUE... 2 MISE A DISPOSITION DU SCRIPT... 4
Plus en détailVous venez de procéder à la mise à jour? Découvrez les nouveautés de Microsoft Dynamics CRM 2013 et Microsoft Dynamics CRM Online, automne 2013
Vous venez de procéder à la mise à jour? Découvrez les nouveautés de Microsoft Dynamics CRM 2013 et Microsoft Dynamics CRM Online, automne 2013 Série Mise en route 4 Microsoft Dynamics CRM 2013 et Microsoft
Plus en détailSub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"
TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION
Plus en détailUtilisation de la clé de Registre BurFlags pour réinitialiser des jeux de réplicas FRS
Utilisation de la clé de Registre pour réinitialiser des jeux de réplicas FRS mars 2013 Nb. Pages 7 JLD Design Informatique Sarl Route du Boiron 17 1260 NYON (VD) SUISSE Vue d'ensemble Le service FRS est
Plus en détailCommunications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes
Loris MARCHAL Laboratoire de l Informatique du Parallélisme Équipe Graal Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Thèse réalisée sous la direction
Plus en détailIntroduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.
Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis
Plus en détailGuide d'installation de l'amplificateur de signal pour périphériques mobiles Wi-Fi WN1000RP
Guide d'installation de l'amplificateur de signal pour périphériques mobiles Wi-Fi WN1000RP 2012 NETGEAR, Inc. Tous droits réservés. Il est interdit de reproduire, de transmettre, de conserver dans un
Plus en détailLes diagrammes de modélisation
L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse
Plus en détailNavigation dans Windows
Cours 03 Navigation dans Windows Comme je le disais en introduction, notre souris se révèle plus maligne qu'elle n'en a l'air. À tel point qu'il faut apprendre à la dompter (mais c'est très simple, ce
Plus en détailContenus détaillés des habiletés du Profil TIC des étudiants du collégial
Contenus détaillés des habiletés du des étudiants du collégial Auteur(s) : Équipe de travail du réseau REPTIC. Version originale REPTIC Version en date du : 5 octobre 2009 Comment citer ce document : Équipe
Plus en détailOrdinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un
ESZ Introduction à l informatique et à l environnement de travail Éric Gaul (avec la collaboration de Dominic Boire) Partie 1: Concepts de base Ordinateur Logiciel Mémoire Données Entrées/sorties Périphériques
Plus en détail1.6- Génération de nombres aléatoires
1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale
Plus en détailRecherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
Plus en détailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détailCréation d'un questionnaire (sondage)
Création d'un questionnaire (sondage) Le but de ce petit tuto est d'avoir les séquences pas à pas pour la création d'un questionnaire de façon à ne pas devoir rechercher la manière de procéder si l'outil
Plus en détailmodélisation solide et dessin technique
CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir
Plus en détailReconstruction de bâtiments en 3D à partir de nuages de points LIDAR
Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Mickaël Bergem 25 juin 2014 Maillages et applications 1 Table des matières Introduction 3 1 La modélisation numérique de milieux urbains
Plus en détailTD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting
IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances
Plus en détailStratégie de groupe dans Active Directory
Stratégie de groupe dans Active Directory 16 novembre 2012 Dans ce document vous trouverez des informations fondamentales sur les fonctionnements de Active Directory, et de ses fonctionnalités, peut être
Plus en détailSÉJOURS LINGUISTIQUES
s s n ne 1 a u Je 0 à 2 de FÉVRIER PRINTEMPS 1 Vivons les langues SÉJOURS LINGUISTIQUES TARIFS SPÉCIAUX RÉSERVÉS AUX COMITÉS D ENTREPRISE FÉVRIER 2015 PRINTEMPS 2015 MALTE ALLEMAGNE ESPAGNE 1 01 42 67
Plus en détailASR1 TD7 : Un microprocesseur RISC 16 bits
{Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit
Plus en détail