SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
Stavros Vassos, University of Athens, Greece   stavrosv@di.uoa.gr   May 2012




INTRODUCTION TO AI
STRIPS PLANNING
.. and Applications to Video-games!
Course overview
2


       Lecture 1: Game-inspired competitions for AI research,
        AI decision making for non-player characters in games
       Lecture 2: STRIPS planning, state-space search
       Lecture 3: Planning Domain Definition Language (PDDL),
        using an award winning planner to solve Sokoban
       Lecture 4: Planning graphs, domain independent
        heuristics for STRIPS planning
       Lecture 5: Employing STRIPS planning in games:
        SimpleFPS, iThinkUnity3D, SmartWorkersRTS
       Lecture 6: Planning beyond STRIPS
Planning graphs
3


            Planning graph


                                           Β(C)

      Have(C)                   Have(C)             Have(C)

                               Have(C)            Have(C)
                      E(C)
                                           E(C)
                                Eaten(C)            Eaten(C)

     Eaten(C)                 Eaten(C)           Eaten(C)

                      Α0                   Α1
        s0                        s1                  s2
Planning graphs
4


       Planning graph
         Special   data structure

         Easy   to compute: polynomial complexity!

         Can  be used by the GRAPHPLAN algorithm to search
          for a solution (following similar reasoning as in the
          example)

         Can be used as a guideline for heuristic functions for
          progressive planning that are more accurate than the
          ones we sketched in Lecture 1
Planning graphs
5


       Planning graph
         Special   data structure

         Easy   to compute: polynomial complexity!

         Can  be used by the GRAPHPLAN algorithm to search
          for a solution (following similar reasoning as in the
          example)

         Can be used as a guideline for heuristic functions for
          progressive planning that are more accurate than the
          ones we sketched in Lecture 1
Planning graphs
6


       Planning graph
         Computing  the graph
          has polynomial
          complexity

       STRIPS planning
         Finding
                a solution is
          PSPACE-complete

       Where’s the
        complexity hiding?
Planning graphs
7


       Planning graph
         Computing  the graph
          has polynomial
          complexity

         Finding  a solution
          using the graph is
          NP-complete, while
          we may also need to
          extend the graph a
          finite number of
          times…  PSPACE
Planning graphs
8


       Planning graph
         Special   data structure

         Easy   to compute: polynomial complexity!

         Can  be used by the GRAPHPLAN algorithm to search
          for a solution (following similar reasoning as in the
          example)

         Can be used as a guideline for heuristic functions for
          progressive planning that are more accurate than the
          ones we sketched in Lecture 2
Planning graphs
9


     Start from the initial state
     Check if the current state satisfies the
      goal
     Compute applicable actions to the
      current state
     Compute the successor states

     Pick one the most promising of the
      successor states as the current state
     Repeat until a solution is found or the
      state space is exhausted
Planning graphs
10


      Start from the initial state
      Check if the current state satisfies the
       goal
      Compute applicable actions to the
       current state
                                                  PG1   PG2   PG3   PG4
      Compute the successor states
       Compute a planning graph for each
      Pick one the to estimate goal distance
     successor state most promising of the
       successor states as the current state
      Repeat until a solution is found or the
       state space is exhausted
Planning graphs
11


        Heuristic functions based on planning graphs

          Levelcost: the level where a literal appears in the
           graph for the first time
            Note:A literal that does not appear in the final level of the
             graph cannot be achieved by any plan!


          Max-level:   the max of the level cost for each sub-goal
          Sum-level: the sum of the level cost for each sub-goal

          Set-level: the first level that all sub-goals appear
           together without mutexes
Planning graphs
12


      Start  from the initial state
     As an example let’s see the heuristics for
      Check if the current state satisfies the
      the planning graph from the initial state
        goal
                                                  PG0
      Compute applicable actions to the
        current state
      Compute the successor states

      Pick one the most promising of the
        successor states as the current state
      Repeat until a solution is found or the
        state space is exhausted
Planning graphs
13


            Level cost for sub-goal Have(C) = 0
            Level cost for sub-goal Eaten(C) = 1

            Sum/Max-level heuristic = 1
                                                    Β(C)

     Have(C)                      Have(C)                    Have(C)

                                 Have(C)                   Have(C)
                      E(C)
                                                    E(C)
                                  Eaten(C)                   Eaten(C)

  Eaten(C)                      Eaten(C)                  Eaten(C)

                      Α0                            Α1
      s0                            s1                         s2
Planning graphs
14


            Level cost for sub-goal Have(C) = 0
            Level cost for sub-goal Eaten(C) = 1

            Set-level heuristic = 2
                                                    Β(C)

     Have(C)                      Have(C)                    Have(C)

                                 Have(C)                   Have(C)
                      E(C)
                                                    E(C)
                                  Eaten(C)                   Eaten(C)

  Eaten(C)                      Eaten(C)                  Eaten(C)

                      Α0                            Α1
      s0                            s1                         s2
