main-content

This concise and accessible textbook supports a foundation or module course on A.I., covering a broad selection of the subdisciplines within this field. The book presents concrete algorithms and applications in the areas of agents, logic, search, reasoning under uncertainty, machine learning, neural networks and reinforcement learning. Topics and features: presents an application-focused and hands-on approach to learning the subject; provides study exercises of varying degrees of difficulty at the end of each chapter, with solutions given at the end of the book; supports the text with highlighted examples, definitions, and theorems; includes chapters on predicate logic, PROLOG, heuristic search, probabilistic reasoning, machine learning and data mining, neural networks and reinforcement learning; contains an extensive bibliography for deeper reading on further topics; supplies additional teaching resources, including lecture slides and training data for learning algorithms, at an associated website.

### 1. Introduction

Abstract
The term artificial intelligence (AI) stirs emotions. For one thing there is our fascination with intelligence, which seemingly imparts to us humans a special place among life forms. Questions arise such as “What is intelligence?”, “How can one measure intelligence?” or “How does the brain work?”. All these questions are meaningful when trying to understand artificial intelligence. However, the central question for the engineer, especially for the computer scientist, is the question of the intelligent machine that behaves like a person, showing intelligent behavior. Beside discussing these issues, this introductory chapter gives a brief sketch of the history of AI.
Wolfgang Ertel

### 2. Propositional Logic

Abstract
In propositional logic, as the name suggests, propositions are connected by logical operators. The statement “the street is wet” is a proposition, as is “it is raining”. These two propositions can be connected to form the new proposition “if it is raining the street is wet”. Written more formally: “it is raining ⇒ the street is wet”. Introducing important concepts such as syntax, semantics, interpretation, model, correctness, completeness, calculus, etc., this chapter serves as a “warm up” for first order predicate logic in Chap. 3. The language of propositional logic will also be used in Chap. 7 as a basis for probabilistic logic.
Wolfgang Ertel

### 3. First-order Predicate Logic

Abstract
In the 1930s Kurt Gödel Alonso Church, and Alan Turing laid important foundations for logic and, theoretical computer science. Of particular interest for AI are Gödel’s theorems. The completeness theorem states that first-order predicate logic is complete. This means that every true statement that can be formulated in predicate logic is provable using the rules of a formal calculus. Using programmable computers, on this basis, automatic theorem provers could later be constructed as implementations of formal calculi. We introduce the language of first-order predicate logic, develop the resolution calculus and show how automated theorem provers can be built and applied to prove relevant problems in every day reasoning and software engineering.
Wolfgang Ertel

### 4. Limitations of Logic

Abstract
Until the end of the 20th century many logicians believed that theorem provers for first-order logic will be the major component of intelligent agents. Almost all successful modern AI applications however use different formalisms. This is due to some severe problems with first-order logic that we will explain in this chapter.
Wolfgang Ertel

### 5. Logic Programming with PROLOG

Abstract
Due to the problems with first-order logic mentioned in Chap. 4, pure logic can not solve most realistic AI problems. Logic programming as a fusion of logic and procedural programming provides the programmer with means for controlling and optimizing logical reasoning. Using the programming language PROLOG, we invite the reader to solve some simple relational problems and puzzles. As a particular highlight, we introduce constraint logic programming, which enables us to elegantly solve for example nontrivial scheduling problems.
Wolfgang Ertel

### 6. Search, Games and Problem Solving

Abstract
Many AI problems, like automated theorem proving, game playing, planning or routing, involve combinatorial search in large discrete spaces. We introduce the classical uninformed and heuristic search algorithms such as for example A and apply them to simple examples. Game search techniques like minimax and alpha-beta pruning and their application in chess computers are discussed.
Wolfgang Ertel

### 7. Reasoning with Uncertainty

Abstract
Reasoning under uncertainty with limited resources and incomplete knowledge plays a big role in everyday situations and also in many technical applications of AI. Probabilistic reasoning is the modern AI method for solving these problems. After a brief introduction to probability theory we present the powerful method of maximum entropy and Bayesian networks which are used in many applications. The medical diagnosis expert system LEXMED, developed by the author, is used to demonstrate the power of these formalisms.
Wolfgang Ertel

### 8. Machine Learning and Data Mining

Abstract
One of the major AI applications is the development of intelligent autonomous robots. Since flexibility and adaptivity are important features of really intelligent agents, research into learning mechanisms and the development of machine learning algorithms is one of the most important branches of AI. After motivating and introducing basic concepts of machine learning like classification and approximation, this chapter presents basic supervised learning algorithms such as the perceptron, nearest neighbor methods and decision tree induction. Unsupervised clustering methods and data mining software tools complete the picture of this fascinating field.
Wolfgang Ertel

### 9. Neural Networks

Abstract
Neural networks are networks of nerve cells in the brains of humans and animals. The human brain has about 100 billion nerve cells. We humans owe our intelligence and our ability to learn various motor skills and intellectual capabilities to the brain’s complex relays and adaptivity. The nerve cells and their connections are responsible for awareness, associations, thoughts, consciousness and the ability to learn. Mathematical models of neural networks and their implementation on computers are nowadays used in many applications such as pattern recognition or robot learning. The power of this fascinating bionics branch of AI is demonstrated on some popular network models applied to various tasks.
Wolfgang Ertel

### 10. Reinforcement Learning

Abstract
The challenging task of autonomously learning skills without the help of a teacher, solely based on feedback from the environment to actions, is called reinforcement learning. Still being an active area of research, some impressive results can be shown on robots. Reinforcement learning enables robots to learn motor skills as well as simple cognitive behavior. We use a simple robot with only two degrees of freedom to demonstrate the strengths of the value iteration and Q-learning algorithms, as well as their limitations.
Wolfgang Ertel

### 11. Solutions for the Exercises

Abstract
For all the exercises in the book we provide solutions. These solutions are intended to help those who actively work on the exercises to check the correctness of their solutions. In the spirit of Leonardo da Vinci’s saying “Studying without passion damages the brain!”, we want to encourage the reader to really work on the exercises before peeking into the solutions.
Wolfgang Ertel