Designing Intelligence

Slides:



Advertisements
Similar presentations
Information Processing Technology Office Learning Workshop April 12, 2004 Seedling Overview Learning Hierarchical Reactive Skills from Reasoning and Experience.
Advertisements

Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Marakas: Decision Support Systems, 2nd Edition © 2003, Prentice-Hall Chapter Chapter 7: Expert Systems and Artificial Intelligence Decision Support.
Robotics for Intelligent Environments
McGraw-Hill/Irwin ©2005 The McGraw-Hill Companies, All rights reserved ©2005 The McGraw-Hill Companies, All rights reserved McGraw-Hill/Irwin.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Basic Concepts of Strategic Management
Artificial Intelligence in Game Design Problems and Goals.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
I Robot.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
SOFTWARE ENGINEERING MCS-2 LECTURE # 4. PROTOTYPING PROCESS MODEL  A prototype is an early sample, model or release of a product built to test a concept.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
Course Overview  What is AI?  What are the Major Challenges?  What are the Main Techniques?  Where are we failing, and why?  Step back and look at.
A Roadmap towards Machine Intelligence
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
RULES Patty Nordstrom Hien Nguyen. "Cognitive Skills are Realized by Production Rules"
 Simulation enables the study of complex system.  Simulation is a good approach when analytic study of a system is not possible or very complex.  Informational,
Designing Intelligence Logical and Artificial Intelligence in Games Lecture 2.
The Game Development Process: Artificial Intelligence.
Introduction to Machine Learning, its potential usage in network area,
Decision Making We could use two films here, so we want lots of extra time. What to cut out? Dangerous minds is good hopefully for expectancy and equity.
OPERATING SYSTEMS CS 3502 Fall 2017
Simulation & Systems.
Lecture 3 Prescriptive Process Models
Chapter 1: Introduction to Systems Analysis and Design
Learning Fast and Slow John E. Laird
School of Business Administration
CHAPTER 1 Introduction BIC 3337 EXPERT SYSTEM.
Chapter 11: Artificial Intelligence
Learning and Perception
Done Done Course Overview What is AI? What are the Major Challenges?
CS 641 – Requirements Engineering
Software Processes (a)
Architecture Components
Software Process Models
HCI in the software process
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
Reinforcement Learning
© James D. Skrentny from notes by C. Dyer, et. al.
CIS 488/588 Bruce R. Maxim UM-Dearborn
Games with Chance Other Search Algorithms
Teaching with Instructional Software
Analysis and Understanding
Introduction Artificial Intelligent.
Chapter 12 Implementing Business/IT Solutions.
Announcements Homework 3 due today (grace period through Friday)
CIS 488/588 Bruce R. Maxim UM-Dearborn
CIS 487/587 Bruce R. Maxim UM-Dearborn
Component-Level Design
Software Architecture
CIS 488/588 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
CIS 488/588 Bruce R. Maxim UM-Dearborn
Interaction with artificial intelligence in games
CIS 488/588 Bruce R. Maxim UM-Dearborn
Analysis models and design models
Software Process Models
HCI in the software process
HCI in the software process
Skill Acquisition.
Human Computer Interaction Lecture 14 HCI in Software Process
Chapter 1: Introduction to Systems Analysis and Design
Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 7
From Use Cases to Implementation
Presentation transcript:

Designing Intelligence CIS 488/588 Bruce R. Maxim UM-Dearborn 12/2/2018

Useful Game AI - 1 Perception Action Ability of NPC to detect what is happening in the game world (near or far away) Enemies, goals, collisions, and damage should be processed in a believable way Action Behaviors chosen by NPC without any apparent inputs Often determined by scripts or rules 12/2/2018

Useful Game AI - 2 Reaction Learning Behaviors triggered by game world related stimuli (usually the player’s actions) Learning Could be simply recording previous information (what worked and what did not) Is better if some generalization takes place (and NPC’s share some knowledge of player over time) 12/2/2018

Opponents Any entity that tries to prevent player from achieving goals Opponent’s capabilities need to match player expectations and abilities ramp up as game progresses Perfect (cheatbots) opponents discourage good game play 12/2/2018

Opponent Types Action opponents Sports Opponents Board Game Opponents Should have classes of behaviors that can be easily identified by players (e.g. guards) Sports Opponents Should approximate player skills (e.g. reaction times, accuracy, tactical decision making) Board Game Opponents Often Mini-max search and book move libraries (handicap AI by reducing look ahead) 12/2/2018

