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...
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