|
| School of Information
Technologies |
COMP 3308/ COMP3608
Introduction to Artificial Intelligence
semester 1, 2013
Lecturers: Irena
Koprinska (irena@it.usyd.edu.au) and Fabio Ramos (fabio.ramos@sydney.edu.au)
News
- [27/4/2013]
For COMP3608 students only: In week 8 we will cover an additional topic
during the tutorials. All advanced students need to attend the tutorial
at 10am; there will be no tutorial at 9am.
- [8/3/2013]
The eLearning site has been activated and you should be able to
download the lecture slides for weeks 1 and 2 and the tutorial notes for
week 2. If you don't have access, please email Irena.
- [1/3/2013]
The eLearning site for this course is not activated yet. This will be
done by Friday week 1. The slides for week 1 are here [moved to eLearning]
- [27/2/2013] Welcome to COMP3308/3608
AI!
Welcome to
COMP3308/3608 Artificial Intelligence!
This unit of study provides an introduction to some
Artificial Intelligence techniques. Artificial Intelligence is all
about programming computers to perform tasks normally associated with
intelligent behaviour. Classical AI programs have played games, proved
theorems, discovered patterns in data and planned complex assembly
sequences. This unit of study will introduce representations,
techniques and architectures used to build intelligent systems. It will
explore selected topics such as heuristic search, game playing, machine
learning, and knowledge representation. Students
who complete it will have an understanding of some of the fundamental
methods
and algorithms of AI, and an appreciation of how they can be applied to
interesting
problems. The unit of study will involve a practical component in which
some
simple problems are solved using AI techniques. The topics
covered
include problem solving and search, game playing,
machine learning and neural networks. The alternative advanced unit
COMP3608 covers all the material of
COMP3308, plus extra topics. The two units share the same lectures, but
have different tutorials/labs and assessment. We
hope
that you will enjoy this
course!
Unit
of
study
description
from
the
faculty
handbook: COMP3308, COMP3608
Learning outcomes
Knowledge and skills - as a result of successfully completing
this unit students should be able to:
- appreciate some of the main ideas and views in AI, achievements
and shorcomings of AI and the links between AI and other Computer
Science areas
- formulate problem space description, select and apply suitable
search algorithms (brute-force and heuristic) and analyse the issues
involved
- understand and apply minimax search and alpha-beta pruning in
game playing
- understand the basic principles and analyse the strengths,
weaknesses and applicability of some of the main machine learning and
neural network algorithms for classification (e.g. rule-based, nearest
neighbor, decision tree and naive Bayes classifiers, backpropagation
networks, support vector machines, ensembles of classifiers) and
clustering (e.g.
k-means)
-
understand probabilistic reasoning with graphical models (Bayes
nets and Markov random fields), message passing and propagation of
evidence, conditional independence (d-separation), explaining away, and
representation of uncertainty
- gain practical experience in designing, implementing and
evaluating search, game playing, machine learning and probabilstic reasoning algorithms
- apply critical thinking to relate artificial to natural
intelligence
Generic - the course also
contributes to develop the following generic skills:
- apply knowledge and critical thinking to identify, define and
analyse problems and create solutions
- design and conduct experiments and analyses and interpret data
from these experiments
- present and interpret data and information in verbal and written
form
- work in pairs
- approach current research at the School of IT and develop
interest in further studies
Timetable
Lectures: Monday 10am-12noon,
Electrical Engineering LT2 (room 450)
Tutorials/Labs (start week 2) - you need to attend only 1 of the
following classes (check your timetable):
| Tutorial/Lab |
Time |
Tutor |
COMP3308 tutorial 1
|
Wednesday 10-11am
SIT Lab 115 |
James Constable
|
COMP3308 tutorial 2
|
Wednesday 11-12noon
SIT Lab 114
|
James Constable
|
COMP3308 tutorial 3
| Wednesday 12-1pm
SIT Lab 114
| Bin Zhou
|
COMP3308 tutorial 4
|
Wednesday 3-4pm
SIT Lab 114 |
Bin Zhou
|
COMP3608 tutorial 1
|
Wednesday 10-11am
SIT Lab 114 |
w2-9 Irena Koprinska
w10-13 Fabio Ramos
|
COMP3608 tutorial 2
|
Wednesday 9-10am
SIT Lab 114
|
w2-7 Tim O'Keefe
w8-13 Mark de Deuge
|
Contact
Dr Irena Koprinska (weeks 1 to 9)
Email: irena AT it.usyd.edu.au
Office: School of IT Building, level 4, room 450
Consultation time: Mondays 12-1pm (after the lectures)
Dr Fabio Ramos (weeks 10 to 13)
Email: fabio.ramos AT sydney.edu.au
Office: School of IT Building, level 3, room 316
Consultation time: Mondays 12-1pm (after the lectures)
Teaching assistant: Tim O'Keefe
Assessment overview
Your final mark for the course will be calculated as follows:
- Weekly
homeworks: 6% - 3 homeworks (randomly chosen from all homeworks
that you submit during the semester) will be marked for 2 marks
each; individual.
- Quiz: 14% - during the tutorials in week 5, individual
- Assignments: 40% - 2
assignments worth 25% and 15% respectively;
individual
or
in
in
pairs; we encouraged working in pairs. There will be different versions
for COMP3308 and COMP3608.
- Exam: 40% - A minimum of 16 marks ( i.e. 40%)
is
required to pass the course, see below; individual. There will be common and different parts for COMP3308 and COMP3608.
It is a policy of the School of Information Technologies that in order
to pass this unit, a student must achieve at least 40% in the written
examination and also at least 40% on all other assessment components together.
A student must also achieve an overall final mark of 50 or more in order to pass the course.
Weekly homeworks: The
exercises
that
are
for
homework
are
clearly
marked
in the the tutorial notes available from eLearning. They
are
easy
and
require
direct
application
of
the
material
covered
in
the
lectures.
Their
aim
is
to
prepare
you
for
the
tutorial/lab
and
also
to
encourage
steady
learning
during
the
semester. The homeworks need to be handed in each week to your tutor as a hard copy, at
the beginning of your
tutorial/lab class. They need to be
well presented; messy and unreadable homeworks will not be assessed.
Remember that you need to submit homeworks every week and that only 3 of
them (randomly chosen from all homeworks that you submit during the
semester, the same for all students) will be marked. Finally, please
also note that
tutorial/lab attendance is very important.
Quiz: It will be cover the
material on search (weeks 2 and 3 only). It is a closed-book quiz - no
books, notes or other materials are allowed.
Assignments: The assignments
are problem solving. Given a problem, you will be required to apply one
or more AI algorithms to solve it. This will include writing:
- a computer program to solve the problem - you can use a language of
your choice, e.g. Java, C, C++ and Matlab (we should be able to run your
code on the Uni machines);
- a report describing how you solved the problem and discussing the strengths and weaknesses of your solution.
The assignment specification will be available from eLearning.
Assignment 1: out Friday
week 6, due Friday week 9 at
5pm.
Assignment 2: out Monday week
11, due Friday week 13 at 5pm
Late submission of
assignments
policy (only for assignments):
- minus 1 mark for each day late for up to 7 days late
- assignments will not be accepted if they are more than 7 days late
Exam: It is a semi-open-book. You will be allowed one sheet of your own notes (A4
size, double-sided, hand-written or typed). No other material
is allowed (no book, no
additional notes). The duration of the exam is 2 hours. We will talk about the exam in week 13. A sample
exam paper will also be available in
week 13.
Academic honesty: Please read
the University
Policy
on
Academic
Honesty and submit the appropriate cover sheet
with your signature with your assignments. The cover sheets are
available from the link above.
Special considerations: If
you have a condition requiring a special consideration, you must:
1)
submit a form within 1 week from the date when assessment
was due, 2) include your e-mail address, phone number and the name of
your tutor,
and 3) e-mail your lecturer that you have submitted a special
consideration form. For more information please read the Policy
on
special
consideration
due
to
illness
or
misadventure; you can also download the form from there.
Weekly
schedule
The lecture slides and tutorial notes will be available on eLearning in advance (on Saturdays or before). The tutorial
solutions
will be available on eLearning after the tutorial (on Thursdays). The assignment tasks will also be available on eLearning.
Week
|
Topic
|
Homework
|
1 (4 March)
Irena
|
Introduction: administrative
matters and course overview; what is AI, history and state of the art.
|
No tutorial
|
2 (11 March)
Irena
|
Problem solving and search.
Uninformed search: BFS, UCS, DFS, IDS. Informed search - greedy.
|
Yes - see the tutorial notes on eLearning |
3 (18 March)
Irena
|
Informed search 1: A*
Local search: hill-climbing, beam search, simulated annealing, genetic
algorithms
|
Yes
|
4
(25
March)
Irena | Game playing : game playing as
search; deterministic, perfect information, 0-sum games: minimax,
alpha-beta pruning; non-deterministic games. | Yes
|
(9 April)
|
Mid-semester
break |
|
5 (8 April)
Irena
|
Introduction
to machine
learning. Instance-based learning: k-nearest neighbor. Rule-based classifiers.
| No
Quiz during tutorial
|
6 (15 April)
Irena
|
Statistical-based learning
(Naive Bayes).
Evaluating
and comparing classifiers.
assignment 1 out (Friday) |
Yes
|
7 (22
April)
Irena
|
Decision trees.
Introduction to neural networks.
Perceptrons.
|
Yes
|
8 (29
April)
Irena
|
Multilayer perceptrons and
backpropagation algorithm
For COMP3608 only: Ensembles of classifiers: bagging, boosting and random forest (to be covered during the tutorial)
|
Yes
|
9 (6 May)
Irena
|
Support vector machines. Clustering.
assignment
1
due
(Friday)
|
Yes |
10 (13 May)
Fabio
|
Probabilistic reasoning, Uncertainty, Bayesian networks
|
Yes |
11 (20 May)
Fabio
|
Exact and approximate inference in Bayesian networks
assignment 2 out (Monday)
|
Yes |
12 (27 May)
Fabio
|
Undirected graphical models
|
Yes |
13 (3 June)
Fabio
|
Robotics.Research topics in AI.
Revision and preparation for the exam.
assignment 2 due (Friday)
|
No homework
|
Resources
Text book
S.J. Russell and P. Norvig, Artificial Intelligence, A Modern
Approach, 3d edition,
Prentice Hall, 2010
(you can also use the 2d edition)
Recommended books
Ian H. Witten, Eibe Frank and Mark Hall
Data mining - practical machine learning tools and techniques with Java
implementations, 3d edition,
Morgan Kaufmann, 2011 (you can also use the 2d edition)
Probabilistic Graphical Models: Principles and Techniques
Daphne Koller and Nir Friedman
MIT Press, 2009
Software resources
WEKA
Matlab Neural Network toolbox
JavaBayes
Bayesian Network Toolbox for Matlab
Links
AITopics from AAAI
Histoty of AI
Turing
test
ELIZA
"Computing
machinery and Intelligence" by Alan Turing
ALICE - chatbot,
the winner of the 2004 Loebner Prize
competition
Machine
translation: the Gorgetown-IBM system
DARPA
challenges; also here
Robocup
AARON - an artist
Kasparov
vs Deep Blue - press room
The Chess Master and
the Computer by Garry Kasparov
Twitter
used to predict box office hits
Perception Deception
International Joint Conference on Artificial Intelligence (IJCAI)
Machine Learning and Data Mining
competitions
current
http://kaggle.com/ (various competitions)
http://www.kdnuggets.com/datasets/competitions.html (various competitions)
TunedIT (various competitions)
previous
Netflix prize
••Time
series
forecasting
Discovery challenge at ECML-PKDD | 2012 | 2011 | 2010 | 2009 | 2008 |
KDD cup | 2012 | 2011 | 2010 | 2009 |
•
Last updated: 27 April 2013