Human-like Artificial Agents (Summer 2020/21)

In this course, we will study human-like artificial agents, that is autonomous intelligent agents situated in a virtual environment similar to real world that act like humans. The course gives an overview of types of such agents and their architectures with the emphasis on the problem of action selection. The course also focuses on solving practical issues related to real-time and partially observable environments. The course is taught at MFF UK as NAIL068.

History: 2020201920182017<=2016

This page is containing information about lectures, if you’re looking for labs info, visit Labs web page (coming soon!).


Follow the appropriate channel at Gamedev Discord!

Dates (SIS)

Lectures: Wednesdays, 10:40, Zoom (we start 3.3.2021), Zoom invitation sent separately via email

Labs (two parallels): Doodle!

Plan & Slides

No. Date Topic Lecturer Slides Target
1. 3.3.2021 Introduction Cyril Brom,
Jakub Gemrot
Slides  1 – PDF / MP4
Slides  2 – PDF / MP4
Slides  3 – PDF / MP4
Lab promo – PDF
2. 10.3.2021 Reactive Planning – Part I Jakub Gemrot Slides – PDF All
3. 17.3.2021 Reactive Planning – Part II Jakub Gemrot Slides – PDF All
4. 24.3.2021 Reactive Planning – Part III Jakub Gemrot Slides – PDF All
5. 31.3.2021 Spatial Awareness Jakub Gemrot Slides – PDF / MP4 (2020) All
6. 7.4.2021 Lua language + GIT Martin Sochor (BISim) Happens on Discord! Programmers
7. 14.4.2021 Steerings Jakub Gemrot Slides – PDFYT (2020) All
21.4.2021 Nothing (moved to 2.6.) All
8. 28.4.2021 Neural networks for action selection
1a/ Listen *in advance* the following videos: NN 01
1b/ Fill in the following questionnaire2a/ Listen *in advance* the following slides: NN 02
2b/ Fill in the following questionnaire
2c/ Look at the slides 26 — 34, as mentioned in /2a/3a/ Listen *in advance* the following slides: NN 033b/ Fill in the following questionnaire
3c/ Look at the slides 47 — 54, as mentioned in /3a/4a/ Prepare your own questions for 28 Apr in case you don’t understand
4b/ Prepare questions for 28 Apr concerning possibilities and
limitations of neural networks i/ for controlling virtual characters
generally, and ii/ norns specifically.5/ Connect 28th Apr at 10:40 to the link supplied via email (sent through SIS)
Cyril Brom Slides – PDF
Videos – NN 01, NN 02, NN 03
9. 5.5.2021 Ethology-inspired architectures for action selection
AI in Kingdome Come: Deliverance1/ Read / Listen in advance to slides nr. 01
2/ Think about possibilities and limitations of Tyrrell’s model (slides
1 – end).
3/ Read / Listen in advance to slides nr. 02
4/ Download Netlogo and complete the assigned task (see the end of slides 2)
5/ Fill in the following questionnaire
6/ Connect 5-May 10:40 through the link supplied via email (sent through
Cyril Brom Slides – PDF 01, PDF 02
Videos – V01, V02
12.5.2021 Cancelled – Rector’s day
10. 19.5.2021 Path-finding algorithms – Part I Jakub Gemrot Slides – PDFYT (2020) All
11. 26.5.2021 Path-finding algorithms – Part II Jakub Gemrot Slides – PDFYT (2020) Programmers
12. 2.6.2021 IVA and Emotions Michal Bída Slides – PDF All


Terms differ according to the field you’re coming from. MFF UK students has different terms from FF UK students and vice versa. While there is also some common part for all.

Common Terms

Both MFF and FF UK students will be required to attend to a play testing targeting “fun aspect” of a game. Details to be filled in later and announced. Then both type of students will have an exam, but that exam will be different for MFF and FF UK students.

Exam for MFF UK Students

Exam for MFF UK students is highly practical. There will be no oral examination (unless you want it as ‘extra’) but you will have to create either a team-oriented behavior either for Pogamut 3 bots or a behavior for a NOTA robot squad. Details are available at Labs webpage (see above).

Exam for non-MFF UK Students

Be able to talk about general ideas behind: finite state machines, if-then rules; path-finding, steering, terrain representation

Labs for non-MFF UK Students

Either a machinima in Storyfactory [] or a watering garden task in Scratch [] (see below)

If you opt for Scratch, you should follow Scratch self-studying and
complete the final task as follows:

  1. Go through the basic tutorials [] — deadline 31 March
  2. Make a game as described in the tutorial “Make a simple game” — deadline 31 March
  3. Contact Cyril Brom; online consultations between 1 April — 14 April, you will show your programs (you can contact Cyril sooner, if needed)
  4. Make the Pong game [] — Click on Tutorials and Pong game — deadline 14 May
  5. Make the Clicker game [] — Click on Tutorials and Make a clicker game — deadline 14 May
  6. THE FINAL TASK for the final evaluation: Make your own virtual garden with
    • a virtual gardener having a simple reactive plan, a few rules
    • a virtual garden that can be dry or wet or something in between
    • a watering can — a barrel with water that can fill in the can when the gardener comes to its proximity
    • a magical button that empties the can instantly and fills the can with water instantly
    • a magical button that makes the garden dry / wet instantly
    • the gardener’s task is to take the watering can, fill it with water and water the garden; but (!), the user can play with magical buttons anytime and the gardener has to react appropriately — deadline 14 May
  7. Contact Cyril Brom; online consultations between 15 May — 31 May

You can contact Cyril sooner, if needed, you will show your programs (at least the watering task)

If you opt for Storyfactory, drop Cyril an email till 30 March.

State Final Exam

Breakdown of the Multi-agent systems state final exam topics (pre 2020/21):

  1. Autonomous agent architectures; agent perception, agent action selection mechanism, agent memory.
    • Covered by lectures in NAIL069 (on reactive planning and neural networks)  and NAIL106
  2. Psychological inspiration.
    • Covered by BDI and Emotion slides in the archive below
  3. Methods for agent control; symbolic and connectionist reactive planning, hybrid approaches.
    • Dtto 1+2 plus concrete examples of algorithms / mechanisms for agent control
  4. Path search problem, steering rules, terrain representation.
    • Covered by NAIL069, concretely lectures on Spatial Awareness, Steerings and the Path-finding algorithms – Part I
  5. Communication and knowledge in multiagent systems, ontologies, speech acts, FIPA-ACL, protocols. Distributed problem solving, cooperation, Nash equilibria, Pareto efficiency, source allocation, auctions. Agent design methodologies, agent languages and environments.
    • Covered mostly by NAIL106
  6. Ethological inspiration, models of population dynamics. Methods for agent learning; reinforcement learning, basic forms of animal learning.

Follows the list of other recommended literature:

  • Michael Wooldridge: An Introduction to MultiAgent Systems. Willey (2002) 1st ed. or 2nd ed. (Wiley)
    • Supplementary: Gerhard Weiss (editor): Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence. (základy: kap 1)
  • Hanna Kokko: Modelling For Field Biologists and Other Interesting People. Cambridge University Press (2007) ch. 1, 2, 7, 8 (Amazon)
  • Leah Edelstein-Keshet: Mathematical Models in Biology. SIAM (2005) ch. 4.1, 4.2, 6.1-6.3 (Epubs)
  • Melanie Mitchell: An Introduction to Genetic Algorithms, MIT Press, 1996 (1st ed), 1998 (2nd ed). ch. 1-4 (Amazon)
  • David E. Goldberg: Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Pub. Co. 1989. (kap. 1–4)
    • Alternative 1: Zbigniew Michalewicz: Genetic Algorithms + Data Structures = Evolution Programs, Springer-Verlag, Berlin, 1996 (3rd ed). ch. 1-4 is a must; advanced topics in ch. 8, 10, 12, 13 (Springer)
    • Alternative 2: John H. Holland: Adaptation in Natural and Artificial Systems ch. 1-2, 4-5 (MIT)
  • Steve Rabin (ed.): AI Game Programming Wisdom I, Charles River Media, 2002 ch. 4.3 (PDF)
  • Steve Rabin (ed.): AI Game Programming Wisdom IV, Charles River Media, 2008 ch. 2.2, 2.3, 2.5, 2.6 (Amazon)

Slides Archive (2010-2015)

  1. Introduction (in Czech)
  2. Reactive planning, If-then rules, Finite state machines, POSH (updated 130227)
  3. Pathfinding (in Czech)
  4. Steering (updated spring 2012)
  5. Creatures, neural networks, evolutionary algorithms
  6. Tyrrell (free-flow hierarchy)
  7. Computational ethology (in Czech)
  8. Fuzzy approach, emotions (Champandard)
  9. Belief Desire Intention
  10. Representation – logic, RETE, affordances, deictic representation
  11. Agents vs. Animats, Wooldridge, FIPA, speech acts
  12. Soar intro
  13. Storytelling intro
  14. Spatial memory & psychological experiments (updated 130425)
  15. Slides on emotions (2007, in Czech)