1 / 40

Common AI Architecture s (GATE-561)

Common AI Architecture s (GATE-561). Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies Bilkent University, Computer Engineering & General Manager SimBT Inc. e-mail : cagatay@undeger.com.

jaimin
Download Presentation

Common AI Architecture s (GATE-561)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Common AI Architectures (GATE-561) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies Bilkent University, Computer Engineering & General Manager SimBT Inc. e-mail : cagatay@undeger.com Game Technologies Program – Middle East Technical University – Fall 2009

  2. Outline • Introduction to AI Architectures • Entities, Attributes and Relations • Tasks, Actions, States and Events • Finite-State Machines • Hierarchical Finite-State-Machines

  3. AI Architecture • A complete system architecture (AI engine) • That defines mechanizm of a percept-reasoning-action cycle • For modeling autonomous entity behaviors

  4. An Example AI Architecture Environment Percepts Actions Reasoning Short & Long Term Memory Moving Talking Firing ... Seeing Hearing Smelling Tasting Touching Situation Awareness Known facts & Rules Reactive Behaviours Rule Matching ... Learning Delibrative Behaviours Inference Interpretation Conflict resolution Planning ... Action Selection

  5. Entities • Any kind of objects within an environment

  6. Entities • Trees • Bushes • Rocks • Cars • Tanks • Bridges • Human beings • Animals • Houses

  7. Attributes • Any kind of parameters describing properties of an entity

  8. Attributes • Tank • Type • Coordinate • Orientation • Velocity • Damage • Gun 1 • Loaded • Number of munitions left • Gun 2 • Loaded • Number of munitions left

  9. Relations • Any link between two entities, groups of entities or types of entities defining a fact

  10. Relations • Ahmet is father of veli • Suzan is mother of veli • Mustafa, Kenan and Oya are friends • Iraq forces is an opponent of US forces • TSK and SSM are stakeholders • X may have a relation with Y • Strike is an eagle • Eagle is a bird • Bird is an animal

  11. Tasks • Any piece of work, • Which has been undertaken or attempted • By someone • To reach a desired goal

  12. Tasks • Playing backgammon • Doing a project • Going to school • Performing surveillance • Managing an accident • Defending a town • Attacking a town

  13. Sub-Tasks • Smaller pieces of work to be done in order to perform and complete a task

  14. Playing Backgammon • Determining the first player • Doing your move • Waiting opponent’s move • Becoming happy • Becoming sad

  15. Doing a Project • Generating a list of candidate topics • Selecting one of the topics • Determining requirements • Performing research on requirements • Preparing a design • Implementing • Testing • Documenting development • Writing users-manuals

  16. Going to School • Remembering the location of school • Planing an initial path to school • Going to school through the path • Replanning a path to school if required • Entering the school • Planing an initial path to the classroom • Going to the classroom through the path • Replanning a path to classroom if required • Entering the classroom

  17. Performing Surveillance • Determining the surveillance start location • Determining the surveillance path • Going to surveillance start location • Replanning a path to location • Replanning a path to location if required • Moving through surveillance path • Replanning a surveillance path if required • Looking around to detect any suspicious activity • Examining suspicious activity (detection) • Reporting details of detection

  18. Managing an Accident • Waiting a call • Answering a call • Getting accident information on call • Finding nearest hospital • Calling nearest hospital for an ambulance • Getting an ambulance aircraft if required • Calling Turkish General Staff • Requesting an ambulance aircraft approval • Waiting for approval • Getting approval / reject • Organizing an ambulance aircraft • ....

  19. Actions • A primitive (may be un-interruptable) work to be done in order to perform a task

  20. Actions • Do a chess move • Do a forward step • Change direction • Hang up a phone • Send a fax • Say a statement to someone • Talk to someone • Engage a target • Fire a target • Throw a bomb • Give an order

  21. States • A position in time. • A specific situation/case/condition • Among a set of all possible situations a system may be in.

  22. States • Standing • Sitting • Walking • Running • Jumping • Talking • Defending • Attacking

  23. Events • Something that happens in time. • An action, occurrence or a condition that causes a state transition • Thus in addition to actions, • An external or internal event may cause a transition

  24. Events States Events Sleeping Clock rang Getting dress Dressing completed Going to school School reached and Door open Going to classroom

  25. Attributes vs States • Attributes of an entity can be considered as a part of its state information as below. • Tank • Coordinate • Orientation • Velocity • Damage • Gun 1 • Loaded • Number of munitions left • Gun 2 • Loaded • Number of munitions left • But usually they are not used that way.

  26. Tasks vs States • Meanwhile performing a task; • A system may be in one state (may have sub-states) and • May transite from one state to another. • In a time instant, a system may: • Be in one state or • Be in more than one sub-states in a set of parallel tasks: • Moving somewhere • Talking at the same time • Looking around at the same time

  27. Tasks vs States States Task: Going to school Sitting Sub-Tasks Staying • Remembering the location of school • Planing an initial path to school • Going to school through the path • Entering the school • Planing an initial path to the classroom • Going to the classroom through the path • Entering the classroom Walking Running Opening Door

  28. Actions vs States • An action may move a system from one state to another state • From “Waiting a call” to “Talking on phone” • By a “Hang up phone” action • From “Moving randomly” to “Attacking someone” • By an “Engage an enemy” action

  29. Actions vs States Actions States Actions Sit down Sitting Stand up Staying Stop Go to location slowly Walking Go to location fast Running Open door Opening Door

  30. Actions vs States • It is also possible and common to model actions as states. • In that condition; • A state will either: • Perform some action or • Be idle. • Only events will cause transitions.

  31. Finite-State Machines (FSMs) • Defined by a set of states and transitions between them. • Transition from a state to another state is triggered by a change (event or action) in the environment.

  32. Finite-State Machines (FSMs) • FSMs are used broadly in the video game industry. • Quake and Quake 2: a simple FSM system. • Warcraft III: a complex FSM system • FSMs also have a large role outside of the video game industry. • For example, cars, airplanes, and robotics have complex FSMs.

  33. Finite-State Machines (FSMs) • Also called “State Transition Networks/Diagrams” Attack Enemy see enemy see enemy not see enemy dead Search Enemy Wander initial state hear sound not hear sound dead Spawn dead reborn

  34. Finite-State Machines (FSMs) • An FSM has an entry (initial) state for starting the execution. • After execution starts, events and/or actions cause state transitions. • Each state may execute a code while; • Entering a state • Maintaining a state in every step and/or • Leaving a state

  35. A Sample Working Initial state Standing Sitting Running Walking

  36. Hierarchical Finite-State Machines • When the numberof states increases, • It becomes very complicatedto define the FSMs and • High probable to have some bugs ! • A solution is to ddefine some higher level states, and • Refine the details of states hierarchically.

  37. A Sample Start weapon unloaded weapon loaded weapon loaded Load weapon Point at enemy weapon unloaded Sub-finite state machine enemy engaged weapon loaded Attack Enemy Fire see enemy see enemy not see enemy dead Search Enemy Wander hear sound not hear sound dead Spawn dead reborn

  38. Advantages • Very fast to execute. • Expressive enough for simple behaviors. • Can create tools for non-programmers to build behaviors. • Probabilistic transitions can be introduced to make unpredictable transitions/behaviors.

  39. Disadvantages • Number of states and arcs can grow very fast. • Easy to do errors in complex FSMs. • Difficult to; • Put propositional representations such as: • Pick up the best weapon • Attack the closest enemy • Count such as: • Wait until the third time I see the enemy, then attack • Perform actions in parallel

  40. Disadvantages • But they are still prefered in many games, and • They can be improved with some special additions such as: • Parallel finite-state machines • Higher level scripts to perform complex transitions

More Related