Quand le programme est un problème

Slides:



Advertisements
Présentations similaires
Sintaks : Tentative de guide de mise en œuvre Michel Hassenforder.
Advertisements

Résolution Graphique d'un Programme Linéaire
La Méthode de Simplexe Standardisation
ANIMATION PEDAGOGIQUE CIRCONSCRIPTION DE NICE III
Calculs de complexité d'algorithmes
Résolution de systémes par substitition et par élimination.
Droites et équations.
1 Intégration numérique garantie de systèmes décrits par des équations différentielles non-linéaires Application à l'estimation garantie d'état et de paramètres.
Équations et Résolution d’équations en classe de 4ème. Le B. O
Les appellations Calcul posé Calcul instrumenté Calcul mental
Activités Vocabulaire
Au départ, il y a : - une équation différentielle du premier degré
CHAPITRE 8 Equations - Inéquations
Par Clément en vacances sur la Côte d’Azur Le 15 Avril 2012
S.T.S. S.I.O. 1ère année La gestion de projets
GAGNEZ OU PERDRE LES RECOMPENSES PAR DR. JL WILLIAMS JL, PATT & FRIENDS Séries Principes Bibliques pour la Vie.
Systèmes d’équations du premier degré à deux variables
Introduction à l’algorithmique
PRESENTATION DE LA « PHILOSOPHIE » DU PROGRAMME DE TERMINALE S.
Partie N°3 Le comptage des points La feuille d’arbitrage.
Les jeux (méthodes min-max et -)
Par Jonathan Bergeron Martin. Système déquations : Ensemble de plusieurs équations. Résolution dun système déquations : Déterminer la valeur.
CHAPITRE 9 Equations - Inéquations
Méthodes d’analyse des circuits
Algorithme d’addition #1
Méthode des k plus proches voisins
Chapitre 1 NOMBRES RELATIFS 1) Multiplication 2) Division 3) Équation.
Problème Pondichéry Juin 2003
1.c. Correction paraxiale (Davis) 1/4
Fonction partie entière
Résolution d’équation du second degré
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Programmation linéaire en nombres entiers : la méthode du simplexe
Élimination simple avec consolation et élimination double
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
EXERCICES D’ARITHMETIQUES
ÉQUILIBRES ENTRE PHASES D’UN MÊME CORPS PUR
4.8 Le mouvement circulaire non-uniforme ( m.c.n.u )
Pour préparer le permis de conduire, Max dispose dun budget de 400 pour prendre ses leçons. Une leçon coûte 25. Avec un tel budget, combien de leçon est-il.
Fonction partie entière
Inéquations du premier degré à une inconnue
Programmation dynamique
Inéquations du premier degré à une inconnue
Programmation linéaire en nombres entiers : les méthodes de troncature
Modélisation géométrique de base
Citation Organisation  Dans un premier temps, nous présenterons la résolution mathématique du problème des congruences simultanées avec des différents.
TournoisEVT par équipes Règles: Lors d’un tournoiEVT par équipes, deux équipes s’affrontent. Les équipes sont constitués de 4 joueurs. Tous les joueurs.
Inéquations du premier degré à une inconnue
Equations du premier degré à une inconnue (rappel)
Multiprécision.
L’évaluation.
Programmation linéaire en nombres entiers
Équilibrer une réaction chimique
IFIPS Info 5 – 2004 / 2005 Projet de Résolution de Contraintes JEU DE L’AWELE AMARAL – FILLIAT – LANGLAIS – PETIT – SCHILLER.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
REVISIONS POINTS COMMUNS
Johnny Hallyday J'ai un problème.
Soit une plaque de dimension 80 X 40, les côtes sont données en cm
Chapitre 8: Solutions à certains exercices
Points de victoires : faire la somme des points des unités ennemies détruites (page 86) y ajouter le nombre de points de vos unités opérationnelles et/ou.
Et si on jouait au rugby ?.
Note à l’enseignant : les réponses sont sous les loupes. Il s’agit de faire glisser la loupe et la réponse sera dévoilée.
METHODE ALGEBRIQUE DE RESOLUTION D’ UN PROBLEME
Programme linéaire - solution graphique
Les « Pistes » : Témoignages des élèves du collège Louis-Philippe
Ligue Côte Basque Béarn Landes de tennis 2013 J-J C Les Bases 8 ans (2 ème partie)
Ligue Côte Basque Béarn Landes de tennis 2013 J-J C Les Bases 9 / 10 ans (2 ème partie)
Quelles sont les différentes manières de gérer un conflit? Eléments tirés du livre Oser la relation Exister sans écraser Auteur(s) : Serck Isabelle / Eliat.
1 UE Intro. Optimisation L3 INFO UPSud II. Programmation linéaire en variables entières (ou mixtes)
Instants magiques Automatique.
Transcription de la présentation:

