Top Banner
Algoritma Kuantum Untuk Faktorisasi Bilangan
33

Algoritma Kuantum untuk Faktorisasi Bilangan

Jul 06, 2015

Download

Documents

DavidHutasoit
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Algoritma Kuantum untuk Faktorisasi Bilangan

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

Page 2: Algoritma Kuantum untuk Faktorisasi 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.

Page 3: Algoritma Kuantum untuk Faktorisasi Bilangan

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)

Page 4: Algoritma Kuantum untuk Faktorisasi Bilangan

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.

Page 5: Algoritma Kuantum untuk Faktorisasi Bilangan

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

Page 6: Algoritma Kuantum untuk Faktorisasi Bilangan

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)

Page 7: Algoritma Kuantum untuk Faktorisasi Bilangan

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

 

Page 8: Algoritma Kuantum untuk Faktorisasi Bilangan

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

 

Page 9: Algoritma Kuantum untuk Faktorisasi Bilangan

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

 

Page 10: Algoritma Kuantum untuk Faktorisasi Bilangan

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)

 

Page 11: Algoritma Kuantum untuk Faktorisasi Bilangan

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#

 

Page 12: Algoritma Kuantum untuk Faktorisasi Bilangan

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

 

Page 13: Algoritma Kuantum untuk Faktorisasi Bilangan

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.

 

Page 14: Algoritma Kuantum untuk Faktorisasi Bilangan

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

 

Page 15: Algoritma Kuantum untuk Faktorisasi Bilangan

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!

 

Page 16: Algoritma Kuantum untuk Faktorisasi Bilangan

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

 

Page 17: Algoritma Kuantum untuk Faktorisasi Bilangan

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

 

Page 18: Algoritma Kuantum untuk Faktorisasi Bilangan

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

 

Page 19: Algoritma Kuantum untuk Faktorisasi Bilangan

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.

 

Page 20: Algoritma Kuantum untuk Faktorisasi Bilangan

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 ] 

 

Page 21: Algoritma Kuantum untuk Faktorisasi Bilangan

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

 

Page 22: Algoritma Kuantum untuk Faktorisasi Bilangan

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

 

Page 23: Algoritma Kuantum untuk Faktorisasi Bilangan

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

 

Page 24: Algoritma Kuantum untuk Faktorisasi Bilangan

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.

 

Page 25: Algoritma Kuantum untuk Faktorisasi Bilangan

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.

 

Page 26: Algoritma Kuantum untuk Faktorisasi Bilangan

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'').

 

Page 27: Algoritma Kuantum untuk Faktorisasi Bilangan

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

Page 28: Algoritma Kuantum untuk Faktorisasi Bilangan

5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com

http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 28/33

Page 29: Algoritma Kuantum untuk Faktorisasi Bilangan

5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com

http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 29/33 

Page 30: Algoritma Kuantum untuk Faktorisasi Bilangan

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.

 

Page 31: Algoritma Kuantum untuk Faktorisasi Bilangan

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.

 

Page 32: Algoritma Kuantum untuk Faktorisasi Bilangan

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.

 

Page 33: Algoritma Kuantum untuk Faktorisasi Bilangan

5/7/2018 Algoritma Kuantum untuk Faktorisasi Bilangan - slidepdf.com

http://slidepdf.com/reader/full/algoritma-kuantum-untuk-faktorisasi-bilangan 33/33

Algoritma Kuantum

UntukFaktorisasi Bilangan