CS 747: Foundations of Intelligent and Learning Agents
(Autumn 2022)

(Picture source: Maxxl2, CC BY-SA 4.0, via Wikimedia Commons)

(Page last edited .)

Instructor

  Shivaram Kalyanakrishnan
  Office: Room 220, New CSE Building
  Phone: 7704
  E-mail: shivaram@cse.iitb.ac.in

Teaching Assistants

  Santhosh Kumar G.
  E-mail: santhoshkg@iitb.ac.in

  Ashutosh Sathe
  E-mail: absathe@cse.iitb.ac.in

  Aishwarya Mishra
  E-mail: 213050010@iitb.ac.in

  Vibhav Aggarwal
  E-mail: vibhav.agg@iitb.ac.in

  Adit Akarsh
  E-mail: 19d070003@iitb.ac.in

  Thomas Jacob
  E-mail: 190070068@iitb.ac.in

  Bhavini Jeloka
  E-mail: bhavini_jeloka@iitb.ac.in

  Aaron Jerry Ninan
  E-mail: 190100001@iitb.ac.in

  Sheel Shah
  E-mail: 19d070052@iitb.ac.in

Meetings

Lectures will be held during Slot 14: 5.30 p.m. – 6.55 p.m. Tuesdays and Fridays in LA 001. The instructor will be available for consultation immediately following class, up to 7.30 p.m., on both Tuesdays and Fridays. He will also hold office hours (220, New CSE Building) 11.00 a.m. - 12.00 p.m. Wednesdays.

Course Description

Today's computing systems are increasingly adaptive and autonomous: they are akin to intelligent, decision-making "agents". With its roots in artificial intelligence and machine learning, this course covers the foundational principles of designing such agents. Topics covered include: (1) agency, intelligence, and learning; (2) exploration and multi-armed bandits; (3) Markov Decision Problems and planning; (4) reinforcement learning; (5) multi-agent systems and multi-agent learning; and (6) case studies.

The course will adopt a "hands-on" approach, with programming assignments designed to highlight the relationship between theory and practice. Case studies will offer an end-to-end view of deployed agents. It is hoped that students can apply the learnings from this course to the benefit of their respective pursuits in various areas of computer science and related fields.

Prerequisites

The course is open to all Ph.D. students, all masters students, and undergraduate/dual-degree students in their fourth or higher year of study. The course is also open to undergraduate/dual-degree students in their third year of study, provided their CPI is 8.50 or higher. The instructor regrets having to deny registration to many interested undergraduate/dual-degree students in their third year; the restriction is necessary to keep the class strength within the capacity of the largest available classroom on campus.

The course does not formally have other courses as prerequisites. However, lectures and assignments will assume that the student is comfortable with probability and algorithms. Introduction to Probability by Grinstead and Snell is an excellent resource on basic probability. Any student who is not comfortable with the contents of chapters 1 through 7 (and is unable to solve the exercises) is advised against taking CS 747.

The course has an intensive programming component: based on ideas discussed in class, the student must be able to independently design, implement, and evaluate programs in python. The student must be prepared to spend a significant amount of time on the programming component of the course.

Students who are unsure about their preparedness for taking the course are strongly advised to watch the lectures from week 1, 2, and 3 from the Autumn 2020 offering, to attempt the quizzes from those weeks, and also to go through Programming Assignment 1. If they are unable to get a reasonable grasp of the material or to negotiate the quizzes and programming assignment, they are advised against taking CS 747.

Evaluation

Grades will be based on three programming assignments, each worth 15 marks; a mid-semester examination worth 20 marks; and an end-semester examination worth 35 marks. All assessments will be based on individual work.

The programming assignments must be turned in through Moodle. Late submissions will not be evaluated; they will receive no marks.

Students auditing the course must score 50 or more marks in the course to be awarded an "AU" grade.

Moodle

Moodle will be the primary course management system. Marks for the assessments will be maintained on the class Moodle page; discussion fora will also be hosted on Moodle. Students who do not have an account on Moodle for the course must send TA Santhosh Kumar G. a request by e-mail, specifying the roll number/employee number for account creation.

Academic Honesty

Students are expected to adhere to the highest standards of integrity and academic honesty. Academic violations, as detailed below, will be dealt with strictly, in accordance with the institute's procedures and disciplinary actions for academic malpractice.

Students are expected to work alone on all the programming assignments and the examinations. While they are free to discuss the material presented in class with their peers, they must not discuss the contents of the assessments (neither the questions, nor the solutions) with classmates (or anybody other than the instructor and TAs). They must not share code, even if it only pertains to operations that are perceived not to be relevant to the core logic of the assessment (for example, file-handling and plotting). They also may not look at solutions to the given quiz/assignment or related ones on the Internet. Violations will be considered acts of dishonesty.

Students are allowed to use resources on the Internet for programming (say to understand a particular command or a data structure), and also to understand concepts (so a Wikipedia page or someone's lecture notes or a textbook can certainly be consulted). It is also okay to use libraries or code snippets for portions unrelated to the core logic of the assignment—typically for operations such as moving data, network communication, etc. However, students must cite every resource consulted or used, whatever be the reason, in a file named references.txt, which must be included in the submission. Failure to list any resource used will be considered an academic violation.

Copying or consulting any external sources during the examination will be treated as cheating.

If in any doubt as to what is legitimate collaboration and what is not, students must ask the instructor.

Texts and References

Artificial Intelligence: Foundations of Computational Agents, David L. Poole and Alan K. Mackworth, 2nd edition, Cambridge University Press, 2017. On-line version.

Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto, 2nd edition, MIT Press, 2018. On-line version.

Algorithms for Reinforcement Learning, Csaba Szepesvári, Morgan & Claypool, 2009. On-line version.

Selected research papers.

Communication

This page will serve as the primary source of information regarding the course, the schedule, and related announcements. The Moodle page for the course will primarily be used for recording grades.

E-mail to the instructor must contain "[CS747]" in the header.

Schedule

Assignments