• Tidak ada hasil yang ditemukan

KONSTRUKSI ALGORITME GREEDY SVP LLL SAIFUL KHAIR

N/A
N/A
Protected

Academic year: 2021

Membagikan "KONSTRUKSI ALGORITME GREEDY SVP LLL SAIFUL KHAIR"

Copied!
70
0
0

Teks penuh

(1)

KONSTRUKSI ALGORITME GREEDY SVP LLL

SAIFUL KHAIR

SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR

BOGOR 2014

(2)
(3)

PERNYATAAN MENGENAI TESIS DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa tesis berjudul Konstruksi Algoritme Greedy SVP LLL adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.

Bogor, Februari 2014 Saiful Khair NIM G551110111

(4)

RINGKASAN

SAIFUL KHAIR. Konstruksi Algoritme Greedy SVP LLL. Dibimbing oleh SUGI GURITMAN dan BIB PARUHUM SILALAHI.

Latis merupakan himpunan semua kombinasi linier bilangan bulat dari himpunan vektor yang bebas linier dalam ruang ℝ𝑛. Vektor yang bebas linier tersebut disebut basis dari latis. Sebarang latis dapat dibangkitkan dari banyak basis, dan basis-basis tersebut memiliki kardinalitas yang sama.

Masalah yang paling mendasar dan terkenal di dalam latis adalah masalah vektor terpendek (Shortest Vector Problem/SVP). SVP merupakan masalah pelacakan vektor terpendek dalam suatu latis dengan basis yang ekivalen. Dalam dimensi dua, masalah SVP telah terselesaikan secara optimal dengan menggunakan algoritme Gauss. Untuk dimensi lebih dari dua, H. W. Lenstra, L. Lenstra, dan L. Lovasz mengusulkan algoritme LLL untuk menghitung aproksimasi dari vektor terpendek dalam latis tersebut. Solusi basis tereduksi yang diperoleh dari algoritme LLL masih merupakan hampiran dan memiliki waktu eksekusi (running time) polinomial untuk sebarang dimensi yang cukup besar.

Pada tahun 1994, Schnoor dan Euchner membuat varian baru dari algoritme LLL yang dinamakan algoritme LLL penyisipan dalam. Algoritme ini merupakan hasil modifikasi dari algoritme LLL pada syarat penukaran untuk meningkatkan ketepatan output basis tereduksi LLL dan mengaplikasikannya pada masalah penjumlahan subhimpunan.

Tujuan dari penelitian ini adalah: (1) Merekonstruksi algoritme LLL dan algoritme LLL penyisipan dalam dengan menggunakan pendekatan geometrik. (2) Konstruksi algoritme greedy SVP LLL. (3) Mengimplementasikan ketiga algoritme dalam bahasa pemrograman simbolik, dan melakukan perbandingan secara eksperimental.

Suatu basis ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] dalam ℝ𝑚 disebut tereduksi LLL dengan

parameter 𝛿 jika memenuhi: (a) |𝜇𝑗𝑖| ≤ 1

2, untuk setiap bilangan bulat 𝑖, 𝑗 dengan

1 ≤ 𝑖 < 𝑗 < 𝑛. (b) 𝛿‖𝜋𝑗(𝐛𝑗)‖2 ≤ ‖𝜋𝑗(𝐛𝑗+1)‖2, untuk 𝑗 = 1, 2, … , 𝑛 − 1, dimana 𝛿 merupakan parameter reduksi yang bernilai real dengan 1

4< 𝛿 < 1. Syarat

pertama adalah basis tereduksi 𝛿 “hampir ortogonal” dan dalam komputasinya syarat ini dapat dicapai dengan menggunakan ortogonalisasi Gram-Schmidt. Sedangkan pada syarat kedua disebut syarat penukaran, atau disebut juga kondisi Lovasz. Dengan menggunakan kedua syarat ini, dibentuklah algoritme LLL. Kemudian, Schnoor dan Euchner memodifikasi algoritme LLL pada syarat penukaran yang disebut dengan algoritme LLL penyisipan dalam, dimana syarat penukaran didasarkan pada perbandingan vektor proyeksi latis pada pada komplemen ortogonal [𝐛1, 𝐛2, … , 𝐛𝑘−1]⊥ setelah reduksi ke-j. Untuk konstruksi

algoritme greedy SVP LLL, syarat penukarannya adalah membandingkan secara murni panjang vektor latis 𝐛𝑗 dengan vektor latis 𝐛𝑖 untuk 𝑖 = 1,2, … , 𝑗 − 1 . Proses penyisipan vektor hasil reduksi setelah terjadi penukaran juga dilakukan dengan metode greedy. Kemudian, dihitung banyaknya operasi aritmetik yang terlibat dalam algoritme greedy SVP LLL untuk analisis lebih lanjut.

(5)

Hasil pengujian eksperimental ketiga algoritme pada ukuran matriks tertentu menunjukkan bahwa dengan meningkatnya ukuran matriks, waktu eksekusi ketiga program mengalami peningkatan. Hasil perbandingan secara eksperimental juga menunjukkan bahwa dengan menggunakan 𝛿 =3

4 untuk algoritme LLL dan

Algoritme LLL penyisipan dalam, serta algoritme greedy SVP LLL yang merupakan varian baru yang telah dibuat tanpa menggunakan parameter 𝛿, mengungguli dua algoritme lain dalam segi kecepatan dengan output yang sama. Kata kunci: algoritme LLL, algoritme LLL penyisipan dalam, algoritme greedy

(6)

SUMMARY

SAIFUL KHAIR. The Construction of Greedy SVP LLL Algorithm. Supervised by SUGI GURITMAN and BIB PARUHUM SILALAHI.

A lattice is a set of all integer linear combination of a set of linearly independent vectors in ℝ𝑛. The independent vectors are called bases of lattice. Any lattice can be generated from many bases, and these bases have the same cardinality.

In the lattice, the most fundamental and renowned problem is the Shortest Vector Problem (SVP). SVP is a tracking problem of the shortest nonzero vector in a lattice with equivalent bases. In two dimensions, SVP problem has resolved exactlyby Gauss’ algorithm. When the lattice dimension is higher than two, A.K. Lenstra, H.W. Lenstra and L. Lovasz gave a LLL algorithm to compute approximation of nonzero shortest vector in the lattice. Reduced bases solution obtained from LLL algorithm still be an approximation and has polynomial running time of arbitrary dimension which large enough.

In 1994, Schnoor and Euchner modified this LLL algorithm as a new variant which later was named deep insertion LLL algorithm. This algorithm is a modified version of the LLL algorithm to the terms of the exchange step to improve the accuracy of output of LLL reduced bases and applying it to the subset sum problem.

The purpose of this research are: (1) Reconstruct the LLL algorithm and deep insertion LLL algorithm using a geometric approach. (2) Construct a greedy SVP LLL algorithm. (3) Implement the three algorithms in a symbolic programming language, and evaluate them experimentally.

A bases ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] in ℝ𝑚 is called reduced LLL with parameter 𝛿

if satisfies: (a) |𝜇𝑗𝑖| ≤1

2, for every integer 𝑖, 𝑗 with 1 ≤ 𝑖 < 𝑗 < 𝑛.

(b) 𝛿‖𝜋𝑗(𝐛𝑗)‖2 ≤ ‖𝜋𝑗(𝐛𝑗+1)‖2, for 𝑗 = 1, 2, … , 𝑛 − 1, where 𝛿 is a reduced parameter of real numbers with 1

4 < 𝛿 < 1. The first requirement is the reduced

basis 𝛿 must “nearly orthogonal” and in its computation case, this requirement can be reached out by using the Gram-Schmidt’s orthogonalization. While the second requirement is called exchange step, or used to called as Lovasz condition. By using both of these requirements, then they establish the LLL algorithm. Then, Schnoor and Euchner modify the LLL algorithm based on the requirements of the exchange step called the deep insertion LLL algorithm, where the exchange step is based on the comparison of the projected vector in orthogonal complement [𝐛1, 𝐛2, … , 𝐛𝑘−1]⊥ after j-th reduction. To construct greedy SVP LLL algorithm,

the requirements of the exchange step is based on purely by comparing norm of lattice 𝐛𝑗 with norm lattice 𝐛𝑖 for 𝑖 = 1, 2,3 … , 𝑗 − 1. The process of insertion

reduced vector after the exchange step also has done greedily. Then, we calculate the number of arithmetic operation in greedy SVP LLL algorithm for further analysis.

The result of our exprimentation for three algorithms on the certain matrix size shows that the running time of the three algorithms increases propotional to the size of the matrix. The result also shows that by using 𝛿 =3

(7)

algorithm and the deep insertion LLL algorithm, and the greedy SVP LLL algorithm which is a new variant made by using no parameter of 𝛿, outperform of the other of two previous algorithm in terms of speed with the same output. Keywords: LLL algorithm, LLL deep insertion algorithm, greedy SVP LLL

(8)

© Hak Cipta Milik IPB, Tahun 2014

Hak Cipta Dilindungi Undang-Undang

Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau tinjauan suatu masalah; dan pengutipan tersebut tidak merugikan kepentingan IPB

Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis ini dalam bentuk apa pun tanpa izin IPB

(9)

Tesis

sebagai salah satu syarat untuk memperoleh gelar Magister Sains

pada

Program Studi Matematika Terapan

KONSTRUKSI ALGORITME GREEDY SVP LLL

SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR

BOGOR 2014

(10)
(11)

Judul Tesis : Konstruksi Algoritme Greedy SVP LLL Nama : Saiful Khair

NIM : G551110111

Disetujui oleh Komisi Pembimbing

Dr Sugi Guritman Ketua

Dr Ir Bib Paruhum Silalahi, MKom Anggota

Diketahui oleh

Ketua Program Studi Matematika Terapan

Dr Jaharuddin MS

Dekan Sekolah Pascasarjana

Dr Ir Dahrul Syah, MScAgr

Tanggal Ujian: 30 Desember 2013

(12)

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah SWT atas segala karunia-Nya sehingga tesis ini dapat diselesaikan. Tema yang dipilih dalam penelitian ini tentang masalah pada lattice theory. Tesis ini merupakan syarat untuk menyelesaikan studi pada Program Magister Matematika Terapan, Departemen Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.

Dalam proses penulisan tesis ini, penulis menyadari bahwa telah memperoleh dorongan dan bantuan baik moril maupun materil dari berbagai pihak untuk melengkapi keterbatasan-keterbatasan yang dimiliki penulis. Untuk itu, melalui kesempatan ini penulis ingin mengucapkan terima kasih dan rasa hormat yang sebesar-besarnya pada:

1. Bapak Sugi Guritman, Bapak Bib Paruhum Silalahi dan Bapak Fahren Bukhari selaku pembimbing dan penguji yang telah memberi bimbingan, masukan, dorongan, nasihat serta segala bantuan sehingga tesis ini dapat terselesaikan.

2. Ayahanda dan Ibunda tercinta, Bapak H. Umar Sage (Alm.) dan Ibu Siti Raihanun, Kakak Muzayyin Habiby, Adik Nurhidayati, Adik Eli, Paman H. Nasir serta keluarga besar yang telah memberi dukungan moril dan materil selama masih kuliah dan penulisan tesis ini.

