News
Re-Exam InspectionWritten on 21.03.24 by Pascal Lauer Dear students, |
Re-Exam Results and InspectionWritten on 20.03.24 by Pascal Lauer Dear students, |
Re-Exam Registration & Main Exam ResultsWritten on 07.03.24 by Pascal Lauer Dear students, Dear students,
The re-exam will be on 19.03.2024 and have the same mode as the main exam: Please be in front of the Günter-Hotz lecture hall at 13:45. We plan to start the exam punctual at 14:00. The exam will last two hours. You may bring a non-programmable calculator, but we do not expect it to provide any advantage, as all calculations should be simple. As a reminder: The exam will be open-book, meaning you can bring any supplementary materials on paper that you'd like. |
Main Exam Results and Exam InspectionWritten on 29.02.24 by Pascal Lauer Dear students, |
Main ExamWritten on 26.02.24 by Pascal Lauer Dear students, You also may bring a non-programmable calculator, but we do not expect it to provide any advantage, as… Read more Dear students, You also may bring a non-programmable calculator, but we do not expect it to provide any advantage, as all calculations should be simple. As a reminder: The exam will be open-book, meaning you can bring any supplementary materials on paper that you'd like. |
One more extra office hours before the first examWritten on 23.02.24 by Daniel Fišer Dear students, there will be one additional extra office hours before the first exam on Monday February 26 from 12:00 to 14:00 where you can come and ask questions. Best, Dan |
Project results and Exam registration.Written on 09.02.24 by Pascal Lauer Dear students, The exam registration is now… Read more Dear students, The exam registration is now open. If you wish to participate in the main exam, please follow these steps:
Please note that you need to have accumulated 30 points in the projects to register in CMS. If you are still short of points for registration and your current daily tests suggest that you will receive them for project 4, you can contact Pascal Lauer via email to register manually. Please be aware that we can only add these points to CMS only after the deadline on Tuesday. |
Extra office hour before the first examWritten on 09.02.24 by Daniel Fišer Dear students, we decided to add an extra office hour before the first exam where you can come and ask questions about anything that is not clear to you. The office hour will take place on 23th of February from 12:00 to 14:00. Best, Dan |
HMax/HFF resultsWritten on 06.02.24 by Pascal Lauer Dear students, If you encounter any problems regarding the… Read more Dear students, If you encounter any problems regarding the final evaluation, please contact Pascal Lauer via email. |
Lecture Friday Feb 2: onlineWritten on 01.02.24 by Joerg Hoffmann Hi all, it's a pity, but given the bus drivers' strike tomorrow, presumably many of you will not be able to come to the uni campus. So the lecture tomorrow will be online. Same link as before: https://cs-uni-saarland-de.zoom.us/j/98696736217 best, Jörg Hoffmann |
Goal Count ResultsWritten on 30.01.24 by Pascal Lauer Dear students, Please note that we… Read more Dear students, Please note that we encountered issues with sending emails to external servers and thus all emails will now be sent to your student mail. If you encounter any problems with the evaluation results or nightly tests, please contact Pascal Lauer via email. |
Small revisions to LAO* and the epsilon-greedy policyWritten on 29.01.24 by Joerg Hoffmann Hi all, this is just to draw your attention to small changes in the LAO* pseudo-code (Chapter 14) and the epsilon-greedy policy (Chapter 16):
Hi all, this is just to draw your attention to small changes in the LAO* pseudo-code (Chapter 14) and the epsilon-greedy policy (Chapter 16):
Sorry for this inconvenience. I thought it better to correct these definitions posthoc, after the lectures, than to leave the bugs in. best, Jörg Hoffmann |
Lecture Friday Jan 26 interruptedWritten on 26.01.24 by Joerg Hoffmann Hi all, my sincere apologies that the online lecture today was abruptly interrupted at the end. The laptop battery was empty -- even though it was plugged in and showing me the "being loaded" symbol. No idea what went wrong; never happened before, 10min later everything works correctly… Read more Hi all, my sincere apologies that the online lecture today was abruptly interrupted at the end. The laptop battery was empty -- even though it was plugged in and showing me the "being loaded" symbol. No idea what went wrong; never happened before, 10min later everything works correctly again. What got cut off is only the MCTS example run for slide 44. I have uploaded a PDF showing that example run. Sorry again, best, Jörg Hoffmann |
Broken Assertion fix in Project 4Written on 24.01.24 by Thorsten Klößner Dear students, quick update regarding project 4: There was a broken assertion that caused the public tests for QVFApproximatorNetwork to fail. The assertion is now fixed, so please pull from the fork repository. Regards, Thorsten |
Release of Final ProjectWritten on 23.01.24 by Thorsten Klößner Dear students, please note that the final project has been released today and the description can be found in the Materials section. The project is once again written in C++ and implementing it is similar to projects 0-2. The deadline for the final project is February 13th. Regards, Thorsten Klößner |
Lecture Friday Jan 26: also online onlyWritten on 23.01.24 by Joerg Hoffmann Hi all, thanks to the train driver strike, sorry but the lecture this Friday will also be online only. Same zoom link: https://cs-uni-saarland-de.zoom.us/j/98696736217 Apologies. Next week I will definitely be back in Saarbrücken and the lectures will continue in-person. best, Jörg Hoffmann |
Lecture Tuesday Jan 23: online onlyWritten on 21.01.24 by Joerg Hoffmann Hi all, I need to take care of relatives in Bavaria for a few days next week (father in law is very sick). Hence the lecture next Tuesday, Jan 23, will be online only. In zoom: https://cs-uni-saarland-de.zoom.us/j/98696736217 You'll be invited to ask questions (and give answers to my… Read more Hi all, I need to take care of relatives in Bavaria for a few days next week (father in law is very sick). Hence the lecture next Tuesday, Jan 23, will be online only. In zoom: https://cs-uni-saarland-de.zoom.us/j/98696736217 You'll be invited to ask questions (and give answers to my questions) in the zoom chat. My apologies for any inconveniences caused. The lecture next Friday will again be in GHH as usual. best, Jörg Hoffmann
|
Project 3 UpdateWritten on 15.01.24 by Thorsten Klößner Dear students, we received numerous complaints about missing accuracy reports for your models in the daily tests. This was unintentional and is now fixed. The next daily test run will happen unconditionally, whether you pushed a change or not, and will include one log per task in which the best of… Read more Dear students, we received numerous complaints about missing accuracy reports for your models in the daily tests. This was unintentional and is now fixed. The next daily test run will happen unconditionally, whether you pushed a change or not, and will include one log per task in which the best of your models and its accuracy on the test data will be reported (even if the test is passed). For the next project, we also hope to include some error logs for failing tests which should make it easier for you to find the source of the bugs. Furthermore, a section regarding reproducibility has been added to the project description (section 4.1). To ensure that the submitted models are indeed yours, we must be able to generate them using the provided generation script. Please make sure that once the project deadline approaches, all your models can be deterministically generated from scratch by calling this script. Lastly, a subtle but important detail was added regarding the softmax layer that you must append to your final model. Please choose dim = -1 for the softmax layer, which chooses the last dimension as the reference dimension for softmax. This allows us to evaluate your model for both single states and batches of states. Due to the issues and changes above, we decided to extend the deadline of the project by three additional days, i.e., until January 26th. Regards, Thorsten |
Course EvaluationWritten on 11.01.24 by Joerg Hoffmann Hi all, the course evaluation forms are now available: Lecture: https://qualis.uni-saarland.de/eva/?l=146425&p=r9bwyp Tutorials: https://qualis.uni-saarland.de/eva/?l=1464251&p=b6jv6b best, Jörg |
Release of Project 3Written on 10.01.24 by Thorsten Klößner Dear students, quick note that project 3 was published and the daily tests are running. There was a small mistake in the read_samples function in the initial version as published in the fork repository, which is now fixed. If you have pulled already, please do so once again. Regards, Thorsten Klößner |
Extension of Project 1 DeadlineWritten on 12.12.23 by Thorsten Klößner Dear students, it was brought to our attention that there is an inconsistency between the project specification for hFF and the tests. Specifically, it it checked in your tests whether your delete-relaxed plan applies extra operators after already reaching the goal state, rejecting in this case.… Read more Dear students, it was brought to our attention that there is an inconsistency between the project specification for hFF and the tests. Specifically, it it checked in your tests whether your delete-relaxed plan applies extra operators after already reaching the goal state, rejecting in this case. The project description did however not mention this as a requirement for the returned plan. With pathological tiebreaking between best supporters and chosen actions during plan extraction, it is in general possible to violate this constraint and still be consistent with the specification. We have now fixed this issue so that the check matches the specification. This affects the public tests as well, so please merge with the fork repository by running git pull fork main. We are sorry if we wasted your time by forcing you to fix an implementation that should have already worked according to the specification. Additionally, we received some reports by students that received daily test emails inconsistently. To rule out any disadvantages that may result from this and the previously mentioned testing issue, we decided to extend the deadline for hmax until Friday, December 15th, and the deadline for hFF until Tuesday, December 19th. Note that if your implementation already passes all tests, there is nothing left to do for you. Regards, Thorsten Klößner |
Project AnnouncementsWritten on 11.12.23 (last change on 11.12.23) by Thorsten Klößner Dear students, we have three announcements to make regarding the projects. Disabled Daily Tests in Project 1We received numerous reports targetting three particular daily tests in project 1 in which operators with an empty precondition occur. While the relevant algorithms shown in the… Read more Dear students, we have three announcements to make regarding the projects. Disabled Daily Tests in Project 1We received numerous reports targetting three particular daily tests in project 1 in which operators with an empty precondition occur. While the relevant algorithms shown in the lecture technically work properly in presence of empty preconditions, their handling is very subtle. Because of this subtely, and especially because there are no public tests covering this edge case, we decided to disable these daily tests and convert to (secret) bonus tests instead, each worth 1 bonus point if passed (you still need to pass the public tests). The following daily tests are affected: HMaxDailyTest.HeuristicEvalTest.check_heuristic_estimate.2
Deadline Extension for Project 2Secondly, we decided to extend the deadline for project 2 from December 22nd to January 9th. This means that the deadline for project 2 will coincide with the beginning of project 3.
CMS Results for Project 0 and followingEntering the points for the projects into the CMS will unfortunately still take some time and we should be able to do so in the next couple of weeks. However, you can refer to the final daily test email you received for the project to calculate the amount of points you will be awarded yourself. To remind you, if a project task has X points and you pass Y% of all daily tests for this task, then will you obtain X * Y% points for this task, under the condition that you pass all public tests for the respective task.
Regards, Thorsten Klößner |
Update to the Project SoftwareWritten on 29.11.23 by Thorsten Klößner Dear students, since we have witnessed unintended use of the State interface within some project implementations, we have refined this interface a bit by restricting access to those functions not intended to be used. Please update your project by running git pull --no-edit fork main. The change… Read more Dear students, since we have witnessed unintended use of the State interface within some project implementations, we have refined this interface a bit by restricting access to those functions not intended to be used. Please update your project by running git pull --no-edit fork main. The change potentially makes your code no longer compile if you use one of the functions, which is intended because you should not use them and may cause unintended results. Regards, Thorsten Klößner |
Written on 28.11.23 by Thorsten Klößner Dear students, the description for project 1 has been released. You can find it in the Materials section. The project will go on for 2 weeks. Please start as early as possible. Note that the deadline for project 0 is today, 23:59. Make sure that you push your implementation to the main branch of… Read more Dear students, the description for project 1 has been released. You can find it in the Materials section. The project will go on for 2 weeks. Please start as early as possible. Note that the deadline for project 0 is today, 23:59. Make sure that you push your implementation to the main branch of the repository until said deadline. We will not evaluate other revisions. Regards, Thorsten
|
Lecture Hall Change on FirdayWritten on 27.11.23 by Thorsten Klößner Dear students, due to the anniversary event of the Max Planck Institute, the AI lecture this Friday will have to be moved to another lecture hall. The lecture will take place in E1.3 lecture hall H 002 instead. Please make note of this so you do not accidentally end up in an anniversary party. Regards, Thorsten |
AI Project Build Issue FixesWritten on 23.11.23 by Thorsten Klößner Dear students, we fixed some issues reported to us with the project build for Mac users with Apple Silicon processor and an inconvenience appearing for Windows users. Please pull the latest changes by running 'git pull --no-edit fork main', if you belong to the aforementioned groups, otherwise feel… Read more Dear students, we fixed some issues reported to us with the project build for Mac users with Apple Silicon processor and an inconvenience appearing for Windows users. Please pull the latest changes by running 'git pull --no-edit fork main', if you belong to the aforementioned groups, otherwise feel free to skip this. In particular, the following issues were fixed:
Regards, Thorsten Klößner |
Tutorial Sheet for Chapter 6 and 7Written on 20.11.23 by Daniel Fišer Dear students, exercise sheets for chapters 6 and 7 are available in CMS. They will be discussed on tutorials next week. Best, Dan |
Access to your project repository and release of the project descriptionWritten on 17.11.23 by Pascal Lauer Dear students, Dear students,
An important note is that we use the Saarland Informatics Campus (SIC) Gitlab to grant you access to the repositories. If you've never used this Gitlab before, please sign in to https://gitlab.cs.uni-saarland.de/ to activate your account. Your username is the beginning of your student email address. For example, if your name is Konrad Klug and you were assigned the email kogl00001@stud.uni-saarland.de, your username is "kogl00001". Your password is the one you've set for your SIC account. If you're unsure or confused, you can visit the password reset page: https://sam.sic.saarland/accounts/password/reset/ A quick note: These services are quite useful. Every student, for instance, can create unlimited repositories on the aforementioned Gitlab or use Nextcloud. More information can be found here: https://sam.sic.saarland/ If you have already logged in once into the Gitlab you should have just received access to your repository. If you did not, access should be granted after a few hours of your initial sign in. This is a scheduled job running on our server. If it does not work immediately, you should stay patient. If after a day you still do not have access, please contact lauer@cs.uni-saarland.de . For further trouble shooting there will be office hours starting next week on Thursday, ofcourse you can also always use the forum and remember to make use of Thorten's demonstration. In case you are curious, the initial state of your project repository can be found here: https://gitlab.cs.uni-saarland.de/fai-public/teaching/ai/project-skeleton Good luck with the projects and happy dancing on the weekend. 💃🪩🕺 |
Tutorial Sheet for Chapter 5Written on 15.11.23 by Daniel Fišer Dear students, I just fixed/clarified the description of the exercise 3 in sheet for chapter 5. Please, download the new version if you were unsure how to interpret ex. 3. This sheet will be discussed in tutorials next week. Best, Dan |
Tutorial StartWritten on 08.11.23 by Pascal Lauer Dear students, Dear students, For a list of available tutorial slots, please visit the team page at: https://cms.sic.saarland/ai_23/tutors/ Additionally, there is a dedicated forum post where you can find potential partners for tutorial slot exchanges: https://fai-forum.cs.uni-saarland.de/c/artificial-intelligence-winter-2023-2024/tutorial-exchange/69
|
Tutorial AssignmentWritten on 08.11.23 by Pascal Lauer Dear students, |
Tutorial Sheets for Chapters 3 and 4Written on 07.11.23 by Daniel Fišer Dear students, tutorial sheets for chapters 3 and 4 are now available in CMS. Both of these sheets will be discussed in tutorials next week. The chapter 4 on heuristic search will be finished in Friday's lecture, but the slides for the whole chapter 4 can already be found in CMS. The tutorial slots… Read more Dear students, tutorial sheets for chapters 3 and 4 are now available in CMS. Both of these sheets will be discussed in tutorials next week. The chapter 4 on heuristic search will be finished in Friday's lecture, but the slides for the whole chapter 4 can already be found in CMS. The tutorial slots will be published tomorrow as you have still time to set your preferences until midnight. Best, Dan |
Reminder programming demonstrationsWritten on 06.11.23 (last change on 06.11.23) by Pascal Lauer Dear students, |
Tutorial Preference SelectionWritten on 02.11.23 by Pascal Lauer Dear students,
|
The first lecture will be on October 27th, 14:15 in E2 2 (Günter Hotz lecture Hall). See also the Timetable.
Course description
This course offers an introduction to the field of Artificial Intelligence (AI). Compared to previous iterations, this course is more focused, namely on the theory and practice of sequential decision making where the AI agent needs to decide about actions in a complex environment so as to achieve a long-term objective such as reaching a goal, maximizing expected reward, or winning a game. For example, games like Go and Chess are sequential decision making problems. Thanks to this more specific focus, the re-designed course covers that focus in more depth. In particular, the course now includes aspects of both, symbolic and subsymbolic (aka data-driven) AI, as well as combinations thereof, and therewith provides students with a glimpse of one of the most prominent challenges in AI today -- combining symbolic and subsymbolic AI. A prominent example of an AI system leveraging such a combination is the AlphaGo/Zero system series, which changed the world of computer game-playing, and whose ingredients and architecture we will understand as part of the course.
The course offers a general introduction into the field of AI, its history, key assumptions, paradigms, concepts, and fundamental methods. Students learn to master techniques developed in the fields of search algorithms, classical planning, Markov decision processes, and game playing. The lecture is accompanied by programming projects in which students implement some of the concepts and algorithms encountered in the lecture. With the knowledge acquired in this course, students are knowledgeable in crucial aspects of AI, and are well-prepared for student assistants jobs as well as BSc and MSc theses at FAI and other AI-related research groups in Saarbrücken.
For more information, please check our organization page.
Prerequisites. Solid knowledge in algorithms and data structures is necessary to follow this course. Solid knowledge in imperative programming and basic knowledge about C is also necessary; our programming projects make use of C++ and Python, but we will offer additional help to those not familiar or accustomed to these languages in lecture-like demos. Basic knowledge in machine learning will help, but is not absolutely required; the same goes for basic knowledge in complexity theory.
Note. Students who have passed the Artificial Intelligence course in previous years are not allowed to retake the exam.
The first lecture will primarily address organizational matters. We aim to answer any remaining questions there. If for some reason you cannot wait until then, you may contact one of the teaching assistants directly.