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

aima.core.logic.fol.kb.data.CNF Maven / Gradle / Ivy

Go to download

AIMA-Java Core Algorithms from the book Artificial Intelligence a Modern Approach 3rd Ed.

The newest version!
package aima.core.logic.fol.kb.data;

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

/**
 * Conjunctive Normal Form (CNF) : a conjunction of clauses, where each clause
 * is a disjunction of literals.
 * 
 * @author Ciaran O'Reilly
 * 
 */
public class CNF {

	private List conjunctionOfClauses = new ArrayList();

	public CNF(List conjunctionOfClauses) {
		this.conjunctionOfClauses.addAll(conjunctionOfClauses);
	}

	public int getNumberOfClauses() {
		return conjunctionOfClauses.size();
	}

	public List getConjunctionOfClauses() {
		return Collections.unmodifiableList(conjunctionOfClauses);
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < conjunctionOfClauses.size(); i++) {
			if (i > 0) {
				sb.append(",");
			}
			sb.append(conjunctionOfClauses.get(i).toString());
		}

		return sb.toString();
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy