SlideShare a Scribd company logo
1 of 24
Download to read offline
Stavros Vassos, University of Athens, Greece   stavrosv@di.uoa.gr   May 2012




INTRODUCTION TO AI
STRIPS PLANNING
.. and Applications to Video-games!
Project ideas
2


       Smart pre-processing

       PDDL–Golog synergy

       FSM–BTs synergy

       Replanning in Unity3D

       STRIPS extensions in Unity3D

       STRIPS in Valve’s GE
Project ideas: Smart pre-processing
3
Project ideas: Smart pre-processing
4


       Academic planners rely on serious pre-processing
         FastDownward   compiles the problem into a SAS format (*)
Project ideas: Smart pre-processing
5


       Academic planners rely on serious pre-processing
         FastDownward   compiles the problem into a SAS format (*)
Project ideas: Smart pre-processing
6


       Academic planners rely on serious pre-processing
         FastDownward   compiles the problem into a SAS format (*)
       Maintain such a structure for many NPCs and update
        the information instead of re-compute every time
Project ideas: PDDL–Golog synergy
7
Project ideas: PDDL–Golog synergy
8


       Simple Golog implementation in Prolog
         http://www.cs.toronto.edu/cogrobo/main/systems/inde
          x.html

       Simple PDDL parsing and planning in Prolog
         Provided   in the files of Lecture 3

       Adapt the Golog implementation to take as input a
        PDDL domain/problem instance and solve wrt a
        Golog program instead of the goal
Project ideas: PDDL–Golog synergy
9


       Develop a visual language (and GUI) for specifying
        Golog programs based on BTs!
                                      ?
                                                    
           Until                           Until          Look
                         Find a way        fail
           fail                                          around
                          to attack
                            (using
                          planning)
          Enemy                            Invert
          in sight

                                          Enemy
                                          in sight
Project ideas: FSM–BTs synergy
10
Project ideas: FSM–BTs synergy
11




     Behavior Trees                         Goal Oriented
                                            Action Planning
         A combination of these techniques?
           BTs
              for reactive decision making
           GOAP for tactical decision making
Project ideas: FSM–BTs synergy
12


        “Behave” tool for Unity3D by Angry Ant
          http://eej.dk/angryant/behave/

          Visual
                interface for building BTs
          Generates code to be used in Unity3D



        “iThink” tool for Unity3D by [Anastassiou,
         Diamantopoulos, Vassos, Koubarakis 2012]
          https://code.google.com/p/ithink-unity3d/
Project ideas: FSM–BTs synergy
13


        “Behave” tool for Unity3D by Angry Ant
Project ideas: FSM–BTs synergy
14


        “Behave” tool for Unity3D by Angry Ant
Project ideas: Replanning in Unity3D
15
Project ideas: Replanning in Unity3D
16


        Use iThink-Unity3d as the basis

        Extend it with a sensory system that updates the
         current state according to changes in the game-world
Project ideas: Replanning in Unity3D
17


        Use iThink-Unity3d as the basis

        Extend it with a sensory system that updates the
         current state according to changes in the game-world

        Implement some simple policies for execution
         monitoring and replanning
          Check  the next n actions in the plan and verify that they
           can be executed
          Extend the planning system to include conditions at each
           step that need to be true for continuing the execution
Project ideas: STRIPS ext. in Unity3D
18
Project ideas: STRIPS ext. in Unity3D
19


        Adopt an open world assumption
        Adopt functionality similar to PKS
        Introduce features that are important for a
         particular game genre, e.g., durative actions
        …
Project ideas: STRIPS in Valve’s GE
20
Project ideas: STRIPS in Valve’s GE
21


        Similar to iThink-Unity3d but now in a real game!
        C++
        Adventurous as there is only some basic
         documentation (but also an active forum)
        It’s the best only way to convince people in the
         game industry that your technique works
Project ideas: STRIPS in Valve’s GE
22


        Valve’s game engine already uses the terminology
         used in academic planning
          Condition literal
          Task  action
          Schedule  plan


        The thinking function of NPCs uses a nice execution
         monitoring mechanism that decides which plan to
         follow and when to stop executing a plan

        But instead for searching for plans, a small set of
         pre-defined schedules are used
Project ideas: STRIPS in Valve’s GE
23


        https://developer.valvesoftware.com/wiki/AI_Progra
         mming
          https://developer.valvesoftware.com/wiki/Conditions

          https://developer.valvesoftware.com/wiki/Task

          https://developer.valvesoftware.com/wiki/Schedule

          https://developer.valvesoftware.com/wiki/State

          https://developer.valvesoftware.com/wiki/NPCThink()

          https://developer.valvesoftware.com/wiki/Shared_tasks

          https://developer.valvesoftware.com/wiki/Shared_conditi
           ons
Project ideas: AI competition
24

More Related Content

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

Interim Report.docx - vsiogap3d.googlecode.com
Interim Report.docx - vsiogap3d.googlecode.comInterim Report.docx - vsiogap3d.googlecode.com
Interim Report.docx - vsiogap3d.googlecode.com
butest
 
PT GTUG 1st Technical Tession - Android
PT GTUG 1st Technical Tession - AndroidPT GTUG 1st Technical Tession - Android
PT GTUG 1st Technical Tession - Android
drjuniornet
 
Applico Android Info Session at Columbia University
Applico Android Info Session at Columbia UniversityApplico Android Info Session at Columbia University
Applico Android Info Session at Columbia University
Applico
 
Android Development
Android DevelopmentAndroid Development
Android Development
Paulo Hecht
 
Getting Started with Android Application Development
Getting Started with Android Application DevelopmentGetting Started with Android Application Development
Getting Started with Android Application Development
Asanka Indrajith
 
Android app development SEO Expert Bangladesh LTD.pdf
Android app development  SEO Expert Bangladesh LTD.pdfAndroid app development  SEO Expert Bangladesh LTD.pdf
Android app development SEO Expert Bangladesh LTD.pdf
Tasnim Jahan
 
Android app development SEO Expert Bangladesh LTD.pdf
Android app development  SEO Expert Bangladesh LTD.pdfAndroid app development  SEO Expert Bangladesh LTD.pdf
Android app development SEO Expert Bangladesh LTD.pdf
Tasnim Jahan
 
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge DatasetsScaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Turi, Inc.
 

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

Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
 
Next Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and SnykNext Generation Vulnerability Assessment Using Datadog and Snyk
Next Generation Vulnerability Assessment Using Datadog and Snyk
 
Interim Report.docx - vsiogap3d.googlecode.com
Interim Report.docx - vsiogap3d.googlecode.comInterim Report.docx - vsiogap3d.googlecode.com
Interim Report.docx - vsiogap3d.googlecode.com
 
Android Application And Unity3D Game Documentation
Android Application And Unity3D Game DocumentationAndroid Application And Unity3D Game Documentation
Android Application And Unity3D Game Documentation
 
PT GTUG 1st Technical Tession - Android
PT GTUG 1st Technical Tession - AndroidPT GTUG 1st Technical Tession - Android
PT GTUG 1st Technical Tession - Android
 
Applico Android Info Session at Columbia University
Applico Android Info Session at Columbia UniversityApplico Android Info Session at Columbia University
Applico Android Info Session at Columbia University
 
Android Development
Android DevelopmentAndroid Development
Android Development
 
[Android] Intent and Activity
[Android] Intent and Activity[Android] Intent and Activity
[Android] Intent and Activity
 
Getting Started with Android Application Development
Getting Started with Android Application DevelopmentGetting Started with Android Application Development
Getting Started with Android Application Development
 
Android app development SEO Expert Bangladesh LTD.pdf
Android app development  SEO Expert Bangladesh LTD.pdfAndroid app development  SEO Expert Bangladesh LTD.pdf
Android app development SEO Expert Bangladesh LTD.pdf
 
Android app development SEO Expert Bangladesh LTD.pdf
Android app development  SEO Expert Bangladesh LTD.pdfAndroid app development  SEO Expert Bangladesh LTD.pdf
Android app development SEO Expert Bangladesh LTD.pdf
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
 
PRO TALK - Kubernetes Security Workshop.pdf
PRO TALK - Kubernetes Security Workshop.pdfPRO TALK - Kubernetes Security Workshop.pdf
PRO TALK - Kubernetes Security Workshop.pdf
 
Kubernetes Security Workshop
Kubernetes Security WorkshopKubernetes Security Workshop
Kubernetes Security Workshop
 
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge DatasetsScaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
 
Android UI Design Tips
Android UI Design TipsAndroid UI Design Tips
Android UI Design Tips
 
Front matter: Next Level Front End Deployments on OpenShift
Front matter: Next Level Front End Deployments on OpenShiftFront matter: Next Level Front End Deployments on OpenShift
Front matter: Next Level Front End Deployments on OpenShift
 
Hari-Prasad Sudharshan [Fujitsu Network Communications] | ML-Based Data-Drive...
Hari-Prasad Sudharshan [Fujitsu Network Communications] | ML-Based Data-Drive...Hari-Prasad Sudharshan [Fujitsu Network Communications] | ML-Based Data-Drive...
Hari-Prasad Sudharshan [Fujitsu Network Communications] | ML-Based Data-Drive...
 
Which android app development tools deserve your attention this year
Which android app development tools deserve your attention this year  Which android app development tools deserve your attention this year
Which android app development tools deserve your attention this year
 
08. Design Patterns
08. Design Patterns08. Design Patterns
08. Design Patterns
 

More from Stavros Vassos

The SimpleFPS Planning Domain: A PDDL Benchmark for Proactive NPCs
The SimpleFPS Planning Domain: A PDDL Benchmark for Proactive NPCsThe SimpleFPS Planning Domain: A PDDL Benchmark for Proactive NPCs
The SimpleFPS Planning Domain: A PDDL Benchmark for Proactive NPCs
Stavros Vassos
 

