Re: Storing data and code in a Db with LISP-like interface
From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Fri, 21 Apr 2006 20:44:02 GMT
Message-ID: <mub2g.63837$VV4.1194075_at_ursa-nb00s0.nbnet.nb.ca>
>
> I don't agree, but we may be talking at cross purposes - let me explain
> with a trivial example. Take the relation: { (clothing:coat,
> weather:sunny), (clothing:sunglasses, weather:raining) }
>
> I am storing propositions of the nature that if Frank, say, is not
> wearing a coat it is sunny, and if he's is not wearing sunglasses then
> it must be raining (Frank's a bit of a fashion victim). The predicate
> behind the relation is: [¬clothing -> weather], and anyone interacting
> with the db must be aware of this in order to reform my original
> propositions, and so draw appropriate conclusions.
>
> In prolog, however I can state this explicitly and another user will
> not require any external knowledge of the relationship:
>
> weather(sunny) :- /+ clothing(coat)
> weather(rainy) :- /+ clothing(sunglasses)
>
> And there my limited knowledge of logical programming is exhausted.
Date: Fri, 21 Apr 2006 20:44:02 GMT
Message-ID: <mub2g.63837$VV4.1194075_at_ursa-nb00s0.nbnet.nb.ca>
JOG wrote:
> Bob Badour wrote:
>
>>JOG wrote: >> >> >>>Bob Badour wrote: >>> >>> >>>>JOG wrote: >>>> >>>> >>>>>Bob Badour wrote: >>>>> >>>>> >>>>>>Alvin Ryder wrote: >>>>>> >>>>>> >>>>>>>I agree linked-lists aren't as powerful as the RM but LISP and Prolog >>>>>>>are not merely about lists. >>>>>>> >>>>>>>Both Prolog and LISP can represent information and indeed knowledge >>>>>>>well beyond the RM, that's why they are popular with the ai community! >>>>>> >>>>>>Given the standard definitions of information and knowledge, that's a >>>>>>rather astounding claim. Do you have anything that might back it up? >>>>> >>>>>Prolog models a greater subset of predicate logic than relational >>>>>theory due to its inclusion of negation and disjunction. As such it has >>>>>been traditional popular in classic-AI as the basis of inference >>>>>engines. Whether this allows it to offer a better representation of >>>>>'knowledge' is up for debate. >>>> >>>>[snip] >>>>Are you suggesting that NOT is not negation or that OR is not >>>>disjunction? >>> >>> >>>Of course not. I am sure this is a rhetorical question but I cannot >>>ascertain its point - I think you are referring to relational algebra, >>>but this is not the same as the use of negation in explicit >>>declarations such as P(x) || ¬Q(y) (for instance). In RM the user has >>>to remember this predicate. In Prolog, the program memorises it for >>>you, for good or for bad. To compare the two is hence comparing apples >>>and oranges. >> >>The point is the relational model basically supports both with the one >>small requirement that one must specify one's universe. I do not >>understand what you mean by 'has to remember this predicate'.
>
> I don't agree, but we may be talking at cross purposes - let me explain
> with a trivial example. Take the relation: { (clothing:coat,
> weather:sunny), (clothing:sunglasses, weather:raining) }
>
> I am storing propositions of the nature that if Frank, say, is not
> wearing a coat it is sunny, and if he's is not wearing sunglasses then
> it must be raining (Frank's a bit of a fashion victim). The predicate
> behind the relation is: [¬clothing -> weather], and anyone interacting
> with the db must be aware of this in order to reform my original
> propositions, and so draw appropriate conclusions.
>
> In prolog, however I can state this explicitly and another user will
> not require any external knowledge of the relationship:
>
> weather(sunny) :- /+ clothing(coat)
> weather(rainy) :- /+ clothing(sunglasses)
>
> And there my limited knowledge of logical programming is exhausted.
Okay, I think I see what you mean. Thank you for explaining it to me. Received on Fri Apr 21 2006 - 22:44:02 CEST