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

ai.libs.jaicore.planning.classical.problems.ce.CEAction Maven / Gradle / Ivy

package ai.libs.jaicore.planning.classical.problems.ce;

import java.util.HashMap;
import java.util.Map;

import ai.libs.jaicore.logic.fol.structure.CNFFormula;
import ai.libs.jaicore.logic.fol.structure.ConstantParam;
import ai.libs.jaicore.logic.fol.structure.Monom;
import ai.libs.jaicore.logic.fol.structure.VariableParam;
import ai.libs.jaicore.planning.core.Action;

@SuppressWarnings("serial")
public class CEAction extends Action {
	public CEAction(final CEOperation operation, final Map grounding) {
		super(operation, grounding);
	}

	public Map getAddLists() {
		Map addLists = new HashMap<>();
		CEOperation operation = ((CEOperation)this.getOperation());
		Map grounding = this.getGrounding();
		for (CNFFormula key : operation.getAddLists().keySet()) {
			CNFFormula condition = new CNFFormula(key, grounding);
			if (!condition.isObviouslyContradictory()) {
				addLists.put(condition, new Monom(operation.getAddLists().get(key), grounding));
			}
		}
		return addLists;
	}

	public Map getDeleteLists() {
		CEOperation operation = ((CEOperation)this.getOperation());
		Map grounding = this.getGrounding();
		Map deleteLists = new HashMap<>();
		for (CNFFormula key : operation.getDeleteLists().keySet()) {
			CNFFormula condition = new CNFFormula(key, grounding);
			if (!condition.isObviouslyContradictory()) {
				deleteLists.put(condition, new Monom(operation.getDeleteLists().get(key), grounding));
			}
		}
		return deleteLists;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy