Recursividad parte1

Christian Pinzón
11 Jul 200908:04

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

00:00

📚 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.

05:01

🔄 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

La recursividad es un concepto fundamental en la informática y la matemática que se refiere a la habilidad de una función o un proceso para llamarse a sí mismo dentro de su propia definición. En el vídeo, se usa para ilustrar cómo una función puede calcular su propio valor mediante la aplicación repetida de sus reglas. Este método es esencial en la programación para resolver problemas complejos que se pueden dividir en subproblemas más pequeños del mismo tipo.

💡Funciones

Las funciones son una relación especial entre dos conjuntos, donde para cada elemento del primer conjunto (dominio), existe un único elemento asociado en el segundo conjunto (contradominio). En el vídeo, se explica que una función puede ser vista como un conjunto de reglas que determinan cómo se transforma un valor de entrada en un valor de salida, y se ejemplifica con funciones simples y compuestas.

💡Dominio

El dominio de una función es el conjunto de todos los valores posibles que se pueden ingresar en la función. En el guion, se menciona el dominio como el conjunto de valores para los cuales se define la función, y es crucial para entender cómo se aplican las reglas de la función a diferentes valores.

💡Contrdominio

El contradominio es el conjunto de valores que pueden resultar al aplicar la función a todos los valores del dominio. Aunque no se menciona explícitamente en el guion, es implícito en la descripción de las reglas de la función, donde se define cómo cada valor del dominio se transforma en un valor específico.

💡Regla de función

Las reglas de una función son las instrucciones que dictan cómo se calcula el valor de la función para cada elemento del dominio. En el vídeo, se utilizan reglas simples como 'si x es igual a 0, entonces la función es 0; de lo contrario, la función es 1', para demostrar cómo se evalúa una función.

💡Condición degenerada

La condición degenerada es una base de cuyo conocimiento se detienen las llamadas recursivas. Es el caso especial que se utiliza para terminar la recursividad, ya que no requiere de más llamadas recursivas para resolverse. En el guion, se menciona que cuando x es 0, la función toma el valor 1 sin necesidad de más llamadas recursivas.

💡Procedimiento recursivo

Un procedimiento recursivo es un enfoque de programación donde una función se llama a sí misma para resolver una parte del problema, generalmente más pequeña o más simple. En el vídeo, se describe cómo se aplican reglas repetidas para calcular el valor de una función para un número dado, lo que ilustra el proceso de recursión.

💡Valor terminal

Un valor terminal es el resultado final de una función o proceso, que no requiere de más operaciones o llamadas recursivas. En el guion, se busca un valor terminal para poder realizar operaciones como la multiplicación, lo cual se logra al encontrar el valor de la función para un caso específico (como F(0) = 1).

💡Programación

La programación es el proceso de escribir instrucciones para una computadora, que se ejecutan para realizar tareas específicas. En el vídeo, se menciona la traducción de conceptos matemáticos a lenguaje de programación, lo que implica la codificación de funciones y procedimientos recursivos en un lenguaje que la computadora puede entender y ejecutar.

💡Lenguaje de programación

Un lenguaje de programación es un conjunto de reglas y sintaxis que permite a los programadores escribir programas que la computadora puede ejecutar. En el guion, se sugiere la codificación de las funciones y procedimientos descritos en el vídeo en un lenguaje de programación, para que puedan ser ejecutados por una computadora.

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

play00:00

el día de hoy vamos a hablar sobre la

play00:02

recursividad Pero antes de empezar a

play00:04

hablar de recursividad debemos repasar

play00:06

un poco lo que son las

play00:09

funciones las funciones en matemática

play00:11

son una relación entre un conjunto y

play00:13

otro pero es una relación especial que

play00:16

nos dice que para todo valor en un

play00:18

dominio o en el conjunto a existe un

play00:22

único valor en el conjunto B llamado

play00:24

contradominio

play00:26

entonces va a haber una relación para un

play00:29

x

play00:30

con un y o F dex como le llamen lo que

play00:34

tengo aquí es una función compuesta ya

play00:37

que está compuesta por

play00:39

condiciones Entonces esta función a mí

