程序代写 ICAPS 2010

A.I. PLANNING

Planning Application: The Scanalyzer Domain

Copyright By PowCoder代写 加微信 powcoder

Example: The Scanalyzer Domain
“The Scanalyzer Domain: Greenhouse Logistics as a Planning Problem”, Helmert and Lasinger, ICAPS 2010

Imaging area
Conveyor Belt 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 A—F 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代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com