Programmation par contraintes Cours 3 : Programmation logique avec contraintes PLC

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

Download "Programmation par contraintes Cours 3 : Programmation logique avec contraintes PLC"

Transcription

1 Cours 3 : avec contraintes PLC ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr papini/

2 Plan du cours 3 1 Introduction 2 3 4

3 Bibliographie Livres : K. Marriott and P. Stuckey. Programming with constraints. MIT Press 1998 F. Fages. Programming Logique par contraintes. Ellipes, 1996 K. R. Apt. Principles in Constraint Programming. Cambridge Univ Press, 2003 Supports de cours : Support de cours : Gilles Pesant école polytechnique de Montréal : http ://

4 Applications industrielles de la PPC Conception de matériel informatique vérification de circuits connexion des couches de circuits moins efficace que le code dédié mais plus flexible utilisateurs : Dassault, Siemens

5 Applications industrielles de la PPC Placement d objets placement de containers remplissage de containers utilisateurs : Michelin

6 Applications industrielles de la PPC Problèmes de découpage minimisation de pertes lors de la découpe de matériaux (papier, verre, bois, métaux, ) utilisateur : Dassault pour les pièces d avion performances dépendent du contexte papier : facile, programmation linéaire métaux : plus difficile, programmation par contraintes

7 Applications industrielles de la PPC Allocation d espace portes pour les avions quais pour les trains et les bateaux utilisateur : Aéroport CDG

8 Applications industrielles de la PPC Allocation de fréquences trouver des fréquences radio pour les : tèléphones portables communications radio armée,

9 Applications industrielles de la PPC Ordonnancement de la production planifier les tâches sur des machines dans une usine plus important succès de la PPC meilleures performances que la RO plusieurs installations commerciales librairies dédiées à l ordonnancement (ILOG scheduler)

10 Applications industrielles de la PPC emploi du temps emploi du temps construction d horaires de personnel : santé, commerce, usine, planification des équipages sur les avions, les trains tournée de véhicules

11 programmation déclarative premier langage de programmation logique : PROLOG (Luminy, 1973) basé sur la logique des prédicats premier paradigme à intégrer les contraintes

12 Définition un programme logique est un ensemble fini de règles de la forme : A. ou A B 1,,B n. A : tête de la règle B 1,,B n : corps de la règle A, B i pour 1 i n : atomes

13 vs programmation impérative programmation impérative à l origine ordinateur conçu pour calculer ne traite pas de situations non spécifiées à l avance codage d un algorithme dans un langage de programmation chaque type de question nécessite l écriture d une partie ou d un programme différent programmation logique représentation des connaissances sur un sujet dans un formalisme adéquat représentation à partir de laquelle sont déduites des rèponses aux questions de l utilisateur

14 vs programmation impérative programmation logique programmation impérative règle ensemble de règles question (but) preuve substitution, unification procédure programme appel de procédure exécution passage de paramètres

15 Langage celui du calcul des prédicats : un ensemble infini dénombrable de symboles de prédicats ou prédicats : S p un ensemble infini dénombrable de symboles fonctionnels : S F un ensemble infini dénombrables de variables : V un atome est de la forme : P(t 1,, t n ) où t 1,, t n sont des termes et P est un prédicat un terme est : une variable x un symbole fonctionnel f (constantes : symboles fonctionnels d arité 0) f (t 1,, t n ) où t 1,, t n sont des termes

16 programmation logique : programme logique mécanisme d inférence mécanisme d inférence : déclenché par une requête(but) fournit certaines conséquences du programme l ensemble des conséquences d un programme logique constitue sa signification (sémantique)

17 Trois sémantiques d un programme logique déclarative (plus petit modèle) dénotationnelle (point fixe, par chaînage avant) opérationnelle (procédurale, par chaînage arrière) (résolution SLD) les trois sémantiques sont équivalentes

18 sémantique déclarative d un programme logique On pose une question Q à un programme logique P sémantique déclarative : P = Q.? est-ce que Q est une conséquence logique de P? interprétation du symbole en logique des prédicats A B 1,, B n. : A B 1,, B n. programme logique P : ensemble de clauses de Horn sémantique déclarative : recherche des conséquences logiques d un ensemble de clauses de Horn

19 sémantique déclarative d un programme logique : conséquences logiques d un ensemble de clauses de Horn revoir le cours sur la logique des prédicats si besoin à partir d un ensemble de clauses de Horn construction d une base de Herbrand B H construction d un modèle de Herbrand on montre l existence d un plus petit modèle de Herbrand associé à un programme P : M P intersection de tous les modèles de Herbrand associés à P

