13 lectures + 11 exercise sessions. The overall goal of the course is to introduce students to a selection of the most important problem solving and decision support techniques within AI and optimization. The goal is to make students able to identify, design, and implement efficient solutions to the kind of decision problems that arise in modern organizations and IT products. The expectation is that a student mastering the material is able to work in internationally leveled business intelligence and optimization groups as well as in development departments of “intelligent” applications as used in smart phones, computer games, enterprise resource planning systems, and decisions support systems. The course will cover the followings topics: Search algorithms * Informed search: greedy heuristic search, A*, breadth-first heuristic search * Local search: hill-climbing, simulated annealing, genetic algorithms, tabu search, population-based search * Adversarial search: Minimax search, alpha-beta pruning Propositional logic * Representations: disjunctive (DNF), conjunctive (CNF), and if-then-else (INF) normal forms, Binary Decision Diagrams (BDDs) * Reasoning: resolution, SAT-checking Constraint programming * Local consistency: arc-consistency, path-consistency, i-consistency * Look-ahead search strategies: forward-checking, arc-consistency look-ahead, maintaining arc-consistency Linear Programming * Simplex algorithm * Duality The course provides useful tools in its own right, but it is also the first course on the modern AI specialization and the scalable computing specialization.

The student is allowed to use all aids: books, notes, software, on-line resources The duration of the exam is 4 hours.