SlideShare a Scribd company logo
1 of 229
Integrated Influence :
The Six Million Dollar Man
           of AI

          L Dicken
What is AI?




2
What is AI?
    • Any time a computer makes any sort of decision
     between a number of options, it can be thought of
     as acting “intelligently”.




2
What is AI?
    • Any time a computer makes any sort of decision
     between a number of options, it can be thought of
     as acting “intelligently”.
    • Whether or not those decisions are the right ones
     is how “good” the intelligence is.




2
AI Applications




3
AI Applications
    • Automatic Translation




3
AI Applications
    • Automatic Translation
    • Statistical Analysis




3
AI Applications
    • Automatic Translation
    • Statistical Analysis
    • Optimising Resource Usage




3
AI Applications
    • Automatic Translation
    • Statistical Analysis
    • Optimising Resource Usage
    • Scheduling Problems




3
AI Applications
    • Automatic Translation
    • Statistical Analysis
    • Optimising Resource Usage
    • Scheduling Problems
    • Automated Planning




3
AI Applications
    • Automatic Translation
    • Statistical Analysis
    • Optimising Resource Usage
    • Scheduling Problems
    • Automated Planning
    • Image/Facial Recognition



3
AI Applications
    • Automatic Translation
    • Statistical Analysis
    • Optimising Resource Usage
    • Scheduling Problems
    • Automated Planning
    • Image/Facial Recognition
    • And many more...

3
Basics




4
Basics
    • Broadly, two conceptual paradigms in AI
      ‣ Reaction
      ‣ Deliberation




4
Basics
    • Broadly, two conceptual paradigms in AI
      ‣ Reaction
      ‣ Deliberation
    • Reaction aims to program “instinctive” reactions to
     minimal subsets of stimuli.




4
Basics
    • Broadly, two conceptual paradigms in AI
      ‣ Reaction
      ‣ Deliberation
    • Reaction aims to program “instinctive” reactions to
     minimal subsets of stimuli.
    • Deliberation describes reasoning-based approaches,
     using all the information available.


4
Automated Planning




5
Automated Planning
    • AP is a deliberative technique




5
Automated Planning
    • AP is a deliberative technique
    • Given a description of




5
Automated Planning
    • AP is a deliberative technique
    • Given a description of
       ‣ Current state of the world




5
Automated Planning
    • AP is a deliberative technique
    • Given a description of
       ‣ Current state of the world
       ‣ Actions that can be applied and the way they affect the
        world




5
Automated Planning
    • AP is a deliberative technique
    • Given a description of
       ‣ Current state of the world
       ‣ Actions that can be applied and the way they affect the
        world
       ‣ A set of goals to be achieved




5
Automated Planning
    • AP is a deliberative technique
    • Given a description of
       ‣ Current state of the world
       ‣ Actions that can be applied and the way they affect the
        world
       ‣ A set of goals to be achieved
    • Automatically determines a sequence of actions that
     will complete the task.

5
PDDL




6
PDDL
    • Planning Domain Description Language




6
PDDL
    • Planning Domain Description Language
    • Propositional representation of world




6
PDDL
    • Planning Domain Description Language
    • Propositional representation of world
    • All things not asserted true are false




6
PDDL
    • Planning Domain Description Language
    • Propositional representation of world
    • All things not asserted true are false
    • All things true now will remain true unless negated




6
PDDL
    • Planning Domain Description Language
    • Propositional representation of world
    • All things not asserted true are false
    • All things true now will remain true unless negated
    • Extensions deal with a variety of extras




6
PDDL
    • Planning Domain Description Language
    • Propositional representation of world
    • All things not asserted true are false
    • All things true now will remain true unless negated
    • Extensions deal with a variety of extras
       ‣ e.g. Numerical values, Temporal actions, Continuous
        effects etc.


