Pendekatan Algoritma Divide and Conquer pada Hierarchical Clustering

dokumen-dokumen yang mirip
Penggunaan Algoritma Divide and Conquer Dalam Pewarnaan Graf

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

Proses mengelompokkan suatu set objek ke dalam kelompok-kelompok objek yang sejenis. Bentuk yang paling umum digunakan adalah unsupervised learning

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik

Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper

Penerapan Program Dinamis Pada Sistem Navigasi Otomotif

Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy

Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer

Penerapan Algoritma Greedy untuk Permainan Flood It

Penerapan Pohon Keputusan dalam Pengambilan Keputusan Terbaik dibidang Pemasaran Produk

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

I. PENDAHULUAN II. DASAR TEORI. Contoh lainnya: Solusi: 0= V,1= I,2= O,3= R, 4= N,5= L,7= A,8= F,9= E.

DSS untuk Menganalisis ph Kesuburan Tanah Menggunakan Metode Single Linkage

Clustering. Virginia Postrel

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

Penggunaan Pohon Biner Sebagai Struktur Data untuk Pencarian

Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis

Penerapan Relasi Rekursif dan Matriks dalam Partisi Bilangan Bulat

Algoritma Puzzle Pencarian Kata

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

I. PENDAHULUAN. Gambar 1. Contoh-contoh graf

Implementasi Algoritma Greedy dalam Pembagian kerja pada Mesin yang Identik

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

Algoritma Divide and Conquer untuk Optimasi Pemberian Efek Aura pada Permainan DotA (Defense of the Ancient)

JULIO ADISANTOSO - ILKOM IPB 1

Penerapan Algoritma Greedy dalam Permainan MarketGlory

Penerapan Algoritma Greedy dalam Permainan Tetris

Penerapan Algoritma Greedy pada Artificial Inteligence dalam Permainan Defence of the Ancient

Penerapan Stuktur FP-Tree dan Algoritma FP-Growth dalam Optimasi Penentuan Frequent Itemset

Implementasi Metode Jumlah Riemann untuk Mendekati Luas Daerah di Bawah Kurva Suatu Fungsi Polinom dengan Divide and Conquer

Aplikasi Divide and Conquer pada Perkalian Large Integer untuk Menghitung Jumlah Rute TSP Brute Force

Memanfaatkan Pewarnaan Graf untuk Menentukan Sifat Bipartit Suatu Graf

Penentuan Lintasan Terbaik Dengan Algoritma Dynamic Programming Pada Fitur Get Driving Directions Google Maps

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

Penerapan Algoritma Greedy Pada Permainan Kartu Truf

Analisis Penggunaan Algoritma RSA untuk Enkripsi Gambar dalam Aplikasi Social Messaging

Penggunaan Algoritma Greedy Dalam Perancangan Papan Teka Teki Silang

Aplikasi Algoritma Greedy dalam Kompresi Dokumen Teks

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Perbandingan Algoritma Pencarian Kunci di dalam Himpunan Terurut Melalui Linear Search dan Binary Search

Penggunaan Algoritma Brute Force dan Greedy dalam Permainan Atomas

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

Penerapan Algoritma Program Dinamis dalam Penjadwalan Pengerjaan Sekumpulan Tugas Pelajar

Optimasi Perhitungan Bilangan Fibonacci Menggunakan Program Dinamis

Perbandingan Metode Visual Sharing Scheme dan General Access Structure pada Kriptografi Visual

Aplikasi Algoritma Greedy untuk Menyelesaikan Permainan Hedgewars

Penentuan Hubungan Kompleksitas Algoritma dengan Waktu Eksekusi pada Operasi Perkalian

Penentuan Penempatan Kamera Pengawas Dalam Suatu Ruangan dengan Menggunakan Algoritma Divide and Conquer

Penggunaan Senarai Sirkuler dan Permutasi Inversi untuk Pengurutan pada Josephus Problem

Pembuatan Peta Permainan dengan BSP

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks

