Uma Ferramenta para Projeto e Simula ~ao
de Cir uitos Qu^anti os
Campina Grande,PB, Brasil
Uma Ferramenta para Projeto e Simula ~ao
de Cir uitos Qu^anti os
Disserta ~ao submetida a Coordena ~ao do
Curso de Pos-Gradua ~aoem Informati a do
Centro de Ci^en ias e Te nologia da
Univer-sidade Federal de Campina Grande -
Cam-pus I omo parte dos requisitos ne essarios
paraobten ~aodograudeMestreemCi^en ias
(MS ).
Orientadores:
Aer io Ferreira de Lima
Bernardo Lula Jr.
Universidade Federal de Campina Grande { UFCG
Campina Grande,PB, Brasil
CABRAL, Gustavo EulalioMiranda
C117F
Uma Ferramentapara Projeto e Simula ~aode Cir uitos Qu^anti os
Disserta ~ao (mestrado),Universidade Federal de Campina Grande,
Centrode Ci^en ias e Te nologia, Coordena ~ao de Pos-Gradua ~aoem
Informati a, Campina Grande,Paraba, Julho de 2004.
77 p. Il.
Orientadores: Aer io Ferreirade Lima
Bernardo Lula Jr.
Palavras- have:
1. Computa ~aoQu^anti a
2. Simula ~ao
3. Cir uitos Qu^anti os
de 2004, em Campina Grande, Estado da Paraba, pela ban a examinadora onstituda
pelos doutores:
Prof. Dr. Aer io Ferreira de Lima
DF/CCT/UFCG
Orientador
Prof. Dr. Bernardo LulaJr.
DSC/CCT/UFCG
Orientador
Prof. Dr. Herman MartinsGomes
DSC/CCT/UFCG
Prof. Dr. Rubens VianaRamos
A Computa ~ao Qu^anti a surgiu omo uma promissora te nologia alternativa apaz
de ontornaros problemas previstos para a onte erem embreve om asatura ~aoda
te -nologia atual (Computa ~ao Classi a). Estes problemas a onte em quando se trabalha
om omponentes muito pequenos, da ordem de pou os nan^ometros, quando os efeitos
da Me ^ani a Qu^anti a ome am a tornar-se mais fortes, gerando resultados aleatorios.
AComputa ~aoQu^anti a toma proveito desses efeitos,resultando numa Computa ~aon~ao
somente mais rapida, omo um novo tipo de Computa ~ao, apaz de realizar tiposnovos
de omputa ~ao impossveis, em prin pio, de serem realizadas lassi amente. Embora a
teoriadaComputa ~aoQu^anti avenhasedesenvolvendo om rapidez, aparte
experimen-talaindaenfrenta grandes di uldades. Embora implementa ~oes de algoritmossimplese
ompou osqubitsjatenhamsidorealizadas,aindahaproblemasseriosdees alabilidade,
des oer^en iae ontrolabilidadeaseremresolvidos. Devidoaessesproblemas,torna-se
im-perativo o uso de simuladores tanto para o desenvolvimento de novos algoritmo quanto
paraoestudodos algoritmosexistentes. Asimula ~ao,porem,apresentaum problema,no
queumsistemaqu^anti o sopode ser simuladoe ientementeporoutro sistemaqu^anti o.
Umsistemaqu^anti o de n qubitslevaraum tempoO(2 n
)paraser simuladoporum
om-putador lassi o. Asimula ~ao,entretanto,mostra-seaalternativamaisviavelemvistada
faltade umhardwarequ^anti o. Este trabalhoapresentaopro essode on ep ~aoe
imple-menta ~aode um simuladoruniversalde ir uitosqu^anti os, denominadoZeno. Omodelo
de ir uitosqu^anti os foi es olhido por ser amplamente difundido e de fa il assimila ~ao.
Otrabalho apresenta uma introdu ~ao aos on eitos de Computa ~aoQu^anti a usados na
implementa ~ao do simulador, os requisitos gerais desejaveis para um novo simulador de
ir uitosqu^anti os,tantodopontode vistafun ionalquantodon~ao-fun ional,opro esso
de desenvolvimentoutilizado euma analise dos resultados obtidos om aimplementa ~ao
Quantum Computation appeared as a promissing alternative te hnology apable of
turn around the problems predi ted to happen soon with the saturation of the urrent
te hnology (Classi al Computation). These problems o ur when one works with very
small omponents, in the order of a few nanometers, when the Quantum Me hani s
ef-fe tsstart tobe ome stronger, generating randomresults. Quantum Computation takes
advantage of those ee ts, resultingin a Computationnot onlyfaster, but anew kind of
Computation, apableof realizingnew typesof omputations impossible,inprin iple, to
berealized lassi ally. AlthoughtheQuantumComputationtheoryhasbeendevelopping
fast,theexperimentalpartstillfa esgreatdi ulties. Though implementationsofsimple
algorithms,with a fewqubits, havealready been done,there are stillserious problems of
s alability, de oheren e and ontrolability to be solved. Due to these problems, the use
of simulators be omes mandatory either for the development of new algorithms and for
the study ofexisting algorithms. Simulation,however, has aproblem,inthat a quantum
system an onlybeeÆ ientlysimulated by anotherquantum system. A quantumsystem
of n qubits will take time O(2 n
) to be simulated by a lassi al omputer. Simulations,
however, results the most available alternative due to the la k of a quantum hardware.
Thisworkpresentsthepro essof om eptionandimplementationofauniversal quantum
ir uit simulator, named Zeno. The quantum ir uit model was hosen due to it being
aneasilyassimilatedand widely known model. Thework presentsanintrodu tionto the
on epts of Quantum Computation used in the simulator's implementation, the general
requisites wanted for a new quantum ir uit simulator, as from the fun tional point of
view as from the non-fun tional, the development pro ess used and an analysis of the
Lista de Tabelas
Lista de Figuras
1 Introdu ~ao p.13
1.1 Computa ~ao Qu^anti a . . . p.13
1.1.1 OComputadorQu^anti o . . . p.14
1.2 Simuladores . . . p.15
1.2.1 SimuladoresQu^anti os . . . p.15
1.2.1.1 Problemas daSimula ~ao . . . p.16 1.2.2 EstadoAtual . . . p.16 1.2.3 De i^en ias . . . p.17 1.2.3.1 Fun ionalidade . . . p.17 1.2.3.2 Usabilidade . . . p.17 1.2.3.3 Do umenta ~aodo Desenvolvimento . . . p.17 1.3 Objetivo . . . p.18 1.4 Relev^an ia . . . p.18 1.5 Metodologia de Trabalho . . . p.18 1.5.1 Metodologiade Desenvolvimento . . . p.19
1.5.2 Analise de Resultados . . . p.19
1.6 Estrutura daDisserta ~ao . . . p.19
2 Fundamenta ~ao Teori a { Computa ~ao Qu^anti a p.21
2.1 Representa ~ao da Informa ~ao . . . p.21
2.2 Pro essamento daInforma ~ao . . . p.23
2.3 Portas de Um Qubit . . . p.23
2.5 Portas Controladas de Dois Qubits . . . p.25
2.6 Computa ~ao Reversvel . . . p.26
2.7 Computa ~ao Qu^anti a . . . p.27
2.8 Portas Qu^anti as Universais . . . p.29
2.8.1 Universalidade de Hadamardeas Portas de Fase . . . p.29
2.8.2 De omposi ~aode C(U) . . . p.29
2.8.3 De omposi ~aode C 2
(U) . . . p.30
2.8.4 De omposi ~aoemProduto de Matrizesde Dois Nveis. . . p.31
2.8.5 Universalidade por Aproxima ~ao . . . p.31
2.8.5.1 Universalidade de Hadamard, =8 e CNOT . . . p.32
2.9 Medi ~ao . . . p.33
2.9.1 Medi ~aoProjetiva . . . p.33
2.9.2 POVM . . . p.34
2.10 Estados Mistos . . . p.34
2.10.1 Tra o Par ial . . . p.35
2.10.2 CanaisQu^anti os . . . p.36
3 Requisitos Gerais para um Novo Simulador p.38
3.1 Re ursos doSistema . . . p.38 3.1.1 Re ursos de Fun ionalidade . . . p.38 3.1.2 Re ursos de Usabilidade . . . p.39 3.1.3 Re ursos de Do umenta ~ao . . . p.39 3.1.4 OutrosRequisitos . . . p.40 4 Pro esso de Desenvolvimento p.41
4.1 Prin pio daIndepend^en ia do Dialogo . . . p.41
4.2 Pro esso Uni ado Simpli ado . . . p.42
4.2.1 AsQuatro Fases de um Pro esso . . . p.43
4.2.2 Fluxosde Atividades . . . p.43
4.3 MEDITE . . . p.45
4.5 Desenvolvimentodo Modulo Fun ional . . . p.49
4.5.1 Fase de Planejamento. . . p.49
4.5.2 Fase de Elabora ~ao . . . p.50
4.5.2.1 De is~oes de Projeto. . . p.50
4.5.3 Fase de Constru ~ao . . . p.51
4.5.4 Fase de Transi ~ao . . . p.51
4.6 Desenvolvimentodo Modulo de Intera ~ao . . . p.52
4.6.1 Identi a ~ao de Janelas e Objetos Visuais . . . p.52
4.6.2 Implementa ~ao . . . p.52
4.7 Integra ~ao . . . p.52
4.7.1 Testes . . . p.52
5 Analise de resultados p.53
5.1 Re ursos Planejados vs. Implementados. . . p.53
5.1.1 Re ursos de Fun ionalidade . . . p.53
5.1.2 Re ursos de Usabilidade . . . p.55
5.1.3 Re ursos de Do umenta ~ao . . . p.57
5.2 Testes de Corre ~aoe Desempenho . . . p.57
5.2.1 Somador de Dois Bits. . . p.58
5.2.2 Transformada de Fourier Qu^anti a (QFT) . . . p.59
5.2.3 Cir uitopara Cal ularo Autovalor . . . p.62
5.2.4 Testes om aPorta de Medi ~ao . . . p.64
5.3 Resultados dos Testes. . . p.66
6 Con lus~ao p.67
6.1 Objetivos Al an ados . . . p.67
6.2 Contribui ~oes . . . p.68
6.3 Perspe tivas Futuras . . . p.68
Refer^en ias p.70
A.2 Portas . . . p.75
A.3 Barra de Tarefas . . . p.76
1 Atividades de ada uxo de atividades [13℄
. . . p.44
2 Atividades modi adas . . . p.44
3 Des ritor | tarefa `geren iar ir uitos' . . . p.48
4 Des ritor | pos-situa ~aode `geren iar ir uitos' . . . p.48
5 Des ritor | a ~ao `denirnumerode olunas'. . . p.48
6 Des ritor | requisitode `denirnumero de olunas' . . . p.48
7 Des ritor | pos-situa ~aode `denirnumero de olunas'. . . p.49
8 Tempo de exe u ~ao do ir uito somadorde dois bits . . . p.58
9 Resultados de simula ~ao do ir uitosomador de dois bits . . . p.59
10 Tempo de exe u ~ao do ir uito QFTpara 3 qubits . . . p.60
11 Tempo de exe u ~ao do ir uito QFTpara 6 qubits . . . p.60
12 Tempodeexe u ~aodo ir uitopara al ularoautovalordeum operador
qu^anti o . . . p.63
13 Resultados de simula ~ao do ir uito QFT de 3 qubits om leitura de
1 Portas NOT e AND,respe tivamente . . . p.23
2 Cir uito que omputa a fun ~aoadi ~ao modulo2. . . p.23
3 Porta CNOT . . . p.26
4 Porta U- ontrolada . . . p.26
5 Porta Tooli . . . p.27
6 Cir uito quep~oeregistrador no estado 1 2 n=2 P 2 n 1 x=0 jxi. . . p.28
7 Computando valorde f para todos os valores de x. . . p.29
8 De omposi ~ao de porta U ontrolada . . . p.30
9 De omposi ~ao de porta U ontroladapor2 qubits . . . p.30
10 Constru ~ao de operadorunitariode dois nveisU. . . p.31
11 Canal qu^anti o unitario. . . p.36
12 Canal qu^anti o linear . . . p.36
13 Software interativo . . . p.42
14 Tarefa \Utilizarumaferramentade software para projetaresimular
ir- uitos qu^anti os" . . . p.47
15 Tarefa \Congurarferramenta" . . . p.47
16 Arquitetura . . . p.49
17 Modelo on eitual domodulofun ional . . . p.50
18 Cir uito representado nosimulador Zeno . . . p.55
19 Visualiza ~aodo estadono simuladorZeno omo ket . . . p.56
20 Visualiza ~aodo estadono simuladorZeno omo matriz-densidade . . . p.56
21 Visualiza ~aodo estadono simuladorZeno omo histograma. . . p.56
22 Montagem dosomador de numeros de 2 bits nosimulador Zeno . . . . p.58
23 Montagem dosomador de numeros de 2 bits nosimulador jaQuzzi. . . p.59
24 Cir uito daQFT para 3qubits no simuladorZeno. . . p.60
25 Cir uito daQFT para 3qubits no simuladorjaQuzzi. . . p.61
28 Resultado do mesmo ir uitonosimulador Zeno om estados mistos. . p.62
29 Cir uitopara al ularoautovalorde umoperadorunitarionosimulador
Zeno. . . p.63
30 Cir uitopara al ularoautovalorde umoperadorunitarionosimulador
jaQuzzi. . . p.63
31 Resultado da simula ~aodo ir uito para al ulo de autovalorno
simula-dor Zeno. . . p.64
32 Resultado da simula ~aodo ir uito para al ulo de autovalorno
simula-dor jaQuzzi. . . p.64
33 Cir uito da QFT para 3 qubits om portas de medi ~aonos simuladores
Zeno (esquerda) ejaQuzzi. . . p.65
34 Cir uito da QFT para 3 qubits om portas de medi ~aonos simuladores
Zeno (esquerda) ejaQuzzi. . . p.65
1 Introdu ~ao
Este trabalho apresenta o pro esso de on ep ~ao e implementa ~ao de um simulador
universal de ir uitos qu^anti os denominado Zeno. Um simuladore uma ferramenta
im-portante para aanalise de omportamentoe projeto de sistemas,prin ipalmentequando
ha serias di uldades ou mesmo impossibilidade de se onstruir o sistema si amente,
omoeo aso dos omputadores qu^anti os atualmente.
Neste aptuloapresentamosaimport^an iaeo enarioatualdossimuladoresqu^anti os,
identi amosas de i^en ias dos prin ipaissimuladores existentes, apresentamos os
obje-tivos do trabalho, a metodologia utilizada para a onstru ~ao de um novo simulador e a
estrutura dadisserta ~ao.
1.1 Computa ~ao Qu^anti a
O surgimento do omputador ausou grande impa to no desenvolvimento da
so ie-dade. Os primeiros omputadores foram onstrudos utilizando-se valvulas e reles omo
seus omponentes prin ipais,e realizavam al ulosvariasvezes mais rapidoque qualquer
ser humano. Esses omputadores porem o upavam muito espa o fsi o e se provaram
muitolentosparaasne essidades de al ulosquesurgiriam. Oadventodos transistorese
dos ir uitosintegrados (CI's) possibilitouuma diminui ~ao onsideravel notamanhodos
ir uitoseno seu gasto de energia,e um aumento nasua velo idade de pro essamento.
O numerode transistores porCI dobroua ada ano entre 1958 e 1979,e desdeent~ao
ate agora vem aumentando a uma taxa de aproximadamente 2 vezes a ada 18 meses.
Isso signi a que as dimens~oes de um transistor estar~ao brevemente passando da faixa
de m (mi r^ometros) para a faixa de nm (nan^ometros), ou seja, estaremos entrando
na nano-eletr^oni a, na es ala at^omi a. Segundo previs~oes da asso ia ~ao da industria de
semi ondutores ameri ana (NSIA) para a te nologia CMOS, o tamanhodos transistores
passaradafaixade 0;35m(350nm)atuaisparaafaixade 0;07m(70nm)ate2010. No
entanto,ate nologiaCMOSpodeprogredirateolimitede 20nmsemsa rif iofun ional.
Abaixo desse limite ( hamado limite de De Broglie), os transistores CMOS deixam de
fun ionar omo esperado: os eletrons deixam de agir omo part ulas e passam a se
omportar omoondas(i.e., segundooprin piodadualidadedaspart ulassubat^omi as,
formulado por De Broglie [15℄
), obede endo essen ialmente as leis da Me ^ani a Qu^anti a.
Ao inves do efeito de haveamento, se tornam dominantes efeitos omo interfer^en ia,
emaranhamentoesuperposi ~ao.
apare e omo mais promissora e inovadora e a que prop~oe o uso dos efeitos qu^anti os
paraseobter dispositivosemaquinas qu^anti as|um sistemaqu^anti o opera emmuitos
estados lassi os simultaneamente; seu estado qu^anti o pode ser, em qualquer instante,
uma superposi ~ao de estados lassi os. Esse paralelismo inerente aos sistemas qu^anti os
leva a possibilidade de se on eber e onstruir maquinas om poder de pro essamento
exponen ialmente maior do que a atual te nologia permite, i.e., maquinas apazes de
resolver problemas que s~ao onsiderados \intrataveis" por qualquer maquina atual. A
dis iplina que estuda o uso dos efeitos qu^anti os para realizar omputa ~ao, hamada
Computa ~aoQu^anti a,estanoseu ome o,impulsionadapelapossibilidadeextraordinaria
de um salto exponen ial da apa idade de pro essamento.
1.1.1 O Computador Qu^anti o
Aabordagemqu^anti aintroduzmaisdoqueaevolu ~aodopro essodeminiaturiza ~ao,
elatorna possvel um paralelismo omputa ionalimpossvel atraves de outras te ni as e
quenoslevaasportasdeumarevolu ~aonome anismo omputa ional. ComodizemEkert
et al. [7℄
: \Ent~ao, se os omputadores se tornar~ao menores no futuro, a nova te nologia
qu^anti a deve substituir ou omplementar a que nos temos agora. A quest~ao e que a
te nologiaqu^anti a pode ofere ermuitomais queapossibilidadede abarrotar osil iode
bitsaumentandoassimavelo idadedepro essamento. Elapodedar origemauma forma
de omputa ~ao ompletamentenova om algoritmosbaseados nos prin pios qu^anti os."
A Computa ~ao Qu^anti a vai alem, portanto, de ser uma te nologia mais rapida e
miniaturizada para a onstru ~ao de omputadores. Um omputador qu^anti o e uma
maquina que usa uni amente efeitos qu^anti os, omo a interfer^en ia e a superposi ~ao,
paraexe utartipostotalmentenovosde omputa ~aoqueseriamimpossveis,emprin pio,
de serem realizados om e i^en ia emqualquer omputador lassi o.
O on eitode omputadorqu^anti ofoilan adoporFeynmanemumartigode1982 [23℄
,
noqualelearmaain apa idadede omputadores lassi ossimularemsistemasqu^anti os
e ientemente, elan ouaideiade um omputadorqu^anti o omo umsimuladorqu^anti o
universal. A ideiafoi levadaadianteporDeuts h [17℄
,que prop^osum modelo paraa
Com-puta ~ao Qu^anti a universal, onde mostrou que basta usar um sistema qu^anti o de dois
estados e denir um pequeno onjunto de opera ~oes simples para reproduzir a evolu ~ao
unitarianotempode qualquersistemaqu^anti o. Este formalismofoiposteriormente
re-nadoporFeynman [24℄
eDeuts h [18℄
,oquelevouaumades ri ~aodaComputa ~aoQu^anti a
muitosimilaraquelada omputa ~ao lassi aatravesdeportaslogi asbooleanas. Deuts h
mostrou que uma maquina qu^anti a universal e apaz de simular qualquer maquina de
Turing.
Entretanto,ateent~ao,aComputa ~aoQu^anti aeraapenasuma uriosidadea ad^emi a.
Somenteem1994, quandoPeter Shorpubli ouseu artigo [40℄
omum algoritmoemtempo
polinomial para fatora ~ao de numeros primos | um problema que ainda hoje n~ao tem
solu ~ao lassi a e iente onhe ida | e que se per ebeu que a Computa ~ao Qu^anti a
realmente poderia ter alguma utilidadeprati a, i.e., poderia resolver problemas reais de
formamaise ientedoquea omputa ~ao lassi a. Outrosalgoritmosquesurgiramdesde
ent~ao s~ao o algoritmo de Grover [29℄
, que ofere e um aumento quadrati o em velo idade
parabus as embases de dados n~ao-ordenadas, eo algoritmode Shor [41℄
erros.
Enquanto a parte teori a da Computa ~ao Qu^anti a vem se desenvolvendo om
rapi-dez,aparteexperimentalaindaenfrentagrandesdi uldades,devidoaenormesobsta ulos
aindaatransporparase onstruirefetivamenteuma maquinaqu^anti a. Diversas
te nolo-giasv^em sendo propostas, entre elas,ons aprisionados
[12,35,39℄
, eletrodin^ami a qu^anti a
de avidades (QED) [44℄
eresson^an ia magneti a nu lear (NMR),para implementar
regis-tradores e portas qu^anti as. A te nologia NMR foi usada om su esso para desenvolver
sistemas de 2 e 3 qubits. Esses omputadores qu^anti os minus ulos foram usados para
implementaro problema de Deuts h [31℄
e o algoritmode Grover [27,32℄
e mostrarqueesses
algoritmosqu^anti os podem ser exe utados emhardware qu^anti o.
Embora essas implementa ~oes basi as ja tenhamsido realizadas, aindaha problemas
serios de es alabilidade, des oer^en ia e ontrolabilidade a serem resolvidos. Alem disso,
aindan~aohahardware qu^anti oforadoslaboratoriosde pesquisa,emesmoquehouvesse,
os sistemas onstrudos n~ao seriam su ientes para uma explora ~ao detalhada de alguns
dosalgoritmosqu^anti osqueforampropostos. Atequeseresolvamtodosessesproblemas,
a simula ~ao de omputadores qu^anti os (em omputadores lassi os) pode ser uma boa
solu ~aotemporaria, embora quelimitada, omo sera vistoa seguir.
1.2 Simuladores
A simula ~ao digital e uma te ni a largamente utilizada para se prever o
omporta-mento de sistemas, sejam estes reais ou hipoteti os. Como, muitas vezes, n~aoe possvel
se onstruir o sistema si amente(por este ser de dif ilmanuseio ou exigirre ursos n~ao
disponveis), ou mesmo sequer o sistema existe, faz-se uso de simula ~ao para se prever
o seu omportamento. Alem disso, a simula ~ao digital permite a repeti ~ao do
experi-mento varias vezes, om valores diferentes e testando situa ~oes-limites sem que nenhum
equipamentosejadani adooupre isede manuten ~ao(ajustes,reposi ~aode pe as, et .).
N~ao menos importante e a utilidade que a simula ~ao tem no aprendizado da teoria
sobre o sistema sendo simulado. Os simuladores, por permitirem repeti ~ao dos testes e
variedade de valores, permitemuma melhor ompreens~aodofun ionamento dosistema.
Um bom exemplo dautilidade dasimula ~aoe oplanejamento de ir uitos digitais [2℄
.
Apesar de ser barato e fa ilde se onstruir um ir uito digital hoje em dia, simuladores
de ir uitosdigitais forame aindas~ao largamenteusados para o
planejamento/desenvol-vimentode ir uitosdigitais.
1.2.1 Simuladores Qu^anti os
Devido aos problemas om a implementa ~ao de um hardware qu^anti o itados na
se ~ao anterior, torna-seimperativo ouso de simuladoresna Computa ~aoQu^anti a para:
explorar e desenvolver algoritmos qu^anti os, investigar e ara terizar erros intrnse os
(des oer^en ia) e opera ionais, investigar odigos de orre ~ao de erros, e, adi ionalmente,
para implementar e simular os algoritmosqu^anti os onhe idos, estimulando o
im-portantedeapli a ~aodesimuladoresqu^anti os, aindan~aoexplorada,seria naInforma ~ao
Qu^anti a, para a investiga ~ao, desenvolvimento e experimenta ~ao de modelos de anais
qu^anti os.
Outra vantagemdouso de um simuladorqu^anti o e apossibilidade de sevisualizaro
estadoqu^anti odurantea omputa ~ao,ouseja,nospassosintermediariosda omputa ~ao.
Esta observa ~ao e proibida pelas leis da Me ^ani a Qu^anti a (o orreria des oer^en ia na
observa ~ao) e portanto, impossvel de ser feita em uma maquina real. A observa ~ao
desses estadosintermediarios permite oestudo dos efeitos ausados pelos erros.
1.2.1.1 Problemas da Simula ~ao
Como Feynman observou, a uni a maneira de se simular e ientemente um sistema
qu^anti o e usando outro sistema qu^anti o. Um simulador de omputadores qu^anti os e
uma tentativa de se modelar um sistema qu^anti o em um sistema lassi o, e isso e
im-possvel de ser feito e ientemente. O simulador qu^anti o exe utado em uma maquina
lassi a tera que manter registro de um numero exponen ial ( om rela ~ao ao tamanho
da entrada) de forma a simular o sistema qu^anti o om pre is~ao. \Para simular um
vetor de estadosemum espa ode Hilbert 2 n
-dimensional,um omputador lassi o
pre i-sara manipular vetores ontendo na ordem de 2 n
numeros omplexos, enquanto que um
omputador qu^anti o requer apenas n qubits, isto o torna mais e iente em espa o de
armazenamento." [42℄
. Isso impli a que asimula ~aode omputadores qu^anti os requer
re- ursosextraordinariosn~aoapenasdeespa o, mastambemdetempo,que res enamesma
raz~aodo espa o ne essario para armazenaros dados.
1.2.2 Estado Atual
Ate nossos dias, o mais abrangente e ompleto trabalho sobre simuladores de
om-putadores qu^anti os e o apresentado por Julia Walla e [46℄
que dis ute os simuladores de
omputadores qu^anti os e sua import^an ia noestudo, na pesquisa e nodesenvolvimento
daComputa ~ao Qu^anti a. Osdiversos tipos eexemplares de simuladoresate ent~ao
exis-tentes s~aodes ritos e omparados segundo seu desempenho naexe u ~ao doalgoritmode
Shor. A maioria dos simuladores qu^anti os la des ritos s~ao simuladores espe os para
apenas um ououtro algoritmoqu^anti o (tal omo oalgoritmode fatora ~aode Shor ouo
algoritmode bus ade Grover). Noentanto,emlevantamentomais re ente realizadopelo
autor [10℄
, foram identi ados novos simuladores mais elaborados que usam o modelo de
ir uitosqu^anti osde Deuts hepermitemqueousuario(projetista)monteum algoritmo
qu^anti o qualquer a partir das portas qu^anti as basi as disponveis. Esses simuladores
s~ao ditos universais no sentido que disponibilizamportasqu^anti as universais su ientes
paraaimplementa ~aode qualqueralgoritmoqu^anti o. Nesta ategoria est~aoosimulador
QComputer,de D. Mens her [34℄
, oQuantum Computer SimulatordaSenko Corp. [1℄
, o
si-muladorjaQuzzi, desenvolvidoporFelixS hurmann [38℄
eoQCSim,desenvolvidoporPaul
Bla k e M. Cass [11℄
. A tend^en ia e que os simuladores evoluam nesta dire ~ao, ou seja,
simuladores de ir uitos qu^anti os que permitam que o usuario monte qualquer ir uito
1.2.3 De i^en ias
Apesar de representarem uma ontribui ~ao onsideravel no apoio a modelagem e
si-mula ~aodealgoritmosqu^anti os,essesnovossimuladores itadosa imaaindaapresentam
algumasde i^en ias, quepodem ser lassi adas emtr^es ategorias:
1. Fun ionalidade
2. Usabilidade
3. Do umenta ~aodo desenvolvimento
1.2.3.1 Fun ionalidade
Apesar de ja existirem simuladores universais, esses simuladores, em geral, ainda
apresentam de i^en ias om respeito afun ionalidadesdesejaveistantodopontode vista
da Computa ~ao Qu^anti a (modelagem simula ~ao de algoritmos) quanto da Informa ~ao
Qu^anti a (modelagem e simula ~ao de anais qu^anti os). Entre essas de i^en ias,
pode-se itar: o uso ex lusivo de estados puros (a maioria) ou de estados mistos (QCSim);
a impossibilidade de medi ~ao em bases diferentes da base omputa ional; a aus^en ia da
opera ~ao de tra o par ial (a ex e ~ao do QCSim); a n~ao gera ~ao de erros opera ionais
e de des oer^en ia no ir uito (a ex e ~ao do jaQuzzi); entre outras; a utiliza ~ao apenas
de portas pre-denidas (QCSim); a impossibilidade de ria ~ao de bibliote as de portas
personalizadas.
1.2.3.2 Usabilidade
Uma boa interfa e om o usuario e essen ial para uma boa e fa il utiliza ~ao de um
sistema omputa ionalpoisela propor iona fa ilidade de aprendizagem, de uso e de
en-tendimento dosistema.
Dos simuladores avaliados, o QCSim e o QComputer n~ao apresentam uma interfa e
segundo os padr~oes atuais de uma boa interfa e (interfa e gra a). Suas interfa es s~ao
textuais, o que di ulta a visualiza ~ao e edi ~ao de um ir uito. O jaQuzzi apresenta
interfa egra a,mas semre ursos de manipula ~aodireta,aedi ~aoefeitatotalmentepor
meiode menus eformularios. OSenko, porsua vez, apresentauma interfa e gra a om
manipula ~aodireta. Amanipula ~aodiretapermite quesemanipuleoselementosgra os
semquesetenhaquere orreramenus, formularios,et .,ouseja,usandoapenasomouse.
1.2.3.3 Do umenta ~ao do Desenvolvimento
Ado umenta ~aode desenvolvimentode umsistema omputa ionaleimportantepara
a ompreen ~ao de sua arquitetura e para que projetos omo o presente trabalhopossam
aproveitar as ideias japensadas por outros, e onomizando tempo de desenvolvimento.
Pou osdossimuladoreslistadosa imaapresentam umado umenta ~aosolidade omo
apresenta apenas odiagramade lasses euma des ri ~aosu intados seus modulos
prin i-pais. O QCSime oQComputern~aoapresentam do umenta ~aode projeto,mas apenas o
odigo fontedo simulador.
1.3 Objetivo
Um novo simulador qu^anti o deve implementar as prin ipais fun ionalidades dos
si-muladores ja existentes, e superar as suas de i^en ias om rela ~ao a fun ionalidade, a
usabilidadee a do umenta ~ao.
Assim, o presente trabalho tem omo objetivo prin ipala on ep ~ao e o
desenvolvi-mento de um simulador universal de ir uitosqu^anti os. Este simulador deve:
1. ofere er re ursos fun ionais que permitam modelar e simular algoritmos e anais
qu^anti os utilizandoomodelo de ir uitosqu^anti os;
2. ofere erre ursos avan ados de manipula ~ao direta que permitamaedi ~aoe a
mon-tagemde ir uitos de maneira fa ile intuitiva;
3. disponibilizarumado umenta ~aoapropriadatantodopro esso dedesenvolvimento
quanto daferramentaa ser onstruda.
1.4 Relev^an ia
Um simulador de ir uitos qu^anti os e um elemento valioso no ensino e na
aprendi-zagemdaComputa ~aoQu^anti a e daInforma ~aoQu^anti a, devidoa fa ilidadede uso, a
pre is~aoe a velo idade de resposta que a ferramentapropor iona om rela ~ao a al ulos
manuais, que e, em geral, a uni a alternativa disponvel. Alunos e professores poder~ao
validar os resultados dos al ulos, alem de poder usar a ferramenta em exer ios para
testarvarias solu ~oes.
TambemnapesquisadaComputa ~aoQu^anti aedaInforma ~aoQu^anti a,ousodeum
simuladorede grandeimport^an ia,poispermiteavalida ~aode algoritmosemodelos,eo
estudodoserrosedosefeitos ausadospelasdiversaspropriedadesqu^anti as(interfer^en ia,
superposi ~ao,et ).
Para ogrupo lo alde estudosemComputa ~aoeInforma ~aoQu^anti a daUFCG, um
simuladorde ir uitosqu^anti os sera valioso devido as raz~oes apresentadas a ima, assim
omo ao estmulo a melhoria e ao desenvolvimento de dis iplinas sobre o assunto, alem
de servir de ve ulo de divulga ~aodogrupo forada UFCG.
1.5 Metodologia de Trabalho
1. realiza ~aodeestudossobreosfundamentosdaMe ^ani aQu^anti aedasuaapli a ~ao
naComputa ~aoe naInforma ~aoQu^anti as;
2. realiza ~ao de estudos e levantamento das prin ipais ferramentas de simula ~ao de
ir uitosqu^anti os existentes atualmente;
3. deni ~ao dos requisitos gerais,ou re ursos que a ferramentadeve ofere er;
4. sele ~aoe utiliza ~ao de metodos e te ni as de engenharia de software e de interfa e
homem-maquina para levantamentode requisitos fun ionaise n~ao-fun ionais;
5. realiza ~aodo projeto, daimplementa ~aoe de testesda ferramenta desenvolvida;
6. elabora ~ao de artigos te ni o- ient os para a divulga ~ao do trabalho e aspe tos
deste.
1.5.1 Metodologia de Desenvolvimento
Para a parte fun ional, foi usado um pro esso simpli ado baseado no Pro esso
Uni ado [33℄
, e para a parte da intera ~ao om o usuario foi utilizada a metodologia
MEDITE [30℄
de on ep ~aoedesenvolvimentode interfa ebaseadanaanaliseemodelagem
datarefa.
1.5.2 Analise de Resultados
Os resultados dotrabalhoser~aoavaliados de duas formas: (i)a onformidade da
fer-ramentaimplementada om osrequisitosplanejadose (ii)o desempenhoea orre ~aodos
resultados da simula ~ao da ferramenta desenvolvida em ompara ~ao om o desempenho
eos resultados obtidosno simuladorjaQuzzi.
No que se refere a onformidade om os requisitos planejados, ser~ao omparadas as
fun ionalidadesimplementadas omasqueforampropostasnoin iododesenvolvimento.
Quanto ao desempenho, ser~ao omparados os tempos de simula ~ao e os resultados
obtidosnas simula ~oesde alguns ir uitosemaomenos doissimuladores(umdeles sendo
osimulador sendo desenvolvido neste trabalho).
1.6 Estrutura da Disserta ~ao
Apos esta introdu ~ao,e apresentado um aptulo (Captulo 2) sobre os fundamentos
teori os daComputa ~ao Qu^anti a, em espe ial sobre omodelo de ir uitosqu^anti os.
O Captulo 3 aborda a deni ~ao dos requisitos gerais, ou re ursos que a ferramenta
deve ofere erpara seus usuarios de formaa atender aos objetivosdenidos naSe ~ao1.3.
OCaptulo4apresentaumades ri ~aodopro essodedesenvolvimentodaferramenta,
2 Fundamenta ~ao Teori a {
Computa ~ao Qu^anti a
A utiliza ~ao de fen^omenos qu^anti os para a representa ~ao e pro essamento de
in-forma ~ao se apresenta hoje omo uma das alternativas mais promissoras para futuras
gera ~oes de dispositivos omputa ionais. Asvantagensteori asadvindas dessa utiliza ~ao
v^ematraindoaten ~ao res entedo mundo ient o e te nologi o/industrial.
Em 1985, Deuts h prop^os um algoritmo, utilizando apenas opera ~oes qu^anti as,
a-paz de resolver um determinado problema matemati o impossvel de ser resolvido om
opera ~oes ou metodos lassi os. O problema ( hamado o Problema de Deuts h) onsiste
em determinar se uma fun ~ao booleana f : f0;1g !f0;1ge onstante ou balan eada 1
avaliando-a apenas uma vez [17℄
. No entanto, esse algoritmoso al an ou notoriedade em
1989, quando Deuts h introduziu a no ~ao de portas logi as qu^anti as que poderiam ser
one tadas umas as outras formando um ir uito ou malha qu^anti a [18℄
. O algoritmode
Deuts hrees ritonanovalinguagemteveapartirde ent~aoumaamplareper uss~ao,poisa
linguagemdosqubits(analogoqu^anti oaobit lassi o)eportaslogi asqu^anti as(analogo
qu^anti oasportas logi asbooleanas)erasimilaralinguagem de ir uitoslogi os/digitais
onven ionais e poderia ser mais fa ilmenteentendida porengenheiros eletri istase
ien-tistasdaComputa ~ao. Daemdiante, outrosalgoritmosqu^anti osforamdesenvolvidos e
difundidosutilizando-seomodelode ir uitosqu^anti osdeDeuts hasso iadoalinguagem
matemati a.
Neste aptulo, vamos apresentar as no ~oes basi as e os on eitos fundamentais da
Computa ~aoQu^anti a
[6,21,26℄
edaInforma ~aoQu^anti a
[28,36,37℄
,atravesdaapresenta ~ao
domodelode ir uitosqu^anti os,fazendosempreo ontra-ponto omasno ~oese on eitos
basi os da Computa ~aoClassi a ja onhe idos.
2.1 Representa ~ao da Informa ~ao
Na Computa ~ao Qu^anti a, ao inves da no ~ao lassi a de bit, temos a no ~aode qubit
(quantum bit). Diferentemente de um bit de informa ~ao, que pode estar em (ou
repre-sentar) apenas dois estados distintos, 0 ou 1, um qubit, alemdos estados j0i e j1i, pode
1
Umafun ~aobooleanaebalan eadasemetadodeseudomniolevaa0eaoutrametadelevaa1,ee
estar em qualquer superposi ~ao de estados daforma: j i= 0 j0i+ 1 j1i (2.1) onde 0 e 1
s~ao oe ientes omplexos e taisque j
0 j 2 +j 1 j 2
=1. As nota ~oes j0i e j1i
representam, respe tivamente, osvetores:
j0i= 1 0 j1i= 0 1 (2.2)
ea nota ~aoj i representa ovetor:
j i= 0 1 (2.3)
Um qubitpode ser realizadode diversas formas: por meio de uma part ula de spin
1=2,onde os estadosj0ie j1i orresponderiam, respe tivamente, aos estados spin-down
e spin-up; ou ainda por meio de aminhos seguidos pelo feixe (ou pelo foton) ao passar
porum interfer^ometro. Embora um qubitpossa ser preparadoemum numeroinnitode
estados qu^anti os (
0 e
1
s~ao omplexos), quando medido, so podemos obter um bit de
informa ~ao. A medi ~ao de um qubit ini ialmente emum estado
0
j0i+
1
j1i dara omo
resultado o bit 0, om probabilidade j
0 j
2
, ou o bit 1, om probabilidade j
1 j
2
, ou seja,
num aparato de medi ~ao,os resultados 0 e 1 seriam registrados om probabilidadesj
0 j 2 ej 1 j 2
nos respe tivosdete tores. Depoisdeuma medi ~ao,ao ontrariodeum bit lassi o
que mantem o seu estado, o estado de um qubit e alterado para o estado j0i ou j1i, de
a ordo om as respe tivas probabilidades. Ou seja, medirum qubitaltera, emgeral, seu
estado.
Emum omputador lassi o,bitss~aoagrupadosem onjuntos hamadosregistradores.
Ent~ao,se um bit pode armazenar um dos dois numeros 0 ou1, um registrador de n bits
pode armazenar 2 n
numeros diferentes (f0;1;:::;2 n
1g),um por vez.
Emum omputadorqu^anti o,umregistradordenqubits,porsuavez,podearmazenar
2 n
numerosdiferentes aomesmo tempo. Porexemplo, om 2qubits podemosrepresentar
oestado: j i=j 1 ij 2 i =( (1) 0 j0i+ (1) 1 j1i)( (2) 0 j0i+ (2) 1 j1i) = (1) 0 (2) 0 j0ij0i+ (1) 0 (2) 1 j0ij1i+ (1) 1 (2) 0 j1ij0i+ (1) 1 (2) 1 j1ij1i (1) 0 (2) 0 j0ij0i+ (1) 0 (2) 1 j0ij1i+ (1) 1 (2) 0 j1ij0i+ (1) 1 (2) 1 j1ij1i (2.4) 0 j0i+ 1 j1i+ 2 j2i+ 3 j3i (2.5) = 3 X x=0 x jxi (2.6) onde (j) i indi a o oe iente i
2.2 Pro essamento da Informa ~ao
Em um omputador lassi o, o pro essamento da informa ~ao e realizado por
dispo-sitivos hamados de ir uitos logi os,que s~aoagrupamentosde dispositivosmais simples
onhe idosporportas logi as. Umaportalogi aopera sobreoestadodosbitsdaentrada,
obtendoum outro estadonasada orrespondendo asua \tabeladaverdade". Por
exem-plo, a porta logi a NOT inverte na sada o estado do bit da entrada (a = 1 a): se o
bit da entrada (a) estiver no estado 0, ent~ao o bit 1 e gerado na sada (a), e vi e-versa.
A porta AND tem dois bits na entrada (a e b) e gera uma sada, , dada por = ab.
Comas portas logi asNOT e ANDe possvel onstruir ir uitoslogi os apazes de
om-putar qualquer fun ~ao f :f0;:::;2 m
1g ! f0;:::;2 n
1g teori amente omputavel [36℄
.
Representando as portas NOT eAND omo naFigura1
a 1 a
a
b
ab
Figura1: Portas NOT eAND, respe tivamente
e one tando as portas umas asoutras poros, podemos representar os ir uitoslogi os
atraves de um diagrama. Por exemplo, o diagrama da Figura 2 representa um ir uito
logi o que realiza (ou omputa) a fun ~ao f(a;b) = ab, onde e a opera ~ao adi ~ao
modulo 2 (mod 2) 2 . a b ab
Figura2: Cir uito que omputa a fun ~aoadi ~aomodulo2.
2.3 Portas de Um Qubit
Emum omputadorqu^anti oopro essoesimilar,ouseja,podemos onstruir
(teori a-mente) ir uitosqu^anti os, ques~aoagrupamentosde dispositivosmais simples hamados
portas qu^anti as, que realizam opera ~oes unitarias sobre um registrador qu^anti o. Uma
portaqu^anti a simplesapli auma opera ~aounitariaU (denidaporuma matrizunitaria
22) 3
sobreum qubit noestadoj i fazendo-oevoluir para oestadoUj i. Porexemplo,
aporta qu^anti a X,des rita pelamatriz:
X = 0 1 1 0 (2.7) 2
Naaritmeti amodular, aopera ~aomodulo2edenida omoorestordadivis~aoeu lidianadeum
numerompor 2: m=k2+r,ondekeuminteiro. Ent~ao,dizemosquer=mmod2.
3
Uma matriz unitariaU etodaaquelaquesatisfazaseguintepropriedade: UU y
=I =U y
orresponde aporta logi aNOT: Xj0i= 0 1 1 0 j0i= 0 1 1 0 1 0 = 0 1 =j1i (2.8) Xj1i= 0 1 1 0 j1i= 0 1 1 0 0 1 = 1 0 =j0i (2.9)
A matriz quedes reve aporta X perten e a um grupo espe ial de matrizes na
Com-puta ~ao Qu^anti a, as matrizes de Pauli. As matrizesde Paulis~aoquatro:
I = 0 1 0 0 1 X = 1 = x 0 1 1 0 Y = 2 = y 0 i i 0 Z = 3 = z 1 0 0 1 (2.10)
A import^an ia das matrizesde Pauliseravista mais a frente.
Examinando-se as matrizes de Pauli, per ebe-se que nem todas as portas possuem
orrespondentes lassi as. Outrosexemplosdeportasqu^anti assemequivalentes lassi as
s~ao: H = 1 p 2 1 1 1 1 S = 1 0 0 i T = 1 0 0 e i=4 (2.11)
A porta H, hamada de Hadamard, tem o seguinte efeito sobre os estados da base
omputa ional: Hj0i= 1 p 2 1 1 1 1 1 0 = 1 p 2 1 1 = j0i+j1i p 2 Hj1i= 1 p 2 1 1 1 1 0 1 = 1 p 2 1 1 = j0i j1i p 2 ; (2.12)
ouseja,levaumestadodabaseemumasuperposi ~aodeestadose,seapli adanovamente,
levaa superposi ~aoao estadooriginal.
2.4 Rota ~oes Asmatrizes dePauli ( x ; y ; z
;)maisamatrizidentidade(I)formamumabase para
o onjuntodos operadores (matrizes)unitariosde dimens~ao2,ouseja, qualqueroperador
unitario U (22) pode ser expresso atraves de uma de omposi ~ao linear nessa base, a
menosde uma faseglobal (e i ): U =u o I+i~v~ (2.13) onde u o e um es alar (real), ~v = (v x ;v y ;v z
), um vetor real, e o vetor ~ (
x ; y ; z ). Observe que: ~v~=v +v +v (2.14)
eo produto es alarentre osvetores~v e~.
U pode ser rees rito omo:
U = os(=2)I +isen (=2)(~n~)=e i ~n~
; (2.15)
onde~neum vetor real unitarioparaleloa~v, e , o ^angulode ~n om o eixopolar.
Ent~ao, de 2.13 e 2.15, podemosdeduzir que qualquer operador unitariode dimens~ao
2pode ser interpretado omouma rota ~aodeum vetorde radianosemtornodoeixo~n.
A partirda Equa ~ao 2.15, podemos desta ar tr^es asos espe iais de rota ~ao,que s~ao
asrota ~oes emtornodoseixosx,y ez, hamadas deoperadores de rota ~ao,edadaspelas
seguintes equa ~oes:
R x ()e iX=2 = os 2 I isen 2 X = os 2 isen 2 isen 2 os 2 (2.16) R y ()e iY=2 = os 2 I isen 2 Y = os 2 sen 2 sen 2 os 2 (2.17) R z ()e iZ =2 = os 2 I isen 2 Z = e i=2 0 0 e i=2 (2.18)
2.4.1 De omposi ~ao em Rota ~oes
Utilizando os operadores de rota ~ao denidos a ima, podemos mostrar que qualquer
operadorunitarioU de dimens~ao2podeser de ompostoemumasequ^en iadeoperadores
de rota ~ao,seguida de um deslo amento de fase:
U =e i R z ()R y ( )R z (Æ) (2.19)
onde , , e Æ s~aonumeros reais.
Igualmente, tambem epossvelfazer uma de omposi ~ao nos eixos xe y:
U =e i R x ()R y ( )R x (Æ) (2.20)
2.5 Portas Controladas de Dois Qubits
As portasX eH s~aoportasqu^anti as simplesqueapli amopera ~oes qu^anti as sobre
umuni oqubit. Apesardo onjuntode portasqu^anti assimplesserinnito(onumerode
matrizesunitarias22e innito),esse onjunton~aoeuniversal,ouseja,n~aoesu iente
para onstruir ir uitosqu^anti os querepresentam opera ~oes qu^anti assobre umnumero
nqualquerdequbits(matrizesunitariasnn). Paratanto,epre isoautiliza ~aodeportas
qu^anti as de multiplosqubits ujo representante prin ipale aporta NOT- ontrolada ou,
omoemais onhe idanaliteratura,porta CNOT.Esta porta apli aumaopera ~aosobre
des ritapela matriz44 mostrada abaixo: 2 6 6 4 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 3 7 7 5 (2.21)
e ujaatua ~aose pro essa daseguinteforma: se oqubitde ontrole a esta noestadoj0i,
oestado jbi do qubit alvopermane e inalterado. Se oqubit de ontrole a esta noestado
j1ioestadojbi doqubit alvoealteradopara jbai. A opera ~aosobre oqubitalvopode
ser expressa omo X a
jBi, onde X e a porta X e o sobres rito \a" e o valor do bit de
ontrole. O diagramadaFigura 3representa aporta CNOT.
jai
jbi
jai
jbai
Figura3: Porta CNOT
PodemosgeneralizaraportaNOT- ontroladaparaumaportaU- ontroladasobredois
qubits, onde U e uma opera ~ao unitaria sobre um simples qubit, e uja a ~ao e des rita
pelodiagramada Figura4.
jai jbi jai U a jbi
Figura4: Porta U- ontrolada
2.6 Computa ~ao Reversvel
Nonaldos anos70,os ientistas ome aramaquestionarasimpli a ~oesqueaFsi a
teria sobre a Computa ~ao. Ini ialmente, a termodin^ami a da omputa ~ao lassi a era
o alvo prin ipal dos esfor os, om quest~oes sobre o mnimo de energia ne essaria para
realizaruma dada omputa ~ao,ouquanto aloroapagamentodeum bitdissiparia,entre
outras [47℄
.
Osmodelosde omputadoresresultantesdessaspesquisasserviram omoexperimentos
teori os ideais querevelaram algumas onex~oes intrigantes entre a reversibilidade logi a 4
e a termodin^ami a. Charles Bennett [8℄
, da IBM, mostrou que qualquer opera ~ao logi a
irreversvelteria que dissipar uma erta quantidade mnima de energia.
4
Seumaopera ~aoereversvel,ent~aopode-seobteroestadoanteriorasuaapli a ~aoapartirdoestado
Em 1982, Ed Fredkin e Tommaso Tooli provaram que era possvel onstruir
si a-menteumaportalogi a lassi auniversalereversvel [25℄
. AportaapresentadaporFredkin
eTooli levou onome do segundo. A porta Tooli erepresentada pela Figura5.
a
b
Figura5: Porta Tooli
A a ~aorealizada peladaporta Toolipode ser des ritapela matrizabaixo:
2 6 6 6 6 6 6 6 6 6 6 4 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 3 7 7 7 7 7 7 7 7 7 7 5 (2.22)
AportaToolipode serusadaparaimplementartodasasopera ~oesbooleanas(AND,
NAND, OR, NOT), assim omo a opera ~ao FANOUT. Por exemplo, para omputar a
opera ~aoNAND, olo a-se osdois bits deentrada omo asentradas aeb daportaTooli
eprepara-seumbitnoestado1asso iadoaentrada (bitan illaoudetrabalho). Asada
do NAND e lida na sada do ir uito. A opera ~ao FANOUT pode ser implementada
preparando-se um bit de trabalho no estado 1 para a entrada a, um bit de trabalho no
estado0 naentrada , eobitque sequer opiarnaentrada b. A sada ontera a opia.
Assim, um ir uito lassi o qualquer pode ser e ientemente simulado usando-se um
ir uitoreversvel onsistindo apenas de portas Tooli ebits de trabalho [36℄
.
Ent~ao, esses trabalhos mostraram que a Computa ~ao Classi a pode ser realizada de
formatotalmentereversvel, a arretando, portanto, um gasto mnimode energia.
2.7 Computa ~ao Qu^anti a
ComojafoiditonaSe ~ao2.3, asportasqu^anti asimplementamoperadores unitarios,
ou seja, operadores que satisfazem a propriedade UU y
= I =U y
U. Isso impli a que, se
existeooperadorunitarioU,ent~aoexiste umoperadorunitarioU y
querealizaaopera ~ao
inversa. Ou seja, se U e apli ado a um estado j i, teremos um resultado j
o
i na sada.
Apli ando,agora, ooperador U y
aj
o
Classi amente, um ir uito para omputar uma fun ~ao n-aria 5
f onsistiria em um
aglomerado de portas om n entradas x
1 ;:::;x n e uma sada y=f(x 1 ;:::;x n ).
En-tretanto, um ir uito qu^anti o n~ao pode omputar uma fun ~ao dessa forma pois uma
opera ~ao qu^anti a e unitaria e portanto reversvel. Um omputador qu^anti o pre isa de
2 registradores: um para guardar o estado da entrada e outro para o estado da sada,
alem de bits extras de trabalho. A omputa ~ao de uma fun ~ao seria determinada por
uma opera ~ao unitaria U
f
que agiria sobre os dois registradores (a menos dos bits de
trabalho), preservando aentrada:
U
f
(jxijyi)=jxijyf(x)i (2.23)
Podemos observar quese y = 0,
U
f
(jxij0i)=jxij0f(x)i=jxijf(x)i (2.24)
Suponhaqueseprepareumregistradorqu^anti oj idemqubitsemumasuperposi ~ao
de todos os valores de entrada (2 m
) utilizando m portas Hadamard, omo na Figura 6.
Apli andoU
f
aj ij0i, omo naFigura 7,obtemos:
U f (j ij0i)=U f ( 1 2 m=2 2 m 1 X x=0 jxij0i) = 1 2 m=2 2 m 1 X x=0 jxijf(x)i (2.25)
Ouseja,s~ao omputadostodosos2 m
valoresf(0);f(1);:::;f(2 m
1)aomesmotempo
om uma uni a apli a ~ao de U
f
. Essa ara tersti a de poder al ular varios valores de
f(x)aomesmotempoe hamadade paralelismoqu^anti o. O ir uitodaFigura7sintetiza
ades ri ~aoa ima. No entanto,este paralelismo por siso n~aose on retiza emvantagem
poisaomedirasadado ir uito(oresultado da omputa ~ao) obtemosapenasovalorda
fun ~ao em um ponto, que n~ao re ete toda a informa ~ao ontida na superposi ~ao. Uma
maneira de se obter uma informa ~ao global sobre a fun ~ao e fazendo uso do fen^omeno
dainterfer^en ia,que, junto om o fen^omenoda superposi ~ao, onstitui abase dos atuais
algoritmosqu^anti os.
1 2 n=2 P 2 n 1 x=0 jxi
Figura 6: Cir uito quep~oeregistrador no estado 1 2 n=2 P 2 n 1 x=0 jxi. 5
Uma fun ~ao n-aria e uma fun ~ao ujo domnio tem dimens~ao n, ou seja, uma fun ~ao om n
1 2 m=2 P 2 m 1 x=0 jxijf(x)i
Figura7: Computandovalorde f para todos osvalores de x.
2.8 Portas Qu^anti as Universais
Na Computa ~ao Classi a, existem onjuntos de portas logi as a partir das quais e
possvel se onstruir um ir uito para implementar qualquer fun ~ao booleana. Esses
onjuntos s~ao hamados de onjuntos de portas universais. Por exemplo, o onjunto
formadopelas portas AND eNOT mais aopera ~aofanout ( opia)e universal. Na
Com-puta ~aoQu^anti a,existem tambem onjuntos de portasuniversais, porem,nem sempree
possvelseimplementarafun ~aodesejada omexatid~ao.
Asvezesepossvelapenasobter
uma aproxima ~ao da fun ~ao. Entretanto, o grau de aproxima ~ao pode ser ontrolado
arbitrariamente [6,36℄
.
A seguir, ser~ao mostrados alguns onjuntos de portas qu^anti as universais, a partir
dos quais se pode de ompor(aproximada ou exatamente) qualquer opera ~ao unitariade
qualquer dimens~aoemuma sequ^en ia de portas denidas por esses onjuntos.
2.8.1 Universalidade de Hadamard e as Portas de Fase
A porta Hadamarde asportas de fase denidas abaixo:
= 1 0 0 e i (2.26)
podem ser ombinadas para implementar exatamente qualquer opera ~ao unitaria sobre
um qubit [21℄
. Pode-se ver que as portas de fase implementam rota ~oes sobre o eixo z
(v.Equa ~ao2.18).
2.8.2 De omposi ~ao de C(U)
Existe uma forma de se de ompor qualquer opera ~ao unitaria U de um qubit
on-trolada por outro qubit (C(U)) em uma sequ^en ia de portas de um qubit e de portas
CNOT.NielseneChuang [36℄
mostraramque,paraumoperadorunitarioqualquerU sobre
um uni o qubit, existem operadores unitarios A, B e C sobre um uni o qubit tais que
ABC =I e e i
Fazendo-se A=R z ()R y ( =2) (2.27) B =R y ( =2)R z ( (Æ+)=2) (2.28) C=R z ((Æ )=2) (2.29)
onde , eÆ s~ao ^angulos de rota ~ao emtorno do eixosz, y e z respe tivamente. Temos
ent~ao que: ABC =I (2.30) etambem: e i AXBXC =e i R z ()R y ( )R z (Æ)=U (2.31) pelaequa ~ao 2.20.
Com este resultado,epossvelse realizara seguinte de omposi ~ao:
=
Figura8: De omposi ~aode porta U ontrolada
Ou seja,qualquer opera ~aosobre dois qubits dotipo C(U) pode ser realizada
exata-mente por uma sequ^en ia de 4 portas de um qubitmais 2portas CNOT.
2.8.3 De omposi ~ao de C 2
(U)
Para se de ompor qualquer opera ~ao unitaria U de um qubit ontrolada por dois
qubits (C 2
(U))usa-se umpro edimentoum pou o diferente. Aopera ~aoC 2
(U) pode ser
de omposta em portas CNOT e portas de um qubit ontroladas por um qubit C(V) e
C(V y
),onde V 2
=U. A Figura9 mostraessa de omposi ~ao:
Figura 9: De omposi ~ao de porta U ontroladapor2 qubits
Ou seja, qualquer opera ~ao sobre tr^es qubits do tipo C 2
(U) pode ser realizada
Assim, a portas Hadamard, as portas de fase e a porta CNOT formam um onjunto
innitoeuniversalde portas. Pode-semostrarquequalquer opera ~aounitariaden qubits
pode ser implementada exatamente om O(4 n
n) portas desse onjunto [21℄
.
2.8.4 De omposi ~ao em Produto de Matrizes de Dois Nveis
Este pro edimentose apli aa qualquer opera ~aounitariade m qubits (param >1),
ea de omp~oe emportas C m 1 NOT e C m 1 ( ~ U).
O pro edimento onsiste no seguinte: a partir da matriz (de m bits) U, faz-se a
de omposi ~aodesta em matrizesde dois nveisde formaque:
U n :::U 2 U 1 U =I (2.32)
Em seguida, de omp~oe-se ada uma dessas matrizes U
i
em ir uitos ompostos por
C m 1 NOTs e C m 1 ( ~ U i
)s por um pro edimento que n~ao sera detalhado aqui (v. Nielsen
eChuang [36℄
para detalhes), resultando emum ir uito omo oda Figura10.
Figura10: Constru ~ao de operadorunitariode dois nveis U.
Repare que alguns ontroles s~ao representados por bolas vazias. Isto indi a que o
ontrole e ativado pelo qubitj0i emvez doj1i usual.
Pode-se notar que, neste ponto, a uni a porta basi a usada na de omposi ~ao dos
ir uitos tem sido a C n
NOT (porta NOT ontrolada por n qubits). As outras portas
usadass~aoportas C n
(U) (porta unitariaU ontrolada porn qubits)ou U, ondeU opera
sobre um qubit. Na se ~ao que segue, sera apresentada uma forma de se aproximar a
implementa ~aode uma portaqu^anti a de umqubitusando-se apenasasportas qu^anti as
basi as T eH.
2.8.5 Universalidade por Aproxima ~ao
Embora, omo visto a ima, possamos ter onjuntos innitos universais de portas
qu^anti as (e.g.,CNOT e portas de um qubit), a implementa ~aodessas portas n~aoelivre
deerros. Porem, podemoster um onjuntodis retode portas quepodem serusadas para
realizar omputa ~ao qu^anti a universal de uma maneira livrede erros utilizando odigos
orretores de erros.
disponvel,implementado. Dene-seo erro quando V e implementadoemvez de U por
E(U;V)max
j i
k(U V)j ik (2.33)
onde omax e sobre todos os estadosqu^anti os normalizadosj i noespa o de estados.
Se varias portas s~ao apli adasemsequ^en ia, tem-se:
E(U m U m 1 :::U 1 ;V m V m 1 :::V 1 ) m X j=1 E(U j ;V j ) (2.34)
2.8.5.1 Universalidade de Hadamard, =8 e CNOT
Considere as portas que implementam as opera ~oes T e HTH. T e, om uma fase
global,uma rota ~aode =4 radianos sobre oeixo z.^ Enquanto que HTH e uma rota ~ao
de =4 sobre o eixo x .^ Compondo estas duas opera ~oes resulta em (a diferen a de uma
faseglobal): exp i 8 Z exp i 8 X = h os 8 I isen 8 Z ih os 8 I isen 8 X i = os 2 8 I i h os 8 (X +Z)+sen 8 Y i sen 8 (2.35)
queeuma rota ~aosobre um eixo~n =( os 8 ;sen 8 ; os 8
), om vetor unitario
orrespon-dente n ,^ eporum ^angulo denido por os (
2
) os 2
8
. Ou seja,usando apenas portas
Hadamard e =8 pode-se onstruir R
^ n
().
A partir disso, tem-se que:
E(R ^ n ( );R ^ n () n )< 3 ; (2.36)
onde eo erro maximopermitido.
Agora ja se pode veri ar que qualquer opera ~ao de um qubit pode ser aproximada
om pre is~ao arbitraria usando apenas portas Hadamard e =8.
E fa il ver que, para
qualquer : HR ^ n ( )H =R ^ m ( ) (2.37)
onde m^ eum vetor unitarionadire ~ao( os 8 ; sen 8 ; os 8 ),ou seja, perpendi ular a ^n.
Disto,segue que:
E(R ^ m ( );R ^ m () n )< 3 (2.38) e,da: U =R ^ n ()R ^ m ( )R ^ n (Æ) (2.39)
om uma fase global, que pode ser desprezada ( omparar om (2.19)). Combinando os
resultados (2.36)e (2.38), resulta: E(U;R ^ n () n 1 HR ^ n ( ) n 2 HR ^ n (Æ) n 3 ) =E(U;R ^ n () n1 R ^ m ( ) n2 R ^ n (Æ) n3 ) < (2.40)
Ou seja, dados um operador unitario U qualquer de um qubit, e uma taxa de erro
> 0, e possvel aproximar U dentro de usando um ir uito omposto uni amente de
portas Hadamarde =8.
Assim, omaportaHadamard,aporta=8emaisaportaCNOT,pode-se
implemen-tarqualquer opera ~ao unitariasobre um numeroqualquer de qubits om grau arbitrario
de pre is~ao. Um outro onjunto de portas universais equivalente e o onjunto formado
pelas portas Hadamard, Fase (S),CNOT e Tooli. Todas essas portas podem ser
imple-mentadas de maneiratolerante afalhas [36℄
.
2.9 Medi ~ao
Emum ir uito lassi o,quandosedeseja saberovalorde umbit, bastarealizaruma
leitura do bit espe i ado. Este e um pro esso simples, sem problemas, pois a leitura
de um bit n~ao altera seu estado. Porem, em um qubit em estado de superposi ~ao, por
exemplo, j i=aj0i+bj1i, n~ao ha maneirade se saber osvalores de a ou de b. A uni a
formade se obter alguma informa ~aosobre o qubite realizando uma medi ~ao. Realizar
umamedi ~aoe fazerum teste noqubit, queresultaraemuma modi a ~aodoseu estado
para um dos estados da base, j0i ou j1i na base omputa ional, que e o resultado da
medi ~ao(note-se que osresultados podemser outros,se for usadauma base diferenteda
omputa ionalna medi ~ao). Apos a medi ~ao, n~ao ha omo se saber os valores originais
doqubit(valores de a eb).
Asmedi ~oesqu^anti ass~aodes ritasporum onjuntofM
m
gdeoperadoresdemedi ~ao.
Esses operadores agem sobre o espa o de estados sendo medidos. Ondi e m se refere
aos resultados das medi ~oes que possam o orrer noexperimento. Se o estado dosistema
qu^anti oforj iimediatamenteantesdamedi ~ao,ent~aoaprobabilidadedequeoresultado
m o orrae dada por
p(m)=h jM y m M m j i; (2.41)
eo estado dosistema apos amedi ~aoe
j o i= M m j i q h jM y m M m j i : (2.42)
Os operadores de medi ~aosatisfazema equa ~ao de ompletude,
X m M y m M m =I (2.43) 2.9.1 Medi ~ao Projetiva
Um aso espe ial importante de medi ~ao e a lasse de medi ~oes onhe ida omo
medi ~oes projetivas. Uma medi ~ao projetiva e des rita por uma observavel (M), um
operador hermitiano 6
no espa o de estados do sistema sendo observado. A observavel
tem aseguintede omposi ~aoespe tral: M = X M mP m (2.44) ondeP m
e oprojetorsobre o autoespa o de M om autovalorm. Ospossveis resultados
damedi ~ao orrespondemaos autovalores(m) daobservavel. Medindo-se oestado j i,a
probabilidadede se obter oresultado medada por:
p(m)=h jP
m
j i (2.45)
e o estado do sistema, orrespondente ao resultado m, imediatamente apos a medi ~ao,
sera: j o i= P m j i p p(m) (2.46) 2.9.2 POVM
As vezes n~ao se esta interessado nos estados apos a medi ~ao, mas sim nas
probabi-lidades dos possveis resultados. Para asos assim, a medi ~ao POVM e espe ialmente
util.
Dado um onjuntode operadores positivos 7
fQ
m
g ujosomatorioe a identidade:
X
m Q
m
=I (2.47)
hamamos de POVM (positive operator-valued measure) ao tipo medi ~ao des rita por
esses operadores de medi ~ao.
Os operadores Q
m
podem ser obtidosdos operadores de medi ~ao:
Q m =M y m M m (2.48) 2.10 Estados Mistos
O estado j i de um sistema qu^anti o e dito ser um estado puro se ele e onhe ido
om exatid~ao. Caso ontrario, ou seja, se apenas uma distribui ~ao de probabilidades
f(p
i ;j
i
i)ge onhe ida, o estado do sistema e dito ser uma mistura estatsti a, e e
ha-mado de estado misto (ou misturado). Uma maneira e iente de se representar estados
mistose atraves do on eito de operador-densidade (ou matriz-densidade). O
operador-densidade tambem pode representar estados puros, pois e uma formula ~ao
matemati a-mente equivalenteaovetor de estados.
O operador-densidade para um estadopuro j i,e denido omo:
=j ih j (2.49)
Para um estado misto, arepresenta ~ao e daseguinteforma: = X i p i j i ih i j (2.50) onde os j i
i s~ao estadosde um onjunto de possveis estadosem que ada um deles tem
uma probabilidadep
i
de ser o estado dosistema.
Um operador-densidade possui as seguintes propriedades:
Tra o de e igual a1 (tr()=1);
e positivo.
Uma formade sesaber seo operador-densidade representa um estadopuro ou misto
e al ulando-se seus autovalores:
se um dos autovalores for 1 (e, obviamente, os outros forem 0, pois os autovalores
somama 1),ent~aoo estadoepuro;
emtodos os outros asos, o estadoemisto. [28℄
Para seapli ar um operador U a um operador-densidade (ou, apli aruma porta U a
um estado misto)segue-se aequa ~ao:
= X i p i j i ih i j ! U X i p i Uj i ih i jU y =UU y (2.51) 2.10.1 Tra o Par ial
Umadas apli a ~oesmais importantes dooperador-densidadee omoferramentapara
des reversubsistemas de um sistemaqu^anti o omposto. Esta des ri ~aoepropor ionada
pelooperador-densidade reduzido, que obtemos atravesda opera ~ao do tra o par ial,
ex-pli adaa seguir.
Suponha que tenhamos os sistemas fsi os A e B, ujo estado e des rito por um
operador-densidade AB
. Ooperador-densidadereduzido para osistemaAedenido por
A tr B ( AB ) (2.52) onde tr B
e um mapa de operadores onhe ido omo tra o par ial sobre o sistema B. O
tra opar ial e denido por:
tr B (ja 1 iha 2 jjb 1 ihb 2 j)ja 1 iha 2 jtr(jb 1 ihb 2 j) (2.53) onde ja 1 i e ja 2
i s~ao dois vetores no espa o de estados de A, jb
1 i e jb
2
i s~ao dois vetores
no espa o de estados de B, e tr e a opera ~ao tra o, ou seja, a soma dos elementos da
2.10.2 Canais Qu^anti os
Um problema basi o tanto Computa ~ao Qu^anti a quanto na Informa ~ao Qu^anti a e
transporte seguro e sem erros de informa ~ao entre dois pontos. Ate mesmo o
armaze-namentoda informa ~ao qu^anti a pode ser problemati o. Esses problemas se d~aoporque
o sistema n~ao e totalmenteisolado do ambiente, sofrendo interfer^en ias externas | por
exemplo,transporte de um qubit de informa ~aoemum foton atravesde uma bra oti a,
ondepode haver rudo porirregularidadesnabra, oumesmopelaabsor ~aodofoton em
algumponto doper urso [28℄
.
Imagine um sistemaqu^anti o (uma part ula de spin 1=2 ou um foton)que entre em
um\tubo"(designa ~aode um meiofsi omediador, omo,porexemplo,umabra oti a)
om estado j i. Dizemos que o anal e perfeito se o mesmo estado j i emerge na outra
extremidadedotubo,paraqualquer j inaentrada. Porem, setivermosumaperturba ~ao
tal que o resultado na sada seja Uj i, onde U e um operador unitarioque depende do
ampo magneti o mas e independente daentrada j i, ent~ao este anal e hamado anal
unitario,e e ilustradonaFigura 11abaixo.
Figura 11: Canal qu^anti o unitario
Se, poroutro lado, a perturba ~ao varia aleatoriamente om o tempo, ausando uma
mudan aemseu estado, n~aose pode des revera sada do analemtermos de um estado
puro para uma dada entrada j i, mas sim em termos de um operador-densidade , que
depende do estado ini ial
0 .
E omum se modelar este anal omo um anal linear da
seguinteforma ilustradanaFigura 12.
Figura12: Canalqu^anti o linear
Na entrada, tem-se o sistema (part ula) A, representado por
0
, e o ambiente E,
representado por
env
. A intera ~ao entre o sistema A, transportando a informa ~ao, e o
ambienteEeent~aorepresentadapelooperadorunitarioT (o anal). Apli ando-seotra o
par ialsobre oambientenasadado analobtem-seum operador-densidadereduzidoque
des reve o estado do sistema na sada do anal, desprezando-se o ambiente, de a ordo
om aequa ~ao abaixo: "( )=tr T( )T y (2.54)
A opera ~ao"e hamadade superoperador porqueeummapeamentolinear de
3 Requisitos Gerais para um
Novo Simulador
A deni ~ao de requisitos e o primeiro passo para se desenvolver um sistema
om-puta ional. Os requisitos expressam as ne essidades fun ionais e n~ao-fun ionais tanto
do liente quanto dos usuarios poten iais do sistema. Tendo-se denido os requisitos, e
possvelplanejarosistema ommaiore i^en ia,utilizando-seumametodologiaadequada
para tanto.
Neste aptulo, ser~ao apresentados os requisitos gerais (re ursos a serem ofere idos)
desejaveispara um novo simulador de ir uitos qu^anti os, tantodo pontode vista
fun i-onal quantodo n~ao-fun ional.
3.1 Re ursos do Sistema
Para que sepossa atingir osobjetivos denidos no Captulo 1deste trabalho, onovo
simuladordeve ofere eros seguintes re ursos omrela ~aoafun ionalidade, ausabilidade
ea do umenta ~ao:
3.1.1 Re ursos de Fun ionalidade
Os requisitos gerais de fun ionalidadedevem ontribuir para se atingir oobjetivo de
permitir ao usuario modelar e simular algoritmos e anais qu^anti os. Como foi visto no
Captulo 2,as fun ionalidadesne essarias para tal devemser:
Estados puros e mistos: o usuariodeve poder representar os estados do seu sistema
atravesdekets(estadospuros)ouatravesdematrizes-densidade(estadosmistos)de
formaquesejapossvelmodelaresimulartantoalgoritmosquanto anaisqu^anti os.
Medi ~ao: o usuario deve poder simular a realiza ~ao de uma opera ~ao de medi ~ao em
qualquer ponto do ir uito e utilizando qualquer tipo ( lasse) de medi ~ao, omo
denido naSe ~ao 2.9.
Tra o par ial: para simular a intera ~ao de um sistema qu^anti o om o ambiente e
permitirposteriormenteaanaliseapenasdosistema,desprezando oambiente, omo
Erros: para que seja possvel estudar os efeitos de erros o orridos durante um
experi-mento,aferramentadevepermitiragera ~aodeerrosopera ionais(errosnaopera ~ao
das portas) ede erros de des oer^en ia (erros devidos ainterfer^en ias doambiente),
alemde permitir asimula ~aolivrede erros.
Portas: para permitir que o usuario possa implementar qualquer opera ~ao unitaria, a
ferramenta deve disponibilizar um onjunto de portas basi as universais, alem de
permitirqueousuario rieportaspersonalizadasde maneiraquepossaimplementar
opera ~oes unitarias arbitrarias exatas.
Bibliote as: para que ousuariopossa armazenare reutilizarasportas personalizadas,
aferramenta deve permitir a ria ~aoeedi ~aode bibliote as de portas.
3.1.2 Re ursos de Usabilidade
Os requisitos gerais de usabilidade devem ontribuir para se atingir o objetivo de
permitiraousuarioutilizaraferramentade formafa ileintuitiva. Paratal,aferramenta
deve ter uma interfa e dousuarioque ofere a osseguintes re ursos:
Intera ~ao: a ferramenta deve ofere er, e o usuariodeve poder manipular diretamente,
representa ~oesgra asdeportassobreumagraderepresentandoapla ado ir uito.
Visualiza ~ao de estados: aferramentadeve permitirumavisualiza ~aoapropriadado
estado do sistema nas formas de braket, matriz-densidade e histograma, quer no
nalda simula ~aoou emqualquer pontodesta.
Edi ~ao: o usuario deve poder editar o ir uito utilizando as opera ~oes de: opiar,
re- ortare olar portas e grupos de portas.
Desfazer: o usuariodeve poder retro eder oudesfazer qualquer a ~ao queele possa ter
realizadonopro esso de edi ~aodo ir uito (undo).
3.1.3 Re ursos de Do umenta ~ao
Osrequisitosgerais dedo umenta ~aodevem ontribuirpara a ompreens~aoda
arqui-teturado sistema e doseu pro esso de desenvolvimento. Para tal, a ferramenta deve vir
a ompanhada daseguintedo umenta ~ao:
Pro esso de desenvolvimento: des ri ~ao do pro esso de desenvolvimento da
ferra-menta, expli ando desde a fase de obten ~ao de requisitos ate a implementa ~ao da
ferramenta.
Arquitetura do sistema: diagrama des revendo a arquitetura do sistema, om seus
blo os prin ipais, eas rela ~oes estre eles.
Modelo on eitual: diagramas detalhados dos blo os onstituntes do diagrama de
Diagrama de lasses: diagramas des revendo em detalhes (metodos e atributos) as
lasses(objetos) do sistemae asrela ~oes entre elas.
Manual do usuario: do umento des revendo omo utilizara ferramentaemformade
ajuda on-line napropria ferramenta.
3.1.4 Outros Requisitos
Alem dos requisitos gerais listadosa ima, outros requisitosse fazem importantes:
Extensibilidade: a ferramenta devera ser fa ilmente extensvel, de maneira a que
vers~oes posteriores aprimeira vers~aopossam in orporar novas fun ionalidades
reu-tilizandoo odigo existente.
Linguagem de programa ~ao: aferramentadeveraser implementadaemuma
lingua-gemquepermitaa elerarodesenvolvimento,evitando,porexemplo,problemas om
ager^en ia de objetos namemoria, e que atenda tambem aorequisito de
extensibi-lidade.
Plataforma: a ferramenta deve ser multiplataformade maneira a poder ser utilizada
porum universo maiorde usuarios.
Estrategia de al ulo: aferramentadeverafazerusodeumpa oteexternopararealizar
os al ulos, e onomizando-se tempo no desenvolvimento e garantindo-se
4 Pro esso de Desenvolvimento
Neste aptuloedes ritoopro essodedesenvolvimentoutilizadoparaa onstru ~aodo
simulador de ir uitos qu^anti os doravante denominado Zeno. Considerando o prin pio
daindepend^en iadodialogo,adotou-se umaarquitetura emdoismodulos(fun ionalede
intera ~ao), possibilitando aado ~aode pro essos de desenvolvimento diferentes para ada
um deles, partindodaanalise datarefa. Para omodulo fun ional adotou-se um pro esso
simpli adobaseadonoPro essoUni ado [33℄
,eparaomodulodeintera ~aoadotou-seum
pro esso de desenvolvimento baseado na metodologia MEDITE [30℄
. A es olha do nome
\Zeno"para osimuladorde ir uitos qu^anti os desenvolvidoneste trabalhofoi motivada
pelo arater paradoxal que a Computa ~aoqu^anti a apresenta emrela ~aoa Computa ~ao
Classi a emanalogia aoparadoxo de Zen~ao [4℄
.
4.1 Prin pio da Independ^en ia do Dialogo
Asprimeirasabordagensde on ep ~aodesistemasinterativostinhamumatend^en iaa
\misturar"fortementeo odigodainterfa e omo odigoqueimplementaafun ionalidade
dosistema. Adi uldade de modi a ~aoproibiauma abordagemiterativa,prati amente
impedindodeselevarem ontaasopini~oesdeespe ialistasem omuni a ~aoeosresultados
daobserva ~aodo usuariodurantea on ep ~ao eo desenvolvimentoda interfa e.
Ent~ao,umasolu ~aoparaumaabordagemiterativadodesenvolvimentodosistemaea
separa ~aomodularentreo odigoqueimplementao omponentefun ional(apli a ~ao)eo
odigoqueimplementao omponenteresponsavelpelaintera ~ao omousuario(interfa e).
A Figura 13 mostra esta abordagem gra amente. O omponente fun ional dene a
fun ionalidadedo sistema,ou seja, asfun ~oes que osistema disponibilizapara o usuario
realizar suas tarefas. O omponente de intera ~ao e o software responsavel pelo dialogo
entre o usuario eo sistema. Essa de omposi ~ao deve permitir se on eber, desenvolver e
modi arosmodulos/ omponentesindependentementeumdooutro
[19,20,22℄
. Oprin pio
daindepend^en iado dialogo,termo onsagrado para ara terizaressa de omposi ~ao,tem
setornadoum prin pioessen ialarespeitarnopro essode on ep ~aoedesenvolvimento
de sistemas interativos, pelas seguintes raz~oes: a possibilidade de um desenvolvimento
independente eiterativodos modulos ede utiliza ~aode prossionaise/ou onhe imentos