O que há de errado com o método "salvar a entrada" da computação reversível?

9

Sou estudante de graduação apenas começando a ler sobre computação reversível. Eu sei que, por causa do princípio de Landauer, cálculos irreversíveis dissipam calor (e reversíveis não). Eu falei com meu professor, que nunca tinha ouvido falar em computação reversível antes, e ele estava tendo dificuldade em entender por que a teoria da computação reversível não era trivial.

O argumento dele era que você sempre pode salvar a entrada, ou seja, para qualquer função que deseja tornar reversível, defina uma nova função (ou e você coloca s nos últimos bits da entrada), que retorna a saída nos primeiros bits e a entrada nos outros bits. Então, para inverter você apenas descarta a saída e retorna a entrada que salvou.f:{0 0,1 1}n{0 0,1 1}nfreversEubeue:{0 0,1 1}n{0 0,1 1}2n{0 0,1 1}2n{0 0,1 1}2n0 0nnnfreversEubeue

Minha objeção imediata foi a de que isso requer mais memória do que a função original - embora apenas por um fator constante. Restringir a saída a bits parece restaurar a interessante do problema. É isso que geralmente se entende por computação reversível?n

Outra objeção parecia ser que, quando descartamos a saída, estamos fazendo algo irreversível que dissipará o calor. Mas nós recuperamos corretamente o estado inicial, então como ele pode ser irreversível? Não conheço física suficiente para entender se o importante com o calor é apenas para que todo o cálculo seja reversível, ou se todos os passos também precisam ser reversíveis, ou se essa ideia está na árvore errada .

Eli Rose - REINSTATE MONICA
fonte

Respostas:

12

Há dois recursos importantes da computação reversível que estão faltando na sua discussão sobre a computação reversível:

  1. Uma função reversível deve ser uma bijeção e
  2. A reversibilidade é definida no nível dos portões locais, não apenas no nível global.

Em particular, para a extensão de para { 0 , 1 } 2 n{ 0 , 1 } 2 n pela cópia, você não garante a bijeção porque não explique o que acontece quando os últimos n bits de entrada para sua função não são 0 n .{0,1}n{0,1}n{0,1}2n{0,1}2nn0 0n

Quanto ao segundo ponto, essa é realmente a parte essencial da computação reversível do ponto de vista da física. O processo físico não pode simplesmente "desfazer" o aquecimento em nível global; portanto, todo portão deve ser reversível para que o circuito seja reversível no sentido relevante para a física.

Finalmente, a teoria da computação reversível não é excessivamente complicada, mas definitivamente não é trivial. Em particular, existem alguns circuitos que podem ser implementados com estritamente menos registros / fios de maneira não reversível do que podem ser reversíveis. No entanto, a explosão de não reversível para reversível não é tão ruim.

Em geral, raramente ouço a computação reversível surgir nos cursos clássicos de CS, porque raramente é relevante para a computação clássica. No entanto, é um tópico importante na computação quântica, porque todos os circuitos quânticos são reversíveis e porque é preciso lidar com o que está nos fios 'lixo' com cuidado, para evitar emaranhados desnecessários.

Artem Kaznatcheev
fonte
Aha. Então, qual é a afirmação formal de "todo portão deve ser reversível" - está exigindo que a função de transição da máquina de Turing seja injetável?
Eli Rose - REINSTATE MONICA
2
A computação reversível @EliRose é definida no modelo de porta, não no modelo de TM. Não tenho certeza se existe uma definição razoável no modelo de TM, mas provavelmente exigiria pelo menos que o controle finito fosse reversível. Portões reversíveis significam algo como o portão de Toffoli .
Artem Kaznatcheev 13/03/2014
11
@ArtemKaznatcheev: e as Máquinas de Turing Reversíveis (link em PDF) introduzidas por Bennett?
Niel de Beaudrap 13/03/2014
Os circuitos combinatórios podem ser facilmente manipulados com lógica reversível, mas todos os dispositivos de computação úteis requerem feedback. Pode-se usar um portão de Toffoli para calcular "A e não B", e dois desses portões podem ser usados ​​para construir uma trava, mas uma vez que o feedback é colocado no lugar, a reversibilidade sai pela janela.
precisa
e quanto às MTs quânticas cujas amplitudes permitidas podem ser apenas 0 ou 1. Essa parece uma maneira razoável de definir uma MT reversível.
Marcos Villagra