Raven A Multi-Agent Simulation System. Who Am I? Gamer Amateur Singer Tinkerer Avid Reader Bowler Senior-level CS Student Software Developer of 5 years.

Slides:



Advertisements
Similar presentations
Chapter 13 Review Questions
Advertisements

Artificial Intelligence in Game Design Intelligent Decision Making and Decision Trees.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Neuro-Evolution of Augmenting Topologies Ben Trewhella.
The Decision-Making Process IT Brainpower
JACK Intelligent Agents and Applications Hitesh Bhambhani CSE 6362, SPRING 2003 Dr. Lawrence B. Holder.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
Evolving Neural Network Agents in the NERO Video Game Author : Kenneth O. Stanley, Bobby D. Bryant, and Risto Miikkulainen Presented by Yi Cheng Lin.
Design Patterns CS is not simply about programming
Developing Intelligent Agents and Multiagent Systems for Educational Applications Leen-Kiat Soh Department of Computer Science and Engineering University.
Design Patterns academy.zariba.com 1. Lecture Content 1.What are Design Patterns? 2.Creational 3.Structural 4.Behavioral 5.Architectural 6.Design Patterns.
RF Channel Simulators add Hardware-in- the-Loop Test Capability to STK Steve Williams, RT Logic
The chapter will address the following questions:
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
What is Software Architecture?
© 2011 Autodesk Simplified 5-Axis Machining Ann Mazakas Manager of Technical Communications | DP Technology Corp.
Computer Programming My Home Page My Paper Job Description Computer programmers write, test, and maintain the detailed instructions, called programs,
System Design Chapter 8. Objectives  Understand the verification and validation of the analysis models.  Understand the transition from analysis to.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
4-1 Chapter 4 Decision Support and Artificial Intelligence Brainpower for Your Business.
Lecture 4 1 Minor Games Programming. Artificial Intelligence for Games Today’s Theory & Demo’s:  Previous Practice A* (A Real Good Algorithm)  Scripting.
Raven Robin Burke GAM 376. Soccer standings Burke, 7 Ingebristen, 6 Buer, 6 Bukk, 6 Krishnaswamy, 4 Lobes, 3 Borys, 2 Rojas, 2 Bieneman, 2.
G E R A C CONSORTIUM T H E logica EUCLID RTP 6.1 The GRACE Consortium Objective: To accelerate the application of AI techniques and advanced HCI and software.
Zhiyong Wang In cooperation with Sisi Zlatanova
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Introduction GAM 376 Robin Burke Winter Outline Introductions Syllabus.
4-1 Management Information Systems for the Information Age Copyright 2004 The McGraw-Hill Companies, Inc. All rights reserved Chapter 4 Decision Support.
© 2007 Tom Beckman Features:  Are autonomous software entities that act as a user’s assistant to perform discrete tasks, simplifying or completely automating.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Design Document Presentation. Review Quoridor – a board game played on a grid where players must advance tokens across a board to win. Our basic objective:
Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved. Decision Support Systems Chapter 10.
Computing Fundamentals Module Lesson 19 — Using Technology to Solve Problems Computer Literacy BASICS.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
Systems Analysis and Design in a Changing World, 3rd Edition
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Chapter 38 Persistence Framework with Patterns 1CS6359 Fall 2011 John Cole.
CAP6938 Neuroevolution and Developmental Encoding Real-time NEAT Dr. Kenneth Stanley October 18, 2006.
Artificial Life/Agents Creatures: Artificial Life Autonomous Software Agents for Home Entertainment Stephen Grand, 1997 Learning Human-like Opponent Behaviour.
Unit 4 Object-Oriented Design Patterns NameStudent Number CAI XIANGHT082182A KYAW THU LINHT082238Y LI PENGFEIHT082220L NAUNG NAUNG LATTHT082195L PLATHOTTAM.
Jumping, Climbing, and Tactical Reasoning Section 2.5 Tom Schaible CSE 497 – AI & Game Programming.
AI in games Roger Crawfis CSE 786 Game Design. AI vs. AI for games AI for games poses a number of unique design challenges AI for games poses a number.
Network UAV C3 Stage 1 Final Briefing Timothy X Brown University of Colorado at Boulder Interdisciplinary Telecommunications Program Electrical and Computer.
1 CMPT 275 High Level Design Phase Modularization.
Object Oriented Database By Ashish Kaul References from Professor Lee’s presentations and the Web.
Computing Fundamentals Module Lesson 6 — Using Technology to Solve Problems Computer Literacy BASICS.
Chapter 4 Decision Support System & Artificial Intelligence.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
Artificial Intelligence Research in Video Games By Jacob Schrum
F.E.A.R. Game AI Evaluation by Robert Rak. What is F.E.A.R. ? FEAR is a First Person Shooter game Player takes on the role of an elite strike force team.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2004 Session 5 Lecture # 4 – October 5, 2004.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Designing Design Tools. What is design tools? Why do we need them?
A field of study that encompasses computational techniques for performing tasks that require intelligence when performed by humans. Simulation of human.
Intelligent Agents Chapter 2. How do you design an intelligent agent? Definition: An intelligent agent perceives its environment via sensors and acts.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
Using Technology to Solve Problems Unit 2 Mod 2 SO 7.
Efficient Opportunistic Sensing using Mobile Collaborative Platform MOSDEN.
Expressive Intelligence Studio // Center for Games and Playable Media // Name Here Title Here (Arial) Expressive.
Where are we ? Setup Sprites Input Collision Drawing Sprites
Enemy and Friendly AIs Richard Gesick.
Part 3 Design What does design mean in different fields?
CHAPTER 3 Architectures for Distributed Systems
CIS 488/588 Bruce R. Maxim UM-Dearborn
Software Engineering with Reusable Components
Computer Literacy BASICS
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Software Development Process Using UML Recap
Presentation transcript:

