Learning Hierarchical Control Policies Induction internal reward streams hierarchical skills learned value functions ( pass ( x) :start (behind x)(same-lane x) :objective (ahead x)(same-lane x) :requires(lane x l) :components((speed-up-faster-than x) (change-lanes l k) (overtake x) (change-lanes k l))) (speed-up-faster-than ( x) :start (slower-than x) :objective(faster-than x) :requires( ) :components((accelerate))) (change-lanes ( l k) :start (lane self l) :objective(lane self k) :requires(left-of k l) :components((shift-left))) (overtake ( x) :start(behind x)(different-lane x) :objective(ahead x) :requires(different-lane x)(faster-than x) :components((shift-left))) ( pass ( x) :start (behind x)(same-lane x) :objective (ahead x)(same-lane x) :requires(lane x l) :components((speed-up-faster-than x) (change-lanes l k) (overtake x) (change-lanes k l))) (speed-up-faster-than ( x) :start (slower-than x) :objective(faster-than x) :requires( ) :components((accelerate))) (change-lanes ( l k) :start (lane self l) :objective(lane self k) :requires(left-of k l) :components((shift-left))) (overtake ( x) :start(behind x)(different-lane x) :objective(ahead x) :requires(different-lane x)(faster-than x) :components((shift-left)))
{}