Applications of Artificial Intelligence


Published on

A variety of different methods that AI is implemented in modern society through mediums like video games and control circuits for White Goods (e.g. Washing Machines)

Published in: Business, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Applications of Artificial Intelligence

  1. 1. within the Games Industry by Jake Fudge
  2. 2. <ul><li>In-depth investigation of the applications an implications of AI throughout the games industry </li></ul><ul><ul><li>Focus on games made from 2000 onwards </li></ul></ul><ul><ul><ul><li>Uses of FL, NN and GA’s </li></ul></ul></ul><ul><ul><li>Covering across multiple platforms </li></ul></ul><ul><ul><li>Discussing the Middleware market </li></ul></ul><ul><ul><li>Discussion of hardware (i.e. PCI-E & Multicore CPUs) </li></ul></ul><ul><ul><li>Chart the progression of the industry (i.e. CPU -> GPU) </li></ul></ul><ul><li>Case studies on Source and Gamebryo engines </li></ul><ul><li>(i.e. Oblivion) </li></ul>
  3. 3. <ul><li>Control – motor controller, for example, control of a race car or airplane </li></ul><ul><li>Threat Assessment – input number of enemy ground units, aerial units, etc. </li></ul><ul><li>Attack or Flee – input health, distance to enemy, class of enemy, etc. </li></ul><ul><li>Anticipation – Predicting player’s next move, input previous moves, output prediction </li></ul><ul><ul><li>E.g. Black & White – uses NN’s to train </li></ul></ul><ul><ul><li>behaviour through ‘tickling’ and </li></ul></ul><ul><ul><li>‘ smacking’ to increase/decrease weights </li></ul></ul>
  4. 4. <ul><li>Constructed with the simple aim of keeping the car to the racing line </li></ul><ul><li>Used standard feedforward multilayer perceptron neural network </li></ul>
  5. 5. <ul><li>Fuzzy logic represents facts as a matter of degree rather than true/false statements </li></ul><ul><ul><li>Humans often assign facts to categories with some flexibility about the boundary conditions </li></ul></ul><ul><li>In control applications, like Game AI, responses to fuzzy input are smooth </li></ul><ul><ul><li>Traditional Boolean logic only supports discrete states often resulting in abrupt state transitions </li></ul></ul><ul><ul><li>Fuzzy logic avoids these problems because the response will vary smoothly given the degree of truth of input conditions </li></ul></ul><ul><ul><ul><li>E.g. Control – locomotion control that responds smoothly to obstacles </li></ul></ul></ul><ul><ul><ul><li>Threat Assessment - assessment of the threat posed by players/opponents </li></ul></ul></ul><ul><ul><ul><li>Classification - in-game classification of characters and game scenarios </li></ul></ul></ul><ul><li>Spark! Fuzzy Logic Editor </li></ul><ul><li>(by Louder Than A Bomb! software) </li></ul>
  6. 6. <ul><li>Excellent for tuning in-game parameters </li></ul><ul><ul><li>E.g. Counter Strike: Source™ weapons </li></ul></ul><ul><li>Mainly found to be used in preprocessing </li></ul><ul><li>Cons - Limited use outside of this </li></ul>
  7. 7. <ul><li>AI GUI </li></ul><ul><ul><li>Visual toolbox </li></ul></ul><ul><ul><li>Allows developers to concentrate on design rather than programming </li></ul></ul><ul><ul><li>Modular design (AI building blocks) </li></ul></ul><ul><ul><li>C++ editor </li></ul></ul><ul><li>Extended features </li></ul><ul><ul><li>Procedural animation </li></ul></ul><ul><ul><li>Interactive dialogue </li></ul></ul>Use of Spir.Ops AI can be found in Splinter Cell: Double Agent (Xbox 360/PC/PS3)
  8. 9. <ul><li>Radiant AI </li></ul><ul><ul><li>SpeechCraft – allows for creative dialogue through visual cues </li></ul></ul><ul><ul><li>NPC’s given a schedule which they have to achieve (sometime by any means possible!) </li></ul></ul><ul><ul><li>Skills and Race of character determine what information is available </li></ul></ul><ul><ul><li>Active AI based off skill to create more challenge (i.e. stronger rats) </li></ul></ul>
  9. 10. <ul><li>Coarse – started by splitting client-side and server-side systems </li></ul><ul><ul><li>Disparity within the engine </li></ul></ul><ul><li>Fine – breaking up tasks into tiny pieces for equal distribution (similarities to Distributed Computing) </li></ul><ul><ul><li>More complex than coarse threading </li></ul></ul><ul><ul><li>Bound by memory bandwidth </li></ul></ul><ul><li>Hybrid – more of a system </li></ul><ul><li>hierarchy than a new </li></ul><ul><li>method </li></ul>
  10. 11. <ul><li>Nintendo™ Wii-mote </li></ul><ul><ul><li>Gesture based gaming </li></ul></ul><ul><ul><li>Computational limitations on motion capturing </li></ul></ul><ul><ul><li>Programming actions through neural networks </li></ul></ul><ul><ul><ul><li>Can accepts large database of actions </li></ul></ul></ul>