Decrease and Conquer

Algoritma Exhaustive Search Dalam Permainan Congklak

Penerapan Algoritma Backtrack pada Knight s Tour

Penerapan Algoritma Greedy dalam Penyetokan Barang

Pendeteksian Deadlock dengan Algoritma Runut-balik

Pencarian Jalur Terpendek Pada Sistem Jaringan Komputer Menggunakan Algoritma Program Dinamis

Studi Algoritma Optimasi dalam Graf Berbobot

Aplikasi Algoritma Greedy untuk Pergerakan Musuh pada Permainan Pac-Man

Penerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan

Penggunaan Algoritma Greedy dalam Optimasi Masalah Perkebunan

Penggunaan Struktur FP-Tree dan Algoritma FP- Growth dalam Rekomendasi Promosi Produk pada Situs Belanja Online

Our Way of Thinking I. PENDAHULUAN

Pendekatan Dynamic Programming untuk Menyelesaikan Sequence Alignment

I. PENDAHULUAN. 1.1 Permainan Rush Hour

Pemodelan Pembagian Kelompok Tugas Besar Strategi Algoritma dengan Masalah Sum of Subset

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

Penerapan Algoritma Backtracking pada Knight s Tour Problem

Penerapan Algoritma Divide and Conquer pada Material Requirements Planning

Penerapan Greedy pada Jalan Jalan Di Bandung Yuk! V1.71

Pemecahan Masalah Longest Increasing Subsequence Memanfaatkan Program Dinamis dan Binary Search

Menentukan Susunan Terbaik Tim Proyek dengan Algoritma Branch and Bound

Analisa Keputusan Manajemen dengan Pemrograman Dinamis

Memecahkan Puzzle Hidato dengan Algoritma Branch and Bound

Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS

Penentuan Palet Warna pada Gambar Raster dengan Algoritma Divide and Conquer

Aplikasi Algoritma Greedy dalam Penjurusan Mahasiswa Tingkat Pertama Institut Teknologi Bandung

BAB II LANDASAN TEORI

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

Penerapan Algoritma Backtracking pada Game The Lonely Knight

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Implementasi Struktur Data Rope menggunakan Binary Tree dan Aplikasinya dalam Pengolahan Teks Sangat Panjang

Penerapan Algoritma DFS dan BFS untuk Permainan Wordsearch Puzzle

Penerapan Algoritma Greedy dalam Algoritma Disk Scheduling Shortest Seek Time First

Pencarian Solusi Permainan Flow Free Menggunakan Brute Force dan Pruning

Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations

Aplikasi Strategi Algoritma dalam Pembagian Kelompok Tugas Besar

Pengenalan Trie dan Aplikasinya

Penentuan Menu Makan dengan Pemrograman Dinamis

Aplikasi Teori Graf dalam Penggunaan Cairan Pendingin pada Proses Manufaktur

Penerapan Algoritma BFS dan DFS dalam Permainan Ular Tangga

Penerapan Teknik Binary Search Tree Sebagai Alternatif Penyimpanan Data

Optimalisasi Susunan Tempat Duduk Kereta Api Menggunakan Algoritma Greedy dan Program Dinamis

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Transkripsi:

