



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Main points of this exam paper are: Search Algorithms, Means Ends Analysis, Adversarial Search, State Space Search, Alpha-Beta Pruning, Game Tree, Maximising Player Point, Minimax Algorithm, Searching Game, Intermediate Amount
Typology: Exams
1 / 5
This page cannot be seen from the preview
Don't miss anything!




Semester 1 Examinations 2009/
Module Code: COMP
School: School of Computing & Mathematics
Programme Title: Bachelor of Science (Honours) in Software Development Bachelor of Science (Honours) in Software Development and Computer Networking
Programme Code: KSDEV_8_Y KDNET_8_Y
External Examiner(s): Ms. D. Lawless Internal Examiner(s): Dr. J. Stynes
Instructions: Answer any four questions. Show all work.
Duration: 2 hours
Sitting: Winter 2009
Requirements for this examination:
Note to Candidates: Please check the Programme Title and the Module Title to ensure that you have received the correct examination paper. If in doubt please contact an Invigilator.
a
Q1. (a) Discuss the main features of the following search algorithms. How are they different from State Space Search? (i) means ends analysis (ii) adversarial search (12 marks)
(b) Apply alpha-beta pruning to the following game tree in which static scores are from the maximising player’s point of view. Which move should be chosen? Which nodes need not be examined in a left to right alpha-beta pruning? Which nodes need not be examined in a right to left alpha-beta pruning? In addition to alpha-beta pruning what other refinements can be applied to the minimax algorithm for searching game trees? Explain. (13 marks)
b c d
e f g h i j k z
l m n o p q r s t u v w x y1 y2 z1 z
5 8 16 19 4 14 2 6 7 5 3 5 2 7 8 8 6
Q2. (a) Jugs A and B have capacities of 4 and 7 litres respectively. Assume the following constraints: Both jugs are initially empty; the jugs are irregularly shaped so that it is not possible to measure any intermediate amount; all or part of the contents of a jug may be poured into any other jug, but no new water may be added. Does there exist a sequence of pourings which leaves five litres of water in jug B? Model this problem as a production system and provide a sample problem solving trace. (15 marks) (b) Which factors contribute to a possible inefficiency during pattern matching in a production system? How was this addressed? (10 marks)
Q4. (a) Why are standard probability models unsuitable for performing medical diagnosis given observations of a patient’s symptoms? Briefly discuss one alternative approach to handling such uncertainty. Explain how uncertainty is propagated through the system, i.e., how are new uncertain beliefs/evidence combined? Illustrate with examples. (15 marks)
(b) How can quantification be represented in semantic nets? For example, how would you represent the following sentences using semantic nets? (i) All postmen have been bitten by a dog. (ii) Some postmen are bitten by every dog. (iii) Pat the postman was bitten by my dog. (10 marks)
Q5. (a) Will the following Prolog matching operations succeed or fail? Indicate the resulting variable instantiation(s) when the operation succeeds. (i) [3,7,X] = [A,7,3] (ii) [H|T] = [[a,b],[1,2,3]] (iii) friend(tweety,goldie,squiggly) = friend(A,B) (iv) [5,X]=[X,10] (v) [H1,H2|T] = [a,b] (8 marks)
(b) In predicate logic, (i ) Transform the following expression into clause form: ( ∀ x ∃ y like(x,y) ) → ( ¬∃ y { ∀ x [ friend(y,x) ∨ ¬ like(y,x) ] } )
(ii) Formulate the following as first order predicate calculus formulas and use the method of resolution and refutation to determine the validity of the conclusion. “Anyone who can read is literate. Dolphins are not literate. Some dolphins are intelligent. Therefore some who are intelligent can not read.” (17 marks)
Q6. (a) Given the following Prolog code: pred(X,Y):-a(X),b(Y),c(X,Y). /1/ pred(jane,mary). a(X):- num(X), X>3. b(X):- num(X), X<12. c(X,Y):-X<Y. num(X):-member(X,[2,4,7,10,12]). member(X,[X|L]). member(X,[Y|T]):-member(X,T).
What is the Prolog response to the following query? ?-pred(X,Y), write(X), tab(2), write(Y), nl, fail. Give the results of the query above if the first pred rule (/1/) is replaced by (i) pred(X,Y):- !, a(X), b(Y), c(X,Y). (ii) pred(X,Y):- a(X), b(Y), !, c(X,Y). (iii) pred(X,Y):- a(X), b(Y), c(X,Y), !. (12 marks)
(b) Given the following append Prolog predicate: append([],L,L). append([X|T],L,[X|T1]):-append (T,L,T1). (i) Describe the behaviour of the predicate in processing ?- append([1,2,3,4,5,6.7],[a,b],L). (ii) The predicate can be made more efficient if we used a difference list representation. What is a difference list representation? Rewrite the append predicate using this representation and trace its execution in appending the list [a,b] to the list [1,2,3,4,5,6,7]. (13 marks)