CONTEXTE ET OBJECTIFS. Algorithmique et ComplexiTé Présentation du cours CELA POSE DE NOMBREUSES QUESTIONS ET DEMANDE UN CERTAIN SAVOIR-FAIRE.



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

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

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

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

MIS 102 Initiation à l Informatique

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

BACCALAUREAT GENERAL MATHÉMATIQUES

Fonctions homographiques

Deux disques dans un carré

Resolution limit in community detection

1 Recherche en table par balayage

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

LE PROBLEME DU PLUS COURT CHEMIN

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Rappels sur les suites - Algorithme

Algorithmique I. Algorithmique I p.1/??

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Chapitre 7. Récurrences

Cours 1 : Qu est-ce que la programmation?

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

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

Fonction de hachage et signatures électroniques

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Entraînement au concours ACM-ICPC

Conception des systèmes répartis

Cryptographie et fonctions à sens unique

Chapitre 5 : Flot maximal dans un graphe

Eléments de Théorie des Graphes et Programmation Linéaire

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Intégration et Déploiement de Systèmes d Information

Annexe 6. Notions d ordonnancement.

Mon métier, mon parcours

Programmation linéaire

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Microsoft Excel : tables de données

Synthèse «Le Plus Grand Produit»

Chaînes de Markov au lycée

Cours de Master Recherche

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Cours TD TP EC UE EC UE CC Mixte Introduction aux sciences de. 3 Environnement. 4 l'administration et de. Anglais 28 2

LICENCE : INFORMATIQUE GENERALE

Quelques algorithmes simples dont l analyse n est pas si simple

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Limites finies en un point

Calculabilité Cours 3 : Problèmes non-calculables.

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

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Factorisation d entiers (première partie)

Annexe au dossier du cursus CMI SID Licence - Master en Ingénierie. Syllabus L3 et Master SID Statistique et Informatique Décisionnelle

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

MASTER 2 PROFESSIONNEL. Génie Logiciel, Logiciels Répartis et Embarqués

Machines virtuelles Cours 1 : Introduction

Programmes des classes préparatoires aux Grandes Ecoles

6. Les différents types de démonstrations

Descriptif des UE, unités d enseignement, d informatique

Plus courts chemins, programmation dynamique

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

Construction d un cercle tangent à deux cercles donnés.

COMMENT FONCTIONNE GOOGLE?

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

CHAPITRE 5. Stratégies Mixtes

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

T de Student Khi-deux Corrélation

HELPDESK IMAGINLAB GUIDE UTILISATION POUR IMAGINEURS. : Guide HelpDesk pour les Imagineurs-v1.2.docx. Date :

Algorithmes récursifs

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Correction du baccalauréat ES/L Métropole 20 juin 2014

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Programmes des classes préparatoires aux Grandes Ecoles

Probabilités sur un univers fini

Algorithmique et Programmation

Masses de données. 1. Introduction 2. Problématiques 3. Socle de formation (non présenté) 4. Liens avec Formation INSA

Trépier avec règle, ressort à boudin, chronomètre, 5 masses de 50 g.

Intégration et Déploiement de Systèmes d Information

Brique BDL Gestion de Projet Logiciel

MENTION INFORMATIQUE

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

Chapitre 2. Valeur temps de l argent : arbitrage, actualisation et capitalisation

ANNEXES. Evaluation de la formation à Polytech Lille Département GIS. Enseignements les plus utiles. Enseignements à renforcer

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Chp. 4. Minimisation d une fonction d une variable

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Pourquoi l apprentissage?

4.2 Unités d enseignement du M1

Présentation du Master Ingénierie Informatique et du Master Science Informatique , Année 2 Université Paris-Est Marne-la-Vallée

Nom de l UE Matières CM TD TP Langues Gestion financière crédits ECTS

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Année Universitaire ère année de Master Droit Mention Droit Privé 1 er semestre. 1 er SEMESTRE 8 matières CM TD COEFF ECTS.

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

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

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Transcription:

