What is the category of search methods for automatic programming using artificial intelligence?

I study automatic programming methods available in the literature, but only those that use AI. The only such method I can find is genetic programming.

Are there any other methods that convert the specification of a high-level problem that a programmer does not need to know how to solve into a working program? What is the category of these search methods called?

+7
source share
4 answers

To my knowledge, genetic programming is currently the dominant approach to automatic programming techniques. Beyond this you can see

+1
source

In fact, there is no specific name for the category, although the term “genetic programming” is often used not only to refer to the original genetic programming using lisp S-expressions represented as trees, but more generally to refer to all automatic programming using evolutionary algorithms. This, of course, does not include non-evolutionary methods, but it is a large part of the research literature.

Other methods that typically fall into this broad category of Genetic Programming, which you might consider, include Grammar Evolution , Gene Expression Programming , Linear GP, and Cartesian GP .

There is also evolutionary programming , which differs from (albeit in some respects similar) genetic programming. A small amount of research has been done using Ant Colony Optimization for automatic programming. Although, I do not think it was very successful. You can find it best with Google Scholar.

+2
source

The general specification will be machine learning . Other methods include boosting , I'm sure you can now find more on your own when you know where to look.

You can also look at neural networks .

0
source

Other search methods include Tabu Search and Simulated Annealing . In the planning competitions I introduced , they even outperform genetic algorithms: for example, in ITC2007 track 1, finalists 1, 2, 3, and 4 used Taboo search and / or simulated annealing, while finalist 5 used genetic algorithms.

However, I have not yet seen them use automatic programming methods, perhaps they are not suitable for this.

0
source

All Articles