[open-nars] two types of truth

9 views
Skip to first unread message

Pei Wang

unread,
Oct 2, 2009, 10:16:01 AM10/2/09
to open...@googlegroups.com
Jeff,

In NAL, there are two types of truth: synthetic and analytic. The
former is "true by definition", and the latter is "true by
experience". [NAL Spec., Definition 8.]

All beliefs in NARS are are summarized experience, therefore synthetic
truths measured by truth-values. On the contrary, analytic truths are
binary. They are the definitions and theorems of NAL, which never
directly appear in the system's beliefs, but are embedded in the
inference rules. They do not need any empirical support from the
experience. For example, T1 --> (|, T1, T2) is an analytical truth.
[NAL Spec., Theorem 21.]

In NAL, the inference among synthetic truths are mostly captured by
the syllogistic rules, and the inference among analytic truths happen
at the meta-level, as given in the NAL Spec.

The trick issues, as shown in your example, are in the combination of
these two types of inference. As mentioned in NAL Spec. Section 3.1
and 7.2, the definitions and theorems are used as implicit premises
with truth-value <1;1> in many inference rules, most of which are in
StructuralRules. Typically, in such a rule one premise is synthetic,
while the other is analytic. Consequently, the experimental support of
the conclusion only come from the synthetic premise. In this case, the
use of the analytic does not need empirical reason, at least in
principle. Therefore, even if the system indeed arbitrarily introduces
a term without empirical reason, it is not necessarily invalid.

So far, I've been trying to keep a balance when defining
StructuralRules: to allow too many of them may lead to the production
of "valid-but-useless" conclusions, while to exclude too many of them
will limit the system's capability.

To be concrete about your example, given theorem "T1 --> (|, T1, T2)",
<{p2} --> penguin> implies <{p2} --> (|,canary,penguin)>, and
<(|,canary,penguin) --> nofly> implies <canary --> nofly>. These two
implications are even true in set theory, not only in NAL. To rule
them out seems too much for me. The only NAL-specific step is the
induction from <{p2} --> (|,canary,penguin)> and <{p2} --> nofly> to
<(|,canary,penguin) --> nofly>, but in this step the fact that
(|,canary,penguin) is a compound term should not matter.

Based on the above reason, I still think "<canary --> nofly>.
%1.0000;0.4475%" to be just another "valid-but-wrong" conclusion,
i.e., an over-generalization produced by induction --- when we do
induction, whether the conclusion is an over-generalization usually
cannot be decided at the moment, but at a latter time, by further
evidence.

Pei


On Sat, Sep 26, 2009 at 2:38 PM, Jeff Thompson <jef...@gmail.com> wrote:
>
> 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.
>
>  <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}
>
>
>
>
> >
>

Jeff Thompson

unread,
Oct 3, 2009, 2:11:15 PM10/3/09
to open...@googlegroups.com
Pei Wang wrote:
> To be concrete about your example, given theorem "T1 --> (|, T1, T2)",
> <{p2} --> penguin> implies <{p2} --> (|,canary,penguin)>, and
> <(|,canary,penguin) --> nofly> implies <canary --> nofly>. These two
> implications are even true in set theory, not only in NAL. To rule
> them out seems too much for me. The only NAL-specific step is the
> induction from <{p2} --> (|,canary,penguin)> and <{p2} --> nofly> to
> <(|,canary,penguin) --> nofly>, but in this step the fact that
> (|,canary,penguin) is a compound term should not matter.
>
> Based on the above reason, I still think "<canary --> nofly>.
> %1.0000;0.4475%" to be just another "valid-but-wrong" conclusion,
> i.e., an over-generalization produced by induction --- when we do
> induction, whether the conclusion is an over-generalization usually
> cannot be decided at the moment, but at a latter time, by further
> evidence.
>

In my experiments, I've been trying to get NARS to decide that <canary
--> nofly> is an over-generalization, but haven't been able to. So far,
NARS is more confident of <canary --> nofly> than of <canary --> fly>,
since introducing these compound terms gives NARS many more ways to be
convinced of the "wrong" conclusion. I'd be happier if I could find
what further evidence I can give to NARS for it to be less confident of
the "wrong" conclusions. But I can't find it.

Pei Wang

unread,
Oct 3, 2009, 2:13:38 PM10/3/09
to open...@googlegroups.com

You mean, it is still the case after you added several flying canaries
as examples?

Pei

Jeff Thompson

