kecerdasan buatan
1. Jadi tekhnik
untuk menyelesaikan suatu masalah kecerdasan buatan dengan baik yaitu harus:
1.
Mendefinisikan suatu ruang keadaan masalah
dengan tepat
2.
Menganalisis masalah tersebut serta mencari beberapa tekhnik penyelesaian masalah yang
sesuai dan menetapkan satu atau lebih keadaan awal (initial state)
3.
Mempresentasikan pengetahuan untuk menyelesaikan
masalah tersebut dan menetapkan satu atau lebih tujuan.
4.
Menetapkan kumpulan aturan dan memilih tekhnik
penyelesaian masalah yang terbaik.
2. A. Blind Search atau Uninformed Search dan Heuristic Search atau
Informed Searchmengacu kepada metode pencarian dan perbedaan yang sangat
menonjol terletakbahwa Blind Search mengacu kepada pencarian tidak memiliki
informasi ataupengetahuan tambahan mengenai kondisi di luar dari yang telah
disediakan olehdefinisi masalah sedangkan Heuristic Search mengacu kepada
pencarian denganmemiliki informasi atau pengetahuan tambahan mengenai kondisi
di luar dari yangtelah disediakan oleh definisi masalah.A.Blind Search ( Uninformed
Search)Blind Search atau Uninformed Search secara umum mengartikan bahwa
saatproses pencarian kita tidak memiliki clue/hint apakah hasil yang ditemukan.
lebih baik daripada yang lainnya, sehingga kita tidak mengetahui apakah
hasildari eksplorasi tersebut bermanfaat secara maksimal atau tidak.Search
Space(ruang pencarian) dieksplorasi tanpa memanfaatkan apapuun informasi
yangmenyangkut pada masalah.
Contoh dari Blind Search:
1.
Breadth-First Search (BFS)BFS adalah algoritma
penelusuran yang memulai penelusuran dari nodeyang ditentukan (source atau node
awal) dan proses penelusuran(explore) dilakukan pada tiap tingkat terlebih
dahulu. Hal inimemastikan neighbour node (node yang terhubung secara
langsungdengan node source) dapat ditemukan. Lalu proses akan dilanjutkan
keneighbour node di tingkat selanjutnya.
2.
Uniform-Cost Search(UCS) Bila pada BFS,
pencarian dilakukan dengan melakukan ekspansi nodeberdasarkan urutan kedalaman
dari root, maka pada uniform costsearch, ekspansi dilakukan berdasarkan cost /
biaya dari root. Padasetiap langkah, ekspansi berikutnya ditentukan berdasarkan
costterendah atau disebut sebagai fungsi g(n) dimana g(n) merupakanjumlah biaya
edge dari root menuju node n. Node-node tersebutdisimpan menggunakan priority
queue.
3.
Depth-First SearchAlgoritme DFS adalah algoritma
recursion yang memanfaatkanbacktracking. Algoritma ini melakukan pencarian
secara mendalampada semua node dengan terus melakukan pencarian ke bawah
selamamemungkinkan. Jika tidak memungkinkan, algoritma ini akan beralih
Contoh dari heuristic search :
B. Heuristik adalah sebuah teknik yang
mengembangkan efisiensi dalam proses pencarian, namum dengan kemungkinan
mengorbankan kelengkapan (completeness). Fungsi heuristik digunakan untuk
mengevaluasi keadaankeadaan problema individual dan menentukan seberapa jauh
hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.
Jenis-jenis Heuristic Searching:
Metode Pencarian Terdapat banyak
metode yang telah diusulkan.
Semua metode yang ada dapat
dibedakan ke dalam 2 jenis :
1. Pencarian buta / tanpa
informasi (blind / un-informed search)
2. Pencarian heuristik / dengan
informasi (heuristic atau informed search)
setiap metode mempunyai
karakteristik yang berbeda-beda dengan kelebihan dan kekurangan masing-masing.
Kriteria mengukur performansi
1. Completeness :
Apakah metode tersebut menjamin
penemuan solusi jika solusinya memang ada?
2. Time complexity :
Berapa lama waktu yang diperlukan
?
3. Space complexity :
Berapa banyak memori yang
diperlukan ?
4. Optimality :
Apakah metode tersebut menjamin
menemukan solusi yang terbaik jika terdapat beberapa solusi yang berbeda ?
4 . Heuristic
Searching Sebagai Dasar dari Kecerdasan Buatan
Para peneliti
awal kecerdasan buatan menitik beratkan pada penyelesaian masalah yang tidak
menggunakan metoda komputasi konvensional.
Hal ini
disebabkan metoda pemecahan masalah konvensional tidak dapat lagi digunakan.
Permasalahan
pada sistem KB tidak memiliki algoritma tertentu. Kalaupun ada tentulah sangat
kompleks.
Karena itu
haruslah ditemukan sebuah teknik baru yang mirip dengan cara yang digunakan
oleh manusia untuk menyelesaikan masalah dan dapat diimplementasikan pada
komputer.
5 Salah satu
metoda yang cukup terkenal adalah metoda searching.
Searching
dalam sebuah struktur data telah menjadi dasar bagi algoritma komputer, tetapi
proses searching pada KB memiliki perbedaan.
Metoda
searching pada KB merupakan searching terhadap problem space bukan searching
data (e.g., angka, karakter, string) tertentu.
6 Proses
searching ini berupa jalur yang menggambarkan keadaan awal sebuah masalah
menuju kepada penyelesaian masalah yang diinginkan (i.e., the solved problem).
Jalur-jalur
ini mengambarkan langkah-langkah penyelesaian masalah.
Melalui proses
searching menuju sebuah penyelesaian akan terbentuk sebuah solution space.
7 Perhatikan
contoh penyelesaian masalah komputer pada Gambar 1.4.
Langkah
pertama untuk mengetahui apakah komputer dapat digunakan atau tidak adalah
men-switch ON.
Selanjutnya
dengan melakukan inspeksi terhadap kondisi lampu indikator kita dapat
menentukan langkah berikutnya.
Misalnya
kondisi lampu OFF.
Dengan
melakukan searching terhadap problem space kita akan tiba pada sebuah
penyelesaian masalah agar komputer dapat diaktifkan kembali.
9 BLIND / UN-INFORMED SEARCH
Istilah blind atau buta digunakan
karena memang tidak ada informasi awal yang digunakan dalam proses pencarian.
3. Berikut
ini, sekilas 6 metode yang tergolong blind search
a)
Breadth-First Search (BFS)
b)
Depth-First Search (DFS)
c)
Depth-Limited Search (DLS)
d)
Uniform Cost Search (UCS)
e)
Iterative-Deepening Search (IDS)
f)
Bi-Directional Search (BDS)
AA).
a). Breadth-first
Search
Breadth-first search (BFS)
melakukan proses searching pada semua node yang berada pada level atau hirarki
yang sama terlebih dahulu sebelum melanjutkan proses searching pada node di
level berikutnya.
Urutan proses searching BFS
ditunjukkan dalam Gambar 1.6 adalah: A,B,C,D,E,F, Breadth-First Search Pada metode
Breadth-First Search, semua node pada level n akan dikunjungi terlebih dahulu
sebelum mengunjungi node-node pada level n+1 Pencarian dimulai dari node akar
terus ke level ke-1 dari kiri ke kanan, kemudian berpindah ke level berikutnya
demikian pula dari kiri ke kanan hingga ditemukannya solusi Example: Perjalanan
dari Arad ke Bucharest First Step Second
StepThird Step Keuntungan Tidak akan
menemui jalan buntu (solusi lebih optimal)
Jika ada satu solusi, maka
breadth-first search akan menemukannya. Dan jika ada lebih dari satu solusi,
maka solusi minimum akan ditemukan.
Kelemahan:
Membutuhkan memori yang cukup
banyak, karena menyimpan semua node dalam satu pohon (membutuhkan simpul yam
umumnya relatif banyak)
Membutuhkan waktu yang cukup
lama, karena akan menguji n level untuk mendapatkan solusi pada level yang
ke-(n+1)
b). Depth-first Search
Depth-first search (DFS) adalah proses
searching sistematis buta yang melakukan ekpansi sebuah path (jalur) menuju
penyelesaian masalah sebelum melakukan ekplorasi terhadap path yang lain.
Proses
searching mengikuti sebuah path tunggal sampai menemukan goal atau dead end.
Apabila proses
searching menemukan dead-end, DFS akan melakukan penelusuran balik ke node
terakhir untuk melihat apakah node tersebut memiliki path cabang yang belum
dieksplorasi.
Apabila cabang ditemukan, DFS akan melakukan
cabang tersebut.
Apabila sudah
tidak ada lagi cabang yang dapat dieksplorasi, DFS akan kembali ke node parent
dan melakukan proses searching terhadap cabang yang belum dieksplorasi dari
node parent sampai menemukan penyelesaian masalah.
Urutan proses
searching DFS ditunjukkan dalam Gambar 1.5 adalah: A, B, E, F, G, C, ...
Kelebihan DFS adalah:
Pemakaian
memori hanya sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node
yang pernah dibangkitkan.Jika solusi yang dicari berada pada level yang dalam
dan paling kiri,maka DFS akan menemukannya secara cepat.
Kelemahan DFS
adalah: Jika pohon yang dibangkitkan mempunyai level yang dalam (tak
terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete).
Jika terdapat
lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka
pada DFS tidak ada jaminan untuk menemukan solusi yang paling baik (Tidak
Optimal).
c). Depth-Limited Search (DLS)
Metode ini
berusaha mengatasi kelemahan DFS (tidak complete) dengan membatasi kelemahan
maksimum dari suatu jalur solusi.Tetapi, sebelum menggunakan DLS, kita harus
tahu berapa level maksimum dari suatu solusi.
Definisi
Algoritma
Depth-Limited Search (DLS), adalah salah satu jenis algoritma pencarian solusi.
Algoritma ini dijalankan dengan cara membangkitkan pohon pencarian secara
dinamis. Pencarian solusi dilakukan secara mendalam.Pada dasarnya, algoritma
DLS sama dengan algoritma DFS, hanya saja dalam permasalahan penelusuran graf,
sebelumnya ditentukan terlebih dahulu batas maksimum level yang dikunjungi.
Algoritma Misalkan terdapat graf/pohon dengan n buah simpul dan v merupakan
simpul awal penelusuran maka algoritma DFS adalah sebagai berikut:
Tentukan batas
kedalaman pohon yang akan dikunjungi.Kunjungi simpul v.
Kunjungi
simpul w yang bertetangga dengan simpul v, yang berada di kedalaman pohon <=
batas.
Ulangi DLS
mulai dari simpul w.
Ketika
mencapai simpul u sedemikian sehingga semua simpul yang bertetangga dengannya
telah dikunjungi, pencarian dirunut-balik (backtrack) 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 dalam kedalaman pohon <= batas.
Kelebihan dan Kekurangan
DLS lahir
untuk mengatasi kelemahan DFS(tidak complete) dengan membatasi kedalaman
maksimum dari suatu jalur solusi. Tetapi harus diketahui atau ada batasan dari
sistem tentang level maksimum. Jika batasan kedalaman terlalu kecil, DLS tidak
complete.
Contoh 1 :Bila simpul awal adalah 1 dan batas kedalaman adalah 3 maka
urutan dikunjunginya adalah 1, 2, 4, 5, 3, 6,7.
Contoh 2 : Bila simpul awal juga 1 dan batas kedalaman adalah 3 maka
urutan dikunjunginya adalah 1, 2, 5, 6, 3, 7, 4
Definisi
Water Jug
problem adalah masalah yang membutuhkan konversi situasi menjadi situasi lain
yang diinginkan dengan menggunakan sekumpulan operasi tertentu. Dan masalah ini
dapat di selesaikan dengan merepresentasikan semua kemungkinan hasil dalam
sebuah pohon. Maka masalah ini dapat dikategorikan sebagai masalah yang
membutuhkan penelusuran graf.
Oleh karena itu penulis berpendapat bahwa masalah ini dapat
diselesaikan dengan baik dengan menggunakan keempat algoritma tersebut (BFS,
DFS, DLS, dan IDS).
Contoh 1 :Kita mempunyai sebuah gelas dengan kapasitas 4 liter dan
sebuah gelas yang lain dengan kapasitas (misalkan) 3 liter. Kedua gelas tidak
memiliki skala ukuran dan dalam keadaan kosong.
Kita ingin
mendapatkan air sebanyak 2 liter dalam gelas yang berkapasitas 4 liter dan tidak
boleh mendapatkannya dengan menggunakan prediksi sendiri. Selain itu, kita
harus mengikuti suatu operasi-operasi tertentu.
x adalah gelas
dengan kapasitas 4 liter
y adalah gelas
dengan kapasitas 3 liter
Pencarian
Solusi dengan menggunakan algoritma DLS
6 1 2 3 4 5 8
7
Langkah-langkah
yang dilakukan dalam pencarian solusi menggunakan algoritma DLS adalah Tentukan
kedalaman simpul yang dikunjungi (n), misalkan n=5.Masukkan simpul akar (0, 0)
ke dalam antrian q, jika simpul akar adalah simpul tujuan (goal node) maka
solusi ditemukan.Stop. Jika S kosong, tidak ada solusi. Stop.Cek apakah sesuai
dengan keinginan (2,0).Jika true maka solusi ketemu. Jika false maka bangkitkan
simpul tetangga, dan ulang (2), hingga kedalaman simpul yang dikunjungi <=
5.Source Code
d). procedure DLS (input v: Point,
level:integer) kamus w: point q: antrian algoritma write(v) dikunjungi[v] ←
true {array untuk menampung simpul yang sudah dikunjungi} level 1 while not
level > 5 do { kunjungi semua simpul di level 1,panggl algoritma DFS} if
A[v,w] = 1 then {simpul v dan simpul w bertetangga} if not dikunjungi[w] then
DLS(w, level) endif level level +1 endwhile
Perbandingan
Strategi Pencarian Keterangan faktor
percabangan kedalaman solusi kedalaman maksimum pohon pencarian kedalaman.
e). Uniform
Cost Search (UCS) Konsepnya hampir sama dengan BFS, bedanya adalah bahwa
BFS menggunakan urutan level yang paling rendah sampai yang paling tinggi,
sedangkan UCS menggunakan urutan biaya dari yang paling kecil sampai yang
terbesar.
UCS berusaha menemukan solusi
dengan total biaya terendah yang dihitung berdasarkan biaya dari simpul asal
menuju ke simpul tujuan.
f). Iterative-Deepening Search
(IDS)
IDS merupakan metode yang
menggabungkan kelebihan BFS (Complete dan Optimal) dengan kelebihan DFS (space
complexity rendah atau membutuhkan sedikit memori) Tetapi konsekwensinya adalah time complexitynya menjadi tinggi.
4. kegunaan AI
dalam kehidupan sehari hari:
1.
Streaming video/Musik.
2.
Search Engine
3.
Fitur Selfie
4.
4.GPS
5.
5.pemesanan Ojek online.
Komentar
Posting Komentar