jueves, 21 de febrero de 2019

Suma y diferencia de fracciones egipcias unitarias



Recordamos que una fracción egipcia unitaria es aquella de numerador igual a la unidad. Una fracción egipcia en general es una suma de varias fracciones egipcias unitarias.

Puedes consultar


Lo que nos interesa en esta entrada es encontrar sumas o diferencias de dos fracciones de este tipo unitarias, cuyo resultado también sea unitario. En concreto, deseamos encontrar tres valores enteros positivos a, b y c tales que


Simultáneamente estudiaremos su correspondiente expresión como diferencia:


Un ejemplo clásico es 1/2=1/3+1/6, o bien 1/3 = 1/2 - 1/6

Existe una solución trivial para cada valor de a y es que


Para evitar esa solución supondremos que b>c en 


 (podría ser a la inversa, pero llamamos b al mayor de los dos).

Es evidente que 1/a es mayor que 1/b y 1/c, luego a<b y a<c. Como hemos supuesto que b es el mayor, tendremos la doble desigualdad a<c<b.

Búsqueda mediante un algoritmo

Siguiendo nuestra metodología habitual, buscaremos soluciones en primer lugar y después las analizaremos. Si deseamos encontrarlas fácilmente, será bueno darle protagonismo a b, para que los valores de a y de c sean menores que él y se pueda acudir a un doble bucle, en el que c recorra (en principio) desde 2 hasta b-1 y a desde 1 hasta b-2. Por tanto b>2. Nos dedicaremos a la diferencia de fracciones, que sabemos que es equivalente a la cuestión de la suma.

Función sumaegipcias(b)

Hemos comenzado la búsqueda mediante la siguiente función que devuelve, para cada b, los valores posibles de a y c. Al ser varias las posibles soluciones, se devolverán en modo texto, para tener una visión global de todas ellas. La función que se presenta más abajo usa el hecho de que el valor de b despejado en la condición general es a*c/(c-a).

Su listado es el siguiente:

Public Function sumaegipcias$(b)
Dim a, c, d
Dim s$

s$ = "" ‘Recibirá las soluciones en modo texto
If b < 3 Then sumaegipcias = "NO": Exit Function
For c = 2 To b – 1 ‘Bucles de búsqueda
For a = 1 To c - 1
d = a * c / (c - a) ‘Fracción que ha de ser entera
If d = Int(d) Then If d = b Then s$ = s$ + "1/" + Str$(a) + "-" + "1/" + Str$(c) + "   "
‘Si es entera y coincide con b, se recoge en s$
Next a
Next c
If s$ = "" Then s$ = "NO" ‘Si la cadena está vacía, es que no hay solución
sumaegipcias = s$
End Function

Aplicada esta función a un conjunto de números, por ejemplo desde el 6 hasta el 15, observamos que no todos admiten esta descomposición:


Sólo la cumplen 6, 12 y 15. El 12 por partida doble. Puedes verificar estas igualdades (escritas como diferencias, pero podrían ser sumas):

1/6=1/2-1/3, 1/12=1/3-1/4, 1/12=1/4-1/6, 1/15=1/6-1/10

Aquí tienes los valores de b entre 1 y 100 que admiten la descomposición pedida:

6, 12, 15, 18, 20, 24, 28, 30, 35, 36, 40, 42, 45, 48, 54, 56, 60, 63, 66, 70, 72, 75, 77, 78, 80, 84, 88, 90, 91, 96, 99, 100

Estos valores te pueden dar alguna pista. Reflexionamos sobre ellos:

Escribamos c-a=k, con lo que el cociente b=a*c/(c-a) se convierte en b=(a+k)*a/k. Así lo analizamos mejor.

El denominador b no puede ser primo

En efecto: Al ser entero (a+k)*a/k puede ocurrir:

Si k divide a a: entonces k1=a/k y  b=k1(a+k). b tendría al menos dos factores (si k=a nos encontraríamos con la solución trivial de más arriba, en la que b=2a y que no consideramos)

