CSci 431

Exercise set #6

Due: Wednesday, Dec.4


There will be other assignments assigned before this one is due - see note below.

This assignment will be worth 30 points (perhaps more)

Think about the sort of expert problem solving you can do.  Finding problems or figuring out what went wrong in some situation (diagnosis) might be one source of problems.  You may want to extend the advising problem in some way.  Or pick some other expert process, so long as it includes at least 5 - 10 nontrivial rules.  Write the expert system, devising an interface (using printout and read) to talk to the user.  Include a text file with instructions on using the expert system (so that I can try it out).

Five points extra credit (perhaps more, but no more than ten points) if you do this in Fuzzy Clips in a meaningful way.


For planning purposes, here is what I propose for the remaining exercises this semester:

This week:  

    (15 - 20 points)

Week of Nov. 18:

    (10 - 15 pts.)

Week of Nov. 25:  From Rich/Knight, pages 525-526:

Implement the backpropagation learning algorithm for a fully connected three-layer network.  Be sure to include parameters for layer sizes, learning rate, and number of training epochs.  Test your implementation first on the OR problem:

 

Input Vector Target Output Vector
(0.0, 0.0)  (0.1)
(0.0, 1.0)  (0.9)
(1.0, 0.0)  (0.9)
(1.0, 1.0)  (0.9)

 

Then on the XOR problem:

Input Vector Target Output Vector
(0.0, 0.0)  (0.1)
(0.0, 1.0)  (0.9)
(1.0, 0.0)  (0.9)
(1.0, 1.0)  (0.1)

Initially, use two hidden units, set the learning coefficient to 0.35, and run for 6000 training epochs.  Modify your program to use a momentum factor of 0.9.  Did adding momentum significantly decrease the number of training epochs required for learning?

You may use any language you want, except one which incorporates matrix operations.  Lisp will work, but this problem is mostly matrix arithmetic.  The algorithm is given on page 581 if you want to get started early:  use g(x) = 1/(1+exp(-x)) and note that for this function g'(x) = g(x)*(1-g(x)).  See also Rich/Knight starting page 504 for more details (I will make copies when we discuss the algorithm, earlier if asked).

(20 - 30 points)


Some Dates:

 


Any questions? Please ask!