Planning graphs
15


        Heuristic functions based on planning graphs

          As building the planning graph is relatively cheap
           (polynomial) we can build one for every state we want
           to evaluate and use Sum/Max/Set-level to estimate the
           distance to the goal

          As long as the heuristic provides good estimates, the
           time spent to calculate the planning graphs pays off
           because it helps us bypass big parts of the search
           space
Planning graphs
16


      Start from the initial state
      Check if the current state satisfies the
       goal
      Compute applicable actions to the
       current state
                                                  PG1   PG2   PG3   PG4
      Compute the successor states

      Pick one the most promising of the               PG5   PG6   PG7
       successor states as the current state
      Repeat until a solution is found or the                PG8   PG9
       state space is exhausted
Planning graphs
17


      Start from the initial state
      Check if the current state satisfies the
       goal
      Compute applicable actions to the
       current state
                                                  PG1   PG2   PG3   PG4
      Compute the successor states
     Here: computing 9 PGs may have helped
      Pick one the most of 1000s of of the
     search a state-space promising nodes               PG5   PG6   PG7
       successor states as the current state
      Repeat until a solution is found or the                PG8   PG9
       state space is exhausted
Relaxed planning task
18


        Let’s look closer now to one idea we discussed briefly
         in Lecture 2

        Same as we did with planning graphs, but instead
         solve a relaxed (i.e., simpler) planning task in
         order to estimate the goal distance

        Relaxation: Assume an empty list of preconditions
Relaxed planning task
19


      Start from the initial state
      Check if the current state satisfies the
       goal
      Compute applicable actions to the
       current state
                                                  RP1   RP2   RP3   RP4
      Compute the successor states

      Pick one the most promising of the
       successor states as the current state
      Repeat until a solution is found or the
       state space is exhausted
Relaxed planning task
20


        Planning graph
          Computing  the graph
           has polynomial
           complexity

        Empty list of
         preconditions
          Finding  a solution to
           the relaxed planning
           task is polynomial
          OK, but not very
           informative
Relaxed planning task
21


        Empty list of preconditions
          Initial   state

          Goal




          Without preconditions you can move each block to the
           desired position in one step: push(block, from, to, dir)
          From every state the goal is at most three actions away
Relaxed planning task
22


        Let’s look closer now to one idea we discussed briefly
         in Lecture 1

        Same as we did with planning graphs, but instead
         solve a relaxed (i.e., simpler) planning task in
         order to estimate the goal distance

        Relaxation: Assume an empty list of negative effects
Relaxed planning task
23


      Start from the initial state
      Check if the current state satisfies the
       goal
      Compute applicable actions to the
       current state
                                                  RP1   RP2   RP3   RP4
      Compute the successor states

      Pick one the most promising of the
       successor states as the current state
      Repeat until a solution is found or the
       state space is exhausted
Relaxed planning task
24


        Planning graph
          Computing  the graph
           has polynomial
           complexity

        Empty list of
         negative effects
          Finding  a solution to
           the relaxed planning
           task is NP-complete
        It’s not helping…
Relaxed planning task
25


        Planning graph
          Computing  the graph
           has polynomial
           complexity

        Empty list of
         negative effects
          Finding  a solution to
           the relaxed planning
           task is NP-complete
        We can estimate it!
Relaxed planning task: hadd, hmax
26


        Build a graph that approximates the cost of achieving
         literal p from state s [Bonet, Geffner 2001]

          Initializethe graph with literals in s having cost 0
          For every action a such that p is a positive effect, add p
           and set the cost of p by combining the cost of achieving
           the preconditions of a
          Build the graph iteratively keeping the minimum cost when
           a literal p re-appears

          The way the cost is combined for two literals defines the
           heuristic: hadd, hmax
Relaxed planning task: hadd, hmax
27


          Initialize the graph with literals in s having cost 0



     P1: 0

     P2: 0

     P3: 0

     P4: 0


      s0
Relaxed planning task: hadd, hmax
28


          For every action a such that p is a positive effect,
           add p and set the cost of p by combining the cost of
           achieving the preconditions of a

     P1: 0
                   A1    P5:
     P2: 0

     P3: 0
                   A2    P6:
     P4: 0


      s0
Relaxed planning task: hadd, hmax
29


          For every action a such that p is a positive effect,
           add p and set the cost of p by combining the cost of
           achieving the preconditions of a

     P1: 0                                Additive heuristic hadd: sum
                   A1    P5: (0+0)+1=1   the cost of preconditions +1
     P2: 0

     P3: 0
                   A2    P6: (0+0)+1=1
     P4: 0


      s0
