De acordo com o artigo "Connect the Stars" , de KW Regan , ele menciona no final que ainda é um problema em aberto encontrar uma representação de números inteiros, de modo que as operações de adição, multiplicação e comparação sejam computáveis em tempo linear:
Existe uma representação de números inteiros para que adição, multiplicação e comparação sejam factíveis em tempo linear? Basicamente, existe um anel de tempo linear discretamente ordenado?
(1) Quão perto podemos chegar da multiplicação e adição linear de tempo, sem comparação? Aqui, presumo que os tamanhos dos problemas possam variar, para que possamos precisar de uma estrutura / algoritmo de dados que permita alterar tamanhos inteiros.
(2) Para o problema completo, podemos assumir que encontraremos um esquema ideal para multiplicar, adicionar e comparar os números inteiros. A que distância podemos chegar a mais lenta dessas três operações (no pior caso) em relação ao tempo linear? E nessa nota, com que rapidez seriam as outras operações?
DECLARAÇÃO FORMAL DE PROBLEMAS
Como menciona Emil Jeřábek, gostaríamos de descartar casos triviais e nos concentrar no pior caso possível para essa pergunta.
Por isso, pedimos, por inteiros não negativos e onde e , podemos encontrar uma estrutura de dados / algoritmo que pode realizar adição, multiplicação, e compara com \ entre e no tempo e ?
fonte
Respostas:
Provavelmente não é a melhor resposta, mas talvez este seja um ponto de partida útil. Se desejarmos representar um número inteiro não negativo, podemos armazená-lo como um conjunto de números primos seqüenciais do módulo de resíduos a partir de 2. Nesta forma de comparação, a comparação é potencialmente difícil, mas a multiplicação e adição podem ser feitas rapidamente. O produto dos primeiros primos é aproximado por p n # = exp ( ( 1 + o ( 1 ) ) n log n ) . Portanto, para representar um número inteiro N, é necessário que os resíduos sejam os primeiros n primos, em quen
fonte