Midterm Exam

ARTIFICIAL INTELLIGENCE

CMSC 380


FALL 2003


Problems :


1.    Given the environment of the Midterm Exam and you being the agent taking the exam, give a PAGE (PEAS) description of an agent for the environment. Characterize the environment as being accessible, deterministic, episodic, static, and continuous or not. What agent architecture is best for this domain ?

Percepts :
    Question1, Question2, Question3, Question4
    Number of Points Given for Question1,
    Number of Points Given for Question2,
    Number of Points Given for Question3,
    Number of Points Given for Question4
    Current Time, Time the Exam Ends
Actions :
    Read Question1, Read Question2, Read Question3, Read Question4
    Ask for a Clarification on Question1, Ask for a Clarification on Question2,
    Ask for a Clarification on Question3, Ask for a Clarification on Question4
    Skip Question1, Skip Question2, Skip Question3, Skip Question4
    Move to Question1, Move to Question2, Move to Question3, Move to Question4
    Check Time
    Answer Question1, Answer Question2, Answer Question3, Answer Question4
    Hand in the Test
Goal :
    Get as many as possible points for answers to the questions under the given time constraints.
Environment :
    Classroom with :
        Other students
        Teacher
        Questionaire
        Exam booklet
        Time keeper.

 
Environment : Accessible. Deter. / Part. Deter., Not episodic wrt to the entire test and episodic wrt the individual questions.Dynamic. Continuous.

   (25 (=8+9+8)  points)

2.    Give the initial state, goal test, operators, and path cost function for each of the following. There are several possible formulations for each problem, with varying levels of detail. The most important aspects of your formulation should be its preciseness and coherence so that they could be implemented.

    (a)    You are lost in the forest and have to reach a settlement with people. There is a trail nearby.

Initial State :     You are somewhere in the forest.
Goal Test :        You are in a settlement with people.
Operators :        Follow the trail one direction for a bit;
                          Follow 
the trail the opposite direction for a bit;
                          Go away from the trail (in any direction) for a bit and observe.
Path Cost :        Distance travelled.

The best search strategy might be to go down the trail until you reach a larger trail or a road and then follow that. However, strategy is distinct from problem formulation.

    (b)    You are a project leader about to distribute tasks to your team members. The tasks are known to be interdependent or independent. Your team members are known to belong to one of the following four categories each : very experienced (VE), somewhat experienced (SE), inexperienced but not absolutely (I), novice (N).  Assign a team member to each task, with no interdependent tasks having team members of the same group assigned to them.

Initial State :      No team members assigned to tasks.
Goal Test :         All tasks having a team member assigned to them with no two interdependent tasks having team members from a same experience group assigned to them.
Operators :         Assign a team member to a task.
Path Cost :         Number of assignments.
 

   (25 points)

3.    Represent the following sentences in First Order Logic using a consistent vocabulary (which you must first define) :

    (a)    There is a worker who writes resports for all workers who don't write them themselves.

]x ( Worker(x) && ( Vy ( (Worker(y) &&  ! WrRep(y)) ==> WrRepFor(x, y) ) )

    (b)    There is a worker who doesn't write resports for anybody except the workers who he likes.

]x ( Worker(x) && Vy (WrRepFor(x, y) <==> (Worker(y) &&  Likes(x, y)))

    (c)    Not all students who have good writing skills speak well.

! Vx ( Student(x) && GoodWrSkills(x) ==> SpWell(x) )

    (d)    Not all students who speak well have good writing skills.

! Vx ( Student(x) && SpWell(x) ==> GoodWrSkills(x) )
 

   (25 (=12+13)  points)


5.    Convert the following First Order Logic sentence into its Conjunctive Normal Form :

    (a)    Vx ( Joyful(x) <==> ]y MakesJoyful(y,x) )

( ! Joyful(x) V MakesJoyful(JoyfulMaker(x), x))  && ( ! MakesJoyful(z, x) V Joyful(x) )

    (b)    Vx ( Anxious(x) <==> ]e ( Event(e) & MakesAnxious(e,x) ) )

( ! Anxious(x) V Event (AnxiousMaker(x))) &&
( ! 
Anxious(x) V MakesAnxious(AnxiousMaker(x), x))  &&
( ! Event(z) V ! Makes
Anxious(z, x) V Anxious(x) )
 

   (25 points)

6.    For each of the following atomic sentences give the most general unifier, if it exists :

    (a)    P(A,B,F(B)),                             P(x,y,z)

x / A,    y / B,    z / F(B)

    (b)    Q(y,G(A,B)),                       Q(G(x,x), y)

DOESN'T EXIST (y/G(x,x) and y/G(A,B), so x would have to be A and B at the same time).

    (c)    Younger(y,Mother(y))                Younger(John,Mother(x))

