Do canarys fly? [Was: Do penguins fly?]

10 views
Skip to first unread message

Pei Wang

unread,
Sep 21, 2009, 7:55:16 PM9/21/09
to open...@googlegroups.com
Jeff,

After a drawing an inheritance network with the terms in your example,
I see the problem is not what I thought --- actually it is not a
"bug", but a "feature" --- remember: one important feature of NARS is
to make "reasonable mistakes". ;-)

Let's first see a (conceptually) simpler version: replace
"(|,canary,penguin)" in the example by "bird", and add the following
two premises:

<canary --> bird>. %1.0000;0.9999%
<penguin --> bird>. %1.0000;0.9999%

Then you should be able to get the same conclusion with a very
slightly lower confidence, that is

<{p2} --> penguin>.
<penguin --> bird>.
---------------------------
<{p2} --> bird>. %deduction%

<{p2} --> bird>.
<{p2} --> nofly>.
---------------------------
<bird --> nofly>. %induction%

<bird --> nofly>.
<canary --> bird>.
---------------------------
<canary --> nofly>. %deduction%

The conclusion is wrong, but remain valid given the information.
Furthermore, if more penguins are observed, the conclusion will become
more and more confident, as you observed, but the problem is not
caused by "a wrong logic", but by "biased data" --- this is exactly
where things like stereotype and superstition come from. The solution
is "diversified data", of course, which will revise the previous
conclusions.

Now how about (|,canary,penguin)? The only difference is the implicit beliefs

<canary --> (|,canary,penguin)>. %1.0000;1.0000%
<penguin --> (|,canary,penguin)>. %1.0000;1.0000%

So the inference can be "justified" in the same way --- wrong
conclusion (to us), but valid process.

Please note that "canary" is not really arbitrarily introduced:
(|,canary,penguin) is formed only when the system recognized some
common instance/property of "canary" and "penguin". If this turns out
to be a big problem, we can add the discount factor to all rules
introducing new terms into conclusion, but I'm afraid that will be an
overreaction.

Given the above consideration, I'd rather not to change anything, and
see if this issue can appear in more serious form. However, before
(temporarily) closing the issue, I'd like to know if the above
explanation makes sense.

Pei


On Sun, Sep 20, 2009 at 1:35 PM, Jeff Thompson <jef...@gmail.com> wrote:
>
> Pei Wang wrote:
>> On Sat, Sep 19, 2009 at 4:20 PM, Jeff Thompson <jef...@gmail.com> wrote:
>>
>>> I'm still seeing derivations like the following which infer from <{p2}
>>> --> penguin> and <{p2} --> nofly> to <canary --> nofly>. It does this by
>>> introducing "canary" into <{p2} --> (|,canary,penguin)> "for free" with
>>> the same truth value.  Should this be discounted also, since canary and
>>> penguin don't correlate well?
>>>
>>>  <canary --> nofly>. %1.0000;0.4475% {128125: 8;7}
>>>    <(|,canary,penguin) --> nofly>. %1.0000;0.4475% {82778: 8;7}
>>>      <{p2} --> nofly>. %1.0000;0.9000% {0: 8}
>>>      <{p2} --> (|,canary,penguin)>. %1.0000;0.9000% {2870: 7}
>>>        <{p2} --> penguin>. %1.0000;0.9000% {0: 7}
>>>
>>
>> My current plan is to apply the discount factor whenever a compound is
>> formed, but not when it is used (which may be too much). The rule in
>> structuralCompose1 is the latter case --- the conclusion <{p2} -->
>> (|,canary,penguin)> is derived from <{p2} --> penguin> plus the
>> information that "penguin is a component of an existing compound
>> (|,canary,penguin)" (which doesn't show up in the derivation tree).
>> When (|,canary,penguin) was formed earlier, the discount factor should
>> have been applied, which influence the priority of the concept, so if
>> the correlation is high, the concept won't be often used.
>>
> I still don't understand where the discount, if any, is used. NARS does
> induction between <{p2} --> (|,canary,penguin)> and <{p2} --> nofly> to
> get <(|,canary,penguin) --> nofly>, using the usual truth value for
> induction with no discount. Then it "removes" penguin to get <canary -->
> nofly> with the same truth value, no discount.
>
> In this way, NARS starts with a high confidence statement like
> <{p2} --> nofly> %1.0000;0.9000%,
> introduces an unrelated term like 'canary', and concludes
> <canary --> nofly>. %1.0000;0.4475%
> when the only connection between 'canary' and 'nofly' is from <canary
> --> fly> and the "definition" where I'm trying to say that "fly" and
> "nofly" are not connected. The problem is that NARS then does a similar
> derivation starting from different evidence to also conclude <canary -->
> nofly>, then does revision to combine them.  In this way, NARS can
> convince itself with high confidence of just about anything. That can't
> be right.
>
>
> >
>

