PROBLEMA DEL AJEDREZ Y EL TRIGO II - Mates, Python y Geogebra


Hoy continuaremos donde lo dejamos hace un mes, hablando del problema de los granos de trigo en las 64 casillas del tablero de ajedrez.

Si no la recuerdas o no has leído esa entrada, pincha aquí para leerla. ¡Te será de vital importancia para entender esta!

Si ya la has leído, ¡¡comencemos con la explicación!!

FUNCIÓN DE LOS GRANOS DE TRIGO: Función exponencial

Cuando hablamos de funciones exponenciales (a mí al menos) nos es imposible no pensar en este problema, pues es el ejemplo más claro de una función exponencial.

Si recordamos la resolución del problema de la entrada anterior, recordaremos que por cada casilla, elevábamos dos a uno más, es decir:
CASILLA 1: 2^0 = 1 grano.
CASILLA 2: 2^1 = 2 granos.
CASILLA 3: 2^2 = 4 granos.
...

Esto lo podemos describir como una función exponencial: f(x) = 2^x

Con ayuda del GeoGebra, la representaremos:


Como podemos observar, cada vez la función crece más rápido, pues esta es la base de un crecimiento exponencial, el cual se ve reflejado en las funciones exponenciales como esta.

Es importante saber lo siguiente, pues tenemos dos opciones:

-Contar la primera casilla como la CASILLA NÚMERO 0 y de esa forma, en la primera casilla, elevar 2 a 0.

o

-Elevar 2 a x-1.

¿Por qué esto?

Si elevamos en la primera casilla 2 a 1, 2^1 = 2 granos de trigo y se supone que en la primera casilla solo podemos tener un grano, por lo que, o contamos la primera casilla con el número 0 y la última con el número 63 o elevamos a x (número de casilla) - 1.

En la siguiente imagen vemos la función f(x) = 2 ^ (x-1). La cual apenas varía de la anterior.


PROGRAMA EN PYTHON

Para terminar de sacarle jugo a este problema, vamos a hacer un pequeño programa en Python para que calcule cuántos granos de arroz habrá en x casilla y cuántos granos de arroz habrá en total hasta x casilla.


Como ya es costumbre, analicemos línea por línea:

1. La primera línea crea una variable "n" que le asigna el valor entero de la respuesta a la pregunta "Número de casilla: ".

2. La segunda línea crea una variable "gr" que será el número de granos en la casilla n. Se le asigna el siguiente valor: 2 ^ (n - 1). Es el mismo valor que hemos asignado antes a nuestra función, solo que en el programa tenemos que utilizar ** para indicar que es una potencia.

3. La tercera línea crea una variable "tot" que será el número de granos hasta la casilla n incluyéndola. Se le asigna el siguiente valor: gr (número de granos en casilla n) * 2 - 1. En la otra entrada explicamos que la suma de todos los valores de una función exponencial hasta n, es igual que ese número (n) multiplicado por dos menos uno.

4. La cuarta línea imprime (escribe) lo siguiente, para poner el ejemplo, supongamos que hemos asignado el valor 2 a n:
"En la casilla número 2 hay un total de 2 granos de trigo."
En otras ocasiones, pondríamos un str() alrededor de n o gr para hacer las variables string en vez de int (integger), pero en esta ocasión, como no las estamos sumando, no es necesario.
En este caso, el primer dos sería el valor de n y el segundo dos sería el valor de gr (granos de arroz en una casilla).

5. La quinta línea imprime (escribe) lo siguiente, para poner el ejemplo, supongamos que hemos asignado el valor 2 a n:
"Hasta la casilla número 2 (incluyéndola) hay un total de 3 granos de trigo."
Este 2 sería el valor de n y el 3 sería el valor de tot (granos totales hasta n casilla).

DEMOSTRACIONES REALES

A continuación, alguna demostración real de cuántos granos de trigo serían necesarios. ¡Una barbaridad!


(créditos: https://matematicascercanas.com/2014/03/10/la-leyenda-del-tablero-de-ajedrez-y-los-granos-de-trigo/)


(créditos: http://pimedios.es/2019/06/21/el-problema-del-trigo-y-del-tablero-de-ajedrez/)


(créditos: https://www.neoteo.com/crecimiento-exponencial-la-leyenda-del-tablero-de-ajedrez-y-los-granos-de-arroz/)


Si te ha gustado la entrada, no olvides visitar algunas de estas:



¡¡Se agradece difusión!!






Comentarios