More from Stavros Vassos (8)

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 Lecture5-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture5-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture5-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture5-Part1
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture4-Part1
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1
Intro to AI STRIPS Planning & Applications in Video-games Lecture3-Part1
 
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
Intro to AI STRIPS Planning & Applications in Video-games Lecture2-Part2
 
The SimpleFPS Planning Domain: A PDDL Benchmark for Proactive NPCs
The SimpleFPS Planning Domain: A PDDL Benchmark for Proactive NPCsThe SimpleFPS Planning Domain: A PDDL Benchmark for Proactive NPCs
The SimpleFPS Planning Domain: A PDDL Benchmark for Proactive NPCs
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Intro to AI STRIPS Planning & Applications in Video-games Lecture6-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. Project ideas 2  Smart pre-processing  PDDL–Golog synergy  FSM–BTs synergy  Replanning in Unity3D  STRIPS extensions in Unity3D  STRIPS in Valve’s GE
  • 3. Project ideas: Smart pre-processing 3
  • 4. Project ideas: Smart pre-processing 4  Academic planners rely on serious pre-processing  FastDownward compiles the problem into a SAS format (*)
  • 5. Project ideas: Smart pre-processing 5  Academic planners rely on serious pre-processing  FastDownward compiles the problem into a SAS format (*)
  • 6. Project ideas: Smart pre-processing 6  Academic planners rely on serious pre-processing  FastDownward compiles the problem into a SAS format (*)  Maintain such a structure for many NPCs and update the information instead of re-compute every time
  • 8. Project ideas: PDDL–Golog synergy 8  Simple Golog implementation in Prolog  http://www.cs.toronto.edu/cogrobo/main/systems/inde x.html  Simple PDDL parsing and planning in Prolog  Provided in the files of Lecture 3  Adapt the Golog implementation to take as input a PDDL domain/problem instance and solve wrt a Golog program instead of the goal
  • 9. Project ideas: PDDL–Golog synergy 9  Develop a visual language (and GUI) for specifying Golog programs based on BTs! ?   Until Until Look Find a way fail fail around to attack (using planning) Enemy Invert in sight Enemy in sight
  • 11. Project ideas: FSM–BTs synergy 11 Behavior Trees Goal Oriented Action Planning  A combination of these techniques?  BTs for reactive decision making  GOAP for tactical decision making
  • 12. Project ideas: FSM–BTs synergy 12  “Behave” tool for Unity3D by Angry Ant  http://eej.dk/angryant/behave/  Visual interface for building BTs  Generates code to be used in Unity3D  “iThink” tool for Unity3D by [Anastassiou, Diamantopoulos, Vassos, Koubarakis 2012]  https://code.google.com/p/ithink-unity3d/
  • 13. Project ideas: FSM–BTs synergy 13  “Behave” tool for Unity3D by Angry Ant
  • 14. Project ideas: FSM–BTs synergy 14  “Behave” tool for Unity3D by Angry Ant
  • 15. Project ideas: Replanning in Unity3D 15
  • 16. Project ideas: Replanning in Unity3D 16  Use iThink-Unity3d as the basis  Extend it with a sensory system that updates the current state according to changes in the game-world
  • 17. Project ideas: Replanning in Unity3D 17  Use iThink-Unity3d as the basis  Extend it with a sensory system that updates the current state according to changes in the game-world  Implement some simple policies for execution monitoring and replanning  Check the next n actions in the plan and verify that they can be executed  Extend the planning system to include conditions at each step that need to be true for continuing the execution
  • 18. Project ideas: STRIPS ext. in Unity3D 18
  • 19. Project ideas: STRIPS ext. in Unity3D 19  Adopt an open world assumption  Adopt functionality similar to PKS  Introduce features that are important for a particular game genre, e.g., durative actions  …
  • 20. Project ideas: STRIPS in Valve’s GE 20
  • 21. Project ideas: STRIPS in Valve’s GE 21  Similar to iThink-Unity3d but now in a real game!  C++  Adventurous as there is only some basic documentation (but also an active forum)  It’s the best only way to convince people in the game industry that your technique works
  • 22. Project ideas: STRIPS in Valve’s GE 22  Valve’s game engine already uses the terminology used in academic planning  Condition literal  Task  action  Schedule  plan  The thinking function of NPCs uses a nice execution monitoring mechanism that decides which plan to follow and when to stop executing a plan  But instead for searching for plans, a small set of pre-defined schedules are used
  • 23. Project ideas: STRIPS in Valve’s GE 23  https://developer.valvesoftware.com/wiki/AI_Progra mming  https://developer.valvesoftware.com/wiki/Conditions  https://developer.valvesoftware.com/wiki/Task  https://developer.valvesoftware.com/wiki/Schedule  https://developer.valvesoftware.com/wiki/State  https://developer.valvesoftware.com/wiki/NPCThink()  https://developer.valvesoftware.com/wiki/Shared_tasks  https://developer.valvesoftware.com/wiki/Shared_conditi ons
  • 24. Project ideas: AI competition 24