Atoms, PLN reasoning and rules - good reference how to express rules as Atoms

87 views
Skip to first unread message

Alex

unread,
Feb 21, 2017, 3:40:44 PM2/21/17
to opencog
Up to know I thought that OpenCog is about PLN reasoning, but after some reading I should acknowledge that OpenCog is more or less yet another production rules system in which the expert (or other kind of) knowledge is encoded as rules that - in the course of inference process (forward chaining) are able to create new atoms, change attribute values and possibly negate previously concluded statements (some kind of nonmonotonicity). As far as I understand then rules as almost the most important type of representation of knowledge.

That is why I have questions:

- does OpenCog have special rules language? I see example http://wiki.opencog.org/w/Expressing_PLN_Rules_As_Atoms that rules can be expressed in terms of Nodes and Links and there is no need for other language.

- is there some more elaborated guid how to write rules in terms of nodes and links?

How others feel about using rules? I have encoutered many production rule systems (including https://www.drools.org/ and https://www-01.ibm.com/software/info/ilog/) I have have always wondered how widely accepted they are but how little theoretical foundations they have? Google search for "formalization of production rules", "semantics of production rules" and similar queries gives almost none relevant research result. What is production rules - is this new kind of logic or transition system of programming paradigm (who lacks rigorous semantics)? It is not the tradictional implication connective of the propositional or first order logic. http://blog.ruleml.org/post/32629706-the-sad-state-concerning-the-relationships-between-logic-rules-and-logic-programming is good reference about my concerns.

Ben Goertzel

unread,
Feb 21, 2017, 11:03:19 PM2/21/17
to opencog
Opencog is not fundamentally a rule system, it is a rule system and an attractor neural network and an evolutionary learning system etc ... the synergy btw the different aspects is key to the learning approach...

More later... ben

--
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 opencog+unsubscribe@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
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/1294dd5c-cebd-436a-8354-f099bcc87405%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Alex

unread,
Feb 22, 2017, 3:10:05 PM2/22/17
to opencog
I am well aware of breadth and depth of the project (I am reading AGI two volume set, PLN book, AGI conferences proceedings, wiki, etc.) but I just wanted to take off and start with manually created knowledge base and I think that OpenCog is the perfect environment where I can host it - it allows multiple logics (with gradual transition from probabilisti to crisp logic) and it allows expansion in the future (e.g. adding NLP or automatic learning capabilities)

Currently I don't understand:
- ImplicationLink - is it the logical connective (whose consequent just bring out the knowledge that existed in the implicit form) or is it the sign of production rule (whose consequent can create of reject existing knowledge, e.g., but creating new concepts or new instances of existing concepts)? Or maybe ImplicationLink can act in both roles depending on the content of the ImplicationLink?
- How can I express the creation or deletion of the Atom, e.g. in the consequent part of the ImplicationLink? Statement about existence or non-existence seems not to serve well, some imperative statement can be more intuitive here.

It could be good idea to document how the Object-Oriented design and programming notions can be mapped or translated into Atomese language. Potential users are experienced in object oriented modelling and it could smooth the learning curve if something known could be shown.

Nil Geisweiller

unread,
Feb 22, 2017, 5:50:38 PM2/22/17
to ope...@googlegroups.com
Hi,

On 02/21/2017 10:40 PM, Alex wrote:
> *- does OpenCog have special rules language? I see
> example http://wiki.opencog.org/w/Expressing_PLN_Rules_As_Atoms that
> rules can be expressed in terms of Nodes and Links and there is no need
> for other language.*

Rules are expressed as BindLinks
http://wiki.opencog.org/w/SatisfactionLink_and_BindLink

> *
> *
> *- is there some more elaborated guid how to write rules in terms of
> nodes and links?*

http://wiki.opencog.org/w/URE_Configuration_Format

More doc is coming in the forthcoming weeks. Meanwhile you may have a
look at

https://github.com/opencog/atomspace/tree/master/examples/rule-engine
https://github.com/opencog/atomspace/tree/master/tests/rule-engine
https://github.com/opencog/opencog/tree/master/examples/pln

I'm aware of some tutorials, here's one
http://wiki.opencog.org/w/PLN_Forward_Chaining (I don't know how up to
date it is, I didn't write it), I know there is at least one more but I
can't find it. But looking at the examples under the repos are probably
good enough anyway.

Nil

>
> *How others feel about using rules?* I have encoutered many production
> rule systems (including https://www.drools.org/
> and https://www-01.ibm.com/software/info/ilog/) I have have always
> wondered how widely accepted they are but how little theoretical
> foundations they have? Google search for "formalization of production
> rules", "semantics of production rules" and similar queries gives almost
> none relevant research result. What is production rules - is this new
> kind of logic or transition system of programming paradigm (who lacks
> rigorous semantics)? It is not the tradictional implication connective
> of the propositional or first order
> logic. http://blog.ruleml.org/post/32629706-the-sad-state-concerning-the-relationships-between-logic-rules-and-logic-programming
> is good reference about my concerns.
>
> --
> 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 opencog+u...@googlegroups.com
> <mailto:opencog+u...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>.
> <https://groups.google.com/d/msgid/opencog/1294dd5c-cebd-436a-8354-f099bcc87405%40googlegroups.com?utm_medium=email&utm_source=footer>.
Reply all
Reply to author
Forward
0 new messages