Pendekatan Algoritma Divide and Conquer pada Hierarchical Clustering Agnes Theresia Damanik / 13510100 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia 1 13510100@std.itb.ac.id Abstract Clustering adalah pengelompokan data berdasarkan kemiripan data. Clustering memudahkan individu untuk mencari data dan menemukan kesamaan yang terdapat antar data. Hierarchical clustering adalah salah satu pendekatan yang digunakan untuk melakukan clustering. Divide and conquer merupakan algoritma yang dapat mengatasi persoalan yang memiliki karakteristik yang mirip dengan upa-persoalan tersebut. Index Terms Clustering, Divide and Conquer, mirip, Hierarchical Clustering. I. PENDAHULUAN Clustering adalah metode panganalisaan data yang bertujuan mengelompokkan data dengan karakteristik yang sama ke dalam suatu wilayah yang sama dan data dengan karakteristik yang berbeda ke dalam wilayah yang lain. Beberapa contoh clustering yang telah dilakukan beberapa di antaranya adalah novel video face clustering, data stream clustering pada rekaman telepon, multimedia data, serta transaksi finansial. Terdapat beberapa pendekatan untuk mengembangkan metode clustering. Dua pendekatan utama adalah clustering dengan pendekatan partisi (partition-based clustering) dan clustering dengan pendekatan hirarki (hierarchical clustering). Clustering dengan pendekatan partisi dilakukan dengan mengelompokkan data dengan memilah-milah data yang dianalisas ke dalam clustercluster yang ada. Clustering dengan pendekatan hirarki merupakan clustering yang melakukan pengelompokan data dengan membuat suatu hirarki berupa dendogram, data yang mirip akan ditempatkan pada hirarki yang berdekatan dan yang tidak ditempatkan pada hirarki yang berjauhan. Gambar 1 Data Dua Dimensi dengan 5 Cluster Gambar 2 Obyek Dua Dimensi untuk Clustering Ecoli data II. DASAR TEORI 2.1 DIVIDE AND CONQUER Karakteristik utama dari sebuah permasalahan algoritma divide and conquer adalah persoalan tersebut, apabila dibagi ke dalam beberapa upa-masalah, memiliki karakteristik yang sama dengan karakteristik masalah

asal sehingga persoalan seringkali dapat diatasi dengan skema rekursif. Pada algoritma divide and conquer persoalan yang ada dibagi menjadi beberapa upa-masalah yang memiliki kemiripan dengan persoalan semula namun berukuran lebih kecil lalu upa-masalah tersebut masing-masing diselesaikan (dipecahkan) secara rekursif setelah semua dpecahkan solusi dari setiap upa-masalah digabungkan sehingga membentuk solusi persoalan semula. Gambar 4 Skema Umum Algoritma Divide and Conquer Gambar 3 Ilustrasi Algoritma Divide and Conquer Objek persoalan yang dibagi merupakan instans persoalan yang berukuran n seperti table (larik), matriks, serta eksponen. Metode divide and conquer secara natural dapat diungkapkan sebagai skema rekursif. Skema umum dari suatu algoritma divide and conquer diperlihatkan oleh gambar di berikut ini. 2.2 HIERARCHICAL CLUSTERING Seperti yang telah disebutkan sebelumnya, hierarchical clustering membangun sebuah hirarki berupa dendogram untuk mengelompokkan data-data yang mirip dan menjauhkan data-data yang tidak mirip. Strategi yang digunakan dalam hierarchical clustering terdiri atas dua jenis yaitu sebagai berikut. Agglomerative Pendekatan bottom up dimana pengamatan diawali pada masing-masing cluster dan setiap pasangan cluster dilebur menjadi satu menaik pada bagian atas hirarki Divisive Pendekatan top down dimana pengamatan dimulai dari suatu cluster dan pemecahan dilaksanakan secara rekursif seiring dengan satu pecahan bergerak ke bawah hirarki Pada umumnya, penggabungan dan pemecahan yang disebutkan di atas diputuskan secara greedy. Hasil dari hierarchical clustering direpresentasikan dalam dendogram. Dendogram adalah diagram pohon yang biasanya digunakan untuk mengilustrasikan pengaturan dari cluster-cluster yang dihasilkan oleh pendekatan hierarchical clustering. Untuk kasus-kasus umum, kompleksitas dari strategi agglomerative adalah O(n 3 ) yang tidak efektif digunakan pada himpunan data yang berukuran besar.