CONTEXTE ET OBJECTIFS Algorithmique et ComplexiTé Présentation du cours ACT - Master1 Informatique Sophie Tison -Lille1- sophie.tison@lifl.fr Les algorithmes sont au coeur de l informatique: tris, recherche, compression, ordonnancement, algorithmes géométriques, recommandation,... Objectif: Avoir des outils pour concevoir un bon -c.à.d. correct et efficace - algorithme pour résoudre un problème. DEMANDE UN CERTAIN SAVOIR-FAIRE Existe-il un algorithme pour résoudre le problème? Connaître quelques notions de calculabilité et de décidabilité. Comment modéliser le problème? Est-ce un problème classique? Savoir modéliser, Connaître et savoir reconnaître des grands classiques

DEMANDE UN CERTAIN SAVOIR-FAIRE Est-ce un problème classique? Savoir modéliser, Connaître et savoir reconnaître des grands classiques Tris, méthodes de sélection, recherche Algorithmique des graphes, Méthodes de hachages Programmation linéaire...... Comment concevoir un algorithme? Schémas d algorithmes, Algorithmic design patterns Diviser pour régner Programmation Dynamique Algorithmes gloutons CELA POSE DE NOMBREUSES QUESTIONS... ET DEMANDE PAS MAL DE SAVOIR-FAIRE. L algorithme est-il correct? Savoir prouver un algorithme... ou tout du moins avoir un minimum de rigueur L algorithme est-il efficace? Savoir analyser la complexité d algorithmes

Peut-on trouver un algorithme plus efficace pour le problème? Est-ce un problème dur? Avoir quelques notions de Complexité des problèmes Si le problème est dur, comment l appréhender! Connaître quelques techniques d Algorithmique Avancée: Méta-heuristiques, Algorithmes probabilistes,... Backtracking, minmax, séparation-évaluation PROGRAMME PRÉVISIONNEL Objectifs du cours Organisation Quelques exemples introductifs Présentation et Rappels (2 cours) Quelques schémas d algorithmes (4 cours) Un peu de complexité de problèmes (3 cours) Un peu d algorithmique avancée (1-2 cours) Quelques notions de décidabilité et calculabilité (1 cours)

RESSOURCES Résumés de cours distribués en amphi, Transparents de cours mis sur le portail au fur et à mesure De nombreux livres comme par exemple:. Cormen, Leiserson, Rivest, Introduction à l algorithmique, Dunod (disponible à la BU) vraiment une référence en algorithmique,. S. Skiena, Algorithm Design Manual, une mine! (Une version on-line proche du livre papier ),. Jon Kleinberg & Eva Tardos, Algorithm design, Addison Wesley 2005 LES TPS Il y aura 12 séances de TP (langage au choix: Java, C, Caml) encadrées pour la mise en oeuvre directe des méthodes étudiées en cours. Les TPs seront évalués. de nombreuses ressources en ligne! EVALUATION Le contrôle continu sera basé sur. les TPs. un DS en milieu de semestre ( a priori le 3 novembre).. éventuellement un bonus donné par le chargé de TD: par exemple, devoirs maison, préparation d exercices... La note de contrôle continu sera CC = 1/3 (note DS) + 2/3 (note TP) + éventuel bonus. La note finale sera sup(exam, (Examen + CC)/2). Objectifs du cours Organisation Quelques exemples introductifs

Problème 1: Trouver le plus court chemin entre deux sommets d un graphe C est un grand classique: algorithme de Dijkstra, algorithme de Ford Bellman, algorithme de Floyd-Warshall,... Problème 2: Trouver le chemin le plus long sans cycle entre deux sommets dans un graphe Si vous trouvez un algorithme efficace, vous gagnez 1 million de dollars. LES 7 PROBLÈMES DU MILLENIUM INSTITUT CLAY 7 problèmes ont été identifiés comme Millenium problems pour leur impact par l Institut Clay, avec pour chacun d eux 1million de dollars de récompense à la clef. Si vous montrez qu on ne peut pas en trouver un, vous gagnez aussi 1 million de dollars! Pour quel problème peut-on trouver un algorithme efficace? LES PROBLÈMES DU MILLENIUM INSTITUT CLAY EULER ET HAMILTON P versus NP la conjecture de Poincaré l hypothèse de Riemann... La conjecture de Poincaré a été prouvée en 2003 par Grigori Perelman par qui a reçu et refusé le prix en 2010. Le problème qui nous concerne ici est P versus NP. Problème 1: Trouver un cycle qui passe une et une seule fois par tous les sommets d un graphe Problème 2: Trouver un cycle qui passe une et une seule fois par tous les arcs d un graphe Pour quel problème peut-on trouver un algorithme efficace?

