On 2/26/20 9:59 PM, Linas Vepstas wrote:> Well, but of course there is!  Just use the pattern matcher directly!
(which you are already doing, in half of your examples). You are using the pattern matcher directly, whenever you say (cog-execute! (BindLink ...)) or (cog-execute! (GetLink ...))  That code path never goes through the URE, never looks at any rules.

BTW, the URE, really is just a way to form complex pattern matcher queries, at least the backward chainer is exactly that. The forward chainer on the other hand is more like an iterative chainer. I have intended to update the code and the terminology to reflect that but I didn't get a chance yet.

The pattern matcher ignores truth values because that's just modular design. If you want to do something with truth values, that is an additional layer built on top of the core function. There are several reasons for this, besides modularity. One is the the lack of historical agreement about what the correct formulas are. Specifically, there was a battle: Pei Wang's NARS vs. Ben Goertzel's PLN. Which one has the correct rules? Maybe a third way? Maybe truth values should be truth-intervals? Maybe they should be histogrammed approximations to probability distributions learned from large datasets? Who knows? Untangling basic search from valuations is one way to allow freedom for exploring different theories of valuation.

I think this is another case for introducing Boolean Value, separated from Simple Truth Value, to clearly show the distinction between uncertain reasoning with PLN (or such) and crisp evaluation (from evaluatable links) with the pattern matcher.

Nil

--
You received this message because you are subscribed to the Google Groups 
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/a1f51bc0-28e5-61a1-1c50-766965fb1495%40gmail.com.

Reply via email to