Knowledge Representation and Reasoning

Systems Modelling and Data Analysis + Engineering of Intelligent Systems

Lectures 2018

  1. Introduction to Knowledge Representation and Reasoning. Basic Practical Introduction to Constraint Programming and MiniZinc: 3 simple examples. [27.02.2018; ALi]
  2. Introduction to Constraint Programming. Building simple CP models in MiniZinc.* [6.03.2018; ALi]
  3. Backtracking Search and Linear Programming Models; cryptoarithmetic examples vs. linear programming optimization. MiniZinc and Python examples. [13.03.2018]
  4. Examples of model building in MiniZinc. Arrays, conditional expressions, Boolean constraints and higher-order programming. Job shop model. [20.03.2018; Ali]
  5. Knapsack model and Cumulative constraints. Practical applications of Constraint Programming. Some theory: Constraint propagation. [27.03.2018; Ali]
  6. [3.04.2018 - Easter breake]
  7. Techniques for Constraint Propagation [10.04.2018; ALi]
  8. Knowledge Representation with Logic. Propositional Calculus. [17.04.2018; ALi]
  9. Reasoning in Propositional Calculus. Resolution Method. Introduction to SAT. [24.04.2018; ALi]
  10. [1.05.2018 - Holidays]
  11. SAT: problems, techniques, tools and example applications. [8.05.2018; invited presentation]
  12. Knowledge Representation with Logic. First-Order Predicate Calculus. [15.05.2018; ALi]
  13. Logic Programming and Prolog. [22.05.2018; ALi]
  14. Rule-Based Systems and Planning. [29.05.2018; ALi]
  15. Individual work: Preparation for the exam. [5.06.2018; ALi]
  16. Exam - zero 15:30-17:00 [12.06.2018; ALi]
  17. Exams: 27.06.2018 - 11:00, and 4.07.2018- 14:00 Room 429/322 C-2 [ALi]

Lectures: Tuesdays, C-2, Room 429, 15:30-17:00

Preparation for exam 2018 - main focus List of topics

Lecture slides + supporting materials
Knowledge Representation and Reasoning. Edition 2016/2017
  1. Introduction to Knowledge Representation and Reasoning. Abduction. Basic Introduction to Constraint Programming [1.03.2017; ALi]
  2. Constraint Programming Tools. Introduction to MiniZinc. Building a Model: Einstein Puzzle [8.03.2017; ALi]
  3. Constraint Programming Tools. Introduction to MiniZinc. Simple example models. [15.03.2017; ALi]
  4. Constraint Programming Tools. Introduction to MiniZinc. Sets and arrays. Aggregation functions. Logical constraints. Production planning example. Job-Shop example. [22.03.2017; ALi]
  5. MiniZinc: selected predicates and application examples. Introduction to Constraint Propagation. [29.03.2017; ALi]
  6. Introduction to Knowledge Representation. The role of logic. Rule-Based Systems. [5.04.2017;ALi]
  7. E-Learning: Logic Programming and Rules: CS227: 8a, 8b; 9a, 9b [12.04.2017]
  8. E-Learning: Fuzzy Sets, Fuzzy Logic, Fuzzy Rules. [19.04.2017]
  9. Planning. Situation Calculus. STRIPS. Block World Examples. [26.04.2017; ALi]
  10. Advanced Planning. Hierarchical Planning. AND/OR Graphs search. Decomposition. Discrete-Even Systems. [10.05.2017]
  11. E-Learning: Causal Networks and Probabilistic Models. Bayes Networks. [17.05.2017]
  12. E-Learning: Problog: Probabilistic Logic Programming Models. [24.05.2017]
  13. E-Learning: ASP - Answer Set Programming. [31.05.2017]
  14. Recapitulation: Knowledge Representation and Reasoning. Test Problems. Exam 0. [7.06.2017]
  15. E-Learning: Description Logics. [14.06.2017]

Attention: new location: Building C-3, Room 101. Time: Wednesdays, 12:30-14:00

Lecture Slides
Useful Links
Background Material
New: Preparation for Exam

There is some background material indication: Exam focus

Permanently under construction


Constraint Satisfaction and Discrete Optimization

The following classes will focus on modelling of discrete optimization and constraint satisfaction problems. Student will learn how to represent correctly different problems using constraint programming techniques.

Automated Planning

The following classes will cover automated planning problems. Student will learn how to represent planning problems using constraint programming and dedicated tools.

Probabilistic Programming

This part of the course will present probabilistic programming — a new programming paradigm meant to model domains uncertainty and imperfect knowledge.


There are three projects to choose from:

  1. fox-geese-corn — simple planning problem.
  2. gangs-wars — problem about optimal ordering of tasks. Quite simple, but it's very difficult to find the optimal solution.
  3. port-scheduling — almost real-life problem about scheduling coal deliveries in an Australian port.

All the project are available via gitlab. The test assignment is an obligatory project, that everyone has o finish before starting working on the one real projects. Instructions, how to do the projects are included in the files.

The deadline is simply last class in the semester. While grading I will check:

  1. if the model is correct;
  2. if the model allows to quickly find a good solution;
  3. if the model is comprehensible;
  4. what was your work hygiene (how often did you commit, did you contact in case of a problem, etc.)

PS yes, you can do projects in pairs.

en/dydaktyka/krr/start.txt · Last modified: 2019/06/27 15:49 (external edit) Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0