Recursividad parte1
Summary
TLDRHoy discutimos la recursividad, una técnica en matemáticas y programación donde una función se llama a sí misma para resolver problemas. Exploramos cómo las funciones, definidas como relaciones especiales entre conjuntos, se aplican en contextos donde el resultado depende de condiciones previas. Vemos un ejemplo de función compuesta que se autollama para calcular su valor, lo que ilustra la idea de 'recursividad'. Finalmente, se menciona cómo traducir este concepto a un lenguaje de programación.
Takeaways
- 🔢 La recursividad es un concepto en matemáticas y programación donde una función se llama a sí misma para resolver un problema.
- 📚 Antes de entender la recursividad, es importante comprender las funciones matemáticas, que son relaciones especiales entre conjuntos donde cada elemento del dominio tiene un único elemento en el contradominio.
- 👩🏫 Se describe una función compuesta que depende de condiciones y cómo se evalúa para diferentes valores de x, mostrando ejemplos específicos.
- 🔄 Se ejemplifica cómo se evalúa una función recursiva paso a paso, mostrando la necesidad de volver a llamar a la función para valores intermedios.
- 🔄 Se explica que en una función recursiva, el proceso de encontrar el valor de una función para un argumento particular puede requerir múltiples llamadas a la función misma.
- 🔄 Se destaca la importancia de la condición de base o condición degenerada en la recursividad, que es la que marca el final del proceso recursivo y permite obtener un resultado terminal.
- 🔄 Se menciona que una vez que se alcanza la condición de base, el proceso continúa hacia atrás, reemplazando valores y completando las operaciones pendientes.
- 💻 Se sugiere que la recursividad puede ser traducida al lenguaje de programación, lo que implica codificar el proceso de forma que el programa pueda ejecutar la función de manera recursiva.
- 🔁 Se resalta que la recursividad implica un proceso iterativo donde se repiten llamadas a la función hasta alcanzar la condición de base, y luego se retrocede para completar el proceso.
Q & A
¿Qué son las funciones en matemáticas según el guion?
-Las funciones en matemáticas son una relación especial entre un conjunto y otro, donde para cada valor en el dominio existe un único valor en el contradominio.
¿Cómo se define una función compuesta?
-Una función compuesta se define por reglas que dictan cómo se relacionan los valores de entrada con los valores de salida, pudiendo incluir condiciones.
¿Qué hacemos para evaluar una función para un valor específico?
-Para evaluar una función para un valor específico, se siguen las reglas que definen la función hasta obtener el valor del contradominio.
¿Qué es la recursividad y cómo se relaciona con las funciones?
-La recursividad es un procedimiento en el que una función se llama a sí misma para encontrar un valor, lo cual es útil cuando el resultado depende de la aplicación de la misma función en un argumento diferente.
¿Cuál es la condición base en una función recursiva?
-La condición base es la que termina la recursividad, es el caso especial donde la función ya no se llama a sí misma y se obtiene un resultado tangible.
¿Cómo se evalúa la función F(x) = x * F(x - 1) para x = 6 según el guion?
-Se evalúa siguiendo la regla de la función recursiva, donde F(6) se calcula como 6 * F(5), y se continúa la evaluación hasta llegar a F(0), que es 1, para luego reemplazar y calcular hacia atrás hasta obtener F(6) = 720.
¿Qué hacemos cuando no conocemos el valor de una función para un argumento específico?
-Cuando no conocemos el valor de una función para un argumento específico en una recursión, debemos encontrar ese valor utilizando la función con un argumento diferente hasta alcanzar una condición base.
¿Qué significa 'regresar' en el contexto de una función recursiva?
-En el contexto de una función recursiva, 'regresar' significa reemplazar los valores pendientes con los resultados calculados a medida que se resuelven los argumentos de la función hasta llegar al argumento inicial.
¿Cómo se traduce el concepto de recursividad al lenguaje de programación?
-En el lenguaje de programación, la recursividad se traduce mediante la definición de funciones que llaman a sí mismas con argumentos modificados hasta alcanzar una condición base.
¿Por qué es importante la condición degenerada en una función recursiva?
-La condición degenerada es importante en una función recursiva porque marca el punto en el que la función deja de llamarse a sí misma y se obtiene un resultado final, evitando así un bucle infinito.
Outlines
📚 Introducción a la recursividad y funciones matemáticas
En el primer párrafo, se introduce el concepto de recursividad en matemáticas. Se explica que una función es una relación especial entre dos conjuntos, donde para cada valor en el dominio existe un único valor en el contradominio. Se ejemplifica con una función compuesta que depende de condiciones, donde se evalúa para diferentes valores de x, mostrando cómo se llega a diferentes resultados en función de si x es cero o no. Se ilustra con ejemplos cómo se evalúa la función para x = 2, x = 100 y x = 0, y se muestra cómo se llega a un punto donde la función se llama a sí misma, lo que es un caso de recursividad. Se describe el proceso de evaluar la función para valores crecientes, como x = 6, y cómo se necesita evaluar la función para valores previos para poder continuar, mostrando la naturaleza iterativa y dependiente de la función misma para resolver valores.
🔄 Proceso recursivo y su terminación
El segundo párrafo profundiza en el proceso recursivo, explicando cómo se utiliza la función para encontrar su propia imagen en un valor específico. Se describe el caso de evaluar F(6), que requiere la evaluación de F(5), F(4), F(3), F(2) y F(1), mostrando la dependencia de cada valor en la función anterior. Se menciona la condición degenerada, que es el punto en el que la recursividad termina, generalmente cuando se llega a un caso especial que se puede resolver directamente. Se ilustra cómo, una vez que se conoce el valor de F(0), se pueden reemplazar los valores pendientes en la cadena de llamadas recursivas para obtener los resultados finales, como F(1), F(2), F(3), etc., hasta llegar a F(6). Se concluye que este proceso es un ejemplo clásico de recursividad, donde la función se llama a sí misma hasta alcanzar una condición base que permite terminar el proceso.
Mindmap
Keywords
💡Recursividad
💡Funciones
💡Dominio
💡Contrdominio
💡Regla de función
💡Condición degenerada
💡Procedimiento recursivo
💡Valor terminal
💡Programación
💡Lenguaje de programación
Highlights
Hoy discutiremos sobre la recursividad.
Primero, repasaremos qué son las funciones en matemáticas.
Las funciones son una relación especial entre dos conjuntos.
Para cada valor en el dominio, existe un único valor en el contradominio.
Se introduce una función compuesta por condiciones.
Ejemplo de función donde si x es 0, su imagen es también 0.
Si x no es 0, su imagen es 1.
Procedimiento para evaluar la función F para un valor específico de x.
Ejemplo de evaluación de F(2) y F(100).
Introducción de una función más compleja con dos reglas.
Evaluación de F(0) y F(6) en la función más compleja.
Explicación de cómo se llega a un valor terminal en una función recursiva.
Proceso de búsqueda de F(5) para evaluar F(6).
Continuación del proceso para encontrar F(4), F(3), F(2) y F(1).
Identificación de la condición degenerada que termina la recursividad.
Regresando a realizar operaciones pendientes una vez que se tienen valores.
Explicación del procedimiento recursivo y su finalización.
Traducción del concepto de recursividad a un lenguaje de programación.
Transcripts
el día de hoy vamos a hablar sobre la
recursividad Pero antes de empezar a
hablar de recursividad debemos repasar
un poco lo que son las
funciones las funciones en matemática
son una relación entre un conjunto y
otro pero es una relación especial que
nos dice que para todo valor en un
dominio o en el conjunto a existe un
único valor en el conjunto B llamado
contradominio
entonces va a haber una relación para un
x
con un y o F dex como le llamen lo que
tengo aquí es una función compuesta ya
que está compuesta por
condiciones Entonces esta función a mí
me dice que si x o sea el valor del
dominio es igual a cer entonces su
imagen o su valor del contradominio
también es cer0 pero de lo contrario su
imagen va a ser
uno si queremos evaluar la función para
un valor X en este caso F
2 lo que hacemos es seguir las mismas
reglas 2 no es igual a 0 por lo tanto
debe cumplir con esta otra regla que
dice que va a ser uno y efectivamente el
resultado nos da un si buscamos ahora la
imag de 100 Pues lo mismo verdad x no es
igual a 0 ya que es 100 Entonces como es
diferente de 0 su imagen tiene que ser
un y ahora si buscamos la imagen de cer
Ahora sí cumple con la primer regla Ya
que X en este caso sí es 0 y su imagen
Pues será c pero ahora veamos otra
función un poco más
compleja en este caso las reglas otra
vez tenemos dos reglas podríamos decir
que sigue siendo una función compuesta
si yo busco la imagen de 0 me voy a las
reglas y x sí es igual a 0 por lo tanto
la imagen o F dex es igual a
1 pero qué pasa con F de 6 F de6 no
cumple con la primer regla pero si
cumple con la siguiente ya que x es
mayor a 0 en este caso es 6 Entonces el
resultado tendría que ser esto de acá
pero si se dan cuenta me quedaría x que
es otra vez el 6 por la
función una vez más evaluando la función
pero con el X que es 6 - 1 o sea F de 5
pero esto de acá no me está dando ya un
valor terminal o un valor numérico sino
que una vez más está llamando a la
función está nombrando a la función por
lo tanto no Hemos llegado a una
respuesta
tangible vamos entonces a hacer el
procedimiento necesario para encontrar
ese valor una vez más tengo en la parte
de arriba las reglas que acabamos de ver
para esa función para tenerla siempre en
mente y vamos a buscar la imagen de F
de6 entonces la imagen de 6 nos dice
según la regla que en primer lugar debo
tomar ese número verdad que es el se y
lo debo multiplicar por la misma función
pero evaluada para 6 - 1 que en este
caso sería 5 pero este valor no lo
conozco porque al igual que F de6 que es
el que estoy buscando F de5 tampoco lo
conozco entonces no puedo hacer una
multiplicación por un valor que no
conozco Qué es lo que debemos hacer pues
debemos otra vez encontrar el valor de F
5 antes de poder encontrar el valor de F
de6 Entonces vamos a decir que vamos a
buscar en primer lugar el valor de F de
5 para después poder encontrar el valor
de F de6 y F de5 vamos otra vez a las
reglas 5 no es igual a 0 pero sí es
mayor que 0 Entonces se vuelve a aplicar
la misma regla que me dice que F de 5 va
a ser igual a 5 por F de 4 verdad que
sería 5 - 1 y una vez más vuelve a ocurr
el mismo problema debemos encontrar F
de4 para poder encontrar f de5 f de4
entonces siguiendo las reglas también
voy a tener que usar la regla que
estamos usando que me diría que vamos a
quedarnos con 4 * f de 3 y una vez más F
de 3 tampoco lo conozco entonces vamos a
tener que volver a usar la función para
encontrar f de3 f de3 sigue siendo mayor
que 0 por lo tanto F de3 va a ser igual
a 3
por F de 3 - 1 que sería F de 2 F de2
tampoco lo conozco una vez más debo usar
la
función vamos a la regla y F de2 ese do
sigue siendo mayor a cer vuelvo a usar
la misma regla entonces me va a quedar 2
* F de 2 - 1 que sería F de
1 como tampoco conozco el valor de f1
debo volver a utilizar la función vamos
a encontrar Entonces el valor de F de 1
1 sigue siendo mayor a 0 Entonces vamos
a usar esta regla que me dice que 1 por
F de 0 va a ser igual a f
de1 una vez más No conozco el valor de F
de 0 entonces volvemos a usar la función
para encontrar el valor de F de
c entonces F de0 si se dan cuenta
en este caso x sí es cer Entonces como x
sí cumple con la regla sí puedo venir y
decir que su imagen es
un Y en este caso en especial ya hemos
encontrado Entonces el valor de F de 0
sin ningún problema F de 0 es
1 Entonces ahora sí regresamos ese valor
ya que F de 0 lo puedo reemplazar por su
valor que en realidad es un y ya puedo
hacer la multiplicación de aquí 1 por 1
Pues me va a dar 1 y entonces ya conozco
cuánto vale F de 1 F de1 vale 1
regresamos entonces a donde nos habíamos
quedado habíamos dejado pendiente esto y
reemplazamos F de 1 por su valor
numérico que ya lo conozco que es 1 y 2
* 1 Pues me va a dar 2 también ya
conozco entonces el valor de F de2 por
lo tanto puedo reemplazar F de2 por su
imagen verdad que sería
hago la multiplicación me queda 6 y una
vez más Ya conozco entonces el valor de
F de3 por lo tanto reemplazo por su
valor numérico hacemos la multiplicación
y me resulta diciendo que F de 4 es ig a
24 reemplazo entonces F de4 por 24 y
hago la
multiplicación me quedan 120 que sería
la imagen de 5 y la reemplazo donde está
F de5
para encontrar F de6 que sería entonces
6 * 120 que es igual a
720 esto que acabamos de hacer es un
procedimiento recursivo Por qué se le
llama recursivo porque recurre a
utilizar la misma función para encontrar
el valor o la imagen en este caso del
valor de X entonces si yo buscaba el
valor de X vuelvo a llamar a la función
n veces y se dieron cuenta llegamos a un
punto
en el cual ya no la volví a llamar eso
que está acá es la condición
degenerada es la condición en la que se
acaba la recursividad es el caso
especial en el que se termina este
algoritmo y posteriormente Pues el
proceso es el de regresar porque dejamos
pendientes varias operaciones pero una
vez que ya teníamos los valores entonces
podemos regresar para realizar dichas
operaciones pero ahora lo vamos a
traducir a un lenguaje de programación
lo vamos a codificar en lengu
5.0 / 5 (0 votes)