Home, el ocho tumbado
Aros Chinos
 Aros Chinos, Home
 
 
    Algoritmo Recursivo 
    Los Aros Chinos admiten un algoritmo recursivo. Es habitual cuando está involucrado el código Gray. 
    Un algoritmo se denomina recursivo cuando recurre a sí mismo para su definición. 
    Esta sección puede ser complicada de entender si no programas, pero puedes intentar entender las ideas básicas. 
    En Los Aros Chinos la recursividad no es tan didáctica como en otros puzzles. 
    Empecemos con la nomenclatura. 
    Realizaremos un Algoritmo Recursivo para solucionar el puzzle de N aros. En las figuras utilizaré N=5. 
    Denomino SOLUCION (N) al proceso para solucionar el puzzle desde La Posición Inicial Extrema.  
    Es decir el proceso que saca el último aro. 
    Denomino NOICULOS (N) al proceso contrario. Partiendo de la posición con todos los aros fuera permite llegar hasta la Posición Inicial Extrema. 
    Es decir el proceso que mete el último aro. 
    Sabemos que son procesos inversos. 

    EDCBA 
    00000 
    10000 

    Por otro lado conviene definir las manipulaciones básicas de un sólo aro X. 
    Las denominaremos: 

    METER Aro X 
    SACAR Aro X 

    Tenemos que definir los procesos no básicos, SOLUCION, NOICULOS. Es en principio necesario, ya que son procesos diferentes 

    SOLUCION 
    El proceso de SOLUCION puede ser expresado de modo gráfico, para N=5 
    Indicando unos estados intermedios claves. Figuras 23, 24, 25. 
      
     
    EDCBA Proceso
    10000  
      NOICULOS (N-1)
    11000  
      SACAR ARO N
    01000  
      SOLUCION (N-1)
    00000  
      
     
      
    Figuras 23, 24, 25. SOLUCION recursiva en modo gráfico 

      

    SOLUCION (N) 
    Sí N=1 Entonces  

    • SACAR ARO 1
    En caso contrario 
    •  NOICULOS ( N -1 )
    •  SACAR ARO N
    •  SOLUCION ( N -1 )
      

    NOICULOS 
    El proceso de NOICULOS expresado de modo gráfico es el siguiente, para N=5: 

     
    EDCBA Proceso
    00000  
      NOICULOS (N-1)
    01000  
      METER ARO N
    11000  
      SOLUCION (N-1)
    10000  
      

    NOICULOS (N)  
    Sí N=1 Entonces  

    • METER ARO 1
     En caso contrario 
    • NOICULOS ( N -1 ) 
    • METER ARO N 
    • SOLUCION ( N -1 )  
      
    Es curiosa esta doble recurrencia. 
    En principio el Algoritmo está bien definido, ya que recurre a procesos con un número N inferior. Tienen lo que se denomina salida por la base, cuando N=1, que deja de realizar llamadas recursivas y realiza un proceso básico. 
    Si el proceso SOLUCION imprimiese el aro a manipular, nos encontraríamos con la conocida secuencia: 

    A B A C A B A D A B A C A B A E A B A C A B A D A B A C A B A 

    Sabemos que aunque son procesos inversos, en realidad son casi iguales, manipulan los mismos aros y realizan la misma manipulación, excepto con el último aro. (Ver sección NOICULOS) 

    Podemos intentar definir un solo proceso, ya que manipulan los mismos aros y siempre conmutan el estado que tenga.  
    Podemos denominarlo CUA, Conmutador Ultimo Aro. 
    Este proceso realizará la SOLUCION, si se parte de la Posición Inicial Extrema y NOISCULO si partimos de la Posición Final, con todos los aros fuera. 
    Por otro lado a las manipulaciones básicas de un sólo aro X, las denominaremos: 

    CONMUTAR ARO X  

    Veamos como definir el proceso  unificado CUA. 

    CUA (N) 
    Sí N=1 Entonces  

    • CONMUTAR ARO 1
    En caso contrario 
    • CUA ( N -1 ) 
    • CONMUTAR ARO N 
    • CUA ( N -1 ) 
     
 
 
 
 
Aros Chinos, Home   Liberar Anilla 
Aros Chinos
Liberar  Anilla
 
 
© Javier Santos, 1999  
Acepto tus críticas, comentarios, sugerencias, ....   
corrEo: santos.j@euskalnet.net