Welcome to the website for CITS3001 Algorithms, Agents, and Artificial Intelligence. This unit covers a lot, but it is essentially about how we can build software to solve complex problems independent of their domain. We begin by looking at the ubiquituous search and optimisation algorithms that can be applied in many domains, and can solve many problems. We then look at algorithms for game playing and decision making agents, that given a suitable representation of a problem, can discover an optimal strategy for that problem. Next we will investigate learning agents, that given incomplete information about a domain, can learn a model of the domain, and adapt a strategy to perform optimally for a learnt model. Finally, we will examine reasoning agents, that given rules and relationships that are true in a domain, can modle the consequence of actions to formulate complex plans to achieve a goal.These different approaches a key technologies required to develop software that is robust in the presence of uncertainty, can adapt to changing environments, and can operate autonomously. We will take a practical approach, with students required to reproduce the algorithms and techniques using low level tools (Python or Java). The main project will require students to resaerch and build a game playing agent for a moderately complex board game.
The handbook entry and general unit policies are all available from the online LMS, help3001 for discussion and class management, and Moodle for labs.
Each student should attend (or view) the two hour lecture, complete a two hour lab (from week 2) and attend or view the workshop every week. Attendance will not be taken. Online labs will be conducted via Microsoft Teams.
|Lecture||11:00am - 1:00 pm||Tuesday||GGGL: 107 & MS Teams|
|Workshop||12:00-1:00pm||Friday||ARTS: 159 & MS Teams|
|Laboratory||2:00-4:00pm||Tuesday||CSSE Lab 2.01|
|Laboratory||8:00am-10:00am||Wednesday||CSSE Lab 2.03|
|Laboratory||12:00-2:00pm||Wednesday||CSSE Lab 2.03|
|Laboratory||2:00-4:00pm||Wednesday||Online (MS Teams)|
|Laboratory||4:00-6:00pm||Wednesday||CSSE Lab 2.05|
|Laboratory||4:00-6:00pm||Thursday||CSSE Lab 2.03|
|Consultation||11:00-12:00pm||Friday||CSSE Rm 1.16|
The assessment for CITS3001 consists of a labprojects, a mid-semester test, a project and a 2 hour formal examination.
PDF files of the individual lectures will be made available from here as the semester progresses, as well as the files used for demonstrations. Lecture recordings are also available via LMS
The Lab Exercises will be available on Fridays of the week before the scheduled lab, and can be found via the Moodle server.
(Tue WOOL, 11am-12pm)
(Fri ARTS 159 12pm)
|1||July 26||Intro and Algorithms||No lab||Algorithm Design|
|2||August 2||Optimsation||Greedy Algorithms||Approximation Algorithms|
|3||August 9||Agents||TSP Algorithms||Approximation Algorithms|
|4||August 16||Uninformed Search||Agents||Intelligence?|
|5||August 23||Informed Search||Word Chess||Searching|
|6||August 30||Game Playing||Informed Search||Project Discussion|
|Non Teaching Study Break|
|7||September 13||Sequential Decision Problems||Connect 4||Test Revision|
|8||September 20||Learning Agents||Continue Connect 4||Midsemester Test|
|9||September 27||Learning Agents||Project||Learning Under Uncertainty|
|10||October 4||Machine Learning||Project||Learning by Doing|
|11||October 11||Reinforcment Learning||Project||First order reasoning|
The project will be to write agents to play an agent-based game. Details will be released by Week 3.
The mid-semester test will be an online quiz conducted through Moodle. It will be held during the workshop time in Week 8. Students do not need to attend the owrkshop to complete the test. The test is worth 10% of the total mark for the unit, and it examines all of the material discussed in the lectures and lab classes up to week 6.
The test will be conducted as a Moodle quiz. The test will be avialble to start from 12.00pm on Friday September 23rd. You will have one hour to complete the test. All answers you be typed into the textboxes provided. You are allowed to have printed materials to refer to during the test (lecture notes, textbooks), and these could be open windows on your computer if you only have soft copies. You may not contact anyone for help during the test. You may not use the internet to search or access any materials during the test. You will not be able to get clarification on any of the questions during the test. If you feel the question is ambiguous, or are uncertain what is being asked, write down your assumtpions and best understanding, and this will be taken into account during the marking.
A sample test is available for you to practise.
There will be 20 questions in the exam. Most questions will be MCQs, but there will be some short-answer questions as well. You will be required to describe the principles and operation of some of the important algorithms that we have covered, and also to illustrate the operation of those algorithms on given example problems.
Note that some of these sample papers are for CITS4211: the CITS3001 test could potentially cover any of the material covered in Weeks 1-6 of 2022.
The final exam will be held in the November exam period. Details of the exam schedule will be released through studentConnect. The exam is worth 50% of the total mark for the unit, and it examines all of the material discussed in all parts of the unit, except any content marked as non-assessable.
Post requests for clarification about any aspect of the exam to help3001.
The above papers demonstrate the style of questions that are typically in the CITS3001 exam, although the range of topics examined will cover the lecture material in 2016/2017. Also, as this years exam will permit notes, there will be be less of an emphasis on recall, and more open ended questions.
The previous exams will be reviewed in the workshop in Week 12. You will get the best value from this workshop if you attempt the questions beforehand.