<p>To my knowledge, recursion does not play a strong role in the definition of modern AI techniques, although it does feature used in Lovasz's definition of 'Local Search' and Kurzweil is <a href="http://www.kurzweilai.net/a-formula-for-intelligence-the-recursive-paradigm" rel="nofollow noreferrer">certainly an advocate</a>. </p>

<p>Recursion can be seen as an elegant 'architectural factorization' - building complexity by combining the results of smaller, similar patterns previously encountered. Computationally, <a href="https://stackoverflow.com/questions/931762/can-every-recursion-be-converted-into-iteration">recursion can always be converted into iteration</a> so this form of elegance is really mainly of use in helping to make designs more comprehensible.</p>

<p>GOFAI algorithms that were traditionally defined using recursion include depth- and breath- first search and means-ends analysis (used in Newell and Simon's General Problem Solver).</p>

<p>With respect to performance, while many functions can be very economically <em>defined</em> using recursion, the naive version of such definitions can be inefficient.</p>

<p><a href="http://rayhightower.com/blog/2014/04/12/recursion-and-memoization/" rel="nofollow noreferrer">This page gives</a> an example in which recursive version of the Fibonacci function, which has asymptotic execution time <span class="math-container">$n^{1.6}$</span>, which is reduced to <span class="math-container">$n$</span> by the use of memoization.</p>

CC BY-SA 3.0
2016-08-11T03:21:16.013Z
It's important to note that some languages like Prolog use recursion as one of the main methods of handling parse trees - this is considered powerful when it comes to handling NLP and applications like Watson make use of this property.
Kaiesh
CC BY-SA 4.0
2016-08-07T07:11:56.880Z
2018-12-28T21:43:24.817Z
2018-12-28T21:43:24.817Z
NietzscheanAI
<p>Is there any methods by which artificial intelligence use recursion(s) to solve a certain issue or to keep up working and calculating?</p>

CC BY-SA 3.0
2016-08-07T07:13:09.870Z
Can you clarify the phrase 'keep up working and calculating'?
NietzscheanAI
<math>
Is recursion used in practice to improve performance of AI systems?
Zoltán Schmidt
# Is recursion used in practice to improve performance of AI systems?

(Asked by: username_0 on 2016-08-07)

Is there any methods by which artificial intelligence use recursion(s) to solve a certain issue or to keep up working and calculating?

**Tags:** math

> **Comments:**
> **username_1**: Can you clarify the phrase 'keep up working and calculating'?  

---

## 1 answers

### Answer by username_1 on 2016-08-07. Score: 5 | Accepted answer

To my knowledge, recursion does not play a strong role in the definition of modern AI techniques, although it does feature used in Lovasz's definition of 'Local Search' and Kurzweil is [certainly an advocate](http://www.kurzweilai.net/a-formula-for-intelligence-the-recursive-paradigm).

Recursion can be seen as an elegant 'architectural factorization' - building complexity by combining the results of smaller, similar patterns previously encountered. Computationally, [recursion can always be converted into iteration](https://stackoverflow.com/questions/931762/can-every-recursion-be-converted-into-iteration) so this form of elegance is really mainly of use in helping to make designs more comprehensible.

GOFAI algorithms that were traditionally defined using recursion include depth- and breath- first search and means-ends analysis (used in Newell and Simon's General Problem Solver).

With respect to performance, while many functions can be very economically *defined* using recursion, the naive version of such definitions can be inefficient.

[This page gives](http://rayhightower.com/blog/2014/04/12/recursion-and-memoization/) an example in which recursive version of the Fibonacci function, which has asymptotic execution time $n^{1.6}$, which is reduced to $n$ by the use of memoization.

> **Comments:**
> **username_2**: It's important to note that some languages like Prolog use recursion as one of the main methods of handling parse trees - this is considered powerful when it comes to handling NLP and applications like Watson make use of this property.  

---

