Instructor | Lectures | Literature | Examination | Results | Project | Schedule

Artificial Intelligence and Machine Learning - 2017/2018

Embedded Robotics
Department of Cybernetics and Robotics
Faculty of Electronics

2018-02-02 - The projects results are available through the results form. In case of problems or complaints please send me email or come to my office hours on February 5th - the last office hours during the exam term.
Also, the final course grades are computed and also available through the form. These do not yet include the second exam, which I will grade in order. Sorry about the headings in Polish. The last column is the grade. Only positive final grades are shown.

2018-01-24 - Grandson final results are available. A positive number in the last column is the proposed final exam grade. Zero in the last column means final exam is obligatory.

Proposed exam dates: January 25 and February 1, 2018, 1-3 pm, see below for room number.
Please reserve these dates.
See the exam section for more information.

Lecture topics and notes

The following table contains the titles of all the lectures, and links to the lecture notes in PDF format. Lecture notes are provided for the convenience of the students, so it is not necessary to take notes in class. Please note that they are no substitute for textbooks, and other study materials. Further links to other literature are provided in the Literature section.

These notes are under copyright. They can be used only for anybody's private purposes, and cannot be distributed or published, for example by copying and making available from other Web pages, or in any other way.

1 Introduction to artificial intelligence and machine learning PDF PDF 2x1 PDF 4x1 PDF 6x1
Searching in the state space
Searching in constraint satisfaction problems
Searching in games
PDF PDF 2x1 PDF 4x1 PDF 6x1
5 Logic based methods PDF PDF 2x1 PDF 4x1 PDF 6x1
6 Logic programming in Prolog PDF PDF 2x1 PDF 4x1 PDF 6x1
7 Probabilistic representation: Bayesian networks PDF PDF 2x1 PDF 4x1 PDF 6x1
8 Making simple decisions PDF PDF 2x1 PDF 4x1 PDF 6x1
9 Making complex decisions PDF PDF 2x1 PDF 4x1 PDF 6x1
10 Reinforcement learning algorithms PDF PDF 2x1 PDF 4x1 PDF 6x1
Machine learning: basic concepts and algorithms PDF PDF 2x1 PDF 4x1 PDF 6x1
15 Computational theory of learning PDF PDF 2x1 PDF 4x1 PDF 6x1


  1. S.J.Russell, P.Norvig, Artificial Intelligence A Modern Approach (Third Edition), Prentice-Hall, 2010, WWW
  2. T.Mitchell, Machine Learning, McGraw Hill, 1997, WWW
Internet resources:
  1. Artificial intelligence courses with similar programs:

  2. Polish language courses:

  3. Search methods:

  4. Textbooks and tutorials on Prolog:

  5. Rule-based representations - CLIPS:

  6. Systems for creating probabilistic belief networks:

  7. Internet repositories of statistical data:
    UCIKnowledgeDiscovery UCI Knowledge Discovery in Databases Archive
    UCIMLRepository UCI Machine Learning Repository
    CMUStatLibDatasets CMU StatLib Datasets Archive

  8. Machine learning:

  9. Reinforcement learning:

Final exam (pol. kolokwium)

Passing and obtaining credit in this course requires successfully completing the project class for the course, and successfully passing a written examination at the end of the semester. The date of the written examination will be determined about half way through the semester, at which time the list of topics will also be announced, and example problems presented and discussed. The final course grade is computed from the project class score (weight 0.6) and the exam score (weight 0.4) rounded to the closest nominal grade.

Jan.25th, 20181-3pm2/C-5
Feb.1st, 20181-3pm1/C-5

Please mark your calendars.
IMPORTANT: for the exam bring writing utencils and at least three sheets of A4 paper (more, if needed for scratch). A calculator is permitted and may be useful, but is not absolutely necessary. Planned time for the exam: 1.5 hours (may be extended if necessary).

The scope of the exam covers all the lecture and project class program, see the detailed list of topics for this exam.

The results of the written exam will be made available through the grandson test results form.

“Grandson” tests

There will be short, single question tests during most of the lectures. The rules:
  1. Tests are written, 3-minutes long, and can occur at any time during the lecture.
  2. The scope of the test will be the current lecture, with possible overlap of the preceding lecture.
  3. This is a closed-book test. No books, notes, or computers can be used.
  4. Calculators are permitted. During some tests, simple numerical calculations will be necessary. A cell phone, a calculator watch, or a PDA, will be allowed.
  5. Tests are graded from 1 to 3 points, with 1 point given for a blank page turned in.
  6. No-show means 0 points. No excuses and no re-taking.
  7. The final “grandson” test score will be computed by dropping the single highest score and the single lowest earned score. 0 points result for absence is never dropped.

Android app

