WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Résolution d'un problème de satisfaction de contraintes sur les intervalles

( Télécharger le fichier original )
par Gharsalli Sami Souibgui Mohamed Ali
Université de Monastir - Licence fondamentale en informatique  2015
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Introduction genérale

Sans contrainte, on tourne en rond.

Mathieu Chedid

Dans notre vie quotidienne on est en train de résoudre et de satisfaire des problèmes de contraintes sans le savoir.

Comment préparer un plat qui soit délicieux tout en prenant soin de notre santé?

Comment arriver à temps à destination sans faire des accidents?

Comment bien vivre selon nos moyens?

Ce types de taches n'exige pas d'algorithme sophistiquéou d'ordinateurs pour l'accomplir, mais on doit prendre en compte que les problèmes deviennent plus compliqués lorsque le nombre de variable et de contraintes croient, par exemple on trouve que ça prend du temps pour choisir un film qui satisfait un grand nombre d'amis. Imaginons maintenant, la difficultéet le temps qu'il faut pour faire le planning des voyages des trains. Il faut faire en sorte que les trains ne coïncident pas sur le même chemin, un conducteur ne peut pas conduire deux trains simultanément, les voyages doivent se faire dans un intervalle de temps limité, le nombre de voyageurs ne doit pas dépasser la capacitédu train tout en satisfaisant tous les voyageurs, etc... Donc, à chaque fois que la complexitédevient importante, on est obligéd'avoir recourt aux ordinateurs pour nous aider à trouver des solutions acceptables et efficaces en terme de temps.

Ce type de problème s'appelle Les problèmes de satisfaction des contraintes ou CSP (Constraint Sa-

tisfaction Problem) De nos jours, les CSP font le sujet de plusieurs recherches à la fois en intelligence

7

artificielle et en recherche opérationnelle. Ils sont notamment au coeur de la programmation par contraintes, un domaine fournissant des langages de modélisation de problèmes et des outils informatiques les résolvant [9].

Nous nous intéressons, dans ce projet de fin d'étude, à résoudre un problème CSP particulier. Dans un premier temps, nous étudierons les problèmes de satisfaction des contraintes, en général et quelques algorithmes déjàproposés pour les résoudre. Dans le Chapitre 3, nous allons poser le problème auquel nous nous intéressons puis nous montrons que les algorithmes étudiés dans le Chapitre 2 demande beaucoup de temps pour le résoudre. Ensuite, nous présentons notre propre algorithme, avec un exemple explicatif. Enfin, nous présenterons une partie d'évaluation dans laquelle nous listerons quelques résultats obtenues pour avoir une idée sur l'efficacitéde notre algorithme. Nous terminerons par une conclusion générale qui résume ce travail.

8

Chapitre 2

Problèmes de satisfaction de

contraintes

2.1 Qu'est-ce qu'une contrainte?

Une contrainte est une relation logique (une propriétéqui doit être vérifiée) entre différents inconnus, appelées variables, chacune prenant ses valeurs dans un ensemble donné, appelédomaine. Ainsi, une contrainte restreint les valeurs que peuvent prendre simultanément les variables. Par exemple, la contrainte »x + 3 x y = 12» restreint les valeurs que l'on peut affecter simultanément aux variables x et y.

2.1.1 Quelques caractéristiques des contraintes

Une contrainte est relationnelle : elle n'est pas »dirigée» comme une fonction qui définit la valeur d'une variable en fonction des valeurs des autres variables. Ainsi, la contrainte »x-2xy = z» permet de déterminer z dès lors que x et y sont connues, mais aussi x dès lors que y et z sont connues et y dès lors que x et z sont connues.

Notons également qu'une contrainte est déclarative : elle spécifie quelle relation on doit retrouver entre les variables, sans donner de procédure opérationnelle pour effectivement assurer/vérifier cette relation. Ainsi, lorsqu'on pose la contrainte »x - 2 x y = z», on ne s'occupe pas de donner un algorithme permettant de résoudre cette équation.

Notons enfin que l'ordre dans lequel sont posées les contraintes n'est pas significatif : la seule chose importante à la fin est que toutes les contraintes soient satisfaites (...cependant, dans certains langages de programmation par contraintes l'ordre dans lequel les contraintes sont ajoutées peut avoir une influence sur

9

l'efficacitéde la résolution...).

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre"   Paul Eluard