← Back to team overview

opencog-dev team mailing list archive

Re: PLN status?

 

Joel,

"making EVERY TruthValue in PLN have a separate context" would essentially mean that you use a Handle-to-a-context-where-A-resides instead of a Handle-to-A. This is fine for maintaining the distinct TVs, but again, I'm not sure how you'd make it work with keeping outgoing trees in the same context. (Having the context hierarchy be the outgoing tree of the root context node? Maybe, but that sounds potentially complex.)

-A

Joel Pitt wrote:
Okay, rethinking that...

Initially I thought there'd be set of dummy contexts, if there were
say 10 dummy contexts then each atom related to PLN could store 10
Versioned TruthValues. I.e the contexts would be the same for
different atoms.

The alternative is making EVERY TruthValue in PLN have a separate
context. Then the AtomTableWrapper in PLN would take the Handle of a
PLN context and convert this into the Handle of the actual atom and
the Version Handle.

At the moment the alternative is sounding less difficult, but also
much less efficient, since there are two additional atoms (a concept
node and a context link) for every PLN atom.

Thoughts?

J

On Wed, Aug 20, 2008 at 7:47 PM, Joel Pitt <joel.pitt@xxxxxxxxx> wrote:
Hi Ari (and Novamente people),

So I've implemented a fresh add that uses dummy Contexts. I'm now
considering the best way to implement retrieval of version specific
TruthValues, since one can no longer can simply use the Handle, as the
VersionHandle is also needed to recall a specific TruthValue.

My idea was to use a pair<Handle,VersionHandle> in place of Handle
within the boost::variant Vertex. The tricky pointer/type distinction
can still go on with the Handle part of the pair. I want to check
first however before going ahead with it, since the Vertex variant is
used within AtomSpace for an addAtom method and within AtomSpace
utility files, so perhaps there are other things within Novamente that
would be impacted if they are being ported to OpenCog?

Cheers,
J

On Wed, Aug 20, 2008 at 5:54 AM, Ari Heljakka
<ari.heljakka@xxxxxxxxxxxxxx> wrote:
Joel,

once I finally got to the linking stage, MSVS finds 104 errors and then
crashes. It may be due to some of the very long template error messages.

I used to compile novamente code without serious problems in spring 2007.
Perhaps the OpenCog has added some special extra complication there... I've
never seen anything like this with MSVS; I'm using the 2005 version.

Anyway, since I'm not going to be helpful with the code anytime soon, I'll
prioritize giving you some of those screencasts regarding the most important
PLN classes.

-A

Joel Pitt wrote:
Still working on compiling it? Sorry it's a pain :/

In the BZR branch I've recently added a function stub to add atoms in
dummy contexts and hopefully will get this done by the end of the
week. I'm somewhat confident about what I have to do to allow the
addition of atoms emulating fresh functionality, but a little hazy on
how to provide the recall of those atoms since instead of handle
they'll also need a version handle (or the index of the dummy context
used).

J




--
Ari Heljakka
CTO
Dream Broker Ltd		

Tekniikantie 14			ari.heljakka@xxxxxxxxxxxxxx
02150 Espoo			+358 40 568 2420
Finland				www.dreambroker.fi



References