Android smartphone owners may find this simple application useful when writing the “grandson” tests in class: Group number calculation app
If you do not have an Android, don't worry. You may be able to use a colleague's phone, or you can do without it.

Final exam waiver

A minimum of 60% result from the “grandson” tests gives a waiver from the final exam with the grade of 4.0. Results below 60% from the “grandson” test give nothing.

The grades for the grandson test results will be interpreted as follows:

points[%] 60.0073.3386.66
grade 4.0 4.5 5.0

“Grandson” test results

Use the following form to find your “grandson” test results. The spelling of first and last names are exactly as entered in the Edukacja system. Non-Latin letters (with accents, etc.) need to be spelled exactly as in Edukacja. (However, for the project class results, use the spelling of your name from the eportal system.) Additionally, multiple first and/or last names must be joined here with underscores, like Manuel_Antonio, or de_la_Vega.
First name: Last name:
Student number:

Project class

The project class will consist of a series of assignments. The initial series are “small” assignments, which are connected to lectures. Then there is an individual project - the “big” assignment. The subject can be anything, but must be approved by the instructor. The “big” assignment is optional, in the sense, that another series of “small” assignments can be done instead of it.

A necessary and sufficient condition to obtain a passing grade for the project class is to successfully and timely complete (obtain a positive point credit) all the assignments within the selected option, except at most one “small” assignment. Missing one “small” assignment results only in forfeiting the credit for that assignment. Missing more than one assignment results in failing the project class.

“Small” assignments

There will be a series of smaller assignments to be worked in the computer laboratory according to the schedule below. Each assignment will be introduced and explained in the project class.

A written report must be prepared for each assignment and turned in through the Moodle system.

“Big” project

The “big” assignment will have the subject individually chosen by students. The assignment has to be related to artificial intelligence, but is not limited to topics covered in this course. The subject chosen by the student has to be approved by the instructor.

“Big” project proposal

The proposed subject of the big project needs to be described by students as follows:
  1. the problem student proposes to study,
  2. proposed method(s),
  3. resources found: textbooks, tutorials, software, Internet sites related to the general topic, or specific similar projects, data sources, etc.,
  4. tools to be used,
  5. experiments planned:
    (a) data source for the experiments,
    (b) evaluation methods.
The proposal needs to be short, and must be turned in in writing. The instructor either accepts or rejects the proposal. In the latter case the instructor contacts the student, informs him/her of the flaws in the proposal, and suggests ways to correct them. The student needs to act quickly, to turn in an acceptable proposal in time.


The “big” project can be done in groups of up to two people. The proposal has to be submitted by the group, and the work share of each member of the group has to be demonstrated somehow. The expectation of the outcome of the project is about 50% higher from a group than from an individual project.

Preparing the “big” project report

Successfully passing the “big” project requires a written report and a presentation.

The report has to be a single-page HTML document. It must be possible to print the report. It can contain images, or even multimedia content, like applets (ie. it is OK if the report does not print out completely). All the reports will be published by the instructor on the course Web page, so they have to be prepared accordingly. In particular, the following requirements are ESSENTIAL:

  1. the report must have a heading stating: the title of the project, the name(s) of the author(s), the date, and a declaration that the report describes a project done to fulfill the requirements for this course,
  2. the report must conform to some standard of HTML, ie. must successfully verify against the standard given in the DOCTYPE declaration,
  3. the report must contain (at the end) a list of all source materials, and programming tools used,
  4. the report MUST NOT contain links allowing to download source codes from the report home catalog.

The report should describe the goal of the project, the methods used, the results achieved, and some conclusions or remarks. The quality of the report will be a significant factor in grading the project.

After preparing the report it has to be installed as the student's Web page.

The project presentation may be a demonstration of a working program, or performing one of the experiments described in the report (or similar), or, if not possible, by orally describing the project and results.

Project assignments schedule

1.Startup assignment - semantic networks, ontologies clk Protege Oct.3Oct.24Oct.31
2.Heuristic search - checkers clk Checkers program + Java Oct.24Nov.7Nov.14
Nov.16 23:59:59
3.Logical reasoning - wumpus clk
Jovolog simulator + Prolog Nov.7Nov.21Nov.28
4.Bayesian networks modeling and decision making clk many available, see description Nov.21Dec.5Dec.12
5.Markov decision problems and reinforcement learning clk any programming language Dec.5Dec.19Jan.9
Jan.15, 23:55
6.Classifier machine learning clk WEKA, RapidMiner, others Dec.19Jan.16Jan.31, 23:55

Instructor | Lectures | Literature | Examination | Results | Project | Schedule
Visit count since September 20, 2011: counter
Updated: Tuesday, 27-Feb-2018 10:34:47 CET   Valid XHTML 1.0 Transitional! Valid CSS!