·  Most attempts were fair, some very good.

·  Use scholar notes

·  Although it was not a big thing in this paper make sure you can describe ambiguity in all applications: vision, learning, Natural Language and robots

·  There has not been much asked about robotics so might be a question this year

·  Robotics: look at scholar 7.3 [7.3.1 – 7.3.5]

·  Robotics problems are abstracted as the “block world” scenarios

·  Some statements describe the current state: on(c,1) on(a,d)

·  Others describe moves or transitions: move(a,3,2) move(d,2,1)

· 

·  others : stack(a,b) pickup(b) holding(d)

·  leads to operators, pre-conditions, add facts and delete facts

·  so for an operator to work, certain preconditions must be true, then the operator will change to block world so that some new facts are true and some old facts are no longer true

·  in the picture in order to pick up A, the can be nothing on top of it (as C is here)

·  if C has picked up instead then holding© would be a new fact but on(c,a) would be deleted

Feedback on the prelim questions and topics on the next pages
Question 1: The match bundles problem search space:

·  States and goal states were answered fine

·  Search tree mostly fine, you have to expand all nodes, no need to expand a node that has already appeared closer to the root

·  Production rules: the formula for taking an original state and calculating the elements of the new state so if you have three bundles [A, B, C] then a legal move from A to B would be [A, B, C] -> [A-B, 2*B, C] meaning A has lost B matches, B has doubled.

Question 2: Search trees

·  Make sure you know your algorithms like best first and hill climb

·  Be able to predict node route based on each type of algorithm

·  Look at examples on scholar

·  Make sure you know about minimax, A*

·  Be able to tell the difference between search trees and search space.

Question 3 Frames, semantic net and prolog

·  Make sure you know the difference between a subclass and an instance

·  Subclass and instance frame slots become the link labels for the semantic net, the value of the slot becomes a new node on the semantic net

·  When you are writing a rule use X

·  operates(X, delivery_service):-subclass(X, take_away)

o  X operates a deliver service if X is a subclass of take away

·  operates(X, delivery_service):-instance(X, take_away)

o  X operates a delivery service if X is an instance of a takeaway

·  be ready to explain recursion and inheritance

Question 4 Lists and recursion in PROLOG

·  Head and tail is easy, most got that OK

·  Head of [red, green, yellow, brown] is red not [red]. [red] is a list with one element

·  Member(X,X|Tail).

o  Means X is a member of the list if X is the same as the first element in the list, X|Tail extracts the first element in the list and leaves the remainder of the list as Tail

·  Member(X,[Head|Tail]) IF member(X,Tail).

o  This is recursive (defined in terms of itself), it means X is a member is you can split the list into head (1st element) and tail (remaining elements in the list) and X is a member of the remaining list of elements. So its like popping a stack or queue and testing each value removed

·  ?Member(X[red, green, yellow, brown]) gives

·  X=red, X=green, X=yellow, X=brown

·  Recursion gets all members

·  Explain how Prolog would use both parts of the membership rule to solve the query
?member(roz, [mike, sulley, randall, roz]). [5]

·  first part removes the first element of the list mike, this is not the required item fail [1]
the second part recursively calls the rule but with the remainder of the list, [sulley, randall, roz] [1] After each iteration every element is exposed in turn, sulley, randall and then roz. [1] Until roz, the first rule fails each time causing the second recursive part to fire. On the last iteration the list is [roz][1]. The first rule will extract roz for X making it a success. [1]


Question 5: expert systems and certainty factors

·  Make sure you have read up about CFs

·  CF can be applied in two ways:

·  A % confidence in the data supplied by the user: how sure are you that the anti virus software is up to date 0, 33, 50, 75 90 % sure? Secondly the diagnosis has a confidence level. Presuming all the evidence is available the expert is only 60% sure that the diagnosis is reliable. To combine:

o  Certainty = minimum of (reboot:0.25, e-mail:1.00) x CF 0.75 = .25 x .75 =0.1875

o  You take the minimum of the certainty values for the inputs given and you multiply it by the CF for the rule

·  notice the use of min, there were two sub goals, it is the CF of the lower value that is used to multiply with the CF of the conclusion

·  Make sure you know conflict sets and resolution strategies. Look up scholar.

·  prolog check all un-fired rules to see if the system already has all the conditions or subqueries as true. There may be more than one un-fired rule that could now be asserted. Unfired rules that could be fired make up the conflict set. When a rule is fired (its conditions must be true) prolog has to re-examine the knowledge base to see what effect the newly fired rule has. Choosing which rule to fire may lead to different outcomes from the KB.

·  ii Name a conflict resolution strategy and briefly describe its rationale. [1]

·  1. First-come first-served - the inference engine searches down from the top of the rule base until it finds a rule which can be fired..

·  2. Most recent first - in this strategy, rules which use the most recent new information are fired before rules which use "old" information which has been in working memory for a while.

·  3. Most specific first - in this strategy, the inference engine selects the most specific rules, that is, ones which have the greatest number of conditions which are true.

·  4. Avoid repetition - the inference engine will avoid firing a rule which has been fired recently. This helps to avoid the system getting stuck in a loop.

·  5. Setting priorities - the knowledge engineer can give higher priorities to certain rules, helping to steer the system towards the rules most likely to lead to a conclusion..


Question 6 Waltz

·  Use arrows to go clockwise around the outside of the shape. Then each internal line gets a single + or -. If you are given the sample joins then match them carefully. If not: a convex line gets a +, a concave gets a -. Convex is pointing towards you, concave is pointing away from you.


Question 7

·  Most people got syntactic and semantic OK. Don’t forget you might get asked about pragmatic

·  Parse tree: learn the constructs, learn the difference between a verb and an adjective!

·  Components are: Article, noun, verb, adjective, noun phrase, verb phrase

·  You might be given a definition of the vocabulary and grammar in the question.

·  Scholar has a good example

Question 8 Machine learning

·  You have to learn all the strategies! The names of all the styles with examples of each, best are AI machine learning examples, not everyday life examples!