Some time ago i have tried to use backward chainer to do planning in 
block-world domain. I directly encoded actions as URE rules i.g. bindlinks. 
For example stacking action in form of pddl and atomese:


(:action stack 
     :parameters (?ob ?underob) 
     :precondition (and (clear ?underob) (holding ?ob)) 
     :effect (and (clear ?ob) (on ?ob ?underob) 
                 (not (clear ?underob)) (not (holding ?ob)))) 

BindLink
    VariableList
        VariableNode "?ob-525c4b8"

    AndLink
        EvaluationLink ; - precondition of stack
            PredicateNode "holding"
            VariableNode "?ob-525c4b8"

    ExecutionOutput
        GroundedSchemaNode "scm: stack-action"
            ListLink
            AndLink ; - effect of stacking

   
Full bindlink is here 
https://github.com/noskill/ure/blob/planning/examples/ure/planning/rules.scm. 
<https://github.com/noskill/ure/blob/planning/examples/ure/planning/rules.scm>

The thing is that once ure infers that some block is not clear the atom is 
stored and can't be removed from the atomspace inside URE. Perhaps that 
would work if you put variables inside context link and modify all effects 
to create a new ContextLink.

вторник, 5 мая 2020 г. в 10:18:53 UTC+3, Nil: 

> Q,
>
> On 5/2/20 2:41 AM, qwerty mnbvc wrote:
> > I did see this on the wiki:
> > Planning via Temporal Logic & Consistency-Checking
>
> Could you indicate the exact url? I can't find it.
>
> Thanks,
> Nil
>
> > 
> > I will look into this idea and keep digging around for others.
> > 
> > Thanks
> > Q
> > 
> > On Fri, May 1, 2020 at 8:04 AM Linas Vepstas <[email protected] 
> > <mailto:[email protected]>> wrote:
> > 
> > Sorry, a part two to the below, I hit send too fast.  See below.
> > 
> > On Fri, May 1, 2020 at 9:51 AM Linas Vepstas <[email protected]
> > <mailto:[email protected]>> wrote:
> > 
> > 
> > 
> > On Fri, May 1, 2020 at 9:15 AM Ben Goertzel <[email protected]
> > <mailto:[email protected]>> wrote:
> > 
> > Linas, what sort of algorithm is used for the
> > constraint-solving here?
> > 
> > 
> > Heh. Marvelous question! For just right now, in version 0.1, its
> > something I call "aggregation" (its supposed to remind you of
> > DLA "diffusion-limited aggregation") and its quite "simple":
> > (well not all that simple under the covers, but
> > easy-to-understand) -- given an existing collection of
> > unconnected connectors, try attaching one more node. Repeat
> > until there are no more unconnected connectors.
> > 
> > 
> > So, for example, if one of the unconnected connectors is "I'm here
> > on this side of the doorway", and another unconnected connector is
> > "The other wide of the doorway is unoccupied", and one of the nodes
> > is "try opening the door", that node would be attached, thus
> > completing the motion-planning problem.  This may sound vague right
> > now, and that's why an explicit demo is needed. I think it should be
> > possible and not hard.
> > 
> > 
> > Aggregation is like generalized A*-search. Now, in A*-search,
> > one only ever attaches a single edge at a time, and the space is
> > always 2D (or 3D I guess..) In my case, the space doesn't have a
> > dimension (or rather, doesn't have to have), and you don't have
> > to add just a single edge at a time - you can add a
> > three-pointed hyperedge, etc. (I guess that now I need to write
> > a A*-search demo for this...)
> > 
> > I say "just right now" because it is clear that other algos are
> > possible; I'm pondering them now but have not yet created any
> > specific plans. If you care to propose any, let me know. I'm
> > interested in alternatives, because its clear that its hard to
> > control the shapes of the generated network by using aggregation.
> > 
> > 
> > The source of the constraints is that the connectors are typed. They
> > can be connected only when the types match.  I think that this is
> > equivalent to the kinds of constraint problems that ASP (answer-set
> > programming) solves but not sure, I might be imagining things. Since
> > all ASP solvers use SAT solvers under the covers, I guess that using
> > SAT should be possible in this case too, but .. well, version 0.1 so
> > far...
> > 
> > I have not thought very much about other ways of specifying
> > constraints.
> > 
> > Search guiding is done by weighting.  So far, I have only very
> > simple weighting.  I imagine that ECAN can be layered on this, but
> > it would require a ground-up new implementation of ECAN. Other
> > weighting and guiding schemes are possible. Anything that returns a
> > number that says "hey this is not a fruitful direction to search in".
> > 
> > 
> > However, I think that the aggregation algo is plenty good enough
> > for natural language -- I'm thinking of using this to replace
> > sureal. As "starting points" you can specify "to eat" and "Ben"
> > and "pizza" and it should generate all sentences with those
> > words in it (in whatever word order is correct, for the
> > specified formation rules). So far, only a few tiny examples of
> > it doing this, with extremely limited vocabulary.  Its version
> > 0.1...
> > 
> > --linas
> > 
> > 
> > 
> > 
> > 
> > 
> > On Fri, May 1, 2020 at 3:11 AM Linas Vepstas
> > <[email protected] <mailto:[email protected]>> wrote:
> > >
> > > There is also the brand new version 0.1 generator code.
> > It can be thought of as kind-of a planner, in that a set of
> > "start points" can be specified, and a set of "end points"
> > as well, and it will generate all paths between the two.
> > >
> > > More precisely, it will generate a network of all
> > possible interconnected paths between the endpoints, with
> > the intervening network subject to rules of formation. So
> > its not only a path planner, but also a constraint solver.
> > >
> > > I have not yet written any demos showing "classical"
> > planning, such as "to get through a doorway, you must first
> > open the door", but this would be an excellent example to
> > have. If you're interested, I'd be happy to help you write it
> > >
> > > It currently works for various simple demos, but that's
> > it - its version 0.1 - (so I don't even know if the "open
> > the door" example can work. I think it will...)  Here.
> > https://github.com/opencog/generate
> > >
> > > Ben, since you didn't mention the generator in the list
> > below, I'm thinking that you're not really fully aware of
> > it, or of what it can do (or rather, the goals of what it
> > can do).  Take a moment of pondering it ...
> > >
> > > --linas
> > >
> > > On Fri, May 1, 2020 at 12:54 AM Ben Goertzel
> > <[email protected] <mailto:[email protected]>> wrote:
> > >>
> > >> OCPlanner is deprecated a while ago and not yet replaced!
> > >>
> > >> OpenPsi handles basic goal/context/procedure based
> > action selection
> > >> but not planning except at the trivial level
> > >>
> > >> PLN logic works OK now (with scalability issues though)
> > and could be
> > >> used as the basis for a temporal logic implementation of
> > planning, but
> > >> that needs to be done still
> > >>
> > >> ben
> > >>
> > >> On Thu, Apr 30, 2020 at 9:48 PM qwerty mnbvc
> > <[email protected] <mailto:[email protected]>> wrote:
> > >> >
> > >> > Hello,
> > >> >
> > >> > I'm a student and I would like to learn more about
> > OpenCog. What module deals with goal planning in general?
> > Not like motion planning. Is it OpenPSI or maybe OCPlanner?
> > I noticed that OCPlanner was implemented by Shujing Ke, is
> > this the "expert" I should reach out to for more info? I
> > haven't been able to find any papers about OCPlanner (theory
> > or otherwise).
> > >> >
> > >> > Thanks
> > >> > Q
> > >> >
> > >> > --
> > >> > 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:opencog%[email protected]>.
> > >> > To view this discussion on the web visit
> > 
> https://groups.google.com/d/msgid/opencog/3c5ff62b-be11-46cc-81c9-89b06e14f218%40googlegroups.com
> .
> > >>
> > >>
> > >>
> > >> --
> > >> Ben Goertzel, PhD
> > >> http://goertzel.org
> > >>
> > >> “The only people for me are the mad ones, the ones who
> > are mad to
> > >> live, mad to talk, mad to be saved, desirous of
> > everything at the same
> > >> time, the ones who never yawn or say a commonplace
> > thing, but burn,
> > >> burn, burn like fabulous yellow roman candles exploding
> > like spiders
> > >> across the stars.” -- Jack Kerouac
> > >>
> > >> --
> > >> 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:opencog%[email protected]>.
> > >> To view this discussion on the web visit
> > 
> https://groups.google.com/d/msgid/opencog/CACYTDBdpfuc8%3DSioiuvA9fqrhcHREtboxSVzBHQnZWWnF35tcA%40mail.gmail.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]
> > <mailto:opencog%[email protected]>.
> > > To view this discussion on the web visit
> > 
> https://groups.google.com/d/msgid/opencog/CAHrUA37BESN-yqtOgH_9z663Zy%3Dm47D9ddbpB1OHhLkexxnxiQ%40mail.gmail.com
> .
> > 
> > 
> > 
> > -- 
> > Ben Goertzel, PhD
> > http://goertzel.org
> > 
> > “The only people for me are the mad ones, the ones who are
> > mad to
> > live, mad to talk, mad to be saved, desirous of everything
> > at the same
> > time, the ones who never yawn or say a commonplace thing,
> > but burn,
> > burn, burn like fabulous yellow roman candles exploding like
> > spiders
> > across the stars.” -- Jack Kerouac
> > 
> > -- 
> > 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:opencog%[email protected]>.
> > To view this discussion on the web visit
> > 
> https://groups.google.com/d/msgid/opencog/CACYTDBdpaZuvWufpczv7E7pGxtQpZwpKrm3ADvNPoU3S%2BoOOLg%40mail.gmail.com
> .
> > 
> > 
> > 
> > -- 
> > cassette tapes - analog TV - film cameras - you
> > 
> > 
> > 
> > -- 
> > 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]
> > <mailto:[email protected]>.
> > To view this discussion on the web visit
> > 
> https://groups.google.com/d/msgid/opencog/CAHrUA37VST2NsJkTkHTtJ%3D3Qo6vxcFzC-2Lg38b%2B9rUnp5bpfA%40mail.gmail.com
> > <
> https://groups.google.com/d/msgid/opencog/CAHrUA37VST2NsJkTkHTtJ%3D3Qo6vxcFzC-2Lg38b%2B9rUnp5bpfA%40mail.gmail.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] 
> > <mailto:[email protected]>.
> > To view this discussion on the web visit 
> > 
> https://groups.google.com/d/msgid/opencog/CALsVKVKvqwq9Frj7rVuv4K7bXL%2B9mw80AEedSojYDyPLMPdN9Q%40mail.gmail.com
>  
> > <
> https://groups.google.com/d/msgid/opencog/CALsVKVKvqwq9Frj7rVuv4K7bXL%2B9mw80AEedSojYDyPLMPdN9Q%40mail.gmail.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/72ad177f-ea06-4e2d-b473-12be28f0c8fcn%40googlegroups.com.

Reply via email to