unread,
Oct 5, 2009, 2:11:49 PM10/5/09
to open-nars
Yes. It lowers the chance of getting the "wrong" answer, but it
occurs, not because the answer has lower confidence (on the contrary,
the "wrong" answer <canary --> nofly> always has higher confidence
than <canary --> fly>), but because due to resource limitations, NARS
doesn't have time to find the wrong answer. (Hence my earlier comment
on the extent to which NARS *requires* limited resources.)

To me, it is a matter of falsifiable conclusions, especially when NARS
gives a frequency of 1.0. Induction is OK, because if NARS concludes
<bird--> nofly>. %1.0000;0.4475%
then I can ask NARS why. It says "I have experience of something that
is a bird and that nofly, therefore all birds nofly". If I want to
decrease the frequency of this conclusion, I can supply an example of
a bird that flies.
But when NARS concludes
<canary --> nofly>. %1.0000;0.4475%
then I can ask NARS why. It says "I have experience of something that
is a penguin and that nofly, therefore all canaries nofly". Even when
NARS examines all its experience, it can still conclude this, and
there is no new experience I can add to decrease the frequency of this
conclusion. That is why I'm worried.

Pei Wang

unread,
Oct 5, 2009, 2:32:51 PM10/5/09
to open...@googlegroups.com
On Mon, Oct 5, 2009 at 2:11 PM, Jeff Thompson <jef...@gmail.com> wrote:
>
>> You mean, it is still the case after you added several flying canaries
>> as examples?
>
> Yes. It lowers the chance of getting the "wrong" answer, but it
> occurs, not because the answer has lower confidence (on the contrary,
> the "wrong" answer <canary --> nofly> always has higher confidence
> than <canary --> fly>), but because due to resource limitations, NARS
> doesn't have time to find the wrong answer. (Hence my earlier comment
> on the extent to which NARS *requires* limited resources.)

If you give the system the same number of flying canaries and
nonflying penguins, the system's confidence on <canary --> fly>
shouldn't be lower than that of <canary --> nofly> --- after all, the
latter involves more steps. If it is not the case, then something is
wrong. Send me your testing case if that happens.

> To me, it is a matter of falsifiable conclusions, especially when NARS
> gives a frequency of 1.0.  Induction is OK, because if NARS concludes
> <bird--> nofly>. %1.0000;0.4475%
> then I can ask NARS why.  It says "I have experience of something that
> is a bird and that nofly, therefore all birds nofly".  If I want to
> decrease the frequency of this conclusion, I can supply an example of
> a bird that flies.
> But when NARS concludes
> <canary --> nofly>. %1.0000;0.4475%
> then I can ask NARS why. It says "I have experience of something that
> is a penguin and that nofly, therefore all canaries nofly". Even when
> NARS examines all its experience, it can still conclude this, and
> there is no new experience I can add to decrease the frequency of this
> conclusion.  That is why I'm worried.

Understand, but it shouldn't happen --- you should be always able to
decrease the frequency of a conclusion by providing more negative
evidence.

Pei

Pei Wang

unread,
Oct 5, 2009, 4:26:03 PM10/5/09
to open...@googlegroups.com
Jeff:

If the problem is still there, try the following changes in
nars.inference.TruthFunctions:

static TruthValue implying(TruthValue v1) {
return implying(v1, w2c(1));
}

static TruthValue implied(TruthValue v1) {
return implied(v1, w2c(1));
}

They should solve the problem, though I'm afraid that the role of
analytical truths may be reduced too much for other examples. Anyway,
it doesn't hurt to try.

Pei

Jeff Thompson

unread,
Oct 11, 2009, 4:35:57 AM10/11/09
to open...@googlegroups.com
Sorry for the delay. Finally got some time this weekend.
The input does have the same number of flying canaries and nonflying penguins. It is the input given in issue 17.
http://code.google.com/p/open-nars/issues/detail?id=17
You are correct that the frequency for <canary --> nofly> is lower than <canary --> fly>, but the confidence is higher. Here are the results. (Full derivations are attached below.)
<canary --> fly>. %1.0000;0.6183%
<canary --> nofly>. %0.4214;0.7368%
Interestingly, before reaching the higher confidence solution for <canary --> nofly>, NARS has an intermediate solution:
<canary --> nofly>. %1.0000;0.5241%
which means that it fairly confident than not that <canary --> nofly> is true. However this is replaced by a higher confidence solution with a lower frequency.

