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 axiomecadre.ContrainteAxiomeCadre(var_pre, ops, var_post)

Contrainte forcant l’utilisation d’operateurs pour agir sur les variables d’un probleme.

__init__(var_pre, ops, var_post)
Paramètres:
  • var_pre – La variable au debut de l’etat - prop(Si)
  • var_ops (list) – Les variables correspondant aux opérateurs qui ont prop comme postcondition
  • var_post – La variable a la fin de l’etat - prop(Si+1)
est_valide(var, val)

Evalue la validite de la contrainte pour une valeur de variable donnee

L’evaluation est paresseuse: si au moins une variable n’est pas instanciee => return True. Sinon: si la variable change de valeur alors au moins une variable d’operateur doit etre True

Paramètres:
  • var – la variable a laquelle assigner la valeur
  • val – la valeur a assigner a var
Retourne:

True si la contrainte est valide pour la paire variable:valeur passee en parametre

propage(var)

Propage la nouvelle valeur d’une variable afin de verifier que la contrainte est toujours satisfiable

La propagation est paresseuse: elle retourne True si plus d’une variable n’a pas encore de valeur (None)

Paramètres:var – La variable ayant recu une nouvelle valeur
Retourne:True si la contrainte peut encore etre satisfaite
reviser()

Reviser n’est pas definie pour les contraintes n-aires

Retourne:False
class etat.Etat(no_etat, propositions, operateurs, etat_prec=None)

Un etat du plan

__init__(no_etat, propositions, operateurs, etat_prec=None)
Paramètres:
  • no_etat – numero de l’etat dans le plan
  • propositions (list) – liste des propositions de planification
  • operateurs (list) – liste des operateurs applicables dans le plan
  • etat_prec – l’etat precedent
construire_vars_operateurs(ops)

Construit les variables de l’etat representant l’utilisation des operateurs

construire_vars_propositions(props)

Construit les variables de propositions de l’etat courant.

Les variables initiales sont les variables finales de l’etat precedent sauf s’il n’en existe pas.

variables()

La liste des variables de l’etat (variables initiales, finales et d’operateurs)

Retourne:une liste de Variables
class operateur.Operateur(nom, preconditions, postconditions)

Operateur de planification

__init__(nom, preconditions, postconditions)
Paramètres:
  • nom – nom representant l’operateur
  • preconditions (list) – liste de Propositions necessaires a l’operation
  • postconditions (list) – liste de Proposition resultant de l’operation