On 09/19/2017 08:23 PM, Alex wrote:
OpenCog uses Scheme as knowledge representation language (as I
understand, then this is one from many options for interfacing with
OpenCog). So - this is natural question - *how close are valid Scheme
programms to the sentences of OpenCog knowledge? Are OpenCog knowledge
Scheme itself is not represented in the AtomSpace, expect that you can
call scheme functions from the AtomSpace but that's all, here's an example
(And (Predicate "P") (Predicate "Q"))
represent the predicate that is the intersection between P and Q.
Here's another one
(Lamdba
(Variable "$X")
(Evaluation
(GroundedPredicate "scm: my-fun")
(Variable "$X")))
defines an anonymous predicate using a scheme defined function called
my-fun.
There's also a Define construct, similar (but not identical) to scheme
define, etc. So you see it is close to scheme in spirit and syntax but
it is NOT scheme, it is what is currently called atomese, although we
use scheme (or Python, or Haskell) to communicate in atomese.
There is homoiconicity in Scheme language - Scheme code is the data and
Scheme data is the code. So - one can represent the data/declarative or
procedural knowledge with the Scheme code.
Same thing in OpenCog/atomese.
If OpenCog sentences are more or less valid Scheme programs and if
Scheme programs are data structures, then the following question arise -
*how can we represent Scheme programs as data structures - can current
production ready graph databases (Neo4j) be used for the storing the
Scheme programs and for the querying Scheme programs and also - for
executing Scheme programs?* If such represenation is possible then maybe
Correct, but not scheme program, atomese program.
it is possible to move OpenCog knowledge bases (as Scheme programs) to
graph databases. I am suspicious about Neo4J, because it is commercial
database, but Apache ArangoDB can be very good options, because it is
open source and it known to be very scalable. I am a bit suspicous
whether OpenCog infrastructure can compete with the commercial ready
databases. And if Scheme programs can be represent in current database
then we can keep OpenCog philosophy, knowledge base code, agent code and
gain the scalability of graph databases...
Don't know the other data bases you cite (Linas and Ben know however).
If OpenCog knowledge base (AtomSpace) is the big Scheme program then we
can consider also the self-modification of this program. And even more -
Scheme language as functional programming language is connected to
lambda calculus and lambda calculi are the prime formalism for the
reasearch and implementation of the Goedel machine. So - *self modifying
OpenCog atomspace (as Scheme program) can be the Goedel machine or at
least the seed of Goedel machine or the seed of AGI?*
YEAH! I've been saying that ever since I've known Ben Goertzel design,
back in the Novamente days, maybe we should call it the Goertzel machine.
*So - are there thoughts and ideas floating around along the lines that
I have described?*
You may want to take a look at the URE
http://wiki.opencog.org/w/Unified_rule_engine
See the examples in the atomspace and opencog repo as well
https://github.com/opencog/atomspace/tree/master/examples/rule-engine
https://github.com/opencog/opencog/tree/master/examples/pln
Nil
--
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]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit
https://groups.google.com/d/msgid/opencog/1a6823b8-0479-4469-a2ac-47a36b1c2140%40googlegroups.com
<https://groups.google.com/d/msgid/opencog/1a6823b8-0479-4469-a2ac-47a36b1c2140%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit
https://groups.google.com/d/msgid/opencog/3bb367df-cc7a-124d-85a9-f894addc7fd5%40gmail.com.
For more options, visit https://groups.google.com/d/optout.