Classe che rappresenta un Problema di Soddisfacimento di Vincoli (Constraint Statisfaction Problem)
| CSProblem () Costruttore di default | |
| CSProblem (const CSProblem& csp) Costruttore per copia | |
| ~CSProblem () Distruttore | |
| operator= (const CSProblem& csp) Operatore di assegnamento | |
| readProgram (const std::string& program) throw(ParserException) Inizializza il CSProblem leggendo il programma da una stringa | |
| toString () const Restituisce una stringa contenente il listato del programma | |
| addVariable (Variable *v) Aggiunge una nuova variabile | |
| delVariable (Variable *v) Elimina una variabile e tutti i vincoli in cui è coinvolta | |
| addVariable (const std::string& v) throw(ParserException) Aggiunge una nuova variabile di nome v | |
| delVariable (const std::string& v) throw(VarException) Elimina una variabile e tutti i vincoli in cui è coinvolta dato il suo nome v | |
| isDeclared (const std::string& v) const Dice se una variabile e' stata dichiarata dato il suo nome | |
| getVariable (const std::string& v) const throw(VarException) Restituisce una variabile dato il suo nome (se esiste) | |
| getVariables () const Restituisce la lista di tutte le variabili | |
| addConstraint (Constraint *c) throw(VarException) Aggiunge un vincolo al problema | |
| delConstraint (Constraint *c) Elimina un vincolo del problema | |
| addConstraint (const std::string &v) throw(VarException, ParserException) Aggiunge un vincolo al problema data una stringa che ne rappresenta l'espressione | |
| getConstraints () const Restituisce la lista dei vincoli | |
| getCurrentVariable () const Restituisce la variabile appena istanziata | |
| getFutureVariables () const Restituisce la lista delle variabili non ancora istanziate | |
| getIstantiatedVariables () const Restituisce la lista delle variabili già istanziate | |
| getInvolvedVariables (Constraint *c) const throw(VarException) Restituisce la lista delle variabili coinvolte in un vincolo | |
| getInvolvedVariables (ConstraintVector *c) const throw(VarException) Restituisce la lista delle variabili coinvolte in almeno uno dei vincoli | |
| getConstraints (Variable *v) const Restituisce la lista dei vincoli che contengono la variabile specificata | |
| getConstraints (VarVector *v) const Restituisce la lista dei vincoli che contengono ognuno tutte le variabili specificate | |
| setPropagationAlgorithm (PropagationAlgorithm *p) Imposta l'algoritmo di propagazione | |
| setVariableHeuristic (VariableHeuristic *v) Imposta l'euristica di scelta della variabile | |
| setValueHeuristic (ValueHeuristic *v) Imposta l'euristica di scelta del valore | |
| setNumSolutions (int n) Imposta il numero di soluzioni richieste | |
| setAllSolutions () Imposta la richiesta di avere in uscita tutte le soluzioni | |
| getPropagationAlgorithm () const Restituisce l'algoritmo di propagazione | |
| getVariableHeuristic () const Restituisce l'euristica di scelta della variabile | |
| getValueHeuristic () const Restituisce l'euristica di scelta del valore | |
| getNumSolutions () const Restituisce il numero di soluzioni richieste | |
| applyArcConsistency () Crea un nuovo problema applicando l'arc-consistenza | |
| solve () throw(VarException) Risolve il problema utilizzando l'algoritmo di propagazione specificato in precedenza | |
| solveSB () throw(VarException) Risolve il problema utilizzando lo Standard Backtracking |
| numSolutions Indica quante soluzioni sono richieste | |
| curVar Puntatore alla variabile corrente | |
| vv Contiene le variabili del problema | |
| cv Contiene i vincoli del problema | |
| propAlgorithm Algoritmo di propagazione | |
| varHeuristic Euristica di scelta della variabile | |
| valHeuristic Euristica di scelta del valore | |
| varStack Stack per il salvataggio dello stato delle variabili |
| solve1 (SolutionVector *sv) throw(VarException) Funzione ausiliaria di risoluzione | |
| solve2 (SolutionVector *sv) throw(VarException) Funzione ausiliaria di risoluzione | |
| solveSB1 (SolutionVector *sv) throw(VarException) Funzione ausiliaria di risoluzione per lo Standard BackTracking | |
| solveSB2 (SolutionVector *sv) throw(VarException) Funzione ausiliaria di risoluzione per lo Standard BackTracking | |
| noEmptyDomains () const Verifica che non ci siano variabili con dominio vuoto | |
| checkConstraints () const throw(VarException) Verifica se ci sono vincoli violati dalle variabili istanziate | |
| allIstantiatedVariables () const Verifica se tutte le variabili sono istanziate | |
| storeVariables () Salva lo stato attuale delle variabili nello stack | |
| restoreVariables () Ripristina lo stato precedente delle variabili dallo stack |
Classe che rappresenta un Problema di Soddisfacimento di Vincoli (Constraint Statisfaction Problem)
CSProblem(const CSProblem& csp)
~CSProblem()
CSProblem& operator=(const CSProblem& csp)
void readProgram(const std::string& program) throw(ParserException)
std::string toString() const
void addVariable(Variable *v)
void delVariable(Variable *v)
void addVariable(const std::string& v) throw(ParserException)
void delVariable(const std::string& v) throw(VarException)
bool isDeclared(const std::string& v) const
Variable* getVariable(const std::string& v) const throw(VarException)
VarVector* getVariables() const
void addConstraint(Constraint *c) throw(VarException)
void delConstraint(Constraint *c)
void addConstraint(const std::string &v) throw(VarException, ParserException)
ConstraintVector* getConstraints() const
Variable* getCurrentVariable() const
VarVector* getFutureVariables() const
VarVector* getIstantiatedVariables() const
VarVector* getInvolvedVariables(Constraint *c) const throw(VarException)
VarVector* getInvolvedVariables(ConstraintVector *c) const throw(VarException)
ConstraintVector* getConstraints(Variable *v) const
ConstraintVector* getConstraints(VarVector *v) const
void setPropagationAlgorithm(PropagationAlgorithm *p)
void setVariableHeuristic(VariableHeuristic *v)
void setValueHeuristic(ValueHeuristic *v)
void setNumSolutions(int n)
void setAllSolutions()
PropagationAlgorithm* getPropagationAlgorithm() const
VariableHeuristic* getVariableHeuristic() const
ValueHeuristic* getValueHeuristic() const
int getNumSolutions() const
CSProblem* applyArcConsistency()
SolutionVector* solve() throw(VarException)
SolutionVector* solveSB() throw(VarException)
bool solve1(SolutionVector *sv) throw(VarException)
bool solve2(SolutionVector *sv) throw(VarException)
bool solveSB1(SolutionVector *sv) throw(VarException)
bool solveSB2(SolutionVector *sv) throw(VarException)
bool noEmptyDomains() const
bool checkConstraints() const throw(VarException)
bool allIstantiatedVariables() const
void storeVariables()
void restoreVariables()
int numSolutions
Variable* curVar
VarVector* vv
ConstraintVector* cv
PropagationAlgorithm* propAlgorithm
VariableHeuristic* varHeuristic
ValueHeuristic* valHeuristic
varStack
Alphabetic index HTML hierarchy of classes or Java