Si k no divide a a: Llamemos d=MCD(a,k). Ese valor d no puede ser 1, pues entonces k sería primo con a, pero como tiene que dividir a a+k, dividiría a  (a+k)-k=a, lo que llevaría a una contradicción.

Si d>1, se podría simplificar b=(a+k)*a/k entre d, resultando los cocientes a’=a/d y k’=k/d: b=(a+k)*a/k=(a+k)*a’/k’, en el que k’ es primo con a’, luego, por el teorema de Euclides, k’ ha de dividir a (a+k), luego divide a la diferencia a+k-k=a. Así que k’ es un divisor de a. De esa forma b=a’*p, siendo a’>1 (ver el párrafo anterior) y p=(a+k)/k’>1, luego no puede ser b primo.

La diferencia c-a=k es menor que a

De la igualdad b=(a+k)*a/k deducimos b*k=(a+k)*a=c*a, pero sabemos que b>a y b>c, luego la igualdad solo es posible si k<a<c.

Este largo razonamiento nos ha descubierto que, o bien k divide a a, como es el caso en

1/12=1/4-1/6, en el que k=6-4=2 y divide a 4,

o bien unos factores de k dividen a a y otros a a+k, ambos mayores que 1. Sería el caso

1/15=1/6-1/10, en el que k=10-6=4=2*2 y 2 divide a 6 y “el otro” 2 al 10, resultando b=6*10/4=15.

Más adelante daremos una caracterización de estos números.

Otro algoritmo

Esta sección la puedes dejar si no te interesa demasiado la construcción de algoritmos.

Otro planteamiento parte de que  según lo anterior, b*k=c(c+k), hay que buscar  un número tal que si lo multiplico por k, se pueda descomponer en dos factores con diferencia k. Por ejemplo, 12 multiplicado por 2 da 24 que tiene dos factores, 4*6 diferenciados en 2.

El valor de c sería una solución de la ecuación c2+kc-bk=0, es decir:


De esa forma  el valor de c no se obtiene por búsqueda, sino por cálculo. Lo implementamos como otra función

Public Function sumaegipcias2$(b)
Dim k, c
Dim s$

s$ = ""
If b < 3 Then sumaegipcias2 = "NO": Exit Function
For k = 1 To b - 1
c = (-k + Sqr(k ^ 2 + 4 * b * k)) / 2 ‘Calculamos el valor de c
If c = Int(c) And c + k < b Then s$ = s$ + "1/" + Str$(c) + "-" + "1/" + Str$(c + k) + "   "
Next k
If s$ = "" Then s$ = "NO"
sumaegipcias2 = s$
End Function

Comprobamos que son equivalentes:


Es más rápida de proceso que la anterior.

Otra definición de los números encontrados

El listado de los valores de b está publicado, pero con otra definición distinta

Numbers having divisors d,e with d < e < 2d.

6, 12, 15, 18, 20, 24, 28, 30, 35, 36, 40, 42, 45, 48, 54, 56, 60, 63, 66, 70, 72, 75, 77, 78, 80, 84, 88, 90, 91, 96, 99, 100, 102, 104, 105, 108, 110, 112, 114, 117, 120, 126, 130, 132, 135, 138, 140, 143, 144, 150, 153, 154, 156, 160, 162, 165, 168, 170, 174, 175, 176

Según esto, las soluciones para nuestras diferencias de fracciones egipcias coinciden con aquellos números que poseen dos divisores a y b, en los que a<b<2a, es decir, que uno de ellos está comprendido entre el otro divisor y su doble. Si repasas el listado anterior, todos lo cumplen, e incluso algunos de ellos son producto de dos divisores de este tipo:

6=2*3, 35=5*7, 42=6*7, …

Entre ellos figuran los números oblongos, 6, 12, 20, 30, 42,…del tipo n(n+1), como puedes comprobar.

Demostramos esta equivalencia:

El contrarrecíproco es fácil de razonar. Si no existen estos pares de divisores, a<b<2a, cualquier expresión que construyamos similar a b=(a+k)*a/k, no podría garantizar que k es menor que a, como demostramos más arriba que era necesario.

