/// <summary> /// Constructs the transition candidates collection. /// </summary> /// <param name="problem">Planning problem.</param> /// <param name="heuristic">Heuristic.</param> /// <param name="maxSize">Maximal size of the collection.</param> public BeamSearchTransitionCandidates(ISearchableProblem problem, ISearchableHeuristic heuristic, int maxSize) { Problem = problem; Heuristic = heuristic; MaxSize = maxSize; }
/// <summary> /// Constructs the multi-heuristic A* search procedure. /// </summary> /// <param name="problem">Planning problem.</param> /// <param name="heuristic">Heuristic.</param> public MultiHeuristicAStarSearch(ISearchableProblem problem, ISearchableHeuristic heuristic) : this(problem, new List <ISearchableHeuristic> { heuristic }) { }
/// <summary> /// Constructs the Hill-Climbing search procedure. /// </summary> /// <param name="problem">Planning problem.</param> /// <param name="heuristic">Heuristic.</param> /// <param name="loggingEnabled">Is logging of the search enabled?</param> /// <param name="timeLimitOfSearch">Time limit of the search.</param> /// <param name="memoryLimitOfStates">Memory limit of searched nodes.</param> public HillClimbingSearch(ISearchableProblem problem, ISearchableHeuristic heuristic, bool loggingEnabled, TimeSpan timeLimitOfSearch, long memoryLimitOfStates) : base(problem, heuristic, loggingEnabled, timeLimitOfSearch, memoryLimitOfStates) { }
/// <summary> /// Constructs the heuristic search procedure for the given planning problem. /// </summary> /// <param name="problem">Planning problem.</param> /// <param name="heuristic">Heuristic.</param> /// <param name="loggingEnabled">Is logging of the search enabled?.</param> /// <param name="timeLimitOfSearch">Time limit of the search.</param> /// <param name="memoryLimitOfStates">Memory limit of searched nodes.</param> protected HeuristicSearch(ISearchableProblem problem, ISearchableHeuristic heuristic, bool loggingEnabled, TimeSpan timeLimitOfSearch, long memoryLimitOfStates) : this(problem, heuristic, loggingEnabled) { TimeLimitOfSearch = timeLimitOfSearch; MemoryLimitOfStates = memoryLimitOfStates; }
/// <summary> /// Constructs the Hill-Climbing search procedure. /// </summary> /// <param name="problem">Planning problem.</param> /// <param name="heuristic">Heuristic (if not specified, blind heuristic will be used).</param> /// <param name="loggingEnabled">Is logging of the search enabled?</param> public HillClimbingSearch(ISearchableProblem problem, ISearchableHeuristic heuristic = null, bool loggingEnabled = false) : base(problem, heuristic, loggingEnabled) { }