There has been a thing I'm working on more thoroughly, recently, and that
is "intensional" representation of deduction/abduction tree.

A classic way for deducing conclusions is extensional, meaning ranging over
starting set of formulas and enriching the starting set by new conclusions,
repeating the process when a new element(s) shows up. The process is
extensional in a sense that we explicitly insert to the set each new
formula we conclude. Of course, this set could grow infinitely, and that is
where we run out of resources for executing a complete solutions.

But, if we look more carefully, a set of conclusions is a possibly infinite
set that follows some pattern, and it is a kind of "expression fractal"
that, instead of explicitly stating every concluded formula, can be
described by a recursive expression function that connects right parts of
formulas at right places. What we get is a big, but finite compound formula
that describes every possible conclusion that follows from the starting set.

Now, given this kind of (possibly infinite) set of conclusions written by a
finite compound formula, there is a possibility to state any arbitrary
formula and to check weather that formula belongs to the set. We can than
state "false" and check whether that "false" belongs to the set, which
could be applied to form a "proof by contradiction" logic method. It is
about solve/check relation, where solving could take infinite amount of
resources, while checking happens in a finite amount of time/memory space.

It reminds me a bit of P versus NP problem.

To return to the subject, in my understanding, deduction is what forward
chainer is dedicated to do, and abduction is what backward chainer does.
So, in the same way that (possibly infinite) deduction set is formed, it is
possible to form a (possibly infinite) abduction set, giving an opportunity
to construct algorithms from natural language specifications, avoiding
combinatorial explosion by constructing "expression fractals" instead of
each instance of parts of the algorithm set. All we have to do after
processing is to pick any specific instance of this fractal, and we get one
of possible algorithms constructed by specifications.

Still have have to resolve some checking problems, it is a matter of
functions and their inverse forms, but it seems that some human-aided
work-arounds are possible.


2017-05-08 5:03 GMT+02:00 Ben Goertzel <[email protected]>:

> In principle the opencog Rule Engine and backward chainer can do this...
>
> Getting it to run quickly and scalably on such tasks without
> combinatorial explosion is gonna be nontrivial however... but
> important and interesting..
>
>
> On Sun, May 7, 2017 at 11:46 PM, Dmitry Ponyatov <[email protected]>
> wrote:
> > Is opencog suitable for automated code generation ?
> >
> > I'm searching in some AI technologies which can be applied in
> > transformational programming, especially in automated code generation:
> > synthsize programs code in mainstream languages like C(++), Java, JS,...
> > basing on declarative highlevel descriptions, reasing code block taking
> in
> > mind target system, predifines class structure, library of code snippets
> and
> > so on.
> >
> > --
> > 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 post to this group, send email to [email protected].
> > 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/052d5af3-68db-
> 4e08-9690-b66774d69b05%40googlegroups.com.
> > For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> Ben Goertzel, PhD
> http://goertzel.org
>
> "I am God! I am nothing, I'm play, I am freedom, I am life. I am the
> boundary, I am the peak." -- Alexander Scriabin
>
> --
> 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 post to this group, send email to [email protected].
> 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/CACYTDBcxum%3DrA23F_tRM-i5x185K%3DOoTizfOhQp70OwfA%2BKd9Q%
> 40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 post to this group, send email to [email protected].
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/CAB5%3Dj6U-pT805igt-k4BaovqXPNve9MzTQhwawugce7Cp4knFw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to