Al revés, parto de que existen dos divisores de un número N tales que a<b<2a
Podemos suponer que son primos entre sí, pues, en caso contrario, dividimos entre su M.C.D. y seguirán siendo divisores y cumpliendo a<b<2a. Si son primos entre sí, su producto, que sería el M.C.M, no puede ser mayor que N (en ese caso el M.C.M. sería N). Así que a*b<=N.

Para mayor claridad, distinguimos dos casos:

N=a*b

Entonces bastará multiplicar ambos por k=b-a, con lo que tendremos N=a*b=a(a+k)=ak(ak+kk)/k^2, pero k^2 es la nueva diferencia, luego N tiene la forma deseada de a1(a1+k1)/k1

Por ejemplo, 77=7*11 multiplicamos por 4 y queda 1/77=1/28-1/44=(44-28)/(77*16)=16/(77*16)=1/77, y 1/77=1/28-1/44 

70=10*7, diferencia 3, multiplico: 70=30*21/9, luego 1/70=1/21-1/30

N=m*a*b

En este caso el producto de a*b no iguala a N, En ese caso multiplicamos a y b por mk, resultando:

N=mamk(amk+mkk)/mkmk y mkk es la nueva diferencia. Simplificando N=amk(amk+mkk)/mkk, que es del tipo pedido:

Ejemplo: 66 contiene al 2 y al 3, con 2<3<2*2 y se cumple 66=11*2*3. 
Multiplicamos ambos por su diferencia 1 y por m=11, resultando 22 y 33 y queda

66=22(22+11)/11, es decir
1/66=1/22-1/33
84=2*6*7, con 6<7<2*6. El M.C.D(6,7)=1, k=1, m=2, luego multiplicamos por 2*1=2, y queda 12 y 14:
84=12*14/2, luego 1/84=1/12-1/14

También podíamos haber usado 4 y 7, con 4<7<2*4, k=3, m=3, 84=3*4*7, y multiplicamos ambos por 3*3=9, lo que nos llevaría a 1/84=1/36-1/63.

Hemos descubierto esta equivalencia bastante interesante, pues caracteriza cuándo un valor puede ser denominador en una diferencia de fracciones egipcias.

lunes, 11 de febrero de 2019

Simulaciones - Distribución normal


Simulación normal

Seguimos hoy la serie de simulaciones que iniciamos en


En esas entradas vimos la distribución uniforme y la de Bernouilli. Hoy lo haremos con la normal.