Relaxed planning task: hadd, hmax
30


          For every action a such that p is a positive effect,
           add p and set the cost of p by combining the cost of
           achieving the preconditions of a

     P1: 0                                Additive heuristic hadd: sum
                   A1    P5: (0+0)+1=1   the cost of preconditions +1
     P2: 0

     P3: 0                                  A3       P7: (1+1)+1=3
                   A2    P6: (0+0)+1=1
     P4: 0


      s0
Relaxed planning task: hadd, hmax
31


          Build the graph iteratively keeping the minimum cost
           when a literal p re-appears
            (similar   to planning graphs, stop when no changes arise)

     P1: 0                                     Additive heuristic hadd: sum
                        A1   P5: (0+0)+1=1    the cost of preconditions +1
     P2: 0

     P3: 0                                       A3       P7: (1+1)+1=3
                        A2   P6: (0+0)+1=1
     P4: 0


      s0
Relaxed planning task: hadd, hmax
32


          Build the graph iteratively keeping the minimum cost
           when a literal p re-appears


     P1: 0                                Additive heuristic hadd: sum
                   A1    P5: (0+0)+1=1   the cost of preconditions +1
     P2: 0

     P3: 0                                  A3       P7: (1+1)+1=3
                   A2    P6: (0+0)+1=1
     P4: 0                                           P7: (1)+1   =2


      s0                                     Max heuristic hmax:
                                           max cost of precond +1
Relaxed planning task: hadd, hmax
33


        Planning graph
          Computing  the graph
           has polynomial
           complexity

        Empty list of
         negative effects
          Finding  a solution to
           the relaxed planning
           task is NP-complete
        We can estimate it!
Relaxed planning task: hadd, hmax
34


        Additive heuristic hadd: sum the cost of preconditions
        Max heuristic hmax: max cost of preconditions

        Observation 1: These heuristics assume goal
         independence, therefore miss useful information
Relaxed planning task: hadd, hmax
35


          Note: literals appear at most once in this graph; the
           iteration in which they appear is a lower-bound of
           the estimated cost

     P1: 0                                Additive heuristic hadd: sum
                   A1    P5: (0+0)+1=1   the cost of preconditions +1
     P2: 0

     P3: 0                                  A3       P7: (1+1)+1=3
                   A2    P6: (0+0)+1=1
     P4: 0                                           P7: (1)+1   =2


      s0                                     Max heuristic hmax:
                                           max cost of precond +1
Relaxed planning task: hadd, hmax
36


        Additive heuristic hadd: sum the cost of preconditions
        Max heuristic hmax: max cost of preconditions

        Observation 1: These heuristics assume goal
         independence, therefore miss useful information
        Observation 2: Planning graphs keep track of how
         actions interact, and look like the graphs we examined
Planning graphs
37


          Note: literals are structured in increasingly larger
           layers which also keep track of how actions interact

                                               Β(C)

     Have(C)                    Have(C)                   Have(C)

                               Have(C)                  Have(C)
                     E(C)
                                               E(C)
                                Eaten(C)                  Eaten(C)

  Eaten(C)                    Eaten(C)                 Eaten(C)

                     Α0                        Α1
      s0                          s1                        s2
Relaxed planning task: hadd, hmax
38


        Additive heuristic hadd: sum the cost of preconditions
        Max heuristic hmax: max cost of preconditions

        Observation 1: These heuristics assume goal
         independence, therefore miss useful information
        Observation 2: Planning graphs keep track of how
         actions interact, and look like the graphs we examined

        FF Heuristic: Let’s apply the empty delete list
         relaxation to planning graphs!
                                 [Hoffmann, Nebel 2001]
Relaxed planning task: FF
39


          Assume an empty list of negative effects


                                              Β(C)

     Have(C)                    Have(C)                 Have(C)

                               Have(C)                Have(C)
                     E(C)
                                              E(C)
                                Eaten(C)                Eaten(C)

  Eaten(C)                    Eaten(C)               Eaten(C)

                     Α0                       Α1
      s0                          s1                      s2
Relaxed planning task: FF
40


          Assume an empty list of negative effects
          No negative literals
                                              Β(C)

     Have(C)                   Have(C)                Have(C)

                     E(C)
                                              E(C)
                               Eaten(C)               Eaten(C)



                     Α0                       Α1
      s0                         s1                     s2
Relaxed planning task: FF
41


          Assume an empty list of negative effects
          No negative literals  No mutual constraints
                                              Β(C)

     Have(C)                   Have(C)                    Have(C)

                     E(C)
                                              E(C)
                               Eaten(C)                   Eaten(C)



                     Α0                       Α1
      s0                         s1                         s2