3. Semua staf dan dosen pengajar Departemen Matematika yang telah memberikan ilmu yang bermanfaat selama menuntut ilmu di Departemen Matematika.

4. Sahabat dan teman-teman mahasiswa S2 departemen matematika yang selalu memberi semangat, tantangan, perhatian, bantuan, inspirasi, doa, dan kasih sayang.

5. Semua pihak yang telah membantu dalam kelancaran penulisan tesis ini, yang tidak disebutkan namanya. Semoga Allah SWT membalas jasa dan jerih payah Bapak/Ibu serta saudara-saudari yang telah diberikan bagi penulis dalam menyelesaikan tesis ini.

Penulis menyadari bahwa penulisan tesis ini masih jauh dari kesempurnaan dan penulis sangat menghargai kritik dan saran yang bersifat membangun dari pembaca.

Harapan penulis semoga tesis ini dapat bermanfaat bagi pihak-pihak yang membutuhkan. Terima kasih.

Bogor, Februari 2014 Saiful Khair

(13)

DAFTAR ISI

DAFTAR TABEL vi DAFTAR GAMBAR vi DAFTAR LAMPIRAN vi 1 PENDAHULUAN 1 Latar Belakang 1 Tujuan Penelitian 2 2 TINJAUAN PUSTAKA 3

Ruang vektor, Kombinasi Linier, Basis, dan Ortogonalitas 3

Analisis Algoritme, Running Time 5

3 METODE PENELITIAN 6

Konstruksi Algoritme LLL, Algoritme LLL Penyisipan Dalam, dan Algoritme

Greedy SVP LLL 6

Analisis Algoritme Greedy SVP LLL 6

Implementasi dan Pengujian 6

4 HASIL DAN PEMBAHASAN 7

Studi Pendahuluan 7

Rekonstruksi Algoritme LLL 9

Fungsi Proyeksi dan Determinan Latis 13

Permasalahan dalam Latis 15

Algoritme LLL 17

Reduksi Ukuran 19

Algoritme LLL dan Analisisnya 28

Membatasi banyaknya iterasi 29

Membatasi besarnya bilangan yang terlibat 31

Memperbaiki algoritme LLL 33

Algoritme LLL Penyisipan Dalam 33

Algoritme Greedy SVP LLL 36

Analisis Algoritme Greedy SVP LLL 38

Pengujian Eksperimental dan Perbandingan Running Time masing-masing

Algoritme dengan Output Sama 39

5 SIMPULAN DAN SARAN 41

Simpulan 41

Saran 41

DAFTAR PUSTAKA 42

LAMPIRAN 43

(14)
(15)

DAFTAR TABEL

1 Ukuran matriks 𝑛 × 𝑛 versus running time (detik) dengan 𝛿 = 3/4 40

DAFTAR GAMBAR

1 Latis dengan basis {(1,0),(0,1)} 10

2 Latis dengan basis {(2,1),(3,1)} 10

3 Latis dengan basis {(1,2),(4,1)} 10

4 Latis dengan basis {(1,1)} 10

5 Parallelepiped dengan ℬ = {(2,3), (3,2)} 13

6 Perbandingan running time (detik) versus ukuran matriks 𝑛 × 𝑛 40

DAFTAR LAMPIRAN

1 Program Matriks Bilangan Bulat 43

2 Prosedur matriks Bentuk Normal Hermit (Operasi Kolom Integer (OKI)) 47

3 Prosedur Ortogonalisasi Gram-Schmidt 48

4 Algoritme LLL 49

5 Algoritme LLL Penyisipan Dalam (Deep Insertion) 50

6 Algoritme Greedy SVP LLL 51

(16)
(17)

1 PENDAHULUAN

Latar Belakang

Latis (lattice) merupakan obyek geometri dalam ruang berdimensi-n yang dapat diilustrasikan sebagai himpunan titik-titik dengan susunan teratur dan periodik. Secara matematika, latis merupakan himpunan semua kombinasi linier bilangan bulat dari himpunan vektor yang bebas linier dalam ruang ℝ𝑛. Vektor

yang bebas linier tersebut disebut basis dari latis. Sebarang latis dapat dibangkitkan dari banyak basis, dan basis-basis tersebut memiliki kardinalitas yang sama (Akhavi 2003).

Masalah yang paling mendasar dan terkenal di dalam latis adalah masalah vektor terpendek (Shortest Vector Problem) yang disingkat SVP. Shortest Vector Problem (SVP) merupakan masalah pelacakan vektor terpendek dalam suatu latis dengan basis yang ekivalen. Dalam dua dimensi, solusi dari masalah SVP telah terselesaikan secara optimal oleh algoritme Gauss. Penelitian tentang kompleksitas dengan kasus terburuk (worst-case) dari algoritme Gauss telah dilakukan oleh Lagarias (1985). Dia menunjukkan bahwa algoritme berjalan polinomial terhadap input. Kompleksitas dari algoritme Gauss juga diteliti lebih dalam lagi oleh Valley (1991).

Untuk latis dengan dimensi lebih dari dua, didefinisikan secara tepat gagasan tentang reduksi basis latis. Pada tahun 1982, A.K. Lenstra, H. W. Lenstra dan L. Lovasz memberikan algoritme reduksi latis untuk sebarang dimensi. Algoritme ini merupakan hasil generalisasi dari algoritme Gauss. Algoritme tersebut dinamakan algoritme LLL. Solusi basis tereduksi yang diperoleh dari algoritme LLL masih merupakan hampiran dan memiliki waktu eksekusi (running time) polinomial untuk sebarang dimensi yang cukup besar.

Setelah ditemukan algoritme ini, kajian tentang latis menjadi lebih menarik dan banyak berkaitan dengan bidang lain. Hal ini terbukti bahwa algoritme LLL mampu memecahkan masalah-masalah yang ada pada teori bilangan (Lenstra et al. 1982; Schnoor 1991), signal processing (Hassibi et al. 2005), kriptografi (Nguyen et al. 2001) maupun masalah integer linear programming (Kannan 1983; Lenstra 1983).

Dalam banyak aplikasi, kecepatan eksekusi algoritme LLL sangat dibutuhkan. Pada tahun 1994, Schnoor dan Euchner membahas Algoritme LLL yang dimodifikasi pada syarat penukaran (exchange step) yang disebut algoritme LLL penyisipan dalam (deep insertion) untuk meningkatkan ketepatan output basis tereduksi LLL yang dihasilkan dan mengaplikasikannya pada masalah penjumlahan subhimpunan (subset sum problem).

Tujuan dalam penelitian ini adalah mengkonstruksi algoritme greedy SVP LLL yang merupakan pengembangan ide dari algoritme LLL penyisipan dalam sekaligus varian baru dari algoritme LLL. Selanjutnya, dilakukan perhitungan pada banyaknya operasi aritmetik yang terlibat, kemudian dibandingkan secara eksperimental antara algoritme LLL, algoritme LLL penyisipan dalam dan Algoritme greedy SVP LLL.

(18)

2

Tujuan Penelitian Tujuan penelitian ini adalah untuk:

a. Merekonstruksi algoritme LLL dan algoritme LLL penyisipan dalam. b. Mengkonstruksi algoritme greedy SVP LLL.

c. Menghitung operasi aritmetik yang terlibat dalam algoritme greedy SVP LLL. d. Mengimplementasikan algoritme-algoritme tersebut dalam suatu bahasa

pemrograman simbolik.

e. Membandingkan secara eksperimental algoritme LLL, algoritme LLL penyisipan dalam, dan algoritme greedy SVP LLL.

(19)

3

2 TINJAUAN PUSTAKA

Ruang vektor, Kombinasi Linier, Basis, dan Ortogonalitas Definisi 2.1 (Ruang Vektor)

Suatu himpunan 𝑉 disebut ruang vektor (real) dan anggota-anggotanya disebut vektor jika 𝑉 tak kosong dan untuk setiap 𝐮, 𝐯 ∈ 𝑉 dan setiap bilangan real 𝑐 , penjumlahan 𝐮 + 𝐯 ∈ 𝑉 dan perkalian 𝑐𝐮 digabungkan, memenuhi 8 aturan-aturan berikut:

1. (Komutatif penjumlahan) 𝐮 + 𝐯 = 𝐯 + 𝐮,

2. (Asosiatif penjumlahan) (𝐮 + 𝐯) + 𝐰 = 𝐮 + (𝐯 + 𝐰),

3. (Eksistensi Vektor nol) Ada vektor 𝟎 ∈ 𝑉 sehingga 𝐮 + 𝟎 = 𝐮 untuk setiap 𝐮,

4. (Invers Penjumlahan) Untuk setiap vektor 𝒖 ada vektor negatif –u sehingga 𝐮 + (−𝐮) = 𝟎,

5. (Perkalian dengan 1) 1𝐮 = 𝐮,

6. (Asosiatif perkalian dengan skalar) 𝑎(𝑏𝐮) = (𝑎𝑏)𝐮, 7. (Distribusi kiri) (𝑎 + 𝑏)𝐮 = 𝑎𝐮 + 𝑏𝐮,

8. (Distribusi kanan) 𝑎(𝐮 + 𝐯) = 𝑎𝐮 + 𝑎𝐯.

(Schay 2010) Definisi 2.2 (Sifat tertutup terhadap penjumlahan dan perkalian dengan skalar)

Suatu himpunan 𝑆 dikatakan tertutup terhadap penjumlahan jika setiap pasangan dari elemen-elemen 𝐮, 𝐯 ∈ 𝑆 , penjumlahan 𝐮 + 𝐯 didefinisikan dan merupakan anggota dari 𝑆. Himpunan 𝑆 dikatakan tertutup pada perkalian dengan skalar jika untuk setiap skalar 𝑐 dan 𝐩 ∈ 𝑆, perkalian 𝑐𝐩 didefinisikan dan merupakan anggota dari 𝑆.

(Schay 2010) Definisi 2.3 (Subruang Vektor)

Suatu subhimpunan 𝑈 dari suatu ruang vektor 𝑋 disebut subruang dari 𝑋 jika 𝑈 adalah ruang vektor yang memenuhi sifat penjumlahan vektor dan perkalian dengan skalar yang sama dengan 𝑋.

(Schay 2010) Definisi 2.4 (Kombinasi Linier)

Suatu ruang vektor 𝑣 disebut kombinasi linier dari vektor-vektor 𝐯1, 𝐯2, … , 𝐯n jika dapat dituliskan dalam bentuk 𝑣 = 𝑎1𝐯1+ 𝑎2𝐯2+ ⋯ + 𝑎𝑛𝐯n dimana 𝑎1, 𝑎2, … , 𝑎𝑛 adalah skalar dan disebut koefisien dari 𝐯1, 𝐯2, … , 𝐯n.

(Nicholson 1995) Definisi 2.5 (Merentang/Span)

Jika {𝐯1, 𝐯2, … , 𝐯n} adalah sebarang vektor-vektor dalam ruang 𝑉, himpunan semua kombinasi linier dari vektor-vektor ini disebut rentangannya (span), dinyatakan sebagai 𝑠𝑝𝑎𝑛{𝐯1, 𝐯2, … , 𝐯n}. Jika 𝑉 = 𝑠𝑝𝑎𝑛{𝐯1, 𝐯2, … , 𝐯n} maka vektor-vektor ini disebut himpunan yang merentang untuk 𝑉.

