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

ai.libs.jaicore.search.syntheticgraphs.graphmodels.degenerated.DegeneratedGraphSearchProblem Maven / Gradle / Ivy

package ai.libs.jaicore.search.syntheticgraphs.graphmodels.degenerated;

import java.util.Random;

import org.api4.java.ai.graphsearch.problem.implicit.graphgenerator.INodeGoalTester;

import ai.libs.jaicore.search.probleminputs.GraphSearchInput;
import ai.libs.jaicore.search.syntheticgraphs.graphmodels.ITransparentTreeNode;
import ai.libs.jaicore.search.syntheticgraphs.graphmodels.degenerated.DegeneratedGraphGeneratorGenerator.DegeneratedGraphGenerator;
import ai.libs.jaicore.search.syntheticgraphs.graphmodels.degenerated.DegeneratedGraphGeneratorGenerator.TreeNode;

public class DegeneratedGraphSearchProblem extends GraphSearchInput {

	public DegeneratedGraphSearchProblem(final Random r, final int deadEndsPerGeneration, final int branchingFactor, final int depth) {
		super(new DegeneratedGraphGeneratorGenerator(r, deadEndsPerGeneration, branchingFactor, depth).build(), new INodeGoalTester() {

			@Override
			public boolean isGoal(final ITransparentTreeNode node) {
				return !((TreeNode)node).hasChildren;
			}
		});
	}

	@Override
	public DegeneratedGraphGenerator getGraphGenerator() {
		return (DegeneratedGraphGenerator)super.getGraphGenerator();
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy