Aaron Sloman wrote:
> However, automatic program synthesis is a very old
> and difficult area of AI.
Yes you are quite correct and of course for the reason
that a search of more than a trivially small algorithm
space is computationally unfeasible. Several strategies
may be employed to reduce the search space:
(1) If you already have the desired algorithm on file,
you only need to provide an efficient index to the algo-
rithm. That is not particularly simple in a comprehen-
sive way, but it is much easier than trying to find a
complex algorithm through a brute force search, which is
generally impossible (by a very significant margin). But
the primary point here is that the algorithm store be as
large as possible that then requires a multi-language
approach because of the many languages in which algo-
rithms are now and will be available. Any reasonably
large available solution set not included could
seriously degrade subsequent performance because of
the extraordinary difficulty of trying to find those
missing solutions using a direct search.
(2) An analysis of existing solutions should identify
common structures that would reduce direct searches in
the algorithm space. This is the rationale of common
education.
(3) Goal paths must be divided to a sufficiently fine
degree using existing solutions or close approximations
to allow direct searches when they cannot be avoided.
(4) Goals must be prioritized according to their likeli-
hood of success and expected effort required.
(5) Searches should be conducted using all the available
human and machine resources but under the requirements
at (4) and tailored to those resources expected best
able to solve that search/problem.
But I need to do a lot of study and work and do not
want to waste much of your time on a very early pie-
in-the-sky idea at this stage.
I will certainly be looking at your very comprehensive
tutorial and posts here to get up to speed.
Regards,
Neil nelson
|