Relaxed planning task: FF
42


         Extracting a solution has polynomial complexity:
          pick actions for each sub-goal in a single sweep

                                                  Β(C)

     Have(C)                    Have(C)                       Have(C)

                                NotHave(C)
                    E(C)
                                                  E(C)
                                Eaten(C)                      Eaten(C)



                    Α0                            Α1
      s0Note: this is actually not a very good example because wes2
                                      s1
        have used negative preconditions (did anybody notice? :-)
Relaxed planning task: FF
43


          Extracting a solution has polynomial complexity:
           pick actions for each sub-goal in a single sweep


     Have(C)                   Have(C)        In any case, here
                                               we would have
                     E(C)
                                                stopped at s1
                               Eaten(C)         where we first
                                               reach the goal
                     Α0
      s0                         s1
Relaxed planning task: hadd, hmax, FF, h2
44


        Additive heuristic hadd:
         sum the cost of preconditions

        Max heuristic hmax:
         max cost of preconditions

        FF heuristic:                        Still one of the
         exploit positive interaction         best heuristics!

        h2 heuristic:
         same idea like hmax but keep track
         of pairs of literals
Relaxed planning task: hadd, hmax, FF, h2
45


        Additive heuristic hadd:
                                              Not admissible
         sum the cost of preconditions +1

        Max heuristic hmax:
         max cost of preconditions +1           Admissible


        FF heuristic:
         exploit positive interaction         Not admissible

        h2 heuristic:
         same idea like hmax but keep track     Admissible
         of pairs of literals
Relaxed planning task: hadd, hmax, FF, h2
46


        Let’s see again the performance of the Fast-
         downward planner in the Sokoban planning
         problem we examined in Lecture 3
Using PDDL planners: Sokoban
47


        search/downward --search "astar(blind())" <output
Using PDDL planners: Sokoban
48


        search/downward --search "astar(goalcount())"
Using PDDL planners: Sokoban
49


        search/downward --search "astar(hmax())" <output
Using PDDL planners: Sokoban
50


        search/downward --search "astar(add())" <output
Using PDDL planners: Sokoban
51


        search/downward --search "lazy_greedy(ff())" <output
Next lecture
52


        Lecture 1: Game-inspired competitions for AI research,
         AI decision making for non-player characters in games
        Lecture 2: STRIPS planning, state-space search
        Lecture 3: Planning Domain Definition Language (PDDL),
         using an award winning planner to solve Sokoban
        Lecture 4: Planning graphs, domain independent
         heuristics for STRIPS planning
        Lecture 5: Employing STRIPS planning in games:
         SimpleFPS, iThinkUnity3D, SmartWorkersRTS
        Lecture 6: Planning beyond STRIPS
Bibliography
53


      References
        The  Computational Complexity of Propositional STRIPS Planning.
         Tom Bylander. Artificial Intelligence, Vol. 69, 1994
        Planning as Heuristic Search. Blai Bonet, Héctor Geffner. Artificial
         Intelligence, Vol. 129, 2001
        Admissible Heuristics for Optimal Planning. P. Haslum, H. Geffner.
         In Proceedings of the International Conference on AI Planning
         Systems (AIPS), 2000
        The FF planning system: Fast plan generation through heuristic
         search. Jörg Hoffmann, Bernhard Nebel. Artificial Intelligence
         Research, Vol. 14, 2001

Más contenido relacionado

Similar a Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2

Cs221 logic-planning
Cs221 logic-planningCs221 logic-planning
Cs221 logic-planning
darwinrlo
 
Cs221 lecture7-fall11
Cs221 lecture7-fall11Cs221 lecture7-fall11
Cs221 lecture7-fall11
darwinrlo
 
2.a-CMPS 403-F20-Session 2-Search Problems.pdf
2.a-CMPS 403-F20-Session 2-Search Problems.pdf2.a-CMPS 403-F20-Session 2-Search Problems.pdf
2.a-CMPS 403-F20-Session 2-Search Problems.pdf
AmirMohamedNabilSale
 

Similar a Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2 (20)

Cs221 logic-planning
Cs221 logic-planningCs221 logic-planning
Cs221 logic-planning
 
Cs221 lecture7-fall11
Cs221 lecture7-fall11Cs221 lecture7-fall11
Cs221 lecture7-fall11
 
lecture12.pdf
lecture12.pdflecture12.pdf
lecture12.pdf
 
Artificial Intelligence 1 Planning In The Real World
Artificial Intelligence 1 Planning In The Real WorldArtificial Intelligence 1 Planning In The Real World
Artificial Intelligence 1 Planning In The Real World
 
