• Nenhum resultado encontrado

Publicações do PESC Construção de Algoritmos Reversíveis e Quânticos

N/A
N/A
Protected

Academic year: 2021

Share "Publicações do PESC Construção de Algoritmos Reversíveis e Quânticos"

Copied!
149
0
0

Texto

(1)

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

(2)

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)

(3)
(4)

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.

(5)

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 feitas

8, 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 que

existe 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 essita

de

Θ(n)

mediçõesem ontraposição às

Θ(n

2

)

mediçõesdoDH96, onde

n

éa quantidadedebitsne essáriapararepresentar otamanhodalista. Propomos

també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.

(6)

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 with

N

elements. The DH96 algorithm [12℄ is nowadays the most e ient quantum algorithmfor solving this problem. It

needs

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.

(7)

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

(8)

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. . . 122

5.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

(9)

3.2.1Algoritmopadrão para multipli ação . . . 34

3.5.1Algoritmo

Karatsuba(n, A, B)

. . . 48

4.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

om

N

elementos . 85 4.5.2Adaptação doDH96 para problemas de otimização dis reta . . 87

4.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

(10)

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 de

n − 1

bits. . . 13 2.5 Construção da porta Tooli generalizada om omplexidade

linear. . . 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 . . . 17

2.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

e

b

formados por3bits. O resultadoé representado por

s = s

3

s

2

s

1

s

0

. . . 29 3.2 Cir uitopara soma reversívelproposta porVedral,Baren o e

Ekert [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 om

n + 1

bits.. . . 31

(11)

dasoma 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

e

b

de

n

bits, onde

b

0

, . . . , b

n−1

é ade omposição bináriade

b

. Ostraços diagonais nas linhas indi amque elas são formadas

por 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

e

b

de

n

bits, onde

b

0

, . . . , b

n−1

é a de omposiçãobinária de

b

. Apenas o operando

a

é mantido após a operação. Após apli ar a porta CNOT no bit

b

i

, este bit passa a ter o valor zero, podendoser utilizadopara outrasoperações. . . 37

3.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 de

a

por

b

. . . 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 possuem

n + 1

bits. . . 43 3.9 MULT-MOD1. Cir uito para a multipli ação modular

rever-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

(12)

daversão seqüen ial. . . 58

4.1 Cir uitoque implementa

U

g

a partirde

U

f

.. . . 67 4.2 Cir uito que implementa o Orá ulo Desigualdade a partir de

U

f

, om

k

sendo uma potên ia de 2. O primeiro registrador ontémaentradaeosegundo registradorasaídadafunção

f

. Os

j = log k

q-bitsmenossigni ativosdosegundoregistrador estão representados naparte superior domesmo. . . 79

4.3 Cir uito que implementa o Orá ulo Desigualdade a partir de

U

f

, para

k

qualquer.

n

é o tamanho da entrada da função

f

e

m

é a quantidade de q-bits ne essários para representar a saída de

f

. O segundo registrador do somador está dividido em duas partes: uma formada pelos q-bits ne essários para

representar

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 para

f (x) = x

2

mod

63

, om

0 ≤ x ≤ 15

e

k = 37

. As portas CNOT'snoiní ioenomdo ir uitoindi amqueo

i

-ésimo q-bitdoprimeiroregistrador ontrolao

i

-ésimoq-bitdosegundo registrador, onde

1 ≤ i ≤ 4

. Os dois q-bitsmais signi ativos dosegundo registrador não são ontrolados. . . 83

5.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

(13)

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. . . 123

5.8 Grá o om a variação de

λ

nos algoritmos DH96 e Medida-Linear para

N = 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

(14)

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

(15)

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

(16)

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 metadedas

exe 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 apenas

O(log

2

N)

medições. No apítulo 5, são apresentadas simulações omparando os algoritmos

Medida-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

(17)
(18)

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

(19)

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 xo

m

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 por

um 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,

(20)

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 por

m

funções om um bit de saída, há

2

m2

n

portas lógi as diferentes om

n

bits de entrada e

m

bits de saída. Todas estas portas lógi as podem ser onstruídas utilizando apenas portas ANDe

NOT, 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

(21)

que retorna o resultado para aquele bite saída dafunção. Para

n

entradas, a tabela-verdade possui

2

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 pode

gerar 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 1

Tabela2.1: Tabela-verdadepara osomador ompleto. Osbits

a

e

b

sereferemaos dígitos binários dasentradas,

c

e

é o bit passado pela soma dosbits anteriores,

c

s

é o bit que será passado para frente e

s

é o dígito binário atual do resultado da soma.

(22)

da tabela-verdadee um ir uito otimizadoqueexe uta a mesmafunção. PSfrag repla ements

a

b

c

e

c

s

s

PSfrag repla ements

a

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

,onde

n

e

m

são as quantidades de bits ne essários para representar a entrada e asaída, respe tivamente. Se

n = m

e a função

f

é bijetora, elapossui inversa, e onseqüentemente, existe um ir uitoque, para ada valor de saída

y

de

f

, produz o valor

x

tal que

f (x) = y

. Neste aso, dizemos que o ir uito é reversível. Um ir uito ou uma porta lógi a

que 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

(23)

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

, onde

k

é a onstante de Boltzmann e

T

é a temperatura. Por isso, os omputa-dores reversíveis podem ser e onomi amente mais interessantes do que um

omputador 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

(24)

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 valor0

omo 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

(25)

a

a

b

a ⊕ b

CNOT PSfrag repla ements

a

a

b

b

c

c ⊕ (a ∧ b)

Tooli

Figura 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çãoem

S

n

,onde

S

n

éogrupoSimétri ode permutaçõesde

n

elementos. Are ípro atambém é verdadeira, ouseja, qualquer permutação em

S

n

orresponde a uma porta reversível. A primeira parte da demonstração é a onstrução de uma porta

Tooli 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

e

c

e dobitalvo

d

, nesta onstrução, foi utilizadoum bitauxiliar omo valorini ialzero quearmazenaovalorintermediário

a ∧ b

,devido àprimeira

(26)

a

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 de

n − 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 de

n − 1

bits.

CadaTooligeneralizadade

n

bitspodesermontada om2portasTooli de

n − 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 de

re orrên ia:

T (n) =

1,

se

n = 3

2T (n − 1) + 1,

se

n > 3.

(27)

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 seja

2n − 5

portas. Oespaço também élinear: são ne essários

n − 3

bits extras para montar uma porta Tooli generalizadade

n

bits. Usando portas X, quepodem ser simuladasporportas Tooli,é possível

onstruir 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 andoportasXantesedepoisdaportaTooligeneralizadaeusando

omo bitalvo,obitquedifere emambas adeias. Porexemplo,suponhaque

estejamos trabalhando om 4 bits, e queremos transpor as adeias 0110 e

(28)

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,

se

x /

∈ {6, 7}

6,

se

x = 7

7,

se

x = 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 em

s

bits pode ser feita através de

s

transposições que permutam adeias que diferem em apenas um bit. Todapermutaçãoé um produto de transposições, logo toda

funçã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çãoORentre

a

e

b

. Pelaspropriedadesdelógi a booleana tem-se que

c = c

, onde

¯

c

signi a NOT

c

. Isto signi a que

c =

a ∨ b

. Pela leide De Morgan,

c = a ∧ b

. Esta expressão é equivalente a

c =

1⊕(a∧b)

. Istoimpli aemqueaportairreversívelORpodeserimplementada nomodeloreversível,utilizandotambémaportaTooli, olo andoumaporta

X em ada bit de ontrole, antes e depois da Tooli, e xando o bit alvo

(29)

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.

(30)

a

a

b

b

0

c

e

c

s

s

Figura2.8: SomadorCompleto Reversível Otimizado

bits

a

b

c

e

0

a

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

(31)

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.

(32)

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 uito

onven 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 de

espaço, da forma

ǫ2

1/ǫ

, que diverge quando

ǫ

se aproxima de 0. Usando equaçõesdere orrên ia,elesprovaramqueonovométododoBennettpossui

omplexidade de tempo

Θ(T

1+ǫ

/S

ǫ

)

e de espaço

Θ(S(1 + log T /S))

.

OsegundométododoBennett,queele hamadejogodosseixos,fun iona

(33)

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 para

serem 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 e

exe 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 a

T

G

. Há um úni o jogador, que possui

n

peças iguais que podem ser olo adas ouretiradas dos nós em

G

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ó. Ou

seja,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 de

T

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

(34)

A peça no

i

-ésimo nó guarda o resultado do

i

-ésimo passo deste tre ho do programa. Colo ar uma peça em um determinadonó signi a exe utar, na

ordem 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ço

vetorial 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çãolinear

destes 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 representado

em uma esfera de raiounitário, hamadaesfera de Blo h [34, seção 1.2℄.

(35)

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ÁlgebraLinearououtros

textosqueexpli 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ção

do estado. Porexemplo, o estado

|1i ⊗ |1i ⊗ |0i = |6i

3

.

(36)

α

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

, onde

a

0

= α

1

α

2

, a

1

= α

1

β

2

, a

2

= β

1

α

2

e

a

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 om

n

q-bitspossui umestado global

|ψi =

P

2

n

−1

i=0

a

i

|ii

. Cada valor

a

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 Hilbert

V

é dita unitáriase a matriz

M

U

asso iada a

U

é

(37)

inversível e

M

−1

U

= M

U

, onde

M

U

representa a matriztransposta onjugada

de

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

,

para

0 ≤ θ < 2π

. Quando

θ =

π

4

, esta porta é hamada, por uma razão

históri a, de

π

8

. Isto porque

T ≡

1

0

0 e

i

π

4

= e

i

π

8

e

−i

π

8

0

0

e

i

π

8

.

Se

θ = π

tem-sea porta

Z ≡

1

0

0 −1

.

Aporta

Z

mantémaamplitudedoestado

|0i

einverteaamplitudedoestado

(38)

H ≡

1

2

1

1

1 −1

.

Com esta porta, um q-bitque estiver no estado

|0i

,passa a estar noestado

1

2

(|0i + |1i)

eseestiver noestado

|1i

,passa aestar noestado

1

2

(|0i − |1i)

, ou seja, em ambos asos, passa de um estado projetado para um estado em

superposiçã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 da

univer-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

(39)

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íveis

da base omputa ionalpara

n

bits. Seja

f : {0, 1}

n

→ {0, 1}

m

a função asso iada a um ir uito lássi o

irre-versível,onde

n

éo tamanhodaentradae

m

otamanhodasaída. Épossível denir um ir uito lássi o reversível

U

f

: (x, y) → (x, y ⊕ f(x))

. Como as portasreversíveis lássi asformamumsub onjuntodasportasquânti as,este

mesmo 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

e

P

2

n

−1

i=0

i

|

2

= 1

. O operador

U

f

apli ado aeste estadoé igual a

U

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

(40)

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

(41)

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

(42)

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

e

b

formados por 3 bits. Oresultadoé representado por

s = 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

Referências

Documentos relacionados

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

São por demais conhecidas as dificuldades de se incorporar a Amazônia à dinâmica de desenvolvimento nacional, ora por culpa do modelo estabelecido, ora pela falta de tecnologia ou

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

Starting out from my reflection on the words cor, preto, negro and branco (colour, black, negro, white), highlighting their basic meanings and some of their

Além do teste de força isométrica que foi realiza- do a cada duas semanas, foram realizados testes de salto vertical (squat jump e countermovement jump), verificação da

A Ética Resolvendo Conflito Entre Direito e Moral Nesse outro estágio percebe-se que a eticidade contempla um Estado em que suas leis não são sentidas como mera coerção ao

Este estudo apresenta como tema central a análise sobre os processos de inclusão social de jovens e adultos com deficiência, alunos da APAE , assim, percorrendo