A.I. PLANNING
Planning Application: The Scanalyzer Domain
Copyright By Assignmentchef assignmentchef
Example: The Scanalyzer Domain
The Scanalyzer Domain: Greenhouse Logistics as a Planning Problem, Helmert and Lasinger, ICAPS 2010
Imaging area
ConveyorBelt Segments
Batches of Plants
Scanalyzer Types, Predicates
Type of the conveyor belts: segments
Type of the plants themselves: batches
Operational constraint plants are moved one batch at a time, not individually.
Predicates:
A batch of plants is on a given segment
A batch of plants has been analyzed
Segments are linked together in cycles
Scanalyzer: Initial State
(:init (= (total-cost) 0)
(CYCLE-2 A D) (CYCLE-2 A E) (CYCLE-2 A F)
(CYCLE-2 B D) (CYCLE-2 B E) (CYCLE-2 B F)
(CYCLE-2 C D) (CYCLE-2 C E) (CYCLE-2 C F)
(CYCLE-2-WITH-ANALYSIS A F)
(on b1 A) (on b2 B) (on b3 C)
(on b4 D) (on b5 E) (on b6 F)
Static Facts
Scanalyzer Actions in PDDL (i)
(:action rotate-2
:parameters (?s1 ?s2 segment
?b1 ?b2 batch)
:precondition (and (CYCLE-2 ?s1 ?s2)
(on ?b1 ?s1) (on ?b2 ?s2))
:effect (and
(not (on ?b1 ?s1)) (on ?b1 ?s2)
(not (on ?b2 ?s2)) (on ?b2 ?s1)
(increase (total-cost) 1)))
Swap two batches
Restricts pairs of segments that can be swapped
Action has cost 1
Typed Parameters
Scanalyzer Actions in PDDL (ii)
(:action rotate-and-analyze-2
:parameters (?s1 ?s2 segment
?b1 ?b2 batch)
:precondition (and
(CYCLE-2-WITH-ANALYSIS ?s1 ?s2)
(on ?b1 ?s1) (on ?b2 ?s2))
:effect (and (not (on ?b1 ?s1)) (on ?b1 ?s2)
(not (on ?b2 ?s2)) (on ?b2 ?s1)
(analyzed ?b1)
(increase (total-cost) 3))))
In example: only the AF conveyor goes through the imaging area
Mark batch as being analyzed
Scanalyzer: The Goal
(:goal (and
(analyzed b1) (analyzed b2) (analyzed b3)
(analyzed b4) (analyzed b5) (analyzed b6)
(on b1 A) (on b2 B) (on b3 C)
(on b4 D) (on b5 E) (on b6 F)
(:metric minimize (total-cost))
Initial Positions
Prefer plans with lower costs: rotate-2 costs 1, rotate-and-analyze costs 3.
Scanalyzer: Demo
0.000: (analyze-2 seg-in-1 seg-out-1 car-in-1 car-out-1)[0.001]
0.001: (analyze-2 seg-in-1 seg-out-1 car-out-1 car-in-1)[0.001]
0.002: (analyze-2 seg-in-3 seg-out-1 car-in-3 car-out-1)[0.001]
0.002: (rotate-2 seg-in-1 seg-out-2 car-in-1 car-out-2)[0.001]
0.003: (rotate-2 seg-in-3 seg-out-1 car-out-1 car-in-3)[0.001]
0.004: (analyze-2 seg-in-2 seg-out-1 car-in-2 car-out-1)[0.001]
0.005: (rotate-2 seg-in-2 seg-out-1 car-out-1 car-in-2)[0.001]
0.006: (analyze-2 seg-in-1 seg-out-1 car-out-2 car-out-1)[0.001]
0.007: (rotate-2 seg-in-1 seg-out-1 car-out-1 car-out-2)[0.001]
0.008: (rotate-2 seg-in-1 seg-out-2 car-out-2 car-in-1)[0.001]
0.009: (rotate-2 seg-in-1 seg-out-3 car-in-1 car-out-3)[0.001]
0.010: (analyze-2 seg-in-1 seg-out-1 car-out-3 car-out-1)[0.001]
0.011: (rotate-2 seg-in-1 seg-out-1 car-out-1 car-out-3)[0.001]
0.012: (rotate-2 seg-in-1 seg-out-3 car-out-3 car-in-1)[0.001]
Scanalyzer: Planner Performance
DSS: A* search + heuristic just for Scanalyzer
IPC: domain independent planning competition planners
Solution cost: * means optimal
CS: assignmentchef QQ: 1823890830 Email: [email protected]
Reviews
There are no reviews yet.