You suggested adding more penguins and canaries.  The problem is that I don't think NARS is trying all the solutions, even after running for a long time.  With the same input sentences as above, but listed in  a different order, NARS does not find the higher confidence result
<canary --> nofly>. %0.4214;0.7368%
but gets "stuck" on what I assume is an intermediate result:
<canary --> nofly>. %0.0000;0.6182%
Even though this is what I "want", I imagine that with enough resources and time, NARS would find the higher confidence result with non-zero frequency if the search algorithm were allowed to find it.  So I don't trust the results I'm getting with more canaries and penguins: If I were to give the same input sentences in the right order, NARS would find higher confidence results than I have seen so far. This is why I would like a way to compute the solution with the "theoretical" highest confidence value.


If the problem is still there, try the following changes in
nars.inference.TruthFunctions:

    static TruthValue implying(TruthValue v1) {
        return implying(v1, w2c(1));
    }

    static TruthValue implied(TruthValue v1) {
        return implied(v1, w2c(1));
    }
  

Here are the results from the same input as issue 17, but with the revised truth value functions:
<canary --> fly>. %1.0000;0.6183%
(the same as before)
<canary --> nofly>. %0.0812;0.6380%
This still has higher confidence than <canary --> fly> so the new truth values don't solve that problem. But the frequency is much lower, which is nicer.

In section 3.1 of the NAL spec, you describe a truth value with a complete subset relation (basically a frequency of 1.0) as "perfect". So I've been experimenting with code where the ConceptWindow not only shows the "present belief" (the highest confidence) but also the "perfect belief" (the highest confidence where the frequency is 1.0 or 0.0).

- Jeff
============================
<canary --> fly>. %1.0000;0.6183% {33: 3;2;4;1}
  <canary --> fly>. %1.0000;0.4475% {18: 2;1}
    <{c1} --> fly>. %1.0000;0.9000% {0: 2}
    <{c1} --> canary>. %1.0000;0.9000% {0: 1}
  <canary --> fly>. %1.0000;0.4475% {32: 3;4}
    <{c2} --> fly>. %1.0000;0.9000% {0: 4}
    <{c2} --> canary>. %1.0000;0.9000% {0: 3}

<canary --> nofly>. %0.4214;0.7368% {177201: 3;6;8;5;10;7;2;4;1}
  <canary --> nofly>. %0.3334;0.7084% {128126: 3;8;10;7;2;4;1}
    <canary --> nofly>. %0.0000;0.6182% {113: 3;10;2;4;1}
      (--,<canary --> nofly>). %1.0000;0.6182% {98: 3;10;2;4;1}
        <<canary --> fly> ==> (--,<canary --> nofly>)>. %1.0000;0.9999% {0: 10}
        <canary --> fly>. %1.0000;0.6183% {66: 3;2;4;1}
          <canary <-> fly>. %1.0000;0.6183% {33: 3;2;4;1}
            <canary <-> fly>. %1.0000;0.4475% {18: 2;1}
              <{c1} --> fly>. %1.0000;0.9000% {0: 2}
              <{c1} --> canary>. %1.0000;0.9000% {0: 1}
            <canary <-> fly>. %1.0000;0.4475% {32: 3;4}
              <{c2} --> canary>. %1.0000;0.9000% {0: 3}
              <{c2} --> fly>. %1.0000;0.9000% {0: 4}
    <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}
  <canary --> nofly>. %1.0000;0.2698% {177200: 6;5}
    <(&,canary,penguin) --> nofly>. %1.0000;0.3694% {176812: 6;5}
      <(&,{p1},canary) --> nofly>. %1.0000;0.9000% {175829: 6}
        <{p1} --> nofly>. %1.0000;0.9000% {0: 6}
      <(&,{p1},canary) --> (&,canary,penguin)>. %1.0000;0.6510% {3668: 5}
        <{p1} --> penguin>. %1.0000;0.9000% {0: 5}

<canary --> nofly>. %1.0000;0.5241% {92899: 6;8;1;7;5}
  <(|,canary,penguin) --> nofly>. %1.0000;0.5241% {82779: 6;8;1;7;5}
    <(|,canary,penguin) --> nofly>. %1.0000;0.2256% {26643: 6;1;5}
      <(|,{c1},penguin) --> (|,canary,penguin)>. %1.0000;0.6510% {1754: 1}
        <{c1} --> canary>. %1.0000;0.9000% {0: 1}
      <nofly --> (|,{c1},penguin)>. %1.0000;0.4475% {10694: 6;5}
        <{p1} --> (|,{c1},penguin)>. %1.0000;0.9000% {656: 5}
          <{p1} --> penguin>. %1.0000;0.9000% {0: 5}
        <{p1} --> nofly>. %1.0000;0.9000% {0: 6}
    <(|,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}

