What is the category of search techniques for automatic programming using artificial intelligence called?
Asked Answered
M

4

7

I'm doing research on automatic programming techniques available in the literature but only those which use AI. The only such technique I can find is genetic programming.

Are there any other techniques which transform a high level problem specification, which the programmer need not know how to solve, into a working program? What's the category of these search techiques called?

Maag answered 10/5, 2011 at 9:26 Comment(0)
S
1

To my knowledge, genetic programming is currently the dominant approach to automatic programming techniques. Outside of this you may want to look at

Subtropics answered 10/5, 2011 at 14:41 Comment(0)
J
2

There isn't really a specific name for the category, although the term genetic programming is often used not just to mean the original genetic programming using lisp S-expressions represented as trees, but more widely to refer to all automatic programming techniques using evolutionary algorithms. That of course does not include non-evolutionary methods, but it is a large proportion of the research literature.

Other techniques that tend to come under this broad "Genetic Programming" category that you might like to consider include Grammatical Evolution, Gene-Expression Programming, Linear GP and Cartesian GP.

There is also Evolutionary Programming, which is distinct from (although in some regards similar to) genetic programming. A small amount of research has been done on using Ant Colony Optimisation for automatic programming. Although, I don't think it was very successful. You can find this best using Google Scholar.

Jalopy answered 10/5, 2011 at 12:6 Comment(2)
What I'm asking basically is if there is something other than evolutionary based techniques for program searching.Maag
Unfortunately, most of the AI work on automatic programming has come from evolutionary techniques. There are a few minor attempts using other techniques such as the ACO one I mention, but otherwise I don't know of anything substantial.Jalopy
S
1

To my knowledge, genetic programming is currently the dominant approach to automatic programming techniques. Outside of this you may want to look at

Subtropics answered 10/5, 2011 at 14:41 Comment(0)
T
0

The general caegory would be machine learning. Other techniques include boosting, I'm sure you can find more on your own now that you know where to look.

You may also want to look into neural networks.

Thetos answered 10/5, 2011 at 9:30 Comment(1)
Machine Learning is a much broader category than just automatic programming, and boosting and neural networks are slightly irrelevant. They could perhaps be applied to the problem of automatic programming, but they themselves are not automatic programming techniques.Jalopy
R
0

Other search techniques include Tabu Search and Simulated Annealing. In the planning competitions I've entered, they generally even outperform Genetic Algorithms: for example in ITC2007 track 1 finalist 1, 2, 3 and 4 used Tabu Search and/or Simulated Annealing, while finalist 5 used Genetic Algorithms.

However, I haven't seen them applied for automatic programming techniques yet, it might be they are unsuited for that.

Rittenhouse answered 11/5, 2011 at 6:6 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.