¿Hay algún algoritmo que pueda usar para memorizar enteros positivos largos?

Tu pides

buenos niveles de compresión para enteros positivos aleatorios

Esto es, matemáticamente imposible, matemáticamente imposible: un algoritmo de compresión sin pérdida es simplemente una permutación. Si acorta un número, necesariamente debe alargar otro número. Nunca puede obtener ninguna compresión neta en todas las entradas posibles.

Los algoritmos útiles de compresión sin pérdida aparecen en situaciones donde ciertas entradas son dramáticamente menos probables que otras. Por ejemplo, si desea comprimir una imagen, es mucho más probable que comprima imágenes con regiones contiguas de un color particular (por ejemplo, un cielo azul o una hoja verde) que el ruido blanco puro. Un algoritmo de compresión simple como RLE hace que las imágenes con regiones contiguas de un color particular sean más pequeñas, pero hace que las imágenes estáticas sean mucho, mucho más grandes que su forma “sin comprimir”.

Del mismo modo, los algoritmos de compresión de texto están diseñados de tal manera que el texto que contiene palabras, frases u otros patrones repetidos se hace más pequeño; como tal, el texto que consiste en letras aleatorias sin patrón para ellas se hace mucho más grande que los originales sin comprimir.

Entonces, a menos que sepa algo muy especial sobre los números que está tratando de comprimir, no se le ocurrirá algo que haga lo que está pidiendo aquí.

Compañero “mnemónico” aquí (una publicación que escribí sobre palacios de memoria todavía parece bastante alta para muchas búsquedas del concepto 🙂) – También tal vez sea hora de obtener una cuenta en el foro de AOM.

Tomemos, por ejemplo, la forma más simple de compresión, codificación de longitud de ejecución. En él, esencialmente comprimes mientras lees. Pero es extremadamente ineficiente para datos cortos. 2233334 se comprimiría como {2} 2 {4} 3 {1} 4 o 224314. Ganaste … 1 personaje. Por supuesto, hay mejores algoritmos que RLE, pero todos dependen de tener una gran cantidad de datos, por lo que esencialmente puede hacer un tipo de compresión basada en tablas (es decir, para este número diría “tabla es {22} {33 } {4} “y” los datos son 1223 “(los datos son entonces los índices de la tabla)). Para números cortos (incluso números de teléfono) no hay una manera fácil e infalible. Incluso para números aleatorios de longitud fija, un algoritmo simple (por ejemplo, RLE) no producirá mejoras muy buenas y, en general, será peor (por ejemplo, 123 sería 111213) o necesitaría etiquetas numéricas adicionales para distinguirlo del número 1 al recuento número 1 (entonces, {1} y 1 son diferentes, como imágenes)

Esta es la razón por la cual la mayoría de los sistemas / profesionales mnemotécnicos solo intentan expandir el diccionario (PA, PAO, PAOL, etc.) No solo es más rentable, sino que generalmente es aplicable.

Como usted dice, la mayoría de estos algoritmos son visuales con algún “mapeo” entre imágenes y números. Esto se debe a que tenemos la corteza V1, V2 y V3 en la parte posterior de nuestro cerebro. Esto actúa como un coprocesador y nos da más poder de recuerdo. La dificultad de trabajar estrictamente con números es que eventualmente te quedas sin números “únicos”. Digamos que tiene una tabla que descomprime secuencias largas. Después de los primeros 1000 más o menos, necesitará un algoritmo como la codificación de Huffman y que requiere un gran bloc de notas. Nosotros los humanos tenemos un pequeño bloc de notas.

Estudié Ciencias Cognitivas. En pocas palabras, la frase: “La teoría del cerebro como procesador de información”.

Y aunque los científicos cognitivos * piensan * que algún día podrán (más completamente) comprender y explicar el cerebro como una serie de patrones de activación … La forma en que opera el cerebro de todos es un poco diferente. Y no conozco a nadie que pueda aprovechar su cerebro para hacer un trabajo algorítmico que de alguna manera no se haya aprendido. (El cerebro no es una CPU a pedido en el sentido del mundo informático).

No puedo pensar en un mejor algoritmo para la memoria humana que solo poder hacer cálculos matemáticos básicos que hicimos en la escuela primaria. De lo contrario, el método con el que estoy más familiarizado para memorizar cosas que no son de naturaleza “rutinaria” sería el Método de Loci. Puede usar algo como esto para memorizar una serie de operaciones implícitas (en lugar del método de asociación simplemente enseñado … podría realizar operaciones matemáticas de manera similar, ya que es solo una sintaxis representativa simbólica que se remonta a la memorización básica de matemáticas y memoria de la escuela primaria. pasos, pero con señales para el siguiente paso basado en el anterior, tal vez casi como una máquina de turing).

Algunos de nosotros hemos reestructurado las matemáticas para eliminar este proceso, y solo tenemos que recordar un conjunto más pequeño de números.

En los días de las calculadoras de cuatro funciones (por ejemplo, 1970), uno hace cosas para evitar algo más complejo que la división. Por ejemplo, usando cuadrados de longitudes y fórmulas de reestructuración para que las tablas trigonométricas se omitan en gran medida. Uno solo tiene que recordar un conjunto más pequeño de números.

Pero fuera de uso, algunos números son útiles para recordar. Las tarjetas me ayudaron con los valores docenales de las potencias de 2 y sus recíprocos, por ejemplo, 2 ^ 24 = 5751054 = 1 / 217769. Aprender números aleatorios como este en varias bases ayuda. El mismo número en decimales y doce son 16777216 y 9.85.10.16.

2 ^ 64 se conoce en decimal 18446744073709551616 y duodécimo 369.0157.31E9.5007.9016, el punto principal aquí es que este número se usa en argumentos sobre el infinito, en la medida en que 0x10000000000000000 no se cambia fácilmente a otras bases, aunque podemos hacer todo tipo de cosas con eso.