AndSeq, PredictiveImplication, etc

17 views
Skip to first unread message

Nil Geisweiller

unread,
Feb 4, 2011, 9:48:44 AM2/4/11
to OpenCog
Hi,

so here's what I suggest (thanks to Ben's help):

=== AndSeq ===

AndSeq <TV>
T
A
B

be defined as

AverageLink <TV>
t
AndLink
AtTime
t
A
AtTime
t+T
B

where T is a timestamp or a time interval, in this case t+T = [t1+t:t2+t(.

Ben, I've kinda checked (no formal proof just in my head) and it does
match the definition you suggested during the chat. Couldn't be more
elegant! :-)

As for a definition of AndSeq with no temporal label, I guess it could
be the average over all T, but ultimately I don't know how useful that
is, so I'd rather wait till we need it.

=== AndSeqInitiated ===

One can go with another variant using InitiatedAt instead of AtTime.
Let's call it AndSeqInitiated, so

AndSeqInitiated <TV>
T
A
B

is defined as

AverageLink <TV>
t
AndLink
InitiatedAt
t
A
InitiatedAt
t+T
B

Now what I like about this definition, beyond the fact that it is
super simple, is that whether the event A is initiated instantaneously
or progressively, as long as the delay in which B in initiated is
still within T, these 2 cases will have same TV! That is due to the
average of course.

For course one can imagine other variants using TerminatedAt, or
combining InitiatedAt and TerminatedAt, etc.

=== PredictiveImplication, PredictiveInheritance, etc ===

Just like AndSeq but you replace AndLink by ImplicationLink, etc.

So for instance

PredictiveImplication <TV>
T
P
Q

is equivalent to

AverageLink <TV>
t
ImplicationLink
AtTime
t
A
AtTime
t+T
B

It turns out

PredictiveImplication <TV>
T
P
Q

is equivalent to

Implication <TV>
P
AndSeq
T
P
Q

as suggested in the PLN book (although that is true now with the new
definition of AndSeq, not the one given in the book).

But this does not hold anymore if we use the variant of
PredictiveImplication using InitatedAt.

Nil

Ben Goertzel

unread,
Feb 4, 2011, 9:54:22 AM2/4/11
to ope...@googlegroups.com
This all seems workable to me, Nil... and yeah it's consistent with
what we discussed on gtalk ;) ...

ben

> --
> You received this message because you are subscribed to the Google Groups "opencog" group.
> To post to this group, send email to ope...@googlegroups.com.
> To unsubscribe from this group, send email to opencog+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/opencog?hl=en.
>
>

--
Ben Goertzel, PhD
CEO, Novamente LLC and Biomind LLC
CTO, Genescient Corp
Chairman, Humanity+
Adjunct Professor of Cognitive Science, Xiamen University, China
Advisor, Singularity University and Singularity Institute
b...@goertzel.org

"My humanity is a constant self-overcoming" -- Friedrich Nietzsche

Nil Geisweiller

unread,
Feb 5, 2011, 4:04:10 AM2/5/11
to OpenCog
Sorry I made a mistake, these following 2 definitions are close but
not generally equivalent

1)

> PredictiveImplication <TV>
>    T
>    P
>    Q
>
> is equivalent to
>
> AverageLink <TV>
>    t
>    ImplicationLink
>        AtTime
>            t

>            P
>        AtTime
>            t+T
>            Q

In that case

TV.s = Sum_t [ min(AtTime(t, P), AtTime(t+T, Q)) / AtTime(t, P) ] / N

where N a normative term (say the total number of time steps we consider)

2)

> PredictiveImplication <TV>
>    T
>    P
>    Q
>
> is equivalent to
>
> Implication <TV>
>    P
>    AndSeq
>        T
>        P
>        Q

in that case (by following the subset formula)

TV.s = Sum_t min(P(t), AndSeq(T, P, Q)(t)) / Sum_t P(t)

In the case where P is a boolean predicate then definitions #1 and #2
are equivalent, otherwise not.

Definition #1 is still workable, and in fact although definition #2 is
more homogeneous with the ImplicationLink definition, but I really
don't know which one in practice would be better.

As for variants using InitiatedAt or terminatedAt instead of AtTime,
one can still define that in the style of definition #2, in that case
one defines P_InitatedAt instead of P, so that

P_InitiatedAt <TVp>

is equivalent to

AverageLink <TVp>
t
InitiatedAt
t
P

Then

PredictiveInitiatedAtImplication <TV>
T
P
Q

is equivalent to

Implication <TV>
P_InitiatedAt
AndSeqInitiatedAt
T
P
Q

I guess #2 is better in the sense that it is closer to the spirit of
PLN fundamental equations (this is that style which presented in the
PLN book), although I guess both would work.

Nil

Nil Geisweiller

unread,
Feb 5, 2011, 7:43:53 AM2/5/11
to OpenCog

Wrong again, #1 and #2 are not equivalent even in non-fuzzy cases.

Let me illustrate why with the following example

PredictiveImplication <TV>
1h
RideSnowBoard
FallDown

imagine that half of the time when I ride a snow board, I fall down
within an hour. But I don't ride very often.

So with formula #1, TV.s will be very high because most of the time I
don't ride snow board so the implication in true.

While with #2, TV.s will be 0.5, because essentially it says it that,
in the context of riding snow board, I'll fall down within the next
hour.

For that reason I think we should use #2, it is more useful and much
closer to the semantics of Implication.

So I guess, we're done, Woohoo! :-)))

Nil

Ben Goertzel

unread,
Feb 5, 2011, 8:48:31 AM2/5/11
to ope...@googlegroups.com
yeah, #2 is better...

Reply all
Reply to author
Forward
0 new messages