2.a-CMPS 403-F20-Session 2-Search Problems.pdf
2.a-CMPS 403-F20-Session 2-Search Problems.pdf2.a-CMPS 403-F20-Session 2-Search Problems.pdf
2.a-CMPS 403-F20-Session 2-Search Problems.pdf
 
Lesson 24
Lesson 24Lesson 24
Lesson 24
 
AI Lesson 24
AI Lesson 24AI Lesson 24
AI Lesson 24
 
Chapter02b
Chapter02bChapter02b
Chapter02b
 
21CSC206T_UNIT 5.pptx artificial intelligence
21CSC206T_UNIT 5.pptx artificial intelligence21CSC206T_UNIT 5.pptx artificial intelligence
21CSC206T_UNIT 5.pptx artificial intelligence
 
Scheduling And Htn
Scheduling And HtnScheduling And Htn
Scheduling And Htn
 
RPT_AI-06_A_Planning Intro.ppt
RPT_AI-06_A_Planning Intro.pptRPT_AI-06_A_Planning Intro.ppt
RPT_AI-06_A_Planning Intro.ppt
 
AI_Planning.pdf
AI_Planning.pdfAI_Planning.pdf
AI_Planning.pdf
 
Partial Compilers
Partial CompilersPartial Compilers
Partial Compilers
 
Planning
PlanningPlanning
Planning
 
AI_unit IV Full Notes.pdf
AI_unit IV Full Notes.pdfAI_unit IV Full Notes.pdf
AI_unit IV Full Notes.pdf
 
The Concurrent Constraint Programming Research Programmes -- Redux (part2)
The Concurrent Constraint Programming Research Programmes -- Redux (part2)The Concurrent Constraint Programming Research Programmes -- Redux (part2)
The Concurrent Constraint Programming Research Programmes -- Redux (part2)
 
Huddersfield
HuddersfieldHuddersfield
Huddersfield
 
Integrated Influence - The Six Million Dollar Man of AI
Integrated Influence - The Six Million Dollar Man of AIIntegrated Influence - The Six Million Dollar Man of AI
Integrated Influence - The Six Million Dollar Man of AI
 
algorithm_6dynamic_programming.pdf
algorithm_6dynamic_programming.pdfalgorithm_6dynamic_programming.pdf
algorithm_6dynamic_programming.pdf
 
Multinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkMultinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache Spark
 

Más de Stavros Vassos

Más de Stavros Vassos (6)

Pathfinding - Part 3: Beyond the basics
Pathfinding - Part 3: Beyond the basicsPathfinding - Part 3: Beyond the basics
Pathfinding - Part 3: Beyond the basics
 
Pathfinding - Part 2: Examples in Unity
Pathfinding - Part 2: Examples in UnityPathfinding - Part 2: Examples in Unity
Pathfinding - Part 2: Examples in Unity
 