Susunan storage dari hirarki cluster pada harddisk. Cluster yang berada pada level yang lebih tinggi memiliki pointer ke keseluruhan cluster pada level di bawahnya. Algoritma dalam melakukan clustering dengan menggunakan pendekatan hierarchical clustering diperlihatkan pada gambar 6. Gambar 5 Hasil Hierarchical Clustering III. PENERAPAN ALGORITMA Algoritma divide and conquer dapat diterapkan untuk melakukan clustering dan menghasilkan hasil yang hirarki dari cluster tersebut namun bukan hierarchical clustering. Pendekatan divide and conquer yang dilakukan adalah dengan cara sebagai berikut. 1. Bagi (divide) himpunan data ke dalam bagian-bagian yang memiliki ukuran sama besar 2. Cluster (mengelompokkan) masing-masing bagian tersebut secara tersendiri akhirnya 3. Lebur bagian-bagian yang sudah di-cluster tadi menurut ketentuan jarak sebagai berikut: jika d(c1,c2)<t; maka: lebur C1 dan C2 Berikut ini merupakan proses cluster yang terjadi di harddisk. Divide and conquer clustering. Data stream diisikan pada blok B 0 sepotong demi sepotong. Gambar 6 Algoritma Hierarchical Clustering Tahapan pendekatan hierarchical clustering diperlihatkan pada gambar-gambar di bawah.

Pada tahap inisialisasi (iterasi t=0), dibuat lima terminal node yang diberi label 1...5 secara berurutan. Pada setiap tahap iterasi dimulai dari t=1 dan memenuhi t 1 dilakukan juga tahap untuk me-update yang akan diikuti oleh tahap penerimaan dimana dibuat node internal yang baru. Pada waktu update, dilakukan update atas sejumlah node yang sekiranya mampu memenuhi persyaratan. Tahap iterasi 1 Tahap iterasi 2 Tahap iterasi 3 IV. HASIL PENGUJIAN Pada dasarnya, solusi clustering yang diperoleh dengan menggunakan algoritma divide and conquer dan pendekatan hirarki cukup mirip. Salah satu hal yang membedakan adalah kompleksitas waktu yang disebabkan. Manurut algoritma divide and conquer kompleksitas waktu ketika menyelesaikan masalah clustering adalah O(p)+O(pq) dengan p sebagai jumlah bagian-bagian (potongan-potongan) dan q merupakan rata-rata dari jumlah cluster pada setiap bagian-bagian. Pada algoritma single link hierarchical clustering kompleksitas waktu yang diperoleh adalah O(n 2 ). Namun jika ada asumsi bahwa ketika hierarchical clustering diterapkan dan masing-masing bagian membutuhkan waktu yang sama dan konstan untuk semua bagianbagian maka O(n 2 ) akan menjadi O(1). V. KESIMPULAN Salah satu cara menyelesaikan permasalahan clustering adalah melalui pendekatan hirarki (hierarchical clustering). Pendekatan algoritma divide and conquer juga dapat digunakan untuk menyelesaikan permasalahan clustering dan dalam beberapa kasus himpunan data berukuran besar, algoritma ini cukup mangkus jika dibandingkan pendekatan hierarchical clustering. REFERENCES Tahap iterasi 4 [1] Munir, Rinaldi. 2009. Diktat Kuliah Strategi Algoritma IF3051 [2] http://yudiagusta.wordpress.com/clustering/ diakses Jumat 21 Desember 2011 pukul 13.00 WIB [3] http://www.sciencedirect.com/science/article/pii/s0925231207000 719 diakses Jumat 21 Desember 2012 pukul 14.30 WIB [4] http://en.wikipedia.org/wiki/hierarchical_clustering diakses Jumat 21 Desember 2012 pukul 14.41 WIB [5] http://cstheory.stackexchange.com/questions/10769/divide-andconquer-approach-for-hierarchical-clustering diakses Jumat 21 Desember 2012 pukul 15.01 WIB [6] http://www.nature.com/hdy/journal/v103/n1/fig_tab/hdy200929f1.h tml diakses Jumat 21 Desember 2012 pukul 15.33 WIB

PERNYATAAN Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi. Bandung, 21 Desember 2012 ttd Agnes Theresia Damanik 13510100