critical path heuristics

another way of viewing the maximal heuristics hmax

extend it


maximal heuristics, in retrospect

[relaxation-18.fig]

e and f both make x8 true
alternative actions: cheapest

x3 and x4 both needed to execute c
preconditions: maximal cost only

cheapest way to go the goal
with the additional simplification of a single precondition per action

no way to do it better: critical path
minimal absolute possible cost of reaching the goal


critical path: extension

instead of "single precondition per action"

use: "two preconditions per actions"

Switching from one to two creates an additional complication, since a pair of variables may be made true by the same action or by two different ones.

But delete effects can be taken into account somehow.


maximal of two

base of hmax:
obtaining all three of x1, x2 and x3
cannot be easier than obtaining x1 alone,
or x2 alone
or x3 alone
safe choice: obtaining three is the maximal cost of obtaining each

also safe is the maximal cost of obtaining each pair:

obtaining all three of x1, x2 and x3
cannot be easier than obtaining x1 and x2,
cannot be easier than obtaining x1 and x3
and cannot be easier than obtaining x2 and x3

preconditions and effects of action

[two-01.fig]

example: action a
preconditions x1 x2 x3
effects x4 x5

pairs of precondition

[two-02.fig]

before: cost is maximal of obtaining x1 alone, x2 alone or x3 alone

now: maximal of obtaining the pairs

not so easy…


needed pairs

no action has x5x6 in a precondition
⇒ do not calculate the cost of this pair, pointless

an action has x3x6 in a precondition
⇒ calculate the cost of this pair


other pairs

[two-03.fig]

if some other action has x4x6 as a precondition
⇒ calculate the cost of this pair
⇒ how is this pair obtained?

x4x6 made true by a if x6 is already true!

requires: preconditions of a and x6
so: x1 x2 x3 x6


pairs, again

[two-04.fig]

to make x1 x2 x3 x6 true:
maximal cost of making a pair true

multiple actions

[two-05.fig]

example: action b
precondition x7
effects x4x6

x4x6 can be obtained both by a and b
alternative: minimal cost of the two


single variables

[two-06.fig]

if some action has one precondition only
⇒ calculate its cost

in the example: a also makes x4 alone true


delete effects

[two-06.fig]

if a does not delete x6
⇒ makes x4x6 true if x6 was true before

if a deletes x6
⇒ does not make x4x6 true even if x6 was true before

Incorporating delete effects this way allows excluding a as a possible way for obtaining x4x6.

Since it only applies to pairs of variables, it cannot be applied to the maximal heuristics hmax, which only consider single variables.


triples, etc.

heuristics using subsets of at most m variables: hm

polynomial for every fixed m

only h1 (=max heuristics) and h2 used in practice


mathematical formalization

example: maximal heuristics

start with cost(xi) = 0 if xi initially true
otherwise cost(xi) = ∞
cost(a) = cost of executing a alone

keep updating costs until they do not change

cost(xi) = min(cost(xi), Pi)
where Pi is:
Pi = mina . xi ∈ add(a)(cost(a) + maxxj ∈ pre(a)(cost(xj)))
and pre(a) = preconditions of a
and add(a) = positive effects of a
The cost of obtaining a variable xi is the minimal overall cost of the actions that have xi as an effect. The overall cost is the cost of the action plus its preconditions. So far, this is an exact calulation.

The approximation enter the scent at this point: instead of computing the cost of the preconditions, their maximum individual cost is considered. In the case of h2, the maximal cost of pairs of preconditions is used instead.


critical path

max heuristics = generating a variable is the same as generating is hardest-to-obtain precondition

go back from the goal to the initial state

cost of the critical path of actions
from initial state to goal

hm: same, but for pair/triples/quadruples/etc. of variables

all of them: critical path heuristics


relaxation and critical path heuristics

relaxation
ignore delete effects
critical path
obtain something = obtain its hardest part
delete effects irrelevant to h1
also a relaxation heuristics

hm keeps them into account for m ≥ 2
not a relaxation heuristics


admissibility

maximal and its generalization hm:
cost = maximal cost of a subset
indeed: subset needs to be achieved
admissible

sum and FF:
sum the cost of actions
but, some actions may be redundant
in such cases, cost is overestimated
not admissible