Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 923
mtanti Avatar asked May 10 '11 09:05

mtanti


People also ask

What is artificial intelligence and artificial intelligence technique?

AI techniques are those procedures which are used to enable computers to show human like intelligent activities such as visual perception, speech recognition, decision-making, natural language understanding etc.

What are the 4 techniques based on artificial intelligence and machine learning?

There are various machine learning algorithms, such as Unsupervised Learning, Supervised Learning, and Reinforcement Learning. In Unsupervised Learning, the algorithm does not use classified information to act on it without any guidance.

Which programming language is exclusively used for artificial intelligence?

Python is widely used for artificial intelligence, with packages for several applications including General AI, Machine Learning, Natural Language Processing and Neural Networks.


2 Answers

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.

like image 187
Tom Castle Avatar answered Oct 02 '22 07:10

Tom Castle


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

  • program induction/program inference
  • optimal program search (Universal Search)
  • self-improving programs (Gödel Machine)
like image 26
schaul Avatar answered Oct 02 '22 06:10

schaul