The plan in Figure 9, discussed in Section 4.1.3, has two sources of uncertainty and two decision-steps. There are four possible ways of achieving the goal, one for each combination of the outcomes of the two sources of uncertainty.
Initial: When [CAR0S: C2] (AVAILABLE CAR-2) When [CAR0S: C1] (AVAILABLE CAR-1) When [LOC0S: B] (PACKAGE-AT LOCATION-2) When [LOC0S: A] (PACKAGE-AT LOCATION-1) (AND (IS-CAR CAR-1) (IS-CAR CAR-2) (LOCATION LOCATION-1) (LOCATION LOCATION-2)) Step 1 (5): (ASK-ABOUT-CAR) YES: [LOC0S: A B] (KNOW-IF (AVAILABLE CAR-2)) 0 -> (IS-CAR CAR-2) (KNOW-IF (AVAILABLE CAR-1)) 0 -> (IS-CAR CAR-1) Step 2 (4): (DECIDE CAR0S) YES: [LOC0S: A B] (and (AVAILABLE CAR-2) T ) => [CAR0S: C2] (and (AVAILABLE CAR-1) T ) => [CAR0S: C1] 1 -> (KNOW-IF (AVAILABLE CAR-2)) 1 -> (KNOW-IF (AVAILABLE CAR-1)) Step 3 (2): (ASK-ABOUT-PACKAGE) YES: [CAR0S: C2 C1] (KNOW-IF (PACKAGE-AT LOCATION-2)) 0 -> (LOCATION LOCATION-2) (KNOW-IF (PACKAGE-AT LOCATION-1)) 0 -> (LOCATION LOCATION-1) Step 4 (1): (DECIDE LOC0S) YES: [CAR0S: C2 C1] (and (PACKAGE-AT LOCATION-2) T ) => [LOC0S: B] (and (PACKAGE-AT LOCATION-1) T ) => [LOC0S: A] 3 -> (KNOW-IF (PACKAGE-AT LOCATION-2)) 3 -> (KNOW-IF (PACKAGE-AT LOCATION-1)) Step 5 (8): (DRIVE CAR-2 LOCATION-1) YES: [LOC0S: A][CAR0S: C2] NO : [CAR0S: C1] (AT LOCATION-1) 0 -> (AVAILABLE CAR-2) NO : [CAR0S: C1] Step 6 (6): (DRIVE CAR-2 LOCATION-2) YES: [LOC0S: B][CAR0S: C2] NO : [CAR0S: C1] (AT LOCATION-2) 0 -> (AVAILABLE CAR-2) NO : [CAR0S: C1] Step 7 (7): (DRIVE CAR-1 LOCATION-1) YES: [LOC0S: A][CAR0S: C1] NO : [CAR0S: C2] (AT LOCATION-1) 0 -> (AVAILABLE CAR-1) NO : [CAR0S: C2] Step 8 (3): (DRIVE CAR-1 LOCATION-2) YES: [LOC0S: B][CAR0S: C1] NO : [CAR0S: C2] (AT LOCATION-2) 0 -> (AVAILABLE CAR-1) NO : [CAR0S: C2] Goal: (AND (AT ?LOC) (PACKAGE-AT ?LOC)) GOAL YES: [LOC0S: A][CAR0S: C2] 5 -> (AT LOCATION-1) NO : [CAR0S: C1] 0 -> (PACKAGE-AT LOCATION-1) NO : [LOC0S: B] GOAL YES: [LOC0S: B][CAR0S: C2] 6 -> (AT LOCATION-2) NO : [CAR0S: C1] 0 -> (PACKAGE-AT LOCATION-2) NO : [LOC0S: A] GOAL YES: [LOC0S: B][CAR0S: C1] 8 -> (AT LOCATION-2) NO : [CAR0S: C2] 0 -> (PACKAGE-AT LOCATION-2) NO : [LOC0S: A] GOAL YES: [LOC0S: A][CAR0S: C1] 7 -> (AT LOCATION-1) NO : [CAR0S: C2] 0 -> (PACKAGE-AT LOCATION-1) NO : [LOC0S: B] Complete!