All Downloads are FREE. Search and download functionalities are using the official Maven repository.

aima.core.search.csp.examples.NotEqualConstraint Maven / Gradle / Ivy

package aima.core.search.csp.examples;

import java.util.ArrayList;
import java.util.List;

import aima.core.search.csp.Assignment;
import aima.core.search.csp.Constraint;
import aima.core.search.csp.Variable;

/**
 * Represents a binary constraint which forbids equal values.
 * 
 * @author Ruediger Lunde
 */
public class NotEqualConstraint implements Constraint {

	private Variable var1;
	private Variable var2;
	private List scope;

	public NotEqualConstraint(Variable var1, Variable var2) {
		this.var1 = var1;
		this.var2 = var2;
		scope = new ArrayList(2);
		scope.add(var1);
		scope.add(var2);
	}

	@Override
	public List getScope() {
		return scope;
	}

	@Override
	public boolean isSatisfiedWith(Assignment assignment) {
		Object value1 = assignment.getAssignment(var1);
		return value1 == null || !value1.equals(assignment.getAssignment(var2));
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy