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>.