Allies NPC’s that work with player Concerns Recognition (opponents vs allies) Communication (allowing allies and player to share understanding of game information) Following/chasing behaviors (when to follow and when to act on their own) Party or squad behavior (groups that share abilities to support the player’s lead) 12/2/2018

Traditional Approach In-game agents simulated as part of the game logic with 2D positions updated each clock tick (very slow) AI code can be separated from the game logic if the game agent has access to game state data as needed Agile development processes are used to build user interface and game logic from scratch incrementally Game AI requires lots of experimentation to get working right as increments evolve 12/2/2018

Traditional Agents AI viewed as code fragment that manipulates data Single CPU controls all information processing and executes actions on behalf of the agents Agents are able to solve some problems for the player by not requiring micromanagement of all game objects 12/2/2018

Traditional Guidelines Cut corners whenever possible to save development time without sacrificing efficiency Requiring both realism and efficiency argues for weak AI techniques 12/2/2018

Traditional Weaknesses Dangerous to let AI access game information directly if changes are allowed Manually programming all AI behaviors is tedious and causes exponential growth in development times This approach scales up very poorly and fails to transfer examples well from one domain to another 12/2/2018

Modern Approach CPU is not needed to deliberate every move for every object System behavior is distributed to reactive objects in the game environment Full systems are built incrementally by testing each set of new components as they come on line 12/2/2018

Animats Animats are embodied systems situated in realistic environments as robots or NPC’s Animats simulate reactive creatures accurately meaning fewer aspects need to be faked Allow more complete separation of AI from game logic and simulation 12/2/2018

Animat Benefits Interaction with environment is formalized to that is can be optimized using the best information sharing technique Learning techniques minimize processing power use to perform a particular behavior Can provide improvements in efficiency of the design and development pipeline 12/2/2018

Embodiment An embodied agent is a living creature subject to the constraints of its environment The environmental constraints restrict the AI to the subset of actions plausible with the laws governing the simulation A standard agent can change its position to reach any reachable point in space An embodied agent will need to deal with obstacles since it does not have the ability to update its position directly (some trial and error is involved) 12/2/2018

Formal Interfaces Provide hooks to agents using the game engine Allow agents to reside on different servers than the game engine Let engineers decide on the best mechanism to communicate data to the AI (messages, callbacks, abstract function calls, shared variables) 12/2/2018

Performance Advantages of Formal Interfaces Lazy evaluation (information gathered only as needed) Event-driven (AI does not need to poll for data it is notified) Function in-lining (interfaces can be factored out by the compiler if needed) Custom optimizations (can be used to speed up queries) Batching (queries can be queued for later processing) 12/2/2018

Learning Acquisition of new knowledge and abilities Motivation: Optimization (solving known puzzles off-line to allow for better game performance) Adaptaton (continuously updating state knowledge on-line to deal with different playing styles during the game) 12/2/2018

Learning Technology Supervised learning (algorithms presented with examples expected to generalize patterns) Reinforcement learning (feedback takes the form of a numeric reward following particular behaviors reward adapts policy over time) Evolutionary approaches (numeric rewards given for sequences of actions) Unsupervised learning (design provides performance metric rather than direct training) 12/2/2018

Teaching Teaching (humans provide set of examples to help animat adjust its behavior) Imitation (animat copies behavior of another another player) Shaping (animat completes sequence of successively more complex tasks) Trial and error (animat placed in environment and lets it try all actions on its own) 12/2/2018

AI Development Process 12/2/2018

AI Development Process - 1 Informal phases Analysis phase describes how existing design and platform affect general task Understanding phase provides precise definition of the problem and testing criteria Formal phases Specification phase defines the interfaces between the AI and the game engine Research phase investigates existing AI techniques and expresses theory operationally 12/2/2018

AI Development Process - 2 Programming phases Development phase implements AI theory as a convenient AI module Application phase take problem definition and framework and uses AI module to solve problem Testing phases Experimentation phase uses testing to assess the current prototype focusing on tough cases Testing phase presents thorough series of evaluations using test case likely to be successful 12/2/2018

AI Development Process - 3 Postproduction phase Optimization phase attempts to make actual implementation lean and mean The final product of this process is a single behavior The process is repeated for each new behavior The number of iterations can be reduced using a cleaver AI architectural design 12/2/2018