COSC 159 Assignment #3 Due date: Wednesday, March 11 1. In class we saw how decision trees can be used to record and generalize training examples by looking at the book's example of recycling bins in offices. In this problem, we'll consider the following training examples for a person's book preferences: Title | Binding Reality Length Topic | Like? -------------+-------------------------------------------+----- Moby Dick | Hardcover Fiction Long Adventure | YES | | War & Peace | Paperback Fiction Long Politics | YES | | Hawaii | Hardcover Fiction Long History | YES | | Perestroika | Hardcover Nonfiction Medium Politics | NO | | Star Trek | Paperback Fiction Medium Science | NO | | Bugs | Paperback Nonfiction Short Science | YES | | Flatland | Hardcover Fiction Short Adventure | NO | | Dune | Paperback Fiction Long Science | YES | | Bolivia | Paperback Nonfiction Medium History | NO For each of the four attributes (Binding, Reality, Length, Topic), compute the class partitions and disorder number. In other words, produce a table like Table 5.2 on page 201 of the text. Using this disorder information, say which attribute should be chosen for the root (top) node of our decision tree. While you should be able to complete this assignment by hand with a calculator, it is fine with me if you wish to use some or all of the decision tree code provided at the end of Chapter 5 (and in ~mikes/159/CodeFromText/05.Learning on studsys). Just explain how you did the computations and give me a listing of any code that you write or modify. 2. Using the Lisp code provided in ~mikes/159/CodeFromText/05.Learning on studsys, run some examples of neural nets learning the "equivalent" logical connective. In particular, I'd like you to run the networks defined in pdp1.lisp and pdp2.lisp (which match those defined in the textbook on pages 214 and 219) and use the function average (which is defined in the file pdp.lisp and is automatically loaded) to collect statistics on how quickly each learns the "equivalent" concept. You will need to define training data for the "equivalent" connective. This logical function takes two inputs and returns TRUE if both inputs are TRUE or if both are FALSE; it returns FALSE if one input is TRUE and the other FALSE. You should report an average and a success rate for each net based on at least 10 attempts (the number of attempts is one of the parameters to the function average). A log of some net experiments can be found in the file ~mikes/159/annlog on studsys.