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

aima.core.logic.fol.domain.DomainFactory Maven / Gradle / Ivy

package aima.core.logic.fol.domain;

/**
 * @author Ravi Mohan
 * 
 */
public class DomainFactory {
	public static FOLDomain crusadesDomain() {
		FOLDomain domain = new FOLDomain();
		domain.addConstant("John");
		domain.addConstant("Richard");
		domain.addConstant("England");
		domain.addConstant("Saladin");
		domain.addConstant("Crown");

		domain.addFunction("LeftLegOf");
		domain.addFunction("BrotherOf");
		domain.addFunction("EnemyOf");
		domain.addFunction("LegsOf");

		domain.addPredicate("King");
		return domain;
	}

	public static FOLDomain knowsDomain() {
		FOLDomain domain = new FOLDomain();
		domain.addConstant("John");
		domain.addConstant("Jane");
		domain.addConstant("Bill");
		domain.addConstant("Elizabeth");
		domain.addFunction("Mother");
		domain.addPredicate("Knows");
		return domain;
	}

	public static FOLDomain weaponsDomain() {

		FOLDomain domain = new FOLDomain();
		domain.addConstant("West");
		domain.addConstant("America");
		domain.addConstant("M1");
		domain.addConstant("Nono");
		domain.addPredicate("American");
		domain.addPredicate("Weapon");
		domain.addPredicate("Sells");
		domain.addPredicate("Hostile");
		domain.addPredicate("Criminal");
		domain.addPredicate("Missile");
		domain.addPredicate("Owns");
		domain.addPredicate("Enemy");

		return domain;
	}

	public static FOLDomain kingsDomain() {
		FOLDomain domain = new FOLDomain();
		domain.addConstant("John");
		domain.addConstant("Richard");
		domain.addPredicate("King");
		domain.addPredicate("Greedy");
		domain.addPredicate("Evil");
		return domain;
	}

	public static FOLDomain lovesAnimalDomain() {
		FOLDomain domain = new FOLDomain();
		domain.addPredicate("Animal");
		domain.addPredicate("Loves");
		domain.addPredicate("Kills");
		domain.addPredicate("Cat");
		domain.addConstant("Jack");
		domain.addConstant("Tuna");
		domain.addConstant("Curiosity");
		return domain;
	}

	public static FOLDomain ringOfThievesDomain() {
		FOLDomain domain = new FOLDomain();
		domain.addPredicate("Parent");
		domain.addPredicate("Caught");
		domain.addPredicate("Friend");
		domain.addPredicate("Skis");
		domain.addConstant("Mike");
		domain.addConstant("Joe");
		domain.addConstant("Janet");
		domain.addConstant("Nancy");
		domain.addConstant("Ernie");
		domain.addConstant("Bert");
		domain.addConstant("Red");
		domain.addConstant("Drew");
		return domain;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy