opencog-dev team mailing list archive
-
opencog-dev team
-
Mailing list archive
-
Message #00279
Re: removing fresh = true
>
> I think Ari's suggestion of dealing with the fresh stuff in the
> AtomTableWrapper is a good intermediary solution (perhaps when my PLN
> foo is up to his I can completely go with VersionHandles though).
I'm still not sure... it needs a little more thought... but at the end of
this email
I'll make a specific suggestion for how this might possibly be made to
work...
>
>
> I guess the question to do this is: what makes atoms unique? From the
> OpenCog code, for Nodes this seems to be the name and type, for Links
> it's ONLY the outgoingset (I find it strange that Type isn't
> included... is this correct?).
It sounds wrong. You could have both an InhLink and a HebbianLink
between the same two nodes A and B
>
>
> So for hypothetical Nodes, I could represent them by using some naming
> scheme such as prefixing the name of all PLN nodes by "__PLN__" or
> something.
>
> For hypothetical links, it'd be more difficult, since they don't have
> names, only the outgoing set... perhaps the creation of additional
> nodes for each hypothetical link (again, with a "__PLN__#" prefix)
> that are then connected to those hypothetical links, thus making each
> of them have a unique outgoing set.
Yuck ...
> ... But perhaps this is all just as complicated and extraneous work
> that could be spent directly on utilising VersionHandles?
>
Can't we just do it more like this...?
1)
When PLN wants to set fresh=true, then the AtomTableWrapper
creates a new version for Atom A.
PLN will have N different "dummy contexts" associated with it:
C1, C2,..., C_N
The first version of A created by PLN will have a VH associated with
context C1... the second version of A created by PLN will have a VH
associated with context C2 ... etc.
2)
Then, when appropriate, PLN can merge all the versions of A associated
with the different PLN dummy contexts into a single version (which in most
cases will just be the default version for the Atom A ... except in odd
cases
where the TV estimated for A by PLN is radically different from the one
estimated
by another method like direct evaluation, in which case we might still want
to keep
around one PLN-based version of A, along with other versions...). After
this merger
the dummy-context versions are all removed.
I guess this would all be done in the AtomTableWrapper ...
-- Ben
Follow ups
References