<canary --> nofly>. %0.0812;0.6380% {149048: 3;6;10;8;2;5;4;7;1}
  <canary --> nofly>. %0.0000;0.6182% {581: 3;10;2;4;1}
    (--,<canary --> nofly>). %1.0000;0.6182% {580: 3;10;2;4;1}
      <<canary --> fly> ==> (--,<canary --> nofly>)>. %1.0000;0.9999% {0: 10}
      <canary --> fly>. %1.0000;0.6183% {33: 3;2;4;1}
        <canary --> fly>. %1.0000;0.4475% {18: 2;1}
          <{c1} --> fly>. %1.0000;0.9000% {0: 2}
          <{c1} --> canary>. %1.0000;0.9000% {0: 1}
        <canary --> fly>. %1.0000;0.4475% {32: 3;4}
          <{c2} --> fly>. %1.0000;0.9000% {0: 4}
          <{c2} --> canary>. %1.0000;0.9000% {0: 3}
  <canary --> nofly>. %1.0000;0.1252% {149047: 6;8;5;7}
    <(&,canary,penguin) --> nofly>. %1.0000;0.3339% {147122: 6;8;5;7}
      <(&,canary,penguin) --> nofly>. %1.0000;0.2237% {146352: 8;7}
        <penguin --> nofly>. %1.0000;0.4475% {146326: 8;7}
          <{p2} --> nofly>. %1.0000;0.9000% {0: 8}
          <{p2} --> penguin>. %1.0000;0.9000% {0: 7}
      <(&,canary,penguin) --> nofly>. %1.0000;0.1757% {147121: 6;5}
        <{p1} --> nofly>. %1.0000;0.9000% {0: 6}
        <{p1} --> (&,canary,penguin)>. %1.0000;0.2368% {6594: 5}
          <{p1} --> penguin>. %1.0000;0.9000% {0: 5}

Pei Wang

unread,
Oct 11, 2009, 10:47:48 AM10/11/09
to open...@googlegroups.com
On Sun, Oct 11, 2009 at 4:35 AM, Jeff Thompson <jef...@gmail.com> wrote:

Sorry for the delay. Finally got some time this weekend.
The input does have the same number of flying canaries and nonflying penguins. It is the input given in issue 17.
http://code.google.com/p/open-nars/issues/detail?id=17
You are correct that the frequency for <canary --> nofly> is lower than <canary --> fly>, but the confidence is higher. Here are the results. (Full derivations are attached below.)
<canary --> fly>. %1.0000;0.6183%
<canary --> nofly>. %0.4214;0.7368%
Interestingly, before reaching the higher confidence solution for <canary --> nofly>, NARS has an intermediate solution:
<canary --> nofly>. %1.0000;0.5241%
which means that it fairly confident than not that <canary --> nofly> is true. However this is replaced by a higher confidence solution with a lower frequency.

Yes, it should be. First, given the same number of (positive and negative) evidence, the pure positive conclusion
  <canary --> fly>. %1.0000;0.6183%
is more confident than the pure negative conclusion
  <canary --> nofly>. %1.0000;0.5241%
mainly because the former is more direct, while the latter has a longer derivation chain, with analytic truths involved.

Please note that <canary --> nofly>. %0.4214;0.7368% covers both positive and negative evidence, therefore it should be more confident than either of the two "pure" cases. Given that its frequency is below 1/2, it is closer to a positive conclusion to "Canary flies" than a negative one. It is similar to the following simplified case, which is perfectly valid:

  IN: a. %1.00;0.62% {0: 1}
  IN: (--,a). %1.00;0.52% {0: 2}
1
 OUT: (--,a). %0.00;0.62% {0: 1}
1
 OUT: (--,a). %0.40;0.73% {2: 1;2}
 
You suggested adding more penguins and canaries.  The problem is that I don't think NARS is trying all the solutions, even after running for a long time.  With the same input sentences as above, but listed in  a different order, NARS does not find the higher confidence result
<canary --> nofly>. %0.4214;0.7368%
but gets "stuck" on what I assume is an intermediate result:
<canary --> nofly>. %0.0000;0.6182%
Even though this is what I "want", I imagine that with enough resources and time, NARS would find the higher confidence result with non-zero frequency if the search algorithm were allowed to find it.  So I don't trust the results I'm getting with more canaries and penguins: If I were to give the same input sentences in the right order, NARS would find higher confidence results than I have seen so far. This is why I would like a way to compute the solution with the "theoretical" highest confidence value.

