Artificial Intelligence Applications
Description
This is a classical course on Artificial Intelligence. It introduces students to the problem solving, logic-based and probabilistic knowledge representation, logic-based and probabilistic inference, planning, and learning methods of artificial intelligence. Upon completion of this course students should be able to: develop intelligent systems by assembling solutions to concrete computational problems, understand the role of knowledge representation, problem solving, and learning in intelligent-system engineering.
Aim of the course
Provide knowledge on the fundamental issues of AI including knowledge representation, reasoning, search, problem solving, and decision making.
Prerequisites
Discrete Structures and Mathematical Logics, Fundamentals of Programming
Course content
1. Problem solving. Formulating well-defined problems, examples of toy problems.
2. Uninformed search strategies. Breadth-first, depth-first, iterative deepening, and bidirectional search techniques.
3. Informed search strategies. Best-first, A* search techniques, heuristic functions.
4. Computational space and time complexity of the search processes.
5. Local search methods. Hill-climbing and simulated annealing search strategies, beam search;
6. Constraint satisfaction problems; Decomposing problem state and goal test into variables and their relations, backtracking search, heuristics for constraint propagation.
7. Adversarial search problems. Minimax algorithm, alpha-beta pruning, game playing, games with the elements of chance.
8. Logical agents. Knowledge-based agents, propositional logic, syntax, semantics, inference rules, forward and backward chaining; First-order logic. Syntax and semantics: objects, relations, functions, variables, quantifiers, conjunctive normal form for firs-order logic.
9. Non-monotonic logics, non-monotonic reasoning systems.
10. Inference in the first-order logic, Unification, resolution, completeness of resolution, efficient implementation of forward and backward chaining.
11. Belief networks. Representing knowledge in an uncertain domain, Bayes’ rule, building belief networks, conditional independence among variables.
12. Exact inference in Bayesian networks. Recursive probability estimation in poly-trees. Approximate inference in Bayesian networks. Stochastic simulation, variable clustering, cutest conditioning.
13. Planning, constructing partially ordered plans; Planning under uncertainty. Conditional planning, execution monitoring and re-planning.
14. Basic notions of machine learning, learning from examples, k-NN technique, artificial neuron.
Assesment Criteria
1. Step-by-step simulation of some search algorithm for the given initial data.
2. A computer program is created that solves one of the “toy” search problems.
3. A computer program is created that plays one of the logical AI games (x/o, checkers, etc.).
4. A knowledge base is built that describes a certain domain as a set of sentences in the firstorder logic.
5. A computer program is created that implements the resolution rule of prepositional logic by means of the forward chaining technique.
6. A belief network is built that consist of 5-10 variables and describes a given domain.
7. A computer program is created that implements Bayesian inference using the stochastic sampling technique.
8. A given problem is formally specified by defining the state, actions, path cost, goal test, heuristic function.
9. Step-by-step simulation of a planning algorithm for the given initial data.