슬라이드 1

Download Report

Transcript 슬라이드 1

지능형 에이전트
-게임에서의 활용, CIG Competition-
Agent Applications
• Where are agents used?
–
–
–
–
–
–
–
Robotics
On the web
Movie and game production
Scientific simulations
Defense applications
Distributed computing (e.g. XGrid)
Mobile applications
• Why are agents useful?
– Software engineering.
• Modularity, abstraction, complexity, management, etc.
–
–
–
–
Match many problem domains
Good surrogates for humans
Cognitive and social models
Provide intelligent behavior
• Where artificial intelligence and software engineering meet
1/34
Agent Applications
1.
2.
3.
4.
5.
6.
Automated Office
Unified Messaging
Multimodal Maps
CommandTalk
ATIS-Web
Spoken Dialog
Summarization
7. Agent Development
Tools
8. InfoBroker
9. Rental Finder
10. InfoWiz Kiosk
11. Multi-Robot Control
12. MVIEWS Video Tools
13. MARVEL
14. SOLVIT
15. Surgical Training
16. Instant Collaboration
17.Crisis Response
18. WebGrader
19. Speech Translation
20-25+ ...
2/34
Interfacing Agents
• Talking heads
– Naturalistic figures
– Many possible platforms:
• Web, mobile device, set-top box
– Applications
• News reading, signing, interactive digital TV programme guide
• Electronic Virtual Assistants in e-commerce
• Vandrea
– Thin client solution, that reads news scripts live from ITN
3/34
Microsoft Agent
• Components
– Toolbox of technologies
• Speech rec, text-to-speech
– Scripting language
• Controls animation at high-level
• Good but rigid
– Pre-designed characters
• Rather cutesy, but you can create your own
– Only viewable with Active X
• Microsoft Persona Project
– The project is developing the technologies required to produce conversational
assistants - lifelike animated characters that interact with a user in a natural spoken
dialogue
– The work is built upon the Whisper speaker-independent continuous speech
recognition system and a broad coverage English understanding system, both also
developed at Microsoft Research
4/34
Web Search
5/34
Recommendation
6/34
Work Assistant
7/34
Agents in Defense
• Used to represent human military
operators
– Fighter Pilots (enemy and friendly),
commanders, sensor operators etc
• Training
• Human factors research
• Military operations research
8/34
Game AI, Bots and Agents
9/34
Nintendogs
10/34
Massive (www.massivesoftware.com)
11/34
Introduction to Artificial Intelligence (AI)
• Many applications for AI
– Computer vision, natural language processing, speech recognition, search …
• But games are some of the more interesting
• Opponents that are challenging, or allies that are helpful
– Unit that is credited with acting on own
• Human-level intelligence too hard
– But under narrow circumstances can do pretty well (ex: chess and Deep Blue)
– For many games, often constrained (by game rules)
• Artificial Intelligence (around in CS for some time)
12/34
AI for CS different than AI for Games
• Must be smart, but purposely flawed
– Loose in a fun, challenging way
• No unintended weaknesses
– No “golden path” to defeat
– Must not look dumb
• Must perform in real time (CPU)
• Configurable by designers
– Not hard coded by programmer
• “Amount” and type of AI for game can vary
– RTS needs global strategy, FPS needs modeling of individual units at
“footstep” level
– RTS most demanding: 3 full-time AI programmers
– Puzzle, street fighting: 1 part-time AI programmer
13/34
Goals
• Games are entertainment
• Important that things behave naturally
– Not necessarily perfect
– “things’ are not always creature
• Follow(the game’s) natural laws
– And avoid cheating
• Characters should be aware
14/34
Game categories
• Role Playing Game(RPG, MMORPG)
• First Person(Third Person) games
• Sports games
• Simulation games
• Adventure games
• Classic Strategy game
• Fighting games
•…
15/34
History 1-4
• 1960’s
– First computer games
• SpaceWar(for two human players)(1962)
• Board games(e.g. chess) againt the machine
• 1970’s
–
–
–
–
–
Pong(first public computer game?)(1972)
First computer controlled opponent in arcade games
Space Invaders(1978)
Predefined patterns
“AI” takes 1-2% of CPU
16/34
History 2-4
• 1980’s
– Pac-Man(1980)
• Opponents with personality
– A computer beats a master chess player(1983)
– First fight games
– Adventure games
• Dungeon, Zork, …
– First MORPG(MUD)
17/34
History 3-4
• 1990’s
–
–
–
–
–
FPS and RTS games
Games about / with evolution and learning (Creatures, Black and White)
Deep Blue beats Kaparov(1997)
Graphic cards take the load off the CPU
AI take 10-35% of CPU
18/34
History 4-4
• 2000– Computer games is a BIG industry
• Games sell for about 25 billon USD per year
• Market grows with 16% per year
• A game project: 2 years, 8-15 million USD
–
–
–
–
Less cheating in AI
Characters are more aware
Characters collaborate better
Focus shift from graphics towards AI
19/34
Game Agents
• Most AI focuses around game agent
– think of agent as NPC, enemy, ally or neutral
• Loops through: sense-think-act cycle
– Acting is event specific, so talk about sense and think first, then a bit on act
Sense
Think
Act
20/34
Game Agents – Sensing (1 of 2)
• Gather current world state: barriers, opponents, objects, …
• Needs limitations: avoid “cheating” by looking at game data
– Typically, same constraints as player (vision, hearing range, etc.)
• Vision
– Can be quite complicated (CPU intensive) to test visibility (ie- if only part of an
object visible)
– Compute vector to each object
• Check magnitude (ie- is it too far away?)
• Check angle (dot product) (ie- within 120° viewing angle?)
• Check if obscured. Most expensive, so do last.
Game Agents – Sensing (2 of 2)
• Hearing
– Ex- tip-toe past, enemy doesn’t hear, but if run past, enemy
hears (stealth games, like Thief)
– Implement as event-driven
• When player performs action, notify agents within range
– Rather than sound reflection (complicated) usually distance
within bounded area
• Can enhance with listen attributes by agent (if agent is “keen
eared” or paying attention)
• Communication
– Model sensing data from other agents
– Can be instant (ie- connected by radio)
– Or via hearing (ie- shout)
• Reaction times
– Sensing may take some time (ie- don’t have agent react to
alarm instantly, seems unrealistic)
– Build in delay. Implement with simple timer.
Game Agents – Thinking (1 of 3)
• Evaluate information and make decision
• As simple or elaborate as required
• Generally, two ways:
– Pre-coded expert knowledge
• Typically hand-crafted “if-then” rules + “randomness” to make unpredictable
– Search algorithm for best (optimal) solution
• Ex- MinMax
23/34
Game Agents – Thinking (2 of 3)
• Expert Knowledge
– Finite State Machines, decision trees, … (FSM most popular, details next)
– Appealing since simple, natural, embodies common sense and knowledge of
domain
• Ex: See enemy weaker than you?  Attack. See enemy stronger?  Go get
help
– Trouble is, often does not scale
• Complex situations have many factors
• Add more rules, becomes brittle
– Still, often quite adequate for many AI tasks
• Many agents have quite narrow domain, so doesn’t matter
24/34
Game Agents – Thinking (3 of 3)
• Search
– Look ahead and see what move to do next
• Ex: piece on game board (MinMax), pathfinding (A*)
– Works well with known information (ie- can see obstacles, pieces on board)
• Machine learning
– Evaluate past actions, use for future action
– Techniques show promise, but typically too slow
25/34
Game Agents – Acting (1 of 2)
• Learning and Remembering
– May not be important in many games where agent short-lived (ie- enemy
drone)
– But if alive for 30+ seconds, can be helpful
• ie- player attacks from right, so shield right
– Implementation - too avoid too much information, can have fade from memory
(by time or by queue that becomes full)
26/34
Game Agents – Acting (2 of 2)
• Making agents stupid
– Many cases, easy to make agents dominate
• Ex: FPS bot always makes head-shot
– Dumb down by giving “human” conditions, longer reaction times, make
unnecessarily vulnerable, have make mistakes
• Agent cheating
– Ideally, don’t have unfair advantage (such as more attributes or more
knowledge)
– But sometimes might “cheat” to make a challenge
• Remember, that’s the goal, AI lose in challenging way
– Best to let player know
27/34
Game Agents – AI
• Deterministic AI
– Preplanned, predictable events
– Set by rules
•
•
•
•
Walk forward ten steps then backwards
If player is within 5 squares move closer
Go to town … take the shortest path using shortest path algorithm
Attack player with least health/most damage potential/etc
• Non deterministic AI
– Unpredictable movement
• Random selection of directions
– React to environment to learn movement
• Player nearby, go slower
• Got shot going around corner last time, then take a wider path this time
28/34
CIG
• IEEE Symposium on Computational Intelligence and Games
– Tutorial
– Session Presentation
– Competition
• http://dces.essex.ac.uk/staff/lucas/cig2008/competitions.html
• Competitions Chair: Simon M. Lucas
29/34
CIG Competition
30/34
Unreal Tournament
•
•
•
•
•
•
•
•
Sponsored by 2K Australia
The competition task is to create a computer game bot
Indistinguishable from a human player
major prize of A$7,000 cash
Trip to 2K Australia's studio
DeathMatch game type for the FPS
Chatting will be disabled.
Some aspects of the game play will be
modified in a way not known to competitors.
31/34
TORCS
•
•
•
•
•
•
•
Car Racing
Daniele Loiacono, Julian Togelius and Pier Luca Lanzi
Learn (or otherwise develop) a controller
The distance raced in a fixed amount of time
Best few controllers will race against each other
Mac OS X, Windows and Linux, using Java and C++
Neural networks, Fuzzy logic,
Force fields, Expression trees
32/34
Ms Pac-Man
•
•
•
•
•
Non-deterministic game
The world record for a human player currently stands at 921,360
Can anyone develop a software agent to beat that?
the best software controller for the game of Ms Pac-Man
Screen-capture to get the current state of the game
33/34