Quand le programme est un problème Propagation de contrainte et programmation automatique 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique PLAN Quelques mots d’ALICE Son extension : RABBIT 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique ALICE Un langage déclaratif pour poser les problèmes Un résolveur général incorporant des méthodes de résolution variées qui s’appliquent de manière non déterminée à l’avance Un niveau « méta » qui choisit à tout instant la meilleure méthode à appliquer sur le (sous-) problème à résoudre i.e. compte-tenu des choix déjà faits et des implications déjà déduites 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique ALICE, un exemple : trouver les solutions entières positives de l’équation : x3 + 119 = 66 x Tout d’abord, on déduit : x3 < 66 x i.e. x2 < 66 , soit x  8 Donc x  [1, 8] 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique x3 + 119 = 66 x Raisonnons sur les parités. 119 est impair, 66 x est pair x, donc x3 est impair, donc x est impair. D’où x  {1, 3, 5, 7} 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique x3 + 119 = 66 x Raisonnons sur les intervalles. x  [1, 7], d’où l’équation sur les intervalles : [1, 343] + [119, 119] = [66, 462] i.e. : [120, 462] = [66, 462] On tient compte de l’égalité des intervalles : 66 x  [120, 462] donc : x  [ 120 /66, 462/66] Soit : x  [2, 7] mais compte-tenu des valeurs possibles de x, on obtient finalement x  {3, 5, 7} 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique x3 + 119 = 66 x Raisonnons encore sur les intervalles. On a : x  [3, 7], d’où : [27, 343] + [119, 119] = [198, 462] i.e. : [146, 462] = [198, 462] On tient compte de l’égalité des intervalles : x3 + 119  [198, 462] donc : x3  [79, 343] x3  79  x  5, donc : x  [5, 7] on obtient finalement x  {5, 7} 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique x3 + 119 = 66 x Raisonnons toujours sur les intervalles. On a : x  [5, 7], d’où : [125, 343] + [119, 119] = [330, 462] i.e. : [244, 462] = [330, 462] On tient compte de l’égalité des intervalles : x3 + 119  [330, 462] donc : x3  [211, 343] x3  211  x  6, donc : x  [6, 7] on obtient finalement la solution x  {7} 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique x3 + 119 = 66 x Résolution par RABBIT. idem : x3 < 66 x, soit x  8 Puis RABBIT déduit : x3 º 15 x modulo 17 (vient de 119 = 717 et 66=317+15) D’où x2 º 15 modulo 17 car x  17 (vient de x (x2 – 15) º 0 modulo 17, avec la règle : ab º 0 modulo k se réécrit (a º 0 modulo k) ou (b º 0 modulo k) si k premier) Donc : x2 = p  17 + 15 et p {1, 2} puis énumération sur p 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique Un petit problème posé par Jean-Louis Laurière. Trois joueurs A, B, C organisent un tournoi d’échecs, chaque joueur dispute 7 parties contre chacun de ses 2 adversaires. A l’issue du tournoi, A déclare : je suis satisfait, car c’est moi qui ai gagné le plus de parties B déclare : je suis satisfait, car c’est moi qui ai perdu le moins de parties C déclare : je suis satisfait, car j’ai gagné le tournoi Combien C a-t-il fait de parties nulles ? 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique Modélisation du problème GAB, NAB, GBC, NBC, GAC, NAC  [0, 7] GAB + NAB <= 7 GBC + NBC <= 7 GAC + NAC <= 7 2 GAB + GAC + NAB - GBC >= 8 GAB + 2 GAC + GBC + NBC + NAC >= 15 2 GAB - GBC + GAC - NBC + NAB + NAC <= 6 - GAB + GAC + 2 GBC + NBC >= 8 2 GAB + 2 GBC + 4 GAC + NBC + NAB + 2 NAC <= 27 - 2 GAB + 2 GAC + 4 GBC + 2 NBC - NAB + NAC <= 13 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique SIREN : un système expert de génération automatique de programmes résolvant des problèmes Problème combinatoire Manipulation formelles de contraintes Propagation de contraintes Génération du programme d’énumération Compilation et exécution du programme Solutions du problème combinatoire 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique SIREN : structure des programmes générés pour toute valeur de GAB pour toute valeur de NAB si (GAB + NAB)  7 alors pour toute valeur de GBC pour toute valeur de NBC etc. pour toute valeur de GAC si contraintes résiduelles satisfaites alors écriture de la solution fin si fin pour 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique RABBIT : extension d’ALICE Il existe des cas où le schéma choix + propagation n’est pas efficace La résolution après propagation est bien avancée Il reste peu de contraintes mais difficiles à analyser Il faut énumérer Le domaine de recherche est encore grand Il faut énumérer de manière très efficace, donc avec un programme d’énumération compilé 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique RABBIT : programmes générés Il faut déterminer l’ordre d’instanciation des variables et de prise en compte des contraintes Tant qu'il existe des contraintes Associer un poids à chaque opérateur de chacune des contraintes restantes = <= >= != " $ ==> autres 100 30 30 2 20 10 5 1 Diviser ce poids par le nombre de variables de la contrainte. Associer une masse à chaque inconnue : masse de xi = nombre d'occurrences de xi dans l'ensemble des contraintes affectées de leur poids et du coefficient multiplicateur de xi quand il existe. Déterminer la contrainte dont la masse est la plus forte. Empiler cette contrainte et les variables qu'elle concerne dans l'ordre de leurs masses et ignorer dorénavant cette contrainte. Fin Tantque. 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique RABBIT : programmes générés compilation des contraintes Exemples : Cas des inégalités Haut(i1) + Haut(i2) + Haut(i3) + 6 < hauteur est traduit en : Si ( Haut(i1) + Haut(i2) + Haut(i3) + 6 < hauteur) Cas du "Quel que soit" "i Î [4, K] P(i) donne : Pour ( i= 4; i<= K; i++) Si !P(i) Alors échec Cas du "Il existe" $i Î [K, K+4] P(i) donne : ok= 0; Pour ( i= K; i<= K+4; i++) Si P(i) Alors ok= 1. Si !ok Alors échec. Cas des implications V(i) < n  W(V(i)) = V(i+1) devient : Si V(i) < n alors Si W(V(i)) != V(i+1) alors échec 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique RABBIT : extension d’ALICE Propagation de contraintes choix Propagation de contraintes Propagation de contraintes Propagation de contraintes choix choix choix Génération d’un programme Propagation de contraintes Propagation de contraintes Génération d’un programme Propagation de contraintes Génération d’un programme choix échecs échec Génération d’un programme Propagation de contraintes échecs solutions solution solution solution 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE

Propagation de contrainte et programmation automatique RABBIT : parallélisation ? Propagation de contraintes choix Propagation de contraintes Propagation de contraintes Propagation de contraintes choix choix choix Génération d’un programme Génération d’un programme Génération d’un programme Génération d’un programme Propagation de contraintes Génération d’un programme échecs échec Génération d’un programme échecs solutions solution échecs solution 22 mars 2006 Journée scientifique en l'honneur de Jean-Louis LAURIERE