some explanations on the unified rule engine

93 views
Skip to first unread message

Apil Tamang

unread,
Jan 7, 2017, 6:10:25 PM1/7/17
to opencog
Hi All,
This is my attempt to understand  the unified-rule-engine (and the associate backward/forward chaining) in some more detail. I found this page deals exclusively with this topic, but I continue to find it confusing. Are there any other notes/pages (maybe) describing about these topics in perhaps a different perspective?

Thanks...

Alex

unread,
Jan 7, 2017, 7:26:19 PM1/7/17
to opencog
I don't know yet the OpenCog rules, but some time ago I played with business rules engines (https://en.wikipedia.org/wiki/Business_rules_engine) like JBoss Drools or IBM ILOG. Those rule engine uses forward chaining algorith called Rete algorithms for making their inferences. It is very useful approach for some parts of business software.

AmeBel

unread,
Jan 8, 2017, 8:40:06 PM1/8/17
to opencog

Nil Geisweiller

unread,
Jan 9, 2017, 1:21:35 AM1/9/17
to ope...@googlegroups.com
So you know I do intend to clean up and complete the URE documentation,
I'm just waiting that it matures to the point that I can run our big
inferences.

Nil

On 01/09/2017 03:40 AM, AmeBel wrote:
> https://github.com/opencog/atomspace/tree/master/examples/rule-engine
> might help
>
> On Sunday, January 8, 2017 at 7:10:25 AM UTC+8, Apil Tamang wrote:
>
> Hi All,
> This is my attempt to understand the unified-rule-engine (and the
> associate backward/forward chaining) in some more detail. I found
> this <http://wiki.opencog.org/w/Unified_rule_engine> page deals
> exclusively with this topic, but I continue to find it confusing.
> Are there any other notes/pages (maybe) describing about these
> topics in perhaps a different perspective?
>
> Thanks...
>
> --
> 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>.
> 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/9f653de7-d023-48da-9df6-75355e7c3dbb%40googlegroups.com
> <https://groups.google.com/d/msgid/opencog/9f653de7-d023-48da-9df6-75355e7c3dbb%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

Apil Tamang

unread,
Jan 9, 2017, 8:38:32 AM1/9/17
to opencog
Hi All,

I've been constantly going back-and-forth between the doc. page for the URE and the example in atomspace. I prepared some notes, and have attached them below.

What might really help is to point out how each step in the doc. applies to the example 'crisp.scm'. I can follow the source code to figure out what the 'target' and the 'rule-sets' are. But I don't think I could follow how the rules are chosen, and for each rule, how the premise(s) are selected (in the atomspace/examples/rule-engine example). Premise selection seems to be a key step in the forward/backward chaining process. 

I also could not figure out how for each rule (crisp-modus-ponens-rule, crisp-deduction-rule) the "information regarding the rule output is stored in Atomspace". The wiki page says that the node: ExecutionRecordLink is used to do such. I don't see such a node in any scm file within this example's source.

Anyways... I still have a lot to learn so I don't expect to understand everything right off. The points above may be taken to simply improve the docs for the URE and notes in the rule-engine example. so that there is more parallel between the two.
Note Jan 7, 2017 5_20_13 PM (opencog unified-rule-engine wikipage) (2).pdf

Nil Geisweiller

unread,
Jan 9, 2017, 4:02:20 PM1/9/17
to ope...@googlegroups.com
Thanks for sharing your notes! I'll have a look at them when I get back
to correcting/completing the doc.

FYI, the forward chainer code is a mess and I intend to refactor it as
soon as I'm done "maturing" the backward chainer. I'm hopeful to be done
over the week, then I'll take care of the doc + simplifying the forward
chainer.

Nil

On 01/09/2017 03:38 PM, Apil Tamang wrote:
> Hi All,
>
> I've been constantly going back-and-forth between the doc. page for the
> URE and the example in atomspace. I prepared some notes, and have
> attached them below.
>
> What might really help is to point out how each step in the doc. applies
> to the example 'crisp.scm'. I can follow the source code to figure out
> what the 'target' and the 'rule-sets' are. But I don't think I could
> follow how the rules are chosen, and for each rule, how the premise(s)
> are selected (in the atomspace/examples/rule-engine example). Premise
> selection seems to be a key step in the forward/backward chaining process.
>
> I also could not figure out how for each rule (crisp-modus-ponens-rule,
> crisp-deduction-rule) the "information regarding the rule output is
> stored in Atomspace". The wiki page says that the node:
> ExecutionRecordLink is used to do such. I don't see such a node in any
> scm file within this example's source.
>
> Anyways... I still have a lot to learn so I don't expect to understand
> everything right off. The points above may be taken to simply improve
> the docs for the URE and notes in the rule-engine example. so that there
> is more parallel between the two.
>
>
>
>
> On Saturday, January 7, 2017 at 6:10:25 PM UTC-5, Apil Tamang wrote:
>
> Hi All,
> This is my attempt to understand the unified-rule-engine (and the
> associate backward/forward chaining) in some more detail. I found
> this <http://wiki.opencog.org/w/Unified_rule_engine> page deals
> exclusively with this topic, but I continue to find it confusing.
> Are there any other notes/pages (maybe) describing about these
> topics in perhaps a different perspective?
>
> Thanks...
>
> --
> 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>.
> 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/aa17a84f-273d-46f2-800c-dde0f357f851%40googlegroups.com
> <https://groups.google.com/d/msgid/opencog/aa17a84f-273d-46f2-800c-dde0f357f851%40googlegroups.com?utm_medium=email&utm_source=footer>.
Reply all
Reply to author
Forward
0 new messages