Computer Science Department of NMSU

Quals answers for AI, Spring 99

Part 1.

dryer = d

fan = f(d)

heater = h(d)

switch = s(d)

wiring harness = w(d)

causal:

forall(x) dryer(x) and (faulty(f(x)) or faulty(h(x)) or

faulty(w(x)) or faulty(s(x))) -> faulty(x)

forall(x) dryer(x) and faulty(f(x)) -> ~blows(f(x))

forall(x) dryer(x) and faulty(h(x)) -> ~hot(h(x))

forall(x) dryer(x) and faulty(w(x)) -> broken(w(x))

forall(x) dryer(x) and broken(w(x)) -> ~blows(f(x)) or ~hot(h(x))

forall(x) dryer(x) and faulty(s(x)) -> loose(s(x))

forall(x) dryer(x) and loose(s(x)) -> ~blows(f(x)) and ~hot(h(x))

 

diagnostic:

forall(x) dryer(x) and ~blows(f(x)) -> faulty(f(x)) or faulty(w(x)) or

faulty(s(x))

forall(x) dryer(x) and ~hot(h(x)) -> faulty(h(x)) or faulty(w(x)) or

faulty(s(x))

single fault hypothesis:

forall(x) dryer(x) and faulty(x) ->

faulty(f(x)) and ~faulty(h(x)) and ~faulty(w(x)) and ~faulty(s(x)) or

faulty(h(x)) and ~faulty(f(x)) and ~faulty(w(x)) and ~faulty(s(x)) or

faulty(w(x)) and ~faulty(h(x)) and ~faulty(f(x)) and ~faulty(s(x)) or

faulty(s(x)) and ~faulty(h(x)) and ~faulty(w(x)) and ~faulty(f(x))

Part 2.

proof:

assume the wiring harness is faulty

facts and symptoms: A. dryer(d), B. blows(f(d)), C. ~hot(h(d))

causal rules in conjunctive normal form:

1. ~dryer(x) or ~faulty(f(x)) or ~blows(f(x))

2. ~dryer(x) or ~faulty(h(x)) or ~hot(h(x))

3. ~dryer(x) or ~faulty(f(x)) or faulty(x)

4. ~dryer(x) or ~faulty(h(x)) or faulty(x)

5. ~dryer(x) or ~faulty(w(x)) or faulty(x)

6. ~dryer(x) or ~faulty(s(x)) or faulty(x)

7. ~dryer(x) or ~broken(w(x)) or ~blows(f(x)) or ~hot(h(x))

8. ~dryer(x) or ~loose(s(x)) or ~blows(f(x))

9. ~dryer(x) or ~loose(s(x) or ~hot(h(x))

10. ~dryer(x) or ~faulty(w(x)) or broken(w(x))

11. ~dryer(x) or ~faulty(s(x)) or loose(s(x))

diagnostic rules in conjunctive normal form

12. ~dryer(x) or blows(f(x)) or faulty(f(x)) or faulty(w(x))

or faulty(s(x))

13. ~dryer(x) or hot(h(x)) or faulty(h(x)) or faulty(w(x))

or faulty(s(x))

 

from A, C and 13: D. faulty(h(d)) or faulty(w(d)) or faulty(s(d))

from A, B and 8: E. ~loose(s(d))

from A, 11 and E: F. ~faulty(s(x))

` from D and F: G. faulty(h(d)) or faulty(w(d))

from F and single fault rule: faulty(h(d)) xor faulty(w(d))

The system cannot isolate the fault without further symptoms.

Part 3.

Belief network:

Nodes: Break ---> ~Blow and ~Hot

Loose ---> ~Blow and ~Hot

~Blow ---> Faulty

~Hot ---> Faulty

Priors: P(Break) = 0.01

P(Loose) = 0.02

CPTs : Break Loose P(~Blow|Break, Loose)

T T 1.0

T F 0.5

F T 1.0

F F 0.1

Break Loose P(~Hot|Break, Loose)

T T 1.0

T F 0.5

F T 1.0

F F 0.2

~Blow ~Hot P(Faulty|~Blow, ~Hot)

T T 1.0

T F 1.0

F T 1.0

F F 0.0

To calculate something like P(Break|Faulty), transform

multiply-connected graph into a polytree:

Break ---> ~Blow+~Hot

Loose ---> ~Blow+~Hot

~Blow+~Hot ---> Faulty

Calculate CPT for new merged node:

Break Loose P(~Blow+~Hot|Break, Loose)

TT TF FT FF

T T 1.0 0.0 0.0 0.0

T F 0.25 0.25 0.25 0.25

F T 1.0 0.0 0.0 0.0

F F 0.02 0.08 0.018 0.0.72

and for final node:

~Blow+~Hot P(Faulty|~Blow+~Hot)

TT 1.0

TF 1.0

FT 1.0

FF 0.0

Inference proceeds according to a recursive backward-changing algorithm using evidence calculations based on causal support (e.g. for the merged node,

Break ---> ~Blow+~Hot) and evidential support (e.g. for the merged node, ~Blow+~Hot ---> Faulty)


 
 


[comments][csgso home][cs home][nmsu home]

Last modified: July 19, 2000.
gradrep@cs.nmsu.edu