20 sémantique déclarative d un programme logique P = Q? construction de la base de Herbrand B H correspondant à P Q B H construction du système de Herbrand S H correspondant à P P = Q ssi S H { Q} est insatisfaisable ssi S H { Q} n a pas de modèle de Herbrand ssi Q est vrai dans tous les modèle de Herbrand ssi Q M P

21 sémantique déclarative d un programme logique : exemple P = r? P = s? Programme logique P : p. q. r p,q. r p, q. s r. r p,s. s p, q, r.

22 sémantique déclarative d un programme logique : exemple P = r? P = s? Programme logique P : p. q. r p,q. r p, q. s r. r p,s. s p, q, r. univers de Herbrand U H? base de Herbrand B H? système de Herbrand B H? modèle de Herbrand de P M P?

23 sémantique dénotationnelle d un programme logique sémantique du point fixe : plus petite solution de I = T P (I) I : interprétation de Herbrand T P : oprérateur de transformation des interprétations de Herbrand 2 B H 2 B H I T P (I) T P (I) = {A B H B 1,, B n I }, avec A B 1,, B n inst(p) et inst(p) : ensemble des instances de P obtenu en remplaçant les variables de P par des termes de l univers de Herbrand

24 sémantique dénotationnelle d un programme logique une interprétation supportée de P est une interprétation I telle que : pour tout A I il existe une règle A B 1,,B n inst(p) et B 1,,B n I Soit P un programme logique et I une interprétation I est un modèle de P (noté I = P) ssi T P (I) I I est un modèle supporté de P ssi T P (I) = I sémantique du point fixe : définition constructive du plus petit modèle de Herbrand

25 sémantique dénotationnelle d un programme logique : exemple P = r? P = s? Programme logique P : p. q. r p,q. r p, q. s r. r p,s. s p, q, r.

26 sémantique dénotationnelle d un programme logique : exemple P = r? P = s? Programme logique P : p. q. r p,q. r p, q. s r. r p,s. s p, q, r. I? point fixe de T P (I) = I? construction du modèle de Herbrand de M P, r M P? s M P?

27 sémantique opérationnelle d un programme logique : résolution transformation de P en clauses de Horn puis Résolution (à la Robinson) SLD résolution (Résolution avec règle de sélection) règle de simplification des buts qui procède par unification avec les têtes des règles du programme variante du principe de résolution de Robinson principe d inférence complet pour la logique des prédicats

28 sémantique opérationnelle d un programme logique P un programme logique : relation de re-écriture des buts : plus petite relation satisfaisant au principe de résolution SLD (A A 1,,A n )Θ P σ UP(B i,a) (B 1,,B i,,b k ) (B 1,,B i 1,A 1,,A n,b i+1,,b k )σ Θ : substitution de renommage pour éviter les conflits de variables : Var(A,A 1,,A n ) Var((B 1,,B i,,b k ) = but sélectionné : B i but résolvant : (B 1,,B i 1,A 1,,A n,b i+1,,b k )σ unificateurs principaux de B i et A : UP(B i,a)

29 sémantique opérationnelle d un programme logique une étape de la SLD résolution : G i, C, σ G ième atome du but de la règle C du programme P : le but vide

30 sémantique opérationnelle d un programme logique : exemple P = p(x)? Programme logique P : R1 p(0). R2 p(s(s(x))) p(x).

31 sémantique opérationnelle d un programme logique : exemple P = p(x)? Programme logique P : R1 p(0). R2 p(s(s(x))) p(x). But : p(x), on renomme x avec Θ(x) = x 1 on obtient p(x 1 ) : avec R1 on l unifie avec p(0) donc σ 1 = {x 1 0} p(x 1 ) 1, R1, σ1 avec R2 on l unifie avec p(s(s(x))) avec σ 2 = {x 1 s(s(x 2 ))} p(x 1 ) 2, R2, σ2 1, R1, σ1

32 sémantique opérationnelle d un programme logique dérivation SLD une dérivation SLD pour un but G : suite finie ou infinie de buts G j, j 0, de variantes de règles C j de P, de substitutions σ j tels que : G 0 = G et pour tout j 0 : G j ij, C j, σ j G j+1

33 sémantique opérationnelle d un programme logique : exemple P = r? P = s? Programme logique P : p. q. r p,q. r p, q. s r. r p,s. s p, q, r.

34 sémantique opérationnelle d un programme logique réfutation SLD une réfutation SLD pour un but G : est une dérivation SLD finie qui se termine avec le but vide : G ij, C j, σ j G 1 in, C n, σ n

35 sémantique opérationnelle d un programme logique stratégies de sélection 2 sources de non-déterminisme : choix du but à résoudre choix de la règle à utiliser procédure de résolution SLD comporte : stratégie de sélection qui fixe : le choix du but à résoudre stratégie de recherche qui fixe : le choix de la règle à utiliser à chaque étape stratégie de recherche est complète si tous les choix de règles pour résoudre un but donné sont employés Programmation aprés unpar nombre contraintes fini d étapes

36 construction d un arbre de dérivation SLD un arbre de dérivation SLD pour un but G est un arbre étiqueté par des buts tels que i) la racine est étiqueté par G ii) les noeuds étiquetés par le but vide sont des feuilles iii) les noeuds étiquetés par un but (A 1,,A i,,a n ), n 0, où A i est l atome sélectionné ont autant de fils qu il ya de résolvantes du but avec A i. Un but déterministe est but qui étiquette un noeud qui n a qu un seul successeur

