Università degli Studi di Pavia

Facoltà di Ingegneria


Artificial Intelligence

A.A. 2019-2020

First Semester

Fri: 11:00 a.m. - 1:00 p.m., Room E4

Fri: 2:00 p.m. - 4:00 p.m., Room E4

Lectures & Suggested Readings:

  • Reports of errors in the resources below are always welcome
    1. 2019.10.04 (theory)

      Introduction [pdf]

      Alan Turing (Wikipedia)
      Computer chess (Wikipedia)

      Shannon, C., "Programming a Computer for Playing Chess", Philosophical Magazine, 41 (314), 1950 [pdf]

      Campbell, M., Hoane, A. J., Hsu, F., "Deep Blue", Artificial Intelligence, 134 (1-2), 2001 [pdf]

      "Building Watson - A Brief Overview of the DeepQA Project", YouTube, 2011 [video]

      "Final Jeopardy! and the Future of Watson", TED, 2011 [video]

      Ferrucci, D., et al., "Building Watson: An Overview of the DeepQA Project", AI Magazine, 3 (31), 2010 [pdf]

      Mnih, V., Kavukcuoglu, K., Silver, D., Graves, A., Antonoglou, I., Wierstra, D., Riedmiller, M., "Playing Atari with Deep Reinforcement Learning", arXiv, 2013 [arXiv]

      D. Silver, et al., "Mastering the game of Go with deep neural networks and tree search", Nature, 529, 2016 [link]

    2. 2019.10.04 (theory)

      Symbolic reasoning [pdf]
      Language, schemas and reasoning

      Syllogism (ancient logic) (Wikipedia)

    3. 2019.10.11 (theory)

      Propositional logic [pdf]
      Boolean algebras, formal propositional language and its semantics, satisfiability, entailment

      Rules of inference, justified by entailment (Wikipedia)

    4. 2019.10.18 (theory)

      Entailment and algorithms [pdf]
      Decision problems, entailment as a satisfiability problem (i.e. refutation), semantic tableaux, propositional resolution

      Tree Proof Generator [link]: online solver through semantic tableaux

    5. 2019.10.25 (theory)

      First-order logic [pdf]
      First-order semantic structures, formal language, variables and quantifiers, satisfaction, entailment

    6. 2019.11.08 (theory)

      Semi-decidability of First-Order logic [pdf]
      Prenex normal form, skolemization, Herbrand's theorem

      Prenex normal form (Wikipedia)

      First-Order resolution [pdf]
      Clausal form, unification, resolution method for first-order logic

    7. 2019.11.15 (theory)

      SLD resolution [pdf]
      Horn clauses, SLD resolution, logic programming

      Depth-first search (Wikipedia)
      Breadth-first search (Wikipedia)

      Re-definition of Prolog append/3 using the function cons/2 [pl]
      A note [pdf] describing the trace of an example of SLD resolution with append/3

      All Prolog examples are compatible with SWI-Prolog (free software) [link]

    8. 2019.11.22 (theory)

      Plausible reasoning [pdf]
      Negation as failure, closed world assumption, deductive, inductive and abductive reasoning

      Probabilitistic reasoning: representation and inference [pdf]
      Foundations of probability, probability space, random variables, Bayes' theorem, probabilistic inference

      Countable set (Wikipedia)
      Sigma algebra (Wikipedia - see simple set-based examples)
      Probability space (Wikipedia)
      Random variable (Wikipedia)

      "The Banach-Tarski Paradox" (semi-serious but also very informative), YouTube, 2015 [video]

    9. 2019.11.29 (theory)

      Graphical models [pdf]
      Graphical models and factorization, d-separation, inference, computational methods

      Examples with "Bayes" (free software) available on AISpace
      [download] (see Belief and Decision Networks)

    10. 2019.12.06 (theory)

      Supervised learning [pdf]
      Learning proababilities from observations: maximum likelihood estimator, maximum a posteriori probability, conjugate prior distribution

      Binomial distribution (Wikipedia)
      Beta distribution (Wikipedia)
      Conjugate prior (Wikipedia)

      Beta distribution interactive plot [link]

    11. 2019.12.13 (theory)

      Numerical supervised learning [pdf]
      Learning with models that cannot be optimized analytically, logistic regression, gradient descent, stochastic gradient descent, mini-batch gradient descent

      Logistic regression (Wikipedia)

    12. 2019.12.20 (theory)

      Unsupervised learning [pdf]
      Learning from incomplete observations: k-means, hidden random variables, EM algorithm. An example: latent Dirichlet allocation (LDA)

      k-means (a.k.a. LBG) algorithm - online demo [link]

      Voronoi tesselation with Lloyd relaxation - online demo [link]

      A simple Java implementation of the EM algorithm for coin tossing [zip]

      Andrew Ng, "The EM algorithm", CS229 Lecture notes, Stanford [pdf]

    13. 2020.01.10-2020.01.17 (theory)

      Reinforcement learning [pdf]
      Multi-armed bandits and methods, Thompson sampling, Markov Decision Processes, value function, optimal policy, iterative learning algorithms

      Sutton, R.S., Barto, A.G., Reinforcement Learning: An Introduction, 2nd Edition (draft) [link]
      (at this time, the draft is freely available at the above link)

      Reinforcement Learning Simulator: a demo for the maze example implemented in Java [link]

      ConvnetJS: Deep Q Learning Demo [link]

    Instructor

    1. Marco Piastra

    2. Contact: marco.piastra@unipv.it


    Exams

    1. See Faculty website


    Further resources:

    (There are no required textbooks for this course. The following books are recommended as optional readings)

    1. Mordechai Ben-Ari, Mathematical Logic for Computer Science (3rd Edition). Springer, 2012

    2. Kevin P. Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, 2012.


    Links

    1. Artificial Intelligence Reading Group


    1. Artificial Intelligence, A.A. 2018-2019 and before