Pages

Rabu, 02 November 2016

Blind Search

ALGORITMA GRAPH

·      Algoritma traversal di dalam graf adalah mengunjungi simpul – simpul dengan cara yang sistematik.

·                Pencarian Melebar ( Breadth First Search atau BFS )
·                Pencarian Mendalam ( Depth First Search atau DFS )

1.             Breadth First Search atau BFS
Breadth First Search adalah algoritma pencarian simpul dalam graf (pohon) secara traversal yang dimulai dari simpul akar dan mengecek semua simpul – simpul tetangganya. Setelah itu, dari tiap simpul tetangganya, algoritma akan terus mengecek semua simpul tetangganya yang belum dicek. Sedemikian seterusnya hingga menemukan simpul tujuan Breadth First Search. Interpreter kaidah mulai dari fakta yang ada yaitu hipotesa kemudian kaidah bagian THEN mulai di uji untuk mendukung hipotesa awal. Jika ditemukan maka kaidah IF yang cocok digunakan untuk menghasilkan hipotesa antara yang baru. kemudian proses berantai terus di ulang, mengumpulkan bukti yang mendukung, sehingga hipotesa kebenarannya.


 



Graf Breadth First Search

Breadth First Search merupakan proses penalaran dengan pendekatan proses goal – driven. Memulai titik pendekatannya dari goal yang akan dicari nilainya kemudian bergerak mencari informasi yang mendukung goal tersebut.

Keuntungan BFS:
·           Tidak menemui jalan buntu.
·           Jika ada suatu solusi, maka Braedth First Search akan menemukannya. Dan jika didapat lebih dari satu solusi, maka solusi minimum akan ditemukan.
Kelemahan BFS:
·           Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam suatu pohon.
·           Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level ke – ( n + 1 )
·           Idenya mirip dengan algo prim dan dijkstra.
·           Traversal dimulai dari simpul v.
·           Algoritma :
-       Kunjungi simpul v,
-       Kunjungi semua simpul yang bertetangga dengan simpul v terlebih dahulu,
-       Kunjungi simpul yang belum dikunjungi dan bertetangga dengan simpul – simpul yang tadi di kunjungi, demikian seterusnya.
·           Jika graf berbentuk pohon berakar, maka semua simpul pada aras d dikunjungi lebih dahulu sebelum simpul – simpul pada aras d + 1.

Representasi BFS
·           Pada umumnya graf di representasikan baik secara array ataupun list.
·           Dalam kuliah ini menggunakan Link LIST dan queue
Strucut node {
     int data;
     struct node *link;
};

BFS Properti dan Running Time
·           O ( V + E )
·           G = ( V, E ), bfs mencari seluruh vertex yang dapat diraih dari source s.
·           Untuk setiap vertex pada level l, path bfs tree antara s dan v mempunyai 1 edge dan selain path dalam G antara s dan v setidaaknya mempunyai 1 edge.
·           Jika ( u, v ) adalah edge maka jumlah level u dan v dibedakan setidaknya satu tingkat.
·           BFS menghitung seluruh jarak terpendek ke seluruh vertex yang dapat di raihnya.

Kegunaan BFS
·           Memeriksa apakah graph terhubung.
·           Menghitung spanning forest graph.
·           Menghitung, tiap vertex dalam graph, jalur dengan jumlah edge menimum antara vertex awal dan current vertex atau ketiadaan path.
·           Menghitung cycle dalam graph atau ketiadaan cycle.
·           O ( V + E )

Contoh BFS
·           Awal simpul adalah v1 dari graf G dibawah
·           Kunjungan BFS menghasilkan :
·           v1, v2, v5, v3, v4, v7, v6, v8, v9
 








2.             Depth First Search atau DFS
Metode Depth First Search dilakukan dengan node awal secara mendalam hingga yang paling akhir ( dead – end ) sampai ditemukan goal state. Dengan kata lain, simpul cabang anak yang terlebih dahulu dikunjungi. Andaikan tujuan yang diinginkan belum tercapai maka pencarian dilanjutkan ke cabang berikutnya hingga semua node di kunjungi.

Depth First Search ( DFS ) adalah algoritma pencarian simpul dalam graf secara traversal yang dimulai dari simpul akar dan mengecek simpul anaknya yang pertama, setelah itu, algoritma mengecek simpul anak dari simpul anak yang pertama tersebut, hingga mencapai simpul daun atau simpul tujuan.
·           Traversal dimulai dari simpul v.
·           Algoritma:
-                Kunjungi simpul v,
-                Kunjungi simpul w yang bertetangga dengan simpul v
-                Ulangi DFS mulai dari simpul w
-                Ketika mencapai simpul u sedemikian sehingga semua simpul yang bertetangga dengannya telah dikunjungi, pencarian dirunut – balik ke simpul terakhir yang dikunjungi sebelumnya dan mempunyai simpul w yang belum dikunjungi.
-                Pencarian berakhir bila tidak ada lagi simpul yang belum dikunjungi yang dapat dicapai dari simpul yang telah dikunjungi.

Keuntungan DFS:
·           Membutuhkan memori yang relaatif kecil, karena hanya node – node pada lintasan yang aktif yang disimpan.
·           Secara kebetulan, metode Depth First Search akan menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan.

Kelemahan DFS:
·           Memungkinkan tidak ditemukannya tujuan yang diharapkan
·           Hanya akan mendapatkan satu solusi pada setiap pencarian

Untuk memeriksa algoritma diatas, bahwa keadaan – keadaan turunan (descendent) ditambahkan atau dihapuskan dari ujung kiri open. Hasil dari penerapan algoritma.




Sumber :



Elearning.uin-suka.ac.id/attachment/pencarian_heuristik_bjyr6.pdf

0 komentar:

Posting Komentar