Yes, this is a problem. The control mechanism is still too rough, and sometimes misses the desired results, that is why I haven't tried many large examples yet. I'm sure there are many modifications to be made in the control part, though given my limited time, I'd rather spend it to finish the logic part first --- as I mentioned before, almost any change in the logic will have an effect on the control, while there is no dependency on the other direction, since the logic doesn't depends on the details of the control. For now, you may also want to test the logic in a more step-by-step way, rather than expect the control mechanism to produce all desired results.
 

If the problem is still there, try the following changes in
nars.inference.TruthFunctions:

    static TruthValue implying(TruthValue v1) {
        return implying(v1, w2c(1));
    }

    static TruthValue implied(TruthValue v1) {
        return implied(v1, w2c(1));
    }
  

Here are the results from the same input as issue 17, but with the revised truth value functions:
<canary --> fly>. %1.0000;0.6183%
(the same as before)
<canary --> nofly>. %0.0812;0.6380%
This still has higher confidence than <canary --> fly> so the new truth values don't solve that problem. But the frequency is much lower, which is nicer.

As I mentioned before, confidence by itself may give you misleading impression, since even though the content "<canary --> nofly>" is negative answer to "Can canary fly?", a non-zero frequency is based on both positive and negative evidence, which usually have a higher confidence than a pure-positive or pure-negative conclusion.

For now, let's keep the new functions and do more testing. I just committed the changes. You may want to change k back to 1, otherwise the effect of analytical truths may be too little. I may also remove some of the "discounts" added recently.


In section 3.1 of the NAL spec, you describe a truth value with a complete subset relation (basically a frequency of 1.0) as "perfect". So I've been experimenting with code where the ConceptWindow not only shows the "present belief" (the highest confidence) but also the "perfect belief" (the highest confidence where the frequency is 1.0 or 0.0).

Good idea. As far as in this form <canary --> fly> has a higher confidence than <canary --> nofly>, I don't worry if the mixed conclusion has a even higher confidence.

Pei
 

Jeff Thompson

unread,
Oct 11, 2009, 2:15:28 PM10/11/09
to open...@googlegroups.com
Pei Wang wrote:
You suggested adding more penguins and canaries.  The problem is that I don't think NARS is trying all the solutions, even after running for a long time.  With the same input sentences as above, but listed in  a different order, NARS does not find the higher confidence result
<canary --> nofly>. %0.4214;0.7368%
but gets "stuck" on what I assume is an intermediate result:
<canary --> nofly>. %0.0000;0.6182%
Even though this is what I "want", I imagine that with enough resources and time, NARS would find the higher confidence result with non-zero frequency if the search algorithm were allowed to find it.  So I don't trust the results I'm getting with more canaries and penguins: If I were to give the same input sentences in the right order, NARS would find higher confidence results than I have seen so far. This is why I would like a way to compute the solution with the "theoretical" highest confidence value.

Yes, this is a problem. The control mechanism is still too rough, and sometimes misses the desired results, that is why I haven't tried many large examples yet. I'm sure there are many modifications to be made in the control part, though given my limited time, I'd rather spend it to finish the logic part first --- as I mentioned before, almost any change in the logic will have an effect on the control, while there is no dependency on the other direction, since the logic doesn't depends on the details of the control. For now, you may also want to test the logic in a more step-by-step way, rather than expect the control mechanism to produce all desired results.

For testing purposes, I'm thinking of adding a control that will allow the user to select the concept, task link and term link for the next step, instead of using the "takeOut" functions.  Any ideas on how you would like to see this?  I'm thinking it could be (yet another) button "Select" in the ConceptWindow since that way we would know that it is a valid concept. Clicking "Select" would bring up another window to allow selecting the task link and term link (or to cancel).


In section 3.1 of the NAL spec, you describe a truth value with a complete subset relation (basically a frequency of 1.0) as "perfect". So I've been experimenting with code where the ConceptWindow not only shows the "present belief" (the highest confidence) but also the "perfect belief" (the highest confidence where the frequency is 1.0 or 0.0).

Good idea. As far as in this form <canary --> fly> has a higher confidence than <canary --> nofly>, I don't worry if the mixed conclusion has a even higher confidence.