37 Langage de programmation PROLOG construit sur une implantation de la résolution SLD : la liste des buts à résoudre est gérée par une pile : stratégie de sélection des buts le but le plus à gauche stratégie de recherche exploration de l arbre de dérivation en profondeur d abord variables : commencent par une lettre majuscule ou par le caractère règles : A :- B 1,,B n. faits : A. buts :?- A 1,,A m.

38 exemple de programme PROLOG (syntaxe GNU PROLOG) arc(a, b). arc(b, c). chemin(x, Y) :- arc(x, Y). chemin(x, Y) :- arc(x, Z), chemin (Z, Y). but :?- chemin(a, c).

39 Syntaxe GNU PROLOG : http : \\ manual variables : chaînes alphanumériques commençant par une majuscule constantes : entiers ou flottants, chaînes de caractères entre guillemets, chaînes alphanumériques commençant par une minuscule fonctions : chaînes alphanumériques commençant par une minuscule prédicats : chaînes alphanumériques commençant par une minuscule exemples repas(x, Y, Z) :- hors doeuvre(x), plat(y), dessert(z). hors doeuvre(melon). repas(melon, X, Y).

40 quelques prédicats prédéfinis sur les termes en GNU PROLOG (=)/2 : termes unifiables (\ =)/2 : termes non unifiables (==)/2 : termes égaux (\ ==)/2 : termes différents exemple plat vegetarien(x) :- plat(x), X \ == roti), X \ == steak.

41 quelques prédicats prédéfinis pour les expressions arithmétiques en GNU PROLOG (is)/2 : évaluation d expression arithmétique (+)/2, ( )/2, ( )/2, (/)/2, (mod)/2 : opérations sur les expressions arithmétiques (=:=)/2 : égalité d expressions arithmétiques (= \ =)/2 : inégalité d expressions arithmétiques (=<)/2, (<)/2, (>=)/2, (>)/2, : comparaisons d expressions arithmétiques. exemple nat(0). nat(n) :- Nat(N1), N is N1 + 1.

42 listes en GNU PROLOG exemple : liste de 4 entiers : [1,2,3,4] liste vide : [ ] liste : [X Y] X : tête de liste Y : queue de liste exemples de manipulation de listes parcours de liste construction directe de liste construction indirecte de liste

43 listes en GNU PROLOG liste : arbre particulier : peigne dessin liste : [X Y], X : tête de liste, Y : queue de liste liste : [X 1, X 2, Y] X 1 : premier élément, X 2 : second élément, Y : queue de liste liste : [X 1, X 2,, X n Y] X 1 : premier élément,, X n : nième élément, Y : queue de liste

44 parcours de listes en PROLOG algorithme du parcours récursif d une liste fonction parcours(l : liste) début si L = [ ] alors arrêt sinon écrire X parcours(y) finsi fin

45 parcours de listes en PROLOG programme PROLOG de parcours d une liste parcours([ ]). condition d arrêt de la récursivité parcours([x Y]) :- write(x), parcours(y). appel récursif

46 construction directe de listes en PROLOG algorithme de contruction de la liste des éléments de rang pair (L a un nombre pair d éléments) : fonction rang pair(l, L : listes) début si L = [ ] alors L = [ ] sinon L = [Y U] rang pair(l, U) finsi fin

