UNPKG

pddl-workspace

Version:
66 lines (65 loc) 3.04 kB
import { SearchHappening } from "./SearchHappening"; import { HelpfulAction } from '..'; /** State generated in the process of the plan search. */ export declare class SearchState { readonly id: number; readonly origId: string; readonly g: number; readonly earliestTime: number; readonly planHead: SearchHappening[]; readonly landmarks: number; readonly parentId?: number | undefined; readonly actionName?: string | undefined; /** Heuristic value. If the state was evaluated. */ h: number | undefined; /** Total (planhead + relaxed plan) makespan. If the state was evaluated. */ totalMakespan: number | undefined; /** Relaxed plan makespan. If the state was evaluated. */ relaxedPlan: SearchHappening[] | undefined; /** Helpful actions for this state. If the state was evaluated. */ helpfulActions: HelpfulAction[] | undefined; /** Is dead-end. If the state was evaluated. */ isDeadEnd: boolean | undefined; /** * State was already visited, or is worse than another state already visited. * If the state was actually created and validated by the memoisation. States that are deemed visited/worse are trimmed in the search tree. */ wasVisitedOrIsWorse: boolean | undefined; /** This state meets the goal criteria and other applicable criteria to represent the end-state of a plan. */ isPlan: boolean; private _isEvaluated; /** * Search state constructor. * @param id state ID (assigned when received from the planner) * @param origId original/external state ID (by which the planner refers to it) * @param g generation (initial state is gen 0) * @param earliestTime earliest time this state may be scheduled * @param planHead plan head (list of happening starting from the initial state) * @param landmarks number of landmarks encountered up to this state * @param parentId parent state id * @param actionName action applied to create this state */ constructor(id: number, origId: string, g: number, earliestTime: number, planHead: SearchHappening[], landmarks: number, parentId?: number | undefined, actionName?: string | undefined); /** Creates initial search state. */ static createInitial(): SearchState; get isEvaluated(): boolean; /** * Records state evaluation. * @param h heuristic value * @param totalMakespan total plan makespan (plan head plus relaxed plan makespan) * @param helpfulActions helpful action list * @param relaxedPlan relaxed plan */ evaluate(h: number, totalMakespan: number, helpfulActions: HelpfulAction[], relaxedPlan: SearchHappening[]): SearchState; /** * Makes this state a search dead-end. */ setDeadEnd(): SearchState; /** * Makes this state trimmed by state memoisation. */ setVisitedOrIsWorse(): SearchState; /** Returns the plan head, and if present, the actions from the relaxed plan. */ getTotalPlan(): SearchHappening[]; toString(): string; }