Hey hey,

Some more stuff  to share on the MeTTa language that's at the core of
the Hyperon design ( https://wiki.opencog.org/w/Hyperon )

I made a brief summary of key MeTTa features

https://docs.google.com/document/d/1iSbZtooDj4HuJayj0nhm_KRqqdCJBJ9P5LfjKzJBEnA/edit#

(Consistent with Alexey's prior MeTTa spec document,
https://wiki.opencog.org/w/File:MeTTa_Specification.pdf )

And also a rough sketch of how one would implement MeTTa as a
collection of metagraph rewrite rules

https://docs.google.com/document/d/13EPXlddLJAFBXfgmxduwxkMHAXdeCCf5i3VKr0XYy-I/edit

(I will make a more rigorous version of this at time permits)

I also note that this paper from Wolfram's group

https://arxiv.org/pdf/2111.03460.pdf

while written in a different context, seems to be applicable to what
we're doing.   Extending their hypergraph results to metagraphs seems
straightforward.

A "multiway metagraph" in (a generalization to metagraphs of) their
terminology would basically be an execution trace of a MeTTa program
on a metagraph... which of course can also be expressed as a
metagraph.   Given nondeterminism of execution, a given program can
lead to a number of multiway metagraphs.

Metagraph homomorphisms between execution traces, are then the
homotopies btw derivations referenced in HoTT ... so one naturally
builds up to the n-groupoid and as the limit the infinity-groupoid ...

One gets a different infinity-groupoid for each MeTTa program , so the
space one gets from execution traces of the full scope of MeTTa
programs is an infinity-category of infinity-groupoids, aka the
(infinity,1)-topos

So all this basically follows if one represents MeTTa programs as
collections of metagraph rewrite rules.

The Verigraph work

https://link.springer.com/chapter/10.1007%2F978-3-319-75396-6_9

https://github.com/Verites/verigraph

shows that pattern-matching search heuristics can be elegantly
expressed in terms of the categorial rewrite rule formalism (they work
w/ graph rewrite rules but it should also work for metagraphs).   It
seems a sound approach for the MeTTa interpreter implementation will
likely be to implement the simplest PM heuristic in Rust, with a
pluggable search policy  ... and then express the pluggable search
policies in MeTTa using appropriate abstractions that are based on
modeling MeTTa in MeTTa as a collection of metagraph rewrite rules.

These pluggable search policies will end the end need to use ML for PM
search guidance

All "high class plumbing" (from an AGI perspective) but fun stuff
nevertheless! ;)

All this uber plumbing, when it's done, should make experimentation w/
synergetic use of logic systems, program learning systems and neural
systems a lot more concise and efficient !


ben

-- 
Ben Goertzel, PhD
[email protected]

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

-- 
You received this message because you are subscribed to the Google Groups 
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/CACYTDBfeiwNnKYCd_OXE4A1udsv8C9iRUqUgoQHxqhPQj2fWXQ%40mail.gmail.com.

Reply via email to