Raven A Multi-Agent Simulation System

Who Am I? Gamer Amateur Singer Tinkerer Avid Reader Bowler Senior-level CS Student Software Developer of 5 years Develop large, multi-user data synchronization and collaboration systems Big challenges include database storage and retrieval of mass amounts of information Image Analysis and Georectification

Raven

What is Raven? Raven is a simulation system that is used as: A Teaching Tool An AI test bed Large multi-contributor system

Where did Raven come from? Extended base model with: o Teams o OOP designs o Behavior changes o New Goals o Map Editor and persistence!

Design

Raven's Properties Multi-Agent Extensible Configurable Controllable Understandable Raven supports many bots interacting autonomously, intelligently, and coordinated Raven can model new situations Raven behavior can be change w/o compilation Raven responds to user input to change the scenario Raven is organized in easy- to-digest modules

Subsystems

Raven.Game Holds Singletons and 1-per-Bot systems. Base classes that are extended later in the system.

Armory Models the weapons and projectiles used by the bots and the weapon pickups on the maps. Blaster Shotgun Rocket Launcher Railgun Bolts Pellets Rockets Slugs The SensoryMemory gives the actors 'bounded rationality'

Interfaces and Testing Interfaces IRavenBot IRavenTargetingSystem ITeam Why Interfaces? Ease of testing Can change behavior by re-implementing Easier to understand than repeated derivation

Multi-agent Coordination and Communication Messaging is a basic eventing system. Why do this instead of events? Teaching experience Easy to add more messages to enum Could be redone via Typed Events with ease. The last position is an Object to allow for passing any additional information. o Damage Amount o Current position? o Next task? o and more....

Navigation Navigation handles both choosing where to go and how to get there. o There are two aspects to movement that humans and bots experience:  Where to go?  How do we get there? Navigation is a real-time activity We must limit the amount of time spent here numCyclesAllowed in params.js

Triggers Kinds of Triggers: Perpetually Respawning o Health o Weapon Limited Lifetime o Sounds o Graves Triggers are great because they allow us to: Customize the scenarios Create battlegrounds - Health and weapons inspire conflict Influence Behavior - Sounds!

Goals Goals are: o Tree-based o Inheritable o Can have subgoals that must be accomplished to accomplish the main goal o Can be extended by combining base behaviors in new and novel ways Two types Basic Goals Composite Goals Composite Goals use Basic Goals to accomplish some greater action.

Goals, cont. How do we hunt a target we can see? We get its last position and go to it. o The 'go to it' part is a basic goal. How do we follow a path? We ask the Path Manager for a path, then when it comes in make a separate goal to traverse each edge. o Traverse Edge is a basic goal

Fuzzy Logic How did we use it? It determines which weapons to use on a per- bot basis Is that all? We could use it to choose paths when some go through bad terrain... We could use it to make 'moral' choices? o Shades of grey Our Weapons have different behaviors because each weapon has a unique profile Range Ammo Level Range + Ammo Level = Desirability!

Scripting Scripting parameters for the bots and weapons lets us: Make changes to behavior without compiling Change the game on the fly Let someone else who is not a coder test balance Centrally store all variables Fix bugs! o Bots would break through walls because the weight for that wasn't set high enough.

Changing the WallAvoidanceWeight from 10 to 25 made likely that bots would not cross walls.

Map Editor during creation

Raven using our new map

Future Development Teams New obstacles o Inclement terrain New weapons New behaviors o implemented using complex goals o flanking? o using inclement terrain to trap opponents New domains o Soccer o UAV search patterns Using crafted scenarios to evaluate new tactics o DARPA - naval simulation contest Distributed System o multi-threaded o multi-machine? o networking capability

Related Readings 1.Milind Tambe o STEAM Project - distributed cooperative systems 2.Peter Stone o Soccer simulations 3.Risto Miikkulainen o NERO adaptive AI game system 4.John Laird o SOAR - MAchine AI development firm 5.Kenneth Stanley o RT NEAT - neural evolution in AIs

Questions? You may contact me anytime at