I committed the code to display "perfect" belief and created an issue for you to review.

- Jeff


Pei Wang

unread,
Oct 11, 2009, 6:16:19 PM10/11/09
to open...@googlegroups.com
On Sun, Oct 11, 2009 at 2:15 PM, Jeff Thompson <jef...@gmail.com> wrote:

For testing purposes, I'm thinking of adding a control that will allow the user to select the concept, task link and term link for the next step, instead of using the "takeOut" functions.  Any ideas on how you would like to see this?  I'm thinking it could be (yet another) button "Select" in the ConceptWindow since that way we would know that it is a valid concept. Clicking "Select" would bring up another window to allow selecting the task link and term link (or to cancel).

That can be done, though may be quite complicated. Usually if you only feed the system the minimum tasks needed for a certain step, you'll get the desired result --- see my examples, such as http://code.google.com/p/open-nars/wiki/ProceduralLearning

In section 3.1 of the NAL spec, you describe a truth value with a complete subset relation (basically a frequency of 1.0) as "perfect". So I've been experimenting with code where the ConceptWindow not only shows the "present belief" (the highest confidence) but also the "perfect belief" (the highest confidence where the frequency is 1.0 or 0.0).

Good idea. As far as in this form <canary --> fly> has a higher confidence than <canary --> nofly>, I don't worry if the mixed conclusion has a even higher confidence.

I committed the code to display "perfect" belief and created an issue for you to review.

Thank! I'll take a look.

Pei

- Jeff






Jeff Thompson

unread,
Oct 11, 2009, 6:52:04 PM10/11/09
to open...@googlegroups.com
Pei Wang wrote:
On Sun, Oct 11, 2009 at 2:15 PM, Jeff Thompson <jef...@gmail.com> wrote:

For testing purposes, I'm thinking of adding a control that will allow the user to select the concept, task link and term link for the next step, instead of using the "takeOut" functions.  Any ideas on how you would like to see this?  I'm thinking it could be (yet another) button "Select" in the ConceptWindow since that way we would know that it is a valid concept. Clicking "Select" would bring up another window to allow selecting the task link and term link (or to cancel).

That can be done, though may be quite complicated. Usually if you only feed the system the minimum tasks needed for a certain step, you'll get the desired result --- see my examples, such as http://code.google.com/p/open-nars/wiki/ProceduralLearning

Can I use this approach to get a multi-line derivation like the ones I've been attaching?  I also want to see the correct "base" input experience in the stamp.  If I just enter intermediate results with the intermediate truth values, then stamp will be all different.



I committed the code to display "perfect" belief and created an issue for you to review.

Thank! I'll take a look.


You're welcome.  Hope you like it.

Pei Wang

unread,
Oct 11, 2009, 7:31:30 PM10/11/09
to open...@googlegroups.com
On Sun, Oct 11, 2009 at 6:52 PM, Jeff Thompson <jef...@gmail.com> wrote:
Pei Wang wrote:
On Sun, Oct 11, 2009 at 2:15 PM, Jeff Thompson <jef...@gmail.com> wrote:

For testing purposes, I'm thinking of adding a control that will allow the user to select the concept, task link and term link for the next step, instead of using the "takeOut" functions.  Any ideas on how you would like to see this?  I'm thinking it could be (yet another) button "Select" in the ConceptWindow since that way we would know that it is a valid concept. Clicking "Select" would bring up another window to allow selecting the task link and term link (or to cancel).

That can be done, though may be quite complicated. Usually if you only feed the system the minimum tasks needed for a certain step, you'll get the desired result --- see my examples, such as http://code.google.com/p/open-nars/wiki/ProceduralLearning

Can I use this approach to get a multi-line derivation like the ones I've been attaching?  I also want to see the correct "base" input experience in the stamp.  If I just enter intermediate results with the intermediate truth values, then stamp will be all different.


Of course, if you really need to get the stamp as they are in your current example, you cannot do step-by-step, though I still think it is easier to let the stamps to be different (which still can be followed) than to completely override the concept/task/belief selection mechanism using hand-picked premises in each step.

Even so, I don't mind you to give it a try. Maybe the system can even run in two separate modes: "automatic" vs. "manual", with a "switch" that can be set as a system parameter. I guess what you meant by the "select" button is to allow the user to copy/paste a task and a link in the ConceptWindow, then the system will use them just like the ones selected by the control mechanism. It should work.

Pei

Reply all
Reply to author
Forward
0 new messages