LuisAntonio BrasilKowada
TESE SUBMETIDA AOCORPO DOCENTE DA COORDENAÇO DOS
PROGRAMAS DE PÓS-GRADUAÇO DE ENGENHARIA DA
UNIVERSIDADE FEDERALDORIODEJANEIROCOMOPARTE DOS
REQUISITOS NECESSÁRIOS PARA A OBTENÇO DO GRAU DE
DOUTOR EM CIÊNCIAS EM ENGENHARIA DE SISTEMAS E
COMPUTAÇO.
Aprovada por:
RIO DE JANEIRO,RJ - BRASIL
Construção de Algoritmos Reversíveis e
Quânti os [Riode Janeiro℄ 2006
XIII, 136 p. 29,7 m (COPPE/UFRJ,
D.S .,EngenhariadeSistemaseComputação,
2006)
Tese Universidade FederaldoRiode
Ja-neiro, COPPE
1 -Algoritmos Reversíveis eQuânti os
2 -Computação Quânti a
3 -Otimização CombinatóriaDis reta
4-ImplementaçãodeOperadoresAritméti os
I. COPPE/UFRJ II. Título(série)
Agradeço a Deus e a todas as pessoas que, direta ou indiretamente, me
ajudaram nesta aminhada.
Emparti ular, a meus pais e irmãos,por tudo oque sempre zerampor
mim.
À professora Celina, por ter a eitado o desao de me orientar em uma
áreatãodistantedasualinhade pesquisa,epordadotodooapoione essário
para a realização desta tese.
AoprofessorRenatoPortugal,quesedeslo outantas vezes dePetrópolis,
orientando,junto om a Celina, todos ospassos deste trabalho.
Ao professor Carlile Lavor, que também a ompanhou de perto este
tra-balho e deu um inestimável apoio, prin ipalmente naparte que se refere ao
algoritmode otimização ombinatória.
Ao professor Raul Donangelo, que se mostrou sempre afável e disposto
a ajudar e ao professor Valmir Barbosa que deu valiosas ontribuições para
este trabalho, noexame de quali ação.
AoprofessorLuizMariano,portera eitadoparti ipardaban adedefesa
desta tese.
Atodos osdemaisamigose ompanheirosquepreronão itar,pois om
erteza omitiriaalgum injustamente.
Agradeçoao CNPq,pelosuporte nan eiro.
ne essários para a obtenção do graude Doutor em Ciên ias (D.S .)
CONSTRUÇO DE ALGORITMOS REVERSÍVEIS E QUÂNTICOS
LuisAntonio BrasilKowada
Março/2006
Orientadores: Celina Miraglia Herrerade Figueiredo
Renato Portugal (LNCC)
Programa: Engenharia de Sistemase Computação
Este trabalho onsiste na proposta de algoritmosaritméti os reversíveis
e algoritmos quânti os para problemas de otimização ombinatória. Ambos
ostipospodem ser utilizadosna onstrução de outros ir uitosealgoritmos.
Mostramos omo implementar ir uitos reversíveis para operações
arit-méti as, tais omo multipli ação e divisão de inteiros não-negativos, que
podemser utilizadosparaoperaçõesquânti as om ambosoperandos em
su-perposição. Emparti ular,são propostasversõesreversíveisdoalgoritmode
multipli açãoKaratsuba[18℄, ompro edimentodelimpezadelixore ursivo.
Propomos um algoritmoquânti o, denominado Medida-Linear, para
en- ontrar um valor ótimo em uma lista não-ordenada. Para uma lista om
N
elementos, são feitas8, 27
√
N
hamadas do orá ulo, a m de obter pelo menos 50% de han e de su esso. O algoritmo quânti o mais e iente queexiste atualmente, DH96 [12℄, realiza a mesma tarefa om
22, 5
√
N
hama-das do orá ulo. Além do mais, o nosso algoritmo Medida-Linear ne essitade
Θ(n)
mediçõesem ontraposição àsΘ(n
2
)
mediçõesdoDH96, onde
n
éa quantidadedebitsne essáriapararepresentar otamanhodalista. Propomostambém um operador quânti o que permite adaptar o DH96 [12℄ e o
algo-ritmo Medida-Linear para resolverproblemas de otimização ombinatória.
Foram realizadas simulações omparando os algoritmos a ima des ritos
para en ontraromenorelementode umalistaouretornadoporumafunção.
A omparação foi feitaprin ipalmente sobreo número de onsultas àlistae
a quantidade de medições realizadas. Em todas as simulações, o algoritmo
Medida-Linear teve desempenho superior ao DH96, onrmando também a
análise teóri a de que o algoritmo Medida-Linear ne essita de uma
quanti-dade linear de medições dos resultados par iais enquanto que o algoritmo
DH96 ne essita de uma quantidade quadráti adestas medições.
requirements for the degreeof Do tor of S ien e (D.S .)
DESIGN OF REVERSIBLE ANDQUANTUM ALGORITHMS
LuisAntonio BrasilKowada
Mar h/2006
Advisors: Celina MiragliaHerrera de Figueiredo
Renato Portugal (LNCC)
Department: Systems Engineering and Computer S ien e
Inthiswork,weproposereversiblearithmeti algorithmsandquantum
al-gorithmsfor ombinatorialoptimizationproblems. Both types ofalgorithms
an beused inthe design of other ir uitsand algorithms.
Weshowsomereversible ir uitsfornon-negativeintegeroperationswith
both operands in state superposition. We propose reversible ir uits for
integer multipli ationanddivision. Besidesthe naive ir uitforinteger
mul-tipli ation,we develop some versions for Karatsubaalgorithm [18℄.
We propose a quantum algorithm, denoted Medida-linear, that makes
8.27
√
N
ora le alls for nding the smallest (or largest) value with 50% su ess in an unsorted list withN
elements. The DH96 algorithm [12℄ is nowadays the most e ient quantum algorithmfor solving this problem. Itneeds
22.5
√
N
ora le alls. Another dieren e is the number of measure-ments: Medida-linear makesΘ(n)
measurements and DH96 makesΘ(n
2
)
,
where
n
is the numberof bits needed torepresent the list size.We simulatedthe above algorithmsto ndthe smallestelementof a list.
A omparison was made onsidering the number of ora le alls in the list
and the number of measurements. In all simulations, the performan e of
Medida-Linear wasbetter thanDH96. The simulations onrmed the linear
omplexityofmeasurementsofMedida-Linearand the quadrati omplexity
of DH96.
1 Introdução 1
2 Modelos de Computação 5
2.1 Modelos de ComputaçãoClássi a . . . 5
2.1.1 Máquina de Turing . . . 5 2.1.2 Cir uitos Combina ionais . . . 6 2.2 Cir uitos Reversíveis . . . 9 2.2.1 Portas Reversíveis. . . 10 2.2.2 Análise de omplexidade . . . 17 2.2.3 Limpeza do lixo . . . 18 2.3 Cir uitos Quânti os . . . 21 2.3.1 Bits Quânti os . . . 21 2.3.2 Operadores Quânti os . . . 23 2.3.3 ParalelismoQuânti o . . . 25
3 Algoritmos Aritméti os Reversíveis 27 3.1 Soma reversível . . . 29
3.1.1 Soma ReversívelControlada . . . 32
3.2 Algoritmopadrão para multipli ação reversível . . . 33
3.2.1 Multipli ação om a substituiçãode um dos operandos 36 3.3 Divisão reversível . . . 38
3.4 Operações Modulares . . . 41
3.4.1 Soma modular reversível . . . 41
3.4.2 Multipli ação Modular Reversível . . . 43
3.5 AlgoritmoKaratsuba para multipli ação . . . 45
3.5.1 Algoritmo Karatsuba Reversível . . . 49
3.5.2 Algoritmo Karatsuba Reversível Modular . . . 59
4 Resolução de Problemas de Otimização Dis reta através de Computação Quânti a 62 4.1 Denição doproblema . . . 62
4.2.1 Des rição do algoritmo . . . 67
4.2.2 Apli ação do algoritmo de Grover ao problema das Equações BináriasQuadráti as . . . 68
4.3 AlgoritmoBBHT98 . . . 72
4.3.1 Des rição do algoritmo . . . 73
4.3.2 Análise da orretude e omplexidade . . . 74
4.3.3 Exemplo . . . 77
4.4 Orá uloDesigualdade . . . 78
4.4.1 Des rição do operador . . . 79
4.4.2 Exemplo . . . 82
4.5 AlgoritmoDH96 . . . 84
4.5.1 Des rição do algoritmoDH96 original . . . 85
4.5.2 Des rição do Algoritmo DH96 adaptado para proble-mas de otimização ombinatória . . . 85
4.5.3 Exemplo . . . 86
4.5.4 Análise de orretude doalgoritmo4.5.2 . . . 94
4.5.5 Análise da omplexidadedo algoritmo4.5.2 . . . 96
4.6 AlgoritmoMedida-Linear . . . 99
4.6.1 Des rição do algoritmo . . . 99
4.6.2 Análise da orretude . . . 100
4.6.3 Análise da omplexidade . . . 106
4.6.4 Considerações sobre o exemplo . . . 107
5 Simulação dos Algoritmos Quânti os para problemas de mi-nimização 108 5.1 Simulaçãodo problema de otimização asso iado ao3-Sat . . . 112
5.2 Simulaçãodo problema de Equações BináriasQuadráti as . . 116
5.3 Simulaçãode grandes instân ias . . . 117
5.3.1 Simulação om
λ
variável. . . 1225.3.2 Simulação om múltiplassoluções . . . 124
5.4 Análise dos resultados das simulações . . . 126
6 Con lusão 129
Referên ias Bibliográ as 132
3.2.1Algoritmopadrão para multipli ação . . . 34
3.5.1Algoritmo
Karatsuba(n, A, B)
. . . 484.2.1Algoritmode Grover . . . 67
4.3.1AlgoritmoBBHT98 . . . 74
4.5.1Versão original do algoritmo DH96: en ontrar o menor ele-mentodentro de uma listanão-ordenada
T
omN
elementos . 85 4.5.2Adaptação doDH96 para problemas de otimização dis reta . . 874.6.1AlgoritmoMedida-Linear . . . 101
5.0.2Simulaçãodo AlgoritmoDH para en ontrar o mínimo. . . 113
5.0.3Simulação do Algoritmo Medida-Linear para en ontrar o mí-nimo.. . . 114
5.0.4Simulação do Algoritmo BBHT para en ontrar o mínimo o-nhe ido. . . 115
2.1 (a) Somador Completo onstruído a partir da tabela-verdade
e(b)SomadorCompletomaisotimizado. Mesmosubstituindo
asportasXORporAND's,OR'seNOT's,o ir uito(b)possui
menos portas nototal. . . 9
2.2 Representação usual das portas CNOT e Tooli. Os bits
su-periores são de ontrole eo bitinferior é oalvo. . . 12
2.3 Construção daporta Tooli de 4 bits (3de ontrole e um alvo). 13
2.4 Construçãodaporta Tooligeneralizadade
n
bits apartirda Tooli den − 1
bits. . . 13 2.5 Construção da porta Tooli generalizada om omplexidadelinear. . . 14
2.6 Porta Tooli ontrolada negativamente, ou seja, por 0's em
vez de 1's. Também neste aso, os bits de ontrole mantém
seus valoresoriginais. . . 15
2.7 Somador CompletoReversível onstruídoapartirdosomador
ompleto otimizado onven ional da gura 2.1 (b). Os bits
om as saídas são o ter eiro
(c
s
)
eo último(s)
. . . 16 2.8 Somador Completo ReversívelOtimizado . . . 172.9 Pro edimentogeral para limpar o valordos bits extras . . . . 19
2.10 Representação doq-bit om oe ientes reais . . . 22
3.1 Somadores Reversíveis usadosem série para soma de
operan-dos
a
eb
formados por3bits. O resultadoé representado pors = s
3
s
2
s
1
s
0
. . . 29 3.2 Cir uitopara soma reversívelproposta porVedral,Baren o eEkert [46℄. Na porta ADDER representada à direita, foi
in- luído mais um bitno segundo registrador om entrada igual
a zero para armazenar o arry nal da operação, que faltou
nades riçãooriginal. Outradiferençadestagurapara o
dia-gramaoriginaléqueestarepresentaasomadedois operandos
de
n
bits ada,enquantoqueades riçãooriginaléparaadição de operandos omn + 1
bits.. . . 31dasoma proposta por Vedral, Baren o e Ekert [46℄. Todas as
portas queapare em antes dosomador podem ser exe utadas
simultaneamente,poissãoapli adasabitsdistintos. Omesmo
o orre om as portas após osomador. . . 33
3.4 MULT1. Cir uitoreversívelpara amultipli açãode inteiros
a
eb
den
bits, ondeb
0
, . . . , b
n−1
é ade omposição bináriadeb
. Ostraços diagonais nas linhas indi amque elas são formadaspor vários bits. A quantidade de bits é denida pelo valor
junto a estas mar as. . . 36
3.5 MULT2. Cir uito reversível para a multipli ação de inteiros
a
eb
den
bits, ondeb
0
, . . . , b
n−1
é a de omposiçãobinária deb
. Apenas o operandoa
é mantido após a operação. Após apli ar a porta CNOT no bitb
i
, este bit passa a ter o valor zero, podendoser utilizadopara outrasoperações. . . 373.6 DIV. Cir uitopara a divisão de inteiros. A saída é omposta
por duas partes: uma guarda
⌊a/b⌋
e a outra saída é o resto dadivisão dea
porb
. . . 39 3.7 Cir uito para soma modular reversível proposta por Vedral,Baren o e Ekert [46℄ om uma orreção. . . 42
3.8 Cir uito para a multipli ação modular ontrolada reversível
proposta por Vedral, Baren o e Ekert [46℄. Apenas um dos
operandos pode estar em superposição de estados. A úni a
diferença entre este ir uitoe o dagura 5 do artigo [46℄ é a
quantidadedebitsdosoperandos. Naguraa ima,os
operan-dospossuem
n
bits, enquantonaguradoartigoosoperandos possuemn + 1
bits. . . 43 3.9 MULT-MOD1. Cir uito para a multipli ação modularrever-sível. Ambosos operandos podem estar em superposição. . . . 44
3.10 MULT-MOD2. Cir uito para multipli ação modular
reversí-vel om o resultado substituindo um dos operandos. Ambos
operandos podem estar em superposição. . . 45
3.11 KARATSUBA1. Versãoparalelado ir uitoKaratsuba
rever-sível. A omputaçãoéfeitade imaparabaixoeoresultadoda
operação de ada porta é armazenadonos bits mais àesquerda. 50
3.12 Cir uitoKARATSUBA(1) om os bits extras zerados. . . 52
3.13 KARATSUBA2. Versão seqüen ial do ir uito Karatsuba
re-versível. . . 54
3.14 KARATSUBA(3)Pro edimentore ursivoparalimpezadelixo
daversão paralela . . . 56
daversão seqüen ial. . . 58
4.1 Cir uitoque implementa
U
g
a partirdeU
f
.. . . 67 4.2 Cir uito que implementa o Orá ulo Desigualdade a partir deU
f
, omk
sendo uma potên ia de 2. O primeiro registrador ontémaentradaeosegundo registradorasaídadafunçãof
. Osj = log k
q-bitsmenossigni ativosdosegundoregistrador estão representados naparte superior domesmo. . . 794.3 Cir uito que implementa o Orá ulo Desigualdade a partir de
U
f
, parak
qualquer.n
é o tamanho da entrada da funçãof
em
é a quantidade de q-bits ne essários para representar a saída def
. O segundo registrador do somador está dividido em duas partes: uma formada pelos q-bits ne essários pararepresentar
k
e outra formada por um úni o q-bit utilizado para indi ar se o primeiro operando (f (x)
) é maior do que o segundo (k
). . . 81 4.4 Cir uito om a implementaçãodoOrá uloDesigualdade paraf (x) = x
2
mod
63
, om0 ≤ x ≤ 15
ek = 37
. As portas CNOT'snoiní ioenomdo ir uitoindi amqueoi
-ésimo q-bitdoprimeiroregistrador ontrolaoi
-ésimoq-bitdosegundo registrador, onde1 ≤ i ≤ 4
. Os dois q-bitsmais signi ativos dosegundo registrador não são ontrolados. . . 835.1 Grá o om a quantidade de onsultas ao orá ulo dos
algo-ritmos DH96 e Medida-Linear para oproblema das Equações
Binárias Quadráti as. As duas linhas sem mar adores se
re-ferem a estimativa teóri a do número de hamadas dos dois
algoritmospara otimização, sendo que a linha superior se
re-fereaoDH96enquantoqueaoutralinhaserefereaoalgoritmo
Medida-Linear. . . 118
5.2 Grá o om a quantidade de onsultas ao orá ulo dos
algo-ritmos DH96e Medida-Linearpara oproblema de otimização
asso iado ao 3-Sat. A linha sem mar ador serefere à
estima-tiva teóri a do número de hamadas do orá ulo no algoritmo
Medida-Linear. . . 118
5.3 Grá o omaquantidadede mediçõesdos algoritmosDH96 e
Medida-Linear (problema EBQ).. . . 119
5.4 Grá o omaquantidadede mediçõesdos algoritmosDH96 e
Medida-Linear (problema 3-Sat). . . 119
ritmos DH96 e Medida-Linear para o aso em que todos os
postos são distintos, em es ala logarítmi a. . . 121
5.6 Grá o om a quantidade de exe uções do orá ulo dos
algo-ritmos DH96 eMedida-Linear dividido pelaraiz quadrada do
tamanho da entrada. . . 122
5.7 Grá o om a quantidade de medições dos algoritmos DH96
e Medida-Linear para o aso em que todos os postos são
dis-tintos. As linhas referentes ao algoritmo DH96 om ambos
valores de
λ
são quase oin identes. O mesmo o orre om as linhas referentes aoalgoritmoMedida-Linear e oBBHT98. . . 1235.8 Grá o om a variação de
λ
nos algoritmos DH96 e Medida-Linear paraN = 2
40
. As linhas paralelas indi am o menor
número de operaçõesem ambosalgoritmos.. . . 124
5.9 Grá o om aquantidadede onsultas aoorá ulodos
algorit-mos DH96 e Medida-Linear para o aso om vários mínimos.
Ambas es alas são logarítmi as. Também é apresentado o
re-sultado para oalgoritmoBBHT98 para omparação. . . 125
5.10 Grá o om a quantidade de exe uções do orá ulo dos
algo-ritmos DH96 eMedida-Linear dividido pelaraiz quadrada do
tamanho daentradae multipli adopelaraizquadrada do
nú-mero de mínimos, para o aso de várias soluções para ada
problema. Otamanho daentrada é
2
100
. . . 126
5.11 Grá o oma quantidade demediçõesdos algoritmosDH96 e
Medida-Linear parao aso em quetodos os postos são
distin-tos, om
N = 2
100
. . . 127
Introdução
Segundoa leide Moore, hipóteseformuladanadé adade 60porGordon
Moore, fundadorda empresa Intel, a ada 18 mesesa apa idade de
pro es-samento dobra e o tamanho ne essário para a representação de um bit se
reduz pela metade. Em 1950, por exemplo, eram ne essários
10
19
átomos
para representar um úni obitdeinformação[35℄. Atéagora,esta estimativa
tem se omprovado na práti a. Se ontinuar neste ritmo, em 2045, ada bit
serárepresentadoporumúni oátomo. Nestaes ala,osefeitosquânti osnão
podem ser desprezados e, portanto,propriedades da omputação
onven io-nal, omo apossibilidadede ópiade dados, nãosão válidas. Jáatualmente,
os efeitos quânti os não são desprezíveis [34, ap. 1℄.
Em paralelo a este desenvolvimento te nológi o, o modelo de
Computa-ção Quânti a tem se mostrado mais forte do que osmodelos lássi os, pois,
resolve todos problemas omputáveis, om amesma ordemde omplexidade
de tempo que um omputador lássi o, ou menor. Por exemplo, em
rela-ção aoproblema da fatoraçãode um número inteiro, até o momento,não se
onhe e algoritmo lássi o para resolvê-loem tempo polinomial, mas existe
algoritmo quânti o polinomial para isso [40℄. Detalhes deste algoritmo
po-dem ser vistos em [25, 36℄, entre outros. No apítulo 2, são mostrados os
Apesar de haverum grande interesseda omunidade ientí a arespeito
da Computação Quânti a [5℄, têm havido pou os progressos no
desenvolvi-mento de novosalgoritmos[41,42℄.
Qualquer problema que possa ser resolvido em um omputador lássi o,
pode ser resolvido em um omputador quânti o om a mesma ordem de
omplexidade de tempo, onforme será omentado no apítulo 2. Mas a
onversão de algoritmos lássi os para quânti os não é muito simples, omo
podeserobservadonapráti apelaexistên iadepou osalgoritmosquânti os.
Alémdomais, omoserávistoadiante,a onversãodiretanemsempreproduz
o melhor algoritmo.
Neste trabalho, propomos alguns algoritmos tanto reversíveis lássi os
omo quânti os. No apítulo3,apresentamos alguns algoritmospara
opera-ções aritméti as om inteirosnão negativos,e propomos implementações
re-versíveis dos algoritmos lássi os para multipli ação e divisão. Há algumas
propostas para um problema similar, multipli ação modular de números
in-teiros,quepossuem
Θ(n
2
)
portaslógi as[46℄,masquenãopermitema
super-posição de estados quânti os em ambosoperandos, onforme será expli ado
posteriormente.
A multipli ação é uma operação fundamental em diversos algoritmos,
por isso a ne essidade de algoritmos e ientes. A omplexidade de tempo
do algoritmo omumente usado nos omputadores onven ionais para esta
operação é
Θ(n
2
)
, onde
n
é tamanho de ada operando. Há um algoritmo, hamadoKaratsuba[18℄,quepossui omplexidadedetempoΘ(n
log
2
3
)
,sendo
mais e iente que o algoritmo onven ional para multipli argrandes
núme-ros. Estealgoritmoéutilizadoemsistemasde omputaçãoalgébri a[15, ap.
8℄. Apresentamos uma implementação reversível do algoritmo de
multipli- ação Karatsuba que pode ser utilizadaem um omputadorquânti o ou em
Computer S ien e [23℄.
Alémdas operações aritméti as,outroproblema tratadoé odabus a do
menor elemento dentro de um onjunto ( apítulo 4). Dada uma lista
não-ordenada om
N
elementos, existe um algoritmo quânti o, DH96 [12℄, que retornaomenorvalordestalista, om pelomenos50% de han edesu esso,após
22, 5
√
N
onsultas à lista eΘ(log
2
N)
medições intermediárias. Neste
trabalho, propomos um novo orá ulo, hamado Orá ulo Desigualdade, que
permite adaptar este algoritmo para que possa ser utilizado também para
resolver problemas de otimização ombinatória. A omplexidade tanto de
tempo quanto de espaçodeste orá ulo está rela ionada om a omplexidade
da função erti adora de ada problema espe í o, ou seja, da função que
retorna a solução rela ionada a uma determinada entrada. Alterando
tam-bémumparâmetrodoalgoritmoDH96original,a omplexidadedetempoda
versão de otimização ombinatória é
11, 48
√
N
exe uções do Orá ulo Desi-gualdade, para obteruma solução orretaem pelomenos metadedasexe u-ções. Desenvolvemos um outro algoritmo, hamadode Medida-Linear, para
en ontrar o menor elemento de uma listaou resolver problemas de
otimiza-ção ombinatória, omamesma han edesu essodoqueoalgoritmoDH96,
após
8, 27
√
N
iterações doorá ulo,fazendo apenasO(log
2
N)
medições. No apítulo 5, são apresentadas simulações omparando os algoritmosMedida-Linear na bus a do menor elemento em listas geradas a partir de
pequenas instân ias de dois problemas NP-difí eis. Também foram feitas
omparações destes algoritmos para funções injetoras, que é o pior aso de
ambos algoritmos; om instân ias de até 100 q-bits. Foram omparados o
númerode hamadasdoorá uloeonúmerodemediçõesrealizadasaté hegar
ao menor elemento. Para ter outro referen ial na omparação, também é
mostrado o resultado para a simulação do algoritmo BBHT98, quando o
Modelos de Computação
2.1 Modelos de Computação Clássi a
2.1.1 Máquina de Turing
Alan Turing, em 1936, formulou um modelo de omputação [45℄ que
- ou onhe ido omo máquina de Turing. O modelo onsiste de: uma ta
linear de omprimento innito, uma peça que se posi iona em uma
deter-minada posição da ta podendo ler e es rever nesta posição ( abeçote de
leitura/gravação), podendo se deslo ar para a esquerda ou para a direita,
um onjuntode instruçõesparaamovimentaçãodo abeçote,eumelemento
que lê as instruções e omanda o abeçote. Os possíveis valores em ada
posiçãoda ta são zero ouum.
Turing mostrou que há uma máquina, de a ordo om o modelo a ima
des rito, que é universal, ou seja, é apaz de simular o omportamento de
qualquer outramáquina de Turing.
AlonzoChur h[8℄, simultaneamenteeindependentementede Turing,
de-senvolveu uma hipótese de que qualquer pro edimentoalgorítmi opode ser
simulado em uma Máquina de Turing Universal. Esta tese ou onhe ida
pro essamento,eatéomomento,nãofoien ontradonenhum ontra-exemplo
datesenaformaquea abamosdedes revê-la. No apítulo4,será omentado
sobre uma versão mais forte destatese.
2.1.2 Cir uitos Combina ionais
Um modelo omputa ional equivalente à Máquina de Turing é formado
pelos ir uitos ombina ionais. Um ir uitológi o onsistede portas lógi as
inter one tadas(asaídadeumaportapodeserligadaàentradadeoutra(s)).
Cada porta lógi a éuma função
f : {0, 1}
n
→ {0, 1}
m
de algum númeroxo
n
de bits de entrada para algumnúmero xom
de bits de saída.Um ir uito lógi oa í li o noqual ada instân iade porta lógi a é
utili-zada nomáximouma vez é hamadode ir uito ombina ional. Os ir uitos
ombina ionais lássi os sãodeterminísti os, ouseja,para uma determinada
entrada (seqüên ia de bits) o resultado é sempre o mesmo. Considerando
valores armazenados omo fazendo parte daentrada, qualquer ál ulo
om-puta ional pode ser realizado através de ir uitos ombina ionais lássi os.
Uma ressalva a se fazer é que existem os ir uitos ombina ionais lássi os
probabilísti os. Nestes, aexe ução dependedeuma oumaisvariáveis
aleató-rias, ujosvaloresvariam aleatoriamentede a ordo om algumadistribuição
de probabilidade. Estes ir uitos são determinísti os, se onsideramos estas
variáveis aleatórias omo parteda entrada.
Asprin ipaisportaslógi as onhe idassão: NOT,AND,OReXOR, om
as respe tivas representações:
¬, ∧, ∨
e⊕
. Todas elas possuem apenas um úni o bit de saída. A porta NOT, que também pode ser representada porum traço em ima da variável,possui apenas um bit de entradae o inverte.
As outras portas possuem dois bits de entrada. A porta AND retorna 1 se,
entradas forem iguais. As portas AND e OR podem ser generalizadas para
mais de duas entradas. O resultado daporta AND generalizada é igual a 1
se todas as entradas foremiguais a 1 e será 0 aso ontrário. E a porta OR
generalizada retorna0se todos osbits que ompõe sua entrada foremiguais
a 0, aso ontrário, o resultado será 1.
Háaindaduas portasespe iais: FANOUT,quepossuiumaúni aentrada
eduas saídasquesão ópiasindependentes daentrada,eCROSSOVER,que
possui duas entradas e duas saídas ujos valores são os dois bits de entrada
na ordem inversa. Nos ir uitos irreversíveis, o FANOUT é representado
por uma bifur ação na linha entre portas onse utivas. O CROSSOVER é
representado apenaspelo ruzamentodas linhas.
Há uma enorme quantidade de possíveis portas lógi as para um número
xo de entradas e saídas. Considerando que ada função om
m
bits de saídas pode ser substituída porm
funções om um bit de saída, há2
m2
n
portas lógi as diferentes om
n
bits de entrada em
bits de saída. Todas estas portas lógi as podem ser onstruídas utilizando apenas portas ANDeNOT, além das ópias. Isto também pode ser feito om outros onjuntos
nitos de portas, omo por exemplo,ORe XOR. Estes onjuntos de portas,
que servem para implementar qualquer função, são hamados de onjuntos
universais.
Uma forma de des rever a função que se deseja omputar é através da
tabela-verdade, naqualseenumeramtodasaspossíveisentradase,para ada
uma delas, é indi ado o valor da saída. Existe um pro edimento geral que
indi a omo onstruir um ir uito,apartirdatabela-verdade, usandoportas
AND, OR e NOT. Este pro edimento onsiste em montar um ir uito para
ada bitde saída. Aentradadeste ir uitoéaentrada dafunção. Para ada
linha da tabela-verdade uja saída seja 1, olo a-se uma porta AND. Esta
que retorna o resultado para aquele bite saída dafunção. Para
n
entradas, a tabela-verdade possui2
n
linhas. Considerando que ada linha om uma
das saídas om o valor 1 ne essita de
n
portas AND e atén
portas NOT, o pro edimento padrão para onstruir o ir uito a partir desta tabela podegerar um ir uito exponen ial, ne essitando de até
n2
n
portas AND e NOT
e uma porta OR generalizada om até
2
n
entradas que, desmembrada em
portas de duas entradas, éformada por
2
n
portas OR.
Para mostrar omo a onstrução, a partir da tabela-verdade, pode ser
realizada para um exemplo on reto, vejamos o aso do somador ompleto
(full adder). Osomador ompleto éum ir uito ujanalidade é somar três
bits. Este ir uito possui duas saídas de a ordo om as ombinações dadas
na tabela2.1. entradas saídas
a
b
c
e
s
c
s
0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1Tabela2.1: Tabela-verdadepara osomador ompleto. Osbits
a
eb
sereferemaos dígitos binários dasentradas,c
e
é o bit passado pela soma dosbits anteriores,c
s
é o bit que será passado para frente es
é o dígito binário atual do resultado da soma.da tabela-verdadee um ir uito otimizadoqueexe uta a mesmafunção. PSfrag repla ements
a
b
c
e
c
s
s
PSfrag repla ementsa
b
c
e
c
s
s
. (a) (b)Figura2.1: (a)Somador Completo onstruídoapartir databela-verdade e(b)
So-mador Completomaisotimizado. Mesmosubstituindoasportas XORporAND's,
OR'se NOT's, o ir uito (b)possuimenos portas nototal.
2.2 Cir uitos Reversíveis
Comofoiditoanteriormente, ada ir uitopodeser asso iadoauma
fun-ção
f : {0, 1}
n
→ {0, 1}
m
,onden
em
são as quantidades de bits ne essários para representar a entrada e asaída, respe tivamente. Sen = m
e a funçãof
é bijetora, elapossui inversa, e onseqüentemente, existe um ir uitoque, para ada valor de saíday
def
, produz o valorx
tal quef (x) = y
. Neste aso, dizemos que o ir uito é reversível. Um ir uito ou uma porta lógi aque implementauma função não inversível (não bijetora)é dito irreversível.
Assim, todas as portas lógi as que possuam mais bits de entrada do que de
saída são irreversíveis. Isto a onte e, porexemplo, om asportas AND, OR
eXOR, entre outras,quetransformam duasoumais entradasem umaúni a
um sistemafísi oadiabáti o,ouseja,umsistema onservativo,nãoháperda
de alor. Napráti a, hágasto de energia, mas esta é onsideravelmente
me-nor do que nos ir uitos onven ionais, nos quais, omo mostrou Rolf
Lan-dauer [24℄, apagar irreversivelmente um bit gasta no mínimo
kT ln 2
, ondek
é a onstante de Boltzmann eT
é a temperatura. Por isso, os omputa-dores reversíveis podem ser e onomi amente mais interessantes do que umomputador onven ional equivalentepela e onomia de energia.
Mas a prin ipal importân ia dos ir uitos reversíveis é o fato de serem
base para os ir uitosquânti os, que serão expli adosmais adiante.
2.2.1 Portas Reversíveis
Das portas lássi as onven ionais, des onsiderando a porta trivial
(fun-ção identidade), apenas a porta NOT é reversível. Neste modelo, ela é
re-presentada por X.
Com alguns ajustes, portas irreversíveis podem ser transformadas em
reversíveis [3, 26℄. Por exemplo, se tomarmos a porta XOR, in luindo na
saída, o valorde um dos bits de entrada, tem-se:
f : {0, 1}
2
→
{0, 1}
2
(x
1
, x
2
) 7→ (x
1
, x
1
⊕ x
2
).
(2.1)
Teori amente, poderíamosmontar uma porta XORreversível,utilizando
umaportaXORpadrãoe opiandoum dosbits. Masparao ir uitoser
real-mentereversível,eledeveutilizarapenas portasreversíveise omoa abamos
de dizer,oXORpadrãonãoéreversível. Alémdomais,tambémnão sepode
opiar o bitusando oFANOUT,pois esta porta também não éreversível.
Para diferen iar o modelo que permite o uso de portas irreversíveis do
modelo quenão o permite, denominamoso primeiro omo ir uitos
usando uma quantidade onstante de portas reversíveis e alguns bits extras
om valores pré-denidos.
A versão reversível da porta XOR, denida pela relação 2.1, hama-se
CNOT(CONTROLEDNOT).Estaoperaçãopodeservista omosendouma
apli açãodo operador NOT nosegundo bit, aso o valordo primeiroseja1.
O primeiro bit permane e inalterado, enquanto o segundo bit passa a ter o
resultado da operação XOR. O primeiro bit é hamado de bitde ontrole e
o segundo, bitalvo (target). A representação grá a desta porta é dada na
gura 2.2.
A porta CNOTpode simular aporta FANOUT.Dado um bit
a
, se utili-zarmos este bit omo bit de ontrole da porta CNOT e um bit om valor0omo alvo,ouseja, entrada:
(a, 0)
, a saída é(a, a)
.Para implementar a porta AND de forma reversível, é ne essário mais
um bit, pois a função original não é balan eada, ou seja, não gera igual
quantidade de bits 0 e 1. Isto pode ser feito utilizando a porta Tooli, ujo
fun ionamentoé dado pela relação
f : {0, 1}
3
→ {0, 1}
3
(x
1
, x
2
, x
3
) 7→ (x
1
, x
2
, (x
1
∧ x
2
) ⊕ x
3
),
(2.2)
xando oúltimobitem 0. A representaçãousual dasportasCNOTeTooli
é dada nagura 2.2.
Como no aso dos ir uitos onven ionais, no modelo reversível, há
on-juntos universais de portaslógi as, quepermitema onstrução de quaisquer
outras portas ou ir uitos, onformeo lema a seguir.
Proposição 1. A porta Tooli éuniversal para os ir uitosreversíveis
lás-si os.
Demonstração. Considerando que a porta Tooli de 3 bits pode simular a
a
a
b
a ⊕ b
CNOT PSfrag repla ementsa
a
b
b
c
c ⊕ (a ∧ b)
TooliFigura 2.2: Representação usual das portas CNOT e Tooli. Os bits superiores
são de ontrole e obit inferioré oalvo.
que simulaasportas NOT eFANOUT,podemos armarqueaportaTooli
de 3 bits é universal, pelo fato de que as portas AND, NOT e FANOUT
formamum onjuntouniversalnomodelo onven ional. Poroutrolado, omo
a porta Toolipode ser simuladaporum número onstantede portas AND,
NOT e FANOUT,podemos armar que ambos os modelos são equivalentes
em termosde apa idade omputa ional.
Outra forma de mostrar que a porta Tooli é universal para o modelo
reversível é através da teoria de grupode permutações [37℄. Considere uma
porta reversível genéri a de
n
bits. Há2
n
possíveis entradas que estão no
onjunto
{0, ..., 2
n−1
}
na notação de imal. A saída (imagem da função
re-versível orrespondente) é uma permutação deste onjunto. Qualquer porta
reversívelde
n
bits pode ser representada poruma permutaçãoemS
n
,ondeS
n
éogrupoSimétri ode permutaçõesden
elementos. Are ípro atambém é verdadeira, ouseja, qualquer permutação emS
n
orresponde a uma porta reversível. A primeira parte da demonstração é a onstrução de uma portaTooli generalizada utilizando a porta Tooli usual de 3 bits, introduzindo
umespaçoadi ional. A onstruçãodaportaToolide4bitsapartirdaporta
de 3 bits pode ser feita onforme gura 2.3. Além dos três bits de ontrole
a
,b
ec
e dobitalvod
, nesta onstrução, foi utilizadoum bitauxiliar omo valorini ialzero quearmazenaovalorintermediárioa ∧ b
,devido àprimeiraa
a
b
b
c
c
d
0
0
d ⊕ (a ∧ b ∧ c)
Figura 2.3: Construção da porta Toolide 4bits (3 de ontrole eum alvo).
porta Tooli de 3 bits. A segunda porta faz om que o último bit tenha o
resultado
d ⊕ (a ∧ b ∧ c)
. A ter eiraporta é apenas para limparo onteúdo do bitauxiliar.Da mesma forma omo foi onstruída a porta Tooli de 4 bits a partir
da porta de 3 bits, é possível onstruir uma porta Tooli de
n
bits a partir de portas den − 1
bits. A onstrução desta porta é uma generalização da des rição dagura 2.3, onformepode ser observado na gura2.4.PSfrag repla ements
a
1
a
1
a
2
a
2
a
n
a
n−1
a
n−1
a
n−2
a
n−2
. . . . . .0
0
a
n
⊕ (a
1
∧ a
2
∧ · · · ∧ a
n−1
)
Figura 2.4: Construção da porta Tooli generalizada de
n
bits a partir da Tooli den − 1
bits.CadaTooligeneralizadade
n
bitspodesermontada om2portasTooli den − 1
bits e mais uma porta Tooli de 3 bits. A quantidade de portas Tooli de 3 bits utilizadas neste ir uito é denida pela seguinte relação dere orrên ia:
T (n) =
1,
sen = 3
2T (n − 1) + 1,
sen > 3.
T (n) = 2
n−2
− 1
. Este pro edimentone essita de apenas um bit extra, pois
em ada vez que háne essidadede utilizar obit, pode-se utilizaro bitextra
utilizado anteriormente, poisele está om o valorzero.
Felizmente, a onstruçãodaportaTooligeneralizadapodeser feita om
omplexidade linear, onforme é mostrado nagura 2.5. Pela gura, pode-PSfrag repla ements
a
1
a
1
a
2
a
2
a
3
a
3
a
n
a
n−1
a
n−1
a
n−2
a
n−2
. . . . . .0
0
0
0
0
0
0
0
a
n
⊕ (a
1
∧ a
2
∧ · · · ∧ a
n−1
)
Figura2.5: Construção daportaTooligeneralizada om omplexidade linear.
mos observarque este pro edimentone essita de
2(n − 3) + 1
portas Tooli de 3 bits, ou seja2n − 5
portas. Oespaço também élinear: são ne essáriosn − 3
bits extras para montar uma porta Tooli generalizadaden
bits. Usando portas X, quepodem ser simuladasporportas Tooli,é possívelonstruir uma porta Tooli generalizada ujosbits de ontrole são ativados
por0 em vez de 1, onforme mostrado nagura 2.6, lembrandoque a porta
X é aversão reversível daporta NOT. De posse desta nova porta, épossível
transporduas adeiasde
n
bits quediferememapenasumbit. Istopode ser feito olo andoportasXantesedepoisdaportaTooligeneralizadaeusandoomo bitalvo,obitquedifere emambas adeias. Porexemplo,suponhaque
estejamos trabalhando om 4 bits, e queremos transpor as adeias 0110 e
PSfrag repla ements
X X
Figura2.6: Porta Tooli ontrolada negativamente, ouseja, por 0'semvez de 1's.
Também neste aso, osbits de ontrole mantémseus valoresoriginais.
desejado é
f (x) =
x,
sex /
∈ {6, 7}
6,
sex = 7
7,
sex = 6.
Este ir uito onsisteemumaportaToolide 4bits omosegundoeter eiro
bits pre edidos e su edidos por uma porta X ontrolando o quarto bit, o
que equivale a dizer que é uma porta Tooli ontrolada positivamentepelo
primeiro bite negativamente pelos segundo e ter eirobits.
A transposição de duas adeias de
n
bits, que diferem ems
bits pode ser feita através des
transposições que permutam adeias que diferem em apenas um bit. Todapermutaçãoé um produto de transposições, logo todafunção inversível sobre
n
bits é um produto de portas Tooli de 3 bits e portas X.Se as portas AND, NOT e FANOUT podem ser simuladas pela porta
Tooli no modelo reversível, om erteza a porta OR também pode. Seja
c = a∨b
oresultadodaoperaçãoORentrea
eb
. Pelaspropriedadesdelógi a booleana tem-se quec = c
, onde¯
c
signi a NOTc
. Isto signi a quec =
a ∨ b
. Pela leide De Morgan,c = a ∧ b
. Esta expressão é equivalente ac =
1⊕(a∧b)
. Istoimpli aemqueaportairreversívelORpodeserimplementada nomodeloreversível,utilizandotambémaportaTooli, olo andoumaportaX em ada bit de ontrole, antes e depois da Tooli, e xando o bit alvo
Na gura 2.7, é mostrado o ir uitoreversível equivalenteao ir uito da
gura 2.1, através da substituição diretadas portas AND e OR por Toolis
e das portas XOR eFanout por CNOTs.
0
0
0
0
0
0
0
0
0
1
1
a
a
a
a
b
b
b
b
b ∧ c
e
a ∧ c
e
a ∧ b
(a ∧ c
e
) ∨ (b ∧ c
e
) ∨ (a ∧ b)
c
e
c
e
c
e
c
s
s
Figura2.7: SomadorCompletoReversível onstruídoapartirdosomador ompleto
otimizado onven ional dagura 2.1(b). Osbits omassaídassãooter eiro
(c
s
)
e o último(s)
.Aversãodosomador ompletoreversível,des ritanagura2.7,possui11
bitsextrasalémdosbitsquearmazenamasentradaseassaídas. A onversão
direta do ir uito onven ional para o ir uito reversível não garante bons
ir uitos, mesmo que seja a partir do melhor ir uito onven ional. Isto
a onte e por pelo menos dois motivos: no modelo onven ional, as portas
FANOUT são ignoradas eno modelo reversível não, além disso, noprimeiro
modelo, os bits podem ser des artados sem nenhum usto extra, enquanto
quenosegundo modelo,estalimpezaenvolveum ustoadi ional. No asoda
onstrução de um somador ompleto reversível, vemos isso laramente. Na
gura 2.8 é mostrado um ir uito equivalenteao da gura 2.7, porém, mais
otimizado. Na tabela2.2.1 é mostrado o valor de ada bit após a apli ação
de ada porta.
Aoseprojetarum ir uitoreversível,deve-sesemprelevarem ontaoque
sedesejaotimizar: quantidadedeportasusadasouquantidadedebitsextras.
a
a
b
b
0
c
e
c
s
s
Figura2.8: SomadorCompleto Reversível Otimizado
bits
a
b
c
e
0a
b
c
e
a ∧ b
a
a ⊕ b
c
e
a ∧ b
a
a ⊕ b
c
e
a ∧ b ⊕ (c
e
∧ (a ⊕ b))
a
a ⊕ b s ≡ a ⊕ b ⊕ c
e
c
s
≡ (a ∧ b) ⊕ (a ∧ c
e
) ⊕ (b ∧ c
e
)
a
b
s ≡ a ⊕ b ⊕ c
e
c
s
≡ (a ∧ b) ⊕ (a ∧ c
e
) ⊕ (b ∧ c
e
)
Tabela 2.2: Evoluçãodosbits do somadordes ritona gura 2.8
dos bitsde entradaesaída,utilizandoopro edimentodes ritonaseção6.1.3
de [37℄. Mas este pro edimento pode levar a um aumento onsiderável de
portasadi ionais,podendoser ne essárias
Θ(2
n
)
portas[39℄. Portodas estas
onsiderações, a onstrução de ir uitosreversíveis e ientes é uma arte.
2.2.2 Análise de omplexidade
A análise do uso de re ursos ( omplexidade de tempo e espaço) para os
ir uitos reversíveis pode ser feitade formasimilar aomodelo onven ional.
A omplexidade de tempo pode ser dada pelonúmero de passos ne essários
para a exe ução ompleta do ir uito. Por simpli idade, onsidera-se que
ada porta elementar é exe utada em um úni o passo e não há intervalo de
a omplexidade de tempo pode ser mensurada pela maiorseqüên ia de
por-tas que envolvem um mesmo bit [37, ap. 6℄. Esta medida é hamada de
profundidade (depth), enquanto a quantidade total de portas é hamada de
tamanho do ir uito(size).
A omplexidade de espaçoémais simplesde se avaliardoquenomodelo
onven ional, poisaquantidadede bits permane e onstantedurantetodoo
pro edimento, vistoque o número de bits de saída em ada porta reversível
é igual aonúmerode bits de entrada nesta porta.
Suponha que tenhamos um ir uito onven ional utilizando apenas
por-tas AND, OR e NOT, lembrando que todo ir uito onven ional pode ser
onstruído desta forma. Como foivisto antes, aportaNOT é reversível e as
portas AND e ORpodem ser substituídas por Toolis. Mas ada
substitui-ção desta ne essita de um bit extra, que ini ialmente possui um valor xo
e depois guarda o resultado da operação (no aso AND e OR). Como ada
porta onven ionalpodeser substituída porum número onstantede portas
reversíveis, a ordem de omplexidade de portas do ir uito reversível será
a mesma do ir uito onven ional equivalente, multipli ado por uma
ons-tante. Mas em relação ao espaço, omo ada substituição de portas pode
ne essitar de um bit extra, a omplexidade de espaço pode hegar a ser da
mesma ordemde grandeza da omplexidadede tempo, asoestes bits extras
não sejamreaproveitados.
2.2.3 Limpeza do lixo
Nomodeloreversível,devidoaofatode não serpossíveldes artar ovalor
deumbit, nãoétãosimples, omonomodelo onven ional, atribuirumnovo
valorpara um bitdes onsiderando o valoranterior.
ENTRADA
ENTRADA
SAÍDA
ZEROS
BITS
EXTRAS
computação
computação
circuito
ENTRADA
ENTRADA
SAÍDA
ZEROS
LIXO
inversa
inverso
LIXO
EXTRAS
BITS
circuito
ZEROS
CÓPIA DA
SAÍDA
Figura2.9: Pro edimento geral para limparo valordosbits extras
para limpar o valor dos bits extras de ada ir uito (ou porta) reversível.
Trata-sedeexe utaro ir uitonaordemdireta, opiarosbits omoresultado
da função para novos bits e exe utar novamente o ir uito, mas na ordem
inversa, onforme pode ser visto nagura 2.9.
Caso o pro edimento seja apli ado apenas no ir uito omo um todo,
para limpartodos osbitsextras, este métodopossui omplexidadede tempo
Θ(T )
e espaçoΘ(T + S)
,ondeΘ(T )
eΘ(S)
são as omplexidades de tempo e de espaço respe tivamente do ir uito onven ional. Então, um ir uitoonven ional que tivesse omplexidade de tempo exponen ial e de espaço
polinomial, no aso reversível teria a mesma omplexidade de tempo, mas
seu espaçoseria exponen ial.
Bennett,em1989[4℄,propsentãoousodestemétodoemetapas
interme-diáriasdo ir uito,eassim, onseguiriauma omplexidadedetempo
O(T
1+ǫ
)
e de espaço
O(S log T )
, dado umǫ > 0
. Levine e Sherman [27℄ mostraram, no ano seguinte, que há um fator es ondido na ordem de omplexidade deespaço, da forma
ǫ2
1/ǫ
, que diverge quando
ǫ
se aproxima de 0. Usando equaçõesdere orrên ia,elesprovaramqueonovométododoBennettpossuiomplexidade de tempo
Θ(T
1+ǫ
/S
ǫ
)
e de espaço
Θ(S(1 + log T /S))
.OsegundométododoBennett,queele hamadejogodosseixos,fun iona
forem exe utados
n
blo os onse utivos do algoritmo,então o espaço usado éO(nS)
. Se em seguida forem opiados os bits, om o resultado par ial, e exe utados os mesmos passos para trás, os bits extras estarão zerados paraserem usados nos
nS
passos seguintes do ir uito. Repetindo este pro edi-mento de exe utar alguns passos para frente, opiar o resultado par ial eexe utar alguns passos para trás, é possível ir mantendo o espaço extra em
um determinado tamanho. O maior problema é a ne essidade de guardaro
valordos bits extras edoresultado dasaída doblo oanterior paraexe utar
na ordem direta o blo o seguinte do ir uito, e guardar os valores de saída
de ada blo opara exe utá-lode formareversa. Alguns blo os de referên ia
devem ser mantidos para pro eder os passos reversos para eliminação dos
valores indesejáveis. Depois de exe utar outro onjunto de blo os, para
re-moverolixo doúltimoblo ode referên ia, éne essário reexe utar o ir uito
desde o iní io até aquele ponto. Li, Tromp e Vitányi, em [28℄, denem o
jogo dos seixos da seguinte forma: seja
G
uma lista linear de nós rotulados de 1 aT
G
. Há um úni o jogador, que possuin
peças iguais que podem ser olo adas ouretiradas dos nós emG
de a ordo om aseguinteregra: asoo nói
estejao upado omuma peça, seonóseguinteestá livre,então pode-se olo ar uma peça neste nó, aso ontrário pode-se tirar apeça deste nó. Ouseja,pode-setirarou olo arpeças,apenasseonóanteriorestiver omoutra
peça. Oobjetivo é olo ar uma peça no últimonó, om o menor número de
movimentos. Para omeçar o jogo, assume-se que sempre se pode olo ar
uma peça no primeiro nó. A relação do jogo om a limpeza de lixo é feita
da seguinte forma: dado um pro edimento irreversível om
T
passos, estes passos são divididos em segmentos iguais deT
G
passos. Para todos os efei-tos, podem ser onsiderados apenas os passos irreversíveis. A porta NOT,por exemplo, não produz lixo, assim omo outras portas, em que a saída é
armazenada no lugar de alguma entrada. Cada peça éuma unidade de
A peça no
i
-ésimo nó guarda o resultado doi
-ésimo passo deste tre ho do programa. Colo ar uma peça em um determinadonó signi a exe utar, naordem direta,este passo. Retirar uma peça signi a exe utar este passo no
sentido reverso. Tanto para exe utar um passo no sentido direto omo no
reverso, é ne essário ter o resultado do passo anterior, por isso a exigên ia
de haver uma peça na asa anterior.
2.3 Cir uitos Quânti os
2.3.1 Bits Quânti os
Emum omputador lássi o( ir uito lássi o),em adainstantedetempo,
um bit ou está no estado 0 ou no estado 1. Já em um ir uito quânti o, o
estado de ada bité uma superposição dos estados 0 (denotado por
|0i
) e1 (denotadopor|1i
). Dopontodevistamatemáti o,umbitquânti o,também hamadode q-bit, é um vetor normalizado(módulo unitário)de um espaçovetorial bidimensional sobre os omplexos (espaço de Hilbert), no qual os
estados os estados
|0i
e|1i
formam uma base ortonormal, hamadade base omputa ional. Logo, o q-bit pode ser es rito omo uma ombinaçãolineardestes estados:
|ψi = α|0i + β|1i
, ondeα, β ∈ C
. Seα, β 6= 0
, então diz-se que o estado|ψi
é uma superposição dos estados lássi os 0 e1.O par ordenado (
α, β
) dene o estado de um q-bit, normalmente repre-sentado na formamatri ial:|ψi =
α
β
=
1
0
α +
0
1
β
Se
α
eβ
foremreais,oq-bitpodeserrepresentadoemum ír ulo trigono-métri o, onformeagura2.10. No asogeral,oq-bitpodeser representadoem uma esfera de raiounitário, hamadaesfera de Blo h [34, seção 1.2℄.
PSfrag repla ements
|0i
|1i
|ψi
Figura2.10: Representação do q-bit om oe ientesreais
em um dos elementos dabase. Porisso, apesar de o q-bitpoder estar numa
superposiçãodeestados lássi os,aoserobservado,elepassaaterumestado
lássi o.
|α|
2
e
|β|
2
são as probabilidadesde serem medidosos valores 0e 1
respe tivamente. Por isso, de erta forma, pode se dizer que a entrada e a
saída de um omputador quânti o são lássi as.
Múltiplos q-bits
Oestadoformadopelo onjuntodeváriosq-bitsnãoédenidoapenaspela
on atenação dos estados individuais de ada um deles, omo a onte e em
umsistema lássi o,massimpeloprodutotensorialouprodutodeKrone ker
destes estados ( uja notação é
⊗
). A denição e propriedades do produto tensorialpodemseren ontradasemalgunslivrosdeÁlgebraLinearououtrostextosqueexpli amasoperaçõesemespaçosvetoriais omo[34℄. Adimensão
do espaçovetorial que ontém um estadoformado por
n
q-bitsé2
n
.
Os estados
|0i ⊗ |0i
,|0i ⊗ |1i
,|1i ⊗ |0i
e|1i ⊗ |1i
podem ser es ritos omo|00i
,|01i
,|10i
e|11i
ou também na forma de imal:|0i
,|1i
,|2i
e|3i
. Algumas vezes será indi ado expli itamentea quantidade de q-bitsque ompõeum estado, istoseráfeito atravésde um índi e apósarepresentaçãodo estado. Porexemplo, o estado
|1i ⊗ |1i ⊗ |0i = |6i
3
.
α
1
β
1
e|ψ
2
i =
α
2
β
2
:|φi = |ψ
1
i ⊗ |ψ
2
i =
α
1
β
1
⊗
α
2
β
2
=
α
1
α
2
α
1
β
2
β
1
α
2
β
1
β
2
= α
1
α
2
|0i + α
1
β
2
|1i + β
1
α
2
|2i + β
1
β
2
|3i.
Pelo resultado a ima, pode-se veri ar que o estado dosistema formado
pordois q-bits é uma ombinação linear dos quatro arranjos lássi os
possí-veis de dois valoresbinários.
Estes estados formam uma base ortonormal de um espaço vetorial
qua-dridimensional.
Oestadode qualquersistema de dois q-bitspode ser es ritoentão omo:
|ψi = a
0
|0i + a
1
|1i + a
2
|2i + a
3
|3i
, ondea
0
= α
1
α
2
, a
1
= α
1
β
2
, a
2
= β
1
α
2
ea
3
= β
1
β
2
.Oprodutotensorialpreservaanorma,ouseja,ovetorquedeneoestado
dosistema possui módulo unitário(
|a
0
|
2
+ |a
1
|
2
+ |a
2
|
2
+ |a
3
|
2
= 1
). Genera-lizando,um sistema omn
q-bitspossui umestado global|ψi =
P
2
n
−1
i=0
a
i
|ii
. Cada valora
i
é hamadode amplitude do estado|ii
.Parasimpli armaisanotação,oestado
|φi = |ψ
1
i⊗|ψ
2
i
podeseres rito também omo|φi = |ψ
1
i|ψ
2
i
.2.3.2 Operadores Quânti os
Devido aos postulados da Me âni a Quânti a, o úni o tipo de
transfor-mação possível em um sistema quânti o fe hado é a transformação unitária
(operação linear que preserva a norma do vetor). Uma operação linear
U
em um espaço de HilbertV
é dita unitáriase a matrizM
U
asso iada aU
éinversível e
M
−1
U
= M
U
†
, ondeM
†
U
representa a matriztransposta onjugadade
M
U
.Comoasmatrizesreferentes aos operadores unitáriossão inversíveis, isto
signi a queosoperadoresquânti os são reversíveis. Cada operador
reversí-vel lássi oestá asso iadoaumamatrizidentidade om olunaspermutadas.
Istosigni aqueos ir uitosreversíveis lássi osformamumsub onjuntodos
ir uitos quânti os.
Alémdas portas reversíveis vistas na seção 2.2, há outras portas
impor-tantes. Alémdaidentidade
I ≡
1 0
0 1
,
e daporta NOT, já vista,
X ≡
0 1
1 0
,
há innitas portas que podem ser apli adas a um sistema formado por um
úni o q-bit. Por exemplo,pode-se onstruir qualquerporta ujamatrizé da
forma
U
θ
≡
1
0
0 e
iθ
,
para0 ≤ θ < 2π
. Quandoθ =
π
4
, esta porta é hamada, por uma razãohistóri a, de
π
8
. Isto porqueT ≡
1
0
0 e
i
π
4
= e
i
π
8
e
−i
π
8
0
0
e
i
π
8
.
Seθ = π
tem-sea portaZ ≡
1
0
0 −1
.
Aporta
Z
mantémaamplitudedoestado|0i
einverteaamplitudedoestadoH ≡
√
1
2
1
1
1 −1
.
Com esta porta, um q-bitque estiver no estado
|0i
,passa a estar noestado1
√
2
(|0i + |1i)
eseestiver noestado|1i
,passa aestar noestado1
√
2
(|0i − |1i)
, ou seja, em ambos asos, passa de um estado projetado para um estado emsuperposição.
Ao ontrário do que a onte e om os ir uitos lássi os, não existe um
onjuntodis retodeoperadores quânti osuniversal,ouseja,queimplemente
perfeitamente qualquer operador quânti o arbitrário, visto que o onjunto
de operadores unitários é ontínuo. Mas se xarmos uma pre isão para o
resultado da operação (módulo da diferença entre os vetores resultantes da
apli açãodooperadorquese desejasimular eooperador onstruídoapartir
de um onjunto dis reto de portas ao mesmo estado) é possível denir um
onjunto dis retode operadores queseja universal.
Um onjuntouniversal de operadoresé formado pelas portas Hadamard,
fase
S ≡
1 0
0 i
, CNOT e pela portaπ
8
. Uma demonstração dauniver-salidade deste onjunto e de outros pode ser en ontrada em [34, se . 4.5℄.
Interessanteéofatodequeno asode ir uitosreversíveis lássi os,somente
é possível montar um onjunto universal, se houver alguma porta de 3 bits,
enquantoque o onjuntouniversal para ir uitos quânti os, omuma
deter-minada pre isão, pode ser montado om uma porta de dois bits (CNOT)
junto om outras portas de um úni o bit.
2.3.3 Paralelismo Quânti o
Diferentemente dos ir uitos lássi os, os ir uitos quânti os podem ser
exe utados om várias entradas simultâneas sem nenhuma mudança no
Dadoum sistemade
n
bits em quetodos eles estão noestado zero, tem-se|ψ
0
i = |0i ⊗ |0i ⊗ . . . ⊗ |0i
. Caso sejam apli adas portas Hadamard em todos osbits, oestado globalpassa aser|ψ
1
i = H|0i ⊗ H|0i ⊗ . . . ⊗ H|0i =
1
√
2
n
(|0i + |1i) ⊗ (|0i + |1i) ⊗ . . . ⊗ (|0i + |1i)
, fazendo o produto tensorial destes estados, tem-se que|ψ
1
i =
1
√
2
n
P
2
n
−1
i=0
|ii
. Pode sedizer queo estado globaldosistemapassa aseruma superposição detodososestadospossíveisda base omputa ionalpara
n
bits. Sejaf : {0, 1}
n
→ {0, 1}
m
a função asso iada a um ir uito lássi o
irre-versível,onde
n
éo tamanhodaentradaem
otamanhodasaída. Épossível denir um ir uito lássi o reversívelU
f
: (x, y) → (x, y ⊕ f(x))
. Como as portasreversíveis lássi asformamumsub onjuntodasportasquânti as,estemesmo ir uitopodeserprojetadoparaum omputadorquânti o,sendoque,
se a entrada for lássi a (estado projetado), a saída será igual a do ir uito
reversível lássi o. Ou seja,
∀i ∈ [0, 2
n
− 1], U
f
|ii|0i = |ii|f(i)i
. Suponha que tenhamos um estado|ψi =
P
2
n
−1
i=0
α
i
|ii
omα
i
∈ C
eP
2
n
−1
i=0
|α
i
|
2
= 1
. O operadorU
f
apli ado aeste estadoé igual aU
f
|ψi|0i = U
f
2
n
−1
X
i=0
α
i
|ii|0i.
Como
U
f
éum operadorlinear,elepode ser apli adoa adatermodo soma-tório. Logo,U
f
|ψi|0i =
2
n
−1
X
i=0
α
i
U
f
|ii|0i.
Isto signi a que
U
f
|ψi|0i =
2
n
−1
X
i=0
α
i
|ii|f(i)i.
Isto signi a que exe utando apenas uma úni a vez um operador, ele
al ula o resultado para todos os estados que estão em superposição. O
problema quesurge é o fato de a saída também ser superposta. Apenas um
dos estados que ompõe abase será medidononal, perdendo a informação
Algoritmos Aritméti os
Reversíveis
Assim que Peter Shor riou o algoritmo quânti o para fatoração de
in-teiros, em 1994 [40℄, omeçaram a surgir vários projetos de ir uitos para a
exponen iação modular. Esta operação é o pro edimento que possui maior
usto omputa ionalneste algoritmo. Aexponen iaçãonoalgoritmodeShor
não é usada om superposição de valores na base, mas apenas no expoente;
sendo assim,ésu ientepararesolveroproblemadafatoração,algoritmode
multipli açãomodularnoqualumdosoperandossejaxo, omoa onte enos
algoritmos des ritos em [2, 20, 46, 47℄. Mas além de outras apli ações para
a omputação quânti a, está res endo o interesse pela omputação
rever-sível lássi a prin ipalmente devido à nanote nologia. Consequentemente,
está surgindo a ne essidade de operações aritméti as reversíveis e ientes
não apenas omobase doalgoritmodeShor, masparaoutrosalgoritmosque
possam ne essitar queambosoperandos sejamvariáveis(não xos).
As operações aritméti as bási as om inteiros, omo soma, subtração,
multipli açãoedivisão, são fundamentaispara muitosalgoritmos. Emgeral,
o usto destas operações é onsiderado unitário, pois podem ser realizadas
onjuntodeinstruções,bastando arregarosoperandosparaosregistradores,
apli ar a operação padrão e devolver o resultado no registrador de saída.
Mas istoé verdadeapenasquando osoperandos possuemtamanho pequeno,
pois, se as entradas forem maiores do que o omprimento da palavra do
omputador, estas operaçõesdevem ser realizadas por partes.
Neste apítulo, mostramos omo implementar as prin ipais operações
aritméti as, om inteiros não-negativos, no modelo reversível (in luindo o
lássi o) e om a possibilidade de que ambos operandos estejam em
super-posiçãode valores,quando implementadasem um omputadorquânti o. No
aso damultipli ação,além doalgoritmopadrão,será mostrado oalgoritmo
Karatsuba Revesível, que possui omplexidade de ir uito
Θ(n
log 3
)
, sendo
melhor do que o algoritmopadrão, que é
Θ(n
2
)
, além disso, há uma versão
que possuiprofundidade
Θ(log
2
n)
. Assintoti amente, háum algoritmomais
e iente do que o Karatsuba para multipli ação, algoritmo de
S hönhage-Strassen [15, 38℄, mas devidoao fatorquemultipli ao maiortermo da
om-plexidade de tempo, ele é e iente apenas para operandos om mais doque
32000 bits [32℄. Como a soma é a base da multipli ação, ini ialmente, na
seção 3.1, apresentamos alguns pro edimentos reversíveis para a adição de
inteiros en ontrados na literatura. A subtração, onforme será visto, deriva
diretamente dasoma. Em seguida,na seção 3.2, é mostrada nossa proposta
para multipli açãoregular de inteiros. Na literaturanão se en ontra o
algo-ritmo para multipli açãoregular,mas apenas para amultipli açãomodular,
poisesta última éimplementada apartir dasoma modular. Um ir uito
re-versível para divisão de inteiros, também está ausente nos prin ipais artigos
de omputação reversível e quânti a, é proposto na seção 3.3. Em seguida,
na seção 3.4, são mostrados ir uitos para implementar algumas operações
modulares. Na seção 3.5, é apresentado o algoritmo Karatsuba lássi o e
no algoritmoKaratsuba reversível.
3.1 Soma reversível
Na gura 2.8 do apítulo anterior, mostramos omo pode ser onstruído
um somador ompleto (soma de dois operandos formados por um bit ada,
ontendoumbitextra parasomar omopróximodígito)deformareversível.
Este ir uitosomadorpode serusadoem as ataparaaadiçãode operandos
om múltiplos bits. Na gura 3.1, é mostrado o exemplo para a soma de
operandos om 3 bits, usandoo somador ompleto reversível. PSfrag repla ements
a
0
a
0
a
1
a
1
a
2
a
2
b
0
b
0
b
1
b
1
b
2
b
2
s
0
s
1
s
2
s
3
0
0
0
0
Figura 3.1: Somadores Reversíveis usados em sériepara soma de operandos
a
eb
formados por 3 bits. Oresultadoé representado pors = s
3
s
2
s
1
s
0
.No ir uito mostrado nagura 3.1, são usados 6 bits para os operandos
de entrada e outros 4 bits para guardar o resultado da operação. No aso