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

StackOverflow https://stackoverflow.com/questions/8921201

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?

有帮助吗?

解决方案

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

其他提示

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.

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.

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top