Pathfinding - Part 1: Α* heuristic search
Pathfinding - Part 1: Α* heuristic searchPathfinding - Part 1: Α* heuristic search
Pathfinding - Part 1: Α* heuristic search
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part1
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture1-Part2
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part2Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture6-Part2
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part2

  • 1. Stavros Vassos, University of Athens, Greece stavrosv@di.uoa.gr May 2012 INTRODUCTION TO AI STRIPS PLANNING .. and Applications to Video-games!
  • 2. Course overview 2  Lecture 1: Game-inspired competitions for AI research, AI decision making for non-player characters in games  Lecture 2: STRIPS planning, state-space search  Lecture 3: Planning Domain Definition Language (PDDL), using an award winning planner to solve Sokoban  Lecture 4: Planning graphs, domain independent heuristics for STRIPS planning  Lecture 5: Employing STRIPS planning in games: SimpleFPS, iThinkUnity3D, SmartWorkersRTS  Lecture 6: Planning beyond STRIPS
  • 3. Planning graphs 3  Planning graph Β(C) Have(C) Have(C) Have(C)  Have(C)  Have(C) E(C) E(C) Eaten(C) Eaten(C)  Eaten(C)  Eaten(C)  Eaten(C) Α0 Α1 s0 s1 s2
  • 4. Planning graphs 4  Planning graph  Special data structure  Easy to compute: polynomial complexity!  Can be used by the GRAPHPLAN algorithm to search for a solution (following similar reasoning as in the example)  Can be used as a guideline for heuristic functions for progressive planning that are more accurate than the ones we sketched in Lecture 1
  • 5. Planning graphs 5  Planning graph  Special data structure  Easy to compute: polynomial complexity!  Can be used by the GRAPHPLAN algorithm to search for a solution (following similar reasoning as in the example)  Can be used as a guideline for heuristic functions for progressive planning that are more accurate than the ones we sketched in Lecture 1
  • 6. Planning graphs 6  Planning graph  Computing the graph has polynomial complexity  STRIPS planning  Finding a solution is PSPACE-complete  Where’s the complexity hiding?
  • 7. Planning graphs 7  Planning graph  Computing the graph has polynomial complexity  Finding a solution using the graph is NP-complete, while we may also need to extend the graph a finite number of times…  PSPACE
  • 8. Planning graphs 8  Planning graph  Special data structure  Easy to compute: polynomial complexity!  Can be used by the GRAPHPLAN algorithm to search for a solution (following similar reasoning as in the example)  Can be used as a guideline for heuristic functions for progressive planning that are more accurate than the ones we sketched in Lecture 2
  • 9. Planning graphs 9  Start from the initial state  Check if the current state satisfies the goal  Compute applicable actions to the current state  Compute the successor states  Pick one the most promising of the successor states as the current state  Repeat until a solution is found or the state space is exhausted
  • 10. Planning graphs 10  Start from the initial state  Check if the current state satisfies the goal  Compute applicable actions to the current state PG1 PG2 PG3 PG4  Compute the successor states Compute a planning graph for each  Pick one the to estimate goal distance successor state most promising of the successor states as the current state  Repeat until a solution is found or the state space is exhausted
  • 11. Planning graphs 11  Heuristic functions based on planning graphs  Levelcost: the level where a literal appears in the graph for the first time  Note:A literal that does not appear in the final level of the graph cannot be achieved by any plan!  Max-level: the max of the level cost for each sub-goal  Sum-level: the sum of the level cost for each sub-goal  Set-level: the first level that all sub-goals appear together without mutexes
  • 12. Planning graphs 12  Start from the initial state As an example let’s see the heuristics for  Check if the current state satisfies the the planning graph from the initial state goal PG0  Compute applicable actions to the current state  Compute the successor states  Pick one the most promising of the successor states as the current state  Repeat until a solution is found or the state space is exhausted
  • 13. Planning graphs 13  Level cost for sub-goal Have(C) = 0  Level cost for sub-goal Eaten(C) = 1  Sum/Max-level heuristic = 1 Β(C) Have(C) Have(C) Have(C)  Have(C)  Have(C) E(C) E(C) Eaten(C) Eaten(C)  Eaten(C)  Eaten(C)  Eaten(C) Α0 Α1 s0 s1 s2
  • 14. Planning graphs 14  Level cost for sub-goal Have(C) = 0  Level cost for sub-goal Eaten(C) = 1  Set-level heuristic = 2 Β(C) Have(C) Have(C) Have(C)  Have(C)  Have(C) E(C) E(C) Eaten(C) Eaten(C)  Eaten(C)  Eaten(C)  Eaten(C) Α0 Α1 s0 s1 s2
  • 15. Planning graphs 15  Heuristic functions based on planning graphs  As building the planning graph is relatively cheap (polynomial) we can build one for every state we want to evaluate and use Sum/Max/Set-level to estimate the distance to the goal  As long as the heuristic provides good estimates, the time spent to calculate the planning graphs pays off because it helps us bypass big parts of the search space
  • 16. Planning graphs 16  Start from the initial state  Check if the current state satisfies the goal  Compute applicable actions to the current state PG1 PG2 PG3 PG4  Compute the successor states  Pick one the most promising of the PG5 PG6 PG7 successor states as the current state  Repeat until a solution is found or the PG8 PG9 state space is exhausted
  • 17. Planning graphs 17  Start from the initial state  Check if the current state satisfies the goal  Compute applicable actions to the current state PG1 PG2 PG3 PG4  Compute the successor states Here: computing 9 PGs may have helped  Pick one the most of 1000s of of the search a state-space promising nodes PG5 PG6 PG7 successor states as the current state  Repeat until a solution is found or the PG8 PG9 state space is exhausted
  • 18. Relaxed planning task 18  Let’s look closer now to one idea we discussed briefly in Lecture 2  Same as we did with planning graphs, but instead solve a relaxed (i.e., simpler) planning task in order to estimate the goal distance  Relaxation: Assume an empty list of preconditions
  • 19. Relaxed planning task 19  Start from the initial state  Check if the current state satisfies the goal  Compute applicable actions to the current state RP1 RP2 RP3 RP4  Compute the successor states  Pick one the most promising of the successor states as the current state  Repeat until a solution is found or the state space is exhausted
  • 20. Relaxed planning task 20  Planning graph  Computing the graph has polynomial complexity  Empty list of preconditions  Finding a solution to the relaxed planning task is polynomial  OK, but not very informative
  • 21. Relaxed planning task 21  Empty list of preconditions  Initial state  Goal  Without preconditions you can move each block to the desired position in one step: push(block, from, to, dir)  From every state the goal is at most three actions away
  • 22. Relaxed planning task 22  Let’s look closer now to one idea we discussed briefly in Lecture 1  Same as we did with planning graphs, but instead solve a relaxed (i.e., simpler) planning task in order to estimate the goal distance  Relaxation: Assume an empty list of negative effects
  • 23. Relaxed planning task 23  Start from the initial state  Check if the current state satisfies the goal  Compute applicable actions to the current state RP1 RP2 RP3 RP4  Compute the successor states  Pick one the most promising of the successor states as the current state  Repeat until a solution is found or the state space is exhausted
  • 24. Relaxed planning task 24  Planning graph  Computing the graph has polynomial complexity  Empty list of negative effects  Finding a solution to the relaxed planning task is NP-complete  It’s not helping…
  • 25. Relaxed planning task 25  Planning graph  Computing the graph has polynomial complexity  Empty list of negative effects  Finding a solution to the relaxed planning task is NP-complete  We can estimate it!
  • 26. Relaxed planning task: hadd, hmax 26  Build a graph that approximates the cost of achieving literal p from state s [Bonet, Geffner 2001]  Initializethe graph with literals in s having cost 0  For every action a such that p is a positive effect, add p and set the cost of p by combining the cost of achieving the preconditions of a  Build the graph iteratively keeping the minimum cost when a literal p re-appears  The way the cost is combined for two literals defines the heuristic: hadd, hmax
  • 27. Relaxed planning task: hadd, hmax 27  Initialize the graph with literals in s having cost 0 P1: 0 P2: 0 P3: 0 P4: 0 s0
  • 28. Relaxed planning task: hadd, hmax 28  For every action a such that p is a positive effect, add p and set the cost of p by combining the cost of achieving the preconditions of a P1: 0 A1 P5: P2: 0 P3: 0 A2 P6: P4: 0 s0
  • 29. Relaxed planning task: hadd, hmax 29  For every action a such that p is a positive effect, add p and set the cost of p by combining the cost of achieving the preconditions of a P1: 0 Additive heuristic hadd: sum A1 P5: (0+0)+1=1 the cost of preconditions +1 P2: 0 P3: 0 A2 P6: (0+0)+1=1 P4: 0 s0
  • 30. Relaxed planning task: hadd, hmax 30  For every action a such that p is a positive effect, add p and set the cost of p by combining the cost of achieving the preconditions of a P1: 0 Additive heuristic hadd: sum A1 P5: (0+0)+1=1 the cost of preconditions +1 P2: 0 P3: 0 A3 P7: (1+1)+1=3 A2 P6: (0+0)+1=1 P4: 0 s0
  • 31. Relaxed planning task: hadd, hmax 31  Build the graph iteratively keeping the minimum cost when a literal p re-appears  (similar to planning graphs, stop when no changes arise) P1: 0 Additive heuristic hadd: sum A1 P5: (0+0)+1=1 the cost of preconditions +1 P2: 0 P3: 0 A3 P7: (1+1)+1=3 A2 P6: (0+0)+1=1 P4: 0 s0
  • 32. Relaxed planning task: hadd, hmax 32  Build the graph iteratively keeping the minimum cost when a literal p re-appears P1: 0 Additive heuristic hadd: sum A1 P5: (0+0)+1=1 the cost of preconditions +1 P2: 0 P3: 0 A3 P7: (1+1)+1=3 A2 P6: (0+0)+1=1 P4: 0 P7: (1)+1 =2 s0 Max heuristic hmax: max cost of precond +1
  • 33. Relaxed planning task: hadd, hmax 33  Planning graph  Computing the graph has polynomial complexity  Empty list of negative effects  Finding a solution to the relaxed planning task is NP-complete  We can estimate it!
  • 34. Relaxed planning task: hadd, hmax 34  Additive heuristic hadd: sum the cost of preconditions  Max heuristic hmax: max cost of preconditions  Observation 1: These heuristics assume goal independence, therefore miss useful information
  • 35. Relaxed planning task: hadd, hmax 35  Note: literals appear at most once in this graph; the iteration in which they appear is a lower-bound of the estimated cost P1: 0 Additive heuristic hadd: sum A1 P5: (0+0)+1=1 the cost of preconditions +1 P2: 0 P3: 0 A3 P7: (1+1)+1=3 A2 P6: (0+0)+1=1 P4: 0 P7: (1)+1 =2 s0 Max heuristic hmax: max cost of precond +1
  • 36. Relaxed planning task: hadd, hmax 36  Additive heuristic hadd: sum the cost of preconditions  Max heuristic hmax: max cost of preconditions  Observation 1: These heuristics assume goal independence, therefore miss useful information  Observation 2: Planning graphs keep track of how actions interact, and look like the graphs we examined
  • 37. Planning graphs 37  Note: literals are structured in increasingly larger layers which also keep track of how actions interact Β(C) Have(C) Have(C) Have(C)  Have(C)  Have(C) E(C) E(C) Eaten(C) Eaten(C)  Eaten(C)  Eaten(C)  Eaten(C) Α0 Α1 s0 s1 s2
  • 38. Relaxed planning task: hadd, hmax 38  Additive heuristic hadd: sum the cost of preconditions  Max heuristic hmax: max cost of preconditions  Observation 1: These heuristics assume goal independence, therefore miss useful information  Observation 2: Planning graphs keep track of how actions interact, and look like the graphs we examined  FF Heuristic: Let’s apply the empty delete list relaxation to planning graphs! [Hoffmann, Nebel 2001]
  • 39. Relaxed planning task: FF 39  Assume an empty list of negative effects Β(C) Have(C) Have(C) Have(C)  Have(C)  Have(C) E(C) E(C) Eaten(C) Eaten(C)  Eaten(C)  Eaten(C)  Eaten(C) Α0 Α1 s0 s1 s2
  • 40. Relaxed planning task: FF 40  Assume an empty list of negative effects  No negative literals Β(C) Have(C) Have(C) Have(C) E(C) E(C) Eaten(C) Eaten(C) Α0 Α1 s0 s1 s2
  • 41. Relaxed planning task: FF 41  Assume an empty list of negative effects  No negative literals  No mutual constraints Β(C) Have(C) Have(C) Have(C) E(C) E(C) Eaten(C) Eaten(C) Α0 Α1 s0 s1 s2
  • 42. Relaxed planning task: FF 42  Extracting a solution has polynomial complexity: pick actions for each sub-goal in a single sweep Β(C) Have(C) Have(C) Have(C) NotHave(C) E(C) E(C) Eaten(C) Eaten(C) Α0 Α1 s0Note: this is actually not a very good example because wes2 s1 have used negative preconditions (did anybody notice? :-)
  • 43. Relaxed planning task: FF 43  Extracting a solution has polynomial complexity: pick actions for each sub-goal in a single sweep Have(C) Have(C) In any case, here we would have E(C) stopped at s1 Eaten(C) where we first reach the goal Α0 s0 s1
  • 44. Relaxed planning task: hadd, hmax, FF, h2 44  Additive heuristic hadd: sum the cost of preconditions  Max heuristic hmax: max cost of preconditions  FF heuristic: Still one of the exploit positive interaction best heuristics!  h2 heuristic: same idea like hmax but keep track of pairs of literals
  • 45. Relaxed planning task: hadd, hmax, FF, h2 45  Additive heuristic hadd: Not admissible sum the cost of preconditions +1  Max heuristic hmax: max cost of preconditions +1 Admissible  FF heuristic: exploit positive interaction Not admissible  h2 heuristic: same idea like hmax but keep track Admissible of pairs of literals
  • 46. Relaxed planning task: hadd, hmax, FF, h2 46  Let’s see again the performance of the Fast- downward planner in the Sokoban planning problem we examined in Lecture 3
  • 47. Using PDDL planners: Sokoban 47  search/downward --search "astar(blind())" <output
  • 48. Using PDDL planners: Sokoban 48  search/downward --search "astar(goalcount())"
  • 49. Using PDDL planners: Sokoban 49  search/downward --search "astar(hmax())" <output
  • 50. Using PDDL planners: Sokoban 50  search/downward --search "astar(add())" <output
  • 51. Using PDDL planners: Sokoban 51  search/downward --search "lazy_greedy(ff())" <output
  • 52. Next lecture 52  Lecture 1: Game-inspired competitions for AI research, AI decision making for non-player characters in games  Lecture 2: STRIPS planning, state-space search  Lecture 3: Planning Domain Definition Language (PDDL), using an award winning planner to solve Sokoban  Lecture 4: Planning graphs, domain independent heuristics for STRIPS planning  Lecture 5: Employing STRIPS planning in games: SimpleFPS, iThinkUnity3D, SmartWorkersRTS  Lecture 6: Planning beyond STRIPS
  • 53. Bibliography 53  References  The Computational Complexity of Propositional STRIPS Planning. Tom Bylander. Artificial Intelligence, Vol. 69, 1994  Planning as Heuristic Search. Blai Bonet, Héctor Geffner. Artificial Intelligence, Vol. 129, 2001  Admissible Heuristics for Optimal Planning. P. Haslum, H. Geffner. In Proceedings of the International Conference on AI Planning Systems (AIPS), 2000  The FF planning system: Fast plan generation through heuristic search. Jörg Hoffmann, Bernhard Nebel. Artificial Intelligence Research, Vol. 14, 2001