To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

De Wikipedia, la enciclopedia libre

Anuncio de cacao con una imagen recursiva. La mujer muestra un paquete idéntico al del propio anuncio, conteniendo así a otra mujer que muestra otro paquete más pequeño, de forma recursiva.
Imagen recursiva formada por un triángulo de Sierpinski. Cada triángulo está compuesto de otros, compuestos a su vez de la misma estructura recursiva.

La recursión o recursividad es la posibilidad que tiene un cierto tipo de unidad o proceso de contenerse o aplicarse a sí mismo indefinidamente. La recursión tiene esta característica discernible en términos de autorreferencialidad, autopoiesis, fractalidad o, en otras palabras, construcción a partir de un mismo tipo. Con ánimo de una mayor precisión, y para evitar la aparente circularidad en esta definición, se formula el concepto de recursión de la siguiente manera:

Un problema que pueda definirse en función de su tamaño, sea este N, puede dividirse en instancias más pequeñas (< N) del mismo problema y se conocerá la solución explícita a las instancias más simples, lo que se conoce como casos base, y se puede aplicar inducción sobre las llamadas más pequeñas y suponer que estas quedan resueltas.[cita requerida]

A continuación se exponen algunos ejemplos:

  • Factorial: Se desea calcular (el factorial de , que se define como el producto de todos los enteros positivos de a ). Se puede definir el problema de forma recurrente como ; como es menor que podemos aplicar inducción por lo que disponemos del resultado. El caso base es que es .
  • Algoritmo de ordenación por fusión: Sea v un vector de n elementos, podemos separar el vector en dos mitades. Estas dos mitades tienen tamaño n/2 por lo que, por inducción, podemos aplicar la ordenación en estos dos subproblemas. Una vez tenemos ambas mitades ordenadas simplemente debemos fusionarlas. El caso base es ordenar un vector de cero o un elemento, que está trivialmente ordenado y no hay que hacer nada.

En estos ejemplos puede observarse cómo un problema se divide en varias (una o más) instancias del mismo problema, pero de tamaño menor, gracias a lo cual se puede aplicar inducción, llegando a un punto donde se conoce el resultado (el caso base).[cita requerida]

YouTube Encyclopedic

  • 1/5
    Views:
    437
    14 235
    14 134
    622
    6 977
  • Recursividad | FÁCIL de entender y visualizar | Recursión
  • Análisis de Algoritmos , Complejidad de algoritmos Recursivos
  • Función Fibonacci recursiva. Ejemplo
  • USER-RPL: ¿Existe algo como el GOTO?. Recursividad
  • Bloque C Medio 1.2: Ejemplos de Recursividad No Final

Transcription

Recursión en matemáticas

Conjuntos definidos de forma recurrente

Un ejemplo de conjunto definido de forma recurrente es el de los números naturales, es decir, el conjunto de los números enteros no negativos:[1]

  1. pertenece a ℕ.
  2. Si pertenece a ℕ, entonces pertenece a ℕ.
  3. Si verifica las anteriores condiciones, entonces está incluido en ℕ [cita requerida].

Funciones definidas de forma recurrente

Aquellas funciones cuyo dominio es un conjunto a lo más enumerable[2]​ pueden ser definidas de forma recurrente.

Un ejemplo conocido es la definición recurrente de la función factorial n!:

Veamos cómo se usa esta definición para hallar el valor del factorial de 3:

Otros ejemplos de funciones y sucesiones matemáticas definidas de forma recursiva son:

Constantes

La razón áurea se puede definir de forma recursiva, como una fracción continua en que todos los números son unos:

.

De forma similar, la identidad da lugar a una definición como fracción continua de cualquier raíz cuadrada:[3]

Resolución de problemas

Resolución de ecuaciones homogéneas de primer grado, segundo orden:

a) Se pasan al primer miembro los términos , , , los cuales también podrían figurar como , ,

b) Se reemplaza por , por y por , quedando una ecuación de segundo grado con raíces reales y distintas y .

c) Se plantea

d) Debemos tener como dato los valores de los dos primeros términos de la sucesión: y . Utilizando estos datos ordenamos el sistema de 2x2:

La resolución de este sistema nos da como resultado los valores y , que son números reales conocidos.

e) La solución general es:

Recursión en informática

En programación, un método usual de simplificación de un problema complejo es la división de este en subproblemas del mismo tipo. Esta técnica de programación se conoce como divide y vencerás y es el núcleo en el diseño de numerosos algoritmos de gran importancia, así como también es parte fundamental de la programación dinámica.

Implementación en C:

int factorial (int n)
{
    if (n > 1)
    {
        return n * factorial(n-1);
    }else
    {
        return 1;
    }
}
int main()
{
    printf("Recusividad\n");

    int result = factorial(5);
    printf("El resultado es: %i", result);
    return 0;
}

Implementación en C++:

 int factorial(int x)
 {
    if (x > -1 && x < 2) return 1;  // Cuando -1 < x < 2 devolvemos 1 puesto que 0! = 1 y 1! = 1
    else if (x < 0) return 0;       // Error no existe factorial de números negativos
    return x * factorial(x - 1);    // Si x >= 2 devolvemos el producto de x por el factorial de x - 1
 }