(20)

4

(Nicholson 1995) Definisi 2.6 (Bebas Linier dan Tak Bebas Linier)

Suatu himpunan {𝐯1, 𝐯2, … , 𝐯n} disebut bebas linier jika memenuhi kondisi berikut: Jika 𝑎1𝐯1+ 𝑎2𝐯2+ ⋯ + 𝑎𝑛𝐯n = 𝟎 maka 𝑎1 = 𝑎2 = ⋯ = 𝑎𝑛 = 0. Suatu

himpunan vektor-vektor yang tidak bebas linier dikatakan terpaut linier.

(Nicholson 1995) Definisi 2.7 (Basis)

Suatu himpunan {𝐯1, 𝐯2, … , 𝐯n} dari vektor-vektor dalam ruang vektor 𝑉 disebut basis dari 𝑉 jika memenuhi dua kondisi berikut:

1. {𝐯1, 𝐯2, … , 𝐯n} bebas linier,

2. 𝑉 = 𝑠𝑝𝑎𝑛{𝐯1, 𝐯2, … , 𝐯n}.

(Nicholson 1995) Definisi 2.8 (Hasil kali skalar di ℝ𝒏)

Misalkan 𝐱, 𝐲 ∈ ℝ𝒏 dengan 𝐱 = [ 𝑥1 𝑥2 ⋮ 𝑥𝑛 ] dan 𝐲 = [ 𝑦1 𝑦2 ⋮ 𝑦𝑛

], maka hasil kali skalar dari 𝒙 dan 𝒚 adalah

𝐱T𝐲 = 𝑥1𝑦1+ 𝑥2𝑦2+ ⋯ + 𝑥𝑛𝑦𝑛.

(Leon 1998) Definisi 2.9 (Norm dari Suatu Ruang Vektor di ℝ𝒏)

Misalkan 𝐱 ∈ ℝ𝒏 dengan 𝐱 = [ 𝑥1

𝑥2

⋮ 𝑥𝑛

], maka norm dari vektor 𝐱 di ℝ𝒏 adalah ‖𝐱‖ = √𝐱T𝐱 = √𝑥

12 + 𝑥22+ ⋯ + 𝑥𝑛2.

(Leon 1998) Definisi 2.10 (Proyeksi Vektor di ℝ𝒏)

Misalkan 𝐱, 𝐲 ∈ ℝ𝒏 dan 𝐲 ≠ 𝟎. Proyeksi vektor x pada y adalah vektor 𝐩 =

𝒚𝑇𝒙 ‖𝒚‖2𝐲.

(Leon 1998) Definisi 2.11 (Ortogonalitas di ℝ𝒏)

Vektor-vektor 𝐱 dan 𝐲 disebut ortogonal jika 𝐱T𝐲 = 0.

(Leon 1998) Definisi 2.12 (Komplemen Ortogonal)

Misalkan 𝑋 adalah subruang dari ℝ𝑛. Himpunan semua vektor-vektor di ℝ𝑛 yang ortogonal dengan setiap vektor di 𝑋 dinotasikan dengan 𝑋⊥, yaitu 𝑋⊥ = {𝐲 ∈ ℝ𝑛|𝐲T𝐱 = 0, ∀𝐱 ∈ 𝑋}.

(21)

5 Lema 2.1 (Pertidaksamaan Cauchy-Schwarz)

Untuk sebarang dua vektor, 𝐱, 𝐲 ∈ ℝ𝒏 berlaku‖𝐱. 𝐲‖ ≤ ‖𝐱‖‖𝐲‖.

(Bremner 2012) Definisi 2.13 (Ortogonalisasi Gram-Schmidt)

Misalkan 𝐱1, 𝐱2, … , 𝐱n adalah basis dari ℝ𝒏. Ortogonalisasi Gram-Schmidt

(Gram Schmidt Ortogonalization) dari 𝐱1, 𝐱2, … , 𝐱𝑛 adalah basis 𝐱1, 𝐱 2 ∗, … , 𝐱 𝑛 ∗: 𝐱1∗ = 𝐱1 𝐱2= 𝐱 2− ( 𝐱2. 𝐱1∗ 𝐱1∗. 𝐱1∗) 𝐱1 𝐱i∗ = 𝐱𝑖 − ∑ 𝜇𝑖𝑗𝐱𝑗∗ j−1 j=1 , dengan 𝜇𝑖𝑗 = 𝒙𝑖.𝒙𝑗∗ 𝒙𝑗∗.𝒙𝑗∗ untuk (1 ≤ 𝑗 < 𝑖 ≤ 𝑛). (Bremner 2012)

Analisis Algoritme, Running Time Definisi 2.14 (Analisis Algoritme)

Analisis algoritme dilakukan untuk menduga besarnya sumber daya waktu yang dibutuhkan untuk sebarang ukuran input n.

(Cormen et al. 1990) Definisi 2.15 (Komplesitas Waktu)

Kompleksitas waktu, 𝑇(𝑛) didefinisikan sebagai waktu yang dibutuhkan oleh suatu algoritme untuk menyelesaikan proses dengan input berukuran n.

(Cormen et al. 1990) Definisi 2.16 Running Time

Running time dari suatu algoritme didefinisikan sebagai ukuran operasi primitif atau tahapan proses yang dieksekusi.

(Cormen et al. 1990) Jika ditinjau dari sisi waktu, maka running time dapat didefinisikan sebagai waktu total yang dibutuhkan untuk melakukan seluruh operasi primitif atau tahapan proses yang dieksekusi.

(22)

6

3 METODE PENELITIAN

Penelitian ini disusun melalui tiga tahap. Pertama, dilakukan telaah pustaka (buku-buku dan jurnal-jurnal terkait) mengenai algoritme LLL serta konsep-konsep dasar yang mendasarinya, kemudian dilakukan konstruksi algoritme greedy SVP LLL. Ketiga, dilakukan pengujian terhadap algoritme yang telah dibuat dengan mengimplementasikannya dalam bahasa pemrograman simbolik. Selanjutnya, akan dilakukan pengujian dan perbandingan secara deskriptif untuk mendapatkan algoritme mana yang terbaik dari sisi kecepatan eksekusi.

Konstruksi Algoritme LLL, Algoritme LLL Penyisipan Dalam, dan Algoritme Greedy SVP LLL

Tahap pertama yakni telaah pustaka. Rincian langkah-langkah dalam tahap pertama ini adalah:

1) Rekonstruksi algoritme LLL dengan pendekatan geometrik. 2) Mengkonstruksi algoritme greedy SVP LLL.

3) Menganalisis skema algoritme LLL dilihat dari banyaknya iterasi pada saat penukaran dan membatasi bilangan yang terlibat.

Analisis Algoritme Greedy SVP LLL

Langkah-langkah untuk menganalisis algoritme greedy SVP LLL adalah sebagai berikut:

1) Menghitung banyaknya operasi aritmetik yang terlibat dalam algoritme greedy SVP LLL. Dalam hal ini, banyaknya operasi yang dimaksud adalah banyaknya operasi dasar (jumlah, kurang, kali, bagi), ditambahkan dengan operasi assignment, dan perbandingan (ekspresi logika).

2) Menganalisis proses yang terjadi dalam tubuh algoritme greedy SVP LLL. Implementasi dan Pengujian

Tahap terakhir yaitu mengimplementasikan algoritme dan pengujian dengan rincian sebagai berikut:

1) Mengimplementasikan ketiga algoritme dalam bahasa pemrograman simbolik.

2) Menentukan running time dari kedua algoritme tersebut, dengan input yaitu 𝛿 dan matriks berukuran 𝑛 × 𝑛 tertentu.

3) Mengambil beberapa sampel data. Data yang dimaksud adalah data waktu eksekusi ketiga algoritme serta ukuran matriksnya.

4) Melakukan perbandingan secara deskriptif ukuran kecepatan yang dihasilkan ketiga algoritme.

(23)

7

4 HASIL DAN PEMBAHASAN

Studi Pendahuluan

Salah satu bahasan dalam aljabar linier yang merupakan kunci penting dalam latis adalah proses ortogonalisasi Gram-Schmidt. Proses ini akan menjadi ide utama dalam pembentukan algoritme LLL. Berikut ini definisi proses ortogonalisasi Gram-Schmidt.

Ortogonalisasi Gram-Schmidt

Misalkan ℬ = {𝐛1, 𝐛2, … , 𝐛𝑛} adalah himpunan n vektor bebas linier dalam ruang vektor ℝ𝑚. Maka dapat dikonstruksi barisan bagian dari 𝑛 vektor yang

saling ortogonal ℬ∗ = {𝐛1∗, 𝐛2∗, … , 𝐛𝑛∗} dimana

𝐛1∗ = 𝐛1, 𝐛𝑗∗ = 𝐛𝑗− ∑ 𝜇𝑗,𝑖 𝑗−1 𝑖=1 𝐛𝑖∗ dengan 𝑗 = 2, 3, … , 𝑛 dan 𝜇𝑗,𝑖 = 𝐛𝑗. 𝐛𝑖∗ 𝐛𝑖∗. 𝐛𝑖∗.

Jika himpunan ℬ = {𝐛1, 𝐛2, … , 𝐛𝑛} adalah bebas linier, maka ℬ merupakan

basis untuk 〈ℬ〉 = {∑𝑛𝑗=1𝑥𝑗𝐛𝑗/𝑥𝑗 ∈ ℝ} , dan jika ℬ∗ = {𝐛1∗, 𝐛2∗, … , 𝐛𝑛∗} adalah

hasil ortogonalisasi Gram-Schmidt dari ℬ, maka ℬ∗ juga merupakan basis untuk

〈ℬ〉. Namun hal ini tidak berlaku secara umum dalam latis, jika ℬ adalah basis untuk latis yang dibangkitkan oleh ℬ, tidak harus ℬ∗ merupakan basis untuk latis

tersebut.

Kompleksitas Gram-Schmidt

Dalam ortogonalisasi Gram-Schmidt terlihat bahwa banyaknya operasi aritmetik yang dilibatkan dalam proses tersebut adalah 𝑂(𝑛3). Namun, belum

dapat disimpulkan bahwa waktu eksekusi (running time) pada ortogonalisasi Gram-Schmidt adalah polinomial.

Diasumsikan bahwa matriks B yang digunakan adalah matriks bilangan bulat. Perhatikan bahwa langkah ke-j dari ortogonalisasi Gram-Schmidt dapat dirumuskan ulang sebagai

𝐛𝑗∗ = 𝐛𝑗+ ∑ 𝜐𝑗𝑖 𝑗−1

𝑖=1

𝐛𝑖 (1) untuk suatu 𝜐𝑗𝑖 ∈ ℝ. Karena 𝐛𝑗∗ ortogonal ke 𝐛𝑡 untuk setiap 𝑡 < 𝑗 maka diperoleh 𝐛𝑡. 𝐛𝑗∗ = ( 𝐛𝑡. 𝐛𝑗) + 𝐛𝑡. ∑ 𝜐𝑗𝑖 𝑗−1 𝑖=1 𝐛𝑖 ⇔ 𝟎 = ( 𝐛𝑡. 𝐛𝑗) + 𝐛𝑡. ∑ 𝜐𝑗𝑖 𝑗−1 𝑖=1 𝐛𝑖

(24)