Jeff Thompson

unread,
Sep 22, 2009, 1:40:56 AM9/22/09
to open...@googlegroups.com
Thanks for looking into this. How would I "diversify the data" in this
example?

Pei Wang

unread,
Sep 22, 2009, 10:29:17 AM9/22/09
to open...@googlegroups.com
To provide input that is representative for the future experience,
such as flying canaries.

At the beginning, it is the teacher's responsibility to feed the
system unbiased data, and then, when the system grows up, it is
responsible by itself. That is why when we are about to move into an
novel environment, it is better to collect information about it,
otherwise we'll be biased by our experience in familiar environments.
Of course, since this information is also part of past experience
(though not direct and personal), it can still be biased. Intelligence
cannot recognize biased data, but can recover from it.

Pei

Jeff Thompson

unread,
Sep 22, 2009, 10:58:59 AM9/22/09
to open...@googlegroups.com
I'm confused. Doesn't the input already have flying canaries?
<{c1} --> canary> .
<{c1} --> fly> .
<{c2} --> canary> .
<{c2} --> fly> .

Are you saying it needs more of these? Or are you saying it needs
<canary --> fly> directly in the input, instead of inferring it?

Pei Wang

unread,
Sep 22, 2009, 11:04:40 AM9/22/09
to open...@googlegroups.com
I mean the derivation in the example
<canary --> nofly>. %1.0000;0.4475% {128125: 8;7}
<(|,canary,penguin) --> nofly>. %1.0000;0.4475% {82778: 8;7}
<{p2} --> nofly>. %1.0000;0.9000% {0: 8}
<{p2} --> (|,canary,penguin)>. %1.0000;0.9000% {2870: 7}
<{p2} --> penguin>. %1.0000;0.9000% {0: 7}
hasn't taken c1 and c2 into consideration, so the conclusion is based
on biased evidence. After c1 and c2 is considered, <canary --> nofly>
will have a much lower frequency.

Pei

Jeff Thompson

unread,
Sep 23, 2009, 12:51:12 PM9/23/09
to open...@googlegroups.com
That makes sense, because with some input, NARS gives me the answer I
expect, which is <canary --> fly> %1% and <canary --> nofly> %0% (or
very low frequency). But other times with a different arrangement of
input, I get a high confidence judgment that <canary --> nofly> %.45%
which makes me unhappy. It is possible that sometimes I just get
unlucky and NARS doesn't find a higher-confidence derivation, even
though it exists.

