yacs.solver.fdsolver.consistency
Class ACSolver

java.lang.Object
  extended byyacs.solver.ConsistencySolver
      extended byyacs.solver.fdsolver.consistency.ACSolver
All Implemented Interfaces:
Solver

public class ACSolver
extends ConsistencySolver

Einfacher Algorithmus zum Herstellen von Kantenkonsistenz über finite Domänen nach Marriott und Stuckey (1999, S. 94).

Copyright (C) 2005 Wolfgang Runte

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Version:
YACS 0.1.1
Author:
Wolfgang Runte (woru@tzi.org)

Constructor Summary
ACSolver()
           
 
Method Summary
 boolean arcSolve(Expression expr)
          Einfacher Algorithmus zum Herstellen von Kantenkonsistenz.
 boolean propagate(ConstraintNet constraintNet)
          Benötigt als Eingabe ein Constraint-Netz.
 
Methods inherited from class yacs.solver.ConsistencySolver
evaluate
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ACSolver

public ACSolver()
Method Detail

arcSolve

public boolean arcSolve(Expression expr)
                 throws InconsistencyException
Einfacher Algorithmus zum Herstellen von Kantenkonsistenz. Liefert true, wenn Wertebereichseinschränkungen vorgenommen wurden, false wenn nicht.

Parameters:
expr - Expression
Returns:
boolean
Throws:
InconsistencyException

propagate

public boolean propagate(ConstraintNet constraintNet)
                  throws InconsistencyException
Benötigt als Eingabe ein Constraint-Netz. Liefert true, wenn Wertebereichseinschränkungen vorgenommen wurden, false wenn nicht.

Specified by:
propagate in class ConsistencySolver
Parameters:
constraintNet - ConstraintNet
Returns:
boolean
Throws:
InconsistencyException