8

⇔ 𝐛𝑡. ∑ 𝜐𝑗𝑖

𝑗−1

𝑖=1

𝐛𝑖 = −( 𝐛𝑡. 𝐛𝑗). (2) Untuk 𝑡 = 1, 2, … , 𝑗 − 1 , persamaan tersebut dapat dituliskan dalam bentuk matriks ( 𝐛1. ∑𝑗−1𝑖=1𝜐𝑗𝑖𝐛𝑖 𝐛2. ∑𝑗−1𝑖=1𝜐𝑗𝑖𝐛𝑖 ⋮ 𝐛𝑗−1. ∑𝑗−1𝑖=1𝜐𝑗𝑖𝐛𝑖) = − ( 𝐛1. 𝐛𝑗 𝐛2. 𝐛𝑗 ⋮ 𝐛𝑗−1. 𝐛𝑗) .

Jika didefinisikan matriks

𝐁𝑗−1 = (𝐛1 𝐛2 … 𝐛𝑗−1) dan matriks 𝐮𝑗 = ( 𝜐𝑗1 𝜐𝑗2 ⋮ 𝜐𝑗,𝑗−1 ), maka persamaan (2) dapat ditulis sebagai

( 𝐛1. (𝐁𝑗−1𝐮𝑗) 𝐛2. (𝐁𝑗−1𝐮𝑗) ⋮ 𝐛𝑗−1. (𝐁𝑗−1𝐮𝑗)) = − ( 𝐛1. 𝐛𝑗 𝐛2. 𝐛𝑗 ⋮ 𝐛𝑗−1. 𝐛𝑗) ⇔ 𝐁𝑗−1𝑇 (𝐁𝑗−1𝐮𝑗) = −𝐁𝑗−1𝑇 𝐛𝑗 ⇔ (𝐁𝑗−1𝑇 𝐁𝑗−1)𝐮𝑗 = −𝐁𝑗−1𝑇 𝐛𝑗. (3) Persamaan (3) merupakan SPL dengan matriks koefisien 𝐁𝑗−1𝑇 𝐁𝑗−1 dan

vektor −𝐁𝑗−1𝑇 𝐛𝑗 adalah bilangan bulat. Dengan demikian, untuk 𝑠 = 1, 2, … , 𝑗 − 1 berdasarkan aturan Cramer diperoleh

𝜐𝑗𝑠 ∈ ℤ det(𝐁𝑗−1𝑇 𝐁𝑗−1) = ℤ det (ℒ(ℬ𝑗−1)) 2.

Hasil ini digunakan untuk memberi batas pada koefisien pada koefisien 𝜇𝑗𝑖. Misalkan 𝐷𝑗−1 = det(𝐁𝑗−1𝑇 𝐁𝑗−1) dan dikalikan nilainya dengan kedua ruas dari persamaan (1) maka diperoleh

𝐷𝑗−1𝐛𝑗∗ = 𝐷𝑗−1𝐛𝑗+ ∑(𝐷𝑗−1𝜐𝑗𝑖)

𝑗−1

𝑖=1

𝐛𝑖

merupakan persamaan yang semua koefisien vektornya adalah bilangan bulat. Ini berarti semua penyebut dari bilangan dalam vektor 𝐛𝑗∗ adalah faktor 𝐷𝑗−1. Kemudian 𝜇𝑗,𝑖 = 𝐛𝑗. 𝐛𝑖∗ 𝐛𝑖∗. 𝐛𝑖∗ =𝐷𝑖−1(𝐛𝑗. 𝐛𝑖 ∗) 𝐷𝑖−1(𝐛𝑖∗. 𝐛𝑖∗)

(25)

9 = 𝐛𝑗(𝐷𝑖−1. 𝐛𝑖 ∗) (∏𝑖−1‖𝐛𝑠𝟐 𝑠=1 )‖𝐛𝑖∗‖ 𝟐∈ ℤ 𝐷𝑖 . Hasil ini menunjukkan bahwa penyebut dari 𝜇𝑗𝑖 harus membagi 𝐷𝑖.

Uraian diatas membuktikan bahwa bilangan-bilangan yang ada di dalam vektor 𝐛𝑖∗ dan 𝜇𝑗𝑖 mempunyai penyebut paling banyak

max 𝑘 𝐷𝑘 ≤ ∏‖𝐛𝑘 ∗𝟐 𝑛 𝑖=𝑘 .

Akhirnya, besarnya bilangan polinomial karena ‖𝐛𝑗∗‖ ≤ ‖𝐛𝑗‖. Dengan

demikian, secara keseluruhan ortogonalisasi Gram-Schmidt mempunyai kompleksitas waktu polinomial. Hal ini bermanfaat untuk menganalisis algoritme LLL yang akan direkonstruksi, dimana cara kerja algoritme ini berdasarkan atas proses ortogonalisasi Gram-Schmidt.

Rekonstruksi Algoritme LLL

Seperti yang telah dijelaskan dalam pendahuluan bahwa latis merupakan obyek geometrik dalam ruang berdimensi-n yang dapat diilustrasikan sebagai himpunan titik-titik yang teratur dan periodik. Definisi latis secara formal adalah sebagai berikut.

Definisi 4.1

Misalkan ℬ = {𝐛1, 𝐛2, … , 𝐛𝑛} adalah himpunan n vektor bebas linier dalam

ruang vektor ℝ𝑚. Latis yang dibangkitkan oleh ℬ adalah himpunan ℒ(ℬ) = {∑ 𝑥𝑗𝐛𝑗

𝑛

𝑗=1

/𝑥𝑗 ∈ ℤ}

yang beranggotakan semua kombinasi linier bilangan bulat dari ℬ. Dalam hal ini, ℬ merupakan basis untuk ℒ(ℬ). Notasi “/” dibaca sebagai “dengan”.

Seperti dalam ruang vektor, basis ℬ untuk latis ℒ(ℬ) dapat direpresentasikan sebagai matriks 𝐁 berukuran 𝑚 × 𝑛 yang kolom-kolomnya merupakan vektor 𝐛𝑗:

𝐁 = (𝐛1 𝐛2 … 𝐛𝑛),

sehingga ℒ(ℬ) dapat dituliskan sebagai perkalian matriks ℒ(𝐁) = {𝐁𝑥/𝑥 ∈ ℤ𝑛}. Dalam hal ini, 𝐁 merupakan bentuk matriks dari ℬ.

Terdapat kemiripan antara pengertian latis yang dibangkitkan oleh ℬ dengan pengertian subruang vektor dalam ℝ𝑚 yang direntang oleh ℬ:

〈ℬ〉 = {∑ 𝑥𝑗𝐛𝑗

𝑛

𝑗=1

/𝑥𝑗 ∈ ℝ}.

Perbedaannya hanya terdapat pada bilangan yang digunakan pada kombinasi linier. Pada latis ℒ(ℬ), kombinasi linier menggunakan koefisien dalam rentang bilangan bulat (ℤ ⊆ ℝ). Sedangkan pada 〈ℬ〉, koefisien pada kombinasi linier yang digunakan adalah rentang bilangan real (ℝ), sehingga dapat disimpulkan bahwa jika ℬ adalah basis untuk ℒ(ℬ), maka ℬ juga merupakan basis untuk 〈ℬ〉. Namun hal ini tidak berlaku sebaliknya, jika ℬ adalah basis untuk 〈ℬ〉, belum

(26)

10

Gambar 3 Latis dengan basis {(1,2),(4,1)}

Gambar 4 Latis dengan basis {(1,1)}

tentu ℬ juga basis untuk ℒ(ℬ). Misalkan dipilih basis ℬ1 = {(1,0), (0,1)} yang merupakan basis baku untuk ℝ2, maka

ℒ(ℬ1) = {𝑥(1,0) + 𝑦(0,1)/𝑥, 𝑦 ∈ ℤ} = {(𝑥, 𝑦)/𝑥, 𝑦 ∈ ℤ} = ℤ2.

Latis ℤ2 beserta basis diilustrasikan pada Gambar 1. Seperti pada ruang

vektor, basis suatu latis tidak tunggal. Pada Gambar 2, diilustrasikan bahwa ℤ2 dapat dibangkitkan oleh latis basis ℬ2 = {(2,1), (3,1)}. Sedangkan pada Gambar

3 merupakan contoh basis ℬ3 = {(1,2), (4,1)} yang bukan merupakan basis untuk

ℤ2 walaupun mempunyai rank penuh dalam ℝ2. Selanjutnya Gambar 4 merupakan sebuah contoh bahwa basis ℬ4 = {(1,1)} yang membentuk latis ℒ(ℬ4) walaupun ℬ4 tidak memiliki rank penuh di dalam ℝ2.

Gambar 1 Latis dengan basis {(1,0),(0,1)}

Gambar 2 Latis dengan basis {(2,1),(3,1)}

(27)

11 Definisi 4.2

Dua basis 𝒜 dan ℬ dikatakan ekivalen, dinotasikan dengan 𝒜 ~ ℬ, jika dan hanya jika 𝒜 dan ℬ membangkitkan latis yang sama, yaitu ℒ(𝒜) = ℒ(ℬ).

Definisi 4.3

Matriks U berukuran 𝑛 × 𝑛 disebut unimodular jika 𝐔 ∈ ℤ𝑛×𝑛 dan det(𝐔) = ±1.

Contoh matriks unimodular: 𝐔 = (

1 3 −7

0 −1 2

−1 0 2

) dengan det(𝐔) = −1.

Proposisi 4.1

Invers dari matriks unimodular juga merupakan matriks unimodular. Bukti:

Misalkan 𝐔 = (𝑢𝑖𝑗) adalah matriks unimodular berukuran 𝑛 × 𝑛 dari asumsi diperoleh 𝑢𝑖𝑗 ∈ ℤ dan det(𝐔) = ±1. Berdasarkan rumus matriks invers,

maka

𝐔−𝟏 = 1

det(𝐔)(𝜇𝑖𝑗) 𝑇

, (4) dimana 𝜇𝑖𝑗 adalah kofaktor dari 𝑢𝑖𝑗. Karena 𝑢𝑖𝑗 ∈ ℤ, dari definisi kofaktor, jelas

bahwa 𝜇𝑖𝑗 ∈ ℤ sehingga

(𝜇𝑖𝑗)𝑇 ∈ ℤ𝑛×𝑛. Disamping itu,

𝐔−𝟏 𝐔 = 𝐈

⇒ det(𝐔−𝟏 𝐔) = det(𝐈) ⇒ det(𝐔−𝟏 )det (𝐔) = det(𝐈)

⇒ det(𝐔−𝟏) = 1 det (𝐔). Karena det(𝐔) = ±1, maka

det(𝐔−𝟏) = ±1 dan 1

det (𝐔)∈ ℤ. (5)

Dari (4) dan (5) dapat disimpulkan bahwa matriks 𝐔−𝟏 merupakan matriks unimodular. Bukti lengkap. ∎

Proposisi 4.2

Misalkan 𝒜 = {𝐚1, 𝐚2, … , 𝐚𝑛} adalah basis untuk ℒ(𝒜) dan ℬ = {𝐛1, 𝐛2, … , 𝐛𝑛} adalah basis untuk ℒ(ℬ). Maka 𝒜 ~ ℬ jika dan hanya jika adalah