Do you think that, with finite input, that the number of possible
derivations for a judgment like <canary --> nofly> is also finite?
Maybe by a backward chaining search? I would like to find out what is
the theoretical limit of the highest confidence result for a judgment.
If that gives me what I want (instead of telling me that almost half of
canaries don't fly) then I will be happy, because then it is just a
matter of whether the inference control will find this answer.

Pei Wang

unread,
Sep 23, 2009, 1:27:04 PM9/23/09
to open...@googlegroups.com
On Wed, Sep 23, 2009 at 12:51 PM, Jeff Thompson <jef...@gmail.com> wrote:
>
> That makes sense, because with some input, NARS gives me the answer I
> expect, which is <canary --> fly> %1% and <canary --> nofly> %0% (or
> very low frequency).  But other times with a different arrangement of
> input, I get a high confidence judgment that <canary --> nofly> %.45%
> which makes me unhappy.  It is possible that sometimes I just get
> unlucky and NARS doesn't find a higher-confidence derivation, even
> though it exists.

Please note the non-linear nature of confidence: c = w/(w+k). When k=1
(the current default), all confidence values below 0.5 are quite low
--- less than one unit of evidence. One thing you can try is to use
k=2 or k=3, to see if the results fits your intuition better.

> Do you think that, with finite input, that the number of possible
> derivations for a judgment like <canary --> nofly> is also finite?

It should be --- as far as the Stamp is long enough to prevent
repeated use of evidence.

> Maybe by a backward chaining search? I would like to find out what is
> the theoretical limit of the highest confidence result for a judgment.

That will be hard, because there are all kinds of situations, and all
inputs may be relevant.

> If that gives me what I want (instead of telling me that almost half of
> canaries don't fly) then I will be happy, because then it is just a
> matter of whether the inference control will find this answer.

For a given set of input, the truth-value of a given conclusion should
be in a fixed range, though the range can only be decided by
exhaustive search, so is not practically useful.

Pei

Jeff Thompson

unread,
Sep 26, 2009, 1:00:15 PM9/26/09
to open...@googlegroups.com
Pei Wang wrote:
> Please note that "canary" is not really arbitrarily introduced:
> (|,canary,penguin) is formed only when the system recognized some
> common instance/property of "canary" and "penguin". If this turns out
> to be a big problem, we can add the discount factor to all rules
> introducing new terms into conclusion, but I'm afraid that will be an
> overreaction.
>

I traced it, and the common property to form (|,canary,penguin) comes from:
<canary --> fly>. %1.0000;0.6183%
and
<penguin --> fly>. %0.0000;0.6182%

Note that the frequency on <penguin --> fly> is zero. This is part of
my concern with "disjunction introduction" from the viewpoint of
experience-based semantics. NARS believes (correctly) that it has never
experienced a penguin that flies. So, canary and penguin do *not* share
a property. Yet NARS derives all kinds of conclusions based on
introducing the disjunction (|,canary,penguin). Shouldn't a zero
frequency (or any low frequency) rule this out?


Jeff Thompson

unread,
Sep 26, 2009, 1:35:48 PM9/26/09
to open...@googlegroups.com

And furthermore, I'm concerned about introducing a term like
(|,canary,penguin) based on a common property, because in a rich
ontology almost everything has a common property, such as <canary -->
ExistingThing>, <anythingElse --> ExistingThing>, so using a common
property does make it seem "arbitrary".


Pei Wang

unread,
Sep 26, 2009, 2:23:40 PM9/26/09
to open...@googlegroups.com
Jeff,

This is a less serious issue than the one you raised in the previous
email. Beliefs like <canary --> ExistingThing> won't be confirmed too
often in experience (though it has no negative evidence), so its
confidence won't be too high, and its priority will be very low. I
doubt it will cause trouble in a realistic setting. This is related to
the well-known "conjunction fallacy"
(http://en.wikipedia.org/wiki/Conjunction_fallacy), as well as to the
"reference class problem (I had a paper on it).

The "common property from negative evidence" issue should be addressed
properly. Though you have a valid point, there is another side of the
story which favors the current treatment.

I will write more on both topics. Since I'm traveling in Maine, it
will take a few days for me to have the time for it.

Pei

Jeff Thompson

unread,
Sep 26, 2009, 2:38:42 PM9/26/09
to open...@googlegroups.com
Pei Wang wrote:
> Jeff,
>
> This is a less serious issue than the one you raised in the previous
> email. Beliefs like <canary --> ExistingThing> won't be confirmed too
> often in experience (though it has no negative evidence), so its
> confidence won't be too high, and its priority will be very low. I
> doubt it will cause trouble in a realistic setting.

Correct me if I'm wrong, but NARS doesn't consider the confidence levels
of the judgments that lead to introducing a term like "canary" into
(|,canary,penguin). In the following derivation of concern, NARS starts
with actual experience about penguins, then introduces "canary"
(regardless of confidence levels of related judgments) and arrives at a
conclusion about canaries which is not grounded in any experience.

Reply all
Reply to author
Forward
0 new messages