Assignment 3 has been marked. You should be able to see the marks in WebCMS.
The COMP3411 exam on 2 May 2023 will be on Moodle and will open for reading at 1:45pm. It will be open for entering your answers at 2pm. The duration of the exam is 2 hours (with extra time for ELS students).
On your Moodle page find the link to: Final Exam COMP3411/9814 Artificial Intelligence 2023T1
ELS students follow a different link: Special Consideration - COMP3411/9814 Artificial Intelligence Final Exam - 2023T1
Please do not try to access these links before 1:45pm on exam day. They will not work.
If you have any questions during the exam, we will be on Teams.
Follow this link
.
If you have any questions that need to be handled privately, email cs3411@cse.unsw.edu.au .
There are 20 multiple choice questions. Each of these should take no longer than 1 minute to answer, so you'll have plenty of time for the written questions.
The written questions are multipart. Questions that belong to the same topic are numbered 2.1, 2.2, etc.
There may be some calculation and Prolog questions. You are free to use reference material, run Prolog, Python or your favourite calculator.
This is a reminder that we did a detailed coverage of what to expect in the exam in the Week 10 Friday lecture. If you haven't found them please look at the slides and also check the Echo360 recording.
Dear students,
The first exam consultation is now happening in the meeting room level2 k17. I have attached a photo of the room here. It is from 10:30-11:30 today.
Kind regards,
Armin
Dear students,
Consultations: You can find the list of consultations for this week here:
https://webcms3.cse.unsw.edu.au/COMP3411/23T1/time...
My first consultation is on Wednesday 10:30-11:30am at K17 Lv2 201B (Meeting Room). It's located on K17, Level 2. I run my in-person consultations in a way that you don't have to wait outside. Once you arrive, just join us in the meeting room. I booked a large room to accommodate as many students as possible.
On my week9 slides, a table was compiled correctly on 3 slides but was compiled incorrectly on 1, I have now fixed it. Also on two pages, some 10^-x values were not compiled correctly and it was shown as 10-x . I have now corrected them and updated the slide.
https://webcms3.cse.unsw.edu.au/static/uploads/cou...
Uncertainty in AI:
During my week9 lecture about uncertainty, I demonstrated a card trick that is based on probability. Using cards to demonstrate probabilities is a common practice in AI. I have attached a photo of mine with Professor Zbigniew Michalewicz at the AI 2018: Advances in Artificial Intelligence conference. In this photo, I am demonstrating the same card trick to him. During that AI conference, I have also learnt many probability-based card tricks from him.
Cheers,
Armin
The revision slides from the Friday lecture are on WebCMS now.
Dear students,
The old link was broken please use the New updated Microsoft Link below. Let me know if it still does not work.
I will be having my consultation this week on Friday week10 from 10:30-11:30. You can attend in-person, K17 L3 302 or join using the New updated Microsoft team Link .
I will be covering questions on
uncertainty
and past topics. For any question related to assignment3, please attend professor Claude's consultation in the afternoon. You can find all the consultation timetable for week10 on the link below:
https://webcms3.cse.unsw.edu.au/COMP3411/23T1/time...
Kind regards,
Armin
The terminal command to submit assignment 3 is give cs3411 assign3 assign3.pl
I apologise for the change to the spec at the last minute. I retract the change and our testing will take into account the ambiguity in the mail delivery.
In the Friday lecture, we will do a course review and answer questions about the exam.
It will be 2 hours duration and have (roughly) 20 multiple choice questions and 16 written questions. It will be online, using Moodle, in much the same way as you've used it for the quizzes.
Come to the lecture on Friday if you have any questions, and please wait until then so we don't answer the same question multiple times on the forum.
Consider RHM to mean Robot Has delivered Mail. That is RHM only becomes true as a result of the dm action.
Without this interpretation, the robot can up pick the mail but not deliver it.
Hi All
I uploaded in the Assignments section a zip file with the test cases used for assignment 2, in case you want to review your results.
Best regards,
Francisco
This question has been asked and answered a few times in the forum and I also clarified this in last week's lectures.
There is one difference between the book's description of the planning problem and our assignment spec. The book says that the robot can deliver coffee to Sam, whether he wants it or not. Our spec is more constrained. The robot can only deliver coffee if Sam wants it.
You should now be able to submit your assignment 3 file via give or WebCMS.
Assignment 3 is now available.
Please do not try to submit your assignment until we announce that give has been enabled.
There have been some frequently asked questions about assignment 2 that I think it's better to communicate to everyone.
First. This is a modified version of Q-learning and SARSA mainly to avoid randomness. Additionally, in this case of SARSA we will use two random numbers per step. Please check with the test case given.
Second. It's ok if you open/read the file inside the reset function. This is not part of the core of the assignment and therefore it's not a problem to do so.
Third. When comparing the random number to epsilon, in the Q-learning code provided was written <= and in the assignment description <. Although this is not going to affect the algorithm convergence or the output for this assignment, I have just modified the PDF with <= to make it consistent.
Fourth. It is not necessary to verify the number of steps is not more than 500k (or 250k for SARSA). For testing, these random numbers will be changed but there will be always sufficient random numbers for any given number of steps.
Best,
Francisco
So you can see how the testing worked, here are the five test worlds and here is the code added to main.py to run the tests .
To run the tests in non-interactive mode, as we did, the usage is:
python3 d main.py worlds/testN.gwd
to run the DFS tests, where testN.gwd is one of test1.gwd .. test5.gwd. For ID_DFS tests, run:
python3 I main.py worlds/testN.gwd
again, substituting 1..5 for N.
Some submissions fail all tests because of a bug in the code, e.g. revisiting the same node. You can see this if you look at the output path and the node occurs twice. If you've got an error like that and want it checked, please demonstrate you program to your tutor in this week's tut. If the error is minor, the tutor may give you additional marks.
You can now view your assignment 1 marks. The marks are entirely performance-based from auto-testing.
DFS and ID_DFS were each tested on five small worlds, one mark for each world, adding up to 10.
For each world, we ran five random starts. The output you see are the paths returned for each run.
A path in the DFS test is judged correct if each successive node is a correct neighbour of the preceding node. The path must end with the goal and there are no duplicates, i.e. you did not revisit a node in the same path.
The ID_DFS test is the same except that the path length is compared with the path length returned by an A* search, which is guaranteed to give the shortest path. The test fails if the ID_DFS path is longer than the A* path, since iterative deepening should also return the shortest path.
If you have questions about the marks, please show your source code and output to your tutor.
Dear students,
I am pleased to inform you that after some effort, we have successfully added Closed Captioning (CC) for our videos. However, please note that the system requires some time to generate the captions after the video ends. Therefore, you may need to wait for a few hours until they become available.
The two screenshots below explains how you can access CC and transcript for each video. With transcript you can use the search feature.
Furthermore, please feel free to share any recommendations, requests, or feedback with us anonymously through this form: https://forms.office.com/r/cueHfftb4L . We value your opinions and suggestions and are always striving to improve your learning experience.
Best regards,
Armin
The answers for Quiz 1, Quiz 2 and Quiz3 have been published in Quiz answers.
Knd regards,
Tatjana
Dear students,
The give for assignment 2 is now ready for submission. You can also submit the assignment using WebCMS3 "Make Submission".
Good luck!
Tatjana
Dear students,
I will be running my consultation this week on Friday 10:00-11:00. It will be both online and in-person. Feel free to join if you have any question about the lecture on week4, tutorial this week or the quiz.
You can find more details on the link below:
https://webcms3.cse.unsw.edu.au/COMP3411/23T1/time...
Kind regards,
Armin
Hello everyone,
I am going to talk about
Quiz2
and
Quiz3
. Please read carefully in order not to confuse them:
-----------------
Quiz2:
For
Quiz2
, the deadline is Tonight at 11:59pm. You can attempt the
Quiz2
as many times as you want but only your latest attempt will be marked.
------------------
Quiz3
:
Quiz3
is just opened, or it will be opened very soon. We changed the structure for
Quiz3
. For
Quiz3
, your
"Highest grade"
will be recorded but you can only have "
4 attempts
" for
Quiz3
. Here is an example to show you how it will be calculated for
Quiz3.
Imagine you do
Quiz3
4 times
and you get the following marks: 1,0,
4
, 0. With this new structure you will be awarded
4
for Quiz3 in this case. But once you attempt
Quiz3
4
times, you can no longer attempt
Quiz3
any more
-------------------
Kind regards,
Armin
Hello everyone!
The second assignment is now released. Please find the description in Assignments section or here
https://webcms3.cse.unsw.edu.au/COMP3411/23T1/reso...
There is a link to the code needed in the description.
You can also find it here.
The deadline is Week 7, Thursday, 30 March 2023, 10 pm
Kind regards,
Francisco
Hello everyone!
The tutorial solution for week4 is now released.
https://webcms3.cse.unsw.edu.au/COMP3411/23T1/reso...
Cheers,
Armin
Dear students,
I am running my weekly consultation today from 10:30 to 11:30. You can join in-person or online.
The Team link to the session and its location can be found here:
https://webcms3.cse.unsw.edu.au/COMP3411/23T1/time...
Cheers,
Armin
Dear students,
The timetable for quizzes is updated with changes in the submission times. Please check the course outline.
Kind regards, Tatjana
Hello everyone,
I am running an online consultation session today, 8th of March, Wed 11:30 am-12:30 pm. The online consultation link is as before:
Kind regards,
Armin
Dear students,
The give for assignment 1 is now ready for submission.
To submit, log in to a School of CSE Linux workstation or server, make sure that your files are in the current working directory, and use the Unix command:
> give cs3411 assign1 dfs.py DFSAgent.py
Please make sure your code works on CSE's Linux machines and generates no warnings. remove all test codes from your submissions.
It is not compulsory, but my advice is once you submit your work, take a screenshot of confirmation from "give" and keep it as a record. Also, make sure that give confirms your submission being successfully accepted.
It should say:
"Your submission is ACCEPTED."
Kind regards,
Armin
Hello everyone,
I am running an online consultation session on the 6th of March, Monday 10:30 am-12:00 pm. It will be only for this week. I will also stay 30 minutes after my lecture on Tuesday to answer your questions.
The online consultation link is as before:
https://teams.microsoft.com/l/meetup-join/19:mee...
Kind regards,
Armin
Hello everyone,
I am having my consultation today. You can either come in-person or join my consultation through Team:
10:30 | 11:30 | K17 L3 302 (VideoConf. Room) | Armin Chitizadeh | ||
Microsoft Teams Meeting Link: Click here to join the Friday Consultation Meeting ID: 445 861 582 582 Passcode: 68ZRkv
https://teams.microsoft.com/l/meetup-join/19:mee...
Cheers, Armin |
Dear students,
There has been some confusion on BFS quiz question about what is meant by the expansion of the node.
If we stop the search, when the goal state is generated, meaning it is put inside the queue, then the answer will be ABCDH.
If we stop the search when the goal is expanded, meaning it is pulled out of the queue, then the correct answer is ABCDFEGH
ABCDFEGH is what should be on the queue when we hit H. The queue will look like this at each iteration:
A
BCD
CDF
DFE
FEGH
So putting it together: ABCDFEGH.
Because there has been this confusion, we will accept both ABCDH and ABCDFEGH.
We tried to update marks automatically on Moodle, but so far Moodle did not let us. We might need to manually correct your marks. Once all your marks are corrected, we will make another announcement. By correction, I mean accepting the answer ABCDH in addition to ABCDFEGH. No one will lose any marks in this correction.
I will release some slides which explain these details. In the future, you can refer to those slides if you need any clarifications.
Kind regards,
Armin
Dear students,
The lecturers’ consultation times are changing depending on who is teaching that week. Please check the consultation times for the current week.
Kind regards, Tatjana
Dear students,
There was a typo in two of our quiz questions.
For the BFS and DFS road map questions, the word (shortest) was mistakenly added to the questions. Therefore, the correct questions are as follows:
"What is the order are nodes expanded by a depth-first search when searching for a path between A and H?"
and "What is the order are nodes expanded by a
breadth-first search
when searching for a path between A and H?"
The word (shortest) was the mistake.
Additionally, I would like to clarify that the road cost and heuristic information are not related to BFS and DFS. These two questions were originally part of a bigger question. Road cost and huristics are not related to DFS and BFS.
As we discussed in the lecture, DFS is not an optimal search strategy, meaning it can not find the optimal path. For BFS it finds the optimal path only if the cost for each road is 1*, which is not the case in here. The solution to both questions should not change.
Please do not hesitate to contact us if If you have any questions or concerns.
Thanks to Lincoln Yan for letting us know about this typo.
Kind regards,
Armin
*Technically BFS is optimal if the path cost is a nondecreasing function of the depth of the node.
Some students have noticed that their DFS code can sometimes take a short amount of time to run and other times a very, very long time.
What is the complexity of a DFS?
From lectures it's O(b^m), where
b
is the branching factor and
m
is the maximum depth. In the case of the default 16x16 grid, the branching factor is 3 because the agent can move left, right, up and down, but you can't go back they way you came, so one direction is eliminated. Cells near the walls have less but we're taking the worst case. The maximum depth,
m
, is 256 (16x16) assuming you have to traverse the entire grid to find the goal. So:
O(b^m) = 3 ^ 256 = 1.39e122
Remember this is worst case and, in practice, it's not that bad, but don't be surprised if the program sometimes appears to hang. To test your code, you can resize the grid using the "Resize" menu item under "Options". Try an 8x8 grid. It "only" has a complexity of 3.43e30.
If you've written the iterative deepening code correctly, you should notice that this problem is significantly reduced because of the depth limiting. You'll still get some searches taking longer than others, but you're much less likely to get extremely long runs.
Dear students,
“give” system for assignment1 is not set up yet. Once it is set up we will make an announcement to let you know. At the meantime, please do not submit using give even if the system collects it. Your submission will not be saved until we set it up and make an announcement.
Please let us know if you have any questions.
Kind regard,
Armin
Dear students,
We have made a modification to our quiz setup in response to one of your concerns. You can now attempt each quiz “
unlimited
” multiple times, and your latest attempt will be marked and recorded. You will be able to view your mark once it passes the deadline.
Remember you can only attempt a quiz during its duration. You can find the starting and due dates for each quiz on our course outline.
If you have any questions, please let us know.
Kind regards,
Armin
Dear students,
Tutorial2 has more questions than what your tutor can cover on this week's tutorial. According to our calculations, you are probably able to finish question1 and question2 on your tutorial time. My advice to you is to try to solve all the questions beforehand at home. This way you can bring any problems that you might have to the class and ask your tutor. The solutions will be released after our last tutorial which is on Friday.
About the exercises on my lecture slides as many of you you pointed out, questions needed to be more clear. At this stage, unfortunately, I need to remove the exercises from my lecture slides. Sorry for the confusion. I will upload the solution to the lecture exercises.
For the time being, please refer to the tutorial and its solution. Tutorial questions are correct as they have enough details which remove any ambiguities.
I always recommend students to find related questions outside of our courses. For the search strategies, however, I need to ask you to confirm any question and answer that you found with your tutor. Some minor details might change the solution and it can confuse you as you are learning these topics.
Dear students,
The first quiz is now released. As I mentioned on my lecture, my advice is to wait until the solution to this week's tutorial is released by the end of the week, then attempt the quiz.
I need to confirm this, but from my understanding at the moment, you can only submit each quiz once on the Moodle platform.
Feel free to ask any questions that you might have.
Kind regards,
Armin
Dear students,
The timetable for assignments and quizzes is published in the course outline. You will be informed if there are any changes.
Kind regards, Tatjana
Dear students,
Assignment1 is now released. You can access it using the menu on the left.
Please make sure you only modify TODO sections of
dfs.py
and
DFSAgent.py.
Please
do not modify anything outside the TODO sections. Keep methods and other files on the project the same. This assignment will be auto marked. Any changes to the other sections of the code can fail your program on passing our tests.
Feel free to ask any question that you might have.
Kind regards,
Armin
Dear students,
I am looking forward to our lecture on Friday. I am going to talk about search in ai. Two topics that I am going to cover are breadth first search (bfs) and depth first search (dfs). I was wondering if you have covered these two topics in your courses earlier. Please let me know if you haven’t. If you have covered them, please let me know in which course on which year and term, if you remember.
You can let me know by answering the question I put on the forum.
Many thanks,
Armin
Some students are worried about not knowing Python for the assignments.
In assignments 1 & 2, you will add code to the gridworld simulator that was demonstrated in the last lecture. You'll have access to all the code, with examples and a template for your assignment. So you won't be starting from scratch.
The code is not hard to understand, so the programming shouldn't be an obstacle. If we can, we'll do a walkthrough of the relevant code in lectures or tutorials.
You can get a copy of the Python code for the agent simulation from GitHub:
https://github.com/c-sammut/gridworld.git
. This requires Python3, matplotlib and tkinter.
If you need extra help, there are hundreds of YouTube videos introducing Python. One set that is presented in a reasonably fun way is: https://www.youtube.com/watch?v=bY6m6_IIN94&list=PLi01XoE8jYohWFPpC17Z-wWhPOSuh8Er- . There are 47 short videos, but you can skip through the early ones quickly and just watch the ones that are most relevant. The video titles are pretty self explanatory.
UNSW also has access to LinkedIn courses. There are long and short courses:
Short course: 1 to 2 hours
Long course: 15 hours:
https://www.linkedin.com/learning/paths/getting-started-with-python?u=2087740
For installing Python on Mac or Windows using Anaconda, try:
Dear students,
Just a reminder that tutorials for COMP3411/COMP9814 start this week, week1.
Please make sure you know the location of your tutorial. If you have enrolled a long time ago, the room location might have changed. Please check it again from the table here:
https://webcms3.cse.unsw.edu.au/COMP3411/23T1/time...
If you are enrolled in an online tutorial, you can access it on Moode > BlackBoardCollaborate. Check the link below:
https://webcms3.cse.unsw.edu.au/COMP3411/23T1/reso...
Anyone from an in-person tutorial can attend an online tutorial. All of our online tutorials will be recorded and are accessible to everyone, including in-person students.
Finding the link to an online class can be tricky. You first need to expand a section by clicking on arrow1, then choose blackboardcollaborte.
Kind regards,
Armin
Dear students,
Unfortunately, the echo360 can be fixed for today lecture (14th of Feb). But it is now fixed for future iterations Friday 17th of Feb and anything afterwards.
For now, the best way I can think of is to share the front seat view using microsoft Teams with you.
Join on your computer, mobile app or room device
Click here to join the meeting
Meeting ID: 432 945 379 55
Passcode: c4SWyp
Sorry for the inconvenience.
Regards,
Armin
Hello everyone!
We are super excited to have our first lecture today! Be sure to know the location and the time of the lecture:
https://timetable.unsw.edu.au/2023/COMP3411.html
Our main preference is for students to attend lectures in person. For those who can not, we tried our best to create a hybrid platform.
The lecture will be live-streamed and recorded on the echo360+ service. You can access it through your moodle page, please have a look at the screenshot attached. Once we go live at 4:05 today, a green "LIVE" sign should show up on the left.
You can ask your Q&A anonymously on the same platform, screenshot is also provided. Unfortunately, the echo360 records the voice and the computer's screen only.
This is the first time we are running our lectures in this hybrid format. There might be some technical issues with the hybrid format in the first lecture, we try our best to solve them as soon as possible.
Looking forward to seeing you all.
Cheers,
Armin
----------------------------------------------------------------
= Accessing echo360 through Moodle =
----------------------------------------------------------------
= How to ask questions anonymously online =
Hello everyone!
Welcome to COMP3411/COMP9814, the Artificial Intelligence course!
We will give a more formal overview and introduction on week1 and leave you to enjoy the last moments of your holidays for now :) but we suggest you read the Course Outline which gives an in-depth overview of the course structure, outcomes and assessments.
To help both you and us with planning, there are a few points we want to highlight earlier:
If you are overseas and can not be in Sydney or if you are in Sydney but need to enrol in an in-person tutorial
Many students are still unable to come to the campus for in-person lectures and tutorials. Some are enrolled in an online tutorial but need to switch to an in-person tutorial. This poll is to help have a better understanding of the current situation. Please answer the question as quickly as you can.
Introduce Yourself!
Feel free to use this forum post to introduce yourself and meet your classmates before the term starts!
I created a forum section for students to introduce themselves to the class. I (Armin) am starting it off myself :)
We are looking forward to what's going to be a great term ahead!
Claude, Tatjana, Francisco and Armin