matriks unimodular 𝐔 ∈ ℤ𝑛×𝑛 sehingga 𝐁 = 𝐀𝐔, dimana 𝐀 dan 𝐁 adalah bentuk matriks

𝐀 = (𝐚1 𝐚2 … 𝐚𝑛) dan 𝐁 = (𝐛1 𝐛2 … 𝐛𝑛).

Bukti:

(⇒) Misalkan ℒ(𝒜) = ℒ(ℬ) . Dari asumsi ini, berarti untuk setiap 𝑗 = 1, 2, … 𝑛 untuk 𝐛𝑗 ∈ ℒ(𝒜). Dari pengertian ℒ(𝒜) maka ada 𝐮𝑗 =

(𝑢1𝑗 𝑢1𝑗 … 𝑢1𝑗) ∈ ℤ𝑛 sehingga

𝐛𝑗 = ∑ 𝑢𝑖𝑗𝐚𝑗 . (6)

𝑛

(28)

12

Dengan demikian, dapat didefinisikan matriks 𝐔 ∈ ℤ𝑛×𝑛 yang kolom-kolomnya

adalah vektor 𝐮𝑗, yaitu

𝐔 = (𝐮1 𝐮2 … 𝐮𝑛) = ( 𝑢11 𝑢12 … 𝑢1𝑛 𝑢21 ⋮ 𝑢𝑛1 𝑢22 ⋮ 𝑢𝑛2 … 𝑢2𝑛 ⋱ ⋮ … 𝑢𝑛𝑛 ). Dari persamaan (6) diperoleh persamaan matriks

(𝐛1 𝐛2 … 𝐛𝑛) = (𝐚1 𝐚2 … 𝐚𝑛)(𝐮1 𝐮2 … 𝐮𝑛) ⇔ 𝐁 = 𝐀𝐔. (7)

Dengan langkah yang sama, dapat diperoleh matriks 𝐕 ∈ ℤ𝑛×𝑛 sehingga

𝐀 = 𝐁𝐕. (8) Dari persamaan (7) dan (8),

𝐀 = 𝐁𝐕 = 𝐀𝐔𝐕 ⇒ det(𝐀) = det(𝐀𝐔𝐕) ⇔ det(𝐔) det(𝐕) = 1.

Disamping itu, karena 𝐔 dan 𝐕 adalah matriks bilangan bulat, maka determinannya juga bilangan bulat. Dengan demikian, dapat disimpulkan bahwa det(𝐔) = ±1.

(⇐) Misalkan 𝐁 = 𝐀𝐔 dengan U unimodular. Dari asumsi ini, berarti untuk setiap 𝑗 = 1, 2, … , 𝑛 , 𝐛𝑗 ∈ ℒ(𝒜) , dengan kata lain, 𝐛𝑗 merupakan kombinasi linier bilangan bulat dari 𝒜. Selanjutnya bahwa karena setiap 𝐱 ∈ ℒ(ℬ) merupakan kombinasi linier dari {𝐛1 𝐛2 … 𝐛𝑛} , maka dapat disimpulkan

bahwa x juga merupakan kombinasi linier bilangan bulat dari 𝒜 (artinya 𝐱 ∈ ℒ(𝒜)). Dengan demikian, diperoleh ℒ(ℬ) ⊆ ℒ(𝒜). Sekarang tinggal ditunjukkan ℒ(𝒜) ⊆ ℒ(ℬ). Perhatikan bahwa, dari asumsi juga diperoleh 𝐀 = 𝐁𝐔−1 dengan 𝐔−1 adalah unimodular (Proposisi 4.1). Akhirnya dengan langkah yang sama

dengan sebelumnya diperoleh ℒ(𝒜) ⊆ ℒ(ℬ). Bukti lengkap. ∎

Cara yang lebih praktis untuk menentukan dua basis yang ekivalen adalah dengan menerapkan operasi kolom integer (integer column operation).

Definisi 4.4

Operasi Kolom Integer (OKI) pada matriks 𝐁 memiliki 3 jenis berikut: 1. 𝐾𝑗𝑘(𝐁) menyatakan matriks hasil operasi yang menukar kolom ke-j dan

kolom ke-k pada matriks 𝐁.

2. 𝐾𝑗(−1)(𝐁) menyatakan matriks hasil operasi yang mengalikan kolom ke-j

dengan skalar -1 pada matriks 𝐁.

3. 𝐾𝑗𝑘(𝜆)(𝐁) menyatakan matriks hasil operasi yang menambahkan kolom ke-j dengan 𝜆 ∈ ℤ kali kolom ke-k pada matriks 𝐁.

OKI hampir sama dengan Operasi Kolom Dasar (OKD) yang biasanya diterapkan pada ruang vektor. Hal yang membedakan hanya terdapat pada jenis kedua. Pada OKD, pengali yang digunakan adalah sembarang bilangan real taknol sedangkan pada OKI pengali yang digunakan adalah -1.

Kemudian, misalkan I adalah matriks identitas dan K adalah serangkaian OKI yang diterapkan pada suatu matriks B dan menghasilkan matriks C, maka berlaku

𝐾(𝐁) = 𝐂 ⇔ 𝐁. 𝐾(𝐈) = 𝐂.

Serangkaian OKI yang diterapkan pada I pasti akan menghasilkan matriks bilangan bulat, sehingga 𝐾(𝐈) merupakan matriks bilangan bulat. Disamping itu,

(29)

13

Gambar 5 Parallelepiped dengan ℬ = {(2,3), (3,2)}

karena det(𝐈) = 1, OKI jenis pertama dan kedua bersifat mengubah tanda determinan, dan OKI jenis ketiga bersifat tidak mengubah nilai determinan, sehingga didapatkan det(𝐾(𝐈)) = ±1. Dengan demikian dapat disimpulkan bahwa 𝐾(𝐈) merupakan matriks unimodular, sehingga didapatkan proposisi berikut.

Proposisi 4.3

Dua basis dikatakan ekivalen jika dan hanya jika yang satu merupakan hasil serangkaian OKI dari yang lain.

Fungsi Proyeksi dan Determinan Latis Definisi 4.5

Untuk 𝑗 = 1, 2, … , 𝑛 fungsi proyeksi 𝜋𝑗 dari ruang vektor 𝑉 = 〈ℬ∗〉 = 〈ℬ〉

ke subruang vektor 〈{𝐛𝑗∗, 𝐛𝑗+1∗ , … , 𝐛𝑛∗}〉 didefinisikan sebagai

𝜋𝑗(𝐯) = ∑ (𝐯. 𝐛𝑖 ∗ 𝐛𝑖. 𝐛 𝑖 ∗) 𝑛 𝑖=𝑗 𝐛𝑖∗. Jika diambil nilai 𝐯 = 𝐛𝑘, 𝑘 = 1, 2, … , 𝑛 maka diperoleh