Nos basaremos en esta también en las prácticas de nuestro curso de Estadística, (http://www.hojamat.es/estadistica/iniestad.htm) adaptándolas al formato de un blog. Usaremos nuestro Simulador implementado para hojas de cálculo, el cual puede sufrir cambios a lo largo de la serie, por lo que se aconseja su recarga en caso de duda.

Distribución normal

Si no recuerdas la distribución normal puedes acudir a la Teoría correspondiente

Por ahora basta con saber que siguen esa distribución normal de forma aproximada muchos datos tomados de nuestra vida diaria:

  • Magnitudes que dependen de muchas causas independientes, cuyos efectos se suman y cualquiera de ellas aislada tenga efectos despreciables.
  • Distribuciones de errores en las medidas.
  • Medidas de tipo antropológico (estaturas, pesos, inteligencia...) y biológico (glucemia, nivel de colesterol...)
  • Límite de otras distribuciones estadísticas cuando n aumenta.
  • Todas ellas producen gráficos con forma de campana de Gauss, más o menos aproximada.



Nuestro simulador puede producir datos aleatorios que sigan esta distribución normal.

Puedes descargarlo para Excel


Y para LibreOffice Calc


Esta herramienta está en desarrollo, por lo que debes ignorar las hojas no terminadas.

La forma más práctica de plantear una simulación de este tipo es la de dar el promedio de los datos y la desviación típica, pero también funciona conociendo el mínimo y el máximo esperados.

Lo vemos con algún ejemplo:

Los de más altura

En un Centro de Enseñanza se han tallado todos los alumnos y alumnas de un nivel, 128 en total y ha quedado como estatura mínima la de 140 cm, y como máxima, 198 cm. Si deseamos seleccionar a aquellas personas con estatura superior a 180 cm. ¿Cuántas esperaremos encontrar?

La teoría estadística puede responder a esta pregunta mediante las propiedades de la distribución normal. Aquí lo intentaremos con el Simulador:



Hemos concretado lo siguiente:
  • ·        Distribución normal con decimales (son estaturas) usando máximo y mínimo
  • ·        Mínimo 140 y máximo 198
  • ·        Una columna de 128 filas (número de alumnos y alumnas)
  • ·        Diez intervalos

Procura localizar bien todos esos datos en sus celdas correspondientes. Pulsa el botón “Simulador”.

Con este planteamiento la simulación se aproximará bastante a las medidas reales. Si pasas a la segunda hoja advertirás la forma típica de campana de esta distribución, y que la estatura media es aproximadamente de 169 cm., y la desviación típica cercana a 8. No podemos pretender resultados idénticos a los previstos por la teoría, pero comparando los estadísticos de la simulación con los valores teóricos, vemos que existe una buena aproximación.


La gráfica también tiene forma aproximada de campana, aunque con tan pocos elementos de simulación, nunca seguirá ese tipo teórico:


También, de paso, hemos descubierto que esperaremos unas 12 personas con más de 180 cm. Afinamos esto más. Busca el apartado de Intervalos en la hoja de 
resultados



Con esta tabla podemos contar fácilmente resultados sin tener que recorrerlos. 

Tiene un funcionamiento simple, y es el de escribir en la columna correspondiente (en nuestro caso la primera, porque solo hay una) los extremos entre los que deseamos contar resultados. En nuestro caso serían 180 y 198, que es el máximo. Ahora basta con pulsar el botón Intervalos y nos devolverá la frecuencia absoluta, 14, y la relativa, 0,11 aproximadamente, un 11%.

Repitiendo la simulación han resultado, en varios intentos, 15, 11, 8, 11  y 15, por lo que juzgamos que lo más probable es que nos encontremos con unos 11, lo que nos permitirá organizar un equipo de baloncesto, si ese era el objetivo.

Si conoces algo de la teoría de esta distribución, sabrás que existen funciones y tablas que te devuelven este dato de forma teórica, pero nuestro objetivo estaba en recoger los datos de una simulación, no en prever el resultado. En nuestro caso, y no seguiremos con el tema, la aproximación sería:

1-DISTR.NORM.N(180;169;8,2857;1)=0,092157044

Un poco menor que la obtenida del 11%, en este caso un 9,2%. Así funcionan los resultados en las simulaciones. Nunca esperes aproximaciones destacables.


Un ejemplo con media y desviación típica

Una población de 500 personas con riesgo de diabetes en una ciudad ha presentado un promedio de 106 mg/100ml de nivel de glucosa en sangre y una desviación típica de 8 mg/100ml. Diseñar una simulación para encontrar a partir de qué nivel encontraremos las 50 personas con más riesgo.

Organizamos la simulación, pero usando ahora media y desviación típica:



Obtendremos una columna con 500 niveles de glucosa y una distribución en forma de campana de Gauss.



En nuestra simulación se obtuvieron media y desviación bastante cercanas a las teóricas:


Si ahora deseamos obtener los cincuenta niveles más altos, nos bastará con ordenar la columna G de la primera hoja (de mayor a menor) y observar n qué nivel se encuentra el número 50:

Vemos que hay que comenzar por el nivel 116,4 para así poder seleccionar los 50 posibles pacientes con más riesgo. Si repites la simulación varias veces podrás quedarte con una media más aproximada.

También podemos trabajar con los intervalos cambiando el mínimo hasta obtener un resultado aproximado de 50 personas. En otra simulación nos da un tope de un nivel de 114 o 115:

Como en el caso anterior, se puede acudir a la teoría:

INV.NORM(0,9;106;8)=116,25

Hemos tomado de probabilidad 0,9 porque los 50 en una simulación de 500 representa un 10% superior y un 90% inferior. Nuestra simulación se queda un poco corta.

Medidas válidas

En una medición con mucho riesgo de errores se ha decidido rechazar aquellas medidas que se alejen de la media más de una desviación típica y media. Supongamos que en mediciones anteriores resultó una media de 65 y una desviación típica de 8. ¿Qué número aproximado de mediciones debemos efectuar para garantizarnos 200 medidas catalogadas como válidas, si la distribución en la población se puede considerar normal?

De nuevo acudimos a una simulación. Según los datos que nos dan, las medidas válidas estarán entre 65-3*8/2 y 65+3*8/2, es decir, entre 53 y 77. Comenzamos una simulación de 250 mediciones y concretamos 14 intervalos.

Observamos, de forma aproximada, que habría que desechar unas 10 medidas inferiores y unas 15 superiores, lo que nos daría 250-10-15=225 medidas válidas.


Esta observación se confirma también con intervalos:



Probamos con 230 simulaciones, pare ver si nos acercamos a 200 válidas.

Después de la simulación hay que desechar 16+18=34, con lo que nos quedamos cortos, 196. Subimos y bajamos el número de simulaciones y 230 parece quedar en la media, luego es aconsejable usar muestras de 230 medidas.

Esto ha sido una especie de juego. Si acudimos a la distribución normal teórica, descubriremos que el porcentaje esperado de medidas que se alejen más de 3/2 de desviación típica por un lado es de 0,066807201. Por los dos lados será 0,133614403, y restando de 1, el porcentaje de medidas válidas sería 0,866385597. Dividimos 200 entre ese porcentaje y obtenemos 230,844096.
Nuestra simulación no estaba descaminada.

Con este experimento también hemos aprendido que los porcentajes no dependen de una media concreta sino de la medida tipificada Z, que en este caso valía Z=1,5.


Obtención de muestras

En el caso de la distribución normal es muy interesante el disponer de muestras de un colectivo del que sabemos algunos parámetros (generalmente media y desviación típica). Vemos algunos ejemplos:

Distribución de errores

75,6       78,0       77,8       77,5
75,2       79,0       76,8       78,0
76,5       76,8       76,6       77,2
77,3       78,4       76,6       76,6
77,1       77,6       77,3       76,1

Los datos anteriores simulan 20 repeticiones de una medida. A simple vista parece que la media es 77. En el Simulador se ha obtenido media 77,1 y desviación típica 0,9. Esta tabla puede servir para que el alumnado obtenga también la media, la  desviación típica y la gráfica, para saber si se aproxima a la distribución normal. Con el Simulador se pueden preparar rápidamente distintas muestras para un trabajo por equipos. También  puede aprenderse en clase el funcionamiento de esta herramienta y que los grupos simulen su propia muestra.

Colesterol en sangre

Esta muestra ha sido generada mediante el Simulador:

221,0     205,9     208,2     224,8     205,3     209,7     220,8     229,7
202,8     215,2     203,6     240,7     215,8     236,4     234,6     213,6
189,0     212,7     197,4     203,2     175,4     218,4     227,6     222,4
246,2     238,8     211,5     229,4     206,4     195,8     179,4     206,3
220,4     234,2     207,5     184,7     204,5     224,4     220,2     199,3

Se puede intentar adivinar en clase qué media se ha usado, e investigar si estos datos entran en lo que es frecuente en la vida real.

Cociente intelectual

A la vista de esta tabla, se puede discutir qué media y desviación típica se usa y seguir investigando en Internet:

103        87          106        57          100
62          88          81          98          83
102        90          98          103        100
109        76          93          99          100
107        84          75          104        105
91          96          111        121        108
93          89          89          88          92
71          85          92          104        83
82          97          88          91          82
103        85          110        108        94
84          101        94          86          97
105        92          85          120        121