Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!noose.ecn.purdue.edu!mentor.cc.purdue.edu!burdick From: burdick@mentor.cc.purdue.edu (Bill Burdick) Newsgroups: comp.object Subject: Re: Survey: how do we really use objects? Summary: Q: inheritance good knowledge rep? A: sort of Message-ID: Date: 10 Dec 90 06:46:26 GMT References: <2586@runxtsa.runx.oz.au> Sender: news@mentor.cc.purdue.edu Organization: /userf/burdick/.organization Lines: 28 In-reply-to: timm@runxtsa.runx.oz.au's message of 28 Nov 90 12:40:30 GMT If you look at James Allen's book on natural language processing (I think it's called _Understanding Natural Language_, but I'm not sure), there is a section on understanding by meaning (I think it's chapters 7 - 10). In that section, he uses a semantic network to model the meanings of words. This network is actually an inheritance graph (a directed, acyclic graph) which uses multiple inheritance. Inheritance graphs are also known as generalization hierarchies; as you go up the graph, you get more general. Inheritance is useful in modelling things (or parts of things) which can be expressed in different levels of generality. No human has perfectly organized knowledge (Mansky says "the brain is a kludge"). To get a good expert system going, you'll probably not only need rules, but a model of system's domain. The model will probably end up being OO and the rules will probably end up being a rule-base (not OO). The meaning section in Allen's book also follow's this pattern -- the meanings of words are modeled by a semantic network where the nodes contain information about which rules to activate and deactivate (actually the rules form a full {not context free} grammar). So you'll probably end up needing inheritance (although you may not represent it explicitly) for an expert system, but that's not the whole thing. -- Bill Burdick burdick@mentor.cc.purdue.edu