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.