ANALISA TEKNIK SEARCHING, REASONING, PLANING DAN LEARNING PADA KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)
ANALISA TEKNIK SEARCHING, REASONING, PLANING DAN
LEARNING PADA KECERDASAN BUATAN
(ARTIFICIAL INTELLIGENCE)
A. SEARCHING
Searching
di dalam kecerdasan buatan adalah salah satu metode penyelesaian masalah dengan
pencarian solusi pada suatu permasalahan yang dihadapi. Teknik searching itu
sendiri terbagi menjadi dua, yaitu :
1. Blind Searching (un-informed)
2. Heuristic Searching (informed)
1. Blind Searching
Blind
Searching adalah model pencarian buta atau pencarian yang tidak memiliki
inforamasi awal, model pencarian ini memiliki tiga ciri – ciri utama yaitu :
Ø Membangkitkan simpul berdasarkan urutan
Ø Jika ada solusi maka solusi akan ditemukan
Ø Hanya memiliki informs tentang node yang telah
dibuka (node selanjutnya tidak diketahui)
Blind
Searching sendiri dibagi menjadi beberapa bagian diantaranya sebagai berikut :
1.1
Breadth-First
Search (BFS)
Breadth-First Search (BFS) atau
dikenal juga dengan nama algoritma pencarian melebar adalah algoritma yang
melakukan pencarian secara melebar yang mengunjungi simpul secara preorder
yaitu mengunjungi suatu simpul kemudian mengunjungi semua simpul yang
bertetangga dengan simpul tersebut terlebih dahulu. Selanjutnya, simpul yang
belum dikunjungi dan bertetangga dengan simpulsimpul yang tadi dikunjungi ,
demikian seterusnya. 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 dibawah ini.
1.2 Depth-First
Search (DFS)
Depth-First
Search (DFS) adalah salah satu algoritma penelusuran struktur graf / pohon
berdasarkan kedalaman. Simpul ditelusuri dari root kemudian ke salah satu
simpul anaknya ( misalnya prioritas penelusuran berdasarkan anak pertama
[simpul sebelah kiri] ), maka penelusuran dilakukan terus melalui simpul anak
pertama dari simpul anak pertama level sebelumnya hingga mencapai level
terdalam.
Setelah sampai di level terdalam,
penelusuran akan kembali ke 1 level sebelumnya untuk menelusuri simpul anak
kedua pada pohon biner (simpul sebelah kanan) lalu kembali ke langkah
sebelumnya dengan menelusuri simpul anak pertama lagi sampai level terdalam dan
seterusnya. Contoh pohon biner Depth First Search adalah sebagai berikut.
Maka,
urutan penelusurannya adalah : A – B – D – H – E – I – C – F – G – J – K – L
1.3 Depth-Limited
Search (DLS)
Depth Limited Search (DLS) merupakan
algoritma yang kemudian dikembangkan untuk
menyempurnakan dari Depth First
Search. Depth Limited Search juga menggunakan konsep yang
sama dengan DFS namun
perbedaan nya adalah Depth Limited
Search mencari batas kedalaman
pencarian nya. Maka dari itu Depth Limited Search di sebut juga konsep penyempurna DFS
1.4 Uniform Cost
Search (UCS)
Uniform
Cost Search (UCS) adalah sebuah algoritma pencarian untuk menemukan solusi yang
optimal dan harga yang minimum. Pada UCS, teknik pencariannya memperhatikan
cost/jarak antara 1 node ke node lain, berikut ini adalah ilustrasinya.
pada
permasalahan diatas telah ditentukan jarak antara node, maka pada UCS akan
membuka node yang memiliki nilai/cost antar node yang terendah.
pada
gambar diatas jika kita buka
c
= 10
b
= 20
a
= 10
karena
nilai c dan a sama maka teserah mau buka yang mana lebih dahulu. Seandainya
kita mebuka c maka kita teruskan pencariannya, jika kita buka
d
= 10+5 =15
e
= 10+40 = 50 (mencapai goal, namun nilai cost nya dirasa masih terlalu besar)
maka kita buka node d, lalu akan didapat
maka kita buka node d, lalu akan didapat
e
= 10+5+30 = 45 (nilai pada pencarian ini pun terasa masih terlau besar) maka dari
itu kita buka node yang kecil di awal tadi yaitu node a, setelah kita buka node
a akan di dapat e = 10 + 20 = 30 (di dapatkan goal dengan solusi terbaik)
Dari kasus diatas dapat kita lihat,
ada banyak cara unuk mendapatkan solusi. namun dari berbagai macam penyelesaian
kasus, kita dapat mencari solusi yang paling optimal dan ini lah ke unggulan
dari UCS.
1.5 Iterative-Deepening
Search (IDS)
Iterative Deepening Search (IDS) juga merupakan jenis dari uninformed search,
algoritma ini
merupakan gabungan dari kelebihan Breath First Search(BFS) dan
Depth First Search (DFS).
Kelebihan dari BFS dimana cara ini tidak menemukan
jalan buntu (complete dan optimal) sementara
kelebihan dari DFS yaitu tidak
membutuhkan banyak memori. IDS ini melakukan proses pencarian
secara iterative.
Dengan konsep penelusuran secara DFS dimulai dari limit 1. Saat solusi belum
ditemukan makan pencarian dilakukan lah iterasi ke-2, pencarian kini limitnya bertambah
menjadi 1
level menjadi limit 2, bila solusi masih belum ditemukan lakukan
kembali iterasi ke-3 dengan
menambah limit 1 level menjadi limit 3. Begitu
seterusnya hingga ditemukan solusi yang dicari
1.6 Bi-Directional Search (BDS)
Salah
satu contoh yang termasuk Uninformed search yaitu bi-directional search. Dari
namanya bisa ditebak yaitu pencarian yang dilakukan secara 2 arah, yaitu dari
state awal menuju solusi(goal) dan satu lagi dari solusi (goal) ke state awal.
Pencarian ini bertujuan menemukan solusi atau jalan terbaik dimana nantinya 2
pencarian yang berlangsung simultan ini akan bertemu di sebuah titik potong.
Algoritma ini membutuhkan informasi lengkap tentang solusi atau goal yang
dituju. Kesulitan dari algoritma ini bila terjadi banyak kemungkinan dimana
cabangnya banyak sehingga proses pencarian menjadi lebih lambat
Kompleksitas
= O(bd/2)
2. Heuristic Searching
Heuristik
adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namum
dengan kemungkinan mengorbankan kelengkapan (completeness). Fungsi heuristik
digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan
seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang
diinginkan. Jenis-jenis Heuristic
Searching:
Ø Generate and Test.
Ø Hill Climbing.
Ø Best First Search.
Ø Means-EndAnlysis, Constraint Satisfaction, dll.
2.1 PEMBANGKITAN dan PENGUJIAN (Generate and Test)
Metode
ini merupakan penggabungan antara depth-first search dengan pelacakan mundur
(backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan awal.
Algoritma
:
1.
Bangkitkan suatu kemungkinan solusi (membangkitkan suatu tititk tertentu atau
lintasan tertentu dari keadaan awal).
2.
Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan
cara membandingkan node terebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang
diharapkan.
3.
Jika solusi ditemukan, keluar. Jika
tidak, ulangi kembali langkah pertama.
Contoh
: “Travelling Salesman Problem (TSP)”
*)
Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah
diketahui. Kita ingin mengetahui ruter terpendek dimana setaip kota hanya boleh dikkunjungi tepat 1 kali. Misalkan ada
4 kota dengan jarak antara tiap-tiap
kota seperti berikut ini :
Alur
pencarian dengan Generate and Test
Pencarian ke-
|
Lintasan
|
Panjang Lintasan
|
Lintasan terpilih
|
Panjang Lintasan terpilih
|
1
|
ABCD
|
19
|
ABCD
|
19
|
2
|
ABDC
|
18
|
ABDC
|
18
|
3
|
ACBD
|
12
|
ACBD
|
12
|
4
|
ACDB
|
13
|
ACBD
|
12
|
5
|
ADBC
|
16
|
ACBD
|
12
|
Dst…..
|
2.2 PENDAKIAN BUKIT (Hill Climbing)
Metode
ini hampir sama dengan metode pembangkitan dan pengujian, hanya saja proses
pengujian dilakukan dengan menggunakan fungsi heuristic. Pembangkitan keadaan
berikutnya tergantung pada feedback dari prosedur pengetesan. Tes yang berupa
fungsi heuristic ini akan menunjukkan seberapa baiknya nilai terkaan yang
diambil terhadap keadaan-keadaan lainnyayang mungkin.
Algoritma:
1.
Cari operator yang belum pernah digunakan; gunakan operator ini untuk
mendapatkan keadaan yang baru.
a)
Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai tidak
ada operator baru yang akan diaplikasikan pada keadaan sekarang : Cari operator
yang belum digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru.
b)
Evaluasi keadaan baru tersebut : – Jika keadaan baru merupakan tujuan, keluar –
Jika bukan tujuan, namun nilainya lebih baik daripada keadaan sekarang, maka
jadikan keadaan baru tersebut menjadi keadaan sekarang. – Jika keadaan baru
tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi.
Contoh:
TSP dengan Simple Hill Climbing Disini ruang keadaan berisi semua kemungkinan
lintasan yang mungkin. Operator digunakan untuk menukar posisi kota-kota yang
bersebelahan. Apabila ada n kota, dan kita ingin mencari kombinasi lintasan
dengan menukar posisi urutan 2 kota, maka kita akan mendapatkan sebanyak
n!/2!(n-2)! atau sebanyak 6 kombinasi.
Fungsi heuristic yang digunakan adalah panjang lintasan yang terjadi.
2.3 PENCARIAN TERBAIK PERTAMA (Best-First Search)
Metode ini merupakan kombinasi
dari metode depthfirst search dan breadth-first search. Pada metode best-first
search, pencarian diperbolehkan mengunjungi node yang ada di level yang lebih
rendah, jika ternyata node pada level yang lebih tinggi ternyata memiliki nilai
heuristic yang lebih buruk. Fungsi Heuristik yang digunakan merupakan prakiraan
(estimasi) cost dari initial state ke goal state, yang dinyatakan dengan :
f’(n)
= g(n) + h’(n)
f’ = Fungsi evaluasi
g = cost dari initial state ke current state
h’ = prakiraan cost dari current state ke goal state
Contoh: Misalkan kita memiliki ruang
pencarian seperti pada gambar berikut. Node M merupakan keadaan awal dan node T
merupakan tujuannya. Biaya edge yang menghubungkan node M dengannode A adalah
biaya yang dikeluarkan untuk bergerak dari kota M ke kota A. Nilai g diperoleh
berdasarkan biaya edge minimal. Sedangkan nilai h’ di node A merupakan hasil
perkiraan terhadap biaya yang diperlukan dari node A untuk sampai ke tujuan.
h’(n) bernilai ~ jika sudah jelas tidak ada hubungan antara node n dengan node
tujuan (jalan buntu). Kita bisa merunut nilai untuk setiap node
2.4 MEA (Means-Ends Analysis)
MEA
adalah strategi penyelesaian masalah yang diperkenalkan pertama kali dalam GPS
(General Problem Solver) [Newell & Simon, 1963].
Proses
pencarian berdasarkan ruang masalah yang menggabungkan aspek penalaran forward
dan backward. Perbedaan antara state current dan goal digunakan untuk
mengusulkan operator yang mengurangi perbedaan itu. Keterhubungan antara
operator dan perbedaan tsb disajikan sebagai pengetahuan dalam sistem (pada GPS
dikenal dengan Table of Connections) atau mungkin ditentukan sampai beberapa
pemeriksaan operator jika tindakan operator dapat dipenetrasi.
Contoh
OPERATOR first-order predicate calculus dan operator2 tertentu mengijinkan
perbedaan korelasi task-independent terhadap operator yang menguranginya. Kapan
pengetahuan ada tersedia mengenai pentingnya perbedaan, perbedaan yang paling
utama terpilih pertama lebih lanjut meningkatkan rata-rata capaian dari MEA di
atas strategi pencarian Brute-Force.
Bagaimanapun,
bahkan tanpa pemesanan dari perbedaan menurut arti penting, MEA meningkatkan
metode pencarian heuristik lain (di rata-rata kasus) dengan pemusatan pemecahan
masalah pada perbedaan yang nyata antara current state dengan goal-nya.
B. REASONING
Penalaran
secara literal Bahasa Inggris adalah reasoning. Berasal dari kata reason, yang
secara literal berarti alasan. Berarti reasoning atau to reason adalah
memberikan/memikirkan alasan. Mungkin beberapa dari kita masih belum memahami
betul apa arti penalaran. Apakah orang yang salah nalar berarti orang bodoh?
Tidak, orang salah nalar bisa terjadi karena strategem (kecohan yang bertujuan
tertentu), salah nalar (reasoning fallacy), atau salah nalar karena aspek
kemanusiaan. Jadi, bedakan antara penalaran dan kebodohan.
Penalaran
dari aspek teoritis dapat didefinisikan sebagai proses berpikir logis dan
sistematis untuk membentuk dan mengevaluasi suatu keyakinan terhadap pernyataan
atau asersi. Tujuan dari penalaran adalah untuk menentukan secara logis dan
objektif, apakah suatu pernyataan valid (benar atau salah) sehingga pantas
untuk diyakini atau dianut. Dari definisi dan tujuan, dapat dilihat bahwa
penalaran digunakan untuk mengevaluasi apakah suatu pernyataan itu dapat
diyakini atau dianut atau kembali secara literal, kita melihat alasan (reason)
dibalik suatu pernyataan.
Pada
pembahasan kali ini akan membahas teknik reasoning (penalaran), yakni teknik
penyelesaian masalah dengan cara merepresentasikan masalah kedalam basis
pengetahuan (knowledge base) menggunakan logic atau bahasa formal (bahasa yang
di pahami komputer). Disini, kami memfokuskan bahasan pada proposional logic
(logika proposisi) dimana didalamnya terdapat tata bahasa pada proposition
logic, semantic pada proposition logic, aturan inverensi pada proposition
logic, masalah dunia wumpus (contoh penggunaan propositional logic), dan
terakhir knowledge base systems, dan kami akan membahas secara singkat tentang
first order logicatau predicate calculus (kalkulus predikat), dan fuzzy logic
(logika samar).
Berbeda dengan searching yang yang
merepresentasikan kedalam state dan ruang masalah serta menggunakan strategi pencarian
untuk menemukan solusi, reasoning merepresentasikan masalah kedalam basis
pengetahuan dan merupakan proses penalaran untuk menemukan solusi. Pada teknik
searching, dua masalah utama yang dihadapi adalah: kesulitan dalam menentukan
apakah aturan produksi (operator) sudah lengkap atau belum. Jika masalah yang
dihadapi cukup kompleks, maka akan terjadi ketidakefisienan representasi
keadaan (state). Misalkan untuk masalah 8-puzzle representasi suatu state
adalah: delapan posisi angka, satu parent,
dan maksimum 4 suksesor. Bagaimana jika masalah yang dihadapi adalah
permainan catur satu state harus direpresentasikan sebagai 32 posisi buah catur
dan 1 state bisa memiliki sangat banyak suksesor (faktor percabangan sangat
besar) jika satu buah catur rata-rata bisa melakukan 1 langkah, maka satu state
bisa memiliki 16 suksesor. Dengan demikian ruang masalahnya akan sangat besar.
Untuk solusi dilevel 10, maka BFS harus membangkitkan dan menyimpan 1610 state!
Cara representasi ini tidak mungkin digunakan untuk prosesor dan kapasitas
memory komputer saat ini. Bagaimana solusinya, solusi yang mungkin adalah
menggunakan representasi yang jauh lebih sederhana yaitu menggunakan logic.
Lima jenis logic untuk merepresentasikan basis pengetahuan dan untuk melakukan
penalaran ditunjukkan pada tabel di bawah ini.
Logic
yang paling sederhana adalah proporsition logic dimana suatu simbol menyatakan
1 proposisi (fakta) yang bisa bernilai benar atau salah. Simbol proposisi bisa
dihubungkan dengan Boolean Connectives sehingga membantuk suatu kalimat.
Bagaimanapun, untuk masalah yang kompleks, propositional logic tidak bisa
digunakan secara praktis karena kita harus membangun banyak sekali fakta untuk
merepresentasikan keadaan sederhana.
First-order
logic merepresentasikan fakta dan aturan di dunia nyata dengan cara yang lebih
baik yaitu menggunakan objek, predikat (relasi), dan connectives serta quantifier
sehingga beberapa fakta sederhana dapat direpresentasikan kedalam suatu kalimat
logika. Pada first-order logic semua relasi bersifat tetap pada waktu kapanpun.
Untuk masalah yang kompleks dimana suatu relasi bisa berubah sesuai dengan
perubahan waktu, maka diperlukan logic bentuk lain yang disebut temporal logic.
Pada
temporal logic, dunia nyata direpresentasikan dengan sederetan interval waktu
dan penalaran dilakukan berdasarkan fakta-fakta yang nilai kebenarannya
bergantung pada deretan waktu tersebut. Pada masalah yang lain, nilai kebenaran
tidak harus benar, salah atau tidak diketahui. Mungkin saja terdapat
nilai-nilai lain diantaranya. Probability theory adalah logic yang
merepresentasikan fakta dengan derajat kepercayaan yang bernilai antara 0
(tidak dipercaya sama sekali atau salah) sampai 1 (dipercaya sepenuhnya atau
benar). Yang terakhir adalah fuzzy logic yang menggunakan derajat kebenaran
dengan tingkat kepercayaan antara 0 dan 1. Misalkan, ‘Bandung adalah kota yang
nyaman’ mungkin benar tingkat kepercayaan 0.4.
C. PLANNING
Planning
adalah suatu metode penyelesaian masalah dengan cara memecah masalah ke dalam
sub-sub masalah yang lebih kecil, menyelesaikan sub-sub masalah satudemi satu,
kemudian menggabungkan solusi-solusi dari sub-sub masalah tersebut
menjadisebuah solusi lengkap dengan tetap mengingat dan menangani interaksi
yang ada antar sub masalah.
Planning
berbeda dengan Search-Based Problem Solving dalam hal representasi goals,
states, dan actions, juga berbeda dalam representasi dan pembangunan
urutan-urutan action. Planning berusaha untuk mengatasi kesulitan-kesulitan
yang dialami dalam Search-Based Problem Solving.
Pengujian
keberfungsian suatu metode perencanaan dapat dilakukan pada suatu domain yang dinamakan
Dunia Balok (Blocks-World). Dunia Balok dinilai cukup layak sebagai lahan
pengujian karena tingkat kompleksitas permasalahan yang mungkin timbuldi
dalamnya. Di dalam Dunia Balok dikenal istilah initial-state dan goal-state
yang masing-masing direpresentasikan
oleh suatu komposisi dari sejumlah balok. Kemudian,ada satu set operator yang
dapat diaplikasikan oleh sebuah tangan robot untuk memanipulasi balok.
Permasalahan yang ada di dalam Dunia Balok adalah: Rangkaianoperator seperti
apa yang dapat mengubah initial-state menjadi goal-state? Rangkaian operator
tersebut biasa disebut sebagai Rencana Penyelesaian
Dua
metode perencanaan yang cukup populer dan sudah pernah diuji pada Dunia Balok
adalah Goal-Stack-Planning (GSP) dan Constraint-Posting (CP). GSP dan CP
memiliki kelemahan dan keunggulan masing-masing. Dari segi kemudahan
implementasidan biaya komputasi, GSP lebih unggul dibanding CP. Sedangkan, dari
segi efisiensiRencana Penyelesaian yang dihasilkan, CP pada umumnya lebih
unggul dibanding GSP.
Tetapi,
dari seluruh kemungkinan permasalahan yang timbul pada Dunia Balok,meskipun GSP
dan CP mampu menghasilkan rencana-rencana penyelesaian, namun rencana-rencana
penyelesaian yang dihasilkan pada umumnya tidak efisien[RIC91]. Padahal,
rencana penyelesaian yang efisien adalah salah satu hal yang penting, terutama
pada sistem-sistem raksasa. Pada domain tertentu, pemecahan masalah menggunakan
komputer perlu dilakukan dengan cara bekerja pada bagian-bagian kecil dari
masalah secara terpisah kemudian menggabungkan solusi-solusi per bagian kecil
tersebut menjadi sebuah solusi lengkap dari masalah. Karena, jika hal-hal
tersebut tidak dilakukan, jumlah kombinasi state dari komponen masalah menjadi
terlalu besar untuk dapat ditangani dipandang dari segiwaktu yang tersedia.
Dua
syarat untuk melakukan dekomposisi di atas adalah :
- Menghindari penghitungan ulang dari seluruh state masalah ketika terjadi perubahandari suatu state ke state lainnya.
- Membagi masalah ke dalam beberapa sub masalah yang relatif lebih mudah untuk diselesaikan.
Penggunaan
metode-metode yang terfokus pada cara mendekomposisi masalah ke dalam sub-sub
masalah yang sesuai dan cara untuk mengingat dan menangani interaksi antar sub
masalah ketika terjadi proses penyelesaian masalah tersebut diistilahkan dengan
Perencanaan.
Pemecahan
masalah dengan menggunakan perencanaan pada umumnya:
- Modus Goal-Directed, yaitu pencarian solusi dilakukan dari kondisi goal-state sampai ke kondisi initial-state yang dapat dicapai.
- Runut-Balik-Terpandu-Kebergantungan (Dependency-Directed-Backtracking) ketika menemukan jalan buntu.
Untuk
berpindah dari satu state ke state lainnya, perencana diperkenankan untuk
mengaplikasikan sejumlah operator. Sebuah sistem perencanaan pada umumnya perlu
untuk mampu:
- Memilih operator
- Mengaplikasikan operator
- Mendeteksi ketika solusi telah tercapai
- Mendeteksi jalan-jalan buntu
- Mendeteksi ketika solusi yang hampir benar telah dicapai dan melakukan teknik khusus untuk membuat solusi tersebut menjadi benar
Pemilihan
operator pada umumnya dilakukan dengan:
- Pertama, mengumpulkan kondisi pembeda goal-state dan current –state (current – state adalah suatu state yang menunjukkan kondisi saat ini).
- Kedua, mengidentifikasi operator yang dapat mengurangi perbedaan tersebut.
Pendeteksian
bahwa solusi telah ditemukan dilakukan dengan cara menguji rangkaian operator
yang telah dihasilkan. Jika rangkaian operator tersebut dapat mengubah kondisi initial-state
menjadi goal-state, maka solusi telah ditemukan.
Pendeteksian
jalan-jalan buntu dilakukan dengan: jika suatu rangkaian operator menghasilkan
state yang diyakini bukan state antara goal-state dan initial-state atau jika
kemajuan yang dicapai dianggap terlalu kecil atau menimbulkan permasalahan yang
lebih sulit, maka rangkaian operator tersebut dianggap telah menemukan atau
akan menuju jalan buntu.
Membuat
solusi yang hamper benar menjadi benar dilakukan jika teknik yang dipakai dalam
pencarian solusi hanya menghasilkan rangkaian solusi yang hamper benar.
Perencana kemudian akan mengaplikasikan suatu metode tertentu untuk membuat
solusi yang hampir benar tersebut menjadi benar.
Untuk
menghindari pencatatan kondisi keseluruhan di setiap titik persimpangan (node)
dalam pencarian solusi, pengaplikasian operator memerlukan tiga daftar predikat
untuk mendeskripsikan perubahan kondisi, yaitu:
- PRECONDITION : predikat – predikat yang harus bernilai benar sebelum pengaplikasian operator
- ADD: predikat-predikat yang bernilai benar setelah pengaplikasian suatu operator.
- DELETE : predikat-predikat yang bernilai salah setelah pengaplikasian suatu operator
Ketiga
daftar predikat tersebut selanjutnya disebut dengan daftar-PAD
1.
Dunia Balok
Dunia
Balok adalah sebuah domain dengan karakteristik:
- Memiliki sebuah permukaan datar tempat menyimpan balok, umumnya disebut dengan meja.
- Memiliki sejumlah balok kotak yang berukuran sama.
- Memiliki sebuah tangan robot yang dapat memanipulasi balok.Untuk memudahkan pendefinisian kondisi balok pada suatu state dalam.
Dunia
Balok digunakan predikat-predikat berikut :
- ON (A, B) – Balok A menempel di atas balok B.
- ONTABLE (A) – Balok A berada di permukaan meja.
- CLEAR (A) – Tidak ada balok yang sedang menempel di atas balok A.
Sedangkan,
untuk tangan robot digunakan :
- HOLDING (A) – Tangan robot sedang memegang balok A.
- ARMEMPTY – Tangan robot tidak sedang memegang balok.
Permasalahan
yang akan dicari rencana penyelesaiannya adalah permasalahan yang memenuhi
spesifikasi berikut:
- Jumlah balok sama.
- Balok yang berada pada initial-state juga berada pada goal-state.
- Kondisi terdefinisi dengan benar.
- Tangan robot tidak sedang memegang balok.
2.
Goal-Stack-Planning (GSP)
Dalam
menyelesaikan sebuah masalah, GSP menggunakan sebuah stack untuk menampung
kondisi-kondisi (kondisi goal dan kondisi-kondisi yang mungkin terjadi ketika
pencarian solusi) dan operator-operator yang telah diajukan untuk memenuhi
kondisi-kondisi tersebut. Juga, tergantung pada sebuah basis data yang
menggambarkan current –state dan satu set operator yang dideskripsikan sebagai
daftar predikat PRECONDITION, ADD dan DELETE
atau daftar-PAD.
Langkah
– langkah menyelesaikan masalah
- Langkah pertama GSP dalam menyelesaikan sebuah masalah adalah menempatkan kondisi-kondisi goal-state pada stack. Kondisi-kondisi tersebut akan disimpan di dalam sebuah slot stack.
- Langkah kedua, mengacu pada current -state, kondisi-kondisi goal-state yang belum tercapai dimasukkan ke dalam stack, masing-masing menempati sebuah slot. GSP tidak memiliki aturan khusus yang mengatur urutan pemasukan ke dalam stack dari kondisi-kondisi yang belum tercapai tersebut
- Langkah ketiga, slot terisi yang berada paling atas pada stack akan diperiksa. Hal-hal yang akan dilakukan bergantung pada kondisi slot tersebut. Kondisi yang mungkin terjadi pada slot tersebut adalah sebagai berikut:
Kondisi
1
Jika
slot berisi kondisi yang sudah memenuhi current -state, tetapi slot tidak
terletak di dasar stack dan juga tidak terletak di atas slot yang berisi
operator, maka isi slotakan di-pop dari stack dan pemeriksaan dilanjutkan pada
slot berikutnya.
Kondisi
2
Jika
slot berisi kondisi yang belum memenuhi current –state maka isi slot akan
di-pop dari stack. Kemudian, sebuah operator yang sesuai untuk mencapai kondisi
tersebut akan dimasukkan ke dalam stack. Setelah itu, serangkaian kondisi yang
dibutuhkanagar operator itu bisa diaplikasikan akan dimasukkan ke dalam sebuah
slot stack. Selanjutnya, setiap kondisi dari rangkaian kondisi yang dibutuhkan
operator agar dapat diaplikasikan tersebut akan dimasukkan ke dalam sebuah slot
secara terurut, dimana kondisi yang harus dicapai paling akhir dimasukkan
pertama kali.
Kondisi
3
Jika
slot berisi kondisi atau rangkaian kondisi dan slot tersebut berada di atas
slot yang berisi operator, maka isi slot teratas dari stack tersebut akan
di-pop. Kemudian, operator pada slot berikutnya akan di-pop dan dimasukkan ke
dalam antrian operator dalam rencana penyelesaian dan current –state di-update
dengan mengaplikasikan operator tersebut pada current –state berdasarkan
daftar-PAD.
Kondisi
4
Jika
slot yang diperiksa adalah slot terdasar maka akan diuji kesamaan antara
current – state dan goal-state. Jika
sama (berarti goal-state telah tercapai) maka isi slot akan di- pop dan
pencarian rencana penyelesaian dihentikan. Jika berbeda (goal-state belum
tercapai) maka langkah ke dua diulangi. Jika kondisi yang terjadi bukan kondisi
4,setelah rangkaian tindakan yang bersesuaian dilakukan, langkah ketiga
diulangi
GSP
mungkin menemui jalan buntu yang disadari (meningkatkan biaya komputasi) atau
pun yang tidak disadari (membuat rencana penyelesaian tidak efisien). Jalan
buntu yang tidak disadari disebabkan karena GSP tidak memiliki aturan untuk
mengurutkan pemasukan kondisi goal-state yang belum tercapai ke alam stack
(langkah ke-2).
3.
Constraint Posting (CP)
Berbeda dengan GSP yang berusaha mencapai
kondisi goal-state dengan secara terurut berusaha mencapai sebuah kondisi pada
suatu saat dengan operator-operator yang dibangkitkan pada rencana penyelesaian
yang dihasilkan terurut untuk menyelesaikan kondisi pertama yang ingin dicapai,
kedua dan seterusnya (linear-planning ), CP bekerja secara paralel untuk
mencapai kondisi-kondisi pada goal-state (non-linear-planning), berdasarkan
kepada keyakinan bahwa: pada kebanyakan masalah, sub-sub masalah perlu untuk
dikerjakan secara simultan [RIC91]. CP membangun rencana penyelesaian dengan
secara bertahap menganalisa operator-operator, secara parsial mengurutkan
operator-operator dan melekatkan variabel antar operator. Sehingga, pada suatu
saat dalam proses penyelesaian masalah, bisa didapatkan sekumpulan operator
meskipun cara yang jelas untuk mengurutkan operator-operator tersebut mungkin
tidak dimiliki
D. LEARNING
learning adalah
metode analisis yang membantu menangani data besar dengan cara mengembangkan
algoritma komputer. Dengan menggunakan data, pembelajaran mesin memungkinkan
komputer menemukan wawasan tersembunyi tanpa diprogram secara eksplisit saat
mencarinya. Dengan adanya email baru, algoritma tersebut kemudian akan
menghasilkan prediksi apakah email baru itu spam atau tidak.
Machine learning
adalah aplikasi artificial intelligence (AI) yang menyediakan sistem kinerja
secara otomatis serta belajar memperbaiki diri dari pengalaman tanpa diprogram
secara eksplisit. Pembelajaran mesin berfokus pada pengembangan program
komputer yang bisa mengakses data dan menggunakannya untuk belajar sendiri.
Penerapan metode Machine Learning dalam beberapa tahun terakhir telah
berkembang di mana-mana dalam kehidupan sehari-hari.
Proses
pembelajaran dimulai dengan observasi data, seperti contoh: pengelaman
langsung, atau intruksi untuk mencari pola data dan membuat keputusan yang
lebih baik dimasa depan berdasarkan contoh tersebut. Tujuan utamanya adalah
membiarkan komputer belajar secara otomatis tanpa intervensi atau bantuan
manusia dan menyesuaikan aktivitas yang sesuai. Karena teknologi komputasi,
machine learning saat ini tidak seperti machine learning di masa lalu.
Sementara,
algoritma machine learning sudah ada sejak lama, kemampuannya secara otomatis
menggunakan perhitungan matematis yang kompleks ke data besar dan yang lebih
cepat merupakan perkembangan terakhir. Machine Learning merupakan salah satu
cabang dari disiplin ilmu AI (Artificial Intellegence) atau Kecerdasan Buatan
yang membahas mengenai pembangunan sistem yang berdasarkan data.
Sebenarnya,
masih ada banyak lagi situs web dan perangkat modern yang mungkin besar dan
berisi beberapa model Machine Learning yang mungkin tidak kita sadari. Model
tersebut digunakan untuk melakukan klasifikasi atau prediksi terhadap data baru
yang memungkinkan kita untuk membuat atau mendukung pengambilan keputusan.
Berikut adalah beberapa contoh aplikasi pembelajaran mesin yang dipublikasikan
secara luas:
- Mobil Google yang sangat hyped dan self-driving. Inti pembelajaran mesin.
- Penawaran rekomendasi online seperti Amazon dan Netflix. Aplikasi belajar mesin untuk kehidupan sehari-hari.
- Mengetahui apa yang pelanggan katakan tentang Anda di Twitter. Pembelajaran mesin dikombinasikan dengan pembuatan aturan linguistik.
- Deteksi penipuan Salah satu kegunaan yang lebih jelas dan penting di dunia kita saat ini.
Machine Learning
meningkat karena faktor data mining dan analisis Bayesian lebih populer dari
sebelumnya. Pengolahan komputasi yang lebih murah dan lebih bertenaga termasuk
penyimpanan data yang terjangkau merupakan peningkatan. Semua hal ini secara
cepat dan otomatis menghasilkan model yang dapat menganalisis data yang lebih
besar dan lebih komplek memberikan hasil yang lebih cepat dan akurat dalam
skala yang sangat besar.
Prediksi nilai
tinggi bisa mengarah pada keputusan dan tindakan cerdas secara real-time tanpa
campur tangan manusia. Salah satu kunci untuk menghasilkan gerakan cerdas
secara real-time merupakan pembuatan model otomatis.
Komentar
Posting Komentar