96
MACHINE LEARNING KUANTUM UNTUK SAINS DATA Achmad.Benny Mutiara Rina Reanti Penerbit Gunadarma

amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

MACHINE LEARNING KUANTUMUNTUK SAINS DATA

Achmad.Benny Mutiara Rina Reanti

Penerbit Gunadarma

Page 2: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

MACHINE LEARNING KUANTUMUNTUK SAINS DATA

Achmad.Benny Mutiara Rina Reanti

Penerbit Gunadarma

Page 3: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Penyusun : Achmad Benny Mutiara dan Rina Refianti

Desain Cover : M. Alhazen

Desain dan Layout : M. Alhazen

ISBN 978-602-9438-98-7

Cetakan Pertama, Oktober 2018

Diterbitkan pertama kali oleh Gunadarma

Jl. Margonda Raya No. 100, Pondokcina, Depok 16424

Telp. +62-21-78881112, 7863819 Faks. +62-21-7872829

e-mail : [email protected]

Hak Cipta dilindungi undang-undang. Dilarang mengutip atau memperbanyak dalam bentuk

apapun sebagian atau seluruh isi buku tanpa ijin tertulis dari penerbit.

Page 4: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

KATA PENGANTAR

P uji syukur kami panjatkan kepada Allah SWT, yang telah memberikan rahmat dan ke-mudahan sehingga bisa menyelesaikan Buku yang berjudul Machine Learning Kuantum

untuk Sains Data.Buku ini disusun sebagai buku ajar untuk matakuliah Data Mining Lanjut, dan meru-

pakan buku seri Machine Learning Kuantum, kelanjutan dari buku sebelumnya yang sudahditulis oleh penulis. Buku ini disusun dengan mengambil materi dari paper-paper karyapenulis terkenal di bidang Komputasi Kuantum dan Machine Learning Kuantum dan jugadigabungkan pengalaman penulis dalam menyelesaiakn riset yang terkaiat dengan bidang Ma-chine Learning Kuantum. Buku ini disusun dalam 6 bab, yang mencakup: Teori KuantumDasar, Komputasi Kuantum, Algoritma Kuantum, Algoritma Machine Learning Kuantumdan Penutup.

Misi dari penerbitan buku ini adalah untuk digunakan mahasiswa, dosen dan pembacayang tertarik pada Komputasi Kuantum dan Machine Learning Kuantum. Mengingat saatini buku jenis ini sangat jarang ditulis oleh penulis dari Indonesia dan keprihatinan penulisatas ketertinggalan indonesia dalam dunia komputasi kuantum.

Akhirnya sekali lagi kami mengucapkan terima kasih kepada PUREK II Universitas Gu-nadarma, dan rekan-rekan dosen yang banyak membantu sehingga bisa diterbitkannya bukuMachine Learning Kuantum untuk Sains Data.

Tiada gading yang tak retak, kami masih menyadari bahwa buku ini masih jauh darisempurna, saran dan kritik yang sangat membangun sangat kami harapkan.

Depok, Oktober 2018

ABM dan RR

Page 5: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan
Page 6: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

DAFTAR ISI

KATA PENGANTAR i

DAFTAR ISI iii

DAFTAR GAMBAR vii

DAFTAR TABEL ix

1 Pendahuluan 1

2 Teori Kuantum Dasar 3

2.1 Keadan-Keadaan Kuantum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Besaran-Besaran Pengamatan Kuantum . . . . . . . . . . . . . . . . . . . . . 7

2.3 Pengukuran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4 Perakitan Keadaan Kuantum . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.5 Matriks Kerapatan (Density Matrix ) . . . . . . . . . . . . . . . . . . . . . . . 14

3 Komputasi Kuantum 19

3.1 Qubit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2 Gerbang-Gerbang Kuantum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3 Paralelisasi Kuantum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Algoritma-Algoritma Kuantum 27

4.1 Algoritma Pencarian Grover . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.1.1 Gambaran Umum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Page 7: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

iv MACHINE LEARNING KUANTUM UNTUK SAINS DATA

4.1.2 Contoh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.1.3 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.1.4 Rangkuman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2 Algoritma Minimalisasi Kuantum . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2.1 Gambaran Umum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2.2 Contoh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2.3 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2.4 Rangkuman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.3 Algoritma Transformasi Fourier Kuantum . . . . . . . . . . . . . . . . . . . . 39

4.3.1 Gambaran Umum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.3.2 Contoh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.3.3 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3.4 Rangkuman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.4 Algoritma Estimasi Fase Kuantum . . . . . . . . . . . . . . . . . . . . . . . . 46

4.4.1 Gambaran Umum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.4.2 Contoh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.4.3 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.4.4 Rangkuman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5 Algoritma-Algoritma Machine Learning Kuantum 53

5.1 Algoritma k-Means Kuantum . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.1.1 Gambaran Umum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.1.2 Subrutin Kuantum: SwapTest . . . . . . . . . . . . . . . . . . . . . . . 54

5.1.3 Subrutin Kuantum: DistCalc . . . . . . . . . . . . . . . . . . . . . . . 56

5.1.4 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.1.5 Rangkuman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.2 Algoritma k-Medians Kuantum . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.2.1 Gambaran Umum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.2.2 Subrutin Kuantum: MedianCalc . . . . . . . . . . . . . . . . . . . . . . 60

5.2.3 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5.2.4 Rangkuman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.3 Support Vector Machines Kuantum . . . . . . . . . . . . . . . . . . . . . . . . 62

Page 8: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

DAFTAR ISI v

5.3.1 Gambaran Umum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.3.2 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.3.3 Rangkuman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.4 Principal Component Analysis Kuantum . . . . . . . . . . . . . . . . . . . . . 66

5.4.1 Gambaran Umum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.4.2 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.4.3 Rangkuman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.5 Neural Networks Kuantum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.5.1 Gambaran Umum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.5.2 Algoritma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.5.3 Rangkuman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6 Penutup 77

DAFTAR PUSTAKA 79

Page 9: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan
Page 10: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

DAFTAR GAMBAR

2.1 Kumpulan posisi diskrit di mana partikel dapat dideteksi. . . . . . . . . . . . 4

2.2 Dua kumpulan posisi diskrit dimana partikel x dan y dapat dideteksi. . . . . . 12

3.1 Operasi |ψ0〉 → |ψ1〉 disajikan sebagai rangkaian kuantum. . . . . . . . . . . . 24

3.2 Operasi |ψ0〉 → |ψ2〉 disajikan sebagai rangkaian kuantum. . . . . . . . . . . . 24

3.3 Operasi |ψ0〉 → |ψ2〉 dan pengukuran disajikan sebagai rangkaian kuantum. . . 25

3.4 Aplikasi gerbang kuantum O disajikan sebagai rangkaian kuantum. . . . . . . 26

4.1 Notasi Big-O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2 Rangkaian kuantum algoritma Grover. . . . . . . . . . . . . . . . . . . . . . . 32

4.3 Rangkaian kuantum algoritma minimalisasi kuantum. . . . . . . . . . . . . . . 38

4.4 Sinya derau (noise) dengan f = 10 dan A = 2 . . . . . . . . . . . . . . . . . . 40

4.5 Sinyal derau (noise) dengan f = 50 dan A = 0.3 . . . . . . . . . . . . . . . . . 40

4.6 Sinyal input xj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.7 Sinyal input dalam domain frekuensi yk . . . . . . . . . . . . . . . . . . . . . . 41

4.8 Rangkaian kuantum algoritma transformasi Fourier kuantum dari contoh. . . . 44

4.9 Rangkaian kuantum algoritma transformasi Fourier kuantum. . . . . . . . . . 46

4.10 Rangkaian kuantum algoritma estimasi fase kuantum. . . . . . . . . . . . . . . 50

5.1 Rangkaian kuantum subrutin kuantum SwapTest. . . . . . . . . . . . . . . . . 55

5.2 Neural network feedforward klasik . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.3 Neural network Feedforward klasik reversibel. . . . . . . . . . . . . . . . . . . 73

5.4 Neural network feedforward kuantum . . . . . . . . . . . . . . . . . . . . . . . 74

Page 11: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan
Page 12: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

DAFTAR TABEL

2.1 Hasil yang mungkin untuk keadaan |ψ〉 . . . . . . . . . . . . . . . . . . . . . . 13

2.2 Hasil yang mungkin untuk keadaan |φ〉 . . . . . . . . . . . . . . . . . . . . . . 13

5.1 Algoritma machine learning kuantum dan pemetaan subrutin kuantum . . . . 54

Page 13: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan
Page 14: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

BAB 1

Pendahuluan

Machine learning adalah bagian dari bidang ilmu komputer yang bertujuan untuk mengenalipola dan belajar dari data untuk menghasilkan prediksi yang benar. Ini dapat dianggap seba-gai bentuk kecerdasan buatan yang mendukung analisis pemerintah, laporan medis, keputusanbisnis, manajemen risiko keuangan dan area lain di mana keputusan dan pengoptimalan di-dasarkan pada informasi yang disimpan secara digital. Karena peningkatan jumlah data yangdisimpan oleh perusahaan di seluruh dunia [1] dan beberapa terobosan dalam perangkat lunakyang bekerja, machine learning semakin penting dalam industri.

Dalam beberapa tahun terakhir, para peneliti telah menyelidiki apakah komputer kuan-tum dapat digunakan untuk meningkatkan kinerja algoritma machine learning. Komputerkuantum mengambil keuntungan dari efek mekanika kuantum seperti superposisi dan keter-libatan (entanglement) untuk memecahkan masalah tertentu lebih cepat daripada kom-puter klasik. Meskipun komputer kuantum masih dalam tahap percobaan (dengan beberapaterobosan besar yang dibuat oleh IBM yang mengumumkan untuk membangun 16 prosesorqubit [2] dengan sumber daya komputasi yang tersedia di cloud), algoritma kuantum telahdikembangkan selama dua dekade terakhir. Algoritma kuantum melibatkan masalah sepertifaktorisasi bilangan-bilangan besar dan optimalisasi dengan yang terakhir efektif digunakandalam percepatan algoritma machine learning.

Machine learning kuantum adalah bidang studi yang relatif baru dengan karya terbaru pa-da versi kuantum dari algoritma terpandu (supervised) dan mandiri (unsupervised). Kesulitanutama bagi seorang non-fisikawan seperti seorang ilmuwan data adalah persyaratan dari teorifisika kuantum dan pengetahuan notasi ilmiah. Ini dapat menciptakan beberapa hambatankognitif untuk memahami manfaat dan keterbatasan dari algoritma kuantum. Sebagian besarartikel ditulis untuk fisikawan kuantum, meninggalkan sedikit atau tanpa penjelasan menge-nai teknik dan penemuan luar biasa dari algoritma kuantum dan algoritma machine learning

Page 15: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

2 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

kuantum.

Buku ini bertujuan untuk menyajikan dan menjelaskan algoritma machine learning kuan-tum kepada ilmuwan data dengan cara yang dapat diakses dan konsisten serta memberikanpengantar untuk seorang fisikawan yang tertarik pada topik tersebut. Selain itu, buku iniadalah review dari algoritma machine learning kuantum berbasis rangkaian dengan manfaatdan keterbatasan terdaftarnya. Untuk menjelaskan dengan benar machine learning kuantumkepada non-fisikawan, buku ini menyajikan minimum teori kuantum yang diperlukan untukmemahami perhitungan kuantum. Kemudian, algoritma kuantum dan algoritma machinelearning kuantum disajikan secara bertahap dengan contoh yang dapat dipahami. Diharap-kan, buku akan memungkinkan seorang ilmuwan data yang serius untuk memahami kemungk-inan dan keterbatasan yang terkait dengan penggunaan komputer kuantum dalam machinelearning serta memperoleh pengetahuan tentang matematika dan logika di balik algoritmamachine learning kuantum.

Page 16: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

BAB 2

Teori Kuantum Dasar

Bab ini merangkum konsep-konsep dasar teori kuantum yang diperlukan untuk memahamibagaimana algoritma kuantum bekerja dan bagaimana efek kuantum dapat digunakan dalamalgoritma machine learning. Mekanika kuantum tampaknya kontra-intuitif karena fakta bahwadunia klasik yang diamati oleh indra kita terlalu makroskopis untuk memperhatikan aturandunia mikroskopis. Pengantar singkat untuk teori kuantum bertujuan untuk menjelaskandunia kuantum kepada seorang ilmuwan data secara memadai untuk memahami bagaimanateori tersebut digunakan untuk mempercepat algoritma machine learning. Sebagai awal yangbaik, awal mula mekanika kuantum dijelaskan.

Sebelum abad ke-20, fisikawan dulu berpendapat bahwa materi di sekitar kita bisa terdiridari partikel-partikel kecil atau terdiri dari gelombang. Cahaya dipandang sebagai gelombangelektromagnetik yang mirip gelombang permukaan air atau gelombang suara dapat menggang-gu dirinya sendiri membentuk amplitudo gelombang lebih besar atau lebih rendah. Di sisi lain,materi dipandang terdiri dari partikel. Pandangan ini diputarbalikan oleh serangkaian eksperi-men [3, 4, 5], antara lain efek fotolistrik. Efek fotolistrik mengasumsikan bahwa elektron dapatdikeluarkan dari permukaan pelat logam ketika cahaya ditembakkan di atasnya. Menurut teorielektromagnetik klasik, peningkatan amplitudo cahaya akan meningkatkan energi kinetik darifotoelektron yang teremisi, sementara peningkatan frekuensi akan meningkatkan arus yangterukur. Menariknya, hal ini bertentangan dengan pengamatan eksperimental. Efek ini dije-laskan oleh Albert Einstein [5] ketika ia menganggap bahwa cahaya adalah kumpulan partikelyang disebut foton, dan ini membuatnya mendapatkan Hadiah Nobel pada tahun 1921. Seper-ti terbukti kemudian semua materi di alam semesta memanifestasikan baik perilaku seperti-partikel maupun perilaku seperti gelombang, yang memberikan dasar untuk bidang baru yangmenarik dari pengetahuan manusia, yaitu mekanika kuantum. Hal ini adalah pendekatanyang agak kontra-intuitif terhadap realitas, jadi di bab-bab selanjutnya, kita akan mencoba

Page 17: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

4 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

menjelaskannya dengan bantuan yang banyak dari matematika.

2.1 Keadan-Keadaan Kuantum

Bayangkan sekumpulan posisi {x1.x2, . . . , xn} di mana sebuah partikel dapat dideteksi:

x1

δx︷ ︸︸ ︷−−−−− x2

δx︷ ︸︸ ︷−−−−− . . .

δx︷ ︸︸ ︷−−−−− xn

Gambar 2.1. Kumpulan posisi diskrit di mana partikel dapat dideteksi.

Kesenjangan antara posisi δx sangat kecil untuk menghasilkan pendekatan garis kontinyuyang baik. Pengaturan saat ini dapat direpresentasikan oleh keadaan-keadaan yang terkaitdengan partikel yang terdeteksi di lokasi tertentu. Keadaan yang terkait dengan partikel yangterdeteksi di lokasi x1 dapat dinyatakan sebagai vektor kolom:

[1, 0, . . . , 0]T . (2.1)

Keadaan berikutnya yang terkait dengan partikel yang terdeteksi di lokasi x2 dikaitkan denganvektor kolom yang ortogonal dengan yang sebelumnya:

[0, 1, . . . , 0]T . (2.2)

Menurut logika kita berharap bahwa masing-masing keadaan ini akan menjadi vektor satu-an ei dalam basis standar. Dalam konteks mekanika klasik deskripsi saat ini sudah lengkap.Namun, dalam mekanika kuantum hal ini belum lengkap. Di dunia kuantum, pengaturan inidideskripsikan oleh keadaan kuantum. Keadaan kuantum dinyatakan dengan menggunakannotasi Dirac |a〉 yang ekivalen dengan vektor dimensi n dengan bilangan kompleks sebagaientrinya. Meskipun, kita dapat menggunakan notasi vektor standar, namun akan lebih mu-dah jika kita mengikuti apa yang dilakukan oleh fisikawan lain. Keadaan yang terkait denganpartikel yang terdeteksi pada posisi xi dinyatakan sebagai |xi〉. Esensi dari mekanika kuan-tum adalah bahwa partikel sebelum deteksi dapat berada pada keadaan yang merupakancampuran dari keadaan {|x1〉 , |x2〉 , . . . , |xn〉}. Secara matematis, keadaan campuran diny-atakan dengan keadaan sembarang |ψ〉 yang merupakan kombinasi linear dari keadaan dasar

Page 18: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Teori Kuantum Dasar 5

{|x1〉 , |x2〉 , . . . , |xn〉} yang dibobot oleh amplitudo kompleks {c1, c2, . . . , cn}:

|ψ〉 = c1 |x1〉+ c2 |x2〉+ · · ·+ cn |xn〉

= c1

10...0

+ c2

01...0

+ · · ·+ cn

00...1

=

c1c2...cn

. (2.3)

Hal ini adalah sederhana karena: keadaan kuantum dinyatakan dengan menggunakan notasiket |a〉, yang merupakan vektor kolom dalam ruang kompleks Cn (keadaan kuantum jugadidefinisikan pada ruang dengan jumlah dimensi tak terbatas, tetapi hal ini tidak relevandengan algoritma kuantum yang disajikan dalam buku ini). Namun demikian, beberapa per-tanyaan muncul:

• Apa makna persisnya bahwa keadaan partikel adalah kombinasi linear?

• Mengapa kita menggunakan bilangan kompleks sebagai bobot?

Kita akan mencoba untuk mengatasinya dan menjawab pertanyaan-pertanyaan tersebut, sertamengungkapkan keindahan mekanika kuantum. Keadaan kuantum berada dalam kombinasilinear ekuivalen untuk mengatakan bahwa sebuah partikel berada dalam superposisi kuantumdari keadaan dasar. Keadaan |ψ〉 berarti bahwa partikel sebelum pengukuran adalah sebuahgelombang probabilitas sesuai dengan probabilitas yang diukur pada lokasi {x1, x2, . . . , xn}.Jadi, pertanyaan di mana partikel sebelum pengukuran? menurut interpretasi Copenhagenmekanika kuantum tidak ada artinya. Dalam term makroskopik materi tampaknya dilokalisasidan kita tidak bisa melihat sebuah benda berada di banyak tempat pada saat yang sama.Hal ini disebabkan oleh fakta bahwa jumlah partikel yang luar biasa besar berinteraksi den-gan diri mereka sendiri sehingga informasi dari keadaam kuantum ditransfer ke lingkungan,mengakibatkan perilaku kuantum hilang di rimba partikel-partikel yang berinteraksi. Prosesini disebut decoherence dan menghasilkan kebocoran sifat kuantum dari sistem ke lingkun-gan. Dengan demikian, kita tidak dapat melihat sesuatu menjadi sebelum pengukuran, karenabahkan otak kita adalah bagian dari sistem yang berinteraksi ini. Dalam skala kuantum keti-ka kita menganalisis perilaku dari satu atau beberapa partikel dalam isolasi, efek kuantummuncul. Sifat mekanika kuantum dikonfirmasi oleh sejumlah besar eksperimen, sehingga faktaini perlu dipercaya dan dimasukkan. Pertimbangan pada batasan fisika dan filsafat tentangapa yang terjadi dengan partikel sebelum pengukuran, meskipun sangat menarik, tidak diper-lukan untuk memahami algoritma machine learning kuantum (lihat perdebatan Bohr-Einsteindi Ref. [6]). Bagi kita, itu cukup untuk mengatakan bahwa partikel sebelum pengukuran ter-diri dari probabilitas yang berbeda sesuai dengan hasil yang berbeda yang diperoleh setelahpengukuran.

Page 19: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

6 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Kembali ke keadaan kuantum |ψ〉 perhatikan bahwa ada banyak kemungkinan superposisiyang dikendalikan oleh nilai bobot {c1, c2, . . . , cn}. Bobot ini disebut amplitudo probabilitas(kemungkinan) dan secara ketat terhubung dengan apa yang terjadi dengan partikel setelahpengukuran. Norma kuadrat dari bilangan kompleks |ci|2 memberi kita probabilitas untukmenemukan partikel dalam keadaan |xi〉 setelah pengukuran. Karena fakta bahwa kita beru-rusan dengan probabilitas, maka amplitudo probabilitas harus dinormalisasi dengan benarsehingga:

|c1|2 + |c2|2 + · · ·+ |cn|2 =n∑i=1

|ci|2 = 1 . (2.4)

Sebagai contoh, kita memiliki keadaan sembarang:

|ψ〉 = c1 |x1〉+ c2 |x2〉 =i

2

[1

0

]+

√3

2

[0

1

]=

[i2√32

]. (2.5)

Berapa probabilitas bahwa partikel setelah pengukuran akan berada dalam keadaan |x1〉?Jawabannya menyiratkan perhitungan norma kuadrat dari c1:

|c1|2 = c∗1c1 =−i2

i

2=−i2

22=

1