𝜋𝑗(𝐛𝑘) = ∑ ( 𝐯. 𝐛𝑖∗ 𝐛𝑖∗. 𝐛𝑖∗) 𝐛𝑖 ∗ 𝑛 𝑖=𝑗 = { 𝟎 jika 𝑘 < 𝑗 𝐛𝑘∗ jika 𝑘 = 𝑗 𝐛𝑘∗+ ∑ 𝜇𝑘𝑖𝐛𝑖∗ 𝑘−1 𝑖=𝑗 jika 𝑘 > 𝑗. Selanjutnya perhatikan definisi berikut.

Definisi 4.6

Misalkan Λ = ℒ(ℬ) adalah latis yang dibangkitkan oleh basis ℬ = {𝐛1, 𝐛2, … , 𝐛𝑛}, maka dapat didefinisikan himpunan

𝒫(ℬ) = {∑ 𝑥𝑗𝐛𝑗 𝑛

𝑗=1

/𝑥𝑗 ∈ ℝ, 0 ≤ 𝑥𝑗 < 1},

dimana 𝒫(ℬ) merupakan bangun geometrik yang disebut parallelepiped dasar atau daerah fundamental (fundamental region). Berikut ilustrasi dari 𝒫(ℬ).

(30)

14

Dari Gambar 5 terlihat bahwa pada latis dalam ℝ2, 𝒫(ℬ) digambarkan sebagai daerah arsir jajaran genjang. Hasil dari luas jajaran genjang pada Gambar 5 disebut 𝐯𝐨𝐥(𝒫(ℬ)). Pada sembarang latis Λ, dapat didefinisikan nilai mutlak dari determinan latis dari Λ, dinotasikan dengan |det(Λ)|, yang merupakan nilai dari 𝐯𝐨𝐥(𝒫(ℬ)). Dari ilustrasi Gambar 5, maka definisi tersebut dapat dinyatakan sebagai berikut.

Definisi 4.7

Misalkan Λ = ℒ(ℬ) adalah latis yang dibangkitkan oleh basis ℬ = {𝐛1, 𝐛2, … , 𝐛𝑛} dan ℬ∗ = {𝐛 1 ∗, 𝐛 2 ∗, … , 𝐛 𝑛

} adalah hasil ortogonalisasi

Gram-Schmidt dari ℬ. Determinan dari Λ didefinisikan sebagai det(Λ) = ∏‖𝐛𝑖∗‖

𝑛

𝑖=1

.

Cara menentukan determinan suatu latis tanpa menggunakan ortogonalisasi Gram-Schmidt akan dijelaskan oleh proposisi setelah lema berikut ini.

Lema 4.1 Jika matriks 𝐁∗ = (𝐛 1 ∗ 𝐛 2 ∗ … 𝐛 𝑛 ∗)

adalah matriks hasil ortogonalisasi Gram-Schmidt dari matriks 𝐁 = (𝐛1 𝐛2 … 𝐛𝑛),

maka ada matriks U dengan unsur diagonal adalah 1 sehingga 𝐁 = 𝐁𝐔. Bukti:

Perhatikan bahwa rumus ortogonalisasi Gram-Schmidt dapat diubah menjadi 𝐛1 = 𝐛1∗ 𝐛2 = 𝐛2∗ + 𝜇21𝐛1∗ 𝐛3= 𝐛3∗ + (𝜇31𝐛1∗ + 𝜇32𝐛2∗) ⋮ 𝐛𝑛 = 𝐛𝑛+ ∑ 𝜇 𝑛,𝑖 𝑛−1 𝑖=1 𝐛𝑖∗.

Hal ini menunjukkan bahwa transformasi balik dari ortogonalisasi Gram-Schmidt dari 𝐁∗ ke 𝐁 merupakan serangkaian OKD yang dilakukan pada matriks B, yaitu

𝐁 = 𝐾(𝐁∗) ⇔ 𝐁 = 𝐁𝐾(𝐈).

Dengan demikian dapat didefinisikan suatu matriks 𝐔 = 𝐾(𝐈), dimana 𝐾(𝐈) = ( 1 𝜇21 … 𝜇𝑛1 0 ⋮ 0 1 ⋮ 0 … ⋱ 1 𝜇𝑛2 ⋮ 1 ). Bukti lengkap. ∎ Proposisi 4.4

Jika Λ = ℒ(ℬ) adalah latis yang dibangkitkan oleh basis ℬ = {𝐛1, 𝐛2, … , 𝐛𝑛}, maka

det(Λ) = √det (𝐁𝑇𝐁),

(31)

15 Bukti:

Misalkan

𝐁∗ = (𝐛

1∗ 𝐛2∗ … 𝐛𝑛∗)

adalah matriks ortogonalisasi dari matriks

𝐁 = (𝐛1 𝐛2 … 𝐛𝑛).

Menurut Lema 4.1, terdapat sebuah matriks U yang unsur diagonalnya adalah 1 sehingga

𝐁 = 𝐁∗𝐔.

Dengan demikian diperoleh

𝐁𝑇𝐁 = (𝐁𝐔)𝑇(𝐁𝐔) ⇔ 𝐁𝑇𝐁 = 𝐔𝑇((𝐁∗)𝑇𝐁)𝐔 ⇒ det (𝐁𝑇𝐁) = det(𝐔𝑇((𝐁∗)𝑇𝐁)𝐔) ⇔ det (𝐁𝑇𝐁) = det((𝐁∗)𝑇𝐁) ⇔ det (𝐁𝑇𝐁) = (∏‖𝐛𝑖∗‖ 𝑛 𝑖=1 ) 2 ⇔ ∏‖𝐛𝑖∗‖ 𝑛 𝑖=1 = √det (𝐁𝑇𝐁) ⇔ det(Λ) = √det (𝐁𝑇𝐁). Bukti lengkap. ∎

Berikut ini merupakan proposisi yang menjelaskan bahwa determinan suatu latis tidak bergantung pada suatu basis.

Proposisi 4.5

Jika 𝒜 ~ ℬ, maka det (ℒ(𝒜)) = det(ℒ(ℬ)). Bukti:

Misalkan 𝒜 ~ ℬ dengan A dan B adalah bentuk matriks dari 𝒜 dan ℬ . Berdasarkan Proposisi 4.2 terdapat sebuah matriks unimodular U sehingga 𝐀 = 𝐁𝐔. Dengan demikian, det (ℒ(𝒜)) = √det (𝐀𝑇𝐀) = √det ((𝐁𝐔)𝑇(𝐁𝐔)) = √det (𝐔𝑇(𝐁𝑇𝐁)𝐔) = √det (𝐁𝑇𝐁) = det(ℒ(ℬ)). Bukti lengkap. ∎

Permasalahan dalam Latis

Berikut merupakan pengertian jarak minimum dan panjang vektor minimum dari suatu latis.

(32)

16

Definisi 4.8

Jarak minimum antara sebarang dua titik di dalam latis Λ , dinotasikan dengan 𝜆(Λ), didefinisikan sebagai

𝜆(Λ) = inf(‖𝐱 − 𝐲‖ ∕ 𝐱, 𝐲 ∈ 𝚲, 𝐱 ≠ 𝐲 ). Definisi 4.9

Panjang vektor minimum di antara titik-titik di dalam latis Λ, dinotasikan dengan 𝜋(Λ), didefinisikan sebagai

𝜋(Λ) = inf(‖𝐱‖ ∕ 𝐱 ∈ 𝚲, 𝐱 ≠ 𝟎 ).

Dua pengertian diatas memiliki arti yang ekivalen. Hal tersebut dinyatakan dalam proposisi berikut.

Proposisi 4.5

Untuk sembarang latis Λ, berlaku 𝜆(Λ) = 𝜋(Λ). Bukti:

Karena Λ adalah grup, maka berlaku

𝜆(Λ) = inf(‖𝐱 − 𝐲‖ 𝐱⁄ , 𝐲 ∈ 𝚲, 𝐱 ≠ 𝐲 ) = inf(‖𝐳‖/𝐳 = 𝐱 − 𝐲 ∈ 𝚲, 𝐱 ≠ 𝐲)

= inf(‖𝐳‖/𝐳 ∈ 𝚲, 𝐳 ≠ 𝟎) = 𝜋(Λ).

Bukti lengkap. ∎

Berikut ini merupakan batas bawah dari 𝜆. Teorema 4.1

Jika Jika Λ = ℒ(ℬ) adalah latis yang dibangkitkan oleh basis ℬ = {𝐛1, 𝐛2, … , 𝐛𝑛} dan ℬ∗ = {𝐛 1 ∗, 𝐛 2 ∗, … , 𝐛 𝑛

} adalah hasil ortogonalisasi dari ℬ maka

min

𝑗∈𝐼𝑛

‖𝐛𝑗∗‖ ≤ 𝜆(Λ), 𝐼𝑛 = {1,2, … , 𝑛}. Bukti:

Ambil sembarang 𝐯 ∈ ℒ(ℬ) dengan 𝐯 ≠ 𝟎, maka ada vektor 𝐱 ∈ ℤ𝑛 dengan

𝐱 ≠ 𝟎 sehingga 𝐯 = 𝐁𝐱 dengan B adalah matriks bilangan bulat dari ℬ. Misalkan 𝐱 = {𝑥1, 𝑥2, … , 𝑥𝑛} dan 𝑘 adalah indeks terbesar dari komponen x sehingga 𝑥𝑘 ≠

0, karena untuk setiap 𝑗 < 𝑘, 𝐛𝑘∗ ortogonal ke 𝐛𝑗 dan juga ortogonal ke 𝐛𝑗∗, maka 𝐯. 𝐛𝑘∗ = (𝐁𝐱). 𝐛𝑘∗ = (∑ 𝑥𝑗𝐛𝑗 𝑘 𝑗=1 ) . 𝐛𝑘∗ = 𝑥𝑘(𝐛𝑘. 𝐛𝑘∗) dan 𝐛𝑘∗. 𝐛𝑘∗ = (𝐛𝑘− ∑ 𝜇𝑘𝑗𝐛𝑗 𝑘−1 𝑗=1 ) . 𝐛𝑘∗ = 𝐛𝑘. 𝐛𝑘∗.

Dengan demikian diperoleh

(33)

17 = 𝑥𝑘‖𝐛𝑘∗‖2.

Berdasarkan ketaksamaan Cauchy-Schwartz, maka diperoleh |𝐯. 𝐛𝑘| ≤ ‖𝐯‖‖𝐛

𝑘 ∗

⇔ |𝑥𝑘|‖𝐛𝑘∗‖2 ≤ ‖𝐯‖‖𝐛𝑘∗‖

⇔ |𝑥𝑘|‖𝐛𝑘∗‖2 ≤ ‖𝐯‖.

Karena |𝑥𝑘| ≥ 1, untuk 𝐼𝑛 = {1, 2, … , 𝑛} diperoleh min

𝑗∈𝐼𝑛

‖𝐛𝑗∗‖ ≤ 𝜆(Λ). Bukti lengkap. ∎

Selanjutnya didefinisikan masalah yang paling mendasar dalam latis, yaitu SVP (Shortest Vector Problem). Berikut merupakan varian dari SVP.

Problem 4.1 (Pelacakan SVP)

Diberikan sebuah latis dengan basis ℬ, bagaimana menentukan 𝐱 ∈ ℒ(ℬ) sehingga ‖𝐱‖ = 𝜆(ℒ(ℬ)).

Problem 4.2 (Optimisasi SVP)

Diberikan sebuah latis dengan basis ℬ, bagaimana menentukan 𝜆(ℒ(ℬ)). Problem 4.3 (Pelacakan SVP)

Diberikan sebuah latis dengan basis ℬ dan bilangan rasional 𝑞 ∈ ℚ , bagaimana menentukan apakah 𝜆(ℒ(ℬ)) ≤ 𝑞 atau 𝜆(ℒ(ℬ)) > 𝑞.

Problem 4.4 (Pelacakan SVP)

Diberikan sebuah latis dengan basis ℬ dan 𝛾 ≥ 1, bagaimana menentukan 𝐱 ∈ ℒ(ℬ) dengan 𝐱 ≠ 𝟎 sehingga ‖𝐱‖ ≤ 𝛾𝜆(ℒ(ℬ)).

Problem 4.5 (Pelacakan SVP)

Diberikan sebuah latis dengan basis ℬ dan 𝛾 ≥ 1, bagaimana menentukan 𝑑 sehingga 𝑑 ≤ 𝜆(ℒ(ℬ)) ≤ 𝛾𝑑.

Algoritme LLL Pengertian Basis Tereduksi

Berikut ini merupakan definisi dari basis tereduksi 𝛿. Definisi 4.10

Suatu basis ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] dalam ℝ𝑚 disebut tereduksi LLL dengan

parameter 𝛿 jika memenuhi 1. |𝜇𝑗𝑖| ≤1

2, untuk setiap bilangan bulat 𝑖, 𝑗 dengan 1 ≤ 𝑖 < 𝑗 < 𝑛,

2. 𝛿‖𝜋𝑗(𝐛𝑗)‖ 2

≤ ‖𝜋𝑗(𝐛𝑗+1)‖ 2

, untuk 𝑗 = 1, 2, … , 𝑛 − 1, dimana 𝛿 merupakan parameter reduksi yang bernilai real dengan 1

4 < 𝛿 < 1.

Syarat pertama dalam definisi di atas disebut dengan reduksi ukuran. Syarat pertama mengatakan bahwa basis tereduksi 𝛿 harus “hampir ortogonal” dan dalam

(34)

18

komputasinya syarat ini mudah dicapai dengan menggunakan ortogonalisasi Gram-Schmidt. Pembahasan mengenai syarat ini akan dibahas pada subbab berikutnya.

Sedangkan pada syarat kedua dari definisi di atas disebut syarat pertukaran, atau disebut juga kondisi Lovasz, yang dapat ditulis ulang sebagai

𝛿‖𝐛𝑗∗‖2 ≤ ‖𝐛𝑗+1∗ + 𝜇𝑗+1,𝑗𝐛𝑗∗‖ 2 ⇔ 𝛿‖𝐛𝑗∗‖2 ≤ ‖𝐛𝑗+1∗ + 𝜇𝑗+1,𝑗𝐛𝑗∗‖‖𝐛𝑗+1∗ + 𝜇𝑗+1,𝑗𝐛𝑗∗‖ ⇔ 𝛿‖𝐛𝑗∗‖2 ≤ ‖𝐛𝑗+1∗ ‖ 2+ 2𝜇𝑗+1,𝑗‖𝐛𝑗∗. 𝐛𝑗+1∗ ‖+‖𝜇𝑗+1,𝑗𝐛𝑗∗‖2 ⇔ 𝛿‖𝐛𝑗∗‖2 ≤ ‖𝐛𝑗+1∗ ‖ 2+𝜇𝑗+1,𝑗‖𝐛𝑗∗‖ 2 ⇔ (𝛿 − 𝜇𝑗+1,𝑗2 )‖𝐛𝑗∗‖2 ≤ ‖𝐛𝑗+1∗ ‖2.

Ketaksamaan diatas menyatakan bahwa vektor-vektor Gram-Schmidt dari basis tereduksi LLL harus terurut turun dengan faktor penurunan sebesar 𝛿 − 𝜇𝑗+1,𝑗2 . Jika terdapat pasangan vektor (𝐛𝑗∗, 𝐛𝑗+1∗ ) yang tidak memenuhi kondisi Lovasz, maka dapat dilakukan pertukaran antara vektor tersebut kemudian proses ortogonalisasi kembali dilakukan.

Selanjutnya dengan menerapkan syarat-syarat yang terdapat pada Definisi 4.10, maka diperoleh batas atas untuk ‖𝐛1‖ dari basis tereduksi 𝛿.

