1 puntos por GN⁺ 2025-02-24 | 1 comentarios | Compartir por WhatsApp
  • El rompecabezas de formar números usando solo cuatro 2 se expande de un rompecabezas de aritmética básica a un juego de matemática avanzada según hasta dónde se amplíen las operaciones permitidas
  • Solo con fracciones y las cuatro operaciones se pueden formar del 1 al 6, y al sumar exponentes y factoriales también se pueden construir números grandes como 18, 28, 256 y 65536
  • Si se concatenan los 2 para verlos como 22 o 222, o si se usan números complejos y valor absoluto, se pueden expresar de muchas formas incluso números difíciles de obtener con cálculos simples
  • El 7 es conocido como un número difícil de formar, pero si se permiten herramientas como la función gamma, se puede obtener directamente con cuatro 2
  • La solución general de Paul Dirac expresa cualquier número usando raíces cuadradas anidadas y logaritmos en base 2, y ajusta exactamente los cuatro 2 mediante la sustitución 2 = √(2+2)

Reglas básicas para formar números con cuatro 2

  • La condición del rompecabezas es usar el dígito 2 exactamente cuatro veces y formar el número objetivo solo con operaciones matemáticas, sin otros dígitos
  • Incluso solo con las cuatro operaciones y fracciones, los números pequeños se pueden formar con relativa facilidad
    • 1 = (2+2)/(2+2)
    • 2 = 2/2 + 2/2
    • 3 = 2·2 - 2/2
    • 4 = 2+2+2-2
    • 5 = 2·2 + 2/2
    • 6 = 2·2·2 - 2
  • Si se permiten exponentes y factoriales, el rango de números expresables se amplía mucho
    • 18 = 2^(2^2) + 2
    • 28 = (2+2)! + 2 + 2
    • 256 = (2+2)^(2+2)
    • 65536 = 2^(2^(2^2))
  • Concatenar dígitos también es un truco usado con frecuencia en este rompecabezas
    • 26 = 22 + 2 + 2
    • 11 = 22 / √(2+2)
    • 444 = 222 · 2
  • En particular, el 7 es un número difícil de formar, pero usando la función gamma puede expresarse como 7 = Γ(2) + 2 + 2 + 2
  • En este hilo de Math StackExchange hay ejemplos que usan integrales, decimales periódicos, operadores combinatorios y más
  • Si se usan números complejos y valor absoluto, también son posibles expresiones como 12 = |2 + 2√-2|²

La solución general de Dirac

  • Paul Dirac encontró una solución general aplicable a todos los números, y su herramienta central son las raíces cuadradas anidadas
  • Al aplicar repetidamente raíces cuadradas a 2, se puede reescribir en forma exponencial así
    • √2 = 2^(1/2) = 2^(2^-1)
    • √√2 = 2^(1/4) = 2^(2^-2)
    • √√√2 = 2^(1/8) = 2^(2^-3)
  • Si se aplica la raíz cuadrada n veces, queda con la forma √√...√2 = 2^(2^-n)
  • Al tomar una vez el logaritmo en base 2 de eso, se obtiene 2^-n, y al tomar el logaritmo otra vez, se obtiene -n
  • Por lo tanto, cualquier n puede expresarse en la forma n = -log₂(log₂(√√...√2))
  • Como la expresión original usa el dígito 2 solo tres veces, al sustituir uno de los 2 mediante 2 = √(2+2), se obtiene una expresión que usa exactamente cuatro 2
  • Por ejemplo, el 7 puede expresarse anidando la raíz cuadrada 7 veces de la siguiente manera 7 = -log_{√(2+2)}(log₂(√√√√√√√2))
  • La n dentro de la fórmula no es un número que entre realmente en la expresión, sino una notación auxiliar para contar las repeticiones de la raíz cuadrada
  • En definitiva, se abre el camino para expresar cualquier número, pero queda la tarea de escribir exactamente la cantidad necesaria de símbolos de raíz cuadrada

