public BreadthFirstSearch(QueueSearch search) { // Goal test is to be applied to each node when it is generated // rather than when it is selected for expansion. search.setCheckGoalBeforeAddingToFrontier(true); this._search = search; }
public UniformCostSearch(QueueSearch search) { this.search = search; if (search is GraphSearch) { ((GraphSearch)search) .setReplaceFrontierNodeAtStateCostFunction(_g); } }
public GreedyBestFirstSearch(QueueSearch search, HeuristicFunction hf) : base(search, new GreedyBestFirstEvaluationFunction(hf)) { }
public DepthFirstSearch(QueueSearch search) { this.search = search; }
public BestFirstSearch(QueueSearch search, EvaluationFunction ef) { this.search = search; evaluationFunction = ef; }
public AStarSearch(QueueSearch search, HeuristicFunction hf) : base(search, new AStarEvaluationFunction(hf)) { }