Principles of Artificial Intelligence Programming
Course
Inhouse
Description
-
Type
Course
-
Methodology
Inhouse
-
Duration
5 Days
Ability to choose between various approaches and frameworks for adding AI capabilities to computer games. Insights into the complexity and performance tradeoffs of different AI technologies and techniques. Techniques for developing games that learn and evolve. Suitable for: This course is aimed at those wishing to embark on an exploration of Artificial Intelligence programming techniques. Artificial Intelligence has gone through many cycles of hype and enthusiasm alternating with disenchantment and humiliation. Nonetheless it has produced some of the most complex and interesting techniques and algorithms known to man. In order to make computer games more interesting the computer entities being played against have to learn from and adapt to their.
Reviews
Course programme
The purpose of this course is to cover the major paradigms of Artificial Intelligence programming with a bias towards the application of these techniques to computer games. It is an advanced foundational course from which individual will be able to discover their own preferences and avenues for further exploration. In addition to covering the key AI programming paradigms the course also discusses
- selection of appropriate programming languages and representational schemes
- persistence , history and rollback to earlier states
- personality, emotion, motivation and psychology as they apply to computer games
Key Skills
- Ability to choose between various approaches and frameworks for adding AI capabilities to computer games
- Insights into the complexity and performance tradeoffs of different AI technologies and techniques
- Techniques for developing games that learn and evolve
Course Contents
Overview of basic physics and behaviours
- movement algorithms, statics and kinematics
- searching and wandering
- Steering behaviours
- seek and flee
- pursue and evade
- path following
- collision avoidance
- obstacle and wall avoidance
- more complex, combined steering behaviours
- projectiles - aiming, shooting and trajectories
- jumping
- motor control and co-ordinated movement
- Overview of graphs and graph theory
- basic graphs
- weighted directed and undirected graphs
- Dijkstra's algorithm
- A* algorithm
- hierarchical pathfinding
- interruptible pathfinding
- continuous time pathfinding
- movement planning
- Decision trees
- State machines
- Fuzzy logic
- Markovian systems
- Goal seeking behaviour
- Rule based approaches
- Blackboard architectures
- Waypoints
- Tactical analysis and tactical pathfinding
- Coordination and coordinated action
- Diplomacy, negotiation and betrayal
- Emotions and Personalities - their tactical implications
- Overview of learning algorithms and strategies
- Action predicition
- Decision tree learning
- Reinforcement learning
- Neural Networks
- Genetic Algorithms
- Minimaxing
- Indexing and Pattern Matching on Game States
- Iterative deepening and other optimisation approaches
- Turn based strategy games
- Knowing the right thing at the right time
- Searching for information
- Awareness of events
- Communication patterns between entities
- Senses and sensors
- The sensor data fusion problem
- The interaction between AI and content creation tools
Principles of Artificial Intelligence Programming