Artificial Intelligence

Welcome to the Wikibook about Artificial Intelligence.

Book Contents

edit

The following is a first proposal for a basic layout. This is not yet complete, ideas are welcome. Discuss on the talk page or just add them here.

The book is laid out into 5 sections, with increasing detail and complexity. Each section contains a number of chapters. In addition to regular chapters, there are case-study chapters that investigate full and complex AI systems using several techniques from the regular chapters (as well as perhaps some new ones).

Introduction

edit

Overview

  A chronological look at milestones in Artificial Intelligence

General concepts

edit
  Semantic Networks
  Representational perspectives
  Zero-order logic: Propositional calculus
  Attributional logic
  First-order predicate logic
  Second-order logic
  Exhaustive search
  Depth-first search
  Breadth-first search
  Finite state automata
  Heuristic search
  Best-first search
  A* Search
  Bidirectional Search
  Tabu Search
  Beam Search
  Adversarial search
  Minimax Search
  Alpha-Beta Pruning
  Expectimax Search
  Iterative Improvement
  Hill Climbing
  • Probability: Describing the basics (philosophical and mathematical) of probability theory inference.

Basic AI topics

edit
  • Planning, Decision making and Problem Solving: Expanding on the search chapter to show how simple agents and simple intelligent behavior can be created. Examples are solving a puzzle, navigating a small maze (with pits and monsters) or planning a trip to the supermarket.
  • Uncertainty: Introduction to reasoning, planning and decision making with uncertainty.
  • Case Study - Building a (relatively) strong game AI: Building a strong AI for some game (to be chosen) that combines techniques from the planning and uncertainty chapters. This should go deeper than the simplified algorithms that most books describe and actually produce a strong playing AI.
  • Inference in Logic: Backward and Forward chaining, Resolution and Logic Programming.
  • Knowledge Engineering: Ways to describe and store complicated knowledge. Databases, OO concepts, knowledge bases, representing space and time, inference from large datasets, diagnosis system etc.
  • Natural Language: Stuff like Markov models, POS taggers and CFG's.
  • Machine Learning (ML): The basic idea of Machine Learning is to study pattern recognition, make predictions, improve predictions based on examples or data. Example of Machine Learning concepts such as supervised learning, unsupervised learning, semi-supervised learning, reinforcement learning and deep learning.
  • Case Study - Deep Learning: Describes the use of deep architecture (i.e. Deep Belief Networks, Convolutional Neural Networks) in handwritten character recognition.
  • Case Study - Artificial Life: Describes an environment with several evolving agents and some different techniques to construct agents. This should be able to draw on and compare pretty much all the chapters from section 2 (including the natural language chapter).
  • Philosophical Issues for Artificial Intelligence: Discusses AI problems typically dealt with by philosophers, such as what is theoretically possible to achieve with AI, whether programs can be conscious, or feel pain, intentionality, and symbol grounding.

More advanced topics and techniques in AI

edit
  • Advanced Expert Systems: Expands on the basic expert systems explained in Knowledge Engineering in section 2. Includes more in depth explanation of Bayesian Networks than in the Machine Learning section.
  • Case Study - Data Mining: Describes mining a large dataset (perhaps some part of the wikipedia database) using machine learning algorithms, using software like Weka.
  • Case Study - Data Analysis: Describes manipulation of data using statistical computing tool such as R programming in K-means clustering, decision tree, random forest, adaptive boosting and support vector machine (supported by R Foundation, an open source software foundation).
  • Advanced Natural Language: A description of the various techniques for dealing with tenses, sentence focus, presuppositions, etc. in NLP and NLG. This focuses mostly on the underlying structure of language and how to translate into some logical language, rather than statistical methods and models.
  • Natural Language Learning: Deals with more advanced statistical models for learning to understand language.
  • Case Study - Dialogue System: Building system that can communicate (intelligently) in written natural language. In a nutshell, trying to pass the Turing test. Three basic paradigms; case based reasoning (like ALICE), Logic based (translating everything to and from some extended version of predicate logic) and some machine learning based solution.

Highly specific AI topics and techniques

edit
  • Machine Vision: Interpreting visual data. Face recognition, 3d reconstruction etc.
  • Bayesian Decision Theory
  • Linear Discriminants and Perceptron
  • Support Vector Machines
  • Parameteric Techniques
  • Non-parametric Techniques
  • Speech Recognition, Text to Speech and OCR
  • Advanced Logics: Advanced logic systems.
  • Reinforcement Learning
  • Robotics: Detailed and technical introduction to the three basic paradigms of robotics. Deals with software and hardware. (Define: situated robotics.)

AI Circuits and algorithms

edit

The Future of Artificial Intelligence

edit

Appendices

edit
  • Index, topics in alphabetical order
  • Resources, bibliography and further reading