Answers.Body: <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>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-11T03:21:16.013Z
Answers.Text: 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.
Answers.UserDisplayName: Kaiesh
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2016-08-07T07:11:56.880Z
Answers.LastActivityDate: 2018-12-28T21:43:24.817Z
Answers.LastEditDate: 2018-12-28T21:43:24.817Z
Answers.UserDisplayName: NietzscheanAI
Body: <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>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-08-07T07:13:09.870Z
Comments.Text: Can you clarify the phrase 'keep up working and calculating'?
Comments.UserDisplayName: NietzscheanAI
Tags: <math>
Title: Is recursion used in practice to improve performance of AI systems?
UserDisplayName: Zoltán Schmidt
ThreadText: # 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.  
  
  ---
  
  