Thanks for your answers, I will interpret it as that both of you are the experts. I should immediately say that I have limited experience with research and mediocre programming abilities (and I’m not being modest), but that I’d like to improve.
I’m currently being mentored by one of my professors to do a research project. My professor has advised me to write a few different research proposals and ultimately choose one to work on. Because the sky is the limit I’ve been using SWOT analysis to help me filter those choices and one of my interests is goal planning. That’s why I was curious about where OpenCog is at with regards to goal planning and was looking for papers on your work. What do you guys think? Could you offer some suggestions of things that might need to be researched and implemented to improve OpenCog’s goal planning functionality? Or maybe point me to some papers that would help me to come up with my own ideas? I did see this on the wiki: Planning via Temporal Logic & Consistency-Checking 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]> 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]> > wrote: > >> >> >> On Fri, May 1, 2020 at 9:15 AM Ben Goertzel <[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]> >>> 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]> 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]> >>> 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]. >>> >> > 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]. >>> >> 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]. >>> > 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]. >>> 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]. > 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]. To view this discussion on the web visit https://groups.google.com/d/msgid/opencog/CALsVKVKvqwq9Frj7rVuv4K7bXL%2B9mw80AEedSojYDyPLMPdN9Q%40mail.gmail.com.