Teorema 4.2

Jika ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] dalam ℝ𝑚 adalah basis tereduksi 𝛿, maka berlaku

‖𝐛1‖ ≤ 𝛼𝑛−12 𝜆(Λ) dengan 𝛼 = 1

𝛿−1

4

. Bukti:

Misalkan ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] dalam ℝ𝑚 adalah basis tereduksi 𝛿, menurut

definisi diperoleh 𝛿‖𝐛𝑗∗‖2 ≤ ‖𝐛𝑗+1∗ + 𝜇𝑗+1,𝑗𝐛𝑗∗‖ 2 ⇔ (𝛿 − 𝜇𝑗+1,𝑗2 )‖𝐛𝑗∗‖2 ≤ ‖𝐛𝑗+1∗ ‖2 ⇔ (𝛿 −1 4) ‖𝐛𝑗 ∗2 ≤ ‖𝐛 𝑗+1∗ ‖ 2 ⇔1 𝛼‖𝐛𝑗 ∗2 ≤ ‖𝐛 𝑗+1∗ ‖ 2 ⇔ ‖𝐛𝑗∗‖2≤ 𝛼‖𝐛𝑗+1∗ ‖2 . (9) Dengan menerapkan pertidaksamaan (9) secara berulang diperoleh

‖𝐛12 ≤ 𝛼‖𝐛 2 ∗2 ‖𝐛2∗‖2 ≤ 𝛼‖𝐛3∗‖2 ‖𝐛32 ≤ 𝛼‖𝐛 4 ∗2 ⋮ ‖𝐛12 ≤ 𝛼‖𝐛 2 ∗2 ≤ 𝛼2‖𝐛 3 ∗2 ≤ ⋯ ≤ 𝛼𝑛−1‖𝐛 𝑛 ∗2.

Dengan kata lain, secara umum untuk setiap 𝑗 ∈ 𝐼𝑛 = {1,2, … , 𝑛}, maka ‖𝐛1∗‖2 ≤ 𝛼𝑗−1‖𝐛𝑗∗‖ 2 ⇒ ‖𝐛1∗‖ ≤ 𝛼𝑗−12 ‖𝐛 𝑗∗‖ ⇔ ‖𝐛1∗‖ ≤ 𝛼 𝑗−1 2 ‖𝐛 𝑗∗‖.

Karena berlaku untuk setiap 𝑗 ∈ 𝐼𝑛, maka ‖𝐛1∗‖ ≤ (𝛼𝑗−12 ) (min

𝑗∈𝐼𝑛

(35)

19 Misalkan ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] dalam ℝ𝑚 adalah basis tereduksi LLL untuk latis

Λ = ℒ(ℬ), menurut Teorema 4.1 diperoleh min

𝑗∈𝐼𝑛

‖𝐛𝑗‖ ≤ 𝜆(Λ) dan ketaksamaan persamaan (10) menjadi

‖𝐛1‖ ≤ (𝛼𝑗−12 ) 𝜆(Λ).

Bukti lengkap. ∎

Teorema 4.2 menyatakan bahwa vektor pertama pada basis tereduksi 𝛿 merupakan jawaban dari Problem 4.4 dengan nilai 𝛾 = 𝛼𝑗−12 .

Reduksi Ukuran

Sebagaimana telah dinyatakan dalam subbab sebelumnya bahwa syarat reduksi ukuran yaitu |𝜇𝑗,𝑖| ≤

1

2 mudah dicapai dengan menggunakan prosedur

Gram-Schmidt. Pada subbab ini akan dibahas melalui interpretasi geometrik. Untuk itu perlu pengertian tentang daerah fundamental (parallelepiped) yang lain dari 𝒫(ℬ), yaitu daerah fundamental dasar terpusat yang didefinisikan sebagai berikut.

Definisi 4.11

Misalkan Λ = ℒ(ℬ) adalah latis yang dibangkitkan oleh basis ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] dalam ruang vektor ℝ𝑚. Daerah fundamental terpusat (centered

fundamental region) dari Λ , dinotasikan dengan 𝒞(ℬ) , didefinisikan sebagai himpunan 𝒞(ℬ) = {∑ 𝑥𝑗𝐛𝑗 𝑛 𝑗=1 /𝑥𝑗 ∈ ℝ, −1 2≤ 𝑥𝑗 < 1 2}.

𝒞(ℬ) juga disebut parallelepiped dasar terpusat (centered fundamental region). Proposisi 4.6

Jika Λ = ℒ(ℬ) adalah latis yang dibangkitkan oleh basis ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] dalam ruang vektor ℝ𝑚, maka untuk setiap vektor 𝐰 ∈ 〈ℬ〉, ada

tepat satu vektor 𝐭 ∈ 𝒞(ℬ) sehingga dapat dituliskan 𝐰 = 𝐯 + 𝐭. Bukti:

Karena ℬ merupakan basis untuk Λ, maka ℬ juga merupakan basis untuk ruang vektor 〈ℬ〉, dan karena 𝐰 ∈ 〈ℬ〉, berarti ada tepat satu (𝑤1, 𝑤2, … , 𝑤𝑛) ∈

ℝ𝑛 sehingga

𝐰 = ∑ 𝑤𝑗𝐛𝑗

𝑛

𝑗=1

.

Kemudian, karena 𝑤𝑗 ∈ ℝ maka ada bilangan bulat ⌊𝑤𝑗⌉ ∈ ℤ (pembulatan ke bilangan bulat terdekat (round) dari 𝑤𝑗 sehingga

𝑤𝑗 = ⌊𝑤𝑗⌉ + 𝑡𝑗 dengan − 1 2≤ 𝑡𝑗 < 1 2. Selanjutnya,

(36)

20 𝐰 = ∑ 𝑤𝑗𝐛𝑗 𝑛 𝑗=1 = ∑(⌊𝑤𝑗⌉ + 𝑡𝑗)𝐛𝑗 𝑛 𝑗=1 = ∑⌊𝑤𝑗⌉𝐛𝑗+ ∑ 𝑡𝑗𝐛𝑗 𝑛 𝑗=1 𝑛 𝑗=1 = 𝐯 + 𝐭. Bukti lengkap. ∎ Lema 4.2

Misalkan ℬ∗ = [𝐛1∗, 𝐛2∗, … , 𝐛𝑛∗] adalah hasil proses ortogonalisasi

Gram-Schmidt dari himpunan bebas linier ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] dan diberikan sebarang

𝐰 ∈ 〈ℬ〉. Jika 𝐰 = ∑𝑛𝑗=1𝑤𝑗𝐛𝑗, maka 𝑤𝑛 = 𝐰. 𝐛𝑛∗ 𝐛𝑛. 𝐛 𝑛∗ . Bukti: Perhatikan bahwa 𝐰. 𝐛𝑛= (∑ 𝑤 𝑗𝐛𝑗 𝑛 𝑗=1 ) . 𝐛𝑛= ∑ 𝑤 𝑗 𝑛 𝑗=1 (𝐛𝑗. 𝐛𝑛) = 𝑤 𝑛(𝐛𝑛. 𝐛𝑛∗) ⇔ 𝑤𝑛 = 𝐰. 𝐛𝑛∗ 𝐛𝑛. 𝐛 𝑛∗ . Bukti selesai setelah ditunjukkan bahwa 𝐛𝑛. 𝐛𝑛∗ = 𝐛𝑛∗. 𝐛𝑛∗ sebagai berikut

𝐛𝑛. 𝐛𝑛∗ = (𝐛𝑛∗ + ∑ 𝜇𝑛,𝑖𝐛𝑖∗ 𝑛−1 𝑖=1 ) . 𝐛𝑛∗ = 𝐛𝑛∗. 𝐛𝑛∗ + ∑ 𝜇𝑛,𝑖 𝑛−1 𝑖=1 (𝐛𝑖∗. 𝐛𝑛∗) = 𝐛𝑛. 𝐛 𝑛 ∗ + ∑ 𝜇 𝑛,𝑖 𝑛−1 𝑖=1 (0) = 𝐛𝑛∗. 𝐛𝑛∗. Bukti lengkap. ∎ Proposisi 4.7

Jika ℬ∗ = [𝐛1∗, 𝐛2∗, … , 𝐛𝑛∗] adalah hasil proses ortogonalisasi Gram-Schmidt

dari himpunan bebas linier ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] , maka 𝒞(ℬ∗) juga merupakan

daerah fundamental untuk ℒ(ℬ). Artinya, untuk setiap 𝐰 ∈ 〈ℬ〉, ada tepat satu vektor latis 𝐰 ∈ ℒ(ℬ) dan ada tepat satu vektor 𝐭 ∈ 𝒞(ℬ∗) sehingga dapat

dituliskan 𝐰 = 𝐯 + 𝐭. Bukti:

Demi kepentingan bagaimana menentukan 𝐯 dan 𝐭 secara algoritmik, proposisi ini akan dibuktikan secara instruktif. Kemudian, agar lebih mudah dibayangkan, tanpa mengurangi keumumannya, diambil untuk kasus 𝑛 = 3 sebagai berikut.

(37)

21 1. Definisikan 𝐰3 = 𝐰 , karena 𝐰3 ∈ 〈{𝐛1, 𝐛2, 𝐛3}〉 , berarti ada tepat satu

(𝑥1, 𝑥2, 𝑥3) ∈ ℝ3 sehingga

𝐰3 = ∑ 𝑥𝑗𝐛𝑗

3

𝑗=1

dan berdasarkan Lema 4.2 dapat dituliskan 𝐰3 = ∑ 𝑥𝑗𝐛𝑗 + 2 𝑗=1 𝐰𝟑. 𝐛3∗ 𝐛3∗. 𝐛3∗ 𝐛3 = ∑ 𝑥𝑗𝐛𝑗+ 2 𝑗=1 (⌊𝐰3. 𝐛3 ∗ 𝐛3∗. 𝐛3∗⌉ + 𝑡3) 𝐛3 dan dalam hal ini, −1

2≤ 𝑡3 < 1 2. Selanjutnya, 𝐰3 = ∑ 𝑥𝑗𝐛𝑗+ 2 𝑗=1 ⌊𝐰3. 𝐛3 ∗ 𝐛3∗. 𝐛3∗⌉ 𝐛3+ 𝑡3𝐛3 = ∑ 𝑥𝑗𝐛𝑗+ 2 𝑗=1 ⌊𝐰𝟑. 𝐛3 ∗ 𝐛3∗. 𝐛3∗⌉ 𝐛3+ 𝑡3(𝐛3 ∗ + ∑ 𝜇 3,𝑖 2 𝑖=1 𝐛𝑖∗) ⇔ 𝐰3− (⌊𝐰𝟑. 𝐛3 ∗ 𝐛3∗. 𝐛3∗⌉ 𝐛3+ 𝑡3𝐛3) = ∑ 𝑥𝑗𝐛𝑗+ ∑ 𝑡3𝜇3,𝑖 2 𝑖=1 𝐛𝑖∗. 2 𝑗=1 (11) 2. Definisikan 𝐰2 = 𝐰3− (⌊ 𝐰𝟑. 𝐛3∗ 𝐛3∗. 𝐛3∗⌉ 𝐛3+ 𝑡3𝐛3 ∗).

