algoritma kuantum untuk faktorisasi bilangan
TRANSCRIPT
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 1/33
Algoritma Kuantum
UntukFaktorisasi Bilangan
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 2/33
� P.W. Shor(1994) Polynomial-time Algorithms for Prime
Factorization and Discrete Algorithms on a Quantum
Computer , Proc.35th Ann. Symp. On Foundations of
Computer Science, Santa Fe.
� D. Deutsch(1985), Quantum theory, the Church-turing
principle and the universal quantum computer , Proc.Royal Society London, A 400, pp97-117.
� R.P. Feynman(1982), S imulating Physics with Computers,
Int. J. Theo. Phys. 21, pp.467-488.
� P. Benioff(1982), Quantum Mechanical Models of Turing
Machines, J. Stat. Phys. 29, pp.515-546.
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 3/33
«
trying to find a computer simulation of physics seems
to me to be an excellent program to follow out«
and I¶m not happy with all the analysis that go with just
the classical theory, because NATURE ISN¶T CLASSICAL,
dammit, and if you want to make a simulation of nature,you¶d better MAKE IT QUANTUM MECHANICAL,
and by golly it¶s a wonderful problem because it doesn¶t
look so easy«
(R.P. Feynman(1981), Int. J. Theo. Phys. 81 p.486)
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 4/33
Informasi bersifat fisis
Komputasi pada dasarnya dapat didefinisikan sebagai pengolahan
sistematis dari simbol tertentu (masukan) menjadi simbol lainnya
(keluaran).
''Simbol'' di sini adalah obyek fisis dan komputasi adalah proses fisis
yang dilakukan oleh piranti fisis yang disebut komputer..
Jika kita menginterpretasikan setiap keadaan fisis sebagai suatu
simbol, maka pada dasarnya setiap proses fisis dapat dianggap
sebagai suatu komputasi.
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 5/33
Teori Informasi Klasik (Church, Turing, Godel)
Teori Informasi Kuantum
(Benioff, Feynman, Deutsch)
vs
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 6/33
Informasi KuantumKeacakan kuantum (randomness)
Prinsip ketidakpastian : pengukuran observable A akan
mempengaruhi pengukuran observable B jika A dan B
nonkomut
Keadaan kuantum tidak dapat disalin (no-cloning theorem)
Keterkaitan keadaan kuantum (entanglement)
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 7/33
Komputasi KuantumBit Klasik Bit Kuantum (quantum bit=qubit)
Qubit = vektor dalam ruang vektor kompleks dim-2
C ba
ba
ba
�
!
!
,
1
10
22
]
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 8/33
Keadaan kuantum dari N qubit = vektor dalam ruang kompleks berdimensi N
2
112
0
2
12
0
!
!
§
§
!
!
N
N
i
i
i
ii
a
S a]
iS dapat dinyatakan dalam string biner, misalkan
011....01110
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 9/33
Contoh: keadaan kuantum dengan 3 qubit memiliki 8 basis
_
a111,110
,101,100
,010,011
,001,000
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 10/33
Komputasi kuantum dilakukan dengan menerapkan
transformasi uniter U kepada N qubit
Setelah diterapkan U, kita mengukur semua qubit
terhadap basis komputasi.
Hasil pengukuran adalah keluaran dari komputasi
(Karena pengukuran bersifat acak, maka algoritma
komputer kuantum adalah probabilistik: kita mungkin
memperoleh hasil berbeda dengan program yang sama)
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 11/33
Klasifikasi KompleksitasSebuah algoritma dikatakan efisien jika jumlah langkah
eksekusi yang dibutuhkan tidak lebih besar dari sebuah
fungsi polinomial dari ukuran masukannya
Ukuran masukan diambil sebagai jumlah bit yang dibutuhkan
untuk merepresentasikan masukan tersebut. Sebuah bilangan
N membutuhkan log2(N) untuk merepresentasikannya dalam
kode biner.
N masukan N plangkah e )(log#
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 12/33
Perkalian vs Faktorisasi
«« x«« = 29083
127 x 229 =««
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 13/33
Masalah faktorisasi adalah masalah yang menarik
ditinjau dari teori kompleksitas, sebagai contoh
masalah yang tidak dapat diselesaikan dalamwaktu yang dibatasi oleh polinomial dari jumlah
masukan. Dari segi praktis hal ini juga menarik
karena kesulitan faktorisasi digunakan sebagai
dasar dari program pengamanan {cryptography}
seperti RSA.
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 14/33
Mencari faktor dari N ekivalen dengan
mencari periode
Diberikan N, pilih 1<y<N, gcd(y,N)=1
Tentukan periode dari
N ya F a
N mod)( !
Misalkan periode adalah r, maka faktor dari N diberikan oleh
),1gcd( 2/ N y r
s
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 15/33
Persamaan
N x mod12 !
Memiliki solusi trivial
N x mod1s!
Jika N prima maka solusinya hanyalah ini.
Namun jika N komposit, terdapat solusi nontrivial
N a x mods!
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 16/33
N aa
N a
N a
mod0)1)(1(
mod01
mod1
2
2
!
!
!
Jadi N merupakan pembagi dari (a+1)(a-1),
tetapi N tidak membagi (a+1) dan (a-1)
karena a<N.
Maka faktor nontrivial dari N adalah
),1gcd( N a s
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 17/33
Jadi, diberikan solusi nontrivial dari
N x mod12 !
Kita dapat menentukan faktor dari N.
Misalkan r adalah periode dari
N y r mod1!
N ya F a
N mod)( !
Maka
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 18/33
Jika r genap, maka misalkan
2/r y x !
Sehinga kita memiliki persamaan
N x mod12!
Sehingga x adalah solusi nontrivial yang dicari,
dan faktor dari N diberikan oleh
),1gcd( N x s
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 19/33
Langkah Algoritma Shor Diberikan masukan N, algoritma Shor menentukan
faktor dari N.
Langkah1 Menentukan apakah N
sebuah bilangan genap, bilangan prima, atau pangkat
dari bilangan prima. Untuk bilangan genap dan pangkat
prima, terdapat algoritma klasik yang efisien, juga untuk
menentukan apakah sebuah bilangan prima atau tidak.
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 20/33
Langkah 2 Memilih sebuah bilangan q=2L
Sedemikian sehingga N2<q<2N2
Langkah 3 Memilih sebuah bilangan y koprima dengan N,
1<y<N, gcd(y,N)=1.
Langkah 4 Menciptakan sebuah register kuantum yang
dipisahkan menjadi dua bagian: register1 dan register 2.
Register 1 harus memiliki bit yang cukup untuk
merepresentasikan bilangan sebesar q-1. Register 2 harusmemiliki bit yang cukup untuk merepresentasikan bilangan
sebesar N-1.
0,02,1 !! reg reg ]
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 21/33
Langkah 5 Terapkan transformasi Fourier diskrit DFTq
kepada register 1.
§
!
1
0
mod,1 q
a
a N ya
q
Langkah 6 Terapkan transformasi fungsi ya mod N
untuk setiap a dalam register 1 dan simpan hasilnya
dalam register 2.
§
!
1
0
0,1 q
a
aq
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 22/33
Langkah 7 Mengukur register 2. Pengukuran register 2
Akan mempengaruhi register 1 karena keterkaitan quantum
(Quantum Entanglement).
Langkah 8 Terapkan transformasi Fourier diskrit padaregister 1.
Langkah 9 Mengukur keadaan register 1. Ini akan memberikan Nilai
1,...,1,0,/ !! r r q PP
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 23/33
Langkah 10 Menentukan r berdasarkan pengetahuan M danq.
Langkah 11 Jika r sudah ditentukan, maka faktor dari N
dapat ditentukan sebagai:
),1gcd( 2/ N y r
s
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 24/33
Algoritma ini mungkin gagal karena beberapa hal.
Misalnya, ditemukan faktor trivial 1 dan N, yang tidak
berguna.
Juga misalnya, transformasi Fourier diskrit mengukur nila 0. Karena frekuensi=1/periode, maka periode 0 yang
diukur tidak dapat diproses lebih lanjut.
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 25/33
Simulasi komputer kuantum pada
komputer klasik
Komputer klasik tidak mungkin mensimulasi keadaan
kuantum tanpa mengalami perlambatan secaraeksponensial, karena untuk merepresentasikan komputer
kuantum yang memiliki N bit dibutuhkan 2 N bilangan
kompleks. (There¶s too much room in Hilber space!)
Juga dalam menghitung xamod N, di mana a adalah
superposisi dari keadaan i=0,...,q-1, komputer klasik menghitungnya secara iteratif, sementara komputer
kuantum menghitungnya dalam satu langkah.
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 26/33
Selain itu, simulasi ini harus menyimpan amplitudo
probabilitas dari setiap keadaan kuantum, dan juga harus
menyimpan array nilai a (di register 1) yang menghasilkan
xa mod N (di register 2) untuk mensimulasikan
pengukuran register 2 yang akan menyebabkan register 1runtuh.
Tentu saja hal ini hanya perlu pada simulasi, karena pada
komputer kuantum sebenarnya, register 1 dan 2
saling terkait (''entangled'').
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 27/33
Contoh Keluaran Simulasi
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 28/33
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 29/33
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 30/33
KesimpulanAlgoritma kuantum Shor untuk faktorisasi bilangan
yang merupakan kategori waktu-polinomial
menunjukkan bahwa komputer kuantum memiliki
kemampuan melebihi komputer kuantum dalamkenyataan bahwa komputer kuantum dapat bekerja
secara lebih efisien daripada komputer klasik. Algoritma
Shor memberikan sebuah contoh bagaimana
memanfaatkan sifat-sifat keadaan kuantum dan
mengeksploitasinya sedemikian sehingga dapatmenyelesaikan masalah tertentu. Hal ini mendorong
penelitian mengenai bagaimana merancang algoritma
yang dapat memanfaatkan fenomena kuantum.
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 31/33
Secara praktis, komputer kuantum memiliki lebih banyak masalah daripada komputer klasik. Komputer
kuantum sangat sensitif terhadap interaksi dengan
lingkungannya. Interaksi seperti ini dapat merusak
keadaan kuantum dalam komputer tersebut. Jadi untuk membangun komputer kuantum, kita harus dapat
mempertahankan superposisi keadaan kuantum tanpa
mengalami dekoherensi yang cukup berarti. Berbagai
jenis rancangan perangkat keras untuk komputer
kuantum telah diusulkan, di antaranya adalah: jebakanion, celah optik, dot kuantum, dan resonansi magnetik
inti.
5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com
http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 32/33
Walaupun sampai sekarang sebuah komputer kuantumyang cukup besar yang dapat digunakan masih belum
dapat diciptakan, namun penelitian di bidang ini akan
memberikan pandangan baru dalam teori informasi,
teori kompleksitas, dan teori kuantum.