290 likes | 395 Vues
AI Overview. CIS 488/588 Bruce R. Maxim UM-Dearborn. What is AI?. A form of intelligence artificially recreated using machines A set of academic techniques, research methods, in problems that fall into one sub-branch of science
E N D
AI Overview CIS 488/588 Bruce R. Maxim UM-Dearborn
What is AI? • A form of intelligence artificially recreated using machines • A set of academic techniques, research methods, in problems that fall into one sub-branch of science • Algorithms and data structures that can be used to help a machine do something interesting without explicit programming
Intelligence • Set of skills that allow humans to solve problems with limited resources • Learning • Planning • Imagination • Creativity • Non-player character (NPC)intelligence is the artificial version of human intelligence
Academic AI • Historically AI has tended to be very focused on detailed problems solvable using specific techniques • Weak AI techniques can not be applied outside their intended domain • Weak AI has been successful in some domains, but often requires manual interaction with human experts to work
Why use game AI? • Create more intelligent characters to improve game play • Allow the creation of single-player games with good opponents • Allow multi-player games to be played by one person
Agents • Smart entities are known as agents • Systems able to coordinate several agents as known as multi-agent systems • For performance reasons, the more agents in the game the simpler the complexity (time and space) of the AI
Game AI • In game AI, results are important not the verisimilitude of the agent’s cognitive processing • Robust AI technology may not be needed if cleaver software engineering can be used to craft the illusion of intelligence
Scripts • Get keys out of pocket • Put key in door • Open door • Get in car • Close door • Put key in ignition • Turn key to start car
Searching and Routing • Least cost routing and searching systems use heuristics to simulate intuitive leaps of understanding that humans exhibit • Pathfinding is a variation of the routing problems • Some people equate faster search algorithms for with better problem solving capabilities\ • Least-cost costs are preferred when a problem will be solved more than once
A* Add root to queue of partial paths Until queue is empty or goal is attained If first queue element equals the goal then do nothing Else remove the first queue element add its children to the front of the queue of the partial paths sort the queue of partial paths by distance traveled plus the estimate of distance to goal remove redundant paths If goal is attained then announce success
A* • Makes use of both a cost measure and remaining distance underestimator • Removes redundant paths from the queue of partial paths
A* Weaknesses • Requires the use of a “natural” distance measure • Underestimator is a guess as best • Sorting takes time • Removing paths takes time
Rules and Expert Systems • Knowledge bases are a substitute for institutional memory • Expert systems have been used quite successfully for to solve diagnostic and patter recognition problems • NPC behavior can be determined by expert systems, learning in these systems comes from acquiring more information about a situation rather than creating new rules
Logic and Uncertainty • Need ways to accommodate incomplete and imprecise information • Fuzzy logic provides one way of dealing with these problems (set membership determined by probability membership function) • Usually requires numeric values to be assigned to degrees of uncertainty and numeric thresholds to determine when something is “likely” or not
Natural Language Processing • Considered the holy grail of AI • The hard part is getting an NPC to understand the intent of a spoken question or statement, not just recognizing the words • Lots of heuristic tricks are used to make NLP seem like it is happening in games • Key word searches • Restricted (simplified) language grammars • Restricted vocabularies
Neural Networks • Numerical approach used to simulate learning in AI systems • Good at learning to recognize desirable “patterns” in complex and imprecise data (give enough training and reinforcement) • Not good at explaining their decisions or reasoning processes • Very robust and can operate with reduced performance with missing network nodes
Swarm Intelligence • Modeling behavior of groups made up of intelligent entities • Self-organization in game applications • Emergent (leaderless) coordination • Social insects/animals • Swarm systems do not have master controllers • The simple group entities are processing the same local data independently and arriving at similar decisions
State of Game AI • Use scripted behaviors and A* pathfinding are examples of mature technologies found in many game AI systems • Some systems make use of decision trees or reinforcement learning, but it is some times hard to see where using advanced AI techniques has produced improved gameplay • AI technology may have the potential to speed up game production by speeding up design and experimentation during development
AI Design Revolution • Several games like Black & White and the Sims are based on interactions with agents capable of modest amount of learning • These games have been widely received by the public • These games rely on AI established technologies but only recently has platform performance been sufficient to allow its use in real-time settings
Designers vs AI • Intelligent game characters behave autonomously • Designers need to control the behavior of NPC’s • Question: do we need both? • Presence of AI threatens designers’ authority
Explicit Design • Designer’s implement their game vision in a top-down manner controlling every detail of the game • Common in game based on a single story line like Doom 3 • With single-player scenarios there is little need for AI • NPC’s can be implemented using simple scripting techniques
Implicit Design • Bottom-up design focused on using the interaction of AI and the game environment to create game play • There is no master story the game characters work together to create on like in Rollercoaster Tycoon • If NPC’s are intelligent, the designer’s only control over their behavior is by manipulating the environment
Combining • Combining top-down and bottom-up design is an AI research problem • One solution is to alternate explicit control (set up the story) and implicit control (allow the player to play) like in GTA 3 • During cut-scenes NPC behavior is disabled • During game regular play autonomous AI is free to do its thing
Designer vs AI • The designer’s job is to craft the game from low level behaviors to the over all story line • Animating characters is part of this job • It is the AI’s responsibility to control the behavior of in-game characters to bring this vision to life
Conflict • Occurs when the designer wants explicit control over an intelligent NPC (the AI must be turned off temporarily to accomplish this) • Occurs when the designer has a specific story line in mind (it is hard to get the NPC’s to force the player into the needed situation instead of doing what comes naturally) • It is important to specify particular story line twist early in design since resolving conflicts can require a lot programming work arounds
AI in Game Programming • In practice game AI controls every NPC: • Primitive behaviors (picking up items) • Movement (obstacle avoidance) • Decision making (decide what actions are needed and how to sequence them)
AI Technique Benefits • Provide elegant solutions for explicit control • Explicit requires over-riding system behaviors in certain situations • Provide technology to support implicit control efficiently • Implicit control requires when multiple operations are needed to achieve a goal
Useful AI Techniques • Motor control • Pattern recognition • Prediction • Approximation • Design patterns • Testing methodologies
Game Value Added by AI • Entertainment • Tests skills of human players • Provides challenges with increasing difficulty • Evokes player emotions by adjusting environments • Believability • AI characters can improve immersivenes of games • Allow NPC’s to behave in plausible manners