play00:42

me dice que si x o sea el valor del

play00:45

dominio es igual a cer entonces su

play00:48

imagen o su valor del contradominio

play00:50

también es cer0 pero de lo contrario su

play00:52

imagen va a ser

play00:54

uno si queremos evaluar la función para

play00:56

un valor X en este caso F

play01:00

2 lo que hacemos es seguir las mismas

play01:03

reglas 2 no es igual a 0 por lo tanto

play01:06

debe cumplir con esta otra regla que

play01:08

dice que va a ser uno y efectivamente el

play01:12

resultado nos da un si buscamos ahora la

play01:15

imag de 100 Pues lo mismo verdad x no es

play01:18

igual a 0 ya que es 100 Entonces como es

play01:22

diferente de 0 su imagen tiene que ser

play01:26

un y ahora si buscamos la imagen de cer

play01:30

Ahora sí cumple con la primer regla Ya

play01:32

que X en este caso sí es 0 y su imagen

play01:34

Pues será c pero ahora veamos otra

play01:38

función un poco más

play01:40

compleja en este caso las reglas otra

play01:43

vez tenemos dos reglas podríamos decir

play01:45

que sigue siendo una función compuesta

play01:48

si yo busco la imagen de 0 me voy a las

play01:50

reglas y x sí es igual a 0 por lo tanto

play01:54

la imagen o F dex es igual a

play01:57

1 pero qué pasa con F de 6 F de6 no

play02:02

cumple con la primer regla pero si

play02:04

cumple con la siguiente ya que x es

play02:06

mayor a 0 en este caso es 6 Entonces el

play02:09

resultado tendría que ser esto de acá

play02:12

pero si se dan cuenta me quedaría x que

play02:15

es otra vez el 6 por la

play02:18

función una vez más evaluando la función

play02:21

pero con el X que es 6 - 1 o sea F de 5

play02:26

pero esto de acá no me está dando ya un

play02:28

valor terminal o un valor numérico sino

play02:31

que una vez más está llamando a la

play02:34

función está nombrando a la función por

play02:37

lo tanto no Hemos llegado a una

play02:39

respuesta

play02:41

tangible vamos entonces a hacer el

play02:43

procedimiento necesario para encontrar

play02:45

ese valor una vez más tengo en la parte

play02:47

de arriba las reglas que acabamos de ver

play02:49

para esa función para tenerla siempre en

play02:52

mente y vamos a buscar la imagen de F

play02:55

de6 entonces la imagen de 6 nos dice

play02:58

según la regla que en primer lugar debo

play03:01

tomar ese número verdad que es el se y

play03:04

lo debo multiplicar por la misma función

play03:08

pero evaluada para 6 - 1 que en este

play03:11

caso sería 5 pero este valor no lo

play03:15

conozco porque al igual que F de6 que es

play03:18

el que estoy buscando F de5 tampoco lo

play03:20

conozco entonces no puedo hacer una

play03:22

multiplicación por un valor que no

play03:24

conozco Qué es lo que debemos hacer pues

play03:27

debemos otra vez encontrar el valor de F

play03:29

5 antes de poder encontrar el valor de F

play03:32

de6 Entonces vamos a decir que vamos a

play03:35

buscar en primer lugar el valor de F de

play03:37

5 para después poder encontrar el valor

play03:38

de F de6 y F de5 vamos otra vez a las

play03:43

reglas 5 no es igual a 0 pero sí es

play03:46

mayor que 0 Entonces se vuelve a aplicar

play03:48

la misma regla que me dice que F de 5 va

play03:51

a ser igual a 5 por F de 4 verdad que

play03:55

sería 5 - 1 y una vez más vuelve a ocurr

play04:00

el mismo problema debemos encontrar F

play04:02

de4 para poder encontrar f de5 f de4

play04:06

entonces siguiendo las reglas también

play04:08

voy a tener que usar la regla que

play04:10

estamos usando que me diría que vamos a

play04:13

quedarnos con 4 * f de 3 y una vez más F

play04:18

de 3 tampoco lo conozco entonces vamos a

play04:21

tener que volver a usar la función para

play04:23

