AC3Solver
Keywords: yacs.solver.fdsolver.consistency.AC3Solver class

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## yacs.solver.fdsolver.consistency
Class AC3Solver

    java.lang.Object
      yacs.solver.ConsistencySolver
          yacs.solver.fdsolver.consistency.AC3Solver

All Implemented Interfaces:
  Solver

public class AC3Solver
extends ConsistencySolver

Einfacher Solver zum Herstellen von Kantenkonsistenz über finite Domänen mittels AC-3 nach Mackworth (1977, S. 106).

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
`AC3Solver()`

Method Summary
`boolean` | `arcSolve(Expression expr)` Einfacher Constraint-Solver, der Kantenkonsistenz mittels AC-3 herstellt.
`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

### AC3Solver

    public AC3Solver()

Method Detail

### arcSolve

    public boolean arcSolve(Expression expr)
                     throws OnlyBinaryConstraintsAllowedException,
                            InconsistencyException

  Einfacher Constraint-Solver, der Kantenkonsistenz mittels AC-3 herstellt. AC-3 kann ausschließlich binäre Constraints verarbeiten, d.h. es dürfen maximal zwei Variablen in jedem primitiven Ausdruck vorhanden sein! Liefert `true`, wenn Wertebereichseinschränkungen vorgenommen wurden, `false` wenn nicht.

  Parameters:
    `expr` - Expression
  Returns:
    boolean
  Throws:
    `OnlyBinaryConstraintsAllowedException`
    `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`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD