Vous avez un tableau de éléments distincts. Vous avez accès à un comparateur (une fonction de boîte noire prenant deux éléments et et retournant vrai ssi ) et une source de bits vraiment aléatoire (une fonction de boîte noire ne prenant aucun argument et retournant un bit aléatoire uniformément indépendant). Considérez les deux tâches suivantes:
- Le tableau est actuellement trié. Produire une permutation choisie au hasard de manière uniforme (ou approximativement uniforme).
- Le tableau se compose d'une permutation sélectionnée uniformément au hasard par nature. Produisez un tableau trié.
Ma question est
Quelle tâche nécessite plus d'énergie de manière asymptotique?
Je ne suis pas en mesure de définir la question plus précisément parce que je ne connais pas suffisamment le lien entre la théorie de l'information, la thermodynamique ou tout ce qui est nécessaire pour répondre à cette question. Cependant, je pense que la question peut être bien définie (et j'espère que quelqu'un m'aidera avec une réponse!).
Maintenant, algorithmiquement, mon intuition est qu'ils sont égaux. Notez que chaque tri est un shuffle à l'envers, et vice versa. Le tri nécessite comparaisons, tout en mélangeant, car il choisit une permutation aléatoire dechoix, nécessite bits aléatoires. Le brassage et le tri nécessitent environ échanges.
Cependant, je pense qu'il devrait y avoir une réponse appliquant le principe de Landauer , qui dit qu'il faut de l'énergie pour "effacer" un peu. Intuitivement, je pense que cela signifie que le tri du tableau est plus difficile, car il nécessite "d'effacer" bits d'information, passant d'un état de trouble fondamental à faible énergie et haute entropie à un état de désordre hautement ordonné. Mais d'un autre côté, pour un calcul donné, le tri transforme simplement une permutation en une autre. Comme je ne suis pas un expert complet ici, j'espérais que quelqu'un ayant une connaissance de la connexion à la physique pourrait aider à "trier" cela!
(La question n'a reçu aucune réponse sur math.se , donc je la republie ici. J'espère que ça va.)
Réponses:
Selon le principe de Landauer, si vous voulez prendre une permutation aléatoire uniforme de clés en une clé triée, et ne pas conserver de bits dans l'ordinateur qui révèlent quelle était la permutation aléatoire uniforme, vous devez effacer l o g n ! ≈ n journal 2 n bits. Cela prendra ( n ln n ) k énergie T. D'autre part, le calcul en prenant le tableau trié et n log 2 n bits aléatoires dans le tableau aléatoire est réversible, et ainsi l'énergie dépensée peut être rendue arbitrairement petite.n l o gn ! ≈n log2n ( n lnn) k T njournal2n
Notez que ce ne sont que des bornes inférieures théoriques. L'énergie actuellement consommée par ces processus sur un ordinateur numérique réel n'a aucun rapport avec l'analyse ci-dessus.
la source
Ni. Tout circuit peut être rendu réversible en gardant une trace de l'entrée, et la dissipation d'énergie du calcul réversible peut être rendue arbitrairement petite .
la source