6
Example Domain
    (define (domain logistics)
      (:requirements :strips :typing)
      (:types truck - vehicle
             package vehicle - physobj
             location - place
             place physobj - object)
    (:predicates (in-city ?loc - place ?city - city)
                 (at ?obj - physobj ?loc - place)
                 (in ?pkg - package ?veh - vehicle))
    (:action LOAD
       :parameters (?pkg - package ?truck - truck ?loc - place)
       :precondition (and (at ?truck ?loc) (at ?pkg ?loc))
       :effect       (and (not (at ?pkg ?loc)) (in ?pkg ?truck)))
    (:action UNLOAD
      :parameters (?pkg - package ?truck - truck ?loc - place)
      :precondition (and (at ?truck ?loc) (in ?pkg ?truck))
      :effect      (and (not (in ?pkg ?truck)) (at ?pkg ?loc)))
    (:action MOVE
      :parameters (?truck - truck ?loc-from - place ?loc-to - place ?city - city)
      :precondition
       (and (at ?truck ?loc-from) (in-city ?loc-from ?city) (in-city ?loc-to ?city))
      :effect
       (and (not (at ?truck ?loc-from)) (at ?truck ?loc-to)))



7
Planning Graphs
Planning Graphs

At(T1, L1)



At(P1, L1)




   f0
Planning Graphs
             Move(T1,
               L2)
At(T1, L1)
             Move(T1,
               L3)
At(P1, L1)
             Load(P
              1,T1)

   f0          a1
Planning Graphs
             Move(T1,
               L2)
At(T1, L1)              At(T1, L1)
             Move(T1,
               L3)
At(P1, L1)              In(P1, T1)
             Load(P
              1,T1)

   f0          a1          f1
Planning Graphs
         Move(T1,             Move(T
           L2)                 1, L2)
At(T1, L1)          At(T1, L1)
           Move(T1,           Move(T1,
             L3)                 L3)
At(P1, L1)          In(P1, T1)
          Load(P            Unload(P
           1,T1)             1,T1)

   f0       a1        f1       a2
Planning Graphs
         Move(T1,             Move(T
           L2)                 1, L2)
At(T1, L1)          At(T1, L1)         At(T1, L2)
           Move(T1,           Move(T1,
             L3)                 L3)
At(P1, L1)          In(P1, T1)         In(P1, T1)
          Load(P             Unload(P
           1,T1)              1,T1)

   f0        a1       f1        a2       f2
Planning Graphs
         Move(T1,             Move(T            Move(T1,
           L2)                 1, L2)             L1)
At(T1, L1)          At(T1, L1)         At(T1, L2)
           Move(T1,           Move(T1,          Move(T1,
             L3)                 L3)              L3)
At(P1, L1)          In(P1, T1)         In(P1, T1)
         Load(P             Unload(P          Unload(
          1,T1)              1,T1)            P1,T1)

   f0       a1        f1       a2       f2        a3
Planning Graphs
         Move(T1,             Move(T            Move(T1,
           L2)                 1, L2)             L1)
At(T1, L1)          At(T1, L1)         At(T1, L2)      At(T1, L2)
           Move(T1,           Move(T1,          Move(T1,
             L3)                 L3)              L3)
At(P1, L1)          In(P1, T1)         In(P1, T1)       At(P1, L2)
          Load(P             Unload(P         Unload(
           1,T1)              1,T1)           P1,T1)

   f0        a1       f1       a2        f2       a3        f3
The Core of Planning




9
The Core of Planning
    • Previous example made it look so easy.




9
The Core of Planning
    • Previous example made it look so easy.
    • Trivial example, worked out in advance.




9
The Core of Planning
    • Previous example made it look so easy.
    • Trivial example, worked out in advance.
    • At every action layer, many choices don’t help




9
The Core of Planning
    • Previous example made it look so easy.
    • Trivial example, worked out in advance.
    • At every action layer, many choices don’t help
      ‣ Easy to disappear down a rabbit hole




9
The Core of Planning
    • Previous example made it look so easy.
    • Trivial example, worked out in advance.
    • At every action layer, many choices don’t help
       ‣ Easy to disappear down a rabbit hole
    • Planning all about guiding search across the action/
     fact layer space.



9
The Core of Planning
    • Previous example made it look so easy.
    • Trivial example, worked out in advance.
    • At every action layer, many choices don’t help
       ‣ Easy to disappear down a rabbit hole
    • Planning all about guiding search across the action/
     fact layer space.
       ‣ Different heuristics, search strategies, pruning techniques


9
Problems




10
Problems
     • Search space is massive.




10
Problems
     • Search space is massive.
        ‣ Computational complexity high




10
Problems
     • Search space is massive.
        ‣ Computational complexity high
        ‣ Processing time required also high




10
Problems
     • Search space is massive.
        ‣ Computational complexity high
        ‣ Processing time required also high
     • Not only that but models used are “abstractions”




10
Problems
     • Search space is massive.
        ‣ Computational complexity high
        ‣ Processing time required also high
     • Not only that but models used are “abstractions”
        ‣ Typically removes chance to fail an action




10
Problems
     • Search space is massive.
        ‣ Computational complexity high
        ‣ Processing time required also high
     • Not only that but models used are “abstractions”
        ‣ Typically removes chance to fail an action
        ‣ Typically removes other agents and the consequences of
         their actions



10
Problems
     • Search space is massive.
        ‣ Computational complexity high
        ‣ Processing time required also high
     • Not only that but models used are “abstractions”
        ‣ Typically removes chance to fail an action
        ‣ Typically removes other agents and the consequences of
         their actions
        ‣ Typically removes a lot of the detail e.g. Driver for truck


10
Time Constraints




11
Time Constraints
     • International Planning Competition entrants get
      around 30m to generate a plan for a single problem.




11
Time Constraints
     • International Planning Competition entrants get
      around 30m to generate a plan for a single problem.
     • AAAI General Game Playing entrants get 5-10s to
      decide on their next move.




11
Time Constraints
     • International Planning Competition entrants get
      around 30m to generate a plan for a single problem.
     • AAAI General Game Playing entrants get 5-10s to
      decide on their next move.
     • Games Industry aims for 60fps execution - 16ms
      per frame.



11
Time Constraints
     • International Planning Competition entrants get
      around 30m to generate a plan for a single problem.
     • AAAI General Game Playing entrants get 5-10s to
      decide on their next move.
     • Games Industry aims for 60fps execution - 16ms
      per frame.
       ‣ Most of that is spent on graphics, physics etc.


11
Time Constraints
     • International Planning Competition entrants get
      around 30m to generate a plan for a single problem.
     • AAAI General Game Playing entrants get 5-10s to
      decide on their next move.
     • Games Industry aims for 60fps execution - 16ms
      per frame.
       ‣ Most of that is spent on graphics, physics etc.
       ‣ AI gets maybe 1ms to work out everything it needs to
11
Reactive AI




12
Reactive AI
     • Reactive AI makes snap decisions based on current
      state of the world.




12
Reactive AI
     • Reactive AI makes snap decisions based on current
      state of the world.
     • More tolerant to action failure - one action isn’t
      part of a long chain of actions that depend on it.




12
Reactive AI
     • Reactive AI makes snap decisions based on current
      state of the world.
     • More tolerant to action failure - one action isn’t
      part of a long chain of actions that depend on it.
     • Typically gives a very good response time to input
      received from the environment.



12
Subsumption Arch.




13
Subsumption Arch.
     • Quintessential reactive approach.




13
Subsumption Arch.
     • Quintessential reactive approach.
     • Library of behaviours ordered by priority.




13
Subsumption Arch.
     • Quintessential reactive approach.
     • Library of behaviours ordered by priority.
     • Each behaviour maps detected input to relevant
      response.




13
Subsumption Arch.
     • Quintessential reactive approach.
     • Library of behaviours ordered by priority.
     • Each behaviour maps detected input to relevant
      response.
     • Higher priority behaviours are able to “subsume” or
      override the output of the lower priority ones.



13
Subsumption
              Behaviour 1


              Behaviour 2
Input   Mux
              Behaviour 3


              Behaviour 4
                            Output
14
Influence Maps




15
Influence Maps
     • Much more simplistic approach




15
Influence Maps
     • Much more simplistic approach
     • Influence radiates from objects similarly to magnetic
      fields.




15
Influence Maps
     • Much more simplistic approach
     • Influence radiates from objects similarly to magnetic
      fields.
     • Good things attract the agent, bad things repel the
      agent.




15
Influence Maps
     • Much more simplistic approach
     • Influence radiates from objects similarly to magnetic
      fields.
     • Good things attract the agent, bad things repel the
      agent.
     • Interaction of influence is typically (but not
      necessarily) additive.

15
Influence Maps




16
Neural Networks




17
Stateful vs. Stateless




18
Stateful vs. Stateless
     • Deliberative reasoning is by its nature stateful




18
Stateful vs. Stateless
     • Deliberative reasoning is by its nature stateful
     • Reactive systems typically are stateless




18
Stateful vs. Stateless
     • Deliberative reasoning is by its nature stateful
     • Reactive systems typically are stateless
     • Trying to retrofit them to include states typically
      adds the type of complexity they were designed to
      avoid.




18
Stateful vs. Stateless
     • Deliberative reasoning is by its nature stateful
     • Reactive systems typically are stateless
     • Trying to retrofit them to include states typically
      adds the type of complexity they were designed to
      avoid.
        ‣ E.g. Trying to capture state in a NN involves a separate
         NN designed to have a delayed feedback into the input


18
Stateful vs. Stateless
     • Deliberative reasoning is by its nature stateful
     • Reactive systems typically are stateless
     • Trying to retrofit them to include states typically
      adds the type of complexity they were designed to
      avoid.
        ‣ E.g. Trying to capture state in a NN involves a separate
         NN designed to have a delayed feedback into the input
     • Reactive Systems struggle to make long term plans
18
Limitations of AI




19
Limitations of AI
     • Contemporary AI is capable of very sophisticated
      insightful decision making.
       ‣ ....eventually
     • Also able to make very rapid decision making.
       ‣ ...at the expense of long-term decision quality
     • Range of problems require both high quality and
      short time frame decisions.


19
Six Million Dollar Man




20
Six Million Dollar Man
     • We can rebuild it!




20
Six Million Dollar Man
     • We can rebuild it!
        ‣ Better




20
Six Million Dollar Man
     • We can rebuild it!
        ‣ Better
        ‣ Stronger




20
Six Million Dollar Man
     • We can rebuild it!
        ‣ Better
        ‣ Stronger
        ‣ Faster




20
Six Million Dollar Man
     • We can rebuild it!
        ‣ Better
        ‣ Stronger
        ‣ Faster




20
Six Million Dollar Man
     • We can rebuild it!
        ‣ Better
        ‣ Stronger
        ‣ Faster
     • But, we don’t yet have
      the technology...



20
Integrated Influence




21
Integrated Influence
     • My work focuses on trying to bridge the gap
      between reaction and deliberation in novel ways




21
Integrated Influence
     • My work focuses on trying to bridge the gap
      between reaction and deliberation in novel ways
     • Previous approaches have typically either :




21
Integrated Influence
     • My work focuses on trying to bridge the gap
      between reaction and deliberation in novel ways
     • Previous approaches have typically either :
        ‣ Created an agent that deliberates about certain aspects
         of the world and reacts to others




21
Integrated Influence
     • My work focuses on trying to bridge the gap
      between reaction and deliberation in novel ways
     • Previous approaches have typically either :
        ‣ Created an agent that deliberates about certain aspects
         of the world and reacts to others
        ‣ Created an agent that reacts within the parameters of a
         deiberatively generated trajectory



21
Integrated Influence
     • My work focuses on trying to bridge the gap
      between reaction and deliberation in novel ways
     • Previous approaches have typically either :
        ‣ Created an agent that deliberates about certain aspects
         of the world and reacts to others
        ‣ Created an agent that reacts within the parameters of a
         deiberatively generated trajectory
     • Neither approach has proven particularly robust

21
Concept




22
Concept
     • We take the view that many aspects of the world
      can’t be tackled by one or other paradigm, but
      require both.




22
Concept
     • We take the view that many aspects of the world
      can’t be tackled by one or other paradigm, but
      require both.
     • To this end, our architecture aims to constantly use
      all information available, both deliberative and
      reactive, to make decisions



22
Search vs. Evaluation




23
Search vs. Evaluation
     • Searching spaces is a complex task.
       ‣ Typically at least NP-Hard, PDDL domains can be as
         complex as PSPACE-Complete
     • What if, instead of performing search, we could
      reformulate the problem into something closer to
      function evaluation?




23
Propositions




24
Propositions
     • PDDL’s propositional representation gives a state
      representation of very high dimension, with each
      dimension having exactly two possible values.
     • Can we do better with another representation
      format?




24
SAS+




25
SAS+
     • SAS+ groups mutually exclusive PDDL props
      together.
       ‣ Propositional - at(P1, L1), at(P1, L2), at(P1, L3), in(P1, T1)
       ‣ SAS+ - locationP1 ∈ {L1, L2, L3, T1}




25
SAS+
     • SAS+ groups mutually exclusive PDDL props
      together.
       ‣ Propositional - at(P1, L1), at(P1, L2), at(P1, L3), in(P1, T1)
       ‣ SAS+ - locationP1 ∈ {L1, L2, L3, T1}
     • Also captures the ordering that the values take
       ‣ E.g. From any Lx to Ly, locationP1 take value T1 between




25
SAS+
     • SAS+ groups mutually exclusive PDDL props
      together.
       ‣ Propositional - at(P1, L1), at(P1, L2), at(P1, L3), in(P1, T1)
       ‣ SAS+ - locationP1 ∈ {L1, L2, L3, T1}
     • Also captures the ordering that the values take
       ‣ E.g. From any Lx to Ly, locationP1 take value T1 between
     • Identifies the dependencies between different types
      of object

25
DTGs
           T1




     L1    L2    L3


26
Influence Landscapes
     • Introduced the concept of Influence Map earlier




27
Influence Landscapes
     • Introduced the concept of Influence Map earlier
     • Influence Landscapes extend the idea away from a
      purely spatial representation and into a conceptual
      representation.




27
Influence Landscapes
     • Introduced the concept of Influence Map earlier
     • Influence Landscapes extend the idea away from a
      purely spatial representation and into a conceptual
      representation.
     • Allows for the same function-based approach to be
      applied to reasoning.



27
Influence Landscape
             T1




     L1      L2      L3


28
Caveats




29
Caveats
     • It isn’t quite this easy




29
Caveats
     • It isn’t quite this easy
     • Need to consider ‘Causal Links’




29
Caveats
     • It isn’t quite this easy
     • Need to consider ‘Causal Links’
     • To load the package at L1, the truck needs to be at
      L1 too.




29
Caveats
     • It isn’t quite this easy
     • Need to consider ‘Causal Links’
     • To load the package at L1, the truck needs to be at
      L1 too.
     • Interlinked set of DTGs allow this to be captured
      and represented.



29
DTG with CG

              T1




        L1    L2   L3
30
DTG with CG

                     T1
     L1   L2    L3




               L1    L2   L3
30
Landscape Generators




31
Landscape Generators
     • Previous example generated using a simple critical
      path analysis.




31
Landscape Generators
     • Previous example generated using a simple critical
      path analysis.
     • Need to get much more informed view of the
      world around the agent.




31
Landscape Generators
     • Previous example generated using a simple critical
      path analysis.
     • Need to get much more informed view of the
      world around the agent.
     • Illustrates the concept though - also useful for
      providing the “naive” view of the world.



31
Landscape Generators
     • Previous example generated using a simple critical
      path analysis.
     • Need to get much more informed view of the
      world around the agent.
     • Illustrates the concept though - also useful for
      providing the “naive” view of the world.
     • Critical path analysis gives some info about the
      structure of the world, but is not fully informed.
31
Stacks




32
Stacks
     • Stacks are the name given to Landscape Generators




32
Stacks
     • Stacks are the name given to Landscape Generators
     • Each stack is tasked with assigning a numerical value
      to every node within the DTG/CG space.




32
Stacks
     • Stacks are the name given to Landscape Generators
     • Each stack is tasked with assigning a numerical value
      to every node within the DTG/CG space.
        ‣ Remember that this is a smaller space than propositional




32
Stacks
     • Stacks are the name given to Landscape Generators
     • Each stack is tasked with assigning a numerical value
      to every node within the DTG/CG space.
        ‣ Remember that this is a smaller space than propositional
     • Each stack deals with a specific aspect of the world
      or a specific approach



32
Stacks
     • Stacks are the name given to Landscape Generators
     • Each stack is tasked with assigning a numerical value
      to every node within the DTG/CG space.
        ‣ Remember that this is a smaller space than propositional
     • Each stack deals with a specific aspect of the world
      or a specific approach
        ‣ E.g. Reactive, Deliberative (or some other information)


32
Deliberative - Plan




33
Deliberative - Plan
     • We can guide the search by bringing in the
      information a deliberative reasoner provides.




33
Deliberative - Plan
     • We can guide the search by bringing in the
      information a deliberative reasoner provides.
       ‣ E.g. Automated Planning




33
Deliberative - Plan
     • We can guide the search by bringing in the
      information a deliberative reasoner provides.
       ‣ E.g. Automated Planning
     • We can implement this as a stack generating a
      landscape reflecting the influence the plan exerts on
      our agent.



33
Deliberative - Plan
     • We can guide the search by bringing in the
      information a deliberative reasoner provides.
        ‣ E.g. Automated Planning
     • We can implement this as a stack generating a
      landscape reflecting the influence the plan exerts on
      our agent.
     • Typically this will be a best-case assumption.


33
Conformity




34
Conformity
     • How heavily do we want to reward conforming to
      the plan?




34
Tight Conformity




35
Tight Conformity
     • Reward every node the plan requires the agent to
      visit in the graph, Royal Road style.




35
Tight Conformity
     • Reward every node the plan requires the agent to
      visit in the graph, Royal Road style.
     • Visualise landscape as a ridge to the summit




35
Tight Conformity
     • Reward every node the plan requires the agent to
      visit in the graph, Royal Road style.
     • Visualise landscape as a ridge to the summit
       ‣ Excellent in best-cases




35
Tight Conformity
     • Reward every node the plan requires the agent to
      visit in the graph, Royal Road style.
     • Visualise landscape as a ridge to the summit
       ‣ Excellent in best-cases
       ‣ Poor when flexibility required




35
Tight Conformity
     • Reward every node the plan requires the agent to
      visit in the graph, Royal Road style.
     • Visualise landscape as a ridge to the summit
       ‣ Excellent in best-cases
       ‣ Poor when flexibility required
     • After deviating from the plan, best approach seems
      to be to rejoin the ridge - this may not be the case.


35
Loose Conformity




36
Loose Conformity
     • Use the plan to mark out a general path without
      strictly defining each node of the plan.




36
Loose Conformity
     • Use the plan to mark out a general path without
      strictly defining each node of the plan.
     • Much more flexible approach, guides the agent
      rather than dictating to it.




36
Loose Conformity
     • Use the plan to mark out a general path without
      strictly defining each node of the plan.
     • Much more flexible approach, guides the agent
      rather than dictating to it.
     • But how do you determine which nodes to mark
      and which to ignore?



36
Focal Nodes




37
Focal Nodes
     • Focal Nodes are these waypoints in the plan.




37
Focal Nodes
     • Focal Nodes are these waypoints in the plan.
     • Previous work with SAS+ has shown that a DTG
      can be deformed to be laid out in any way.




37
Focal Nodes
     • Focal Nodes are these waypoints in the plan.
     • Previous work with SAS+ has shown that a DTG
      can be deformed to be laid out in any way.
       ‣ Logistics-style domain overlaid on a map of Europe.




37
Focal Nodes
     • Focal Nodes are these waypoints in the plan.
     • Previous work with SAS+ has shown that a DTG
      can be deformed to be laid out in any way.
       ‣ Logistics-style domain overlaid on a map of Europe.
     • Highlights by inspection clumps of nodes and
      connections between them



37
Focal Nodes
     • Focal Nodes are these waypoints in the plan.
     • Previous work with SAS+ has shown that a DTG
      can be deformed to be laid out in any way.
       ‣ Logistics-style domain overlaid on a map of Europe.
     • Highlights by inspection clumps of nodes and
      connections between them
       ‣ E.g. Channel Tunnel, Dover ferry etc.


37
Clustering




38
Clustering
     • We can pick out the FNs by hand, but that’s no fun.




38
Clustering
     • We can pick out the FNs by hand, but that’s no fun.
     • Instead, using the structure of the graph to find
      them automagically.




38
Clustering
     • We can pick out the FNs by hand, but that’s no fun.
     • Instead, using the structure of the graph to find
      them automagically.
     • Clustering the nodes of the graph allows us to
      group nodes together by proximity




38
Clustering
     • We can pick out the FNs by hand, but that’s no fun.
     • Instead, using the structure of the graph to find
      them automagically.
     • Clustering the nodes of the graph allows us to
      group nodes together by proximity
     • Fuzzy Clustering allows us to identify nodes that lie
      between groups

38
Fuzzy Clustering




39
Focal Nodes




40
Using Focal Nodes




41
Using Focal Nodes
     • FNs can be identified offline for every DTG in the
      domain.




41
Using Focal Nodes
     • FNs can be identified offline for every DTG in the
      domain.
     • FNs that the plan indicates should be passed
      through then become “Activated”.




41
Using Focal Nodes
     • FNs can be identified offline for every DTG in the
      domain.
     • FNs that the plan indicates should be passed
      through then become “Activated”.
     • These nodes are given influence in the landscape
      and this is propagated out across the graph to guide
      the agent to these key nodes.

41
Plan Data




42
Environmental Data




43
Environmental Data
     • We can overcome the deficiencies in deliberative
      landscape by bringing in data about the environment




43
Environmental Data
     • We can overcome the deficiencies in deliberative
      landscape by bringing in data about the environment
     • Gives the kind of insight that a reactive system
      would use to make decisions.




43
Environmental Data
     • We can overcome the deficiencies in deliberative
      landscape by bringing in data about the environment
     • Gives the kind of insight that a reactive system
      would use to make decisions.
     • Allows us to inform the agent about things that may
      require it to deviate from the planned trajectory



43
Preferences




44
Preferences
     • Preferences allow the agent to bias the influence of
      nodes in the graph at execution time based on data
      being sensed.




44
Preferences
     • Preferences allow the agent to bias the influence of
      nodes in the graph at execution time based on data
      being sensed.
     • Can be either positive or negative.




44
Preferences
     • Preferences allow the agent to bias the influence of
      nodes in the graph at execution time based on data
      being sensed.
     • Can be either positive or negative.
     • Applies an influence of appropriate strength to the
      target node and then propagates that out



44
Road Blocks




45
Road Blocks
     • Road Block is an edge that should be in the domain
      but for some reason is not traversable at this time.




45
Road Blocks
     • Road Block is an edge that should be in the domain
      but for some reason is not traversable at this time.
     • Two conceptual models




45
Road Blocks
     • Road Block is an edge that should be in the domain
      but for some reason is not traversable at this time.
     • Two conceptual models
       ‣ Cancelled flight - this edge will never be traversable




45
Road Blocks
     • Road Block is an edge that should be in the domain
      but for some reason is not traversable at this time.
     • Two conceptual models
       ‣ Cancelled flight - this edge will never be traversable
       ‣ Blocked road - this edge may be traversable later




45
Road Blocks
     • Road Block is an edge that should be in the domain
      but for some reason is not traversable at this time.
     • Two conceptual models
       ‣ Cancelled flight - this edge will never be traversable
       ‣ Blocked road - this edge may be traversable later
     • Should the edge be removed?




45
Road Blocks
     • Road Block is an edge that should be in the domain
      but for some reason is not traversable at this time.
     • Two conceptual models
       ‣ Cancelled flight - this edge will never be traversable
       ‣ Blocked road - this edge may be traversable later
     • Should the edge be removed?
       ‣ Opted to implement the ‘Road Block’ model as this
         allows resensing later to check the state of the edge.

45
Integrated Landscape




46
Integrated Landscape
     • By combining the landscape from each of the
      individual stacks, we get the “Integrated Influence
      Landscape” from which the architecture draws its
      name.




46
Integrated Landscape
     • By combining the landscape from each of the
      individual stacks, we get the “Integrated Influence
      Landscape” from which the architecture draws its
      name.
     • Currently using an unweighted additive model for
      combining



46
Integrated Landscape
     • By combining the landscape from each of the
      individual stacks, we get the “Integrated Influence
      Landscape” from which the architecture draws its
      name.
     • Currently using an unweighted additive model for
      combining
       ‣ This may prove to be sub-optimal in further testing


46
Using the IIL




47
Using the IIL
     • Given an IIL, the agent can then climb the gradient
      towards the goal, changing between DTGs as
      required by the Causal Graph.




47
Using the IIL
     • Given an IIL, the agent can then climb the gradient
      towards the goal, changing between DTGs as
      required by the Causal Graph.
     • Hill Climbing algorithm obvious choice, but gets
      stuck at local maxima




47
Using the IIL
     • Given an IIL, the agent can then climb the gradient
      towards the goal, changing between DTGs as
      required by the Causal Graph.
     • Hill Climbing algorithm obvious choice, but gets
      stuck at local maxima
        ‣ Experimented with Forced-movement Hill Climbing




47
Using the IIL
     • Given an IIL, the agent can then climb the gradient
      towards the goal, changing between DTGs as
      required by the Causal Graph.
     • Hill Climbing algorithm obvious choice, but gets
      stuck at local maxima
        ‣ Experimented with Forced-movement Hill Climbing
        ‣ Also Neighbourhood-bounded A*


47
Using the IIL
     • Given an IIL, the agent can then climb the gradient
      towards the goal, changing between DTGs as
      required by the Causal Graph.
     • Hill Climbing algorithm obvious choice, but gets
      stuck at local maxima
        ‣ Experimented with Forced-movement Hill Climbing
        ‣ Also Neighbourhood-bounded A*
        ‣ Currently using Forced HC with ties broken randomly

47
Integrated Influence



     Plan Landscape                         Env Landscape




                      Structure Landscape
48
Integrated Influence




     Integrated Influence Landscape
49
Bonus Feature!




50
Bonus Feature!
     • Brought up earlier time constraints of the Game
      Industry - around 1ms per frame.




50
Bonus Feature!
     • Brought up earlier time constraints of the Game
      Industry - around 1ms per frame.
     • Games give us a great context for testing “real
      world” style applications, and often already have the
      fast/smart requirements




50
Bonus Feature!
     • Brought up earlier time constraints of the Game
      Industry - around 1ms per frame.
     • Games give us a great context for testing “real
      world” style applications, and often already have the
      fast/smart requirements
     • Fully controllable simulation environment



50
Bonus Feature!
     • Brought up earlier time constraints of the Game
      Industry - around 1ms per frame.
     • Games give us a great context for testing “real
      world” style applications, and often already have the
      fast/smart requirements
     • Fully controllable simulation environment
     • Very pretty demos

50
Parrallelisation




51
Parrallelisation
     • By its nature, the stack paradigm is very flexible




51
Parrallelisation
     • By its nature, the stack paradigm is very flexible
     • Designed for each stack to be updated
      asynchronously




51
Parrallelisation
     • By its nature, the stack paradigm is very flexible
     • Designed for each stack to be updated
      asynchronously
     • Very suitable to parallel execution




51
Parrallelisation
     • By its nature, the stack paradigm is very flexible
     • Designed for each stack to be updated
      asynchronously
     • Very suitable to parallel execution
        ‣ Increasingly a big factor in modern computing




51
Vector Operations




52
Vector Operations
     • The vast majority of the maths mentioned can be
      stated as vector and matrix operations.




52
Vector Operations
     • The vast majority of the maths mentioned can be
      stated as vector and matrix operations.
     • Makes the whole architecture very suitable to
      execution on Cell SPUs.




52
Vector Operations
     • The vast majority of the maths mentioned can be
      stated as vector and matrix operations.
     • Makes the whole architecture very suitable to
      execution on Cell SPUs.
       ‣ Synergistic Processing Units are vector-based
         coprocessors in Cell-based systems such as PS3.




52
Vector Operations
     • The vast majority of the maths mentioned can be
      stated as vector and matrix operations.
     • Makes the whole architecture very suitable to
      execution on Cell SPUs.
        ‣ Synergistic Processing Units are vector-based
         coprocessors in Cell-based systems such as PS3.
     • SPUs are typically not used efficiently or fully.


52
Vector Operations
     • The vast majority of the maths mentioned can be
      stated as vector and matrix operations.
     • Makes the whole architecture very suitable to
      execution on Cell SPUs.
        ‣ Synergistic Processing Units are vector-based
         coprocessors in Cell-based systems such as PS3.
     • SPUs are typically not used efficiently or fully.
        ‣ Effectively “free” processing power.

52
Experiments




53
Experiments
     • Majority of work to date has been conceptual




53
Experiments
     • Majority of work to date has been conceptual
     • Initial prototype has been developed based on a
      number of assumptions




53
Experiments
     • Majority of work to date has been conceptual
     • Initial prototype has been developed based on a
      number of assumptions
     • Work currently ongoing to make sure all of these
      assumptions are valid.




53
Experiments
     • Majority of work to date has been conceptual
     • Initial prototype has been developed based on a
      number of assumptions
     • Work currently ongoing to make sure all of these
      assumptions are valid.
     • Experiments being run on small problem instances
      as translation from SAS+ encoding to internal
      architecture rep. currently by hand.
53
Results




54
Results
     • Early tests have shown some promising results




54
Results
     • Early tests have shown some promising results
       ‣ Noticeable decrease in time taken to make decisions
         over a purely deliberative method.




54
Results
     • Early tests have shown some promising results
       ‣ Noticeable decrease in time taken to make decisions
         over a purely deliberative method.
          - 1-2ms for a 12 decision point execution with 6ms of processing
            in advance.




54
Results
     • Early tests have shown some promising results
       ‣ Noticeable decrease in time taken to make decisions
         over a purely deliberative method.
          - 1-2ms for a 12 decision point execution with 6ms of processing
            in advance.
       ‣ Increased robustness to changes detected in the domain




54
Results
     • Early tests have shown some promising results
       ‣ Noticeable decrease in time taken to make decisions
         over a purely deliberative method.
          - 1-2ms for a 12 decision point execution with 6ms of processing
            in advance.
       ‣ Increased robustness to changes detected in the domain
          - Rapid discovery of alternative paths through the space




54
Results
     • Early tests have shown some promising results
       ‣ Noticeable decrease in time taken to make decisions
         over a purely deliberative method.
          - 1-2ms for a 12 decision point execution with 6ms of processing
            in advance.
       ‣ Increased robustness to changes detected in the domain
          - Rapid discovery of alternative paths through the space
     • Much more rigorous testing required.


54
Future Work




55
Future Work
     • A lot of work remains to develop this into a
      polished technique that will revolutionise AI.




55
Future Work
     • A lot of work remains to develop this into a
      polished technique that will revolutionise AI.
       ‣ Further testing on wider range of problems




55
Future Work
     • A lot of work remains to develop this into a
      polished technique that will revolutionise AI.
       ‣ Further testing on wider range of problems
       ‣ Full testing of all assumptions made and techniques
         chosen without substantiation




55
Future Work
     • A lot of work remains to develop this into a
      polished technique that will revolutionise AI.
       ‣ Further testing on wider range of problems
       ‣ Full testing of all assumptions made and techniques
         chosen without substantiation
       ‣ Development into a working system, rather than proof-
         of-concept prototype



55
Future Work
     • A lot of work remains to develop this into a
      polished technique that will revolutionise AI.
       ‣ Further testing on wider range of problems
       ‣ Full testing of all assumptions made and techniques
         chosen without substantiation
       ‣ Development into a working system, rather than proof-
         of-concept prototype
       ‣ Proof of extensibility of system by addition of additional
         Stacks representing other sources of information.
55
Questions?

More Related Content

Similar to AI Applications and Planning Techniques

The Next Generation of Game Planners
The Next Generation of Game PlannersThe Next Generation of Game Planners
The Next Generation of Game PlannersLuke Dicken
 
Influence Landscapes - From Spatial to Conceptual Representations
Influence Landscapes - From Spatial to Conceptual RepresentationsInfluence Landscapes - From Spatial to Conceptual Representations
Influence Landscapes - From Spatial to Conceptual RepresentationsLuke Dicken
 
15_Planninsjsjsjsjajahajahahatayayyaauua
15_Planninsjsjsjsjajahajahahatayayyaauua15_Planninsjsjsjsjajahajahahatayayyaauua
15_PlanninsjsjsjsjajahajahahatayayyaauuaFunnyPoi
 
Intro to Agile: Scrum vs. Kanban
Intro to Agile: Scrum vs. KanbanIntro to Agile: Scrum vs. Kanban
Intro to Agile: Scrum vs. KanbanCraig Jones
 
Cs344 lect15-robotic-knowledge-inferencing-prolog-11feb08
Cs344 lect15-robotic-knowledge-inferencing-prolog-11feb08Cs344 lect15-robotic-knowledge-inferencing-prolog-11feb08
Cs344 lect15-robotic-knowledge-inferencing-prolog-11feb08Praveen Kumar
 
CS1017-unitIV.pdf
CS1017-unitIV.pdfCS1017-unitIV.pdf
CS1017-unitIV.pdfSaswatSeth
 
21CSC206T_UNIT 5.pptx artificial intelligence
21CSC206T_UNIT 5.pptx artificial intelligence21CSC206T_UNIT 5.pptx artificial intelligence
21CSC206T_UNIT 5.pptx artificial intelligenceANTOARA2211003040050
 
1.1 1.4-introduction
1.1 1.4-introduction1.1 1.4-introduction
1.1 1.4-introductionatulg0213
 
Open Source Monitoring in 2015
Open Source Monitoring in 2015Open Source Monitoring in 2015
Open Source Monitoring in 2015Kris Buytaert
 
White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013Alberto Lluch Lafuente
 
Geoposicionamiento Big Data o It's bigger on the inside Commit conf 2018
Geoposicionamiento Big Data o It's bigger on the inside Commit conf 2018Geoposicionamiento Big Data o It's bigger on the inside Commit conf 2018
Geoposicionamiento Big Data o It's bigger on the inside Commit conf 2018Jorge Lopez-Malla
 
cps270_planning.ppt
cps270_planning.pptcps270_planning.ppt
cps270_planning.pptprasath r
 
Geoposicionamiento Big Data o It's bigger on the inside Codemetion Madrid 2018
Geoposicionamiento Big Data o It's bigger on the inside Codemetion Madrid 2018Geoposicionamiento Big Data o It's bigger on the inside Codemetion Madrid 2018
Geoposicionamiento Big Data o It's bigger on the inside Codemetion Madrid 2018Jorge Lopez-Malla
 
From MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionFrom MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionKris Buytaert
 
WOOster: A Map-Reduce based Platform for Graph Mining
WOOster: A Map-Reduce based Platform for Graph MiningWOOster: A Map-Reduce based Platform for Graph Mining
WOOster: A Map-Reduce based Platform for Graph Miningaravindan_raghu
 
Introduction to functional programming (In Arabic)
Introduction to functional programming (In Arabic)Introduction to functional programming (In Arabic)
Introduction to functional programming (In Arabic)Omar Abdelhafith
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1Stavros Vassos
 

Similar to AI Applications and Planning Techniques (20)

The Next Generation of Game Planners
The Next Generation of Game PlannersThe Next Generation of Game Planners
The Next Generation of Game Planners
 
Influence Landscapes - From Spatial to Conceptual Representations
Influence Landscapes - From Spatial to Conceptual RepresentationsInfluence Landscapes - From Spatial to Conceptual Representations
Influence Landscapes - From Spatial to Conceptual Representations
 
15_Planninsjsjsjsjajahajahahatayayyaauua
15_Planninsjsjsjsjajahajahahatayayyaauua15_Planninsjsjsjsjajahajahahatayayyaauua
15_Planninsjsjsjsjajahajahahatayayyaauua
 
AI_Planning.pdf
AI_Planning.pdfAI_Planning.pdf
AI_Planning.pdf
 
Intro to Agile: Scrum vs. Kanban
Intro to Agile: Scrum vs. KanbanIntro to Agile: Scrum vs. Kanban
Intro to Agile: Scrum vs. Kanban
 
Cs344 lect15-robotic-knowledge-inferencing-prolog-11feb08
Cs344 lect15-robotic-knowledge-inferencing-prolog-11feb08Cs344 lect15-robotic-knowledge-inferencing-prolog-11feb08
Cs344 lect15-robotic-knowledge-inferencing-prolog-11feb08
 
CS1017-unitIV.pdf
CS1017-unitIV.pdfCS1017-unitIV.pdf
CS1017-unitIV.pdf
 
21CSC206T_UNIT 5.pptx artificial intelligence
21CSC206T_UNIT 5.pptx artificial intelligence21CSC206T_UNIT 5.pptx artificial intelligence
21CSC206T_UNIT 5.pptx artificial intelligence
 
1.1 1.4-introduction
1.1 1.4-introduction1.1 1.4-introduction
1.1 1.4-introduction
 
Open Source Monitoring in 2015
Open Source Monitoring in 2015Open Source Monitoring in 2015
Open Source Monitoring in 2015
 
White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013
 
Rai practical presentations.
Rai practical presentations.Rai practical presentations.
Rai practical presentations.
 
Geoposicionamiento Big Data o It's bigger on the inside Commit conf 2018
Geoposicionamiento Big Data o It's bigger on the inside Commit conf 2018Geoposicionamiento Big Data o It's bigger on the inside Commit conf 2018
Geoposicionamiento Big Data o It's bigger on the inside Commit conf 2018
 
cps270_planning.ppt
cps270_planning.pptcps270_planning.ppt
cps270_planning.ppt
 
devops is a reorg
devops is a reorgdevops is a reorg
devops is a reorg
 
Geoposicionamiento Big Data o It's bigger on the inside Codemetion Madrid 2018
Geoposicionamiento Big Data o It's bigger on the inside Codemetion Madrid 2018Geoposicionamiento Big Data o It's bigger on the inside Codemetion Madrid 2018
Geoposicionamiento Big Data o It's bigger on the inside Codemetion Madrid 2018
 
From MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 EditionFrom MonitoringSucks to Monitoring Love , 2016 Edition
From MonitoringSucks to Monitoring Love , 2016 Edition
 
WOOster: A Map-Reduce based Platform for Graph Mining
WOOster: A Map-Reduce based Platform for Graph MiningWOOster: A Map-Reduce based Platform for Graph Mining
WOOster: A Map-Reduce based Platform for Graph Mining
 
Introduction to functional programming (In Arabic)
Introduction to functional programming (In Arabic)Introduction to functional programming (In Arabic)
Introduction to functional programming (In Arabic)
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part1
 

More from Luke Dicken

Game Development 2
Game Development 2Game Development 2
Game Development 2Luke Dicken
 
Game AI 101 - NPCs and Agents and Algorithms... Oh My!
Game AI 101 - NPCs and Agents and Algorithms... Oh My!Game AI 101 - NPCs and Agents and Algorithms... Oh My!
Game AI 101 - NPCs and Agents and Algorithms... Oh My!Luke Dicken
 
Game Development 1 - What is a Game?
Game Development 1 - What is a Game?Game Development 1 - What is a Game?
Game Development 1 - What is a Game?Luke Dicken
 
The International Game Developers Association
The International Game Developers AssociationThe International Game Developers Association
The International Game Developers AssociationLuke Dicken
 
Lecture 7 - Experience Management
Lecture 7 - Experience ManagementLecture 7 - Experience Management
Lecture 7 - Experience ManagementLuke Dicken
 
Lecture 6 - Procedural Content and Player Models
Lecture 6 - Procedural Content and Player ModelsLecture 6 - Procedural Content and Player Models
Lecture 6 - Procedural Content and Player ModelsLuke Dicken
 
Lecture 5 - Procedural Content Generation
Lecture 5 - Procedural Content GenerationLecture 5 - Procedural Content Generation
Lecture 5 - Procedural Content GenerationLuke Dicken
 
Lecture 8 - What is Game AI? Final Thoughts
Lecture 8 - What is Game AI? Final ThoughtsLecture 8 - What is Game AI? Final Thoughts
Lecture 8 - What is Game AI? Final ThoughtsLuke Dicken
 
Lecture 3 - Decision Making
Lecture 3 - Decision MakingLecture 3 - Decision Making
Lecture 3 - Decision MakingLuke Dicken
 
Lecture 2 - Probability
Lecture 2 - ProbabilityLecture 2 - Probability
Lecture 2 - ProbabilityLuke Dicken
 
Lecture 1 - Game Theory
Lecture 1 - Game TheoryLecture 1 - Game Theory
Lecture 1 - Game TheoryLuke Dicken
 
Lecture 4 - Opponent Modelling
Lecture 4 - Opponent ModellingLecture 4 - Opponent Modelling
Lecture 4 - Opponent ModellingLuke Dicken
 
What I Done on my Holidays
What I Done on my HolidaysWhat I Done on my Holidays
What I Done on my HolidaysLuke Dicken
 
The Strathclyde Poker Research Environment
The Strathclyde Poker Research EnvironmentThe Strathclyde Poker Research Environment
The Strathclyde Poker Research EnvironmentLuke Dicken
 
SAIG Overview March 2011
SAIG Overview March 2011SAIG Overview March 2011
SAIG Overview March 2011Luke Dicken
 
The Ludic Fallacy Applied to Automated Planning
The Ludic Fallacy Applied to Automated PlanningThe Ludic Fallacy Applied to Automated Planning
The Ludic Fallacy Applied to Automated PlanningLuke Dicken
 
General Game Playing
General Game PlayingGeneral Game Playing
General Game PlayingLuke Dicken
 

More from Luke Dicken (17)

Game Development 2
Game Development 2Game Development 2
Game Development 2
 
Game AI 101 - NPCs and Agents and Algorithms... Oh My!
Game AI 101 - NPCs and Agents and Algorithms... Oh My!Game AI 101 - NPCs and Agents and Algorithms... Oh My!
Game AI 101 - NPCs and Agents and Algorithms... Oh My!
 
Game Development 1 - What is a Game?
Game Development 1 - What is a Game?Game Development 1 - What is a Game?
Game Development 1 - What is a Game?
 
The International Game Developers Association
The International Game Developers AssociationThe International Game Developers Association
The International Game Developers Association
 
Lecture 7 - Experience Management
Lecture 7 - Experience ManagementLecture 7 - Experience Management
Lecture 7 - Experience Management
 
Lecture 6 - Procedural Content and Player Models
Lecture 6 - Procedural Content and Player ModelsLecture 6 - Procedural Content and Player Models
Lecture 6 - Procedural Content and Player Models
 
Lecture 5 - Procedural Content Generation
Lecture 5 - Procedural Content GenerationLecture 5 - Procedural Content Generation
Lecture 5 - Procedural Content Generation
 
Lecture 8 - What is Game AI? Final Thoughts
Lecture 8 - What is Game AI? Final ThoughtsLecture 8 - What is Game AI? Final Thoughts
Lecture 8 - What is Game AI? Final Thoughts
 
Lecture 3 - Decision Making
Lecture 3 - Decision MakingLecture 3 - Decision Making
Lecture 3 - Decision Making
 
Lecture 2 - Probability
Lecture 2 - ProbabilityLecture 2 - Probability
Lecture 2 - Probability
 
Lecture 1 - Game Theory
Lecture 1 - Game TheoryLecture 1 - Game Theory
Lecture 1 - Game Theory
 
Lecture 4 - Opponent Modelling
Lecture 4 - Opponent ModellingLecture 4 - Opponent Modelling
Lecture 4 - Opponent Modelling
 
What I Done on my Holidays
What I Done on my HolidaysWhat I Done on my Holidays
What I Done on my Holidays
 
The Strathclyde Poker Research Environment
The Strathclyde Poker Research EnvironmentThe Strathclyde Poker Research Environment
The Strathclyde Poker Research Environment
 
SAIG Overview March 2011
SAIG Overview March 2011SAIG Overview March 2011
SAIG Overview March 2011
 
The Ludic Fallacy Applied to Automated Planning
The Ludic Fallacy Applied to Automated PlanningThe Ludic Fallacy Applied to Automated Planning
The Ludic Fallacy Applied to Automated Planning
 
General Game Playing
General Game PlayingGeneral Game Playing
General Game Playing
 

Recently uploaded

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

AI Applications and Planning Techniques

  • 1. Integrated Influence : The Six Million Dollar Man of AI L Dicken
  • 3. What is AI? • Any time a computer makes any sort of decision between a number of options, it can be thought of as acting “intelligently”. 2
  • 4. What is AI? • Any time a computer makes any sort of decision between a number of options, it can be thought of as acting “intelligently”. • Whether or not those decisions are the right ones is how “good” the intelligence is. 2
  • 6. AI Applications • Automatic Translation 3
  • 7. AI Applications • Automatic Translation • Statistical Analysis 3
  • 8. AI Applications • Automatic Translation • Statistical Analysis • Optimising Resource Usage 3
  • 9. AI Applications • Automatic Translation • Statistical Analysis • Optimising Resource Usage • Scheduling Problems 3
  • 10. AI Applications • Automatic Translation • Statistical Analysis • Optimising Resource Usage • Scheduling Problems • Automated Planning 3
  • 11. AI Applications • Automatic Translation • Statistical Analysis • Optimising Resource Usage • Scheduling Problems • Automated Planning • Image/Facial Recognition 3
  • 12. AI Applications • Automatic Translation • Statistical Analysis • Optimising Resource Usage • Scheduling Problems • Automated Planning • Image/Facial Recognition • And many more... 3
  • 14. Basics • Broadly, two conceptual paradigms in AI ‣ Reaction ‣ Deliberation 4
  • 15. Basics • Broadly, two conceptual paradigms in AI ‣ Reaction ‣ Deliberation • Reaction aims to program “instinctive” reactions to minimal subsets of stimuli. 4
  • 16. Basics • Broadly, two conceptual paradigms in AI ‣ Reaction ‣ Deliberation • Reaction aims to program “instinctive” reactions to minimal subsets of stimuli. • Deliberation describes reasoning-based approaches, using all the information available. 4
  • 18. Automated Planning • AP is a deliberative technique 5
  • 19. Automated Planning • AP is a deliberative technique • Given a description of 5
  • 20. Automated Planning • AP is a deliberative technique • Given a description of ‣ Current state of the world 5
  • 21. Automated Planning • AP is a deliberative technique • Given a description of ‣ Current state of the world ‣ Actions that can be applied and the way they affect the world 5
  • 22. Automated Planning • AP is a deliberative technique • Given a description of ‣ Current state of the world ‣ Actions that can be applied and the way they affect the world ‣ A set of goals to be achieved 5
  • 23. Automated Planning • AP is a deliberative technique • Given a description of ‣ Current state of the world ‣ Actions that can be applied and the way they affect the world ‣ A set of goals to be achieved • Automatically determines a sequence of actions that will complete the task. 5
  • 25. PDDL • Planning Domain Description Language 6
  • 26. PDDL • Planning Domain Description Language • Propositional representation of world 6
  • 27. PDDL • Planning Domain Description Language • Propositional representation of world • All things not asserted true are false 6
  • 28. PDDL • Planning Domain Description Language • Propositional representation of world • All things not asserted true are false • All things true now will remain true unless negated 6
  • 29. PDDL • Planning Domain Description Language • Propositional representation of world • All things not asserted true are false • All things true now will remain true unless negated • Extensions deal with a variety of extras 6
  • 30. PDDL • Planning Domain Description Language • Propositional representation of world • All things not asserted true are false • All things true now will remain true unless negated • Extensions deal with a variety of extras ‣ e.g. Numerical values, Temporal actions, Continuous effects etc. 6
  • 31. Example Domain (define (domain logistics) (:requirements :strips :typing) (:types truck - vehicle package vehicle - physobj location - place place physobj - object) (:predicates (in-city ?loc - place ?city - city) (at ?obj - physobj ?loc - place) (in ?pkg - package ?veh - vehicle)) (:action LOAD :parameters (?pkg - package ?truck - truck ?loc - place) :precondition (and (at ?truck ?loc) (at ?pkg ?loc)) :effect (and (not (at ?pkg ?loc)) (in ?pkg ?truck))) (:action UNLOAD :parameters (?pkg - package ?truck - truck ?loc - place) :precondition (and (at ?truck ?loc) (in ?pkg ?truck)) :effect (and (not (in ?pkg ?truck)) (at ?pkg ?loc))) (:action MOVE :parameters (?truck - truck ?loc-from - place ?loc-to - place ?city - city) :precondition (and (at ?truck ?loc-from) (in-city ?loc-from ?city) (in-city ?loc-to ?city)) :effect (and (not (at ?truck ?loc-from)) (at ?truck ?loc-to))) 7
  • 34. Planning Graphs Move(T1, L2) At(T1, L1) Move(T1, L3) At(P1, L1) Load(P 1,T1) f0 a1
  • 35. Planning Graphs Move(T1, L2) At(T1, L1) At(T1, L1) Move(T1, L3) At(P1, L1) In(P1, T1) Load(P 1,T1) f0 a1 f1
  • 36. Planning Graphs Move(T1, Move(T L2) 1, L2) At(T1, L1) At(T1, L1) Move(T1, Move(T1, L3) L3) At(P1, L1) In(P1, T1) Load(P Unload(P 1,T1) 1,T1) f0 a1 f1 a2
  • 37. Planning Graphs Move(T1, Move(T L2) 1, L2) At(T1, L1) At(T1, L1) At(T1, L2) Move(T1, Move(T1, L3) L3) At(P1, L1) In(P1, T1) In(P1, T1) Load(P Unload(P 1,T1) 1,T1) f0 a1 f1 a2 f2
  • 38. Planning Graphs Move(T1, Move(T Move(T1, L2) 1, L2) L1) At(T1, L1) At(T1, L1) At(T1, L2) Move(T1, Move(T1, Move(T1, L3) L3) L3) At(P1, L1) In(P1, T1) In(P1, T1) Load(P Unload(P Unload( 1,T1) 1,T1) P1,T1) f0 a1 f1 a2 f2 a3
  • 39. Planning Graphs Move(T1, Move(T Move(T1, L2) 1, L2) L1) At(T1, L1) At(T1, L1) At(T1, L2) At(T1, L2) Move(T1, Move(T1, Move(T1, L3) L3) L3) At(P1, L1) In(P1, T1) In(P1, T1) At(P1, L2) Load(P Unload(P Unload( 1,T1) 1,T1) P1,T1) f0 a1 f1 a2 f2 a3 f3
  • 40. The Core of Planning 9
  • 41. The Core of Planning • Previous example made it look so easy. 9
  • 42. The Core of Planning • Previous example made it look so easy. • Trivial example, worked out in advance. 9
  • 43. The Core of Planning • Previous example made it look so easy. • Trivial example, worked out in advance. • At every action layer, many choices don’t help 9
  • 44. The Core of Planning • Previous example made it look so easy. • Trivial example, worked out in advance. • At every action layer, many choices don’t help ‣ Easy to disappear down a rabbit hole 9
  • 45. The Core of Planning • Previous example made it look so easy. • Trivial example, worked out in advance. • At every action layer, many choices don’t help ‣ Easy to disappear down a rabbit hole • Planning all about guiding search across the action/ fact layer space. 9
  • 46. The Core of Planning • Previous example made it look so easy. • Trivial example, worked out in advance. • At every action layer, many choices don’t help ‣ Easy to disappear down a rabbit hole • Planning all about guiding search across the action/ fact layer space. ‣ Different heuristics, search strategies, pruning techniques 9
  • 48. Problems • Search space is massive. 10
  • 49. Problems • Search space is massive. ‣ Computational complexity high 10
  • 50. Problems • Search space is massive. ‣ Computational complexity high ‣ Processing time required also high 10
  • 51. Problems • Search space is massive. ‣ Computational complexity high ‣ Processing time required also high • Not only that but models used are “abstractions” 10
  • 52. Problems • Search space is massive. ‣ Computational complexity high ‣ Processing time required also high • Not only that but models used are “abstractions” ‣ Typically removes chance to fail an action 10
  • 53. Problems • Search space is massive. ‣ Computational complexity high ‣ Processing time required also high • Not only that but models used are “abstractions” ‣ Typically removes chance to fail an action ‣ Typically removes other agents and the consequences of their actions 10
  • 54. Problems • Search space is massive. ‣ Computational complexity high ‣ Processing time required also high • Not only that but models used are “abstractions” ‣ Typically removes chance to fail an action ‣ Typically removes other agents and the consequences of their actions ‣ Typically removes a lot of the detail e.g. Driver for truck 10
  • 56. Time Constraints • International Planning Competition entrants get around 30m to generate a plan for a single problem. 11
  • 57. Time Constraints • International Planning Competition entrants get around 30m to generate a plan for a single problem. • AAAI General Game Playing entrants get 5-10s to decide on their next move. 11
  • 58. Time Constraints • International Planning Competition entrants get around 30m to generate a plan for a single problem. • AAAI General Game Playing entrants get 5-10s to decide on their next move. • Games Industry aims for 60fps execution - 16ms per frame. 11
  • 59. Time Constraints • International Planning Competition entrants get around 30m to generate a plan for a single problem. • AAAI General Game Playing entrants get 5-10s to decide on their next move. • Games Industry aims for 60fps execution - 16ms per frame. ‣ Most of that is spent on graphics, physics etc. 11
  • 60. Time Constraints • International Planning Competition entrants get around 30m to generate a plan for a single problem. • AAAI General Game Playing entrants get 5-10s to decide on their next move. • Games Industry aims for 60fps execution - 16ms per frame. ‣ Most of that is spent on graphics, physics etc. ‣ AI gets maybe 1ms to work out everything it needs to 11
  • 62. Reactive AI • Reactive AI makes snap decisions based on current state of the world. 12
  • 63. Reactive AI • Reactive AI makes snap decisions based on current state of the world. • More tolerant to action failure - one action isn’t part of a long chain of actions that depend on it. 12
  • 64. Reactive AI • Reactive AI makes snap decisions based on current state of the world. • More tolerant to action failure - one action isn’t part of a long chain of actions that depend on it. • Typically gives a very good response time to input received from the environment. 12
  • 66. Subsumption Arch. • Quintessential reactive approach. 13
  • 67. Subsumption Arch. • Quintessential reactive approach. • Library of behaviours ordered by priority. 13
  • 68. Subsumption Arch. • Quintessential reactive approach. • Library of behaviours ordered by priority. • Each behaviour maps detected input to relevant response. 13
  • 69. Subsumption Arch. • Quintessential reactive approach. • Library of behaviours ordered by priority. • Each behaviour maps detected input to relevant response. • Higher priority behaviours are able to “subsume” or override the output of the lower priority ones. 13
  • 70. Subsumption Behaviour 1 Behaviour 2 Input Mux Behaviour 3 Behaviour 4 Output 14
  • 72. Influence Maps • Much more simplistic approach 15
  • 73. Influence Maps • Much more simplistic approach • Influence radiates from objects similarly to magnetic fields. 15
  • 74. Influence Maps • Much more simplistic approach • Influence radiates from objects similarly to magnetic fields. • Good things attract the agent, bad things repel the agent. 15
  • 75. Influence Maps • Much more simplistic approach • Influence radiates from objects similarly to magnetic fields. • Good things attract the agent, bad things repel the agent. • Interaction of influence is typically (but not necessarily) additive. 15
  • 79. Stateful vs. Stateless • Deliberative reasoning is by its nature stateful 18
  • 80. Stateful vs. Stateless • Deliberative reasoning is by its nature stateful • Reactive systems typically are stateless 18
  • 81. Stateful vs. Stateless • Deliberative reasoning is by its nature stateful • Reactive systems typically are stateless • Trying to retrofit them to include states typically adds the type of complexity they were designed to avoid. 18
  • 82. Stateful vs. Stateless • Deliberative reasoning is by its nature stateful • Reactive systems typically are stateless • Trying to retrofit them to include states typically adds the type of complexity they were designed to avoid. ‣ E.g. Trying to capture state in a NN involves a separate NN designed to have a delayed feedback into the input 18
  • 83. Stateful vs. Stateless • Deliberative reasoning is by its nature stateful • Reactive systems typically are stateless • Trying to retrofit them to include states typically adds the type of complexity they were designed to avoid. ‣ E.g. Trying to capture state in a NN involves a separate NN designed to have a delayed feedback into the input • Reactive Systems struggle to make long term plans 18
  • 85. Limitations of AI • Contemporary AI is capable of very sophisticated insightful decision making. ‣ ....eventually • Also able to make very rapid decision making. ‣ ...at the expense of long-term decision quality • Range of problems require both high quality and short time frame decisions. 19
  • 87. Six Million Dollar Man • We can rebuild it! 20
  • 88. Six Million Dollar Man • We can rebuild it! ‣ Better 20
  • 89. Six Million Dollar Man • We can rebuild it! ‣ Better ‣ Stronger 20
  • 90. Six Million Dollar Man • We can rebuild it! ‣ Better ‣ Stronger ‣ Faster 20
  • 91. Six Million Dollar Man • We can rebuild it! ‣ Better ‣ Stronger ‣ Faster 20
  • 92. Six Million Dollar Man • We can rebuild it! ‣ Better ‣ Stronger ‣ Faster • But, we don’t yet have the technology... 20
  • 94. Integrated Influence • My work focuses on trying to bridge the gap between reaction and deliberation in novel ways 21
  • 95. Integrated Influence • My work focuses on trying to bridge the gap between reaction and deliberation in novel ways • Previous approaches have typically either : 21
  • 96. Integrated Influence • My work focuses on trying to bridge the gap between reaction and deliberation in novel ways • Previous approaches have typically either : ‣ Created an agent that deliberates about certain aspects of the world and reacts to others 21
  • 97. Integrated Influence • My work focuses on trying to bridge the gap between reaction and deliberation in novel ways • Previous approaches have typically either : ‣ Created an agent that deliberates about certain aspects of the world and reacts to others ‣ Created an agent that reacts within the parameters of a deiberatively generated trajectory 21
  • 98. Integrated Influence • My work focuses on trying to bridge the gap between reaction and deliberation in novel ways • Previous approaches have typically either : ‣ Created an agent that deliberates about certain aspects of the world and reacts to others ‣ Created an agent that reacts within the parameters of a deiberatively generated trajectory • Neither approach has proven particularly robust 21
  • 100. Concept • We take the view that many aspects of the world can’t be tackled by one or other paradigm, but require both. 22
  • 101. Concept • We take the view that many aspects of the world can’t be tackled by one or other paradigm, but require both. • To this end, our architecture aims to constantly use all information available, both deliberative and reactive, to make decisions 22
  • 103. Search vs. Evaluation • Searching spaces is a complex task. ‣ Typically at least NP-Hard, PDDL domains can be as complex as PSPACE-Complete • What if, instead of performing search, we could reformulate the problem into something closer to function evaluation? 23
  • 105. Propositions • PDDL’s propositional representation gives a state representation of very high dimension, with each dimension having exactly two possible values. • Can we do better with another representation format? 24
  • 107. SAS+ • SAS+ groups mutually exclusive PDDL props together. ‣ Propositional - at(P1, L1), at(P1, L2), at(P1, L3), in(P1, T1) ‣ SAS+ - locationP1 ∈ {L1, L2, L3, T1} 25
  • 108. SAS+ • SAS+ groups mutually exclusive PDDL props together. ‣ Propositional - at(P1, L1), at(P1, L2), at(P1, L3), in(P1, T1) ‣ SAS+ - locationP1 ∈ {L1, L2, L3, T1} • Also captures the ordering that the values take ‣ E.g. From any Lx to Ly, locationP1 take value T1 between 25
  • 109. SAS+ • SAS+ groups mutually exclusive PDDL props together. ‣ Propositional - at(P1, L1), at(P1, L2), at(P1, L3), in(P1, T1) ‣ SAS+ - locationP1 ∈ {L1, L2, L3, T1} • Also captures the ordering that the values take ‣ E.g. From any Lx to Ly, locationP1 take value T1 between • Identifies the dependencies between different types of object 25
  • 110. DTGs T1 L1 L2 L3 26
  • 111. Influence Landscapes • Introduced the concept of Influence Map earlier 27
  • 112. Influence Landscapes • Introduced the concept of Influence Map earlier • Influence Landscapes extend the idea away from a purely spatial representation and into a conceptual representation. 27
  • 113. Influence Landscapes • Introduced the concept of Influence Map earlier • Influence Landscapes extend the idea away from a purely spatial representation and into a conceptual representation. • Allows for the same function-based approach to be applied to reasoning. 27
  • 114. Influence Landscape T1 L1 L2 L3 28
  • 116. Caveats • It isn’t quite this easy 29
  • 117. Caveats • It isn’t quite this easy • Need to consider ‘Causal Links’ 29
  • 118. Caveats • It isn’t quite this easy • Need to consider ‘Causal Links’ • To load the package at L1, the truck needs to be at L1 too. 29
  • 119. Caveats • It isn’t quite this easy • Need to consider ‘Causal Links’ • To load the package at L1, the truck needs to be at L1 too. • Interlinked set of DTGs allow this to be captured and represented. 29
  • 120. DTG with CG T1 L1 L2 L3 30
  • 121. DTG with CG T1 L1 L2 L3 L1 L2 L3 30
  • 123. Landscape Generators • Previous example generated using a simple critical path analysis. 31
  • 124. Landscape Generators • Previous example generated using a simple critical path analysis. • Need to get much more informed view of the world around the agent. 31
  • 125. Landscape Generators • Previous example generated using a simple critical path analysis. • Need to get much more informed view of the world around the agent. • Illustrates the concept though - also useful for providing the “naive” view of the world. 31
  • 126. Landscape Generators • Previous example generated using a simple critical path analysis. • Need to get much more informed view of the world around the agent. • Illustrates the concept though - also useful for providing the “naive” view of the world. • Critical path analysis gives some info about the structure of the world, but is not fully informed. 31
  • 128. Stacks • Stacks are the name given to Landscape Generators 32
  • 129. Stacks • Stacks are the name given to Landscape Generators • Each stack is tasked with assigning a numerical value to every node within the DTG/CG space. 32
  • 130. Stacks • Stacks are the name given to Landscape Generators • Each stack is tasked with assigning a numerical value to every node within the DTG/CG space. ‣ Remember that this is a smaller space than propositional 32
  • 131. Stacks • Stacks are the name given to Landscape Generators • Each stack is tasked with assigning a numerical value to every node within the DTG/CG space. ‣ Remember that this is a smaller space than propositional • Each stack deals with a specific aspect of the world or a specific approach 32
  • 132. Stacks • Stacks are the name given to Landscape Generators • Each stack is tasked with assigning a numerical value to every node within the DTG/CG space. ‣ Remember that this is a smaller space than propositional • Each stack deals with a specific aspect of the world or a specific approach ‣ E.g. Reactive, Deliberative (or some other information) 32
  • 134. Deliberative - Plan • We can guide the search by bringing in the information a deliberative reasoner provides. 33
  • 135. Deliberative - Plan • We can guide the search by bringing in the information a deliberative reasoner provides. ‣ E.g. Automated Planning 33
  • 136. Deliberative - Plan • We can guide the search by bringing in the information a deliberative reasoner provides. ‣ E.g. Automated Planning • We can implement this as a stack generating a landscape reflecting the influence the plan exerts on our agent. 33
  • 137. Deliberative - Plan • We can guide the search by bringing in the information a deliberative reasoner provides. ‣ E.g. Automated Planning • We can implement this as a stack generating a landscape reflecting the influence the plan exerts on our agent. • Typically this will be a best-case assumption. 33
  • 139. Conformity • How heavily do we want to reward conforming to the plan? 34
  • 141. Tight Conformity • Reward every node the plan requires the agent to visit in the graph, Royal Road style. 35
  • 142. Tight Conformity • Reward every node the plan requires the agent to visit in the graph, Royal Road style. • Visualise landscape as a ridge to the summit 35
  • 143. Tight Conformity • Reward every node the plan requires the agent to visit in the graph, Royal Road style. • Visualise landscape as a ridge to the summit ‣ Excellent in best-cases 35
  • 144. Tight Conformity • Reward every node the plan requires the agent to visit in the graph, Royal Road style. • Visualise landscape as a ridge to the summit ‣ Excellent in best-cases ‣ Poor when flexibility required 35
  • 145. Tight Conformity • Reward every node the plan requires the agent to visit in the graph, Royal Road style. • Visualise landscape as a ridge to the summit ‣ Excellent in best-cases ‣ Poor when flexibility required • After deviating from the plan, best approach seems to be to rejoin the ridge - this may not be the case. 35
  • 147. Loose Conformity • Use the plan to mark out a general path without strictly defining each node of the plan. 36
  • 148. Loose Conformity • Use the plan to mark out a general path without strictly defining each node of the plan. • Much more flexible approach, guides the agent rather than dictating to it. 36
  • 149. Loose Conformity • Use the plan to mark out a general path without strictly defining each node of the plan. • Much more flexible approach, guides the agent rather than dictating to it. • But how do you determine which nodes to mark and which to ignore? 36
  • 151. Focal Nodes • Focal Nodes are these waypoints in the plan. 37
  • 152. Focal Nodes • Focal Nodes are these waypoints in the plan. • Previous work with SAS+ has shown that a DTG can be deformed to be laid out in any way. 37
  • 153. Focal Nodes • Focal Nodes are these waypoints in the plan. • Previous work with SAS+ has shown that a DTG can be deformed to be laid out in any way. ‣ Logistics-style domain overlaid on a map of Europe. 37
  • 154. Focal Nodes • Focal Nodes are these waypoints in the plan. • Previous work with SAS+ has shown that a DTG can be deformed to be laid out in any way. ‣ Logistics-style domain overlaid on a map of Europe. • Highlights by inspection clumps of nodes and connections between them 37
  • 155. Focal Nodes • Focal Nodes are these waypoints in the plan. • Previous work with SAS+ has shown that a DTG can be deformed to be laid out in any way. ‣ Logistics-style domain overlaid on a map of Europe. • Highlights by inspection clumps of nodes and connections between them ‣ E.g. Channel Tunnel, Dover ferry etc. 37
  • 157. Clustering • We can pick out the FNs by hand, but that’s no fun. 38
  • 158. Clustering • We can pick out the FNs by hand, but that’s no fun. • Instead, using the structure of the graph to find them automagically. 38
  • 159. Clustering • We can pick out the FNs by hand, but that’s no fun. • Instead, using the structure of the graph to find them automagically. • Clustering the nodes of the graph allows us to group nodes together by proximity 38
  • 160. Clustering • We can pick out the FNs by hand, but that’s no fun. • Instead, using the structure of the graph to find them automagically. • Clustering the nodes of the graph allows us to group nodes together by proximity • Fuzzy Clustering allows us to identify nodes that lie between groups 38
  • 164. Using Focal Nodes • FNs can be identified offline for every DTG in the domain. 41
  • 165. Using Focal Nodes • FNs can be identified offline for every DTG in the domain. • FNs that the plan indicates should be passed through then become “Activated”. 41
  • 166. Using Focal Nodes • FNs can be identified offline for every DTG in the domain. • FNs that the plan indicates should be passed through then become “Activated”. • These nodes are given influence in the landscape and this is propagated out across the graph to guide the agent to these key nodes. 41
  • 169. Environmental Data • We can overcome the deficiencies in deliberative landscape by bringing in data about the environment 43
  • 170. Environmental Data • We can overcome the deficiencies in deliberative landscape by bringing in data about the environment • Gives the kind of insight that a reactive system would use to make decisions. 43
  • 171. Environmental Data • We can overcome the deficiencies in deliberative landscape by bringing in data about the environment • Gives the kind of insight that a reactive system would use to make decisions. • Allows us to inform the agent about things that may require it to deviate from the planned trajectory 43
  • 173. Preferences • Preferences allow the agent to bias the influence of nodes in the graph at execution time based on data being sensed. 44
  • 174. Preferences • Preferences allow the agent to bias the influence of nodes in the graph at execution time based on data being sensed. • Can be either positive or negative. 44
  • 175. Preferences • Preferences allow the agent to bias the influence of nodes in the graph at execution time based on data being sensed. • Can be either positive or negative. • Applies an influence of appropriate strength to the target node and then propagates that out 44
  • 177. Road Blocks • Road Block is an edge that should be in the domain but for some reason is not traversable at this time. 45
  • 178. Road Blocks • Road Block is an edge that should be in the domain but for some reason is not traversable at this time. • Two conceptual models 45
  • 179. Road Blocks • Road Block is an edge that should be in the domain but for some reason is not traversable at this time. • Two conceptual models ‣ Cancelled flight - this edge will never be traversable 45
  • 180. Road Blocks • Road Block is an edge that should be in the domain but for some reason is not traversable at this time. • Two conceptual models ‣ Cancelled flight - this edge will never be traversable ‣ Blocked road - this edge may be traversable later 45
  • 181. Road Blocks • Road Block is an edge that should be in the domain but for some reason is not traversable at this time. • Two conceptual models ‣ Cancelled flight - this edge will never be traversable ‣ Blocked road - this edge may be traversable later • Should the edge be removed? 45
  • 182. Road Blocks • Road Block is an edge that should be in the domain but for some reason is not traversable at this time. • Two conceptual models ‣ Cancelled flight - this edge will never be traversable ‣ Blocked road - this edge may be traversable later • Should the edge be removed? ‣ Opted to implement the ‘Road Block’ model as this allows resensing later to check the state of the edge. 45
  • 184. Integrated Landscape • By combining the landscape from each of the individual stacks, we get the “Integrated Influence Landscape” from which the architecture draws its name. 46
  • 185. Integrated Landscape • By combining the landscape from each of the individual stacks, we get the “Integrated Influence Landscape” from which the architecture draws its name. • Currently using an unweighted additive model for combining 46
  • 186. Integrated Landscape • By combining the landscape from each of the individual stacks, we get the “Integrated Influence Landscape” from which the architecture draws its name. • Currently using an unweighted additive model for combining ‣ This may prove to be sub-optimal in further testing 46
  • 188. Using the IIL • Given an IIL, the agent can then climb the gradient towards the goal, changing between DTGs as required by the Causal Graph. 47
  • 189. Using the IIL • Given an IIL, the agent can then climb the gradient towards the goal, changing between DTGs as required by the Causal Graph. • Hill Climbing algorithm obvious choice, but gets stuck at local maxima 47
  • 190. Using the IIL • Given an IIL, the agent can then climb the gradient towards the goal, changing between DTGs as required by the Causal Graph. • Hill Climbing algorithm obvious choice, but gets stuck at local maxima ‣ Experimented with Forced-movement Hill Climbing 47
  • 191. Using the IIL • Given an IIL, the agent can then climb the gradient towards the goal, changing between DTGs as required by the Causal Graph. • Hill Climbing algorithm obvious choice, but gets stuck at local maxima ‣ Experimented with Forced-movement Hill Climbing ‣ Also Neighbourhood-bounded A* 47
  • 192. Using the IIL • Given an IIL, the agent can then climb the gradient towards the goal, changing between DTGs as required by the Causal Graph. • Hill Climbing algorithm obvious choice, but gets stuck at local maxima ‣ Experimented with Forced-movement Hill Climbing ‣ Also Neighbourhood-bounded A* ‣ Currently using Forced HC with ties broken randomly 47
  • 193. Integrated Influence Plan Landscape Env Landscape Structure Landscape 48
  • 194. Integrated Influence Integrated Influence Landscape 49
  • 196. Bonus Feature! • Brought up earlier time constraints of the Game Industry - around 1ms per frame. 50
  • 197. Bonus Feature! • Brought up earlier time constraints of the Game Industry - around 1ms per frame. • Games give us a great context for testing “real world” style applications, and often already have the fast/smart requirements 50
  • 198. Bonus Feature! • Brought up earlier time constraints of the Game Industry - around 1ms per frame. • Games give us a great context for testing “real world” style applications, and often already have the fast/smart requirements • Fully controllable simulation environment 50
  • 199. Bonus Feature! • Brought up earlier time constraints of the Game Industry - around 1ms per frame. • Games give us a great context for testing “real world” style applications, and often already have the fast/smart requirements • Fully controllable simulation environment • Very pretty demos 50
  • 201. Parrallelisation • By its nature, the stack paradigm is very flexible 51
  • 202. Parrallelisation • By its nature, the stack paradigm is very flexible • Designed for each stack to be updated asynchronously 51
  • 203. Parrallelisation • By its nature, the stack paradigm is very flexible • Designed for each stack to be updated asynchronously • Very suitable to parallel execution 51
  • 204. Parrallelisation • By its nature, the stack paradigm is very flexible • Designed for each stack to be updated asynchronously • Very suitable to parallel execution ‣ Increasingly a big factor in modern computing 51
  • 206. Vector Operations • The vast majority of the maths mentioned can be stated as vector and matrix operations. 52
  • 207. Vector Operations • The vast majority of the maths mentioned can be stated as vector and matrix operations. • Makes the whole architecture very suitable to execution on Cell SPUs. 52
  • 208. Vector Operations • The vast majority of the maths mentioned can be stated as vector and matrix operations. • Makes the whole architecture very suitable to execution on Cell SPUs. ‣ Synergistic Processing Units are vector-based coprocessors in Cell-based systems such as PS3. 52
  • 209. Vector Operations • The vast majority of the maths mentioned can be stated as vector and matrix operations. • Makes the whole architecture very suitable to execution on Cell SPUs. ‣ Synergistic Processing Units are vector-based coprocessors in Cell-based systems such as PS3. • SPUs are typically not used efficiently or fully. 52
  • 210. Vector Operations • The vast majority of the maths mentioned can be stated as vector and matrix operations. • Makes the whole architecture very suitable to execution on Cell SPUs. ‣ Synergistic Processing Units are vector-based coprocessors in Cell-based systems such as PS3. • SPUs are typically not used efficiently or fully. ‣ Effectively “free” processing power. 52
  • 212. Experiments • Majority of work to date has been conceptual 53
  • 213. Experiments • Majority of work to date has been conceptual • Initial prototype has been developed based on a number of assumptions 53
  • 214. Experiments • Majority of work to date has been conceptual • Initial prototype has been developed based on a number of assumptions • Work currently ongoing to make sure all of these assumptions are valid. 53
  • 215. Experiments • Majority of work to date has been conceptual • Initial prototype has been developed based on a number of assumptions • Work currently ongoing to make sure all of these assumptions are valid. • Experiments being run on small problem instances as translation from SAS+ encoding to internal architecture rep. currently by hand. 53
  • 217. Results • Early tests have shown some promising results 54
  • 218. Results • Early tests have shown some promising results ‣ Noticeable decrease in time taken to make decisions over a purely deliberative method. 54
  • 219. Results • Early tests have shown some promising results ‣ Noticeable decrease in time taken to make decisions over a purely deliberative method. - 1-2ms for a 12 decision point execution with 6ms of processing in advance. 54
  • 220. Results • Early tests have shown some promising results ‣ Noticeable decrease in time taken to make decisions over a purely deliberative method. - 1-2ms for a 12 decision point execution with 6ms of processing in advance. ‣ Increased robustness to changes detected in the domain 54
  • 221. Results • Early tests have shown some promising results ‣ Noticeable decrease in time taken to make decisions over a purely deliberative method. - 1-2ms for a 12 decision point execution with 6ms of processing in advance. ‣ Increased robustness to changes detected in the domain - Rapid discovery of alternative paths through the space 54
  • 222. Results • Early tests have shown some promising results ‣ Noticeable decrease in time taken to make decisions over a purely deliberative method. - 1-2ms for a 12 decision point execution with 6ms of processing in advance. ‣ Increased robustness to changes detected in the domain - Rapid discovery of alternative paths through the space • Much more rigorous testing required. 54
  • 224. Future Work • A lot of work remains to develop this into a polished technique that will revolutionise AI. 55
  • 225. Future Work • A lot of work remains to develop this into a polished technique that will revolutionise AI. ‣ Further testing on wider range of problems 55
  • 226. Future Work • A lot of work remains to develop this into a polished technique that will revolutionise AI. ‣ Further testing on wider range of problems ‣ Full testing of all assumptions made and techniques chosen without substantiation 55
  • 227. Future Work • A lot of work remains to develop this into a polished technique that will revolutionise AI. ‣ Further testing on wider range of problems ‣ Full testing of all assumptions made and techniques chosen without substantiation ‣ Development into a working system, rather than proof- of-concept prototype 55
  • 228. Future Work • A lot of work remains to develop this into a polished technique that will revolutionise AI. ‣ Further testing on wider range of problems ‣ Full testing of all assumptions made and techniques chosen without substantiation ‣ Development into a working system, rather than proof- of-concept prototype ‣ Proof of extensibility of system by addition of additional Stacks representing other sources of information. 55

Editor's Notes