Tema yang akan saya bahas pada blog saat ini berhubungan
dengan AI (Artificial Intelligence) atau dalam bahasa Indonesia bisa
disebut kecerdasan buatan. Apa itu AI?
Artificial Intelligence adalah bidang ilmu komputasi yang
memungkinkannya untuk memahami, bernalar dan bertindak. Bagian utama dari Artificial
Intelligence yaitu :
1. Basis Pengetahuan ( Knowledge Base)
·
Berisi fakta-fakta, teori, pemikiran dan
hubungan antara satu dengan lainnya.
2. Motor Inferensi (Inference Engine)
·
Kemampuan menarik kesimpulan berdasarkan
pengalaman.
Langkah penyelesaian masalah berdasarkan AI :
1. Mendefinisikan problema dengan tepat
·
Berisi kondisi awal dan situasi akhir yang
menghasilkan solusi yang dapat diterima.
2. Menganalisis masalah
3. Memilih teknik terbaik
Program pelacakan menggunakan satu algoritma atau lebih,
tapi algoritma tsb tidak memecahkan masalah secara langsung dengan rumus
melainkan hanya untuk menguji pangkalan pengetahuan dengan cara yang teratur
agar didapatkan solusi yang diharapkan. Metode menggunakan pangkalan pengetahuan adalah pelacakan
yaitu suatu teknik mencari jawaban atas pertanyaan dengan cara menguji berbagai
alternatif yang ada dalam pengkalan pengetahuan dengan cara “trial and error”.
Trial and Error adalah salah satu metode yang bisa di gunakan
dalam mencari solusi sebuah masalah. Metode ini banyak ditemukan dalam bidang
informatika atau ilmu komputer. Trial and error menggunakan pendekatan
aplikatif dari sebuah algoritma yang akan digunakan untuk menyelesaikan suatu
masalah.
Metode pencarian dikatakan
penting untuk menyelesaikan permasalahan karena setiap state (keadaan)
menggambarkan langkah-langkah untuk menyelesaikan permasalahan. Metode pencarian
juga penting untuk perencanaan karena dalam sebuah permainan akan menentukan
apa yang harus dilakukan, di mana setiap state menggambarkan kemungkinan posisi
suatu saat. Metode pencarian adalah bagian dari kesimpulan, di mana setiap
state menggambarkan hipotesis dalam sebuah rangkaian deduktif.
Mendefinisikan Masalah
Sebagai Suatu Ruang Keadaan
Secara umum, untuk mendeskripsikan suatu permasalahan
dengan baik harus :
1. Mendefinisikan suatu ruang keadaan.
2. Menerapkan satu atau lebih keadaan awal.
3. Menetapkan satu atau lebih tujuan.
4. Menetapkan kumpulan aturan.
Teknik Pencarian
Pada dasarnya ada dua teknik pencarian yaitu yang
biasanya digunakan :
a. Pencarian Buta (Blind Search)
b. Pencarian terbimbing (Heuristic Search)
Pencarian buta merupakan sekumpulan prosedur yang
digunakan dalam melacak ruang keadaan. Pencarian berlangsung sampai solusi
terakhir ditemukan. Idenya adalah menguji seluruh kemungkinan yang ada untuk
menemukan solusi.
1. Pencarian Melebar Pertama (Breadth-First Search)
Pada metode Breadth-First Search, menguji semua node
dalam pohon pelacakan mulai dari node akar. Node yang ada pada setiap tingkat
seluruhnya diuji sebelum pindah ke tingkat berikutnya.
2. Pencarian Mendalam Pertama (Depth-First Search) Pada Depth First Search, proses pencarian akan
dilaksanakan pada semua anaknya sebelum dilakukan pencarian ke node-node yang
selevel. Pencarian dimulai dari node akar ke level tinggi. Jika keadaan tujuan
tidak tercapai maka proses dilakukan dengan jalan pelacakan backtrak ke node sebelumnya.
Menjamin bisa menemukan solusi tapi waktu pelacakannya lama.
Heuristic yang
berasal dari bahasa Yunani yang berarti “menemukan / menyingkap”. Pencarian
terbimbing merupakan pencarian yang membantu mengurangi wilayah pelacakan yang
bisa menimblukan berbagai alternatif solusi sehingga dapat membimbing ke tujuan
yang diinginkan.
1. Pencarian Mendaki Bukit (Hill Climbing)
Merupakan pelacakan depth first yang memanfaatkan
heuristik untuk menentukan jarak yang terpendek atau biaya terendah menuju
tujuan yang diinginkan. Pembangkitan keadaan berikutnya sangat bergantung pada
timbal balik dari prosedur pengetesan.
2. Pencarian Terbaik Pertama (Best
First Search)
Merupakan kombinasi
dari breadth first dan depth first. Pencarian diperbolehkan mengunjungi node yang ada di
level yang lebih rendah, jika ternyata node yang lebih tinggi ternyata memiliki
nilai heuristrk yang lebih buruk.
SEMANTIC
NETWORK
Semantic network adalah reprentasi yang mengekspresikan solusi
permasalahan dengan menggunakan network (graph berarah).Didalamnya digunakan
node (simpul) untuk mereprentasikan
suatu kondisi dan arc (link) untuk merepresentasikan relasi antar simpul.
Sebagai contoh adalah permasalahan petani, padi, angsa, serigala.
Seorang petani ingin memindahkan dirinya sendiri , seekor serigala, seekor
angsa gemuk dan seikat padi untuk menyeberangi sungai. Sayangnya perahunya
sangat terbatas, dia hanya dapat membawa satu objek dalam satu
penyeberangan.Dan lagi, dia tidak dapat meninggalkan serigala dan angsa dalam
satu tempat, karena serigala akan memangsa angsa. Demikian pula dia tidak bisa
meninggalkan angsa dan padi dalam satu tempat karena angsa akan memangsa padi
Analisa
Penyelesaian :
Berdasarkan
gambaran diatas maka dapat kita analisa bahwa pertama petani membawa angsa ke
seberang sungai lalu petani kembali lagi ke tempat semula. Kedua Petani akan
membawa padi ke seberang kemudian padi diturunkan dan petani membawa angsa
kembali. Ketiga Petani membawa serigala ke seberang lalu petani menurunkan
serigala. Petani kembali ke tempat semula dan membawa angsa ke seberang sungai.