From owner-cse584-sp07-list@LISTSERV.BUFFALO.EDU Wed Jan 24 11:46:44 2007 for ; Wed, 24 Jan 2007 11:46:43 -0500 (EST) for ; Wed, 24 Jan 2007 11:46:39 -0500 (EST) 11:46:36 -0500 Delivered-To: cse584-sp07-list@listserv.buffalo.edu Wed, 24 Jan 2007 11:46:34 -0500 (EST) -0500 (EST) X-UB-Relay: (castor.cse.buffalo.edu) X-PM-EL-Spam-Prob: : 7% Date: Wed, 24 Jan 2007 11:46:34 -0500 Reply-To: "William J. Rapaport" From: "William J. Rapaport" Subject: UNDERSTANDING BY TEACHING (A COMPUTER) Comments: cc: mwkibby@acsu.buffalo.edu To: CSE584-SP07-LIST@LISTSERV.BUFFALO.EDU List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-UB-Relay: (castor.cse.buffalo.edu) X-Spam-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,SUBJ_ALL_CAPS X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on ares.cse.buffalo.edu X-Virus-Scanned: ClamAV 0.88.6/2487/Wed Jan 24 10:53:17 2007 on ares.cse.buffalo.edu X-Virus-Status: Clean ------------------------------------------------------------------------ Subject: UNDERSTANDING BY TEACHING (A COMPUTER) ------------------------------------------------------------------------ One quote from Knuth's paper is worth saying a few words about: It has often been said that a person does not really understand something until he teaches it to someone else. Actually a person does not *really* understand something until he can teach it to a *computer*, i.e., express it as an algorithm. "The automatic computer really *forces* that precision of thinking which is alleged to be a product of any study of mathematics" [George Forsythe, 1959]. The attempt to formalize things as algorithms leads to a much deeper understanding than if we simply try to comprehend things in the traditional way. Linguists thought they understood languages, until they tried to explain languages to computers; they soon discovered how much more remains to be learned. Many people have set up computer models of things, and have discovered that they learned more while setting up the model than while actually looking at the output of the eventual program. (Knuth, Donald (1974), "Computer Science and Its Relation to Mathematics", American Mathematical Monthly 81(4) (April): 323-343; quote from p. 327.) First, this idea underlies the success that AI has had in solving "difficult" problems such as chess or calculus: We know how to teach people to play chess and to do calculus, so it's relatively easy to teach a computer how to do it. But we don't know how to teach someone to learn their first language or to see, so it's relatively hard to teach a computer how to speak or see. Second, it also underlies the approach that two of my colleagues and I took in a logic text we wrote about 20 years ago (Schagrin, Morton L.; Rapaport, William J.; & Dipert, Randall R. (1985), Logic: A Computer Approach (New York: McGraw-Hill)). In that book, we took the position that the best way to learn logic was to teach it to a computer by writing computer programs that would do logic. Third, it underlies the approach that another colleague and I are taking in our study of "contextual vocabulary acquisition", i.e., the problem of how to figure out a meaning for an unknown word from textual context plus background knowledge. We have a "good, old-fashioned, symbolic AI" computer program that can do it. We are now trying to teach the techniques spelled out in that program to readers. (Rapaport, William J.; & Kibby, Michael W. (in press), "Contextual Vocabulary Acquisition as Computational Philosophy and as Philosophical Computation", Journal of Experimental and Theoretical Artificial Intelligence; online at: http://www.cse.buffalo.edu/~rapaport/Papers/cvanacap.pdf )