47 construction directe de listes en PROLOG construction directe d une liste d éléments de rang pair rang pair([ ],[ ]). condition d arrêt de la récursivité rang pair([x,y L], [Y U]) :- rang pair(l, U). appel récursif

48 construction directe de listes en PROLOG construction dans la descente de la récursivité 2 listes : liste initiale, liste résultat construction dans la tête de règle construction des èléments dans l ordre

49 construction indirecte de listes en PROLOG algorithme d inversion de liste : fonction renverse(l, L, R : listes) début si L = [ ] alors R = L sinon renverse(y, L, R) L = [X L] finsi fin

50 construction indirecte de listes en PROLOG construction indirecte d une liste d éléments dans l ordre inverse renverse([ ], L, L). condition d arrêt de la récursivité renverse([x Y], L, R) :- renverse(y, [X L], R). appel récursif

51 construction indirecte de listes en PROLOG construction dans la remontée de la récursivité construction dans le corps de règle 3 listes : liste initiale, liste auxiliaire, liste résultat construction des èléments dans l ordre inverse

52 prédicat de coupure :! prédicat de coupure (ou cut ) dans la règle : A A 1,,A m,!,b 1,,B n abandon des choix restant sur A,A 1,,A m lorsque le prédicat de coupure est sélectionné

53 prédicat de coupure : exemple hors doeuvre(melon). hors doeuvre(celeri). viande(roti). poisson(sole). dessert(fruit). viande(steak). poisson(rouget). dessert(flan). plat(x) :- viande(x). plat(x) :- poisson(x). repas(x, Y, Z) :- hors doeuvre(x), plat(y), dessert(z). buts : repas(melon, Y, Z),!. repas(celeri, Y, Z), poisson(y),!.

54 Utilisation du prédicat de coupure :! expression conditionnelle : si alors sinon : début si X mod 2 = 0 alors écrire ( pair ) sinon écrire ( impair ) finsi fin parite(x) :- Y is X mod 2, Y is 0,!, write( pair ). parite(x) :- write( impair ).

55 par contraintes : PLC par contraintes : intégration de solveur de contraintes naturelle en PROLOG PROLOG peut être considéré comme un langage de programmation par contrainte : domaine des variables : univers de Herbrand contraintes : égalité entre termes

56 par contraintes : PLC PROLOG : langage de programmation par contraintes : exemple p(x, Y, Z) :- Z is X+Y.?- p(3, 4, Z). Z = 7?- p(x, 4, 7). ERREUR MAIS

57 par contraintes : PLC par contraintes : généralisation de la programmation logique mécanisme d inférence + solveur de contraintes enrichit le domaine du discours contraintes dans : le programme le but la question

58 par contraintes : PLC par contraintes : généralisation de la programmation logique considérer d autres structures mathématiques S que l univers de Herbrand généralisation de la résolution SLD remplacer l unfication sur les termes par la résolution de contraintes dans S formules logiques : clause de Horn de la forme A c 1,, c m B 1,, B n c i, 1 i m : contraintes B j, 1 j n : atomes définition d une classe de langages de programmation PLC(S)

59 par contraintes : PLC Langage des contraintes langage du premier ordre défini par : un ensemble dénombrable de symboles de prédicats ou prédicats : S C (contenant true et =) un ensemble dénombrable de symboles fonctionnels : S F un ensemble infini dénombrable de variables : V contrainte atomique : proposition atomique de ce langage ensemble de contraintes basiques : ensemble de formules du premier ordre contenant des contraintes atomiques et fermé par renommage des variables langage de contraintes : fermeture par conjonction et quantification existentielle de l ensemble des contraintes basiques

60 par contraintes : PLC Interprétation du langage de contraintes choix d une structure mathématique S = (D,E,O,R) où : D : domaine E : E D : associés à chaque symbole de constante, notés [c] pour c S F d arité 0 O : ensemble d opérateurs sur D associés à chaque symbole de fonction notés [f ] : D n D pour tout f S F d arité n R : ensemble de relations sur D associés à chaque symbole de prédicat notés [p] : D n {0,1} pour tout p S C d arité n

61 par contraintes : PLC Interprétation du langage de contraintes S-valuation : fonction ρ : V D cρ : proposition dont la valeur de vérité est déterminée par S si S = cρ alors ρ est une solution de c c est satisfaisable si c admet une solution dans S

