Notices

  • Every one can now view their marks for assign2

    Posted by Armin Chitizadeh Tuesday 11 May 2021, 08:00:12 PM.

    Dear students,
    All the submissions for assign2 are now marked.
    Please check your mark. If you noticed any issue with Marker's assessment, part1, please contact your tutor. Jatin's students should contact me because I marked their work.
    If you noticed any issue with auto-mark, part2, please contact me or your tutor.

    If you have any question please email me.

    Cheers,
    Armin


  • You can now view your mark for assign2

    Posted by Armin Chitizadeh Sunday 09 May 2021, 06:53:45 PM.

    Dear students,
    You can now view your mark for assign2 .

    If your tutorial class is either: W16A, H12A, H13A, H14A, H15A, then you will get your mark by tonight or Monday afternoon.

    Let me know if you have any question.

    Cheers,
    Armin




  • Exam results

    Posted by Claude Sammut Thursday 06 May 2021, 12:32:55 PM, last modified Thursday 06 May 2021, 12:34:57 PM.

    Here is the distribution of marks from the exam, which looks like a normal distribution and pretty much what we'd expect. I will check the answers to the questions that had problems to make sure they didn't affect the overall outcome.

  • Exam on Moodle

    Posted by Claude Sammut Monday 03 May 2021, 08:30:06 PM.

    Please remember to login to the COMP3411 Moodle page, before 10am on Thursday.

    You will see a heading for the exam and a link to the multiple choice quiz page. You will have 2 hours. You can answer the questions in any order.

    Right now you can only see a test quiz, which is just to make sure we have the quiz setup working. It is not a sample exam, but you can use it to familiarise yourself with the Moodle's quiz mechanism, if you haven't used it before.

  • Correction week 9 tutorial solutions

    Posted by Claude Sammut Wednesday 28 April 2021, 02:17:43 PM, last modified Monday 03 May 2021, 08:30:36 PM.

    My deepest apologies. There was another error in the solution of Question 3(b) in the week 9 tut. The correct solution has been updated but here it is again. This time, it really is correct.

    Find the least general generalisation of the following clauses:

    q(f(a)) :- p(a, b), r(b, c), r(b, e).
    q(f(x)) :- p(x, y), r(y, z), r(w, z).
    

    To find the LGG of two clauses, match the head, then find all combinations of possible LGGs between literals that have consistent inverse substitutions.

    q(f(X)) :- p(X, Y), r(Y, Z), r(W, Z), R(Y, E), r(W, E)
    subst = [X/{a, x}, Y/{b, y}, Z/{c, z}, W/{b, w}, E/{e, z}]
    

    The problem was that the previous solution did not show all the combinations of possible matches for the r predicate.

    Please note this for the exam.

  • Dryrun for the second assignment is now running

    Posted by Armin Chitizadeh Thursday 22 April 2021, 06:56:13 AM.

    Hi all,

    The dryrun for the second assignment is now running. When you submit your assignment using give, the dryrun will compile your code and run it against five simple examples. All these examples are from the assignment spec. It is a great way to know that your code will compile on our system. I suggest anyone who already has submitted, to submit once again to run the code against our dryrun. Passing all the tests in dryrun does not guarantee you will get a full mark for the assignment as the examples are just basic. Remember you should still check to see if your prolog will compile on cse machine too.

    Cheers,
    Armin






  • Exam time and duration

    Posted by Claude Sammut Tuesday 20 April 2021, 04:04:08 PM.

    I will be talking about the exam during the Friday lecture this week, but you will have been notified on the exam timetable that the COMP3411 exam is on the morning of 6 May . Specifically, it will be at 10am and will be 2 hours long . It will be an online Moodle multiple choice exam . I'll do a review and go over the kinds of questions you can expect to be asked on Friday, but ...

    PLEASE make sure you watch WebCMS for details of how to login to the exam.

  • Assignment extension

    Posted by Claude Sammut Monday 19 April 2021, 11:34:57 AM.

    Due to the fact that some students lost their files temporarily, we will extend the assignment 2 deadline to Sunday 10pm.

  • Consulting times for Assignment 2

    Posted by Claude Sammut Tuesday 13 April 2021, 10:28:59 AM, last modified Sunday 18 April 2021, 07:48:33 PM.

    I will hold consulting hours at 3pm on Monday and Tuesday afternoon (19 and 20 April), to answer questions about the assignment. Blackboard Collaborate sessions have been created, so please look there to join the consultation.

  • Correction correction to assignment question 2.1

    Posted by Claude Sammut Thursday 08 April 2021, 01:34:23 PM.

    The correction I posted had a mistake too! Not having much luck with this one. Here it is, hopefully right this time.

    Intra-construction. This transformation takes two rules, with the same head, such as

    x <- [b, c, d, e]
    x <- [a, b, d, f]

    and replaces the with rules

    x <- [b, d, z]
    z <- [c, e]
    z <- [a, f]

    That is, we merge the two, x , clauses, keeping the intersection and adding a new predicate, z , that distributes the differences to two new clauses.

    ?- intra_construction(x <- [b, c, d, e], x <- [a, b, d, f], X, Y, Z).
    X = x<-[b, d, z1],
    Y = z1<-[c, e],
    Z = z1<-[a, f].

  • Duce paper

    Posted by Claude Sammut Thursday 08 April 2021, 11:57:17 AM.

    In case you are interested, this paper explains the operation of the whole Duce algorithm. You do not need to read this to do the assignment. This is only if you are interested in learning more.

    You only have to implement the Duce operators. As the paper explains, Duce tries to apply each operator to every pair of clauses in a database. It choses the operation that gives the highest compression (i.e. greatest reduction in the number of symbols in the database), and then repeats this until no more compression is possible. So Duce uses a greedy search .

  • Backprop slides

    Posted by Claude Sammut Wednesday 07 April 2021, 06:17:51 PM.

    I updated the Neural Network slides to make the backprop explanation a bit clearer. I'll go over these on Friday.

  • Good Friday

    Posted by Claude Sammut Sunday 28 March 2021, 09:52:36 PM.

    The Easter break starts this Friday, which means that we'll lose a lecture and the Friday tuts won't run.

    I will put up a recording of the Friday lecture, so you can watch cit anytime and I will go over that material next week.

    If you have a Friday tut, please try to join any tut on Wednesday or Thursday. If you can't make it, there will be recordings and you can catch up in the following week as well.

  • Assignment 2

    Posted by Claude Sammut Sunday 28 March 2021, 09:49:32 PM.

    I have just posted a draft of assignment 2, due at the end of week 10. Please make sure you check for updates.

    The topic of the assignment is machine learning, which we will be covering over the next two weeks. It is in two parts. The first requires you to use the Weka machine learning toolkit to use decision trees, one of the most common types of machine learning algorithms.

    The second part asks you to code five different operators that are used in generalising concept descriptions. At first, may look long and complicated, but it isn't really. I have given you an example of coding a sixth operator and the other five are just variants of that one. So once you understand that one, the others should be straightforward.

  • Week 6

    Posted by Claude Sammut Monday 22 March 2021, 02:16:51 PM.

    There will be no lectures or tuts this week, but I will be available to answer any questions.

    Claude

  • Dryrun for the first assignment is now running | We have extended the deadline to be on Sunday 10pm

    Posted by Armin Chitizadeh Thursday 18 March 2021, 10:13:43 PM.

    Hi all,
    The dryrun for the first assignment is now running. When you submit your assignment using give, the dryrun will compile your code and run it against four simple examples. All these examples are from the assignment spec. It is a great way to know that your code will compile on our system. I suggest anyone who already has submitted, to submit once again to run the code against our dryrun. Passing all the tests in dryrun does not guarantee you will get a full mark for the assignment as the examples are just basic. I have attached a picture of what you will see when you submit your assignment. Remember you should still check to see if your prolog will compile on cse machine too.

    Just a reminder from the notice below, due to power outrage at K17, we have extended the deadline to be on Sunday 10pm.

    Cheers,
    Armin











  • PLEASE NOTE! Power out in K17 on Friday

    Posted by Claude Sammut Thursday 18 March 2021, 11:35:12 AM.

    Apparently, there will be work done on K17's power systems from Friday 8pm to Saturday 10pm. So you will not be able to submit your assignment during that time. To make up for that, we'll extend the deadline to Sunday night 10pm.

  • Assignment 1 submissions

    Posted by Claude Sammut Sunday 14 March 2021, 09:11:52 PM.

    The assignment 1 spec has been updated. There are no changes to the actual specification, just some additional clarification based on questions we've received.

    There have been questions on part 2 about what happens if you run out of space or the run time is very long. Please note the following in the spec (which has been there all along):

    If the algorithm runs out of memory, just write “Mem” in your table. If the code runs for five minutes without producing output, terminate the process by typing Control-C and then “a”, and write “Time” in your table. Note that you will need to re-start prolog each time you switch to a different search.

    Give submissions should be working now, although auto-testing on submission is not yet enabled. Some students have experience problems with give. We are still tying to find out why only some students have been affected and well get this fixed as soon as possible.

  • Questions from lecture on conversion to normal form

    Posted by Claude Sammut Friday 12 March 2021, 04:52:22 PM, last modified Friday 12 March 2021, 04:53:28 PM.

    At the end of the last lecture there was a question about how we get the normal form from the query on slide 17 of lecture 4.3. I've added the derivation to the slide, that should make this clearer. Remember that the query is negated and converted to conjunctive normal form which is a conjunction of disjuncts.

    Here is the derivation. First rewrite the implication, then move the negation inwards, using DeMorgan's law and you end up with a conjunction, which can be rewritten as a set of clauses.

  • Consultation session starting now

    Posted by Claude Sammut Thursday 11 March 2021, 10:57:29 AM.

    I fixed a problem with the dates for the consultation sessions. The one for today is starting now.

  • Consultations

    Posted by Claude Sammut Wednesday 10 March 2021, 07:47:47 PM.

    I've created consultation sessions in Blackboard Collaborate for 11am Thursday and 3pm on Monday and Tuesday next week.

    I will be available to answer questions, so come prepared. Please join at the beginning of the hour, because if no one is there to ask questions, I may not wait the whole hour.

  • Alternative to prove

    Posted by Claude Sammut Wednesday 10 March 2021, 10:37:09 AM, last modified Wednesday 10 March 2021, 03:59:42 PM.

    An alternative way of writing the prove predicate in the last post is:

    prove(and(X, Y)) :- prove(X), prove(Y).
    prove(or(X, _)) :- prove(X).
    prove(or(_, Y)) :- prove(Y).
    prove(P) :- atom(P), call(P).      % also written as prove(P) :- call(P).
    
    p.
    q.
    r.
    

  • Some help with Prolog assignment question

    Posted by Claude Sammut Monday 08 March 2021, 07:56:27 PM.

    If you are struggling with the eval predicate, here is an example of a different problem that requires a similar programming technique. The problem is to prove a simple propositional expression. We'll be covering propositional logic in lectures this week.

    The program below tries to prove simple expressions in propositional logic that just have and , or and some proposition letters that are either true or false . The prove predicate should be true if the expression is true and false otherwise.

    prove(and(X, Y)) :- prove(X), prove(Y).
    prove(or(X, _)) :- prove(X).
    prove(or(_, Y)) :- prove(Y).
    prove(p).
    prove(q).
    prove(r).
    test1 :- prove(and(and(p, q), r)).
    test2 :- prove(and(and(p, q), s)).
    test3 :- prove(or(p, s)).
    test4 :- prove(or(s, q)).
    test5 :- prove(or(and(and(p, q), r), and(and(p, q), s))).
    test6 :- prove(and(p, or(q, s))).

    Try copying this to a file and running the tests. For example:

    ?- test6.
    true .

    The expression p and (q or s) can be written in infix form and(p, or(q, s)) . The prove predicate should be true if the expression is provable, as follows.

    Let's assume p , q and r are true. We can express this by just asserting prove(p) , prove(q) and prove(r) . Let's also assume that if a proposition letter, like s , is not in the database, it's false . This is called the closed world assumption . If we're not explicitly told it's true, we assume it's false.

    X and Y can be proved true if both X and Y can be proved. X or Y can be proved if either X or Y can be proved. The prove predicate is recursive, so if the logical expressions are nested, like and(p, or(q, s)) , the program will be called recursively on each argument. You can see this if we trace the program:

    Call:test6
    Call:prove(and(p, or(q, s))) % Matches first clause with X = p, Y = or(q, s)
    Call:prove(p) % Matches prove(p), so it's true
    Exit:prove(p)
    Call:prove(or(q, s)) % Matches second clause with X = q, Y = s
    Call:prove(q) % Since q is true, or(q, s) is true.
    Exit:prove(q) % If q was false, Prolog would backtrack to third clause
    Exit:prove(or(q, s))
    Exit:prove(and(p, or(q, s)))
    Exit:test6

    This example should pretty much tell you how to write the eval predicate in your assignment.

  • Lectures this week

    Posted by Claude Sammut Monday 08 March 2021, 06:33:29 PM, last modified Monday 08 March 2021, 06:33:41 PM.

    We'll stick with BB Collaborate for lectures this week, but I will do them from UNSW.

    It looks like the NBN has been flaky across my suburb lately. It's not just me!

  • Consulting for Assignment 1

    Posted by Claude Sammut Monday 08 March 2021, 06:31:37 PM.

    I will hold consultation sessions for Assignment 1 and Prolog Programming on:

    • 11am Thursday, 11 March
    • 3pm Monday, 15 March
    • 3pm Tuesday, 16 March. n

    These will be on BB Collaborate.

  • Lecture recordings for Friday week 3

    Posted by Claude Sammut Friday 05 March 2021, 11:21:49 PM, last modified Friday 05 March 2021, 11:22:17 PM.

    Here are the lecture recordings for Friday, 5 March. They are split into three:

    1. Finishing up CSP algorithms
    2. Constraint Programming
    3. More Prolog

    We didn't start the last topic in the live lecture. It's mainly tidying up some loose ends for Prolog. I talk about builtin predicates that are part of Prolog's core library. You do not need any of these for the first assignment.

    If you have any questions, we'll go over them in the next live lecture, when hopefully, the network problems have been fixed

  • Friday lecture abandoned

    Posted by Claude Sammut Friday 05 March 2021, 03:39:50 PM.

    Due to network problems, we had to abandon the Friday afternoon lecture, so if you are trying to watch the video, don't bother!

    I will re-record the lecture and post a link later. Next week, we'll either try switching to Teams, or else I'll do the lecture from my office, where, I hope, the network will be better.

  • Planner Code

    Posted by Claude Sammut Friday 26 February 2021, 04:29:32 PM.

    The Prolog program for the simple planner we covered in the lecture should now be available under Week 2 lectures.

  • Search files

    Posted by Claude Sammut Friday 26 February 2021, 04:04:20 PM, last modified Friday 26 February 2021, 04:04:49 PM.

    You should now be able to see the prolog_search.zip file under assignments.

  • Bad Network

    Posted by Claude Sammut Friday 26 February 2021, 04:02:49 PM.

    Sorry about the poor network connection in the last lecture. I'm pretty sure that that was due to local NBN problems, so I doubt that switching platforms would help. I will repeat that last part at the beginning of the next lecture.

  • Week 2 Tutorial updated

    Posted by Claude Sammut Monday 22 February 2021, 02:14:45 PM.

    The week 2 tutorial has just been updated, so please take a look.

    There are more exercises than you are likely to get through in the tutorial session. Don't worry about that. Do as much as you can, but please keep working on the rest in your own time. The solutions will be published next week.

  • Week 1 lectures and tut questions updated

    Posted by Claude Sammut Saturday 13 February 2021, 09:05:47 PM.

    The week 1 lecture slides and tutorial questions for COMP3411/COMP9814 are up now.

    You will see material from the 2020 course in later weeks,. I've left these up so that you have an idea of what to expect later in the course, but please note that I am updating these week by week, so please check for new material every week.

    All lectures will be live online. Remember to login via Moodle: COMP3411/COMP9814 page on Moodle to get to Blackboard Collaborate. Recordings of the lectures are also accessed via BB Collaborate.

  • Blackboard Collaborate

    Posted by Claude Sammut Thursday 11 February 2021, 01:31:55 PM.

    The Blackboard Collaborate sessions have been set up for the first weeks lectures and all the tuts through the session. To access BB Collaborate, please go to the Moodle page for COMP3411, which should now be visible and click on the Blackboard Collaborate link to live lectures and tutorials and lecture recordings link.

    Note that there are several pages of sessions, so if your session is not on the first page, try the following pages.

    COMP9814 students please use the COMP3411 Moodle page.

  • Welcome to COMP3411/9814 Artificial Intelligence

    Posted by Claude Sammut Thursday 11 February 2021, 11:18:40 AM.

    Welcome to COMP3411/9814.

    I will be updating the WebCMS pages in the next day or two. All lectures and tutorials will be delivered via Blackboard Collaborate, which you will access through Moodle. I'll post the link to WebCMS once that's setup, which should be before the end of the week. The lectures will also be recorded and accessible also via Blackboard Collaborate.

    If you have any queries please either post them to this forum, or email cs3411@cse.unsw.edu.au.


Back to top

COMP3411/COMP9814 21T1 (Artificial Intelligence) is powered by WebCMS3
CRICOS Provider No. 00098G