Thank you Nil, short remarks: -- what you explain below, is it clearly written up in some README and/or wiki page? If not, can I get you to do that?
Does the chainer stop, soon as it finds some solution, or does it continue up until some user-specified depth? A related but unrelated FYI remark... for the language learning project, we need to be able to create "random languages", for testing purposes: create a random syntax, then create random sentences, then see if the learner can accurately learn the random syntax. For generating speech, we need to do something similar, but instead use a fixed (English language) syntax, and include fixed words (e.g. "pizza", "verb-to-eat", and "Ben") and generate a syntactically-valid sentence that includes those words. I'm planning to start a new git-repo "real soon now" that will provide code for above. The funny thing is -- the algo to accomplish this sounds a lot like the backward chainer. But with my usual twist -- the rules are not rules with variables in them, they are the "jigsaw puzzle pieces" with connectors in them. Assembly continues until there are no more unconnected jigsaw-puzzle tabs. Instead of unification and beta-reduction, one connects together "connectors". I think it would be interesting to clarify, via direct examples, if somehow the jigsaw-puzzle-piece concept can be mapped into URE rules, and if the backward chainer could be used to perform this generation. I mean, I know everyone has lots to do, but ... this should be done... --linas On Wed, Mar 4, 2020 at 6:59 AM 'Nil Geisweiller' via opencog < [email protected]> wrote: > On 3/2/20 12:57 PM, Alexander Gabriel wrote: > > > > No, it typically doesn't need to execute the link it is doing > inference > > on, rather it runs inference trees constructed from inference rules > > that > > produces the target, including updating its TV. Whether this is fast > or > > slow depends on the inference trees, not so much the target. > > > > > > I'm not sure I understand, don't the inference trees result from the > > interaction between the target and the rulebase? > > Yes, but that's a static interaction. Basically, in the case of backward > chaining, the target is syntactically unified with the conclusion of > some rule, then some simple inference tree like > > premise_1 > ... > premises_n > > |- > > target > > is created, then one of the premises is syntactically unified with > another rule to create a bigger inference tree, etc. > > Every time an inference tree is created it is executed, and results are > collected, and returned the user at the end. > > Nil > > > > > > > > If you add a type declaration (I believe the python bindings > > allow you > > > that), it should speed up the reasoning as well. > > > > Most of the atoms I add are ConceptNodes (200-300 at the moment and > > almost all of them are places), so restricting chaining to those doesn't > > help me much. In any case I'm already doing that. > > > > > > for instance the frog example show an example of variable > > declaration in > > a backward chainer query > > > > > https://github.com/opencog/ure/tree/master/examples/ure/frog#backward-chainer > > < > https://github.com/opencog/ure/tree/master/examples/ure/frog#backward-chainer > > > > > > > > Yes, that's the same kind of variable declaration that I use above. The > > VariableList from the GetLink I also give to the backward chainer. > > What happens for different variations of variable declarations provided > > for the getlink and the backward chainer, I've detailed in the last post. > > > > Best, > > Alex > > > > -- > > 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 view this discussion on the web visit > > > https://groups.google.com/d/msgid/opencog/2cf3a540-b069-4bbf-810b-066c2ecd2051%40googlegroups.com > > < > https://groups.google.com/d/msgid/opencog/2cf3a540-b069-4bbf-810b-066c2ecd2051%40googlegroups.com?utm_medium=email&utm_source=footer > >. > > -- > 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/0d653f73-d85a-b01a-226e-3e4daf14aa98%40gmail.com > . > -- cassette tapes - analog TV - film cameras - you -- 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/CAHrUA35hQ_vOZPtU%3D43TpDWyrA1cfVNGeHNv89hM9peRqiazHA%40mail.gmail.com.