62 par contraintes : PLC Complétude pour la satisfaction des contraintes On suppose que dans S le problème de la satisfaisabilité des contraintes est décidable ( c, soit S = (c) soit S = (c)) S est représenté par une théorie axiomatique T définie sur l alphabet vérifiant S = T (correction) soit T (c), soit T = (c) (complétude pour la satisfaction des contraintes) S = (c) ssi T (c)

63 par contraintes :PLC(S) Programmes PLC(S) un programme logique est constitué de : règles de la forme : A c 1,,c m B 1,,B n A : tête de la règle c 1,,c m B 1,,B n, m 0, n 0 : corps de la règle A, B j pour 1 j n : atomes c i 1 i m : contraintes basiques atome : proposition atomique formé sur S P, S F et V, S P S C =

64 par contraintes :PLC(S) sémantique déclarative(plus petit modèle) opérationnelle (procédurale, par chaînage arrière) (résolution CSLD)

65 par contraintes :PLC(S) différentes classes de langages de programmation logique par contraintes LPC(H), univers de Herbrand : Prolog LPC(T R), termes rationnels : Prolog II LPC(λ) : λ-prolog LPC(R) : réels : Prolog IV LPC(B) : booléens LPC(FD) : domaines finis : CHIP, Gnu-Prolog

66 par contraintes : PLC par contraintes : différents solveurs CHIP Eclipse PROLOG IV Gnu-Prolog

67 par contraintes :PLC(F D) Solveur Gnu-Prolog résolution des contraintes par propagation : consistance d arc types de contraintes : arithmétiques booléenes symboliques

68 par contraintes :PLC(F D) prédicats prédéfinis en Gnu-Prolog site web de Gnu-Prolog : http : // documentation : http : // manual (chapitre 8) différents types de prédicats : variables sur les domaines finis contraintes sur les domaines finis arithmétiques booléenes symboliques résolution

69 par contraintes :PLC(F D) conventions de description de prédicats prédéfinis en Gnu-Prolog designation : nom prédicat/arité description partie schéma d appel : mode et type de chaque argument mode : + instancié à l appel mode : - non instancié à l appel, mode :? instancié à l appel types : terme, variable, variable FD, liste de X partie description partie exemple

70 Prédicats prédéfinis en Gnu-Prolog définition d intervalle designation : fd max integer/1 schéma d appel : fd max integer(?integer) intrevalle : 0.. fd max integer

71 Prédicats prédéfinis en Gnu-Prolog variables sur les domaines finis designation : fd domain/3 schéma d appel : fd domain(+liste de variables FD,+entier,+entier) ou fd domain(?variable FD,+entier,+entier) description : fd domain(l,min,max) ou fd domain(x,min,max)

72 Prédicats prédéfinis en Gnu-Prolog variables sur les domaines finis : exemple modélisation CSP du problèmes des 4 reines : fd domain([x1,x2,x3,x4],1,4) ou fd domain(x1,1,4), fd domain(x2,1,4), fd domain(x3,1,4), fd domain(x4,1,4)

73 Prédicats prédéfinis en Gnu-Prolog variables sur les domaines finis designation : fd domain/2 schéma d appel : fd domain(+liste de variables FD,+liste d entiers) ou fd domain(variable FD,+liste d entiers) description : fd domain(l,valeurs) ou fd domain(x,valeurs) (Valeurs : liste de valeurs)

74 Prédicats prédéfinis en Gnu-Prolog contraintes arithmétiques : consistance d arc partielle Expr1 et Expr2 : deux expressions arithmétiques égalité : Expr1 = Expr2 inégalité : Expr1 \ = Expr2 inférieur : Expr1 < Expr2 inférieur ou égal : Expr1 =< Expr2 supérieur : Expr1 > Expr2 supérieur ou égal : Expr1 >= Expr2

75 Prédicats prédéfinis en Gnu-Prolog contraintes arithmétiques : consistance d arc totale Expr1 et Expr2 : deux expressions arithmétiques égalité : Expr1 = Expr2 inégalité : Expr1 \ = Expr2 inférieur : Expr1 < Expr2 inférieur ou égal : Expr1 =< Expr2 supérieur : Expr1 > Expr2 supérieur ou égal : Expr1 >= Expr2

76 Prédicats prédéfinis en Gnu-Prolog contraintes booléennes Expr1 et Expr2 : deux expressions booléennes équivalence : Expr1 <=> Expr2 non équivalence : Expr1 \ <=> Expr2 non : Expr1 \ Expr2 ou : Expr1 \/ Expr2 ou exclusif : Expr1 Expr2 supérieur ou égal : Expr1 /\ Expr2

