Hi Nil,

> I'm trying to understand specifically your problem. By instances I suppose
> you mean
>
> EvaluationLink (stv 1 1)
>   PredicateNode "eat_342"
>   List
>     ConceptNode "cat_132"
>     ConceptNode "mouse_243"
>
> for a positive one.
>
> Evaluation (stv 0 1)
>   PredicateNode "eat_635"
>   List
>     ConceptNode "cat_768"
>     ConceptNode "mouse_129"
>
> for a negative one.

Yes!

> Then you're goal is to define the strength and count of
>
>> EvaluationLink (stv strength count)
>>       PredicateNode "eat"
>>       List
>>            ConceptNode "cat"
>>            ConceptNode "mouse"
>
> right?

My goal is to define the truth value of the above link ...

> But the calculation of strength depends on the semantics you want to this TV
> to have, right?
>
> There is no standard semantics for that according to PLN, as far as I know.
>
> For instance you may say that the strength represents the probability of cat
> eating a mouse vs not eating a mouse, and then your total count is the sum
> of positive and negative instances.

Yeah, but

-- probability of cat eating mouse, versus cat eating arbitrary X

-- probability of cat eating mouse, versus arbitrary Y eating mouse

-- probability of cat eating mouse, versus arbitrary relation Z
holding between cat and mouse

each give different strengths, all formed by taking the same
positive-evidence value and normalizing it by a different
total-evidence

We could also form

-- probability of observing "cat eating mouse",  as opposed to
observing "Z(X,Y)" for some triple (X,Y,Z) ...

-- probability of observing "cat eating mouse", as opposed to
observing Z(L) for some predicate Z and some arg-list L ... i.e. the
probability of  observations of "Cat eating mouse" in the space of all
predicate-evaluations whose truth one has observed ...

The latter would be an OK analogue of "node probability" I guess...

If one chose any of the above systematically to define strength s, and
one then retained both s and total_evidence (count =n or confidence),
then one could get back positive_evidence from (s, n) ....   However,
choosing one of these seems kind of a hack which is why it seemed
maybe better to just store the positive_evidence... and then
synthesize whatever strengths one needs on the fly...

>> EvaluationLink (stv strength count)
>>       PredicateNode "eat"
>>       List
>>            ConceptNode "cat"
>>            ConceptNode "mouse"
>
> I suppose the count would the number of all instances you have,

instances of what, though?

> and the
> strength would the number instance with (stv 1 1) / by the number of
> instances with (stv 0 1). But again that's up to the semantics you want it
> to capture.

Yes - which may well be different in different cases...

> If there's no obvious way, it means the semantics is not completely
> determined, then it needs to be determined...

I have a feeling the desired normalization will not be the same in all
cases, whereas the positive-evidence is always the central number
required in all cases...

>> If we apply Evaluation2Member to get
>>
>> MemberLink
>>      ConceptNode "mouse"
>>      SatisfyingSet
>>            VariableNode $X
>>            EvaluationLink
>>                   PredicateNode "eat"
>>                   List
>>                          ConceptNode "cat"
>>                           $X
>>
>> then we could meaningfully come up with some fuzzy strength, and if we
>> then apply M2I to get
>>
>> InheritanceLink
>>      ConceptNode "mouse"
>>      SatisfyingSet
>>            VariableNode $X
>>            EvaluationLink
>>                   PredicateNode "eat"
>>                   List
>>                          ConceptNode "cat"
>>                           $X
>
>
> Do you mean?
>
>> InheritanceLink
>>      SetLink ConceptNode "mouse"
>>      SatisfyingSet
>>            VariableNode $X
>>            EvaluationLink
>>                   PredicateNode "eat"
>>                   List
>>                          ConceptNode "cat"
>>                           $X
>
> that is what the PLN gives, which contradicts the implementation, which
> match what you wrote... I'm confused.

Hmm, let's see...

The MemberLink before M2I means

"mouse is a member of the set of things that cats eat"

Whereas, the InheritanceLink after M2I means

"X is a member of mouse, implies (extensionally and intensionally) X
is a member of the set of things that cats eat"

I.e. the M2I rule in its currently implemented form relies on the
interpretation of

ConceptNode "cat"

as equivalent to

SatisfyingSet
    MemberLink
         $X
         ConceptNode "cat"


> No, it is the count of (SetLink (Concept "Ben")), which is 1. Or if that
> weird M2I as currently implemented rule is correct, it is the count of
>

It's the count of

ConceptNode "cat"

which is the count of

SatisfyingSet
     MemberLink
           $X
           ConceptNode "cat"

> Agreed. Ultimately I think we could offer a positive_evidence setter. But I
> still don't understand the need for propagating positive_evidence without
> knowing the total count.

It's because the same positive-evidence value makes sense in the
context of multiple different choices for the total count...

-- Ben

-- 
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/CACYTDBddvx-sf18YZcpJ7UqmKKYXWxM%3DAhQpOH7Zt4_cBcCegA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to