Implementación en Pascal:

  FUNCTION Factorial (CONST N: INTEGER): INTEGER;
  BEGIN
    IF N > 1 THEN
      Factorial := N * (Factorial (N - 1));
    ELSE
      BEGIN
         IF ((N=0) OR (N=1))
           Factorial := 1;
         ELSE
           Factorial := 0;
      END;
    END;
  END;

Implementación en Python:[4]

def factorial(n):
    if n == 1 or n == 0:
        return 1
    else:
        return n * factorial(n-1)

El seguimiento de la recursividad programada es casi exactamente igual a los ejemplos antes dados, para intentar ayudar a que se entienda mejor se ha acompañado con muchas explicaciones y con colores que diferencia los distintos sub-procesos de la recursividad.

X = 3 //Queremos 3!, por lo tanto X inicial es 3
X >= 2 -> return 3*factorial(2);
    X = 2 //Ahora estamos solicitando el factorial de 2
    X >= 2 -> return 2*factorial(1);
        X = 1 // Ahora estamos solicitando el factorial de 1
        X < 2 -> return 1;
        [En este punto tenemos el factorial de 1 por lo que volvemos marcha atrás resolviendo todos los resultados]
    return 2 [es decir: return 2*1 = return 2*factorial(1)]
return 6 [es decir: return 3*2 = return 3*factorial(2)*factorial(1)] // El resultado devuelto es 6

Recursion en las ciencias sociales

El concepto de recursión o recursividad está en el centro de los debates epistemológicos en ciencias sociales, y se refiere a la situación en que los científicos sociales se encuentran al intentar producir conocimiento acerca de un mundo del que ellos mismos son parte.[5][6]​ Según Audrey Alejandro, "como científicos sociales, la recursividad de nuestra condición alude al hecho de que somos a la vez sujetos (pues el discurso es el medio por el cual analizamos) y objetos de los discursos académicos que producimos (pues somos agentes sociales dentro del mundo que analizamos)".[7]​ Desde esta premisa, identifica en la recursividad un reto fundamental en la producción de conocimiento que requiere nuestra reflexión:

estamos socializados en discursos y predisposiciones producto del orden sociopolítico que aspiramos a transformar (un orden sociopolítico que podemos, por tanto, reproducir de manera inconsciente aun teniendo el objetivo opuesto). La recursividad de nuestra posición como académicos (y más específicamente, el hecho de que las herramientas que usamos para producir conocimiento sobre el mundo son a su vez producidas por este mundo— evidencia la necesidad crítica de implementar la práctica reflexiva y presenta el principal reto a la hora de hacerlo.[8]

Humor recursivo

La recursividad se emplea a menudo de forma humorística en textos informáticos, filosóficos o matemáticos. No es raro que un libro de texto de estas disciplinas incluya en su glosario una entrada similar a esta:

Recursividad, véase Recursividad.[9]

En el buscador Google, al buscar «recursión», el sitio sugiere «Quizá quisiste decir: recursión».[10]

Un chiste informático dice así«:Lo primero para entender la recursividad, es entender la recursividad».[9]​ En la informática también es común la elección de acrónimos recursivos. PHP son las iniciales de PHP Hypertext Preprocessor (Preprocesador de Hipertexto PHP), WINE son las de WINE Is Not an Emulator (WINE no es un emulador) y GNU significa GNU's Not Unix (GNU no es Unix).

Véase también

Referencias

  1. Algunos autores consideran que los números naturales son los números enteros positivos, es decir, excluyen el 0 de este conjunto. En ese caso, basta sustituir la línea que dice « pertenece a ℕ» por « pertenece a ℕ».
  2. «Nociones de espacios normados» , Cotlar y Cignoli, Eudeba, Buenos Aires
  3. Ben Thurston, "Estimating square roots, generalized continued fraction expression for every square root", The Ben Paul Thurston Blog
  4. El Libro de Python. «La recursividad, intentando crear funciones recursivas sin crear un agujero negro». El Libro de Python. Consultado el 30 de abril de 2020. 
  5. Bourdieu, Pierre (1992). «Double Bind et Conversion». Pour Une Anthropologie Réflexive (Paris: Le Seuil). 
  6. Giddens, Anthony (1987). Social Theory and Modern Sociology. Polity Press. 
  7. Alejandro, Audrey (2021). «Reflexive discourse analysis: A methodology for the practice of reflexivity». European Journal of International Relations (en inglés) 27 (1): 171. ISSN 1354-0661. S2CID 229461433. doi:10.1177/1354066120969789. 
  8. Alejandro, Audrey (2021). «Reflexive discourse analysis: A methodology for the practice of reflexivity». European Journal of International Relations (en inglés) 27 (1): 5. ISSN 1354-0661. S2CID 229461433. doi:10.1177/1354066120969789. 
  9. a b Hunter, David (2011). Essentials of Discrete Mathematics. Jones and Bartlett. p. 494. 
  10. Daniel Rodríguez Herrera (29 de julio de 2009). «¿Qué es la recursividad? ¿Qué es la recursividad? ¿Qué es la recursividad?...». Libertad Digital. Consultado el 20 de enero de 2013. 

Enlaces externos

Esta página se editó por última vez el 9 mar 2024 a las 16:40.
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.