77 Prédicats prédéfinis en Gnu-Prolog contraintes de cardinalité : contraintes sur le nombre de contraintes satisfaites fd cardinality/2 fd cardinality/3 fd at least one/1 fd at most one/1 fd only one/1

78 Prédicats prédéfinis en Gnu-Prolog contraintes symboliques fd all different/1 : contraint les variables de la liste à prendre des valeurs différentes 2 à 2 fd relation/2 : définition des contraintes en extension fd element/3 : contraint une variable à prendre une valeur de rang donné dans une liste fd element var/3 : contraint une variable à prendre une valeur fd atmost/3 : contraint au moins une variable à prendre une valeur dans une liste de valeurs fd atleast/3 : contraint au plus une variable à prendre une valeur dans une liste de valeurs fd exactly/3 : contraint exactement une variable à prendre une valeur dans une liste de valeurs

79 Prédicats prédéfinis en Gnu-Prolog résolution designation : fd labeling/1 schéma d appel : fd labeling(+liste de variables FD) description : fd labeling(l) : affecte une valeur à chaque variable FD de L afin de satisfaitre toutes les contraintes exemple Problème des 4 reines : déclaration des 4 variables X1, X2, X3 et X4 écriture des contraintes sur X1, X2, X3 et X4 rechercher d une solution : fd labeling([x1,x2,x3,x4])

80 Prédicats prédéfinis en Gnu-Prolog résolution designation : fd labeling/2 schéma d appel : fd labeling(+liste de variables FD,+liste d options) description : fd labeling(l,o) : affecte une valeur à chaque variable FD de L afin de satisfaitre toutes les contraintes. O : liste d options pour l ordre d affectation des variables exemple Problème des 4 reines résolution avec heuristique echec-d abord : fd labeling([x1,x2,x3,x4],[variable method(first fail)])

81 PLC(FD)avec Gnu-Prolog Méthodologie définir le(s) domaine(s) fini(s) et déclarer les variables description des contraintes résolution exemple problem([x, Y, Z]) :- fd domain(x, 0, 5), fd domain([y,z], 3, 7), X+Y < 2 * Z, fd labeling([x, Y, Z],[]).

82 PLC(FD) avec Gnu-Prolog Exemple problem([x, Y, Z]) :- fd domain(x, 0, 5), fd domain([y,z], 3, 7), X+Y < 2 * Z, fd labeling([x, Y, Z],[]).?- problem(l).?- L = [0, 3, 3]?;?- L = [0, 3, 4]?;?- L = [0, 3, 5]?;

Cours de Master Recherche

Cours 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étail

Bases de données Cours 5 : Base de données déductives

Bases de données Cours 5 : Base de données déductives Cours 5 : ESIL Université de la méditerranée Odile.Papini@esil.univmed.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 Introduction 2 approche sémantique approche axiomatique

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

Intelligence Artificielle Planification

Intelligence 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étail

Stratégie de recherche adaptative en programmation par contrainte

Stratégie de recherche adaptative en programmation par contrainte Université Paul Sabatier École Nationale de l Aviation Civile Master 2 Recherche Informatique et Télécommunication parcours Intelligence Artificielle Simon Marchal Stratégie de recherche adaptative en

Plus en détail

Fondements de l informatique Logique, modèles, et calculs

Fondements de l informatique Logique, modèles, et calculs Fondements de l informatique Logique, modèles, et calculs Cours INF423 de l Ecole Polytechnique Olivier Bournez Version du 20 septembre 2013 2 Table des matières 1 Introduction 9 1.1 Concepts mathématiques........................

Plus en détail

Utilisation des tableaux sémantiques dans les logiques de description

Utilisation des tableaux sémantiques dans les logiques de description Utilisation des tableaux sémantiques dans les logiques de description IFT6281 Web Sémantique Jacques Bergeron Département d informatique et de recherche opérationnelle Université de Montréal bergerja@iro.umontreal.ca

Plus en détail

1/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/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étail

Intelligence artificielle appliquée à l automatique

Intelligence artificielle appliquée à l automatique Intelligence artificielle appliquée à l automatique par Sylviane GENTIL Professeur à l École nationale supérieure d ingénieurs électriciens Institut national polytechnique de Grenoble 1. Définitions et

Plus en détail

Systèmes décisionnels et programmation avancée

