Documentation du code¶
-
class
psc.variable.Variable(nom, domaine, val=None)¶ Modelisation d’une variable dans un systeme de contraintes
-
__init__(nom, domaine, val=None)¶ Paramètres: - nom – nom de la variable
- domaine (list) – le domain de definition de la variable
- val – valeur de depart
-
taille_domaine()¶ La taille du domaine de definition de la variable
Retourne: la taille du domaine
-
-
class
psc.contrainte.Contrainte(variables)¶ Modelisation d’une contrainte (abstraite)
-
__init__(variables)¶ Paramètres: variables (list) – les variables concernees par la contrainte
-
dimension()¶ Retourne: le nombre de variables concernees par la contrainte
-
est_valide()¶ Teste si la contrainte est repectee par les valeurs actuelles
Retourne: Truesi la contrainte e valide
-
-
class
psc.contrainte.ContrainteBinaire(x1, x2, op)¶ Contrainte imposant une restriction sur deux variables
Exemple: x > y
-
__init__(x1, x2, op)¶ Exemples d’op:
lambda x,y: x != y,lambda x,y: x < yParamètres: - x1 – premiere variable concernee par la contrainte
- x2 – deuxieme variable concernee par la contrainte
- op – fonction ou lambda expression permettant de verifier la contrainte
-
est_possible(var)¶ Teste si le domaine de var contient au moins une valeur satisfaisant la contrainte
Retourne: Trues’il existe au moins une valeur satisfaisant la contrainte
-
est_valide(var, val)¶ Teste si la contrainte est valide quand la variable
var(une dex1oux2) prend la valeurvalNote: La contrainte unaire est respectee si l’operateur applique aux operands val, x2.val(sivarestx1) oux1.val, val(sivarestx2) retourneTrueRetourne: Truesi la contrainte e valide
-
propage(var)¶ Propage l’assignation d’une variable au label de la seconde.
Paramètres: var – la variable fixee Retourne: True si la contrainte est toujours satisfiable avec la valeur fixee
-
reviser()¶ Algorithme de revision des domaines
Pour chaque variable, verifie chaque valeur du domaine. Supprime les valeurs qui empechent la contrainte d’etre satisfaite du domaine. (cf: Algorithme de Waltz et REVISER dans le livre du cours)
Retourne: True si un des domaines a ete modifie
-
-
class
psc.contrainte.ContrainteUnaire(var, op)¶ Contrainte imposant une restriction sur la valeur d’une variable
Exemples: x > 0, y = 5, etc.
-
__init__(var, op)¶ Exemples d’op:
lambda x: x > 5,lambda x: x > 5 and x < 10Paramètres: - var – variable concernee par la contrainte
- op – fonction ou lambda expression permettant de verifier la contrainte
-
est_valide(val)¶ Teste si la contrainte est valide quand la variable
varprend la valeurvalNote: La contrainte unaire est respectee si l’operateur applique au operand valretourneTrueRetourne: Truesi la contrainte e valide
-