encontrar f de3 f de3 sigue siendo mayor

play04:26

que 0 por lo tanto F de3 va a ser igual

play04:29

a 3

play04:30

por F de 3 - 1 que sería F de 2 F de2

play04:34

tampoco lo conozco una vez más debo usar

play04:37

la

play04:38

función vamos a la regla y F de2 ese do

play04:42

sigue siendo mayor a cer vuelvo a usar

play04:44

la misma regla entonces me va a quedar 2

play04:48

* F de 2 - 1 que sería F de

play04:52

1 como tampoco conozco el valor de f1

play04:56

debo volver a utilizar la función vamos

play04:59

a encontrar Entonces el valor de F de 1

play05:01

1 sigue siendo mayor a 0 Entonces vamos

play05:04

a usar esta regla que me dice que 1 por

play05:07

F de 0 va a ser igual a f

play05:11

de1 una vez más No conozco el valor de F

play05:14

de 0 entonces volvemos a usar la función

play05:17

para encontrar el valor de F de

play05:26

c entonces F de0 si se dan cuenta

play05:30

en este caso x sí es cer Entonces como x

play05:34

sí cumple con la regla sí puedo venir y

play05:38

decir que su imagen es

play05:41

un Y en este caso en especial ya hemos

play05:44

encontrado Entonces el valor de F de 0

play05:47

sin ningún problema F de 0 es

play05:51

1 Entonces ahora sí regresamos ese valor

play05:55

ya que F de 0 lo puedo reemplazar por su

play05:57

valor que en realidad es un y ya puedo

play06:00

hacer la multiplicación de aquí 1 por 1

play06:03

Pues me va a dar 1 y entonces ya conozco

play06:06

cuánto vale F de 1 F de1 vale 1

play06:10

regresamos entonces a donde nos habíamos

play06:12

quedado habíamos dejado pendiente esto y

play06:15

reemplazamos F de 1 por su valor

play06:16

numérico que ya lo conozco que es 1 y 2

play06:20

* 1 Pues me va a dar 2 también ya

play06:23

conozco entonces el valor de F de2 por

play06:25

lo tanto puedo reemplazar F de2 por su

play06:28

imagen verdad que sería

play06:31

hago la multiplicación me queda 6 y una

play06:33

vez más Ya conozco entonces el valor de

play06:35

F de3 por lo tanto reemplazo por su

play06:38

valor numérico hacemos la multiplicación

play06:41

y me resulta diciendo que F de 4 es ig a

play06:45

24 reemplazo entonces F de4 por 24 y

play06:49

hago la

play06:50

multiplicación me quedan 120 que sería

play06:54

la imagen de 5 y la reemplazo donde está

play06:58

F de5

play07:00

para encontrar F de6 que sería entonces

play07:02

6 * 120 que es igual a

play07:06

720 esto que acabamos de hacer es un

play07:09

procedimiento recursivo Por qué se le

play07:12

llama recursivo porque recurre a

play07:14

utilizar la misma función para encontrar

play07:17

el valor o la imagen en este caso del

play07:20

valor de X entonces si yo buscaba el

play07:24

valor de X vuelvo a llamar a la función

play07:26

n veces y se dieron cuenta llegamos a un

play07:29

punto

play07:30

en el cual ya no la volví a llamar eso

play07:32

que está acá es la condición

play07:35

degenerada es la condición en la que se

play07:37

acaba la recursividad es el caso

play07:40

especial en el que se termina este

play07:43

algoritmo y posteriormente Pues el

play07:46

proceso es el de regresar porque dejamos

play07:49

pendientes varias operaciones pero una

play07:52

vez que ya teníamos los valores entonces

play07:53

podemos regresar para realizar dichas

play07:56

operaciones pero ahora lo vamos a

play07:58

traducir a un lenguaje de programación

play08:01

lo vamos a codificar en lengu

Rate This

5.0 / 5 (0 votes)

Related Tags
RecursividadFuncionesMatemáticasProgramaciónAlgoritmosCondición DegeneradaLenguaje de ProgramaciónEjemplos MatemáticosCálculoEducativo
Do you need a summary in English?