33
Algoritma Kuantum Untuk Faktorisasi Bilangan

Algoritma Kuantum untuk Faktorisasi Bilangan

Embed Size (px)

Citation preview

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.

 

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