1 comentarios

 
GN⁺ 2025-02-24
Opiniones en Hacker News
  • En el momento en que permites funciones, se siente como que abandonas el espíritu del juego.
    Por ejemplo, como la función gamma es (n-1)!, ahora sería como formar 7 con cuatro doses y un uno.
    Si puedes esconder números dentro de llamadas a funciones, siempre ganar se vuelve demasiado fácil.

    • +, -(binario/unario), ×, ÷ también son funciones, y la potenciación también es una función. Entonces, ¿por qué habría que permitirlas?
      En este tipo de acertijos siempre puede haber desacuerdo sobre el alcance de las funciones elementales, pero no creo que haga falta prohibir la raíz cuadrada.
      Sobre decir que la función gamma es (n-1)!, al final 2 también es solo S(S(0)) (https://en.wikipedia.org/wiki/Peano_axioms)
      La construcción de Paul Dirac es difícil de llamar trivial, y me da curiosidad si de verdad la consideran trivial o si conocen una construcción más simple.
    • Tuve exactamente la misma primera impresión en cuanto apareció la función gamma.
      ¿Por qué se permite la función gamma y no otras funciones? Si metes una función arbitraria, puedes resolver el juego como quieras.
      En definitiva, desde el principio veo el artículo como un problema cuyas reglas no están bien definidas. Habría que especificar el conjunto de funciones u operaciones permitidas, y la intención de mostrar cómo el problema se expande según el nivel de conocimiento se puede mantener incluso corrigiendo eso.
    • Al final es algo para divertirse, y la función gamma y la raíz cuadrada pueden considerarse lo bastante básicas.
      Si quieres, también podrías restringirlo a distintos subconjuntos de funciones y, dentro de ellos, demostrar qué números son posibles o imposibles.
      El artículo también decía “herramientas matemáticas”, no funciones arbitrarias.
    • La observación tiene sentido, pero como dijeron otros, “permitir funciones” en sí no es el problema. Las operaciones matemáticas básicas también son funciones.
      Sin embargo, si solo se permiten funciones que envían tuplas de enteros a enteros ((Z, Z, ...) -> Z), se mantiene el espíritu del juego original.
      Con eso quedan fuera la raíz cuadrada y los logaritmos, y permanecen la suma, resta y multiplicación, pero queda fuera la división. También se podrían permitir el factorial n! y la potenciación con exponentes no negativos.
      Me da curiosidad si bajo esta restricción se puede construir una solución general.
    • La solución de Dirac no incluye la función gamma; solo usa N raíces cuadradas y 2 logaritmos.
  • Si se trata de “usar cualquier operación matemática”, es fácil: basta con usar la función sucesor.
    S(n) = n+1
    6 = 2*2*2-2
    7 = S(2*2*2-2)
    8 = S(S(2*2*2-2))
    Y así sucesivamente.

    • Viendo la restricción de “no usar otros números”, que en la primera línea aparezca un 1 se siente como trampa.
    • Estudié mucha matemática en la escuela, trabajo en ingeniería y uso matemáticas todos los días, y además sigo muchos canales de matemática en YouTube, pero es la primera vez en mi vida que oigo hablar de esta función.
      Este acertijo no tiene reglas reales, pero esta función no parece ser nada conocida.
    • Sería un desafío más interesante buscar, para cada entero dado, la expresión más corta que lo construya con cuatro doses.
    • Pensé lo mismo. La raíz cuadrada también es una forma de esconder un 2 detrás de la notación.
      Si no se especifica cuántas veces se puede usar cada operador, todo el proyecto no es muy consistente.
    • El cálculo lambda entró en la conversación.
  • Relacionado con esto, también está “Representing numbers using only one 4”, escrito en 1964 por Donald Knuth a los 26 años (https://www.jstor.org/stable/2689238)
    También se reimprimió en el capítulo 10 de su Selected Papers on Fun and Games, y usa un solo número 4 y solo tres operaciones: √x (raíz cuadrada), ⌊x⌋ (función piso) y x! (factorial).
    Termina con una conjetura aún no resuelta sobre si todos los enteros pueden representarse de esta manera.
    El apéndice agregado al libro de 2011 también presenta el artículo aún anterior, de 1962 y de 1,5 páginas, “π in Four 4's”, de J. H. Conway y M. J. T. Guy. Es una idea similar que escribieron cuando ambos eran estudiantes en Cambridge: https://archive.org/details/eureka-25/page/18/mode/1up?view=...
    Por ejemplo, 5 = ⌊√√√√√(4!)!⌋, porque 24! está entre 5^32 y 6^32.

  • No sé si soy el único, pero me pareció rara la elección de usar sqrt(2+2) en vez de sqrt(2*2) o sqrt(2^2).
    Oculta innecesariamente la razón por la que 2=sqrt(2+2).

    • Buena observación, pero es difícil decir que simplemente fue una elección rara del autor.
      Todo el artículo, cada argumento, la tesis general, las frases, el formato, etc., consumen ancho de banda cognitivo, y también pudo haber presión de tiempo.
      El crítico puede concentrarse tranquilamente en un solo punto, así que parece obvio :)
    • Quizá en algún lado haya algo como una puntuación de golf que recompense las operaciones de bajo costo.
      El “hack de Dirac” seguramente consumiría muchos puntos.
    • ¿De verdad? ¿Por qué? 2+2, 2*2, 2^2 son todos evidentemente 4 y sqrt(4)=2; no veo por qué + sería más raro que los otros.
  • Personalmente, prefiero más la concisión
    Había creado una máquina de pila con comandos de un solo carácter y tenía que resolver una variante de este problema. Solo había números del 0 al 9, y los caracteres 23 significaban empujar 2 y luego empujar 3. Para representar el número real 23 había que usar una expresión como 45*3+
    Así que quedaba el problema de codificar cada entero con la menor cantidad de caracteres posible
    Las herramientas disponibles eran los números 0 a 9, P: Pi, *: (a * b), /: (a / b), -: (a - b), +: (a + b), s: sin(a), c: cos(a), q: sqrt(a), l: log(a), ~: abs(a), #: round(a), $: Math.floor(a), C: clamp(a), <: min(a, b), >: max(a, b), ^: pow(a, b), a: atan2(a, b), %: positiveMod(a, b), !: (1 - a), ?: (a <= 0 ? 0 : 1), o: a xor b escalado por c; ((a*c) xor (b*c))/c, d: duplicar el elemento superior de la pila, :: intercambiar los dos elementos superiores, ;: intercambiar el elemento superior con el tercero
    Me pregunto qué se podría hacer si más adelante reconstruyera esta máquina de pila como una pila de números complejos
    La próxima vez que publique algo así, no pienso escribirlo desde el celular

    • La respuesta general quizá no sea computable
      https://en.wikipedia.org/wiki/Kolmogorov_complexity
    • ¿Qué tal si se forma cada número con un comando de “multiplicar por 10 y sumar ese dígito”, y se agrega un comando aparte que empuje 0, como si fuera un espacio? Entonces 23 se podría representar como " 23"
    • Me recuerda a https://www.hacker.org/hvm/ (2008)
    • Sospecho que bastantes números se codificarían en base 9 o base 10. En general sería una repetición de patrones como digit + * digit + *, o algo equivalente
  • Dicen que es un pequeño defecto que “solo se use tres veces el número 2”, pero eso es si se ignora que la notación radical toma un valor común como predeterminado y oculta la potencia 1/2
    Hay bastantes 2 ocultos

    • No creo que pueda decirse que la notación radical realmente oculte algo. El hecho de que sea casi lo mismo que una potencia de un medio es un teorema
      Entonces también habría que admitir que el 2 oculta 1+1, ¿y el juego se volvería imposible?
      Dado que los polinomios cuadráticos son mucho más comunes que los de grado alto, la raíz cuadrada se siente más fundamental que una potencia arbitraria
      Hay muchas críticas de que, al permitir funciones llamativas, el juego se vuelve ridículo, pero personalmente creo que gran parte de la diversión está en encontrar soluciones satisfactorias incluso sin restricciones de reglas concretas
  • Relacionado con esto, hubo un reto de ingeniería inversa/CTF. No diré el nombre para evitar trampas, pero mi solución fue inyectar shellcode que sumara cierto número al puntero de pila
    El detalle era que todo el shellcode, incluido el número a sumar, solo podía usar bytes ASCII alfanuméricos
    Así que usé un solucionador SAT para encontrar combinaciones de números a sumar que dieran el valor deseado sin usar bytes prohibidos
    https://docs.google.com/presentation/d/19K7SK1L49reoFgjEPKCF...

  • Me recuerda al juego móvil Tchisla. Es un juego en el que, usando un número dado y algunos operadores, raíz cuadrada, !, etc., hay que construir todos los números hasta 1000 o 10000
    Es bastante entretenido; a medida que juegas vas desarrollando estrategias y la experiencia de usuario es simple y eficiente. Eso sí, conviene saber de antemano que consume muchísimo tiempo
    [0] https://apps.apple.com/fr/app/tchisla-number-puzzle/id110062...

  • Existe el clásico problema de cuatro cuatros, que aprendí de niño en el libro “The Man Who Counted”
    https://en.wikipedia.org/wiki/Four_fours
    https://en.wikipedia.org/wiki/The_Man_Who_Counted

    • Esa también es la versión que aprendí de niño. Esta página que hice quizá también resulte divertida
      The Definitive Four Fours Answer Key
      https://dwheeler.com/fourfours/
    • Era exactamente eso
      Con eso aprendí la falsa inducción. También me gustaba la historia de las personas formadas en fila, con algo pegado en la espalda, y que tenían que adivinar qué era
  • Es impresionante, pero hay demasiados 2 escondidos dentro de ese símbolo sqrt