Por @Alvy

Una forma bonita de visualizar 1.000.000 de números en 70.000 dimensiones en 2D

En ¿Cómo se ven los números Johnhw ha creado una curiosa visualización del primer millón de números enteros. Tiene un curioso aspecto medio de fondo cósmico medio de ADN visto al microscopio.

Para crear la imagen primero generó la factorización del primer millón de enteros y luego los conectó entre ellos, usando unos 70.000 vectores en total. Luego aplicó un algoritmo llamado UMAP para reducir las dimensiones de la matriz y poder hacer un gráfico.

También hay un vídeo, aunque muy corto y que no aporta mucho más que la imagen. Son más interesantes el visor 3D e incluso el visor 2D. Si te intriga la cosa, también hay una opción con la tecla T para ver a qué número corresponde cada píxel. Así que puedes entretenerte en buscar tu favorito.

También está disponible el código fuente (Github: UMAP sparse), con el que siempre se puede aprender algo.

Relacionado:

Compartir en Flipboard Publicar
PUBLICIDAD


Por @Alvy

MathGPT: una herramienta para resolver problemas matemáticos y ayudar con los deberes

Si en mis tiempos hubiera existido MathGPT, otro gallo hubiera cantado. Es un solucionador de problemas que utiliza ChatGPT como motor para interpretar las preguntas, que pueden ser escritas o escaneadas / fotografiadas. Pones la pregunta, obtienes la respuesta, más fácil imposible.

Aunque no se especifica, parece que utiliza los últimos modelos de ChatGPT (o1-mini u o1, probablemente) porque tiene un icono llamado Think que permite ver la cadena de razonamiento para entender cómo ha resuelto el problema. Las respuestas además son bastante rápidas, el OCR funciona muy bien y la interfaz es sencilla de utilizar.

Los problemas que le he planteado los ha clavado, tanto los de primaria como de secundaria y bachillerato, incluye los que tienen truqui como el de la botella y el tapón. Los exámenes de matemáticas de carrera tampoco se le dan mal, al menos los de primero; en uno de estadística puntuó un 8 sobre 10. Eso sí, ya avisa la página «Las respuestas pueden ser erróneas, comprueba dos veces todos los pasos y cálculos».

Algo sumamente interesante es que tras la respuesta ofrece la opción de crear una vídeo-explicación, más útil supongo en problemas de geometría, y nuevas preguntas similares para practicar en un examen. Lo hace con respuestas tipo test A/B/C/D, pero se pueden ignorar e ir a la resolución normal del problema y luego verificar.

Además de la versión MathGPT más orientada a matemáticas hay otra específica para problemas de física, química y contabilidad. Como herramienta de ayuda está bien, incluso para padres que tengan que refrescar sus conocimientos para ayudar un poco a los más pequeños de la casa con los interminables deberes que suelen traer del colegio.

Relacionado:

Compartir en Flipboard Publicar
PUBLICIDAD


Por @Alvy

Encontré este curioso vídeo sobre la construcción de una calculadora mecánica, algo que emula las antiguas máquinas que se usaban para estas tareas en el siglo XIX. Está fabricada artesanalmente, con un montaje pieza a pieza que es parte del encanto del vídeo. Además Will, en su canal WhatWillMakes, lo acompaña de detalladas explicaciones históricas además de los secretos sobre su funcionamiento y construcción.

Pascal y Schickard, en el siglo XVII, fueron los primeros en proponer este tipo de máquinas, Leibniz puso su granito de arena y luego llegó Thomas de Colmar en el siglo XIX inventando el Aritmómetro, en el que se basa esta máquina, aunque incorporando algunas mejoras. Como dice Will, que ha dedicado un verano completo a la construcción, es todo cuestión de ver fotos de la máquina, interpretar cómo funcionaba y replicarlo o mejorarlo; no hacen falta siquiera planos, aunque si existen, mejor que mejor.