HAMILTON Problème 1: Trouver un cycle qui passe une et une seule fois par tous les sommets d un graphe EULER ET HAMILTON Problème 2: Trouver un cycle qui passe une et une seule fois par tous les arcs d un graphe C est la recherche d un cycle eulérien: C est la recherche d un cycle hamiltonien: encore un problème à un million de dollars! Il faut et il suffit que le graphe soit connexe sans sommet de degré impair. Il existe un algorithme efficace! LES PONTS DE KOENIGSBERG GROUPES EN PAIX Données: un ensemble d étudiants. Chacun donne la liste de ceux avec qui il s entend. Problème 1: répartir si c est possible! en deux groupes tels que les membres d un même groupe s entendent tous entre eux. Problème 2: répartir si c est possible! en trois groupes tels que les membres d un même groupe s entendent tous entre eux.

GROUPES EN PAIX LE PREMIER EST FACILE... Données: un ensemble d étudiants. Chacun donne la liste de ceux avec qui il s entend. Problème 1: répartir, si c est possible, les étudiants en deux groupes tels que les membres d un même groupe s entendent tous entre eux. tant qu il reste des étudiants non placés Mettre un étudiant au hasard dans A tant qu il reste un ennemi de A(resp. B) non placé si il n a pas d ennemis dans B (resp. A) l y mettre sinon répartition impossible L ALGORITHME EST-IL CORRECT? tant qu il reste des étudiants non placés Mettre un étudiant au hasard dans A tant qu il reste un ennemi de A(resp. B) non placé si il n a pas d ennemis dans B (resp. A) l y mettre sinon répartition impossible si l algo sort une solution, elle est correcte: invariant: Tous les membres de A (resp. B) s entendent. si l algo sort répartition impossible, il n y a pas de solution: pourquoi? pour simplifier supposons que le graphe des ennemis soit connexe. invariant suppplémentaire: si il y a une solution, un groupe contient les étudiants de A, l autre ceux de B. On généralise ensuite au cas de plusieurs composantes connexes. L algo s arrête! GROUPES EN PAIX LE DEUXIÈME EST MOINS FACILE... FACILE, VOUS AVEZ DIT FACILE? Données: un ensemble d étudiants. Chacun donne la liste de ceux avec qui il s entend. Problème 2: répartir si c est possible en trois groupes tels que les membres d un même groupe s entendent tous entre eux. Si vous trouvez un algorithme efficace, vous gagnez 1 million de dollars. Si vous montrez qu on ne peut pas en trouver un, vous gagnez aussi 1 million de dollars! On peut montrer que c est bien un problème à un million de dollars (cf partie 2 du cours). Attention: Dire que le problème 1 est plus facile que le problème 2 veut dire ici qu on connaît un algorithme efficace pour le problème 1 mais qu on n en connaît pas pour le problème 2. On précisera cette notion de facile/dur dans la deuxième partie du cours. Bien sûr ici, pour les mêmes données, si il y a une solution avec deux groupes, il y a une solution avec 3 groupes!

BINÔMES OU TRINÔMES? Données: un ensemble d étudiants. Chacun donne la liste de ceux avec qui il veut bien faire équipe. Problème 1: Regrouper les étudiants en binômes qui s entendent (si possible). Problème 2: Regrouper les étudiants en trinômes qui s entendent Le problème 1 a un algorithme efficace -non trivial-, c est un problème de perfect matching (algorithme de Edmonds). Le deuxième n a pas d algorithme efficace connu, c est encore un problème à un million de dollars. BINÔMES REVISITÉS Données: un ensemble d étudiants. Chacun donne une liste totalement ordonnée par préférence des autres étudiants. Problème des binômes bis: proposer une bonne répartition des étudiants en binômes Qu est-ce qu une bonne répartition? Une répartition est stable si il n y a pas deux binômes (A,B) et (C,D) tels que A préfère travailler avec D, C préfère travailler avec B. Il n y pas toujours de répartition stable! Si il y en a une, il existe un algorithme efficace pour la trouver (Irving 85). Problème proche: les mariages stables ou encore l affectation sur des postes: cette-fois ci il y a deux types d éléments à apparier : (poste, personne)... La semaine prochaine: Cours, TD et TP