[PREV - PRETTY_TRUE]    [TOP]

RECURSIVE_DEFINITION

                                         June 14, 2004
A concept which is pretty
familiar to most computer
geeks is "recursion".
              
Sometimes you have a subroutine
which calls itself, i.e. which
is defined in terms of itself.
   
That seems tremendously paradoxical 
when you first encounter the idea,  
but a few examples make it clear how                     
it works.                                                   
                                                                             
The trick is that the subroutine                                            
can not *always* call itself                                                 
(which would result in an                                                 
infinite loop), instead there's                    
a conditional in there; the                        In practice this        
algorithm checks something to                      "infinite loop"         
see if it should call itself again.                would be a stack        
                                                   blow-up.                
                                                                           
                              See the book               Every call pushes 
When philosophers run         "Goedel, Escher,           information on    
into similar tangles,         Bach" by Hofstader         the stack.        
they tend to throw up         for endless                                    
their hands and say           tedious examples           Eventually you'd   
"circular reasoning"!         of recursion in            run out of room   
                              different contexts.        to store it.      
                 CIRCLES                
   It's at least                                           Recursion isn't    
   possible that                  In may be that           used very often    
   that's a                       he says something        because it tends    
   premature                      much like I'm            to run into the     
   reaction.                      saying here.             memory limits       
                                                           of the computer    
   Having something               I fell asleep            (and the mental    
   defined in terms               half-way through         limits of the    
   of itself is not               that book, so            programmer).      
   by itself a sign               I wouldn't know.                            
   of nonsense.                                                               
                                     A typical                                 
      However: the odds              programmer's          Some languages    
      seem good that                 first example         (or more to      
      some sort of ethical           is computation        the point, the    
      philosophy with                of factorials,        cultures of      
      a loop structure               that is,              people who use    
      to it would not be                                   the languages)    
      very satisfying.               5! = 5*4*3*2*1        are more suited    
                                                           to recursion     
      I would fear that the          which can be          than others.     
      loops would be                 thought of as                          
      treated as a mystical                                     The children
      knot which could be            5! = 5*4!                  of lisp.    
      used to generate                                                      
      rationalizations for           The factorial for      
      any course of action.          N is defined in        
                                     terms of factorial    
                                     for (N-1).          
   
                                     You know you're done
                                     when N-1 is 0;      
                                     0!=1 by definition.      

                                             If that doesn't         
Still, there's a strong trend of             make sense, try         
thought that hierarchies are                 reading:                
traps: searching for the right                                          
privileged node to put at the top                RECURSIVE_DEFINITION
is a losing game.                
     
   Distributed decision-making.
   Anarchic networks.                   
   Evolved structures.              CONTROL
                               
        
        A way out of the Wasteland?


--------
[NEXT - CLOUDS]