Systèmes décisionnels et programmation avancée Systèmes décisionnels et programmation avancée M1 SIR Philippe Muller et Mustapha Mojahid, Matthieu Serrurier, Marie-Christine Scheix 2014-2015 Introduction structure du cours intervenants introduction

Plus en détail

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation Master STIC «Image Informatique et Ingénierie» Module Informatique Modèles de représentation - 10h CM Nadine Cullot Kokou Yétongnon nadine.cullot@u-bourgogne.fr kokou.yetongnon@u-bourgogne.fr 1ère partie

Plus en détail

Grammaires d unification

Grammaires d unification Cours sur le traitement automatique des langues (IV) Violaine Prince Université de Montpellier 2 LIRMM-CNRS Grammaires d unification Grammaire catégorielle Grammaire syntagmatique généralisée (GPSG) Les

Plus en détail

Résolution d équations non linéaires

Résolution d équations non linéaires Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique Contenu Introduction Modélisation Problèmes de satisfaction des contraintes Exemples des modèles PPC simples

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche 1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de

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

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

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

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. 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étail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

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

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes 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étail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

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

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

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

Programmation linéaire

Programmation 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é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

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation

Plus en détail

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

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

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

Chapitre 2. Eléments pour comprendre un énoncé

Chapitre 2. Eléments pour comprendre un énoncé Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données

Plus en détail

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire 2008-2009. Gérard Verfaillie ONERA/DCSD/CD, Toulouse Gerard.Verfaillie@onera.

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire 2008-2009. Gérard Verfaillie ONERA/DCSD/CD, Toulouse Gerard.Verfaillie@onera. Cours Optimisation Partie Optimisation Combinatoire 3ième année ISAE Année scolaire 2008-2009 Gérard Verfaillie ONERA/DCSD/CD, Toulouse Gerard.Verfaillie@onera.fr Septembre 2008 Résumé Ce document couvre

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

Resolution limit in community detection

Resolution limit in community detection Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.

Plus en détail

L apport des contraintes globales pour la modélisation et la résolution d applications industrielles

L apport des contraintes globales pour la modélisation et la résolution d applications industrielles L apport des contraintes globales pour la modélisation et la résolution d applications industrielles A. Aggoun, N. Beldiceanu, E. Bourreau, H. Simonis COSYTEC SA, Parc Club Orsay Université 4, rue Jean

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

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

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1 Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation

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

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

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

Glossaire des nombres

Glossaire des nombres Glossaire des nombres Numérisation et sens du nombre (4-6) Imprimeur de la Reine pour l'ontario, 008 Nombre : Objet mathématique qui représente une valeur numérique. Le chiffre est le symbole utilisé pour

Plus en détail

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Algorithmique et Programmation Fonctionnelle

Algorithmique et Programmation Fonctionnelle Algorithmique et Programmation Fonctionnelle RICM3 Cours 9 : Lambda-calcul Benjamin Wack Polytech 2014-2015 1 / 35 La dernière fois Typage Polymorphisme Inférence de type 2 / 35 Plan Contexte λ-termes

Plus en détail

Logique : ENSIIE 1A - contrôle final