x / John,    y / John

    (d)    Likes(Brother(y),y)              Likes(x,x)

x / Brother(y),    y / Brother(y) / Brother(Brother(y)) ... - Unifier doesn't exist.
 

   (25 (=12+13)  points)

7.

    The following is a knowledge base (its sentences numbered and described by Horn Clauses) :

(I)
 
 Mick is a IS student  1.  ISStudent(Mick)
Amy is an CS student 2. CSStudent(Amy)
CS students have better jobs than IS students 3. Vx Vy CSStudent(x) & ISStudent(y) 
                      ==> BetterJob(x,y)

Provide a proof that Amy has a better job than Mick . In the proof, for each step indicate :
    (a) the inference rule being used,
    (b) the unifiers being applied,
    (c) the sentences the rule is being applied to, and
    (d) the sentence derived by the rule (number it, as well)

(AI) 1 and 2 : BStudent(Mick) && AStudent(Amy)                (4)

(UE) x / Amy y / Mick to 3 : AStudent(Amy) & BStudent(Mick)  ==> BetterJob(Amy,Mick)  (5)

(MP) to (4) and (5) : BetterJob(Amy,Mick) (6)
 

(II)
 
 Mick is a mouse  1.  mouse(Mick)
Amy is a elephant 2. elephant(Amy)
An elephant is always afraid of a mouse 3. Vx Vy mouse(x) & elephant(y) 
                                                 ==> Afraid(y,x)

Provide a proof that Amy is afraid of Mick . In the proof, for each step indicate :
    (a) the inference rule being used,
    (b) the unifiers being applied,
    (c) the sentences the rule is being applied to, and
    (d) the sentence derived by the rule (number it, as well)

   (25 points)

(AI) 1 and 2 : mouse(Mick) && elephant(Amy)                (4)

(UE) x / Mick y / Amy to 3 : mouse(Mick) & elephant(Amy)   ==> Afraid(Amy,Mick)  (5)

(MP) to (4) and (5) : Afraid(Amy,Mick) (6)
 


8.        The following is a knowledge base (its sentences numbered and described by First Order Logic clauses) :

(I)
 
 Hardworking people are moneymaking people 1.  HardWorking(x)  ==>
                                MoneyMaking(x)
1.  ! HardWorking(x)  V
                                MoneyMaking(x)

Non-hardworking people are relaxing people 2. ! HardWorking(x)  ==>
                               Relaxing(x)
2. HardWorking(x)  V
                               Relaxing(x)

Moneymaking people are happy people 3. MoneyMaking(x)  ==>
                               Happy(x)
3. ! MoneyMaking(x)  V
                               Happy(x)

Relaxing people are happy people 4. Relaxing(x)  ==>
                              Happy(x)
4. ! Relaxing(x)  V
                              Happy(x)

Provide a proof for Happy(Joe). In the proof, for each step indicate :
    (a) the inference rule being used,
    (b) the unifiers being applied,
    (c) the sentences the rule is being applied to, and
    (d) the sentence derived by the rule (number it, as well)

Proof by contradiction : Assume

! Happy(Joe) (5)

(RR) to (1) and (2) : MoneyMaking(x) V Relaxing(x)  (6)

(RR) to (6) and (3) : Relaxing(x) V Happy(x) (7)

(RR) to (7) and (4) : Happy(x) V Happy(x)  (8)

(RR) to (8) and (5)  with x / Joe : Contradiction (empty clause)  (9)



 (II)
 
 People who study learn a lot 1.  Studying(x)  ==>
                                LearningALot(x)
1.  ! Studying(x)  V
                                LearningALot(x)

People who don't study, experience a lot 2. ! Studying(x)  ==>
                               ExperiencingALot(x)
2. Studying(x) V 
                               ExperiencingALot(x)

People who learn a lot, know a lot 3. LearningALot(x)  ==>
                               KnowingALot(x)
3. ! LearningALot(x)  V
                               KnowingALot(x)

People who experience a lot, know a lot 4. ExperiencingALot(x)  ==>
                              KnowingAlot(x)
4. ! ExperiencingALot(x)  V
                              KnowingAlot(x)

Provide a proof for KnowingAlot(Susan). In the proof, for each step indicate :
    (a) the inference rule being used,
    (b) the unifiers being applied,
    (c) the sentences the rule is being applied to, and
    (d) the sentence derived by the rule (number it, as well)

Proof by contradiction : Assume

! KnowingALot(Susan) (5)

(RR) to (1) and (2) : LearningALot(x) V ExperiencingALot(x)  (6)

(RR) to (6) and (3) : ExperiencingALot(x) V KnowingALot(x) (7)

(RR) to (7) and (4) : KnowingALot(x) V KnowingALot(x)  (8)

(RR) to (8) and (5)  with x / Susan : Contradiction (empty clause)  (9)

   (25 poi