Penyelesaian Masalah : Melalui Proses Pencarian

Penyelesaian Masalah

Penyelesaian atau pemecahan masalah adalah bagian dari proses berpikir. Sering dianggap merupakan proses paling kompleks di antara semua fungsi kecerdasan, pemecahan masalah telah didefinisikan sebagai proses kognitif tingkat tinggi yang memerlukan modulasi dan kontrol lebih dari keterampilan-keterampilan rutin atau dasar. Proses ini terjadi jika suatu organisme atau sistem kecerdasan buatan tidak mengetahui bagaimana untuk bergerak dari suatu kondisi awal menuju kondisi yang dituju.

Agen Pemecah Permasalahan

Dalam membangun sebuah sistem AI, perlu dipertimbangkan 4 hal, yaitu:

  1. Mendefinisikan masalah dengan tepat. Pendefinisian ini mencakup deskripsi masalah dengan baik
  2. Menganalisis masalah tersebut serta mencari beberapa teknik penyelesaian masalah yang sesuai
  3. Mempresentasikan pengetahuan yang perlu untuk menyelesaikan masalah tersebut
  4. Memilih teknik penyelesaian masalah terbaik.


Dalam menentukan teknik penyelesaian terbaik dalam AI memang tidak mudah, untuk itu ada beberapa teknik penyelesaian masalah yang perlu kita pahami, antara lain:

1. Searching
Teknik penyelesaian masalah yang mempresentasikan masalah kedalam ruang keadaan (state) dan secara sistematis melakukan pembangkitan dan pengujian state-state dari initial state sampai ditemukan suatu goal state.

2. Reasoning
Teknik penyelesaian masalah yang mempresentasikan masalah kedalam logic (Mathematical Tools yang digunakan untuk merepresentasikan dan memanipulasi fakta dan aturan)

3. Planning
Memecah masalah dalam sub-sub masalah yang lebih kecil, menyelesaikan sub-sub masalah satu demi satu, kemudian menggabungkan solusi-solusi dari sub masalah tersebut menjadi sebuah solusi lengkap.

4. Learning
Program komputer yang secara otomatis sanggup belajar dan meningkatkan performancenya  melalui pengalaman

Pencarian sebagai solusi pemecahan masalah

Searching adalah mekanisme pemecahan masalah yang paling umum di dalam kecerdasan buatan. Di dalam permasalahan-permasalahan kecerdasan buatan, urutan langkah-langkah yang dibutuhkan untuk memperoleh solusi merupakan suatu isu yang penting untuk diformulasikan. Hal ini harus dilakukan dengan mengidentifikasikan proses try and error secara sistematis pada eksplorasi setiap alternatif jalur yang ada.

METODE
PELACAKAN/PENCARIAN
  • Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian. Pencarian = suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space). Ruang keadaan = merupakan suatu ruang yang berisi semua keadaan yang mungkin.
  • Untuk mengukur perfomansi metode pencarian, terdapat empat kriteria yang dapat digunakan : 
- Completeness : apakah metode tsb menjamin penemuan solusi jika solusinya memang ada?
- Time comp y lexit : berapa lama waktu yg diperlukan?
- Space complexity : berapa banyak memori yg diperlukan
- Optimality : apakah metode tsb menjamin menemukan solusi yg terbaik terbaik jika terdapat terdapat beberapa beberapa solusi berbeda berbeda?

Strategi Pencarian yang Tidak Berbentuk/Uniformed Search Strategy

Masalah menentukan grafik dan sasaran, tapi bukan jalur mana yang harus dipilih dari perbatasan. Ini adalah tugas dari strategi pencarian. Strategi pencarian menentukan jalur mana yang dipilih dari perbatasan. Strategi yang berbeda diperoleh dengan memodifikasi bagaimana pemilihan jalur di perbatasan diterapkan.
  • Depth-First Search

Algoritma Depth First Search (DFS) adalah salah satu algoritma pencarian solusi yang digunakan di dalam kecerdasan buatan. Algoritma ini termasuk salah satu jenis uninformed algorithm yaitu algoritma yang melakukan pencarian dalam urutan tertentu tetapi tidak memiliki informasi apa-apa sebagai dasar pencarian kecuali hanya mengikuti pola yang diberikan.

