Talk:Type hierarchy

From OpenCog
(Redirected from Talk:ProtoAtom)
Jump to: navigation, search

Here's an older implementation idea

The below used to be on this page. Its still interesting; its an older idea that was not pursued. Linas (talk) 05:17, 29 March 2017 (UTC)

EvaluationLink-like

Here's one idea:

  ProtoEvaluationLink
        PredicateNode "name of the attribute, e.g. AV"
        SomeAtom
        FloatValue   # which is a vector of floats holding the actual av
  • Where SomeAtom is the atom to be tagged with the attribute.
  • Where the PredicateNode is an actual node, so that it's in the atomspace, its globally unique, and thus easy to find.
  • Where the ProtoEvaluationLink shows up in the incoming set of both SomeAtom, and of the PredicateNode, so that it is easy to find, given one or the other or both.
  • Perhaps there should be a ProtoStateLink, which would be globally unique, given the first two elements (similar to StateLink).
  • Perhaps the ProtoStateLink should be a real actual link, kept in the atomspace???
  • What is the *fastest* algorithm for finding the value, given SomeAtom, and the PredicateNode ... ? Perhaps the fastest algorithm would come from using this structure:
  ProtoEvaluationLink
        ListLink    # a real link, thus globally unique, and easily found in the atomspace.
            PredicateNode "name of the attribute, e.g. AV"
            SomeAtom
        FloatValue   # which is a vector of floats holding the actual av


The above ListLink variant uses more RAM...

My current favorite ideas are the above or something very similar; there are certainly other ways to do things; do the other ways have an equally simple API?