pddl-workspace
Version:
66 lines (65 loc) • 3.04 kB
TypeScript
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;
}