The Construction of Greedy SVP LLL Algorithm

KONSTRUKSI ALGORITME GREEDY SVP LLL

SAIFUL KHAIR

SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2014

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

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 ℬ = [ , , … , ] dalam ℝ disebut tereduksi LLL dengan
parameter jika memenuhi: (a) | |
, untuk setiap bilangan bulat , dengan
< < . (b) ‖� (



‖� (

+

‖ , untuk = , , … , − , dimana


merupakan parameter reduksi yang bernilai real dengan < < . 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 [ , , … , − ]⊥ setelah reduksi ke-j. Untuk konstruksi
algoritme greedy SVP LLL, syarat penukarannya adalah membandingkan secara
murni panjang vektor latis
dengan vektor latis
untuk = , , … , − .
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.

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 = 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
SVP LLL

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
exactly by 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 ℬ = [ , , … , ] in ℝ is called reduced LLL with parameter
if satisfies: (a) | |
, for every integer , with
< < .
(b) ‖� (




‖� (

+

‖ , for

= , , … , − , where

is a reduced

parameter of real numbers with < < .� 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
[ , , … , − ]⊥ 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 = , , … , − . 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 = for the LLL

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
algorithm

© 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

KONSTRUKSI ALGORITME GREEDY SVP LLL

SAIFUL KHAIR

Tesis
sebagai salah satu syarat untuk memperoleh gelar
Magister Sains
pada
Program Studi Matematika Terapan

SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2014


Penguji Luar Komisi pada Ujian Tesis: Dr Ir Fahren Bukhari, MSc

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

Dekan Sekolah Pascasarjana

Dr Jaharuddin MS

Dr Ir Dahrul Syah, MScAgr

Tanggal Ujian:
30 Desember 2013

Tanggal Lulus:

PRAKATA
Puji dan syukur penulis panjatkan kepada Allah SWT atas segala karuniaNya 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

DAFTAR ISI
DAFTAR TABEL

vi

DAFTAR GAMBAR

vi

DAFTAR LAMPIRAN

vi

1 PENDAHULUAN
Latar Belakang
Tujuan Penelitian

1
1
2

2 TINJAUAN PUSTAKA
Ruang vektor, Kombinasi Linier, Basis, dan Ortogonalitas
Analisis Algoritme, Running Time

3
3
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
Studi Pendahuluan
Rekonstruksi Algoritme LLL
Fungsi Proyeksi dan Determinan Latis
Permasalahan dalam Latis
Algoritme LLL
Reduksi Ukuran
Algoritme LLL dan Analisisnya
Membatasi banyaknya iterasi
Membatasi besarnya bilangan yang terlibat
Memperbaiki algoritme LLL
Algoritme LLL Penyisipan Dalam
Algoritme Greedy SVP LLL
Analisis Algoritme Greedy SVP LLL
Pengujian Eksperimental dan Perbandingan Running Time masing-masing
Algoritme dengan Output Sama

7
7
9
13
15
17
19
28
29
31
33
33
36
38

5 SIMPULAN DAN SARAN
Simpulan
Saran

41
41
41

DAFTAR PUSTAKA

42

LAMPIRAN

43

RIWAYAT HIDUP

54

39

DAFTAR TABEL
1 Ukuran matriks

×

versus running time (detik) dengan

= /

40

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

DAFTAR LAMPIRAN

×

1 Program Matriks Bilangan Bulat
2 Prosedur matriks Bentuk Normal Hermit (Operasi Kolom Integer (OKI))
3 Prosedur Ortogonalisasi Gram-Schmidt
4 Algoritme LLL
5 Algoritme LLL Penyisipan Dalam (Deep Insertion)
6 Algoritme Greedy SVP LLL
7 Sampel Pengujian Ketiga Algoritme

10
10
10
10
13
40

43
47
48
49
50
51
53

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.

2
Tujuan Penelitian
Tujuan penelitian ini adalah untuk:
Merekonstruksi algoritme LLL dan algoritme LLL penyisipan dalam.
Mengkonstruksi algoritme greedy SVP LLL.
Menghitung operasi aritmetik yang terlibat dalam algoritme greedy SVP LLL.
Mengimplementasikan algoritme-algoritme tersebut dalam suatu bahasa
pemrograman simbolik.
e. Membandingkan secara eksperimental algoritme LLL, algoritme LLL
penyisipan dalam, dan algoritme greedy SVP LLL.
a.
b.
c.
d.

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)
= ,
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
, , … , n jika dapat dituliskan dalam bentuk =
+
+ +
n
dimana , , … , adalah skalar dan disebut koefisien dari , , … , n .
(Nicholson 1995)
Definisi 2.5 (Merentang/Span)
Jika { , , … , n } adalah sebarang vektor-vektor dalam ruang , himpunan
semua kombinasi linier dari vektor-vektor ini disebut rentangannya (span),
{ , , … , n }. Jika
=�
{ , , … , n } maka
dinyatakan sebagai
vektor-vektor ini disebut himpunan yang merentang untuk .

4
(Nicholson 1995)
Definisi 2.6 (Bebas Linier dan Tak Bebas Linier)
Suatu himpunan { , , … , n } disebut bebas linier jika memenuhi kondisi
berikut: Jika
+
+ +
maka
=
= =
= . Suatu
n =
himpunan vektor-vektor yang tidak bebas linier dikatakan terpaut linier.
(Nicholson 1995)
Definisi 2.7 (Basis)
Suatu himpunan { , , … , n } dari vektor-vektor dalam ruang vektor
disebut basis dari jika memenuhi dua kondisi berikut:
1. { , , … , n } bebas linier,
{ , , … , n }.
2.
=�
(Nicholson 1995)
Definisi 2.8 (Hasil kali skalar di ℝ� )

dari

Misalkan ,
dan

adalah

ℝ� dengan
T

=[

] dan

+

+

=

= [ ], maka hasil kali skalar
+

Definisi 2.9 (Norm dari Suatu Ruang Vektor di ℝ� )
Misalkan

‖ ‖=√

T

=√

ℝ� dengan
+

+

+

=[
.

.

], maka norm dari vektor

(Leon 1998)

di ℝ� adalah
(Leon 1998)

Definisi 2.10 (Proyeksi Vektor di ℝ� )
Misalkan ,
ℝ� dan ≠ . Proyeksi vektor x pada y adalah vektor


‖ ‖

.

Definisi 2.11 (Ortogonalitas di ℝ� )
Vektor-vektor dan disebut ortogonal jika

=

(Leon 1998)
T

= .

(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 = , ∀
�}.
(Leon 1998)

5
Lema 2.1 (Pertidaksamaan Cauchy-Schwarz)
Untuk sebarang dua vektor, ,
ℝ� berlaku‖ . ‖

‖ ‖‖ ‖.
(Bremner 2012)

Definisi 2.13 (Ortogonalisasi Gram-Schmidt)
Misalkan , , … , n adalah basis dari ℝ� . Ortogonalisasi Gram-Schmidt
(Gram Schmidt Ortogonalization) dari , , … , adalah basis ∗ , ∗ , … , ∗ :




=


dengan

=

. ∗

∗. ∗

untuk

<

=

=





.

.

−∑
=







,

.
(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.

6

3 METODE PENELITIAN
Penelitian ini disusun melalui tiga tahap. Pertama, dilakukan telaah pustaka
(buku-buku dan jurnal-jurnal terkait) mengenai algoritme LLL serta konsepkonsep 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.

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 ℬ = { , , … , } adalah himpunan n vektor bebas linier dalam
ruang vektor ℝ . Maka dapat dikonstruksi barisan bagian dari vektor yang
saling ortogonal ℬ ∗ = { ∗ , ∗ , … , ∗ } dimana

= ,
dengan = , , … ,



dan

=



−∑



,

=

. ∗
,
∗ ∗.
.
Jika himpunan ℬ = { , , … , } adalah bebas linier, maka ℬ merupakan
basis untuk ℬ = {∑ =
/
ℝ} , dan jika ℬ ∗ = { ∗ , ∗ , … , ∗ } 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
. 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
����������������������������������������������������������

untuk suatu �

ℝ. Karena

������������������������������������������������� .






=



+∑�
=

ortogonal ke


= (� .

= (� .

+�
+



������������������������������������������������

untuk setiap < maka diperoleh




=

.∑�
=



.∑�



���������������������������������������

8


���������������������������������������������⇔
Untuk = , , … , −
matriks



.∑�
=

= −(� .

.�������������������������������������������

, persamaan tersebut dapat dituliskan dalam bentuk




.∑ = �

(

Jika didefinisikan matriks



.∑


=



.∑ = �
=



dan matriks







)




=

�,
maka persamaan (2) dapat ditulis sebagai
.( −
(



.(

.(






)



=−

(







.
.

.

)

.



),

=−

(

.
.

.

)







= − �−
= − �−


( −

���������������������������������������������������⇔ ( − −
.�������������������������������������
Persamaan (3) merupakan SPL dengan matriks koefisien �− − dan
vektor − �−
adalah bilangan bulat. Dengan demikian, untuk = , , … , −
berdasarkan aturan Cramer diperoleh


=
.


det( − −
det ℒ(ℬ −
Hasil ini digunakan untuk memberi batas pada koefisien pada koefisien .
Misalkan − = det( �− − dan dikalikan nilainya dengan kedua ruas dari
persamaan (1) maka diperoleh




=





+ ∑(
=



merupakan persamaan yang semua koefisien vektornya adalah bilangan bulat. Ini
berarti semua penyebut dari bilangan dalam vektor ∗ adalah faktor − .
Kemudian
. ∗
=
,
∗ ∗
.

− ( .
�������������������=
∗ ∗
.


9


�������������������������������������������=

.





.
(∏ −= ‖ ∗ ‖ ‖ ∗ ‖
Hasil ini menunjukkan bahwa penyebut dari
harus membagi .
Uraian diatas membuktikan bahwa bilangan-bilangan yang ada di dalam
vektor ∗ dan
mempunyai penyebut paling banyak
�a�

∏‖
=

∗‖

.

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 ℬ = { , , … , } adalah himpunan n vektor bebas linier dalam
ruang vektor ℝ . Latis yang dibangkitkan oleh ℬ adalah himpunan
/

ℒ ℬ = {∑
=

ℤ}

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 :
,
=
��� ��… ��
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 ℬ:
ℬ = {∑
=

/

ℝ}.

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

10
tentu ℬ juga basis untuk ℒ ℬ . Misalkan dipilih basis ℬ = { , , , } yang
merupakan basis baku untuk ℝ , maka
, +
, / ,
ℤ} = { , / ,
ℤ} = ℤ .
ℒ ℬ ={
Latis ℤ beserta basis diilustrasikan pada Gambar 1. Seperti pada ruang
vektor, basis suatu latis tidak tunggal. Pada Gambar 2, diilustrasikan bahwa ℤ
dapat dibangkitkan oleh latis basis ℬ = { , , , }. Sedangkan pada Gambar
3 merupakan contoh basis ℬ = { , , , } yang bukan merupakan basis untuk
ℤ walaupun mempunyai rank penuh dalam ℝ . Selanjutnya Gambar 4
merupakan sebuah contoh bahwa basis ℬ = { , } yang membentuk latis
ℒ ℬ walaupun ℬ tidak memiliki rank penuh di dalam ℝ .

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

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

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

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

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
± .

×

=(

Contoh matriks unimodular:



disebut unimodular jika






) dengan det

×

dan det

=

=− .

Proposisi 4.1
Invers dari matriks unimodular juga merupakan matriks unimodular.
Bukti:
Misalkan
=(
adalah matriks unimodular berukuran × dari
asumsi diperoleh
ℤ dan det
= ± . Berdasarkan rumus matriks invers,
maka

�������������������������������������������������������������� − =
(
,������������������������������������������� �

dimana
bahwa

t

adalah kofaktor dari
ℤ sehingga

. Karena


Disamping itu,

⇒ det
⇒ det −
Karena det
= ± , maka
��������������������������������������������det

⇒ det






×

.

ℤ, dari definisi kofaktor, jelas

� =�
� = det �
� det�
= det �




=

= ± dan

det�
t�

.

ℤ.����������������������������������������

Dari (4) dan (5) dapat disimpulkan bahwa matriks
unimodular. Bukti lengkap. ∎



merupakan matriks

Proposisi 4.2
Misalkan � = { , , … , } adalah basis untuk ℒ � dan ℬ =
{ , , … , } adalah basis untuk ℒ ℬ . Maka ��~�ℬ jika dan hanya jika adalah
matriks unimodular
ℤ × sehingga =
, dimana dan adalah bentuk
matriks


.
dan =
=
Bukti:
⇒ Misalkan ℒ � = ℒ ℬ . Dari asumsi ini, berarti untuk setiap =
, ,…
untuk �
ℒ � . Dari pengertian ℒ � maka ada
=

ℤ sehingga
������������������������������������������������������������������

=∑
=

�. �������������������������������������������������

12
Dengan demikian, dapat didefinisikan matriks
adalah vektor , yaitu
=



=



×

yang kolom-kolomnya






).

Dari persamaan (6) diperoleh persamaan matriks



⇔ =
.������
=
Dengan langkah yang sama, dapat diperoleh matriks
ℤ × sehingga
��������������������������������������������������������������������� =
.���������������������������������������������������������
Dari persamaan (7) dan (8),
=
=
⇒ det
= det
⇔ det
det
= .
Disamping itu, karena
dan
adalah matriks bilangan bulat, maka
determinannya juga bilangan bulat. Dengan demikian, dapat disimpulkan bahwa
det
=± .
⇐ Misalkan =
dengan U unimodular. Dari asumsi ini, berarti untuk
setiap = , , … , ,
ℒ � , dengan kata lain,
merupakan kombinasi
linier bilangan bulat dari �. Selanjutnya bahwa karena setiap
ℒ ℬ

} , maka dapat disimpulkan
merupakan kombinasi linier dari {
bahwa x juga merupakan kombinasi linier bilangan bulat dari � (artinya
ℒ � ). Dengan demikian, diperoleh ℒ ℬ ⊆ ℒ � . Sekarang tinggal ditunjukkan

ℒ � ⊆ ℒ ℬ . Perhatikan bahwa, dari asumsi juga diperoleh =
dengan

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:
menyatakan matriks hasil operasi yang menukar kolom ke-j dan
1. �
kolom ke-k pada matriks .
menyatakan matriks hasil operasi yang mengalikan kolom ke-j
2. � −
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,

13
karena det � = , OKI jenis pertama dan kedua bersifat mengubah tanda
determinan, dan OKI jenis ketiga bersifat tidak mengubah nilai determinan,
sehingga didapatkan det(� � = ± . 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 = , , … , fungsi proyeksi � dari ruang vektor
ke subruang vektor { ∗ , ∗+ , … , ∗ } didefinisikan sebagai
Jika diambil nilai


=

,

=∑
=

=∑



= , ,…,
.



.







=

=

Selanjutnya perhatikan definisi berikut.

.



.







.

maka diperoleh

{







+∑
=

= ℬ∗ = ℬ



jika� <
jika� =

jika� > .

Definisi 4.6
Misalkan Λ = ℒ ℬ adalah latis yang dibangkitkan oleh basis ℬ =
{ , , … , }, maka dapat didefinisikan himpunan
� ℬ = {∑
=

/

ℝ,

< },

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

Gambar 5 Parallelepiped dengan ℬ = { , ,

, }

14
Dari Gambar 5 terlihat bahwa pada latis dalam ℝ , � ℬ 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 ℬ =
{ , , … , } dan ℬ ∗ = { ∗ , ∗ , … , ∗ } adalah hasil ortogonalisasi GramSchmidt dari ℬ. Determinan dari Λ didefinisikan sebagai
det Λ = ∏‖ ∗ ‖.
=

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




= ∗
adalah matriks hasil ortogonalisasi Gram-Schmidt dari matriks

,
=
maka ada matriks U dengan unsur diagonal adalah 1 sehingga = ∗ .
Bukti:
Perhatikan bahwa rumus ortogonalisasi Gram-Schmidt dapat diubah
menjadi
= ∗

= ∗+



=
+
+


=





+∑
=

,



.

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


.
� � =


Bukti lengkap. ∎

Proposisi 4.4
Jika Λ = ℒ ℬ
{ , , … , }, maka

adalah

latis

yang

det Λ = √det�
dimana B adalah bentuk matriks dari ℬ.

dibangkitkan


,

oleh

basis ℬ =

15
Bukti:
Misalkan




= ∗
adalah matriks ortogonalisasi dari matriks

=
.
Menurut Lema 4.1, terdapat sebuah matriks U yang unsur diagonalnya adalah 1
sehingga
= ∗ .
Dengan demikian diperoleh

= ∗ � ∗

∗ � ∗

= �
∗ � ∗
⇒ det� � = det �

∗ � ∗
⇔ det�
= det


⇔ det�



= (∏‖ ∗ ‖)
=

⇔ ∏‖ ∗ ‖ = √det�

Bukti lengkap. ∎

=

⇔ det Λ = √det�





.

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�(

Bukti lengkap. ∎

���������������������������������= √det� �
���������������������= √det� �
�������������������= det(ℒ ℬ .





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

16
Definisi 4.8
Jarak minimum antara sebarang dua titik di dalam latis Λ , dinotasikan
dengan Λ , didefinisikan sebagai
Λ = i�f ‖ − ‖ ∕ ,
�, ≠ � .

Definisi 4.9
Panjang vektor minimum di antara titik-titik di dalam latis Λ, dinotasikan
dengan � Λ , didefinisikan sebagai
�� Λ = i�f ‖ ‖ ∕
�, ≠ � .
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
Λ ���� = i�f ‖ − ‖⁄ ,
�, ≠ �
���= i�f ‖ ‖/ = −
�, ≠
= i�f ‖ ‖/
�, ≠
�������������������������������������������������������= � Λ .
Bukti lengkap. ∎
Berikut ini merupakan batas bawah dari .

Teorema 4.1
Jika Jika Λ = ℒ ℬ adalah latis yang dibangkitkan oleh basis ℬ =
{ , , … , } dan ℬ ∗ = { ∗ , ∗ , … , ∗ } adalah hasil ortogonalisasi dari ℬ maka
�i�‖ ∗ ‖
Λ , � = { , , … , }.
��

Bukti:
Ambil sembarang
ℒ ℬ dengan ≠ , maka ada vektor
ℤ dengan
≠ sehingga =
dengan B adalah matriks bilangan bulat dari ℬ. Misalkan

= { , , … , } dan adalah indeks terbesar dari komponen x sehingga


, karena untuk setiap < , � ortogonal ke dan juga ortogonal ke , maka
. ∗ =
. ∗
���������������������= ∑
=

�������������=

dan
�����������������



.



.



Dengan demikian diperoleh

=

=

=

.

.




−∑



.



=

.



.



.



17
������= ‖ ∗ ‖ .
Berdasarkan ketaksamaan Cauchy-Schwartz, maka diperoleh
| . ∗ | ‖ ‖‖ ∗ ‖
‖ ‖‖ ∗ ‖
⇔ | |‖ ∗ ‖
‖ ‖.
⇔ | |‖ ∗ ‖
, untuk � = { , , … , } diperoleh
Karena | |
Λ .
�i�‖ ∗ ‖
��

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
ℒ ℬ dengan ≠ sehingga ‖ ‖ � (ℒ ℬ .

Problem 4.5 (Pelacakan SVP)
Diberikan sebuah latis dengan basis ℬ dan
sehingga
� (ℒ ℬ
.

ℚ,

, bagaimana menentukan

, bagaimana menentukan

Algoritme LLL

Pengertian Basis Tereduksi
Berikut ini merupakan definisi dari basis tereduksi .
Definisi 4.10
Suatu basis ℬ = [ , , … , ] dalam ℝ disebut tereduksi LLL dengan
parameter jika memenuhi
1. | |
, untuk setiap bilangan bulat , dengan
< < ,
2.

dimana

‖� (



‖� (

+

‖ , untuk = , , … , − ,

merupakan parameter reduksi yang bernilai real dengan <

< .

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

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
‖ ∗‖
‖ ∗+ + + , ∗ ‖
⇔ ‖ ∗‖


⇔ ‖ ‖


+





+




+

‖ +

⇔ ‖ ‖



+ ,

+ ,


+ ‖


∗ �


+

+

‖‖


‖ .
+

+

‖+‖


+ , ‖
‖ ∗+ ‖

+ ,



+ ,









⇔( − + , ‖ ‖
.
Ketaksamaan diatas menyatakan bahwa vektor-vektor Gram-Schmidt dari
basis tereduksi LLL harus terurut turun dengan faktor penurunan sebesar −
∗ ∗
yang tidak memenuhi kondisi
+ , . Jika terdapat pasangan vektor ( , +
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 ‖ ‖ dari basis tereduksi .
Teorema 4.2
Jika ℬ = [






�−

,

] dalam ℝ adalah basis tereduksi , maka berlaku

,…,

Λ dengan � =

Bukti:
Misalkan ℬ = [
definisi diperoleh

,

�−

,…,

‖ ∗‖

⇔( −

.

] dalam ℝ adalah basis tereduksi , menurut


+ ,


+

+

+ ,

‖ ∗‖

⇔ ( − ) ‖ ∗‖






+






+





‖ ∗‖
‖ ∗+ ‖

��������������������������������������������������������⇔ ‖ ∗ ‖
�‖ ∗+ ‖ �.������������������������������������������
Dengan menerapkan pertidaksamaan (9) secara berulang diperoleh
‖ ∗‖
�‖ ∗ ‖

‖ ‖
�‖ ∗ ‖
‖ ∗‖
�‖ ∗ ‖


‖ ∗‖
� ‖ ∗‖
�‖ ∗ ‖
Dengan kata lain, secara umum untuk setiap
‖ ∗‖
� − ‖ ∗‖ ⇒ ‖ ∗ ‖ �
Karena berlaku untuk setiap
� , maka
������������������������������������������������‖

∗‖

(�





� − ‖ ∗‖ .
� = { , , … , }, maka

‖ ∗‖ ⇔ ‖

∗‖





‖ ∗ ‖.

) (�i�‖ ∗ ‖).����������������������������������������
��

19
Misalkan ℬ = [ , , … , ] dalam ℝ adalah basis tereduksi LLL untuk latis
Λ = ℒ ℬ , menurut Teorema 4.1 diperoleh
�i�‖ ∗ ‖
Λ
��

dan ketaksamaan persamaan (10) menjadi
∗‖



Bukti lengkap. ∎

(�



)

Λ .

Teorema 4.2 menyatakan bahwa vektor pertama pada basis tereduksi

merupakan jawaban dari Problem 4.4 dengan nilai
Reduksi Ukuran



=�

.

Sebagaimana telah dinyatakan dalam subbab sebelumnya bahwa syarat
reduksi ukuran yaitu | , |
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 ℬ =
[ , , … , ] dalam ruang vektor ℝ . Daerah fundamental terpusat (centered
fundamental region) dari Λ , dinotasikan dengan ℬ , didefinisikan sebagai
himpunan


/

ℬ = {∑
=

ℝ, −

< }.

ℬ �juga disebut parallelepiped dasar terpusat (centered fundamental region).

Proposisi 4.6
Jika Λ = ℒ ℬ adalah latis yang dibangkitkan oleh basis ℬ =
[ , , … , ] 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
, ,…,
ℝ sehingga
=∑
=

.

Kemudian, karena
ℝ� maka ada bilangan bulat ⌊
bilangan bulat terdekat (round) dari
sehingga
Selanjutnya,

=⌊

⌉+

dengan −



< .

ℤ (pembulatan ke

20
=∑
=

�������������������= ∑(⌊
=

��������������������������= ∑⌊



=

������������������������������������������������������������������=
Bukti lengkap. ∎

+ .

⌉+

+∑
=

Lema 4.2
Misalkan ℬ ∗ = [ ∗ , ∗ , … , ∗ ] adalah hasil proses ortogonalisasi GramSchmidt dari himpunan bebas linier ℬ = [ , , … , ] dan diberikan sebarang
ℬ . Jika = ∑ =
, maka
. ∗
= ∗ ∗.
.
Bukti:
Perhatikan bahwa
.



= ∑
=

.



=∑

( .

=

Bukti selesai setelah ditunjukkan bahwa
.



=(

�����������������=

���������=

����������������������������������������������������������=
Bukti lengkap. ∎








.

.

.



.



+∑






=





+∑
=


.

+∑
=

=

=



,

,



.

).





.





.
= ∗
.

sebagai berikut





.



.



,

Proposisi 4.7
Jika ℬ ∗ = [ ∗ , ∗ , … , ∗ ] adalah hasil proses ortogonalisasi Gram-Schmidt
dari himpunan bebas linier ℬ = [ , , … , ] , 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 =
sebagai berikut.

21
{

1. Definisikan
= , karena
ℝ sehingga
, ,

,

} , berarti ada tepat satu

,

=∑
=

dan berdasarkan Lema 4.2 dapat dituliskan
=∑

+

�����������������������= ∑

+

=

=

=∑
=

���������������������������

=



2. Definisikan

+






.

.

< . Selanjutnya,

dan dalam hal ini,�−

=∑

.

.

.
.





.

.

.

.

+


+



+



+



+



(





=∑

+∑
=

=

dan dalam hal ini, −

=

��������������������������������=

�����������������������������

3. Definisikan



.

.





< . Selanjutnya,
. ∗
+
+ ∗ ∗
.
. ∗
+ (
+ ∗ ∗
.


=

,

=





+

)⇔

+∑

. ∗
+

. ∗
Dari persamaan (11) dan karena { , } = { ∗ ,
{ , }
ℝ sehingga
dengan tepat satu
,
=
+
dan berdasarkan Lema 4.2, dapat dituliskan
. ∗
=
+ ∗ ∗
.

.
=
+
+

. ∗
=



,

+

∗}



+
,

.



. ������������

, maka



,





.�����������������������

22
. ∗
=

+

. ∗
{ } dan ada
Dari persamaan (12), maka
=
.
Berdasaran Lema 4.2 dapat dituliskan
. ∗
. ∗
= ∗ ∗⌉ = ⌊ ∗ ∗⌉+
.
.
dan dalam hal ini, −
< .
Maka
= +
dimana
. ∗
. ∗
.
= ⌊ ∗ ∗⌉ + ∗ ∗
+ ∗
.
.
.
dan



=
+
+
.



.

ℝ� sehingga







Dengan mudah dilihat bahwa
ℒ ℬ dan
ℬ ∗ . Bukti lengkap. ∎
Bukti dari proposisi sekaligus merupakan bukti kebenaran dari algoritme
berikut.
Algoritme 4.1
Input: ℬ = [ , , … , ] basis untuk ℒ ℬ
Output: Vektor latis
ℒ ℬ dan
ℬ∗
1. Dengan algoritme Gram-Schmidt,
menggunakan input ℬ = [ , , … ,
2. Inisialisasi ≔ dan ≔ .
3. Untuk = , − , … , hitung:
a)



dan
ℬ.
.
hitung [ ∗ , ∗ , … ,
].

+



Algoritme 4.2 (Menentukan Vektor Terdekat)
ℬ.
Input: ℬ = [ , , … , ]