← Back to team overview

opencog-dev team mailing list archive

Re: removing fresh = true

 

On Fri, Aug 1, 2008 at 1:19 PM, Ben Goertzel <ben@xxxxxxxxxxxx> wrote:
>> 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

Yes you are correct and I misread the code (it was a overloaded
getHandleSet whose format I was not used to). So Type also affects
Link uniqueness.

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

This makes sense to me. And seems more appropriate to me... my
suggestion was trying to avoid using VersionHandles since I wasn't
sure what their status was... Do they act essentially as described
here https://extranet.vettalabs.com:8443/bin/view/Novamente/AtomVersionHandles
?

(Obviously I can read the code to find out, but it'll aid
understanding if my concept of VersionHandles doesn't clash with what
the code does.)

J



Follow ups

References