Di dalam DFS, pencarian dilakukan pada suatu struktur pohon yaitu kumpulan semua kondisi yang mungkin yang diimplementasikan dalam sebuah struktur pohon. Paling atas adalah akar (root) yang berisi kondisi awal pencarian (initial state) dan di bawahnya adalah kondisi-kondisi berikutnya sampai kepada kondisi tujuan (goal state).
Untuk melakukan pencarian, DFS menggunakan cara sebagai berikut :

1. Masukkan Initial State pada Tumpukan.
2. Periksa apakah ada data di tumpukan.
3. Jika tidak, maka solusi tidak ditemukan, dan proses berhenti.
4. Jika ya, Ambil state pada tumpukan paling atas.
5. Bandingkan State tersebut apakah sama dengan Goal State
6. Jika sama, maka solusi ditemukan dan proses berakhir.
7. Jika tidak, ekspansikan state tersebut.
6. Masukkan seluruh state hasil ekspansi ke dalam tumpukan.
7. Kembali ke langkah 2.

Pada prinsipnya, DFS ini menggunakan tumpukan untuk menyimpan seluruh state yang ditemukan atau bisa dikatakan bahwa DFS menggunakan metode LIFO (Last In First Out).
  • Breadth-First Search

BREADTH-FIRST SEARCH (BFS) sebuah algoritma pencarian graf yang dimulai dari node pangkal dan menjelajahi semua node yang berdekatan.dan untuk setiap node yang berdekatan, bfs menjelajahi node-node yang tidak terlihat sebelumnya (unexplored) dan seterusnya

BFS adalah sebuah metode pencarian yang bertujuan untuk memperluas dan memeriksa semua node dari sebuah graf atau kombinasi dari urutan dengan menggunakan semua solusi secara sistematis. dengan kata lain, bfs mencari ke seluruh graf atau urutan secara mendalam tanpa mempertimbangkan tujuannya (goal) sampai tujuan itu tercapai. bfs tidak menggunakan algoritma heuristis.


Kelebihan BFS
- Tidak akan menemui jalan buntu.
- Menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan pasti yang paling baik.
- Jika ada satu solusi maka bread-first search akan menemukannya

Kekurangan BFS

Dan kekurangan dari metode BFS ini yaitu:
- Membutuhkan memori yang cukup banyak.
- Membutuhkan waktu yang cukup lama.
  • Uniform Cost Search (UCS)

Pencarian dengan Breadth First Search akan menjadi optimal ketika nilai pada semua path adalah sama. Dengan sedikit perluasan, dapat ditemukan sebuah algoritma yang optimal dengan melihat kepada nilai tiap path di antara node-node yang ada.

Selain menjalankan fungsi algoritma BFS, Uniform Cost Search melakukan ekspansi node dengan nilai path yang paling kecil. Hal ini bisa dilakukan dengan membuat antrian pada successor yang ada berdasar kepada nilai path-nya (node disimpan dalam bentuk priority queue).
  • Depth Limited Search

Pencarian menggunakan DFS akan berlanjut terus sampai kedalaman paling terakhir dari tree. Permasalahan yang muncul pada DFS adalah ketika proses pencarian tersebut menemui infinite state space. Hal ini bisa diatasi dengan menginisiasikan batas depth pada level tertentu semenjak awal pencarian. Sehingga node pada level depth tersebut akan diperlakukan seolah-olah mereka tidak memiliki successor.
  • Iterative Deepening Depth First Search

Iterative deepening search merupakan sebuah strategi umum yang biasanya dikombinasikan dengan depth first tree search, yang akan menemukan berapa depth limit terbaik untuk digunakan. Hal ini dilakukan dengan secara menambah limit secara bertahap, mulai dari 0,1, 2, dan seterusnya sampai goal sudah ditemukan.
  • Bidirectional Search

Pencarian dengan metode bidirectional search adalah dengan menjalankan dua pencarian secara simultan, yang satu dikerjakan secara forward dari initial state menuju ke goal, sedangkan yang satu lagi dikerjakan secara backward mulai dari goal ke initial state. Yang kemudian diharapkan bahwa kedua pencarian itu akan bertemu di tengah-tengah.





Comments

Popular posts from this blog

Genre Game Berbasis AI

Pengenalan Artificial Intelligence (AI)

Kecerdasan Buatan dan Permainan