Dari persamaan (11) dan karena 〈{𝐛1, 𝐛2}〉 = 〈{𝐛1, 𝐛 2

}〉, maka

𝐰2 ∈ 〈{𝐛1, 𝐛2}〉

dengan tepat satu (𝑥1, 𝑥2) ∈ ℝ2 sehingga

𝐰2 = 𝑥1𝐛1+ 𝑥2𝐛2 dan berdasarkan Lema 4.2, dapat dituliskan

𝐰2 = 𝑥1𝐛1+ 𝐰𝟐. 𝐛2∗ 𝐛2∗. 𝐛2∗ 𝐛2 = 𝑥1𝐛1+ (⌊𝐰𝟐. 𝐛2 ∗ 𝐛2∗. 𝐛2∗⌉ + 𝑡2) 𝐛2 dan dalam hal ini, −1

2 ≤ 𝑡2 < 1 2. Selanjutnya, 𝐰2 = 𝑥1𝐛1+ ⌊𝐰𝟐. 𝐛2 ∗ 𝐛2. 𝐛 2 ∗⌉ 𝐛2+ 𝑡2𝐛2 = 𝑥1𝐛1+ ⌊𝐰𝟐. 𝐛2 ∗ 𝐛2∗. 𝐛2∗⌉ 𝐛2+ 𝑡2(𝐛2 ∗ + 𝜇 2,1𝐛1∗) ⇔ 𝐰2− (⌊𝐰𝟐. 𝐛2 ∗ 𝐛2∗. 𝐛2∗⌉ 𝐛2+ 𝑡2𝐛2 ∗) = 𝑥 1𝐛1+ 𝑡2𝜇2,1𝐛1∗. (12) 3. Definisikan

(38)

22 𝐰1 = 𝐰2− (⌊𝐰𝟐. 𝐛2 ∗ 𝐛2. 𝐛 2 ∗⌉ 𝐛2+ 𝑡2𝐛2∗).

Dari persamaan (12), maka 𝐰1 ∈ 〈{𝐛1}〉 dan ada 𝑥1 ∈ ℝsehingga

𝐰1 = 𝑥1𝐛1. Berdasaran Lema 4.2 dapat dituliskan

𝐰1 = ⌊ 𝐰𝟏. 𝐛1∗ 𝐛1∗. 𝐛1∗⌉ 𝐛1 = (⌊ 𝐰𝟏. 𝐛1∗ 𝐛1∗. 𝐛1∗⌉ + 𝑡1𝐛1 ∗)

dan dalam hal ini, −1

2≤ 𝑡1 < 1 2. Maka 𝐰 = 𝐯 + 𝐭 dimana 𝐯 = ⌊𝐰𝟏. 𝐛1 ∗ 𝐛1∗. 𝐛1∗⌉ 𝐛1+ ⌊ 𝐰𝟐. 𝐛2∗ 𝐛2∗. 𝐛2∗⌉ 𝐛2+ ⌊ 𝐰𝟑. 𝐛3∗ 𝐛3∗. 𝐛3∗⌉ 𝐛3 dan 𝐭 = 𝑡1𝐛1∗ + 𝑡2𝐛2∗ + 𝑡3𝐛3∗.

Dengan mudah dilihat bahwa 𝐯 ∈ ℒ(ℬ) dan 𝐭 ∈ 𝒞(ℬ∗). Bukti lengkap. ∎ Bukti dari proposisi sekaligus merupakan bukti kebenaran dari algoritme berikut.

Algoritme 4.1

Input: ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] basis untuk ℒ(ℬ) dan 𝐰 ∈ 〈ℬ〉.

Output: Vektor latis 𝐯 ∈ ℒ(ℬ) dan 𝐭 ∈ 𝒞(ℬ∗).

1. Dengan algoritme Gram-Schmidt, hitung [𝐛1∗, 𝐛2∗, … , 𝐛𝑛∗] dengan menggunakan input ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛]. 2. Inisialisasi 𝐯 ≔ 𝟎 dan 𝐭 ≔ 𝟎. 3. Untuk 𝑖 = 𝑛, 𝑛 − 1, … ,1 hitung: a) 𝑥𝑖 ≔𝐰.𝐛𝑖∗ 𝐛𝑖∗.𝐛𝑖∗ b) 𝑣𝑖 ≔ ⌊𝑥𝑖⌉ c) 𝐯 ≔ 𝐯 + 𝑣𝑖𝐛𝑖 d) 𝑡𝑖 ≔ 𝑥𝑖− 𝑣𝑖 e) 𝐭 ≔ 𝒕 + 𝑡𝑖𝐛𝑖∗ f) 𝑤 ≔ 𝑤 − (𝑣𝑖𝐛𝑖+ 𝑡𝑖𝐛𝑖∗) 4. return(𝐯 dan t).

Algoritme 4.2 (Menentukan Vektor Terdekat)

Input: ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] basis untuk ℒ(ℬ) dan 𝐰 ∈ 〈ℬ〉. Output: Vektor latis 𝐯 ∈ ℒ(ℬ).

1. Dengan algoritme Gram-Schmidt, hitung [𝐛1, 𝐛 2 ∗, … , 𝐛 𝑛 ∗] dengan menggunakan input ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛]. 2. Inisialisasi 𝐯 ≔ 𝟎. 3. Untuk 𝑖 = 𝑛, 𝑛 − 1, … ,1 hitung: a) 𝑥𝑖 ≔ 𝐰.𝐛𝑖∗ 𝐛𝑖∗.𝐛𝑖∗ b) 𝑣𝑖 ≔ ⌊𝑥𝑖⌉ c) 𝐯 ≔ 𝐯 + 𝑣𝑖𝐛𝑖

(39)

23 d) 𝑡𝑖 ≔ 𝑥𝑖 − 𝑣𝑖

e) 𝑤 ≔ 𝑤 − (𝑣𝑖𝐛𝑖 + 𝑡𝑖𝐛𝑖∗)

4. return(𝐯).

Akibat dari Proposisi 4.7 diberikan dalam teorema berikut ini. Teorema 4.3

Jika ℬ∗ = [𝐛1∗, 𝐛2∗, … , 𝐛𝑛∗] adalah hasil proses ortogonalisasi Gram-Schmidt

dari himpunan bebas linier ℬ = [𝐛1, 𝐛2, … , 𝐛𝑛] , maka ℬ dapat ditransformasikan menjadi ℬ′ = [𝐛1′, 𝐛2′, … , 𝐛𝑛′] yang juga merupakan basis untuk ℒ(ℬ) dan ℬ∗ juga

merupakan hasil ortogonalisasi Gram-Schmidt ℬ′. Dalam hal ini, 𝐛1∗ = 𝐛1′ 𝐛𝑗∗ = 𝐛𝑗′− ∑ 𝜇𝑗,𝑖′ 𝑗−1 𝑖=1 𝐛𝑖∗, untuk 𝑗 = 2, 3, … , 𝑟 dengan 𝜇𝑗,𝑖′ = 𝐛𝑗 ′.𝐛 𝑖 ∗ 𝐛𝑖∗.𝐛𝑖∗ dan |𝜇𝑗,𝑖 ′ | ≤1 2. Bukti:

Untuk memudahkan pemahaman, transformasi dari ℬ ke ℬ′ dilakukan secara instruktif sebagai berikut

1. Definisikan

𝐛1′ = 𝐛1.

Dalam hal ini, didapatkan subruang vektor berdimensi satu, yaitu 𝒮1 = 〈{𝐛1}〉 = 〈{𝐛1}〉 = 〈{𝐛

1 ∗}〉.

2. Dari proses ortogonalisasi dari 𝐛2 ke 𝐛2∗ berlaku hubungan

𝐛2= 𝐛 2− 𝐩1

dengan 𝐩1 = 𝜇2,1𝐛1=𝐛2.𝐛1∗

𝐛1∗.𝐛1∗𝐛1

adalah vektor proyeksi dari 𝐛

2 pada 𝒮1. Hal

ini berarti 𝐩1 ∈ 𝒮1. Dengan demikian, berdasarkan Proposisi 4.7 bahwa ada vektor latis 𝐯1 ∈ ℒ〈{𝐛1}〉 dan vektor 𝐭1 ∈ 𝒞({𝐛1∗}), sehingga

𝐩1 = 𝐯1+ 𝐭1 dan akibatnya diperoleh

𝐛2∗ = 𝐛2 − (𝐯1+ 𝐭1) = (𝐛2− 𝐯1) − 𝐭1. Kemudian dari persamaan ini dapat didefinisikan

𝐛2′ = 𝐛2− 𝐯1

sehingga jelas (karena latis adalah grup) bahwa 𝐛2′ ∈ ℒ(ℬ), dan diperoleh persamaan

𝐛2∗ = 𝐛2′ − 𝐭1.

Hasil ini menunjukkan bahwa ortogonalisasi {𝐛1′, 𝐛2′} juga menghasilkan {𝐛1, 𝐛

2

} dengan vektor proyeksi 𝐛 2 ′ pada 𝒮 1 adalah 𝐭1 = 𝜇2,1′ 𝐛1∗ = 𝐛2′. 𝐛1∗ 𝐛1∗. 𝐛1∗𝐛1 ∗

dan dalam hali ini 𝜇2,1= 𝜇

2,1− ⌊𝜇2,1⌉ sehingga |𝜇2,1′ | ≤ 1 2.

Selanjutnya untuk menghitung 𝐛2 berarti cukup menghitung 𝐯

1 dengan

menggunakan Algoritme 4.2 dan 𝐛3= 𝐛

Gambar

Gambar  3  Latis  dengan  basis  {(1,2),(4,1)}
Gambar 5 Parallelepiped dengan ℬ = {(2,3), (3,2)}
Gambar 6 Perbandingan running time (detik) versus ukuran matriks

Referensi

Dokumen terkait

Pada perdagangan hari ini, kami perkirakan harga Surat Utang Negara masih akan berpeluang mengalami koreksi dengan masih didukung oleh penurunan tingkat

Dalam penulisan feature human interest ditemukan paparan deskripsi yang menimbulkn nilai rasa, meliputi, deskrispi objek, deskripsi subjek, deskripsi suasana, dan

Dalam menjalankan tugas dan wewenang penyelidikan, penyidikan, dan penuntutan, Komisi Pemberantasan Korupsi di samping mengikuti hukum acara yang diatur dalam

Di beberapa wilayah, pembagian tanah terjadi dari tahun ke tahun karena penanam yang sama; pada sisi lain, pembagian tanah berotasi di antara penduduk desa berdasarkan

Berdasarkan hasil penelitian, maka dapat diperoleh kesimpulan bahwa Pemberdayaan Aparatur Pemerintah Daerah pada Dinas Pekerjaan Umum Kabupaten Bolaang Mongondow

Kartu bilangan ARIF adalah sebuah kartu yang terbuat dari kertas karton yang tebalnya 2 mm berbentuk persegi panjang dengan ukuran 5 x 8 cm, yang di dalamya terdapat

Definisi bencana menurut UN-ISDR tahun 2004 menyebutkan bahwa bencana adalah suatu gangguan serius terhadap keberfungsian suatu masyarakat, sehingga

Peran orang tua pada masa sekolah sangat penting bagi perkembangan anak terutama anak tingkat sekolah dasar. Pola asuh orang tua juga berperan penting bagi perkembangan anak.