4. (2.6)

Hal ini juga dapat dihitung dengan cara yang lebih sistematis. Kita mengklaim bahwa prob-abilitas menemukan partikel |ψ〉 dalam keadaan |φ〉 setelah pengukuran dinyatakan sebagai:

| 〈φ|ψ〉 |2 (2.7)

dimana notasi bra 〈a| merepresentasikan transpose konyugasi dari ket |a〉. Bracket 〈a|a〉merupakan produk dalam (skalar) dari dua vektor, yang hanya berupa angka (skalar). Untukmelihat cara kerjanya kita menghitung produk dalam dari contoh:

〈x1|ψ〉 = 〈x1| c1 |x1〉+ 〈x1| c2 |x2〉 = c1 〈x1|x1〉+ c2 〈x1|x2〉

=i

2

[1 0

] [10

]+

√3

2

[1 0

] [01

]=i

2(2.8)

dan kemudian norma kuadratnya adalah:

| 〈φ|ψ〉 |2 = 〈φ|ψ〉∗ 〈φ|ψ〉 =−i2

i

2=

1

4(2.9)

mendapatkan hasil yang diharapkan. Ortogonalitas dari keadaan dasar dapat ditafsirkandalam term probabilitas. Probabilitas pengukuran partikel |x1〉 untuk berada di keadaan |x1〉

Page 20: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Teori Kuantum Dasar 7

selalu menghasilkan | 〈x1|x1〉 |2 = 1, sedangkan kita tidak akan pernah menemukan partikelyang sama berada di keadaan |x2〉 ketika | braketx2|x1|2 = 0.

Kita telah menyatakan bahwa partikel memanifestasikan perilaku seperti gelombang danbersepekat untuk menjelaskan fakta itu secara matematis. Interferensi seperti gelombangsepenuhnya dijelaskan oleh kehadiran bilangan kompleks dalam amplitudo probabilitas. Prob-abilitas dalam bilangan real bila ditambahkan selalu lebih besar atau sama: p1 + p2 ≥ p1 danp1 + p2 ≥ p2. Amplitudo kompleks jika dikuadratkan juga bilangan riil, tetapi sekarang pe-nambahan bilangan kompleks |c1 + c2|2 dapat meningkatkan atau menurunkan probabilitas.Amplitudo probabilitas c1 = i

2jika dikuadratkan akan sama dengan probabilitas |c1|2 = 1

4.

Amplitudo probabilitas c2 = −i2

jika dikuadratan juga sama dengan probabilitas |c2|2 = 14, na-

mun jumlah amplitudo probabilitas c1 + c2 menghasilkan probabilitas |c1 + c2|2 = |−i+i2|2 = 0

yang tentunya lebih rendah. Bilangan kompleks dapat meniadakan atau menguatkan satusama lain, yang memiliki makna interferensi secara fisik. Inilah inti dari mekanika kuantumyang mampu menjelaskan perilaku partikel mirip gelombang.

2.2 Besaran-Besaran Pengamatan Kuantum

Fisika umumnya berkaitan dengan pengukuran dan penganalisisan besaran-besaran sepertiposisi, momentum atau energi. Besaran-besarn ini biasa disebut besaran pengamatan (yangdapat diamati (observables)) dan dapat diperolej dari keadaan sistem saat ini. Dalam fisikaklasik besaran pengamatan F merupakan fungsi yang mengambil keadaan S dan menghasilkanbilangan real x yang sesuai dengan besaran yang terukur, yaitu:

F (S) = x . (2.10)

Sebagai contoh andaikan kita mengukur suatu besaran pengamatan yaitu panas suatu gasdan ingin menghasilkan energi E dari sistem. Keadaan S dicirikan oleh suhu sistem T danterdapat fungsi bernilai real F yang memungkinkan kita menghitung energi, yaitu F (T ) = E.Dalam fisika kuantum sebuah besaran pengamatan bukanlah fungsi bernilai nyata, tetapidirepresentasikan oleh sebuah matriks O yang bekerja pada sebuah keadaan kuantum |ψ〉.Sama seperti fungsi F dalam fisika klasik, matriks O memungkinkan kita untuk memperolejbesaran dari suatu sistem, namun dalam fisika kuantum hasil pengukuran didiskritkan. Nilaieigen λi dari matriks O adalah satu-satunya nilai yang dapat diamati yang dapat diperolehsetelah diukur. Vektor eigen |ai〉 dapat diartikan sebagai keadaan-keadaan yang ada dalamsistem setelah pengukuran nilai eigen λi yang terkait. Ini dapat dinyatakan sebagai:

O |ψ〉 → λi |ai〉 (2.11)

Page 21: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

8 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

dengan tanda panah merepresentasikan pengukuran dan keruntuhan superposisi keadaan |ψ〉ke keadaan |ai〉. Setiap kuantitas yang ingin kita peroleh dari keadaan kuantum dikaitkandengan besaran pengamatan yang berbeda. Dalam kasus jika kita ingin mengukur posisi danmomentum yang memiliki keadaan |ψ〉, besaran pengamatan yang terkait dengan posisi danmomentum direpresentasikan oleh matriks yang berbeda. Masing-masing matriks ini memilikinilai eigen yang merupakan satu-satunya nilai yang mungkin dari besaran yang terukur, yaituposisi atau momentum. Sebagai contoh besaran pengamatan, kita gunakan posisi dari set-upyang disajikan pada Gbr. (2.1). Nilai yang diukur adalah posisi partikel pada garis. Kitatahu bahwa setiap pengukuran dapat menghasilkan posisi xi dengan probabilitas |ci|2 yangberbeda. Keadaan setelah pengukuran adalah salah satu dari keadaan dasar |xi〉. Sebagaihasilnya, kita mencari matriks yang nilai eigennya adalah bilangan real xi dan eigenvektoryang terkait tepatnya adalah |xi〉:

O |ψ〉 =n∑i=1

xici |xi〉 → xi |xi〉 . (2.12)

Karena fakta bahwa nilai eigen dari matriks harus nyata (kita tidak mengamati pada posisiatau momemntum alam semesta sama dengan 1 + i), O harus berupa matriks Hermitian.Matriks yang dicari memiliki bentuk:

O =

x1 0 · · · 00 x2 · · · 0...

......

0 0 · · · xn

. (2.13)

Matriks adalah Hermitian, nilai-nilai eigen jelas adalah xi dan vektor eigen yang sesuainyaadalah |xi〉.

Distribusi hasil yang mungkin λi diatur oleh probabilitas |ci|2. Dilakukan beberapa pen-gukuran pada partikel dalam keadaan yang sama |ψ〉 kita bisa tertarik pada nilai harapanbesaran pengamatan, O. Perhatikan bahwa frasa beberapa pengukuran berarti bahwa keadaabdipersiapkan, diukur dan kemudian dipersiapkan dari awal lagi. Dalam kasus kita mengukurkeadaan yang sama segera setelah pengukuran sebelumnya, kita hanya akan mendapatkankeadaan runtuh (collapsed state) dengan probabilitas 100%. Nilai harapan besaran peng-matan, O dinyatakankan sebagai 〈O〉 dan dapat dihitung sebagai berikut:

〈O〉 = 〈ψ|O|ψ〉= (c∗1 〈a1|+ c∗2 〈a2|+ · · ·+ c∗n 〈an|)(c1O |a1〉+ c2O |a2〉+ · · ·+ cnO |an〉)= (c∗1 〈a1|+ c∗2 〈a2|+ · · ·+ c∗n 〈an|)(c1λ1 |a1〉+ c2λ2 |a2〉+ · · ·+ cnλn |an〉)= λ1|c1|2 + λ2|c2|2 + · · ·+ λn|cn|2 (2.14)

Page 22: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Teori Kuantum Dasar 9

dengan baris terakhir pada persamaan (2.14) menjadi sebuah definisi statistik nilai harapan:

E(λ) =n∑i=1

λipi . (2.15)

Dalam perhitungan ini kita telah menggunakan fakta bahwa keadaan dasar |ai〉 dan |aj〉 adalahorthogonal untuk i 6= j yang berarti 〈aj|ai〉 = 0 dan keadaan dasar sebenarnya adalah vektoreigen dari matriks O yang berarti O |ai〉 = λi |ai〉. Sebagai contoh, kita menghitung nilaiharapan posisi untuk keadaan:

|ψ〉 =i

2

[1

0

]+

√3

2

[0

1

]=

[i2√32

]. (2.16)

Posisi yang mungkin terukur adalah x1 = 1 dan x2 = 2 sehingga besaran pengamatan dapatdirepresentasikan oleh matriks:

O =

[1 00 2

]. (2.17)

Nilai harapan 〈O〉 dihitung dengan cara sebagai berikut:

〈O〉 = 〈ψ|O|ψ〉

=[−i2

√32

] [1 0

0 2

][ i2√32

]= 1 ∗ 1

4+ 2 ∗ 3

4=

7

4= 1.75 . (2.18)

Kita juga tertarik pada varians (variance) dari hasil, yaitu penyebaran hasil-hasil yangmungkin disekitar nilai harapan. Varians V ar(O) didefinisikan sebagai berikut:

V ar(O) = 〈ψ|(O − 〈O〉)2|ψ〉= (c∗1 〈a1|+ · · ·+ c∗n 〈an|)(c1(O − 〈O〉)2 |a1〉+ · · ·+ cn(O − 〈O〉)2 |an〉)= (c∗1 〈a1|+ · · ·+ c∗n 〈an|)(c1(λ1 − 〈O〉)2 |a1〉+ · · ·+ cn(λn − 〈O〉)2 |an〉)= (λ1 − 〈O〉)2|c1|2 + · · ·+ (λn − 〈O〉)2|cn|2 (2.19)

yang merupakan definisi statistik varians:

V ar(λ) =n∑i=1

(λi − λ)2pi (2.20)

Page 23: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

10 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

dengan λ menunjukan makna dari data. Varians dari besar pengamatan O yang bekerja padakeadaan |ψ〉 dari contoh sebelumnya di mana 〈O〉 = 1, 75 dihitung sebagai berikut:

V ar(O) = 〈ψ|(O − 〈O〉)2|ψ〉

=[−i2

√32

] [(1− 1.75)2 0

0 (2− 1.75)2

][ i2√32

]= 0.5625 ∗ 1

4+ 0.0625 ∗ 3

4= 0.1875 (2.21)

menghasilkan deviasi standar sekitar√

0.1875 ≈ 0.433.

2.3 Pengukuran

Sub-bab sebelumnya memberikan beberapa intuisi dan fakta dasar tentang pengukuran dalammekanika kuantum. Sub-bab ini merupakan ringkasan topik dan memberikan perbandinganterhadap pengukuran klasik. Dalam fisika klasik pengukuran dicirikan oleh dua asumsi:

• Secara teoritis, pengukuran meninggalkan sistem dalam keadaan yang sama seperti se-belumnya,

• Hasil pengukuran bisa diprediksi. Ini berarti bahwa jika percobaan harus diulang, kitaakan mengantisipasi hasil yang sama persis.

Dalam skala kuantum, asumsi ini ternyata salah. Pengukuran dalam mekanika kuantumadalah:

• Operasi irreversible yang mengubah keadaan umum |ψ〉 menjadi vektor eigen |ai〉 daribesar pengamatan yang terukur O. Juga dapat dikatakan bahwa keadaan |ψ〉 telahruntuk menjadi vektor eigen |ai〉,

• Hasil pengukuran tidak pasti, dan selalu satu diantara nilai eigen λi dari besar penga-matan yang terukut O. Nilai eigen akan terukur dengan probablitas | 〈ai|ψ〉 |2, dimana|ai〉 merupakan vektor eigen yang sesuai dengan nilai eigen λi.

Dua fakta muncul dari hal-hal yang teramati. Salah satunya adalah bahwa jika kita melakukanpengukuran segera setelah pengukuran pertama kita dapat mengamati keadaan |ai〉 denganprobabilitas 100%. Hal ini disebabkan oleh fakta bahwa sistem telah runtuh ke salah satu vek-tor eigen dan pengukuran vektor eigen selalu menghasilkan vektor eigen yang sama. Fakta ked-ua terkait dengan urutan pengukuran besaran pengamatan yang berbeda. Pengukuran adalah

Page 24: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Teori Kuantum Dasar 11

operasi irreversible, sehingga pengukuran besara pengamatan pertama akan berdampak padapengukuran besaran pengamatan yang kedua segera setelah pengukuran pertama.

Dalam fisika kuantum, ada fakta menarik tentang pengukuran dua besaran pengamatan(observabel). Fakta ini adalah Prinsip Ketidakpastian Heisenberg yang terkenal yangmenyatakan bahwa produk dari varians dua besaran pengamatan selalu lebih besar dari suatunilai ambang yang sama dengan seperempat kuadrat nilai harapan dari komutatornya:

V ar(O1)V ar(O2) ≥1

4|〈[O1, O2]〉|2 . (2.22)

Komutator didefinisikan sebagai perbedaan:

[O1, O2] = O1O2 −O2O1 (2.23)

yang matriknya tidak mesti nol. Agar sepenuhnya memahami prinsip ketidakpastian Heisen-berg kita akan menganalisis contoh berikut:

• Siapkan k−pengulangan eksperimen (tepatnya keadaan yang sama diukur dalam setiapeksperimen),

• Ukurlah posisi dan kemudian momentum dalam setiap eksperimen,

• Tuliskan hasil dan hitunglah variasinya untuk hasil posisi dan momentum.

Ternyata bahwa produk dari varians ini akan selalu lebih besar daripada suatu nilai am-bang nir-nol karena matriks Hermitian yang bersesuaian dengan posisi dan momentum tidak(commute) [O1, O2] 6= 0. Nilai ambang yang pasti adalah ~2

4dimana ~ adalah reduksi konstan-