Logique : ENSIIE 1A - contrôle final 1 Logique : ENSIIE 1A - contrôle final - CORRIGÉ Mardi 11 mai 2010 - Sans documents - Sans calculatrice ni ordinateur Durée : 1h30 Les exercices sont indépendants. Exercice 1 (Logique du premier ordre

Plus en détail

Plus courts chemins, programmation dynamique

Plus 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étail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

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

Model checking temporisé

Model checking temporisé Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr ETR 07, 5 septembre 2007 1/44 Nécessité de vérifier des systèmes... 2/44 Nécessité de vérifier

Plus en détail

Maple: premiers calculs et premières applications

Maple: premiers calculs et premières applications TP Maple: premiers calculs et premières applications Maple: un logiciel de calcul formel Le logiciel Maple est un système de calcul formel. Alors que la plupart des logiciels de mathématiques utilisent

Plus en détail

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

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

M é ca n ism e Pr o lo g. Ex e m p le

M é ca n ism e Pr o lo g. Ex e m p le M é ca n ism e Pr o lo g Principe général : 5. on élimine L du but (le but est géré comme une pile de clauses) 1. on prend dans le but (clause ne contenant que des littéraux négatifs) le premier littéral

Plus en détail

Programmation par contraintes. Laurent Beaudou

Programmation 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étail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Algorithmes de recherche

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étail

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre IUFM du Limousin 2009-10 PLC1 Mathématiques S. Vinatier Rappels de cours Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre 1 Fonctions de plusieurs variables

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

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

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Intelligence Artificielle et Robotique

Intelligence Artificielle et Robotique Intelligence Artificielle et Robotique Introduction à l intelligence artificielle David Janiszek david.janiszek@parisdescartes.fr http://www.math-info.univ-paris5.fr/~janiszek/ PRES Sorbonne Paris Cité

Plus en détail

Codage d information. Codage d information : -Définition-

Codage d information. Codage d information : -Définition- Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale

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

Cours 1 : Qu est-ce que la programmation?

Cours 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étail

Les algorithmes de base du graphisme

Les 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étail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

Logique. Plan du chapitre

Logique. Plan du chapitre Logique Ce chapitre est assez abstrait en première lecture, mais est (avec le chapitre suivant «Ensembles») probablement le plus important de l année car il est à la base de tous les raisonnements usuels

Plus en détail

Qu est-ce qu une probabilité?

Qu est-ce qu une probabilité? Chapitre 1 Qu est-ce qu une probabilité? 1 Modéliser une expérience dont on ne peut prédire le résultat 1.1 Ensemble fondamental d une expérience aléatoire Une expérience aléatoire est une expérience dont

Plus en détail

Demande d admission au Centre pédagogique Lucien-Guilbault Secteur primaire

Demande d admission au Centre pédagogique Lucien-Guilbault Secteur primaire Date d envoi : Demande d admission au Centre pédagogique Lucien-Guilbault Secteur primaire QUESTIONNAIRE AU TITULAIRE Ce document doit être complété par le titulaire de classe et/ou par l orthopédagogue

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

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-

Plus en détail

Université de Bangui. Modélisons en UML

Université 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étail

TP 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 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étail

Contrainte de flot pour RCPSP avec temps de transfert

Contrainte de flot pour RCPSP avec temps de transfert Contrainte de flot et x-rcpsc T 1 Contrainte de flot pour RCPSP avec temps de transfert PS temp, s ij Cmax BENOIST Thierry BOUYGUES/e-Lab DIAMANTINI Maurice ENSTA/LMA Contrainte de flot et x-rcpsc T Présentation

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Filtrage stochastique non linéaire par la théorie de représentation des martingales Filtrage stochastique non linéaire par la théorie de représentation des martingales Adriana Climescu-Haulica Laboratoire de Modélisation et Calcul Institut d Informatique et Mathématiques Appliquées de

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

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

Intégration et probabilités TD1 Espaces mesurés Intégration et probabilités TD1 Espaces mesurés 2012-2013 1 Petites questions 1) Est-ce que l ensemble des ouverts de R est une tribu? 2) Si F et G sont deux tribus, est-ce que F G est toujours une tribu?

Plus en détail

Algorithmique des Systèmes Répartis Protocoles de Communications

Algorithmique des Systèmes Répartis Protocoles de Communications Algorithmique des Systèmes Répartis Protocoles de Communications Master Informatique Dominique Méry Université de Lorraine 1 er avril 2014 1 / 70 Plan Communications entre processus Observation et modélisation

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

Table des matières. I Mise à niveau 11. Préface

Table des matières. I Mise à niveau 11. Préface Table des matières Préface v I Mise à niveau 11 1 Bases du calcul commercial 13 1.1 Alphabet grec...................................... 13 1.2 Symboles mathématiques............................... 14 1.3

Plus en détail

Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle

Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) PLANIFICATION DE TÂCHES DANS MS PROJECT IFT702 Planification en intelligence artificielle Présenté à M. Froduald KABANZA

Plus en détail

TP3 : Manipulation et implantation de systèmes de fichiers 1

TP3 : Manipulation et implantation de systèmes de fichiers 1 École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande

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

4.2 Unités d enseignement du M1

4.2 Unités d enseignement du M1 88 CHAPITRE 4. DESCRIPTION DES UNITÉS D ENSEIGNEMENT 4.2 Unités d enseignement du M1 Tous les cours sont de 6 ECTS. Modélisation, optimisation et complexité des algorithmes (code RCP106) Objectif : Présenter

Plus en détail

Cours d Informatique

Cours d Informatique Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1

Plus en détail

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

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation IFIPS S7 - informatique Université Paris-Sud 11 1er semestre 2009/2010 Théorie des Graphes Cours 3: Forêts et Arbres II / 1 Forêts et arbres II Théorème 1.1. Les assertions suivantes sont équivalentes

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

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