Es bastante increíble que con una máquina puramente mecánica y un tanto rústica como esta se puedan hacer tantos cálculos, pero el caso es que puede sumar y restar y también multiplicar y dividir. Tiene 6 dígitos de entrada y 12 de salida.

Es importante entender las bases del asunto, especialmente cómo los números en base 10 actúan de forma «circular», lo que supone cada operación y el concepto del acarrero, el «llevarse una». Una vez comprendido hay que ir fabricando las piezas para cada número y para sumar en base a engranajes cuidadosamente recortados. En total hay 156 engranajes con alrededor de 1.500 dientes. Para moverlos se usa una gran palanca y una cadena con piñones de unas 304 piezas. También se añaden muelles y rodamientos para hacer los valores «más digitales y precisos», y que no se quede una rueda entre el 3 y el 4, sino que marque 3 ó 4, según corresponda.

Restar es relativamente fácil una vez se ha construido la suma, pero la multiplicación tiene más enjundia. Hay que girar la palanca tantas veces como marquen los dígitos del multiplicador, pero por suerte no tal cual, sino dígito por dígito (es decir: 427 hay que girarlo 4+2+7 = 13 veces, no 427, que sería casi eterno). La clave es que entre dígito y dígito (7, 2 y 4) hay que desplazar el tablón del resultado, un poco como cuando multiplicamos a mano con lápiz y papel.

Dividir es repetir una resta varias veces y aunque aquí hace falta la inteligencia humana para ver si un número «cabe» o se puede restar de otro, si se hace bien el resultado es totalmente preciso; de hecho me parece flipante ver aparecer 3,141592 al dividir 355 entre 113. Y también te indica el resto, si es que queda alguno.

Un proyecto bastante asombroso aunque con unas bases sencillas que cualquiera puede entender.

Compartir en Flipboard Publicar
PUBLICIDAD


Por @Alvy

Calculadora de Android

Está circulando mucho esta historia de Chad Nauseam que se publicó originalmente como hilo de Twitter titulada ¿Una app de una calculadora? Cualquiera puede hacer eso. Es un relato sumamente entretenido acerca de cómo Google encargó el desarrollo de la Calculadora original de Android a Hans-J. Boehm, un ingeniero que se obsesionó con el tema y con crear la calculadora perfecta.

El problema a resolver es que incluso crear una sencilla calculadora que funcione bien, bien y se vea de forma perfecta (y no muestre algo como 0,000000) no es tan fácil como parece. La conversión entre binario (coma flotante) y decimal complica las cosas y luego ciertos números, ya sea por grandes, pequeños o precisos, aún más.

Y es que no todo es como repartir la cuenta del restaurante entre un pequeño número de comensales. Expresiones como (10^100) + 1 − (10^100) deberían dar 1, no 0 como muestran algunas calculadoras. La cosa se complica cuando aparecen fracciones y números irracionales o transcendentales.

Boehm comenzó empleando bignums (números enteros sin límite de tamaño), luego pasó a fracciones de precisión arbitraria y después a números algebraicos, capaces de representar raíces cuadradas. Pero eso dejaba fuera a números transcendentales como π.

El caso es que poco a poco acabó construyendo un motor de evaluación aritmética y usando una representación híbrida: números expresados como el producto de un número racional por un número real, usando la llamada aritmética real recursiva (RRA) solo cuando era necesario. Para optimizar la velocidad añadieron una representación simbólica para valores como π, e y similares, dado que la complejidad de esos cálculos hacían la app demasiado lenta.

Esta historia está repleta de detalles matemáticos y técnicas aplicadas al desarrollo de software, en una especie de madriguera de conejo por la que se va profundizando cada vez más y más y que no parece tener fin. Aunque lo tuvo. El resultado es la calculadora actual, que puede dar respuestas exactas y «visualmente agradables» para los usuarios y al mismo tiempo aproximadas cuando no hay alternativas.

Relacionado:

Compartir en Flipboard Publicar
PUBLICIDAD