ta Planck, namun nilai numerik tidak diperlukan untuk memahami prinsip. Non-komutatifditafsirkan sebagai fakta bahwa besar pengamatan O1 dan O2 tidak berbagi vektor eigen. JikaO1 dan O2 commute, mereka memiliki vektor eigen yang sama |ai〉 sesuai dengan beberapanilai eigen λi dan µi sehingga: {

O1 |ai〉 = λi |ai〉O2 |ai〉 = µi |ai〉 .

(2.24)

Dengan demikian, besaran pengamatan kedua O2 dapat diukur tanpa mengganggu vektoreigen yang sudah runtuh |ai〉. Beberapa sumber menjelaskan bahwa produk varians lebih besardaripada beberapa nilai ambang untuk besaran pengamatan nir-commuting karena penguku-ran itu sendiri mengganggu keadaan. Meskipun efek dari gangguan tidak dapat diabaikan,ini bukan alasan sebenarnya mengapa prinsip ketidakpastian Heisenberg berlaku. Prinsipnyamuncul dari fakta bahwa partikel adalah gelombang, bukan sekedar objek titik dan hal inimerupakan sifat fundamental alam semesta, sehingga meskipun jika pengukuran dilakukantanpa gangguan sistem (jelas sekali kecuali runtuhnya keadaan) ketidakpastian untuk besarannir-commuting tetap ada.

Page 25: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

12 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

2.4 Perakitan Keadaan Kuantum

Asumsikan kita ingin menganalisis keadaan multi-partikel, bukan hanya keadaan satu partikel.Mesin yang harus digunakan untuk mencapai itu disebut produk tensor ruang keadaandan prosedurnya disebut perakitan keadaan-keadaan kuantum. Diketahui keadaan-keadaank partikel bebas: {| psi1〉 , |ψ2〉 , . . . , |ψk〉}, kita dapat mendeskripsikannnya dengan keadaanumum Ψ:

|Ψ〉 = |ψ1〉 ⊗ |ψ2〉 ⊗ · · · ⊗ |ψk〉 = |ψ1ψ2 . . . ψk〉 . (2.25)

Dengan demikian, jika |ψi〉merupakan vektor dimensi n untuk setiap i, maka keadaan |Ψ〉 akanmemiliki dimensi nk. Sebagai contoh, kita tambahkan partikel lain ke contoh yan disajikanpada Gbr. (2.1), sehingga sistem diilustrasikan oleh:

x1

δx︷ ︸︸ ︷−−−−− x2

δx︷ ︸︸ ︷−−−−− . . .

δx︷ ︸︸ ︷−−−−− xn

y1

δy︷ ︸︸ ︷−−−−− y2

δy︷ ︸︸ ︷−−−−− . . .

δy︷ ︸︸ ︷−−−−− yn

Gambar 2.2. Dua kumpulan posisi diskrit dimana partikel x dan y dapat dideteksi.

Sekarang, keadaan yang mungkin merupakan kombinasi dari posisi partikel x dan posisi par-tikel y. Keadaan umum |Ψ〉 untuk n = 2 hasil yang mungkin dikonstruksikan sebagai berikut:

|Ψ〉 = |ψx〉 ⊗ |ψy〉= (c1,x |x1〉+ c2,x |x2〉)⊗ (c1,y |y1〉+ c2,y |y2〉)

=

c1︷ ︸︸ ︷c1,xc1,y |x1y1〉+

c2︷ ︸︸ ︷c1,xc2,y |x1y2〉+

c3︷ ︸︸ ︷c2,xc1,y |x2y1〉+

c4︷ ︸︸ ︷c2,xc2,y |x2y2〉

= c1

[10

]⊗[10

]+ c2

[10

]⊗[01

]+ c3

[01

]⊗[10

]+ c4

[01

]⊗[01

]

= c1

1000

+ c2

0100

+ c3

0010

+ c4

0001

(2.26)

di mana kita secara implisit menganggap bahwa hasil pengukuran partikel dideskripsikan olehvektor eigen e1 = [1, 0]T dan e2 = [0, 1]T . Keadaan |Ψ〉 merupakan vektor dimensi 22 = 4

Page 26: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Teori Kuantum Dasar 13

dan berada dalam suatu superposisi dari semua hasil pengukuran posisi yang mungkin daridua partikel. Interpretasi bilangan kompleks ci sama persis dengan berada dalam keadaa satukeadaan, misalnya c2 adalah amplitudo probabilitas untuk mengukur partikel pertama padaposisi x1 dan partikel kedua pada posisi y2.

Perakitan keadaan kuantum secara ketat terkait dengan sifat lain yang menakjubkan dariteori kuantum, yaitu keterlibatan (entanglement) kuantum. Konsep ini akan dijelaskanberdasarkan contoh sederhana. Asumsikan keberadaan dua keadaan kuantum:

|ψ〉 =1

2|aa〉+

1

2|ba〉+

1

2|ab〉+

1

2|bb〉 (2.27)

dan

|φ〉 =1√2|aa〉+

1√2|bb〉 . (2.28)

Kedua keadaan mengandung dua partikel dalam sebuah superposisi keadaan |a〉 dan |b〉. Tabelberikut menyajikan hasil yang mungkin dengan probabilitas yang sesuai untuk keadaan |ψ〉:

Tabel 2.1. Hasil yang mungkin untuk keadaan |ψ〉Particle 2: |a〉 Particle 2: |b〉

Particle 1: |a〉 |ψ〉 → |aa〉: 14|ψ〉 → |ab〉: 1

4

Particle 1: |b〉 |ψ〉 → |ba〉: 14|ψ〉 → |bb〉: 1

4

Sebagai contoh, pengukuran partikel pertama menghasilkan keadaan |a〉 dengan probabilitas14

+ 14

= 0, 5. Tabel berikutnya mengilustrasikan hasil pengukuran dua partikel dalam keadaankedua |φ〉:

Tabel 2.2. Hasil yang mungkin untuk keadaan |φ〉Particle 2: |a〉 Particle 2: |b〉

Particle 1: |a〉 |φ〉 → |aa〉: 12|φ〉 → |ab〉: 0

Particle 1: |b〉 |φ〉 → |ba〉: 0 |φ〉 → |bb〉: 12

Pengukuran partikel pertama menghasilkan keadaan |a〉 dengan probabilitas 0,5, namunsekarang pengukuran langsung dan segera meruntuhkan keadaan partikel kedua ke keadaan

Page 27: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

14 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

|a〉. Masing-masing keadaan dari dua partikel terkait satu sama lain dan hubungan ini dise-but keterlibatan kuantum. Bagian yang paling mencengangkan dari keterlibatan kuantumadalah bahwa ia tidak bergantung pada jarak. Asumsikan kita menyiapkan dua partikeluntuk terjerat dan mengirim yang kedua ke galaksi lain (tanpa mengganggu). Kemudianpengamat A mengukur partikel pertama di Bumi dan mendapatkan keadaan |a〉. Penga-mat B juga harus mendapatkan keadaan |a〉 dari pengukuran partikel kedua di galaksi lain.Hasil pengukuran partikel pertama akan selalu segera menentukan hasil pengukuran partikelkedua. Ini tidak berarti bahwa informasi bergerak lebih cepat daripada cahaya, karena un-tuk mengkomunikasikan hasil antara pengamat A dan pengamat B saluran komunikasi klasikmasih perlu digunakan, namun begitu hasilnya dibandingkan, kita akan selalu menemukanbahwa efek keterlibatan kuantum tetap berlaku. Keadaan berada dalam keterlibatan kuan-tum jika ia tidak dapat ditulis ulang sebagai produk tensor dari keadaan partikel tunggal.Sebagai contoh, keadaan |ψ〉 dapat ditulis ulang sebagai:

|ψ〉 =

(1√2|a〉+

1√2|b〉)⊗(

1√2|a〉+

1√2|b〉)

=1

2|aa〉+

1

2|ba〉+

1

2|ab〉+

1

2|bb〉 . (2.29)

Untuk keadaan terlibat |φ〉 ini tidak mungkin, artinya bahwa keadaan tidak dapat dipisahkan.Untuk membuktikan asumsi ini terdapat bilangan kompleks c1, c2 and c′1, c

′2 sedemikian,

sehingga:

|φ〉 = (c1 |a〉+ c2 |b〉)⊗ (c′1 |a〉+ c′2 |b〉) =1√2|aa〉+

1√2|bb〉 . (2.30)

Namun, hal ini akan menyiratkan bahwa c1c′1 = c2c

′2 = 1√

2dan c1c

′2 = c2c

′1 = 0, yang jelas

tidak ada solusinya. Jadi, keadaan |φ〉 tidak dapat ditulis ulang sebagai produk tensor darikeadaan partikel tunggal.

2.5 Matriks Kerapatan (Density Matrix)

Ada beberapa kasus yang menyatakan mesin bukanlah alat yang cukup untuk menggambarkansistem kuantum. Dalam mekanika kuantum, kita mempertimbangkan dua bentuk kemungki-nan:

• Satu bentuknya berhubungan dengan keadaan dan makna probabilitas pengukurankeadaan sembarang dalam salah satu vektor eigen dari besaran pengamatan O. Prob-abilitas diturunkan dari norma kuadrat amplitudo probabilitas ci. Bentuk ini terkaitdengan keadaan murni,

Page 28: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Teori Kuantum Dasar 15

• Bentuk lainnya berhubungan dengan keseluruhan sistem dan makna probabilitas untukmenemukan sistem tertentu di salah satu keadaan yang mungkin. Probabilitas men-gungkapkan fakta bahwa kita tidak memiliki pengetahuan penuh tentang sistem dankita hanya dapat mengatakan bahwa sistem ini dalam keadaan murni ke-i dengan prob-abilitas pi. Bentuk ini terkait dengan keadaan campuran.

Untuk menggambarkan keadaan baik murni maupun campuran notasi matriks kerapatan (den-sity matrix ) digunakan. Matriks kerapatan untuk keadaan murni didefinisikan sebagai:

ρ = |ψ〉 〈ψ| (2.31)

dan untuk keadaan campuran sebagai berikut:

ρ =n∑i=1

pi |ψi〉 〈ψi| (2.32)

dimana pi diinterpretasikan sebagai penemuan keadaan campuran berada dalam |ψi〉. Sebe-narnya, matriks kerapatan untuk keadaan murni hanyalah kasus khusus matriks kerapatanuntuk keadaan campuran dengan p1 = 1. Ekspresi |ψ〉 〈ψ| dihitung sebagai produk tensor.Untuk melihat bagaimana hal itu dilakukan kita menganalisis keadaan murni berikut:

|ψ〉 =i

2

1

0

+

√3

2

0

1

=

i2√32

(2.33)

kemudian kita gunakan produk tensor untuk memperoleh matriks kerapatan:

ρ = |ψ〉 〈ψ| =

i2√32

⊗ [−i2

√32

]

=

i2−i2

i2

√32

√32−i2

√32

√32

=

14

i√3

4

−i√3

434

. (2.34)

Dari persamaan (2.18) pada sub-bab sebelumnya kita tahu bahwa nilai harapan |ψ〉 untukbesaran pengamatan O:

O =

1 0

0 2

(2.35)

Page 29: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

16 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

adalah sama dengan 1.75. Ternyata hasil yang sama dapat diperoleh dengan menggunakanmatriks kerapatan dan rumusan berikut:

〈O〉 = Tr(ρO)

= Tr

14

i√3

4

−i√3

434

1 0

0 2

= Tr

14

2i√3

4

−i√3

464

=

1

4+

6

4= 1.75 (2.36)

diperoleh hasil yang diharapkan. Sebagai contoh keadaan campuran, asumsikan situasi dimanakita tidak yakin apakah sistem telah disiapkan dalam keadaan |ψ〉 atau |φ〉, namun kita tahuprobabilitas sistem berada dalam keadaan pertama adalah p = 1

4dan berada di keadaan kedua

adalah q = 1− p = 34. Keadaan tambahan |φ〉 didefinisikan sebagai:

|φ〉 =1√2

1

0

+1√2

0

1

=

1√2

1√2

. (2.37)

Nilai harapan dari keadaan ini untuk besaran pengamatan yang sama O, adalah 1, 5, kare-na pada sebagian kasus-kasus ini kita akan menemukan keadaan pada vektor eigen pertamadengan nilai eigen λ1 = 1 dan pada sebagian kasus-kasus kita akan menemukan keadaan pa-da vektor eigen kedua dengan nilai eigen λ2 = 2. Tidak mungkin untuk merepresentasikankeadaan campuran dengan menggunakan formalisme keadaan, namun ia dapat digambarkanmelalui matriks kerapatan:

ρ = p |ψ〉 〈ψ|+ q |φ〉 〈φ| =

=1

4

14

i√3

4

−i√3

434

+3

4

12

12

12

12

=

716

6+i√3

16

6−i√3

16916

. (2.38)

Untuk keadaan campuran kita mengantisipasi bahwa dalam 25% dari hasil, rata-ratanya akan1, 75, dan 75% dari hasil, rata-ratanya akan menjadi 1, 5, sehingga menghasilkan nilai yangdiharapkan 1, 5625. Hasil ini juga bisa diperoleh dengan menggunakan rumus yang persissama, persamaan (2.36) seperti pada keadaan murni:

〈O〉 = Tr(ρO)

= Tr

716

6+i√3

16

6−i√3

16916

1 0

0 2

=7

16+

18

16= 1.5625 . (2.39)

Page 30: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Teori Kuantum Dasar 17

Dengan demikian, matriks kerapatan adalah alat umum untuk menggambarkan keadaan murnidan campuran, dan memungkinkan kita untuk menggunakan mekanika kuantum jika kita tidakmemiliki pengetahuan penuh tentang sistem. Untuk informasi lebih lanjut tentang matrikskerapatan dan konsep lain dalam mekanika kuantum dasar lihat Ref. [7].

Page 31: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

18 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Page 32: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

BAB 3

Komputasi Kuantum

3.1 Qubit

Definisi qubit terletak di pusat teori komputasi kuantum. Sebelum kita masuk ke penje-lasan tentang qubit, mari kita ingat definisi bit klasik. Bit adalah unit informasi, yangmenggambarkan sistem klasik dua dimensi. Dengan demikian, sistem klasik dapat beradadalam keadaan:

|0〉 =

1

0

(3.1)

atau dalam keadaan:

|1〉 =

0

1

. (3.2)

Representasi fisik dari bit adalah dua representasi keadaan flip-flop, misalnya dua teganganyang berbeda dari rangkaian listrik atau dua tingkat intensitas cahaya yang berbeda. Haldemikin mencukupi bagi fisika klasik dan yang demikian adalah bagaimana komputer klasikbekerja. Komputer kuantum menggunakan efek mekanika kuantum seperti keadaan super-posisi. Qubit adalah unit informasi, yang menggambarkan sistem kuantum dua dimensi dankeadaan umum qubit direpresentasikan oleh sepasang bilangan kompleks:

c1

1

0

+ c2

0

1

=

c1c2

(3.3)

Page 33: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

20 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

sehingga ia merupakan superposisi dari keadaan |0〉 dan |1〉. Representasi fisik qubit bisamerupakan polarisasi foton, spin partikel atau orbit dasar dan tereksitasi dari sebuah elek-tron dalam atom. Sebuah komputer klasik bekerja dengan string bit misalnya 01010001 danberdasarkan itu melakukan perhitungan. Perhitungan kuantum mengasumsikan bahwa qubitdapat dirangkai menggunakan produk tensor, sehingga string yang sama dapat ditulis sebagai:

|0〉 ⊗ |1〉 ⊗ |0〉 ⊗ |1〉 ⊗ |0〉 ⊗ |0〉 ⊗ |0〉 ⊗ |1〉

=

1

0

⊗0

1

⊗1

0

⊗0

1

⊗1

0

⊗1

0

⊗1

0

⊗0

1

(3.4)

yang merupakan sebuah vektor dengan 256 baris:

|01010001〉 =

|00000000〉 0

|00000001〉 0...

...

|01010000〉 0

|01010001〉 1...

...

|11111110〉 0

|11111111〉 0

. (3.5)

Perhatikan bahwa keadaan umum komputer kuantum 8 qubit dapat ditulis sebagai sebuahsuperposisi:

|ψ〉 = c1 |00000000〉+ · · ·+ c82 |01010001〉+ · · ·+ c255 |11111110〉+ c256 |11111111〉

=N∑i=1

ci |i〉 (3.6)

dimana sekumpulan |i〉 disebut basis komputasi standar dan bilangan kompleks dinormalkan,sehingga

∑Ni=1 |ci|2 = 1. Hal ini menggambarkan perbedaan yang luar biasa antara komputer

kuantum dan komputer klasik. Untuk menulis sistem 8 qubit, 256 bilangan kompleks diper-lukan, sedangkan pada komputer klasik hanya 8 nol (0) atau satu (1) yang diperlukan untuk

Page 34: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Komputasi Kuantum 21

menggambarkan sistem 8 bit. Efeknya meningkat secara eksponensial seiring bertambahnyajumlah qubit, untuk 64 qubit kita akan membutuhkan 264 = 18.446.744.073.709.551.616 bilan-gan kompleks untuk mengemulasi (emulate) keadaan kuantum pada mesin klasik. Algoritmakuantum mengeksploitasi fakta yang mengherankan ini seperti yang akan kita lihat dalambab-bab selanjutnya.

3.2 Gerbang-Gerbang Kuantum

Sebuah gerbang logika klasik adalah sebuah cara untuk memanipulasi bit-bit. Sebagai contohgerbang NOT membalik bit sedemikian sehingga NOT |0〉 = |1〉 dan NOT |1〉 = |0〉. Hal inidapat direpresentasikan oleh matriks 2x2 berikut:

NOT =

0 1

1 0

. (3.7)

Matriks yang didefinisikan pada persamaan (3.7) memenuhi:0 1

1 0

1

0

=

0

1

(3.8)

dan 0 1

1 0

0

1

=

1

0

. (3.9)

Contoh kedua gerbang klasik adalah gerbang AND, yang menerima dua bit dan output-nyasatu. Gerbang AND direpresentasikan oleh matriks 2x4 :

AND =

1 1 1 0

0 0 0 1

(3.10)

dan memenuhi relasi-relasi berikut:

• AND |00〉 = |0〉,

• AND |01〉 = |0〉,

Page 35: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

22 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

• AND |10〉 = |0〉,

• AND |11〉 = |1〉.

Gerbang kuantum adalah sebuah cara untuk memanipulasi qubit-qubit. Sebuah keadaanmemasuki gerbang pada rangkaian kuantum dan keluar sebagai keadaan lain, sehingga gerbangkuantum merepresentasikan evolusi waktu dari suatu keadaan yang menggambarkan qubit.Gerbang kuantum memenuhi kriteria berikut:

• harus mempertahankan norma-norma yaitu norma kuadrat amplitudo probabilitasberjumlah satu setelah penerapan gerbang,

• harus reversibel yaitu evolusi dari masing-masing keadaan kuantum yang tidak terukurharus dapat dibalik (reversible).

Kondisi ini ekivalen dengan sebuah pembatasan bahwa gerbang kuantum harus berupa matriksunitary. Dengan demikian, gerbang AND 2x4 bukanlah gerbang kuantum yang valid, karenabukan unitary, sedangkan gerbang NOT adalah gerbang kuantum yang valid dan juga dikenalsebagai salah satu dari tiga matriks Pauli yang digunakan dalam mekanika kuantum:

σ1 =

0 1

1 0

, σ2 =

0 −i

i 0

, σ3 =

1 0

0 −1

. (3.11)

Contoh lain yang trivial dari matriks unitary adalah matriks identitas:

I =

1 0

0 1

. (3.12)

Gerbang yang biasa digunakan dalam komputasi kuantuam adalah gerbang Hadamard yangmemungkinkan untuk menghasilkan superposisi keadaan:

H =1√2

1 1

1 −1

. (3.13)

Penerapan gerbang pada qubit dalam keadaan |0〉 menghasilkan:

H |0〉 =1√2

1 1

1 −1

1

0

=1√2

1

1

=|0〉+ |1〉√

2(3.14)

Page 36: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Komputasi Kuantum 23

dan pada qubit dalam keadaan |1〉:

H |1〉 =1√2

1 1

1 −1

0

1

=1√2

1

−1

=|0〉 − |1〉√

2. (3.15)

Terdapat juga gerbang kuantum yang bekerja pada dua qubit, sebagi contoh gerbang SWAPyang direpresentasikan sebagai berikut:

SWAP =

1 0 0 0

0 0 1 0

0 1 0 0

0 0 0 1

. (3.16)

Gerbang men-swaps dua qubit sehingga keadaan contoh |01〉 dievolusi menjadi keadaan |10〉:

SWAP |01〉 =

1 0 0 0

0 0 1 0

0 1 0 0

0 0 0 1

0

1

0

0

=

0

0

1

0

= |10〉 . (3.17)

Kita dapat menerapkan gerbang kuantum pada lebih dari satu qubit menggunakan produktensor. Sebagai contoh, kita menginisialisasi dua qubit dalam keadaan |ψ0〉 = |00〉, men-erapkan gerbang Hadamard hanya pada qubit pertama dan membiarkan qubit kedua tidakberubah. Kita akan menghasilkan keadaan |ψ1〉:

|ψ1〉 = (H ⊗ I) |00〉

=1√2

1 1

1 −1

⊗1 0

0 1

1

0

⊗1

0

=1√2

1 0 1 0

0 1 0 1

1 0 −1 0

0 1 0 −1

1

0

0

0

=1√2

1

0

1

0

=

1√2

(|00〉+ |10〉) =|0〉+ |1〉√

2⊗ |0〉 . (3.18)

Page 37: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

24 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Secara umum kita dapat menggabungkan sejumlah gerbang kuantum menggunakan produktensor dan menggunakannya pada keadaan qubit selama dimensi vektor keadaan sesuai denganukuran gerbang kuantum gabungan. Operasi |ψ0〉 → |ψ1〉 dapat disajikan dalam rangkaianquantum:

|0〉 H

|0〉

Gambar 3.1. Operasi |ψ0〉 → |ψ1〉 disajikan sebagai rangkaian kuantum.

Melanjutkan contoh, keadaan |ψ1〉 dapat berevolusi menjadi |ψ2〉menggunakan gerbang SWAPpada dua qubit dalam sebuah superposisi:

|ψ2〉 = SWAP

(|0〉+ |1〉√

2⊗ |0〉

)

=1√2

1 0 0 0

0 0 1 0

0 1 0 0

0 0 0 1

1

0

1

0

=1√2

1

1

0

0

=

1√2

(|00〉+ |01〉) = |0〉 ⊗ |0〉+ |1〉√2

(3.19)

Seperti diharapkan, gerbang SWAP menukar tempat qubit-qubits. Operasi ini dapat direpere-sentasikan pada rangkaian kuantum seperti tampak pada Gbr. (3.2).

|0〉 HSWAP

|0〉

Gambar 3.2. Operasi |ψ0〉 → |ψ2〉 disajikan sebagai rangkaian kuantum.

Langkah terakhir adalah mengukur kedua qubit. Pengukuran merupakan sebuah operasiirreversible, sehingga bukan sebuah gerbang kuantum, tetapi sebuah langkah terakhir darirangkaian kuantum. Pada pengukuran qubit pertama, kita akan selalu memperoleh keadaan|0〉 dan pengukuran qubit kedua kita memperoleh peluang 50% untuk mendapatkan qubit

Page 38: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Komputasi Kuantum 25

|0〉 HSWAP

|0〉

Gambar 3.3. Operasi |ψ0〉 → |ψ2〉 dan pengukuran disajikan sebagai rangkaian kuantum.

dalam keadaan |0〉 dan peluang 50% untuk mendapatkan qubit dalam keadaan |1〉. Penguku-ran dapat diilustrasikan pada Gbr. (3.3) menggunakan simbol meter.Komputasi kuantum dapat didefinisikan sebagai evolusi unitary dari sistem kuantum tertutup- dibutuhkan beberapa keadaan awal sebagai input dan outputnya sebuah keadaan akhir, yangdapat diukur untuk memperoleh informasi spesifik. Hal yang sangat penting adalah bahwasistem kuantum harus tetap terisolasi, yaitu tidak ada decoherence. Setiap decoherence adalahhilangnya informasi dari suatu sistem ke lingkungan dan manfaat kuantum yang relevan dapatlenyap. Menariknya, komputasi kuantum yang menggunakan sejumlah kecil qubit dapat dis-imulasikan pada komputer klasik dengan beberapa solusi perangkat lunak yang open-source[8, 9].

3.3 Paralelisasi Kuantum

Speed-up algoritma kuantum berasal dari paralelisme kuantum yang dicapai melalui super-posisi qubit. Paralelisme kuantum adalah fitur dari banyak algoritma kuantum dan dengankata yang sederhana memungkinkan untuk mengevaluasi fungsi pada banyak masukan secarabersamaan. Misalkan kita memiliki fungsi f(φ) : {0, 1}n → {0, 1}. Kita menginisialisasi sistemkuantum dalam keadaan |ψ0〉 = |φ, 0〉 dan mengevolusinya ke keadaan |ψ1〉 = O |φ, 0〉 denganurutan gerbang kuantum yang tepat, yang digabungkan dan dapat diwakili oleh gerbang O.Gerbang kuantum O mengambil input |x, 0〉 dan mengevolusinya menjadi |x, f(x)〉. Untuksederhananya, asumsikan bahwa n = 2 dan register pertama dengan keadaan |φ〉 diinisialisasisebagai:

|φ〉 =|0〉+ |1〉√

2⊗ |0〉+ |1〉√

2(3.20)

yang dapat dicapai dengan penerapan gerbang Hadamard pada kedua qubit |00〉 (Namunoperasi ini diasumsikan dilakukan sebelumnya dalam rangkaian kuantum terpisah). Rangkaiankuatum disajikan pada Gbr. 3.4.

Page 39: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

26 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

|φ〉O

|0〉

Gambar 3.4. Aplikasi gerbang kuantum O disajikan sebagai rangkaian kuantum.

Untuk meringkas kita mulai dengan keadaan |ψ0〉:

|ψ0〉 = |φ, 0〉 =1

2(|00〉+ |01〉+ |10〉+ |11〉)⊗ |0〉 (3.21)

dan diakhiri dengan keadaan |ψ1〉:

|ψ1〉 = O |φ, 0〉 =1

2(O |00, 0〉+O |01, 0〉+O |10, 0〉+O |11, 0〉)

=1

2(|00, f(00)〉+ |01, f(01)〉+ |10, f(10)〉+ |11, f(11)〉) . (3.22)

Dengan demikian, hanya dengan satu operasi kita mengevaluasi fungsi f untuk empat in-put 00, 01, 10 dan 11 secara bersamaan. Operasi yang sama pada komputer klasik harusdijalankan satu per satu untuk setiap input atau dilakukan pada rangkaian klasik terpisah.Fitur luar biasa dari algoritma kuantum ini menggunakan fakta bahwa keadaan input be-rada dalam superposisi. Logika umum dapat diperluas untuk membuat algoritma besar nlebih efektif. Satu-satunya kelemahan adalah bahwa output fungsi disimpan sebagai keadaankuantum, sehingga pengukuran qubit kedua hanya menghasilkan satu nilai yang dievaluasi.Namun demikian, paralelisme kuantum secara efektif digunakan oleh banyak algoritma kuan-tum sebagai langkah menengah dalam rangkaian kuantum.

Page 40: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

BAB 4

Algoritma-Algoritma Kuantum

Bab ini menyajikan algoritma kuantum, yang akan digunakan oleh algoritma machine learningkuantum sebagai subrutin. Algoritma kuantum yang disajikan adalah:

• Algoritma pencarian Grover (dasar untuk algoritma minimalisasi kuantum),

• Algoritma minimalisasi kuantum ,

• Algoritma transformasi Fourier kuantum (dasar untuk algoritma estimasi fasa kuantum),

• Algoritma estimasi fasa kuantum.

Secara teori, masing-masing algoritma kuantum lebih cepat secara kuadratik atau eksponen-sial daripada algoritma klasiknya. Untuk mengukur efisiensi algoritma, kompleksitas waktudigunakan berikut notasi big-O nya. Notasi big-O menjelaskan seberapa cepat kompleksitaswaktu dari suatu algoritma tumbuh jika elemen utama secara sembarang besar. Elemen uta-ma yang dimaksudkan antara lain ukuran input, jumlah gerbang kuantum yang digunakanatau jumlah iterasi yang digunakan, tergantung pada faktor mana yang paling memengaruhiefektifitas algoritma. Notasi in menyajikan perilaku yang membatasi dari algoritma yangmenghindari konstanta dan term tidak signifikan, yang jauh lebih kecil dibandingkan denganelemen utama yang mendorong kompleksitas waktu algoritma. Gbr. 4.1 memberikan intuisitentang notasi big-O dan menunjukkan urutan kompleksitas waktu.

Page 41: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

28 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Gambar 4.1. Notasi Big-O

Setiap algoritma dijelaskan dengan cara berikut: pengenalan singkat dalam gambaranumum, penjelasan algoritma langkah demi langkah berdasarkan contoh sederhana, kemudiandeskripsi umum algoritma kuantum dan akhirnya kesimpulan tentang kompleksitas waktu danpernyataan lain dalam rangkuman.

4.1 Algoritma Pencarian Grover

4.1.1 Gambaran Umum

Algoritma Grover adalah algoritma pencarian kuantum, yang runtime-nya secara kuadratiklebih cepat daripada algoritma klasik [10]. Algoritma Grover tidak dimaksudkan untuk mene-

Page 42: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Kuantum 29

mukan elemen dalam database, tujuannya adalah mencari melalui input fungsi untuk memerik-sa apakah fungsi mengembalikan nilai benar untuk input itu. Algoritma ini sangat efisiendalam hal fungsi tidak diketahui atau sangat kompleks dan kita ingin tahu untuk input manafungsi mengembalikan nilai benar atau input mana suatu persamaan diselesaikan. Fungsi inidapat direpresentasikan sebagai peramal (oracle) kuantum dan dapat dibangun dari sejum-lah besar gerbang kuantum gabungan. Diasumsikan bahwa oracle kuantum telah diberikankepada algoritma dan berfungsi sebagai sebuah kotak hitam (black-box ). Sebagai contoh,bayangkan bahwa kita diberi fungsi f(x) : {0, 1}n → {0, 1} sebagai sekumpulan operatorlogika AND dan OR yang secara tepat untuk satu string biner nol dan satu mengembalikannilai true. Pengkodean fungsi seperti itu dapat secara relatif sederhana, namun memeriksafungsi mengembalikan nilai benar untuk kombinasi nol dan satu, akan memerlukan pemang-gilan fungsi (function calls) dengan skenario terburuk 2n pada mesin klasik. Pada komputerkuantum, kita dapat mengubah fungsi menjadi kumpulan gerbang kuantum sah yang mem-bentuk oracle kuantum O dan menggunakan algoritma pencarian Grover untuk menemukanmasukan yang benar dengan akurasi yang sangat tinggi hanya dalam

√2n iterasi.

4.1.2 Contoh

Algoritma pencarian Grover bergantung pada pengaturan sebuah keadaan sistem menjadisuperposisi dari semua input yang mungkin dan selanjutnya, probabilitas menemukan inputyang dicari meningkat di setiap iterasi algoritma. Untuk menjelaskan algoritma ini, kita mulaidengan contoh sederhana dimensi n = 2. Sebagai masukan, algoritma membutuhkan oraclekuantum O yang memilih string 10. Fungsi yang menyatakan bahwa operasi mengembalikannilai true jika input sama dengan string binary yang dicari:

f(x) =

{1 x = 10

0 x 6= 10. (4.1)

Kemudian kita perlu merepresentasikan fungsi f(x) : {0, 1}2 → {0, 1} sebagai oracle kuantumO. Ini sedikit rumit karena tebakan pertama O |x〉 = |f(x)〉 bukan operasi unitary danreversibel, sehingga ia bukan gerbang kuantum (keadaan |x〉 terdiri dari 2 qubit, sedangkan|f(x)〉 hanya satu qubit). Namun, ada sebuah metode untuk membangun oracle kuantumsebagai:

O |x〉 = (−1)f(x) |x〉 . (4.2)

Pembalikan tanda amplitudo dalam kasus f(x) = 1 tanda keadaan 10 dan matriks yangmewakili operasi ini adalah unitary, sehingga O adalah oracle kuantum yang diinginkan.

Page 43: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

30 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Dalam contoh khusus, oracle kuantum bekerja pada dua qubit input dan dinyatakan sebagaimatriks:

O =

|00〉 |01〉 |10〉 |11〉

|00〉 1 0 0 0

|01〉 0 1 0 0

|10〉 0 0 −1 0

|11〉 0 0 0 1

. (4.3)

Sampai bahasan ini, penting untuk memahami bahwa pembangunan oracle kuantum untukcontoh tersebut telah mengungkapkan input mana yang mengembalikan fungsi nilai benar.Namun, hal ini hanya untuk keperluan presentasi dan dalam prakteknya kita memiliki oraclekuantum black-box yang sudah diberikan kepada algoritma.

Jelasnya algoritma mencari string x = 10, sehingga kita memerlukan bahwa pengukuransistem di akhir harus mengungkapkan jawaban yang benar dengan probabilitas yang tinggi.Langkah-langkah rinci dari algoritma untuk contoh khusus dijelaskan di bawah ini.

InisialisasiInisialisasi qubit |0〉⊗2 yang menghasilkan keadaan |ψ0〉 = |00〉.

Terapkan gerbang-gerang HadamardTerapkan gerbang Hadamard pada setiap qubit yang menghasilkan keadaan:

|ψ1〉 = H⊗2 |ψ0〉 =1√22

(|0〉+ |1〉)⊗ (|0〉+ |1〉)

=1√22

(|00〉+ |01〉+ |10〉+ |11〉) =[12

12

12

12

]T. (4.4)

Setelah perkalian ia merepresentasikan semua input yang mungkin untuk oracle kuantumdalam superposisi yang terbobot sama. Kita hanya menggunakan 2 qubit untuk merepresen-tasikan 4 input.

Iterasi (1): 1. Terapkan gerbang oracle kuantum OTanda amplitudo dari input yang dicari dibalik dengan operasi ini sehingga menghasilkankeadaan:

|ψ(1)2 〉 = O |ψ1〉 =

1√22

(|00〉+ |01〉 − |10〉+ |11〉) =[12

12−1

212

]T. (4.5)

Page 44: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Kuantum 31

Oracle kuantum tidak cukup untuk mengenali input yang dicari, karena tanda amplitudotidak berpengaruh pada probabilitas pengukuran. Kita harus mencari gerbang kuantumtambahan yang membuat nilai absolut amplitudo lebih besar untuk keadaan yang dicari.

Iterasi (1): 2. Inversi sekitar nilai rata-rata (mean)Untuk memperkuat amplitudo dengan tanda negatif kita menggunakan sebuah prosedur yangdisebut inversi sekitar rata-rata (inversion around the mean). Operasi ini cukup sederhanadan mengimplikasikan penggunaan gerbang 2A− I⊗2, dimana A didefiniskan sebagai:

A =

12

12

12

12

12

12

12

12

12

12

12

12

12

12

12

12

(4.6)

dan inversi sekitar rata-rata direpresentasikan sebagai:

2A− I⊗2 =

−12

12

12

12

12−1

212

12

12

12−1

212

12

12

12−1

2

. (4.7)

Gerbang memiliki aksi yang mengikuti pada |ψ2〉:

|ψ(1)3 〉 = (2A− I⊗2) |ψ(1)

2 〉 =

−12

12

12

12

12−1

212

12

12

12−1

212

12

12

12−1

2

12

12

−12

12

=

0

0

1

0

. (4.8)

Input yang dicari memiliki amplitudo probabilitas satu, namun ini bukan kasus umum untukjumlah qubit input lebih besar dari dua. Dalam kasus itu, langkah-langkahnya: penerapan

Page 45: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

32 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

gerbang oracle kuantum dan penerapan inversi sekitar rata-rata diulang sekitar π4

√2n kali [10].

Sebagai contoh singkat, kita dapat memeriksa bahwa untuk input 3-qubit (dengan elemenkedua yang dicari) dua iterasi dalam algoritma akan mengikuti:

|ψ(1)2 〉 =

[√24−√24

√24

√24

√24

√24

√24

√24

]T→ |ψ(1)

3 〉 =[√

28

5√2

8

√28

√28

√28

√28

√28

√28

]T→ |ψ(2)

2 〉 =[√

28−5√2

8

√28

√28

√28

√28

√28

√28

]T→ |ψ(2)

3 〉 =[√

216−11

√2

16

√2

16

√2

16

√2

16

√2

16

√2

16

√2

16

]T(4.9)

sehingga nilai mutlak amplitudo untuk elemen kedua jelas lebih tinggi. Representasi eki-valen dari gerbang inversi sekitar rata-rata yang diimplementasikan dalam rangkaian kuantummengimpilkasikan penggunaan gerbang:

2A− I⊗2 = H⊗2(2 |0⊗2〉 〈0⊗2| − I⊗2)H⊗2 . (4.10)

PengukuranLangkah terakhir mengimplikasikan runtuhnya keadaan:

|ψ3〉 =[0 0 1 0

]T= 0 |00〉+ 0 |01〉+ 1 |10〉+ 0 |11〉 (4.11)

melalui pengukuran pada kedua qubit. Dalam contoh khusus, kuadrat amplitudo sama dengansatu, sehingga input yang dicari selalu terukur.

4.1.3 Algoritma

Umumnya, algoritma dapat divisualisasikan oleh rangkaian kuantum yang disajikan padaGbr. (4.2). Algoritma pencarian Grover membutuhkan oracle kuantum O yang bekerja padan qubit input. Pengukuran sistem pada akhir algoritma harus mengungkapkan string yangdicari x dengan probabilitas tinggi.

Inversi sekitar rata-rata

|0〉 /n H⊗n O H⊗n 2 |0⊗2〉 〈0⊗2| − I⊗2 H⊗n · · ·

Ulangi ≈ π4

√2n kali

︷ ︸︸ ︷︸ ︷︷ ︸

Gambar 4.2. Rangkaian kuantum algoritma Grover.

Page 46: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Kuantum 33

InisialisasiInisialisasi qubit |0〉⊗n yang menghasilkan keadaan qubit |ψ0〉 = |0 . . . 0〉.

Terapkan gerbang-gerbang HadamardTerapkan gerbang Hadamard pada setiap qubit yang menghasilkan keadaan:

|ψ1〉 = H⊗n |ψ0〉 =1√2n

(|0 . . . 00〉+ |0 . . . 01〉+ · · ·+ |1 . . . 11〉) . (4.12)

Iterasi (1): 1. Terapkan gerbang oracle kuantum OTanda amplitudo input yang dicari dibalikan dengan operasi ini yang menghasilkan keadaan:

|ψ(i)2 〉 = O |ψ1〉 . (4.13)

Iterasi (1): 2. Inversi sekitar rata-rataTerapkan gerbang inversi sekitar rata-rata:

|ψ(i)3 〉 = (H⊗n(2 |0⊗n〉 〈0⊗n| − I⊗n)H⊗n) |ψ2〉 . (4.14)

Ulangi langkah-langkah: Terapkan gerbang oracle kuantum O dan gerbang inversi sekitarrata-rata sebanyak imax ≈ π

4

√2n kali.

PengukuranUkur keadaan |ψ(imax)

3 〉. Item yang dicari harus terukur dengan probabilitas yang tinggi.

4.1.4 Rangkuman

Paralelisme kuantum dari algoritma pencarian Grover bergantung pada perubahan amplitu-do dari semua input secara bersamaan. Ini dapat dilakukan berkat superposisi keadaan, yangadalah murni sebuah konsep kuantum. Selain itu, pencarian dilakukan secara global, yang me-nunjukkan peningkatan yang signifikan dalam rutin-rutin pengoptimalan, dan fakta ini akandieksplorasi dalam sub-bab berikutnya. Telah diketahui bahwa algoritma kuantum adalahoptimal, yang berarti bahwa komputer kuantum tidak dapat melakukan lebih baik dalam je-nis masalah ini [11]. Kompleksitas waktu algoritma pencarian Grover adalah sekitar O(

√2n).

Dalam kasus komputer klasik, kompleksitas adalah O(2n), yang berarti speed-up kuadratikdari algoritma pencarian. Ini belum speed-up eksponensial, namun ini masih signifikan un-tuk vektor data besar. Di sisi lain, algoritma Grover sensitif terhadap jumlah iterasi. Lebihbanyak iterasi akan mengurangi amplitudo jawaban yang benar, sehingga salah memilih pa-rameter ini dapat terlalu lama mengolah solusi. Selain itu, operasi algoritma terbatas dalam

Page 47: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

34 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

hal dimasukannya noise ke sistem kuantum yang merupakan sebuah realitas pada komputerkuantum hari ini [12]. Juga ada ekstensi algoritma pencarian Grover untuk menemukan kentri pencocokan, bukan hanya satu [10].

4.2 Algoritma Minimalisasi Kuantum

4.2.1 Gambaran Umum

Algoritma pencarian Grover adalah kasus khusus dari masalah optimalisasi, karena algoritmatersebut bertujuan menemukan input dimana f(x) = 1 atau dengan kata lain mencari maksi-mum global dari fungsi yang mengembalikan nilai nol atau satu. Algoritma ini diperluas dalamalgoritma minimalisasi kuantum, yang dikenal juga sebagai algoritma minimalisasi Durr danHøyer untuk menangani masalah yang lebih umum [13]. Algoritma kuantum menggunakanalgoritma pencarian Grover (versi untuk k entri pencocokan) dengan oracle kuantum yangmenunjukkan elemen mana yang lebih kecil dari ambang batas sembarang. Pencarian Groverdilakukan beberapa kali untuk menemukan solusi untuk masalah optimalisasi. Lebih pentinglagi, berkat paralelisme kuantum, global minimum selalu ditemukan, yang memiliki implikasibesar untuk prosedur machine learning, karena mereka sering terjebak dalam optimal lokal.

4.2.2 Contoh

Kita akan meminimalkan fungsi obyektif f(x) : {0, 1}3 → {0, 1, 2, 3}:

f(x) =

0 x = 100

1 x = 000

2 x = 001

3 otherwise

, (4.15)

Sebagai masukan, oracle kuantum O diperlukan sedemikian sehingga input tanda akan meng-hasilkan nilai fungsi yang lebih rendah dari ambang batas y. Untuk sederhananya kita men-gasumsikan bahwa y = {0, 1, 2, 3}. Fungsi yang menyatakan bahwa operasi mengembalikannilai benar jika f(x) lebih rendah dari y:

h(x) =

{1 f(x) < y

0 f(x) ≥ y. (4.16)

Page 48: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Kuantum 35

Kemudian kita menggunakan resep standar yang didefinisikan pada persamaan (4.2) untukmembangun oracle kuantum:

O |x〉 = (−1)h(x) |x〉 . (4.17)

Kali ini algoritma pencarian Grover menemukan k entri pencocokan, sehingga beberapa tandaamplitudo dapat diubah. Representasi matriks paling sederhana dari oracle kuantum dapatditulis sebagai:

O = δ(y − 0)O0 + δ(y − 1)O1 + δ(y − 2)O2 + δ(y − 3)O3 (4.18)

dimana δ(x − a) merupakan fungsi delta Dirac yang menghasilkan satu jika x = a dan nolselain dari itu. Komponen O2 ditulis sebagai:

O2 =

|000〉 |001〉 |010〉 |011〉 |100〉 |101〉 |110〉 |111〉

|000〉 −1 0 0 0 0 0 0 0

|001〉 0 1 0 0 0 0 0 0

|010〉 0 0 1 0 0 0 0 0

|011〉 0 0 0 1 0 0 0 0

|100〉 0 0 0 0 −1 0 0 0

|101〉 0 0 0 0 0 1 0 0

|110〉 0 0 0 0 0 0 1 0

|111〉 0 0 0 0 0 0 0 1

(4.19)

sehingga membalik tanda amplitudo untuk input dimana f(x) < 2 yaitu x = 100 and x = 000.Komponen-komponen lain O0, O1 dan O3 direpresentasikan secara analog. Demikian pula den-gan algoritma pencarian Grover, penting untuk menyadari bahwa membangun oracle kuantumuntuk contoh tersebut sudah mengungkap input yang memiliki fungsi minimum. Namun, inihanya untuk tujuan presentasi dan dalam praktiknya kami memiliki oracle kuantum black-boxyang sudah diberikan kepada algoritma.

Jawaban yang benar xmin = 100 yang fungsinya memiliki minimum global harus diukurdengan probabilitas tinggi. Langkah-langkah terperinci dari algoritma untuk contoh khusustersebut dijelaskan di bawah ini.

Tetapkan titik awalSecara acak pilih input x1 dan tetapkan y1 = f(x1) sebagai titik awal dari algoritma. Pada

Page 49: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

36 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

contoh kita secara acak memilih x1 = 001 sehingga y1 = 2. Dengan mengekspresikan keluaranfungsi sebagai string biner:

0→ 00

1→ 01

2→ 10

3→ 11 (4.20)

dan kemudian mengubahnya menjadi keadaan-keadaan kuantum, sebuah digit 2 dapatdirepresentasikan oleh keadaan |10〉.

Iterasi (1): 1. InisialisasiInisialisasi register pertama dengan 3 input qubit dan register kedua dengan 2 qubit unutkmenyimpan nilai ambang y1. Keadaan awal dapat dituliskan sebagai berikut:

|ψ(1)0 〉 = |000〉 |10〉 . (4.21)

Iterasi (1): 2. Terapkan gerbang-gerbang HadamardTerapkan gerbang Hadamard pada register pertama yang menghasilkan keadaan:

|ψ(1)1 〉 = (H⊗3 ⊗ I⊗2) |ψ1〉 =

1√23

(|000〉+ |001〉+ · · ·+ |111〉) |10〉

=[√

22

√22

√22

√22

√22

√22

√22

√22

]T⊗

0

0

1

0

. (4.22)

Register pertama mewakili semua input yang mungkin pada fungsi f(x).

Iterasi (1): 3. Terapan algoritma pencarian GroverTerapkan algoritma Grover menggunakan oracle kuantum O dan inversi sekitar rata-rata rkali. Nilai r dipilih secara acaka untuk menghindari penjebakan algoritma [15]. Pada contoh

Page 50: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Kuantum 37

algoritma Grover (dengan r1 = 1) menghasilkan keadaan:

|ψ(1)2 〉 = (G⊗ I⊗2) 1√

23(|000〉+ |001〉+ · · ·+ |111〉) |10〉

=[

1√2

0 0 0 1√2

0 0 0]T⊗

0

0

1

0

. (4.23)

Keadaan setelah pengukuran register pertama akan runtuh ke |100〉 |10〉 atau |000〉 |10〉dengan probabilitas 0.5 untuk kedua hasil. Dalam contoh kita asumsikan bahwa pengukuranmenghasilkan keadaan |000〉 |10〉.

Iterasi (1): 4. Tetapkan ambang batas baruTetapkan x2 = 000 dan y2 = f(000) = 1. Ubah register kedua menjadi |01〉 yang sesuaidengan digit 1. Lanjutkan ke iterasi berikut.

KonvergensiKonvergensi untuk contoh tersebut dicapai setelah iterasi kedua. Dalam iterasi kedua,algoritma Grover (dengan r2 = 2) menghasilkan keadaan (amplitudo dibulatkan ke digitketiga)::

|ψ(2)2 〉 =

[0.972 −0.088 −0.088 −0.088 −0.088 −0.088 −0.088 −0.088

]T⊗

0

1

0

0

(4.24)

dan global minimum x = 100 diukur dengan probabilitas 0.9722 = 0.945. Sarab tentangjumlah iterasi disajikan dalam deskripsi umum algoritma.

4.2.3 Algoritma

Sekarang, kita akan menyajikan versi umum dari algoritma. Sebagai input, algoritma mem-butuhkan:

Page 51: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

38 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

• Fungsi obyektif f(x) : {0, 1}n → R,

• Oracle Kuantum O bekerja pada n qubit input pada register pertama.

Secara teori, optimal global yang dicari xmin diukur dengan probabilitas tinggi di akhir.Rangkaian kuantum untuk algoritma tersebut disajikan dalam Gbr. (4.3).

|0〉 /n H⊗n Gri

|yi〉 /m perbarui yi+1

Ulang O(√

2n) Kali

Gambar 4.3. Rangkaian kuantum algoritma minimalisasi kuantum.

Tetapkan titik awalSecara acak pilih input x1 dan tetap y1 = f(x1) sebagai titik awal dari algoritma.

Iterasi (i): 1. InisialisasiInisialisasi register pertama dengan n gubit input dan register kedua dengan m qubit untukmenyimpan nilai ambang yi.

Iterasi (i): 2. Terapkan gerbang-gerbang HadamardTerapkan gerbang-gerbang Hadamard pada regiser pertama untuk menempatkan registerpertama ke dalam superposisi dari semua keadaan yang merepresentasikan input f(x).

Iterasi (i): 3. Terapkan algoritma GroverTerapkan algoritma Grover menggunakan oracle kuantum O dan inversi sekitar rata-ratari kali. Ini ditandai dalam rankaian kuantum sebagai gerbang Gri . Pengukuran dalamalgoritma Grover disajikan secara terpisah pada rangkaian kuantum. Seperti telah dijelaskansebelumnya nilai ri dipilih secara acak untuk menghindari penjebakan algoritma. Nyatakanoutput dari algoritma Grover dengan |x〉, ubah keadaan itu menjadi input x dan hitung nilaifungsi y = f(x).

Iterasi (i): 4. Tetapkan ambang batas baruJika y < yi maka tetapkan xi+1 = x dan yi+1 = y. Dalam kasus lain, tetapkan nilai x dany menjadi nilai-nilai sebelumnya xi+1 = xi dan yi+1 = yi. Operasi perbandingan ini dapatdijalankan pada komputer klasik.

Page 52: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Kuantum 39

KonvergensiKonvergensi dicapai dalam orde

√2n iterasi. Jumlah pasti iterasi dipertimbangkan dalam

Ref. [13, 14]. Pengukuran register pertama memberikan sebuah minimum global xmin darifungsi dengan probabilitas yang tinggi.

4.2.4 Rangkuman

Paralelisme kuantum dicapai karena pencarian Grover, yang secara simultan menerapkan ger-bang pada semua input yang mungkin dalam superposisi. Fakta yang sama memungkinkanalgoritma kuantum ini untuk menemukan global optimal karena selalu mencari melalui semuainput yang mungkin. Kompleksitas waktu tergantung pada sejumlah iterasi pada loop utama(sekitar

√2n) dan jumlah loop dalam ri pada algoritma pencarian Grover. Ternyata untuk

tujuan minimalisasi jumlah ri jauh lebih kecil daripada kompleksitas waktu O(√

2n) dalamalgoritma pencarian Grover mandiri [15]. Sehingga, untuk n yang sangat besar hanya sejum-lah iterasi dalam loop utama signifikan mengarah ke keseluruhan kompleksitas waktu O(

√2n)

dari algoritma minimalisasi kuantum. Ini adalah speed-up kuadratik dibandingkan denganmetode optimasi klasik. Keterbatasan algoritma minimalisasi kuantum sama dengan algo-ritma Grover, dekoherensi sistem kuantum dapat mengancam efektivitas algoritme kuantumyaitu merusak speed-up kuadratiknya. Sebagai alternatif, kita dapat mempertimbangkan algo-ritma optimisasi perkiraan kuantum (quantum approximate optimization algorithm(QAOA))[16] yang dirancang untuk komputer yang bising dan digunakan dalam pelatihan jaringansaraf mesin Boltzmann kuantum [17].

4.3 Algoritma Transformasi Fourier Kuantum

4.3.1 Gambaran Umum

Transformasi Fourier kuantum QFT adalah analogi kuantum dari transformasi Fourierdiskrit (discrete Fourier transform) klasik DFT . DFT efektif digunakan dalam pem-rosesan sinyal digital, pengolahan citra, dan kompresi data. DFT bekerja pada vektorx = (x1, x2, . . . , xN−1)

T dan memetakannya ke vektor baru y = (y1, y2, . . . , yN−1)T dengan

cara sebagai berikut:

yk =1√N

N−1∑j=0

xje2πi kj

N (4.25)

Page 53: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

40 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Untuk memahami DFT anggap sinyal input yang terdiri dari sinyal benar dengan frekuensif = 10 dan amplitudo A = 2 dinyatakan oleh persamaan

x(1)j = 2 sin (2π10j) (4.26)

dan derau (noise) dengan frekuensi tinggi f = 50 dan amplitudo kecil A = 0, 3 dinyatakanoleh persamaan

x(2)j = 0.3 sin (2π50j) (4.27)

Sinyal sebenarnya dan sinyal derau untuk N = 1000 sampel disajikan masing-masing padaGbr. (4.4) dan Gbr. (4.5): Sinyal input keseluruhan xj diilustrasikan pada Gbr. (4.6) bersama

Gambar 4.4. Sinya derau (noise) denganf = 10 dan A = 2

Gambar 4.5. Sinyal derau (noise) denganf = 50 dan A = 0.3

dengan sinyal input dalam domain frekuensi (setelah penerapan DFT ) pada Gbr. (4.7).

Kita dapat melihat bahwa eksponensial e2πikjN berfungsi sebagai filter frekuensi untuk k

yang berbeda menempati puncak yang terletak di k = 10 dan k = 50. Puncak yang tercerminpada frekuensi 950 dan 990 hanyalah hasil dari penggunaan bilangan kompleks. Sekarang,lebih mudah untuk mengurangi derau (noise) dengan membuang puncak pada frekuensi 50(hanya mengatur koefisien y50 dan y950 menjadi nol) dan menerapkan inversi DFT . Sebagaihasilnya, kita mendapatkan sinyal benar yang disajikan pada Gbr. (4.4). Versi kuantum DFT

Page 54: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Kuantum 41

Gambar 4.6. Sinyal input xjGambar 4.7. Sinyal input dalam domainfrekuensi yk

bekerja pada amplitudo dari keadaan kuantum |ψ〉 =∑N−1

j=0 aj |j〉 dan memetakannya ke

amplitudo baru dari keadaan kuantum |φ〉 =∑N−1

k=0 bk |k〉, dimana

bk =1√N

N−1∑j=0

aje2πi kj

N (4.28)

atau secara ekuivalen:

|j〉 → 1√N

N−1∑k=0

e2πikjN |k〉 . (4.29)

Pertanyaan yang muncul adalah apakah kita dapat menerapkan QFT pada komputer kuantumsebagai gerbang kuantum yang efektif. Dengan kata lain, kita perlu menemukan operatorunitary yang bekerja pada keadaan kuantum dan melakukan operasi QFT . Ternyata operator

Page 55: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

42 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

tersebut ada dan didefinisikan sebagai:

F =1√N

1 1 1 · · · 1

1 ω ω2 · · · ωN−1

1 ω2 ω4 · · · ω2(N−1)

......

......

1 ωN−1 ω2(N−1) · · · ω(N−1)(N−1)

(4.30)

dimana ω = e2πiN .

4.3.2 Contoh

Pada contoh itu, kita mengasumsikan keadaan 2-qubit:

|ψ〉 = a0 |0〉+ a1 |1〉+ a2 |2〉+ a3 |3〉 = a0 |00〉+ a1 |01〉+ a2 |10〉+ a3 |11〉 . (4.31)

Algoritma mendapatkan transformasi Fourier:

F |ψ〉 = |φ〉 =3∑

k=0

bk |k〉 (4.32)

dengan:

b0 =1

2(a0 + a1 + a2 + a3)

b1 =1

2(a0 + a1e

iπ2 + a2e

iπ + a3e3iπ2 )

b2 =1

2(a0 + a1e

iπ + a2e2iπ + a3e

3iπ)

b3 =1

2(a0 + a1e

3iπ2 + a2e

3iπ + a3e9iπ2 ) . (4.33)

Langkah-langkah rinci dari algoritma untuk contoh khusus dijelaskan sebagai berikut.

Terapkan Transformasi Fourier Kuantum

Page 56: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Kuantum 43

Gerbang QFT 2-qubit dapat dinyatakan dengan matriks N -x-N dimana N = 22 = 4:

F =1

2

1 1 1 1

1 ω ω2 ω3

1 ω2 ω4 ω6

1 ω3 ω6 ω9

=1

2

1 1 1 1

1 i −1 −i

1 −1 1 −1

1 −i −1 i

(4.34)

dengan ω = eπi2 = i, ω2 = eπi = −1 dan ω4 = e2πi = 1 dari rumus Euler. Dengan penerapan

gerbang ini pada keadaan input kita peroleh:

F |ψ〉 =1

2

1 1 1 1

1 i −1 −i

1 −1 1 −1

1 −i −1 i

a0

a1

a2

a3

=1

2

a0 + a1 + a2 + a3

a0 + ia1 − a2 − ia3a0 − a1 + a2 − a3a0 − ia1 − a2 + ia3

. (4.35)

Dengan perbandingan yang cermat antara matriks ini dan keadaan |φ〉 yang dinyatakan olehPers. (4.32) kita menyimpulkan bahwa hasil yang diinginkan telah dihasilkan.

Rangkaian KuantumGerbang QFT dapat direpresentasikan oleh sekumpulan gerbang-gerbang kuantum yanglebih sederhana Pada contoh ini, penerapan gerbang Hadamard H pada qubit pertama,kemudian gerbang fase terkontrol Rπ

2juga pada qubit pertama (yang merupakan gerbang

shift fase pada qubit pertama dengan ketentuan bahwa qubit kedua dalam keadaan |1〉) dan

Page 57: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

44 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

terakhir gerbang Hadamard pada qubit kedua mereproduksi gerbang QFT :

F = (H ⊗ I)(C-Rπ2)(I ⊗H)SWAP

=1

2

1 0 1 0

0 1 0 1

1 0 −1 0

0 1 0 −1

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 i

1 1 0 0

1 −1 0 0

0 0 1 1

0 0 1 −1

1 0 0 0

0 0 1 0

0 1 0 0

0 0 0 1

=1

2

1 1 1 1

1 i −1 −i

1 −1 1 −1

1 −i −1 i

. (4.36)

Jika kita menyatakan qubit pertama dengan x1 dan qubit kedua dengan x2, maka rangkaiankuantum yang mewakili operasi matriks disajikan dalam Gbr. (4.8).

|x1〉 × • H |y1〉

|x2〉 × H Rπ/2 |y2〉

Gambar 4.8. Rangkaian kuantum algoritma transformasi Fourier kuantum dari contoh.

4.3.3 Algoritma

Sebuah input ke algoritma merupakan sebuah keadaan n-qubit sembarang |ψ〉 =∑N−1

j=0 aj |j〉dimana transformasi Fourier dihitung:

F |ψ〉 = |φ〉 =N−1∑k=0

bk |k〉 (4.37)

dengan:

bk =1√N

N−1∑j=0

aje2πi kj

N . (4.38)

Page 58: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Kuantum 45

Terapkan Transformasi Fourier KuantumTerapkan gerbang QFT :

F =1√N

1 1 1 · · · 1

1 ω ω2 · · · ωN−1

1 ω2 ω4 · · · ω2(N−1)

......

......

1 ωN−1 ω2(N−1) · · · ω(N−1)(N−1)

(4.39)

dimana ω = e2πiN .

Rangkaian KuantumKeadaan |ψ〉 yang terdiri dari n qubit dapat direpresentasikan oleh:

|ψ〉 = |x1, x2, . . . , xn〉 (4.40)

dengan xi menunjukkan keadaan qubit ke-i. Hal yang sama, keadaan output n-qubit |φ〉 dapatdirepresentasikan oleh:

|φ〉 = |y1, y2, . . . , yn〉 . (4.41)

Keadaan input dan output |ψ〉 dan |φ〉 akan berada dalam superposisi, sehingga qubit dap-at juga terlibat. QFT dapat diterapkan melalui satu set gerbang kuantum dasar: GerbangHadamard dan gerbang shift fase terkontrol. Urutan terbalik dari qubit input mewakili be-berapa gerbang SWAP yang diterapkan pada awal rangkaian kuantum:

4.3.4 Rangkuman

Paralelisme kuantum untuk algoritma tersebut dihasilkan dari penerapan gerbang kuantumyang bekerja pada superposisi (kemungkinan terlibat) dari keadaan kuantum input. Selainitu, keadaab kuantum input kuantum dapat menyandikan 2n bit data klasik hanya dalam nqubit. Dari analisis rangkaian kuantum kita dapat menyimpulkan bahwa jumlah gerbang yangdiperlukan untuk implementasi algoritma QFT (menghilangkan gerbang SWAP di awal) sama

dengan 1+2+· · ·+n = n(n−1)2

, yang bersesuaian dengan kompleksitas waktu O(n2). Algoritmaterbaik meningkatkan kompleksitas tersebut menjadi O(n log n) [18]. Ini menunjukan speed-up eksponensial dibandingkan dengan kompleksitas waktu O(n2n) untuk transformasi Fourierdiskrit klasik.

Page 59: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

46 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

|xn〉 • • · · · • · · · • H |y1〉

|xn−1〉

QFTn−1

· · · · · · Rπ/2 |y2〉...

...

|xi〉 · · · Rπ/2n−i · · · |yn−i+1〉...

...

|x2〉 Rπ/2n−2 · · · · · · |yn−1〉

|x1〉 Rπ/2n−1 · · · · · · |yn〉

Gambar 4.9. Rangkaian kuantum algoritma transformasi Fourier kuantum.

4.4 Algoritma Estimasi Fase Kuantum

4.4.1 Gambaran Umum

Masalah umum dalam matematika terapan adalah menemukan nilai eigen dari sebuah matriksyang diberikan vektor eigennya. Dalam komputasi kuantum masalah ini disesuaikan untukmenemukan nilai eigen λ dari vektor eigen |φ〉 yang memenuhi U |φ〉 = λ |φ〉 dimana U adalahgerbang kuantum unitary. Berdasarkan kenyataan jika U adalah unitary, nilai eigen dapatdinyatakan sebagai λ = e2πiθ = cos (2πθ) + i sin (2πθ), dengan fase 0 ≤ θ < 1. Masalahnyabermuara pada menemukan fase θ dengan tingkat presisi tertentu.

4.4.2 Contoh

Kita memiliki matriks unitary :

U =

1 0

0 1

, (4.42)

dan vektor eigen yang sesuai:

|φ〉 =

1

0

. (4.43)

Page 60: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Kuantum 47

Kita tahu bahwa nilai eigen untuk masalah tersebut adalah λ = 1, yang setara dengan θ = 0.Kita menerapkan algoritma estimasi fase kuantum untuk mendapatkan hasil yang sama.Langkah-langkah terperinci dari algoritma untuk contoh khusus tersebut dijelaskan di bawahini.

InisialisasiKita mulai dengan inisialisasi n = 1 qubit kontrol yang akan menyimpan hasil:

|0〉 =

1

0

(4.44)

dan m = 1 qubit yang menyandikan vektor eigen sebagai berikut:

|φ〉 = |0〉 =

1

0

. (4.45)

Buat superposisiKemudian, kita menerapkan gerbang Hadamard pada qubit kontrol yang menghasilkankeadaan:

(H ⊗ I) |0〉 |0〉 =1√2

1 0 1 0

0 1 0 1

1 0 −1 0

0 1 0 −1

1

0

0

0

=1√2

1

0

1

0

=

1√2

1

0

+

0

1

1

0

=1√2

(|0〉+ |1〉) |0〉 . (4.46)

Terapkan gerbang-gerbang unitary terkontrolKami ingin menerapkan gerbang unitary yang terkontrol C-U, yang menerapkan gerbang Upada keadaan vektor eigen hanya jika qubit kontrol berada dalam keadaan |1〉:

C-U1√2

(|0〉+ |1〉) |0〉 =1√2

(|0〉 |0〉+ |1〉U |0〉) =1√2

(|0〉+ e2πiθ |1〉) |0〉 . (4.47)

Page 61: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

48 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Ini dapat ditulis ulang sebagai jumlah berikut (angka 2 disimpan dalam penyebut eksponensial,karena hasilnya akan sesuai dengan beberapa pola kemudian):

1√2

1∑k=0

e2πik2θ2 |k〉 |0〉 . (4.48)

Sekarang, hasil dari pengukuran qubit kontrol tidak tergantung pada fase θ karena amplitudodalam eksponensial e2πik

2 theta2 dibunuh oleh konjugat kompleksnya e−2πik

2θ2 selama perhitun-

gan probabilitas. Andai saja kita dapat mengekspresikan qubit kontrol dengan basis yangberbeda yang akan bergantung pada fase θ. Pandangan yang lebih dekat mengungkapkanbahwa keadaan qubit kontrol memiliki bentuk keadaan tertranformasi Fourier:

|j〉 =1√N

N−1∑k=0

e2πikjN |k〉 (4.49)

dengan N = 2 dan j = 2θ. Langkah teraakhir adalah memulihkan |j〉 = |2θ〉 denganpenerapan operasi inversi dari transformasi Fourier.

Terapkan gerbang transformasi Fourier kuantum inversiTransformasi Fourier kuantum inversi menciptakan basis yang berbeda:

F−1 |k〉 =1√N

N−1∑j=0

e−2πikjN |j〉 . (4.50)

Untuk contoh kita, gerbang transformasi Fourier kuantum inversi untuk 2 qubit dinyatakansebagai berikut:

F−1 =1√2

1 1

1 ω−1

(4.51)

dimana ω = e2πi2 = eπi. Sehingga:

F−1 1√2

1∑k=0

e2πik2θ2 |k〉 |0〉 =

1

2

1 1

1 e−πi

1

e2πiθ

1

0

=1

2

1 + e2πiθ

1 + eπi

1

0

(4.52)

yang ekuivalen dengan:

1

2

1∑j=0

1∑k=0

e2πik(2θ−j)

2 |j〉 |0〉 . (4.53)

Page 62: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Kuantum 49

PengukuranPengukuran qubit kontrol meruntuhkan keadaan sistem menjadi |2θ〉 |0〉. Perhatikan bahwaprobabilitas untuk mengukur kontrol qubit berada dalam keadaan |2θ〉 dihitung sebagai:

P (|2θ〉) =

∣∣∣∣∣12 〈2θ|1∑j=0

1∑k=0

e2πik(2θ−j)

2 |j〉

∣∣∣∣∣2

=

∣∣∣∣∣121∑

k=0

e0 〈2θ|2θ〉

∣∣∣∣∣2

=

∣∣∣∣1 + 1

2

∣∣∣∣2= 1 . (4.54)

Ini berarti bahwa pengukuran qubit kontrol selalu menghasilkan θ yang benar. Dalam contohkita, qubit akan diukur dalam keadaan |0〉 ketika θ = 0.

Dalam hal dimana θ bukan bilangan bulat atau kita bekerja pada vektor eigen yang lebihbesar, kita perlu menambah jumlah qubit kontrol n serta jumlah gerbang kuantum terkontrolC-U. Algoritma umum disajikan pada sub-bagian berikutnya.

4.4.3 Algoritma

Algoritma umum disajikan oleh rangkaian kuantum pada Gbr. (4.10). Demikian puladengan contoh yang disajikan pada bagian sebelumnya, kita akan memerlukan gerbangkuantum U dan vektor eigennya |φ〉 sebagai input. Algoritma ini mengungkapkan fase θ yangmemungkinkan untuk perhitungan nilai eigen λ = e2πiθ.InisialisasiInisialisasi n qubit kontrol |0〉 dan m qubit yang menyandikan vektor eigen |φ〉. Keadaanawal sistem adalah ψ0 = |0〉⊗n |φ〉.

Buat superposisiTerapkan gerbang Hadamard n-bit H⊗n pada n qubit kontrol yang menghasilkan keadaan:

|ψ1〉 =1√2n

(|0〉+ |1〉)⊗n |φ〉 (4.55)

Terapkan gerbang-gerbang unitary terkontrol

Page 63: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

50 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

|0〉 H · · · •

F−1|0〉 H • · · ·

......

|0〉 H • · · ·

|ψ〉 /m C-U20 C-U21 · · · C-U2n−1

Gambar 4.10. Rangkaian kuantum algoritma estimasi fase kuantum.

Gerbang unitary terkontrol C-U menerapkan gerbang U pada keadaan |φ〉 hanya jika qubitkontrol berada dalam keadaan |1〉. Tersedia n qubit kontrol kita menerapkan n gerbang unitary

kontrol C-U2j dengan 0 ≤ j ≤ n− 1 pada keadaan eigen |φ〉. Berdasarkan hal itu :

U2j |φ〉 = U2j−1U |φ〉 = U2j−1e2πiθ |φ〉 = e2πi2jθ |φ〉 (4.56)

dan perpindahan fase-fase vektor eigen ke qubit kontrol yang nantinya berakhir dengankeadaan superposisi:

|ψ2〉 =1√2n

(|0〉+ e2πi2

n−1θ |1〉)

︸ ︷︷ ︸qubit 1

⊗ · · · ⊗(|0〉+ e2πi2

1θ |1〉)

︸ ︷︷ ︸qubit n-1

⊗(|0〉+ e2πi2

0θ |1〉)

︸ ︷︷ ︸qubit n

⊗ |φ〉 . (4.57)

Persamaan (4.57) dapat disederhanakan dengan menuliskan seluruh keadaan-keadaan 2n n-qubit {|00 . . . 0〉 , |00 . . . 1〉 , . . . , |11 . . . 1〉} menjadi keadaan tercacah dengan sebuah bilanganbulat |k〉 yang berasal dari penjumlahan 2j pada eksponensial. Sebagai contoh e2πi0θ |00 . . . 0〉ditulis menjadi e2πi0θ |0〉, e2πi20θ |0 . . . 01〉 ditulis menjadi e2πi1θ |1〉 dan e2πi(2

1+20)θ |0 . . . 11〉 di-tulis menjadi e2πi3θ |3〉. Ini dapat digeneralisasi sebagai:

|ψ2〉 =1√2n

2n−1∑k=0

e2πikθ |k〉 |φ〉 =1√2n

2n−1∑k=0

e2πik2nθ2n |k〉 |φ〉 . (4.58)

Terapkan gerbang transformasi Fourier kuantum inversiQubit kontrol pada keadaan |ψ2〉 memiliki bentuk keadaan tertransformasi Fourier. Penera-pan gerbang transformasi Fourier kuantum inversi QFT−1 memetakan ke basis baru dimana

Page 64: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Kuantum 51

keadaan yang memuat fase mengumpulkan seluruh amplitudo. Gerbang QFT−1 yang diter-apkan pada keadaan sebelumnya menghasilkan:

|ψ3〉 =1

2n

2n−1∑j=0

2n−1∑k=0

e2πikθe−2πikj2n |j〉 |φ〉

=1

2n

2n−1∑j=0

2n−1∑k=0

e2πik(2nθ−j)

2n |j〉 |φ〉 . (4.59)

Approksimasi faseBerdasarkan fakta bahwa keadaan |j〉 hanya dapat menyandikan sekumpulan variabel diskrit,sementara θ adalah variabel kontinyu dalam jangkauan 0 ≤ θ < 1, kita memperkirakan2nθ = a + 2nδ dimana a merupakan bilangan bulat terdekat dari 2nθ dan δ merupakankesalahan pembulatan dengan 0 ≤ |2nδ| ≤ 1

2. Kita dapat menulis ulang keadaan sebelumnya

sebagai:

|ψ3〉 =1

2n

2n−1∑j=0

2n−1∑k=0

e2πik(a−j)

2n+2πikδ |j〉 |φ〉 . (4.60)

PengukuranSekarang, pengukuran qubit kontrol menghasilkan keadaan |a〉 dengan probabilitas (untukpenyederhanaan kita mengasumsikan bahwa δ = 0 yaitu tidak ada kesalahan pembulatan):

P (|a〉) =

∣∣∣∣∣ 1

2n〈a|

2n−1∑j=0

2n−1∑k=0

e2πik(a−j)

2n |j〉

∣∣∣∣∣2

=

∣∣∣∣∣ 1

2n

2n−1∑k=0

e2πik(a−a)

2n 〈a|a〉

∣∣∣∣∣2

=

∣∣∣∣∣ 1

2n

2n−1∑k=0

e0

∣∣∣∣∣2

= 1 . (4.61)

Ini berarti bahwa pengukuran qubit kontrol selalu membuatnya dalam keadaan |a〉 = |2nθ〉dengannya kita dapat membaca fase dan kemudian menghitung nilai eigen. Keadaan seluruh

Page 65: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

52 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

sistem setelah pengukuran adalah |2nθ〉 |φ〉. Jika kesalahan pembulatan tidak nol, keadaan |a〉akan dihasilkan dengan probabilitas:

P (|a〉) =

∣∣∣∣∣ 1

2n〈a|

2n−1∑j=0

2n−1∑k=0

e2πik(a−j)

2n+2πikδ |j〉

∣∣∣∣∣2

=

∣∣∣∣∣ 1

2n

2n−1∑k=0

e2πikδ

∣∣∣∣∣2

=1

22n

∣∣∣∣1− e2πi2nδ1− e2πiδ

∣∣∣∣2 . (4.62)

Dapat ditunjukkan [19] bahwa P (|a〉) ≥ 4π2 ≈ 0, 405 dan konvergen ke 1 ketika jumlah kontrol

qubit n meningkat.

4.4.4 Rangkuman

Algoritma estimasi fase kuantum memungkinkan kita untuk menghitung nilai eigen untukvektor eigen yang diberikan dari gerbang kuantum. Ini digunakan dalam algoritma PrincipalComponents Analysis kuantum yang dijelaskan dalam bab 5.4. Dengan asumsi gerbang C-Usudah disiapkan, kompleksitas waktu sangat tergantung pada kompleksitas waktu transformasiFourier kuantum, yaitu O(n log n) untuk algoritma yang paling terkenal [18].

Page 66: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

BAB 5

Algoritma-Algoritma MachineLearning Kuantum

Bab ini memberikan gambaran umum tentang algoritma machine learning kuantum terpilihyang terbimbing (supervised) dan mandiri (unsupervised), namun ada juga metode ekstrak-si skor untuk algoritma Analisis Komponen Utama kuantum (quantum Principal Compo-nent Analysis (qPCA)) yang diusulkan serta fungsi biaya baru dalam jaringan saraf kuantumumpan-maju (feed-forward) diperkenalkan. Algoritma machine learning mandiri adalah versikuantum dari k-mean dan algoritma k-median serta analisis komponen utama kuantum (qP-CA). Algoritma terbimbing yang disajikan adalah mesin vektor dukungan kuantum (qSVM)dan jaringan saraf kuantum (qNN). Algoritma pembelajaran mesin kuantum memanfaatkanalgoritma kuantum yang dijelaskan dalam bab sebelumnya sebagai subrutin. Nama-namasubrutin berikut telah ditetapkan:

• GroverOptim: Algoritma minimalisasi kuantum,

• PhaseEstim: Algoritma estimasi fase kuantum.

Subrutin kuantum tambahan telah diperkenalkan semata-mata untuk tujuan algoritma ma-chine learning kuantum:

• SwapTest,

• DistCalc,

• MedianCalc.

Page 67: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

54 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Algoritma-algoritma dijelaskan dengan seksama di bagian berikut. Pemetaan antara algoritmamachine learning kuantum dan subrutin kuantum disajikan (U - Digunakan, O - Opsional):

Tabel 5.1. Algoritma machine learning kuantum dan pemetaan subrutin kuantum

GroverOptim PhaseEstim SwapTest DistCalc MedianCalcq k-means U U U

q k-medians U U U UqSVM UqPCA U O

qNN

5.1 Algoritma k-Means Kuantum

5.1.1 Gambaran Umum

Algoritma k-means klasik tergolong algoritma machine learning mandiri. Algoritma ini bertu-juan untuk mengklasifikasikan data ke cluster k berdasarkan kumpulan vektor pelatihan yangtidak berlabel. Vektor pelatihan dipindahkan ke centroid terdekat di setiap iterasi dan ke-mudian centroid baru dihitung mealui rata-rata vektor milik cluster saat ini. Kompleksitaswaktu O(NM) dari algoritma klasik dengan menggunakan versi Lloyd dari algoritma se-cara linear tergantung pada jumlah fitur N dan jumlah contoh pelatihan M [20]. Operasiyang menghabiskan banyak sumber daya pada algoritma k-means adalah perhitungan jarakantara vektor, dan kita berharap untuk mendapatkan speed-up dengan mengambil jarak den-gan menggunakan komputer kuantum. Algoritma k-means kuantum ternyata memberikanspeed-up eksponensial untuk dimensi yang sangat besar dari vektor pelatihan. Algoritma inididasarkan pada dua subrutin kuantum baru yang menghitung jarak antara vektor: SwapTestdan DistCalc serta subrutin GroverOptim kuantum yang sudah dijelaskan dalam bab 4.2 danmenugaskan vektor ke centroid terdekat dari cluster.

5.1.2 Subrutin Kuantum: SwapTest

Subrutin SwapTest adalah rutin kuantum sederhana yang menyatakan tumpang tindih daridua keadaam 〈a vertb〉 dalam terminologi probabilitas pengukuran qubit kontrol yang beradadalam keadaan |0〉. Tumpang tindih merupakan ukuran kemiripan antara keadaan kuantumdan ia akan digunakan dalam perhitungan jarak antara vektor klasik pada subrutin DistCalc.

Page 68: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Machine Learning Kuantum 55

Algoritma pertama kali digunakan dalam Ref. [21]. Rangkaian kuantum algoritma disajikanpada Gbr. (5.1). Langkah-langkah subrutin disajikan di bawah ini.

|0〉 H • H

|a〉 ×

|b〉 ×

Gambar 5.1. Rangkaian kuantum subrutin kuantum SwapTest.

InisialisasiInisialisasi dua keadaan |a〉 dan |b〉 serta qubit kontrol |0〉 yang menghasilkan keadaan:

|ψ0〉 = |0, a, b〉 . (5.1)

Keadaan |a〉 dan |b〉 masing-masing terdiri dari n qubit.

Terapkan gerbang HadamardTerapkan gerbang Hadamard pada qubit kontrol menghasilkan superposisi:

|ψ1〉 = (H ⊗ I⊗n ⊗ I⊗n) |ψ0〉 =1√2

(|0, a, b〉+ |1, a, b〉) . (5.2)

Terapan gerbang SWAPTerapkan gerbang SWAP terkontrol pada keadaan |a〉 dan |b〉 yang men-swaps a dan b hanyajika qubit kontrol berada dalam keadaan |1〉. Sebagai hasilnya:

|ψ2〉 =1√2

(|0, a, b〉+ |1, b, a〉) . (5.3)

Terapkan gerbang HadamardTerapkan gerbang Hadamard kedua pada qubit kontrol menghasilkan keadaan:

|ψ3〉 =1

2|0〉 (|a, b〉+ |b, a〉) +

1

2|1〉 (|a, b〉 − |b, a〉) . (5.4)

Pengukuan

Page 69: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

56 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Ukur qubit kontrol. Probabilitas pengukur qubit kontrol berada dalam keadaan |0〉 dinyatakansebagai berikut:

P (|0〉) = |12〈0|0〉 (|a, b〉+ |b, a〉) +

1

2〈0|1〉 (|a, b〉 − |b, a〉)|2

=1

4|(|a, b〉+ |b, a〉)|2

=1

4(〈b|b〉 〈a|a〉+ 〈b|a〉 〈a|b〉+ 〈a|b〉 〈b|a〉+ 〈a|a〉 〈b|b〉)

=1

2+

1

2|〈a|b〉|2 (5.5)

Jadi, kita berhasil menautkan 〈a vertb〉 yang tumpang tindih dengan probabilitas pengukuranqubit kontrol dalam keadaan kuantum akhir. Probabilitas P (|0〉) = 0, 5 berarti bahwa keadaan|a〉 dan |b〉 adalah ortogonal, sedangkan probabilitas P (|0〉) = 1 menunjukkan bahwa keadaan-nya identik. Subrutin harus diulang beberapa kali untuk mendapatkan penaksir probabilitasyang baik. Keuntungan menggunakan tes swap adalah keadaa |a〉 dan |b〉 tidak diketahuisebelum prosedur dan pengukuran sederhana dilakukan pada qubit kontrol yang memilikidua keadaan eigen. Kompleksitas waktu dapat diabaikan karena prosedur tidak bergantungpada jumlah qubit yang mewakili keadaan input, namun kita dapat memperhatikan waktupersiapan dari penyalinan yang identik |a〉 dan |b〉.

5.1.3 Subrutin Kuantum: DistCalc

Dengan tersedianya subrutin SwapTest kita dapat beralih ke algoritma yang dapat mengambiljarak Euclidean |a − b|2 antara dua vektor bernilai nyata a dan b. Algoritma ini dijelaskanoleh Lloyd, Mohseni dan Rebentrost [22].

Representasi data klasik sebagai keadaan kuantumInformasi klasij dalam vektor a disandikan (dikodekan) sebagai [23, 24]:

|a|−1a→ |a〉 =N∑i=1

|a|−1ai |i〉 . (5.6)

Norm keadaan kuantum dinormalisasikan dengan definisi 〈a|a〉 = |a|−2a2 = 1, yang mengarahke definisi yang benar dari keadaan kuantum. Vektor pelatihan yang berdimensi N dapatditerjemahkan menjadi n = log2N qubit. Sebagai contoh, vektor dengan 8 fitur dapatdisimpan dalam 3 qubits yang memuat 2 ∗ 2 ∗ 2 = 8 masukan untuk mengekspresikankomponen vektor ai sebagai amplitudo probabilitas.

Page 70: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Machine Learning Kuantum 57

InisialisasiInisialisasi dua keadaan kuantum:

|ψ〉 =1√2

(|0, a〉+ |1, b〉) , (5.7)

|φ〉 =1√Z

(|a| |0〉+ |b| |1〉) (5.8)

with Z = |a|2 + |b|2 .

Gunakan subrutin kuantum SwapTestEvaluasi suatu tumpang tindih 〈φ|ψ〉 menggunakan subrutin SwapTest.

Hitung jarakHitung jarak Euclidean dengan memperhatikan bahwa:

|a− b|2 = 2Z| 〈φ|ψ〉 |2 . (5.9)

Kondisi ini berlaku, karena:

〈φ|ψ〉 =1√2Z

(|a| |a〉 − |b| |b〉) (5.10)

dan menggunakan fakta bagaimana informasi klasik telah disiapkan pada Pers. (5.6) produkskalar (inner product) dapat dinyatakan sebagai:

〈φ|ψ〉 =1√2Z

(a− b) (5.11)

sehingga | 〈φ|ψ〉 |2 = 12Z|a−b|2. Selain itu, dengan menggunakan algoritma ini juga kita mudah

menghitung produk skalar (inner product) antara dua vektor yang memperhatikan bahwa:

aT b =1

2(|a|2 + |b|2 − |a− b|2) . (5.12)

Untuk ringkasnya, dalam subrutin DistCalc kita menyiapkan dua keadaan, menerapkan sub-rutin SwapTest dan ulangi prosedur itu untuk mendapatkan estimasi probabilitas yang dapatditerima. Asalkan keadaan-keadaan sudah disiapkan, subrutin SwapTest tidak tergantungpada ukuran vektor fitur. Persiapan keadaan pada subrutin DistCalc terbukti memiliki kom-pleksitas waktuO(logN) [22], yang masuk akal karena informasi klasik disandikan (dikodekan)

Page 71: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

58 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

dalam n = log2N qubit dan kita mengharapkan kompleksitas waktu proporsional. Algoritmaklasik membutuhkan O(N) untuk menghitung jarak Eucidean antara dua vektor, sehinggaada speed-up eksponensial. Pengukuran selama tes swap menyebabkan dekonherensi keadaaninput, sehingga memori kuantum harus berisi beberapa salinan keadaan input, namun itutidak mengubah kompleksitas waktu untuk N yang besar, karena jumlah keadaan persiapanakan selalu jauh lebih kecil daripada N .

5.1.4 Algoritma

Sekarang, dengan memiliki dua subrutin kuantum SwapTest dan DistCalc yang diperlukanuntuk menghitung jarak, dan subrutin optimasi kuantum GroverOptim untuk memilihcentroid terdekat dari kluster, kita siap untuk menjalankan langkah-langkah algoritmak-means kuantum.

InisialisasiPilih jumlah cluster k dan secara acak insialisasi centroids k cluster µ1, µ2, . . . , µk ∈ RN .Inisialisasi ini dapat dilakukan dengan berbagai metode yang digunakan pada algoritmak-means klasik.

Loop Utama (s): Lakukan sampai konvergensi tercapai

Loop Dalam (i): Pilih centroid cluster terdekatLoop pada seluruh sampel/data pelatihan i = {1, . . . ,M} dan untuk setiap sam-pel/data pelatihan x(i) gunakan subrutin kuantum DistCalc untuk menghitungjarak k ‖x(i) − µk‖ ke setiap centroid cluster dan kemudian gunakan subrutinkuantum GroverOptim untuk memilih indeks c(i) = {1, . . . , k} dari centroid clus-ter yang meminimumkan jarak antara sampel/data pelatihan dan centroid cluster:

c(i) := arg{

mink‖x(i) − µk‖2

}. (5.13)

Loop Dalam (j): Hitung centroid cluster baruLoop pada seluruh clusters j = {1, . . . , k} dan hitung rata-rata µj titik-titik yangdimasukkan ke cluster j. µj yang terhitung menjadi centroid cluster baru. Khusus-nya, untuk setiap centroid j kita tetapkan:

µj =1

|Cj|∑i∈Cj

x(i) (5.14)

Page 72: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Machine Learning Kuantum 59

dimana |Cj| merupakan jumlah vektor pelatihan milik cluster j, dan Cj merupakankumpulan vektor-vektor tersebut. Sebagai contoh, bayangkan bahwa ada empatsampel pelatihan milik cluster j = 2: C2 = {x(2), x(6), x(10), x(11)}. Cluster barudihitung sebagai berikut: µ2 = 1

4(x(2) + x(6) + x(10) + x(11)). Operasi ini dieksekusi

pada komputer klasik.

Konvergensi:Konvergensi tercapai ketika iterasi algoritma berikutnya tidak mengubah lokasi centroid clus-ter. Secara matematis, algoritma konvergen ketika untuk setiap klaster j = {1, . . . , k} jarakantara centroid cluster dari iterasi s+ 1 dan iterasi sebelumnya s lebih rendah daripada batasambang sembarang η:

‖µs+1j − µsj‖ < η (5.15)

5.1.5 Rangkuman

Algoritma k-means kuantum menyediakan speed-up eksponensial dibandingkan dengan algo-ritma klasik k-means. Versi Lloyd algoritma k-means yang dijalankan pada komputer klasikmemiliki kompleksitas waktu O(MNk). Kompleksitas sesuai dengan fakta bahwa untuk seti-ap sampel pelatihan kita perlu menghitung jarak antara vektor fitur dimensi N dan cluster k.Jumlah iterasi algoritma diasumsikan dapat diabaikan jika kita berurusan dengan M , N dank yang besar (tentu saja algoritma dapat melakukan banyak iterasi sebelum konvergen, tetapikita menganggap bahwa itu bukan sumber utama kompleksitas waktu). Paralelisme kuan-tum dicapai berkat perhitungan jarak antara vektor-vektor dimensi besar. Dengan demikian,kompleksitas waktu dari algoritma kuantum adalah O(Mk log(N)), yang untuk N yang san-gat besar speed-up-nya eksponensial. Perhatikan bahwa dalam komplesitas waktu berikut,prosedur minimalisasi tidak dimasukkan dalam perhitungan, sehingga untuk jumlah klusteryang besar subrutin minimalisasi kuantum menyediakan lebih speed-up lagi asalkan oraclekuantum untuk algoritma Grover disiapkan secara efisien. Namun, untuk jumlah cluster yangkecil, disarankan untuk menggunakan algoritma pengoptimalan klasik, berdasarkan Durr danHøyer algoritma minimalisasi kuantum digunakan paling baik untuk jumlah input fungsi ob-jektif yang besar. Kita juga harus ingat tentang keterbatasan algoritma minimalisasi kuantumdengan adanya derau kuantum. Peningkatan lebih lanjut dari algoritma tersedia, yaitu yangmenggunakan algoritma adiabatik kuantum dan output kuantum [22].

Page 73: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

60 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

5.2 Algoritma k-Medians Kuantum

5.2.1 Gambaran Umum

Algoritma k-medians mirip dengan algoritma k-means, namun alih-alih menetapkan centroidcluster baru dengan menghitung rata-rata, median juga dievaluasi. Algoritma k-means memi-liki kelemahan bahwa dalam beberapa kasus, rata-rata yang dihitung mungkin berada di luarwilayah yang diinginkan, sedangkan centroid cluster yang dihitung sebagai median selalu ma-suk dalam kumpulan vektor pelatihan. Hal ini tentunya memiliki implikasi lebih lanjut untukalgoritma kuantum, karena perhitungan rata-rata dieksekusi pada komputer klasik, sedangkanperhitungan median dapat diimplementasikan menggunakan subrutin MedianCalc [25].

Versi kuantum algoritma k-medians memerlukan subrutin yang sama seperti algoritma k-means kuantum: SwapTest, DistCalc dan GroverOptim serta sebagai tambahan MedianCalc,yang juga menggunakan GroverOptim. Algoritma minimalisasi kuantum GroverOptim adalahopsional penggunaan dalam kasus algoritma k-means, sedang untuk k-medians algoritma inidigunakan untuk memilih centroid terdekat dan harus digunakan saat menghitung median.

5.2.2 Subrutin Kuantum: MedianCalc

Subrutin kuantum untuk menghitung median Q dari himpunan titik dimensi N{a1, a2, . . . , am} telah diperkenalkan pada [25]. Menurut definisi, median adalah titik di dalamhimpunan {a1, a2, dots, am} yang jaraknya ke semua titik lainnya minimum. Sebagai kon-sekuensinya, untuk menghitung median kita harus mengevaluasi jumlah berikut untuk setiapai:

Si =m∑j=1

‖ai − aj‖ (5.16)

dan mengambil sebuah minimum. Indeks imin untuk Si terkecil menunjukkan sebuah medianQ = aimin . Input untuk algoritma tercantum di bawah ini:

• Himpunan titik berdimensi N {a1, a2, . . . , am},

• Oracle kuantum O digunakan dalam subrutin GroverOptim.

Di bawah, deskripsi subrutin disajikan.

Perhitungan jarak

Page 74: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Machine Learning Kuantum 61

Gunakan subrutin DistCalc untuk menghitung seluruh jarak yang diperlukan untuk penjum-lahan {S1, . . . , Sm}.

Gunakan subrutin kuantum GroverOptimGunakan subrutin minimalisasi kuantum untuk memilih Si terkecil.

MedianIndeks imin untuk Si terkecel akan menetapkan median Q = aimin . Secara umum, operasipemilihan minimal Si yang dijalankan pada komputer klasik memiliki kompleksitas waktuO(m). Dengan asumsi bahwa oracle kuantum kotak hitam O telah tersedia, subrutinGroverOptim dapat digunakan karena ini terkait dengan masalah minimialisasi. Operasipengoptimalan pada komputer kuantum memiliki kompleksitas waktu O(

√m). Terdapat

juga keuntungan dalam perhitungan jarak Euclidean antara vektor menggunakan subrutinkuantum DistCalc. Dengan asumsi bahwa dimensi vektor fitur N jauh lebih besar darijumlah vektor m kita memperoleh speed-up eksponensial tambahan seperti yang disajikandalam sub-bagian 5.1.3.

5.2.3 Algoritma

Algoritma mirip dengan algoritma k-means kuantum.

InitializePilih jumlah cluster k dan secara acak bangkitkan centroid cluster k µ1, µ2, . . . , µk ∈ RN darikumpulan sampel pelatihan x(1), x(2), . . . , x(M) .

Loop Utama (s): Lakukan sampai konvergensi tercapai

Loop Dalam (i): Pilih centroid cluster terdekatLoop pada sampel pelatihan i = {1, . . . ,M} dan untuk setiap sampel pelatihan x(i)

gunakan subrutin kuantum DistCalc untuk menghitung jarak k ‖x(i) − µk‖ untuksetiap centroid cluster dan kemudian gunakan subrutin kuantum GroverOptimuntuk memilih indeks c(i) = {1, . . . , k} dari centroid cluster yang meminimalkanjarak antara sampel pelatihan dan centroid cluster:

c(i) := arg{

mink‖x(i) − µk‖2

}. (5.17)

Loop Dalam (j): Hitung centroid cluster baruLoop pada cluster j = {1, . . . , k} dan menghitung median µj dari titik yang digo-longkan ke cluster j menggunakan subrutin kuantum MedianCalc.

Page 75: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

62 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Konvergensi:Konvergensi tercapai ketika iterasi algoritma berikutnya tidak mengubah lokasi centroid clus-ter . Untuk algoritma k-median, hal ini berarti setiap cluster j = {1, . . . , k} dalam iterasis+ 1 sama dengan iterasi sebelumnya s:

µs+1j = µsj . (5.18)

5.2.4 Rangkuman

Kompleksitas waktu dari algoritma k-median kuantum mirip dengan algoritma k-mean kuan-tum kecuali pada perbedaan kompleksitas waktu antara perhitungan median dan rata-rata.Dibandingkan dengan algoritma klasiknya, terdapat speed-up eksponensial yang berasal darisumber yang sama seperti dalam algoritma k-means kuantum dan tambahan peningkatankuadratik yang berasal dari perhitungan median pada komputer kuantum. Paralelisme kuan-tum dari MedianCalc dicapai dengan penerapan pencarian Grover dalam subrutin minimalisasikuantum. Meskipun algoritma k-median memiliki keuntungan akan kepemilikan cluster yangselalu berada di daerah yang diinginkan, perhitungan median pada komputer kuantum bisalebih lama dari perhitungan rata-rata sederhana pada komputer klasik karena evaluasi jarakyang menyeluruh. Keraguan ini dapat diabaikan jika kita mengasumsikan bahwa jarak su-dah diberikan ke algoritma k-median kuantum. Ini adalah asumsi yang sangat menarik yangdidasarkan pada fakta bahwa alih-alih memberikan satu kumpulan sampel pelatihan padaprosedur k-median, kita dapat menghitung jarak antara semua sampel pelatihan dan men-jadikannya sebagai satu-satunya input ke algoritma. Dengan demikian, algoritma k-median,dalam hal ini, lebih menarik daripada algoritma k-means jika kita hanya dapat memperolehjarak, bukannya vektor, sebagai data pelatihan.

5.3 Support Vector Machines Kuantum

5.3.1 Gambaran Umum

Algoritma support vector machines (SVM) adalah salah satu algoritma machine learning ter-bimbing yang digunakan untuk masalah diskriminasi linier. Algoritma ini didasarkan padapenemuan hyperplane yang membedakan antara dua kelas vektor fitur, dan digunakan sebagaibatas keputusan untuk klasifikasi data masa depan. SVM dirumuskan sebagai memaksimalkanjarak antara hyperplane dan titik data terdekat yang disebut vektor pendukung. Fungsi objek-tif dapat cembung atau nir-cembung tergantung pada kernel yang digunakan dalam algoritmaSVM. Fungsi-fungsi nir-cembung cenderung menyatu ke optimum lokal, sehingga SVM klasik

Page 76: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Machine Learning Kuantum 63

menyeimbangkan antara efektivitas optimasi dan akurasi prediksi. Versi kuantum supportvector machines menggunakan subrutin minimalisasi kuantum GroverOptim dan memberikankonvergensi ke optimum global untuk fungsi biaya nir-cembung [26].

5.3.2 Algoritma

Untuk penyederhanaan, anggap support vector machines linier dengan hyperplane didefinisikanoleh:

θTx− b = ±1 (5.19)

dan jarak antara dua hyperplane dinyatakan sebagai ‖2θ‖. Perhatikan bahwa x dan θ adalah

vektor, sedangkan b adalah konstanta numerik. Peminimalan θ mengarah ke batas maksimumdan penambahan pembatas akan memastikan bahwa batas mengklasifikasikan data denganbenar. Ini dapat direpresentasikan oleh masalah pengoptimalan berikut:

minθ,b

1

2‖θ‖2 (5.20)

Subyek terhadap pembatas:

y(i)(θTx(i) − b) ≥ 1 (5.21)

untuk seluruh sampel pelatihan i = {1, . . . ,M} dan y(i) = {−1, 1}. Batasan dapat dimasukkanke dalam fungsi objektif menggunakan pengganda Lagrange (Lagrange multipliers) α(i), yangmenghasilkan rumusan masalah berikut:

minθ,b

maxα(i)≥0

(1

2‖θ‖2 −

M∑i=1

[α(i)(θTx(i) − b)− 1

]). (5.22)

Perhatikan, bahwa satu-satunya nir-nol α(i) akan sesuai dengan x(i) yang menjadi vektor pen-dukung. Untuk menyelesaikan maksimalisasi fungsi objektif F terhadap α(i), kita menetapkanturunan ke nol berikut:

∂F

∂θ(i)= θ(i) − α(i)y(i)x(i) = 0

∂F

∂b=

M∑i=1

α(i)y(i) = 0 . (5.23)

Page 77: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

64 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Sebagai konsekuensinya, kita dapat mengekspresikan bobot-bobot sebagai:

θ =M∑i=1

α(i)y(i)x(i) (5.24)

dan masalah dual sebagai:

minα(i)

{1

2

∑i,j

α(i)α(j)y(i)y(j)(x(i))Tx(j) −M∑i=1

α(i)

}(5.25)

asalkan bahwa:

α(i) ≥ 0 (5.26)

untuk setiap sampel pelatihan i = 1, . . . ,M dan:

M∑i=1

α(i)y(i) = 0 . (5.27)

Masalah optimisasi dapat digeneralisasi ke fungsi kernel sembarang K(x(i), x(j)) yang mem-perkenalkan nir-linearitas pada masalah. Produk skalar dalam masalah ganda (dual) sebelum-nya diganti dengan fungsi kernel:

minα(i)

{1

2

∑i,j

α(i)α(j)y(i)y(j)K(x(i), x(j))−M∑i=1

α(i)

}. (5.28)

Sebagai contoh, kita dapat menggunakan fungsi kernel Gaussian yang dinyatakan sebagai:

K(x(i), x(j)) = exp(−γ‖x(i) − x(j)‖2

)(5.29)

sehingga perhitungan tambahan jarak Euclidean diperlukan. Sekarang, kita akan memberikandeskripsi terperinci dari setiap langkah algoritma.

Inisialisasi parameter-parameter bebas dan fungsi kernelInisialisasi nilai setiap parameter-parameter bebas yang pada fungsi kernel. Pilih fungsikernel yang sesuai dengan masalah dan hitung matriks kernel.

Representasi data dan parameter klasik sebagai keadaan kuantum

Page 78: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Machine Learning Kuantum 65

Langkah ini menyiratkan diskritisasi fungsi obyektif dan menulis komponennya ke qubit.Informasi klasik dapat direpresentasikan sebagai string biner:

x→ a = (a1, a2, . . . , ak)T (5.30)

dengan ai = {0, 1} for i = 1 . . . , k. Kemudian string biner dapat langsung diterjemahkan kedalam keadaan kuantum k qubit:

|a1a2 . . . ak〉 (5.31)

dari ruang Hilbert dimensi 2k yang dibentangkan dengan basis{|00 . . . 0〉 , |10 . . . 0〉 , . . . , |11 . . . 1〉}.

Memindai ruang fungsi tujuanSubrutin minimisasi kuantum adalah pencarian melalui ruang fungsi objektif untuk men-emukan himpunan α(i) optimal, yang diselesaikan untuk parameter θ dan b. SubrutinGroverOptim membangun superposisi dari semua input yang mungkin ke oracle kuantumO yang mewakili fungsi objektif dan menemukan minimum global untuk masalah optimasiSVM. Pengukuran dalam subrutin GroverOptim mengungkapkan solusi dengan probabilitastinggi.

5.3.3 Rangkuman

Subrutin kuantum GroverOptim mengurangi kompleksitas waktu secara kuadratik dari O(N)ke O(

√N) dan memberikan minimum global dari masalah optimisasi SVM yang diformu-

lasikan. Namun, bagian yang paling memakan waktu dari algoritma SVM adalah perhitunganmatriks kernel, yang memiliki kompleksitas waktu O(M2N) pada komputer klasik.

Batasan-batasan algoritma adalah sama seperti pada subrutin kuantum GroverOptim, mis.algoritma tidak akan memberikan hasil yang memuaskan dengan adanya derau kuantum.Meskipun, kita berasumsi bahwa oracle kuantum yang mewakili fungsi objektif SVM adalahinput untuk algoritma, kita tidak boleh mengabaikan bahwa membangun oracle seperti itu bisarumit atau tidak mungkin. Speed-up eksponensial tanpa kendala disajikan dalam algoritmakuantum lain untuk SVM yang disajikan dalam Ref. [27].

Page 79: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

66 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

5.4 Principal Component Analysis Kuantum

5.4.1 Gambaran Umum

Principal component analysis (PCA) adalah prosedur pengurangan dimensionalitas yangbanyak digunakan. Dibutuhkan vektor fitur dimensi N (mungkin berkorelasi) dari sekumpu-lan pelatihan, menerapkan transformasi ortonormal dan menghasilkan data dimensi R. Datayang dikompresi dapat digunakan lebih lanjut dalam algoritma machine learning lainnya yangmemungkinkan untuk menarik kesimpulan yang sama seperti pada data yang lengkap, namuneksekusi algoritma lebih cepat seperti dalam beberapa kasus R << N . PCA bergantungpada dekomposisi eigen dari matriks korelasi (atau kovarians), sehingga speed-up kuantumharus diperoleh di area tersebut. Subrutin estimasi fase kuantum PhaseEstim berkaitan den-gan vektor eigen dan nilai eigen dan memang digunakan dalam principal component analysiskuantum (qPCA). Algoritma qPCA secara eksponensial lebih cepat daripada algoritma klasikyang dikenal dan telah disajikan oleh Lloyd, Mohseni dan Rebentrost [28]. Algoritma menggu-nakan subrutin kuantum PhaseEstim pada eksponen matriks kerapatan ρ dan menghasilkankeadaan kuantum yang mengandung semua vektor eigen dan nilai eigen dari matriks kerapatanρ. Kita akan melihat bahwa matriks kerapatan ρ ekuivalen dengan matriks kovarians/korelasi.

5.4.2 Algoritma

De-mean dan normalisasi data klasikPertama-tama, sekumpulan vektor pelatihan dimensi N harus di-demeankan agar dapat digu-nakan dengan benar pada qPCA. Untuk setiap sampel pelatihan x(i) dengan i = {1, . . . ,M}kita mengurangi vektor dimensi N dengan rata-rata x:

x(i) → x(i) − x

x =1

M

M∑i=1

x(i) . (5.32)

Kedua, data harus dinormalisasi untuk membangun keadaan kuantum yang tepat. Kita mem-bagi setiap sampel pelatihan x(i) dengan norm vektor:

x(i) →∣∣x(i)∣∣−1 x(i) (5.33)

dengan norm didefinisikan sebagai:

|x| =

√√√√ N∑k=1

x2k . (5.34)

Page 80: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Machine Learning Kuantum 67

Kita juga dapat membakukan data untuk mendapatkan matriks korelasi, tetapi ini opsional.

Representasi data klasik sebagai keadaan kuantumKomponen-komponen xk dengan k = {1, . . . , N} dari vektor pelatihan klasik x dikodekansebagai amplitudo keadaan kuantum [23, 24]:

x→ |x〉 =N∑k=1

xk |k〉 . (5.35)

Karena sebelumnya normalisasi data klasik, keadaan kuantum didefinisikan dengan benardengan probabilitas yang berjumlah hingga 1: 〈x|x〉 = x2 = 1. Vektor pelatihan dimensi Ndapat diterjemahkan menjadi n = log2N qubit.

Representasi matriks kovarians / korelasi sebagai matriks kerapatanDengan tersedianya semua sampel pelatihan yang dikodekan sebagai kita, kita dapatmembangun keadaan campuran yang didefinisikan oleh matriks kerapatan berikut:

ρ =1

M

M∑i=1

|x(i)〉 〈x(i)| . (5.36)

Produk tensor |x(i)〉 〈x(i)| dinyatakan sebagai:

|x(i)〉 〈x(i)| =N∑k=1

N∑m=1

x(i)k x

(i)m |k〉 〈m| (5.37)

yang dalam notasi matriks ditulis sebagai berikut:

|x(i)〉 〈x(i)| =

x(i)1 x

(i)1 x

(i)1 x

(i)2 · · · x

(i)1 x

(i)N

x(i)2 x

(i)1 x

(i)2 x

(i)2 · · · x

(i)2 x

(i)N

......

...

x(i)N x

(i)1 x

(i)N x

(i)2 · · · x

(i)N x

(i)N

. (5.38)

Jadi, jumlah atas sampel pelatihan menghasilkan matriks berikut:

1

M

M∑i=1

|x(i)〉 〈x(i)| = 1

M

i x(i)1 x

(i)1

∑i x

(i)1 x

(i)2 · · ·

∑i x

(i)1 x

(i)N∑

i x(i)2 x

(i)1

∑i x

(i)2 x

(i)2 · · ·

∑i x

(i)2 x

(i)N

......

...∑i x

(i)N x

(i)1

∑i x

(i)N x

(i)2 · · ·

∑i x

(i)N x

(i)N

(5.39)

Page 81: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

68 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

yang untuk data yang didemeankan ekuivaleb dengan matriks kovarians. Matriks kerapatanyang sesuai dengan matriks korelasi dapat diperoleh jika data klasik juga dibakukan padalangkah pertama algoritma.

Eksponesial matriks kerapatanSubrutin estimasi fase kuantum PhaseEstim dapat digunakan untuk memperoleh vektoreigen dan nilai eigen yang sesuai dengan matrik kerapatan ρ. Akan tetapi, subrutin kuantumPhaseEstim memerlukan matiks unitary sebagai input, sementara secara umum matrikskerapatan ρ tidak memenuhi syarat itu. Untuk mengatasi masalah itu, kita menggunakanhukum matematika yang menyatakan bahwa U = eiH adalah unitary untuk setiap matriksHermitian H. Jelas, matriks kerapatan ρ per definisi adalah Hermitian, jadi satu-satunyayang tersisa adalah mengambil matriks kerapatan tersebut dan membangun gerbang kesatuanU = eiρ. Pengetahuan tentang bagaimana matriks kepadatan eksponensial secara fisiktidak diperlukan untuk memahami algoritma, namun sebagian besar algoritma terdiri darikemampuan untuk secara efisien menghasilkan eksponen matriks kerapatan sembarangρ. Metode ini disajikan dalam Ref. [28] dan untuk keperluan algoritma ini kita harusmenyebutkan bahwa eksponen aktual yang dihasilkan e−iρt adalah dengan faktor tambahan tdan waktu kompleksitas menghasilkan matriks ini adalah O(logN).

Dekomposisi eigen matriks kerapatanDengan tersedianya matriks unitary U = e−iρt kita dapat menerapkan subrutin estimasifase kuantum PhaseEstim. Faktor tambahan t dalam eksponen matriks unitary akan sangatmembantu karena dalam algoritma estimasi fase kuantum kita menggunakan kekuatangerbang unitary U . Vektor eigen dari ρ juga vektor eigen dari e−iρt dan nilai eigen λ dari ρhanya eksponensial e−iλt. Estimasi fase kuantum standar mengambil gerbang unitary U sertasalah satu vektor eigennya |φ〉 dan melakukan transformasi:

|0〉⊗n |φ〉 → |2nθ〉 |φ〉 (5.40)

dengan fase θ pada qubit kontrol yang memungkinkan untuk menghitung nilai eigen λ = e2πiθ

dan n yang menyatakan jumlah qubit kontrol yang menyimpan perkiraan fase θ. AlgoritmaqPCA menggunakan algoritma estimasi fase yang sedikit berbeda, yaitu dengan menerapkanmatriks unitary U = e−iρt ke matriks kerapatan ρ bukan ke vektor eigen. Untuk melihat carakerjanya, pertama-tama kita menyajikan hasil penerapan matriks unitary pada salah satu

Page 82: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Machine Learning Kuantum 69

keadaan murni |x(i)〉 dari keadaan campuran yang dideskripsikan oleh matriks kerapatan ρ:

e−iρt |x(i)〉 =M∑j=1

e−iλ(j)t |φ(j)〉 〈φ(j)|x(i)〉

=M∑j=1

e−iλ(j)t 〈φ(j)|x(i)〉 |φ(j)〉

=M∑j=1

c(ij) |φ(j)〉 (5.41)

dengan c(ij) = e−iλ(j)t 〈φ(j)|x(i)〉. Maka output dari algoritma estimasi fase kuantum adalah

sebuah superposisi:

|0〉⊗n |x(i)〉 →M∑j=1

c(ij) | ˜λ(j)〉 |φ(j)〉 . (5.42)

Karena fakta bahwa kita menggunakan matriks unitary e−iρt dengan nilai eigen e−iλ(j)t,

keadaan kontrol setelah subrutin PhaseEstim sama dengan λ(i) = 2n λ(i)t2π

dengannya kita da-pat secara langsung menghitung nilai eigen λ(i). Keadaan output dapat juga ditulis dalamrepresentasi matriks kerapatan sebagai:

η(i) =M∑j=1

|c(ij)|2 | ˜λ(j)〉 〈 ˜λ(j)| ⊗ |φ(j)〉 〈φ(j)| . (5.43)

Dalam algoritma qPCA kita menerapkan logika yang sama, tetapi alih-alih keadaan murni|x(i)〉 kita menggunakan keadaan campuran ρ yang dideskripsikan oleh matriks kerapatan1M

∑Mi=1 |x(i)〉 〈x(i)|. Pembobotan output yang mungkin η(i) dari algoritma estimasi fase dengan

probabilitas keadaan campuran 1M

menghasilkan matriks kerapatan akhir:

η =M∑j=1

M∑i=1

1

M|c(ij)|2 | ˜λ(j)〉 〈 ˜λ(j)| ⊗ |φ(j)〉 〈φ(j)|

=M∑j=1

λ(j) | ˜λ(j)〉 〈 ˜λ(j)| ⊗ |φ(j)〉 〈φ(j)| . (5.44)

Page 83: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

70 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

Koefisien λ(j) diturunkan sebagai berikut:

M∑i=1

1

M|c(ij)|2 =

M∑i=1

1

Me−iλ

(j)t 〈φ(j)|x(i)〉 〈x(i)|φ(j)〉 eiλ(j)t

= 〈φ(j)|

(M∑i=1

1

M|x(i)〉 〈x(i)|

)|φ(j)〉

= 〈φ(j)| ρ |φ(j)〉= λ(j) . (5.45)

Untuk ringkasnya, perbedaannya adalah bahwa dalam algoritma estimasi fase standar inputadalah vektor eigen |φ〉 diketahui, sedangkan dalam subrutin PhaseEstim yang digunakanoleh qPCA, input ρ adalah keadaan campuran dengan M vektor eigen tidak dikenal |φ(i)〉.Kompleksitas waktu dari algoritma estimasi fase kuantum sebanding dengan eksponensialmatriks kerapatan sehingga tidak meningkatkan kompleksitas waktu dari algoritma. Speed-upkuantum berasal dari representasi data klasik sebagai qubit.

Pengambilan SampelPengambilan sampel dari keadaab akhir yang diturunkan dalam Pers. (5.44) memungkinkanuntuk mengungkapkan fitur vektor eigen. Asumsikan, bahwa komponen utama R cukupmenggambarkan varians data atau ekuivalen jumlah nilai eigen yang sesuai dengan komponenutama ini mendekati 100%. Pengambilan sampel dari keadaan akhir menghasilkan vektoreigen |φ(j)〉 dan nilai eigen yang sesuai λ(j) dengan probabilitas λ(j). Dengan kata lain,persiapkan m salinan keadaan akhir, kita akan mengantisipasi bahwa vektor eigen φ(j)

akan disampel dengan rata-rata mλ(j) kali. Dalam kasus m << R dan asalkan bahwapembangunan eksponen ρ memiliki kompleksitas O(logN), kompleksitas waktu pengambilansampel adalah O(R logN). Komponen utama tersampel dalam keadaan kuantum kemudiandigunakan untuk menghitung skor atau untuk mengungkapkan fitur lainnya.

Komponen-Komponen Utama dan SkorMetode berikut diusulkan untuk mengungkapkan skor. Skor dapat diekstraksi dari komponen

Page 84: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Machine Learning Kuantum 71

utama tersampel |φ(j)〉 dengan menghitung proyeksi vektor eigen pada vektor pelatihan:

〈x(i)|φ(j)〉 =N∑k=1

N∑m=1

x(i)k φ

(j)m 〈k|m〉

=N∑k=1

x(i)k φ

(j)k

= s(j)i (5.46)

untuk setiap i = {1, . . . ,M} vektor pelatihan yang dikodekan dalam keadaan kuantum dandengan demikian menciptakan skor untuk komponen utama ke-j:

S(j) =[s(j)1 , s

(j)2 , . . . , s

(j)M

]T(5.47)

Tumpang tindih (overlap) 〈x(i)|φ(j)〉 dapat dihitung dengan subrutin kuantum SwapTest. Skorpertama R yang sesuai dengan nilai eigen tertinggi mewakili data yang terkompresi dan dapatdigunakan dalam algoritma machine learning lainnya. Selain itu, kita dapat mengungkapkanfitur tambahan vektor eigen sampel |φ(j)〉 dengan mengukur nilai ekspektasi 〈φ(j)|M |φ(j)〉 un-tuk sebuah observable sembarang M . Algoritma machine learning lainnya bisa dipercepat jikamereka dapat menggunakan fitur-fitur ini dalam pengaturannya. Perhatikan bahwa algoritmaqPCA efisien jika R << N , yang berarti bahwa sejumlah kecil komponen utama diperlukanuntuk menjelaskan variance dari data. Dalam kasus lain kompleksitas waktu dari algoritmamirip dengan yang klasik.

5.4.3 Rangkuman

Algoritma qPCA didasarkan pada dekomposisi eigen dari matriks kerapatan ρ dan dijalankanoleh subrutin PhaseEstim. Pengambilan sampel dari keadaan akhir memberikan kita kom-ponen utama dalam keadaan kuantum yang darinya kita dapat menghitung skor atau men-gungkapkan fitur-fitur vektor eigen lainnya. Kompleksitas waktu dari algoritma ini terdiridari eksponensialisasi matriks kerapatan ρ yaitu O(logN) dan pengambilan sampel keadaanakhir yang menghasilkan kompleksitas waktu keseluruhan O(R logN). Ini adalah speed-upeksponensial jika dibandingkan kompleksitas waktu O(N) untuk PCA klasik. Speed-up qP-CA hanya berlaku jika data dapat dijelaskan oleh sejumlah kecil komponen utama. Speed-upkuantum terutama disebabkan oleh representasi data klasik sebagai qubit.

Page 85: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

72 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

5.5 Neural Networks Kuantum

5.5.1 Gambaran Umum

Algoritma neural networks klasik menggunakan lapisan neuron yang terhubung dan memilihbobot di setiap lapisan sehingga fungsi biaya diminimalkan. Neuron direpresentasikan olehfungsi aktivasi seperti fungsi sigmoid atau softmax, yang memperkenalkan nir-linieritas pa-da algoritma. Algoritma neural networks banyak digunakan dalam pengenalan pola, masalahklasifikasi dan prediksi deret waktu (time series) keuangan di mana algoritma tersebut menco-ba mempelajari ketergantungan nir-linear antara data input dan output. Saat ini, belum adaversi kuantum spesifik dari algoritma, banyak penelitian terkonsentrasi pada neural networksHopfield, yang lebih dekat dengan ilmu saraf daripada machine learning. Dalam sub-bab ini,neural networks feedforward kuantum (qNN) disajikan karena lebih mudah dalam penjelasan-nya. Selain itu, neural networks feedforward klasik sangat populer dalam aplikasi machinelearning. Algoritma qNN didasarkan pada karya Wan et al. [29] dan merupakan generalisasilangsung dari neural networks feedforward klasik. Logika di balik algoritma adalah mengubahkomponen klasik dari neural networks menjadi komponen kuantum secara bertahap.

5.5.2 Algoritma

Neural Network Feedforward KlasikKita mulai dengan neural network feedforward klasik. Untuk sederhananya, kita asumsikanbahwa vektor input hanya dua dimensi N = 2, dikarakteristikan dengan label klasifikasi ydan hanya ada satu lapisan tersembunyi dengan satu neuron. Ini dapat direpresentasikan olehgraph:

Gambar 5.2. Neural network feedforward klasik

dengan wi,l menunjukan bobot input ke-i ke lapisan l dan fungsi aktivasi dinyatakan denganF . Selanjutnya, dua masalah muncul sehubungan dengan komputasi kuantum:

Page 86: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Machine Learning Kuantum 73

• Operasi kuantum harus reversibel dan unitary. Fungsi aktivasi klasik F tidak reversibelkarena fungsi ini memeras vektor dua dimensi menjadi bilangan tunggal y,

• Keadaan kuantum dikalikan dengan bobot tidak akan memiliki implikasi praktis karenakeadaan selalu dinormalisasi.

Neural Network Feedforward ReversibelUntuk memperbaiki ireversibilitas neural network klasik, variabel tambahan yang dinotasikanoleh 0 ditambahkan ke vektor input dan fungsi aktivasi F diubah ke output x1, x2 dan y.Untuk ringkasnya, fungsi F memiliki tiga input dan tiga output yang membentuk operasireversibel. Gambar berikut menyajikan pendekatan:

Gambar 5.3. Neural network Feedforward klasik reversibel.

Representasi data klasik dalam keadaan kuantumKita ingin merepresentasikan vektor fitur klasik dimensi-2 x = [x1, x2]

T bersama-sama denganlabel y sebagai keadaan kuantum. Itu bisa dicapai dengan merepresentasikan data klasiksebagai string biner:

x1 →[a1,1 a1,2 . . . a1,k

]Tx2 →

[a2,1 a2,2 . . . a2,k

]Ty →

[b1 b2 . . . bm

]T(5.48)

dengan ai,j = {0, 1} untuk i = 1, 2 and j = 1 . . . , k serta bp = {0, 1} untuk p = 1 . . . ,m.Kita berasumsi bahwa setiap entri vektor fitur dapat dinyatakan dalam k bits dan label dapatdiwakili oleh m bits. Kemudian String biner dapat secara langsung diterjemahkan ke dalam

Page 87: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

74 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

keadaan k qubit untuk entri vektor fitur dan keadaan m qubit untuk label:

|x1〉 = |a1,1〉 ⊗ |a1,2〉 ⊗ · · · ⊗ |a1,k〉|x2〉 = |a2,1〉 ⊗ |a2,2〉 ⊗ · · · ⊗ |a2,k〉|y〉 = |b1〉 ⊗ |b2〉 ⊗ · · · ⊗ |bm〉 (5.49)

Cara yang berbeda dapat dipilih untuk merepresentasikan data klasik dalam keadaankuantum dan efisiensi algoritma dapat berbeda untuk setiap metode yang diterapkan.

Neural network feedforward kuantumLangkah terakhir adalah mengubah fungsi reversibel F menjadi gerbang kuantum unitary U ,yang input dan outputnya adalah keadaan kuantum. Gambar di bawah ini menggambarkanpendekatan terakhir:

Gambar 5.4. Neural network feedforward kuantum

Matriks unitary sembarang yang bekerja pada n qubit dapat direpresentasikan sebagai:

U = exp

[i

(3,...,3∑

k1,...,kn=0,...,0

αk1,...,kn(σk1 ⊗ · · · ⊗ σkn)

)](5.50)

dimana σk adalah matriks Pauli untuk k = {1, 2, 3} dan σ0 adalah hanya matriks identitas2x2. Parameter αk1,...,kn adalah parameter yang dapat dilatih yang dapat diperoleh denganmeminimalkan fungsi biaya. Ini adalah pendekatan yang berbeda dibandingkan denganNeural network klasik karena fungsi aktivasi (bukannnya bobot numerik) yang diwakili olehmatriks unitary dapat dilatih. Representasi dapat dengan mudah digeneralisasikan ke matriksunitary yang bekerja pada sejumlah qubit apa pun.

Minimalisasi fungsi biaya

Page 88: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Algoritma-Algoritma Machine Learning Kuantum 75

Fungsi biaya C diusulkan sebagai jumlah lapisan atas pada M sampel pelatihan (dikalikandengan −1 untuk mencapai solusi dengan minimalisasi). Ini ditulis sebagai:

C = −M∑j=1

〈y(j)model|y(j)〉 . (5.51)

Y(j)model yang dimodelkan bergantung pada parameter matriks unitary αk1,...,kn , sehingga dalam

setiap iterasi optimasi, masalah berkurang menjadi pemilihan nilai yang tepat αk1,...,kn , mem-bangun gerbang kuantum baru U dan menghitung nilai fungsi biaya dengan mengambil lapisanatas 〈y(j)model|y(j)〉 untuk setiap sampel pelatihan j. Penurunan gradien dapat dipilih sebagaiprosedur minimalisasi, pembaruan parameter αk1,...,kn sebagai berikut:

δαk1,...,kn = −η ∂C

∂αk1,...,kn(5.52)

dengan parameter pembelajaran η yang mengontrol seberapa besar koefisien-koefisien berubahuntuk setiap pembaruan (update). Jelas, versi diskrit penurunan gradien harus digunakan.Alternatif, kita gunakan definisi fungsi biaya dari makalah [29], sebagai berikut:

C =M∑j=1

3∑i=1

fi,j(〈σi〉model − 〈σi〉)2 (5.53)

di mana fi,j adalah parameter riil nir-negatif dan 〈σi〉 adalah nilai ekspektasi matriks Paulipada output individual y(j). Matriks Pauli σ1, σ2, σ3 masing-masing dapat diamati dari spinpartikel dalam arah x, y dan z, berturutan. Dengan demikian, fungsi biaya menyatakanperbedaan antara label yang dimodelkan dan label aktual dengan mengukur observabel pa-da keadaan y

(j)model dan y(j) dan membandingkan hasil rata-ratanya. Semakin banyak label

yang dimodelkan dan label aktual berbeda, semakin besar perbedaan antara nilai ekspektasi,sehingga ini menjadi definisi yang valid dari fungsi biaya.

5.5.3 Rangkuman

Manfaat neural networks kuantum dibandingkan dengan algoritma klasik belum dapat dis-pesifikasikan. Potensi speed-up dapat berasal dari superposisi, namun penilaian kecepatanbelajar matriks unitary masih sulit. Algoritma kuantum yang disajikan, pada kenyataannya,adalah klasik dalam hal parameter pembelajaran, sehingga kemungkinan peningkatan lebihlanjut dapat dicapai dengan memasukan parameter αk1,...,kn dalam keadaan kuantum yangmemungkinkan untuk superposisi. Ada juga kekhawatiran bagaimana pembelajaran matriks

Page 89: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

76 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

unitary akan diimplementasikan secara eksperimental. Namun demikian, algoritma neural net-works kuantum adalah bidang yang menarik dan menjanjikan dari algoritma machine learningkuantum yang saat ini sedang dikembangkan.

Page 90: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

BAB 6

Penutup

Buku ini menyajikan elemen-elemen kunci yang diperlukan untuk memahami algoritma pem-belajaran mesin (machine learning) kuantum. Teori dasar kuantum, perhitungan kuantumdan algoritma kuantum membentuk dasar yang tepat untuk pengenalan algoritma pembela-jaran mesin (machine learning)kuantum. Penulis mencoba untuk menyederhanakan dan se-cara efisien meneruskan pengetahuan dengan mengelompokkan algoritma kuantum ke dalamsubrutin kuantum dan menjelaskannya secara bertahap dengan contoh. Buku ini berfokuspada algoritma pembelajaran mesin (machine learning) terpilih yang terbimbing (supervised)dan mandiri (unsupervised) dan dengan hati-hati menjelaskan versi kuantumnya. Namundemikian, buku ini tidak berarti tinjauan lengkap, algoritma kuantum lebih lanjut seper-ti pohon keputusan kuantum [30], metode Bayesian kuantum [31, 32] dan memori asosi-atif kuantum [33] tersedia di literatur. Selain itu, teknik anil kuantum diimplementasikanoleh komputasi kuantum adiabatik dikembangkan [22, 34] dan dapat digunakan sebagai al-ternatif untuk pendekatan rangkaian kuantum. Sebagian besar algoritma yang disajikandalam buku ini memberikan menunjukan kecepatan yang signifikan dibandingkan dengan al-goritma klasiknya, menjadikannya bidang komputasi kuantum yang menjanjikan yang dapatmeningkatkan bidang pembelajaran mesin (machine learning. Di sisi lain, kita harus ingatbahwa algoritma rangkaian kuantum yang disajikan dalam buku ini sensitif terhadap deko-herensi (decoherence), sehingga setiap gangguan (noise) yang ada dalam sistem kuantumdapat menghancurkan manfaat komputasi kuantum. Meskipun penilaian kompleksitas waktudilakukan, waktu eksekusi yang tepat tidak diketahui sampai algoritma akan dijalankan pa-da komputer kuantum. Singkatnya, meskipun ada banyak pekerjaan yang diperlukan dalamteori dan implementasi, algoritma pembelajaran mesin (machine learning) kuantum dapatmemecahkan masalah yang dihadapi para ilmuwan data saat ini dan manajemen perusahaandalam hal waktu dan sumber daya komputasi. Semoga buku ini hanyalah langkah lain untukmencapai tujuan ini dengan membuat pengetahuan tentang algoritma kuantum lebih mudah

Page 91: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

78 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

diakses.

Page 92: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

DAFTAR PUSTAKA

[1] M. Hilbert and P. Lopez, The world’s technological capacity to store, communicate, andcompute information, Science, 332(6025) (2011) pp. 60–65.

[2] IBM Builds Its Most Powerful Universal Quantum Computing Processors,https://www-03.ibm.com/press/us/en/pressrelease/52403.wss (2017).

[3] L. de Broglie, XXXV. A tentative theory of light quanta, Phil. Mag 47(278) (1924)pp. 446–458.

[4] C. J. Davisson, L. H. Germer, Reflection of Electrons by a Crystal of Nickel, Proceedingsof the National Academy of Sciences of the United States of America 14(4) (1928) pp. 317–322.

[5] A. Einstein, Concerning an Heuristic Point of View Toward the Emission and Transfor-mation of Light, Ann. Phys. 17 (1905) 132.

[6] M. Born, The Born Einstein Letters (Walker and Company, New York, 1971).

[7] D. J. Griffiths, Introduction to Quantum Mechanics (Cambridge University Press, 2016).

[8] Quirk, http://algassert.com/quirk.

[9] J. R. Johansson, P. D. Nation, and F. Nori, QuTiP 2: A Python framework for thedynamics of open quantum systems, Comp. Phys. Comm. 184 (2013) 1234.

[10] L. K. Grover, A fast quantum mechanical algorithm for database search, arXiv preprintquant-ph/9605043 (1996).

[11] C. H. Bennett, E. Bernstei, G. Brassard, U. Vazirani, The strengths and weaknesses ofquantum computation, SIAM Journal on Computing, 26(5) (1997) pp. 1510–1523.

[12] P. J. Coles et al. Quantum Algorithm Implementations for Beginners, arXiv:1804.03719(2018).

Page 93: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

80 MACHINE LEARNING KUANTUM UNTUK SAINS DATA

[13] C. Durr and P. Høyer, A quantum algorithm for finding the minimum, arXiv preprintquant-ph/9607014 (1996).

[14] A. Ahuja and S. Kapoor, A Quantum Algorithm for finding the Maximum, arXiv preprintquant-ph/9911082 (1999).

[15] W. P. Baritompa, D. W. Bulger and G. R. Wood, Grover’s Quantum Algorithm Appliedto Global Optimization, SIAM Journal on Optimization, 15(4) (2005) pp. 1170–1184

[16] E. Farhi, J. Goldstone and S. Gutmann, A Quantum Approximate Optimization Algo-rithm, arXiv preprint quant-ph/1411.4028 (2014).

[17] G. Verdon, M. Broughton and J. Biamonte, A quantum algorithm to train neural networksusing low-depth circuits, arXiv preprint quant-ph/1712.05304 (2017).

[18] L. Hales and S. Hallgren, An improved quantum Fourier transform algorithm and appli-cations, Proceedings of the 41st Annual Symposium on Foundations of Computer Science,(2000) pp. 515.

[19] R. Cleve, A. Ekert, C. Macchiavello and M. Mosca, Quantum algorithms revisited, Pro-ceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences, (1998)pp. 454.

[20] C. D. Manning, P. Raghavan and H. Schutze, Introduction to Information Retrieval(Cambridge University Press, New York, 2008).

[21] E. Aımeur, G. Brassard, and S. Gambs, Machine learning in a quantum world, Advancesin Artificial Intelligence, Springer (2006) pp. 431-442.

[22] S. Lloyd, M. Mohseni, and P. Rebentrost, Quantum algorithms for supervised and unsu-pervised machine learning, arXiv preprint 1307.0411 (2013).

[23] P. Niemann, R. Datta, and R. Wille, Logic Synthesis for Quantum State Generation,IEEE 46th International Symposium on Multiple-Valued Logic, Springer (2016) pp. 247-252.

[24] M. Mottonen, J. Vartiainen, V. Bergholm, and M. M. Salomaa, Transformation of quan-tum states using uniformly controlled rotations, Quantum Information and Computation,5 (2005) pp. 467-473.

[25] E. Aımeur, G. Brassard, and S. Gambs, Quantum clustering algorithms, Proc. 24thinternational conference on machine learning, (2007) pp. 1-8.

Page 94: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

DAFTAR PUSTAKA 81

[26] D. Anguita, S. Ridella, F. Rivieccio and R. Zunino, Quantum optimization for trainingsupport vector machines, Journal Neural Networks - 2003 Special issue: Advances inneural networks research, 16(5-6) (2003) pp. 763–770.

[27] P. Rebentrost, M. Mohseni, and S. Lloyd, Quantum support vector machine for big dataclassification, arXiv preprint 1307.0471 (2013).

[28] S. Lloyd, M. Mohseni, and P. Rebentrost, Quantum principal component analysis, arXivpreprint 1307.0401 (2013).

[29] K. H. Wan, O. Dahlsten, H. Kristjnsson, R. Gardner and M.S. Kim, Quantum generali-sation of feedforward neural networks, arXiv preprint 1612.01045 (2016).

[30] S.Lu and S. Braunstein, Quantum decision tree classifier, Quantum Information Process-ing, 13(3) (2014) pp. 757–770.

[31] M. Guta and W. Kot lowski, Quantum learning: asymptotically optimal classification ofqubit states, New Journal of Physics, 12(12) (2010) 123032.

[32] M. Sasaki, A. Carlini, and R. Jozsa, Quantum template matching, Physical Review A,64(2) (2001) 022317.

[33] C. Trugenberger, Quantum pattern recognition, Quantum Information Processing, 1(6)(2002) pp. 471–493.

[34] P. Wittek, Quantum Machine Learning: What Quantum Computing Means to DataMining (Academic Press, 2014).

Page 95: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan
Page 96: amutiara.staff.gunadarma.ac.idamutiara.staff.gunadarma.ac.id/.../4333/bukuMachineLearningKuant… · MACHINE LEARNING KUANTUM UNTUK SAINS DATA Penyusun : Achmad Benny Mutiara dan

Penerbit Gunadarma