August 1999
SW204 : SOFTWARE AND
FILE DESIGN

QUESTION 5

Total Marks: 20 Marks

Click here to access other questions

SUGGESTED SOLUTIONS
Solutions and allocated marks are indicated in green.
Return to
Question 5

(a) (i) Define the terms backward reasoning and forward reasoning.

(ii) State the differences between forward reasoning and backward reasoning.

(iii) Give examples of how backward reasoning and forward reasoning might be applied.

[4]

[2]


[2]

(i) Forward reasoning refers to the application of operators to produce a modified situation. The objective is to bring a problem from an initial to a goal state. Backward reasoning involves applying operators to goals. The goal is converted to several sub-goals, and so on, so that the problem becomes easier to solve.

(ii) Forward reasoning is data-driven, whereas backward reasoning is goal-driven.

(iii) An example of the application of forward reasoning is a game of chess, where the goal is to checkmate and the operators are set of rules governing moves; an example of the application of backward reasoning is the integration of 1/(cos2x)dx in terms of tanx.

 

(b) (i) Knowledge can be represented using logic, semantic nets, or production systems. Briefly describe each of these representation techniques.

(ii) Represent the statement "All dogs have four legs" using logic, semantic nets, and production systems.

(iii) Represent the statement "All birds have feathers" using logic, semantic nets, and production systems.

[6]

 

[3]


[3]

(i)
  • Logic uses of inference to derive facts from statements which we know to be true.
  • Semantic nets consists of nodes which represents objects and links which represent relationships between the objects.
  • A production system consists of a database which contains rules in the form of action-condition pairs; if the condition occurs and matches one in the database, then the action is valid.

(ii)

  • Logic: "x.Dog(x) Þ Has_Four_Legs(x)
  • Semantic nets: Dog
                           
    ¯ has
                            Four_Legs
  • Production system : If the object is a dog, then it has four legs.

(iii)

  • Logic: " x.Bird(x) Þ Feathers
  • Semantic nets : Bird
                            
    ¯  has
                            Feather
  • Production system : If the object is a bird, then it has feathers.