Anda di halaman 1dari 16

Problem Solving

Search -- Uninformed Search


Ref : Artificial Intelligence: A Modern Approach ch. 3

Senin, 11 Feb 2002


Pendahuluan

Hubungan searching dengan AI ?


Sistem AI, khususnya problem-solving agent (salah satu jenis
goal-based agent), diharapkan dapat memecahkan suatu
masalah secara autonomous. Salah satu cara untuk
melakukannya, adalah dng. mencari langkah-langkah yang
dapat mengantarkannya ke solusi menggunakan algoritma
search.
Pencarian solusi hanya bisa dilakukan setelah agent
mengetahui apa yang dihadapinya, apa yang dicarinya
perlu problem definition.
Secara kasar, simple problem-solving agent :
Percept Problem definition Search for solution Action.
2
Problem Definition

Ada berbagai macam masalah (problem types).


Problem types :
Single-state problems.
Satu aksi mengantarkan agent ke satu state lain.
Dapat menggunakan uninformed & informed search.
Multiple-state problems.
Satu aksi mengantarkan agent ke beberapa kemungkinan state.
Dapat menggunakan uninformed & informed search.
Contingency problems.
Hasil dari suatu aksi sangat sukar untuk diprediksi, agent mengetahui
efek apa yg. mungkin ditimbulkan oleh aksi yg.dilakukannya.
Selama aksi dilakukan, sensing juga diperlukan.
Umumnya menggunakan planning. Utk. kasus khusus spt. pada game
dng. 2 pemain dapat menggunakan metode-metode game playing.
3
Problem Definition
Exploration problems.
Agent sama sekali tidak mempunyai informasi mengenai efek dari aksi
yg. dilakukannya.
Agent perlu bereksperiman & belajar.
Dapat menggunakan metode learning yg. ada.
Problem definition & pencarian solusi yg. digunakan
tergantung problem type-nya.
Saat ini yg. dibahas hanya single-state & multiple state
problems.
Dlm. mendefinisikan problem perlu menentukan :
State & aksi yg. dipilih (problem formulation)
perlu abstraksi,
sangat tergantung pada tujuan yg. akan dicapai (goal formulation).
4
Problem Definition

Problem definition (single-state problems) dapat


dinyatakan dalam : contoh : lihat papan.
Initial state :
Keadaan/state awal.
Operator :
Aksi yang mungkin dilakukan agent. Aksi tersebut-lah yg. mampu
memindahkan agent dari satu state ke state lain yang masih berada
dalam state space-nya (himpunan seluruh state yang dapat dicapai dari
initial state melalui serangkaian aksi, merupakan gabungan antara
initial state dng. state-state yg. dihasilkan oleh operator yg. ada).
Goal test :
Menentukan apakah goal space telah tercapai atau belum.
Solusi : path yg. menghubungkan intial state dng. goal state.
5
Problem Definition

Path cost function (g):


Menentukan path mana (dlm. hal ini dapat dianggap juga rangkaian
aksi) mana yg. lebih preferable.
Problem definition utk. multiple-state problems hampir
sama dng. problem definition utk. single-state
problems, hanya saja state yg. ada berubah menjadi set
of state. Beberapa perubahan:
Initial state menjadi : Initial state set.
State space menjadi : State set space.
Path menghubungkan set of states satu ke set of states lain.
Solusi : path yg. menghubungkan initial state set ke set of
goal states.
6
Searching

Secara garis besar, searching dibedakan menjadi :


Uninformed search (blind search).
Tidak ada informasi mengenai jarak/cost dari current state ke goal
state.
Informed search.
Ada informasi mengenai jarak/cost dari current state ke goal state.
Hal yg. perlu diperhatikan dlm. searching :
Completeness: jk. solusi ada, apakah pasti akan ditemukan ?
Optimallity: jk. ada > 1 solusi, apakah selalu solusi terbaik yg.
diperoleh ?
Time Complexity: waktu yg. dibutuhkan utk. mendpt. solusi.
Space complexity: memory yg. dibutuhkan utk. melakukan
7
searching.
Searching

Akan dibahas 6 uninformed search :


Breadth-first search (BFS).
Uniform cost search.
Depth-first search (DFS).
Depth-limited search.
Iterative deepening search (IDS).
Bidirectional search.
Perbandingan ke-6 algoritma di atas bisa dilihat pd. ref.
hlm. 81, tabel 3.18.

8
Breadth-First Search (BFS)

Dari root, semua node anak di-expand, jika belum


ditemukan juga, semua anak dari node anak tsb. di-
expand lagi.
Struktur data : queue.
Complete.
Optimal (jk. kedalaman node = path cost).
Dng. b : branching factor, d : depth (solusi) :
Time complexity : O(bd).
Space complexity : O(bd).
Contoh : lihat papan.
9
Uniform Cost Search

Utk. mengatasi agar search tetap optimal meskipun


kedalaman node != path cost. Node diurutkan & di-
expand berdasarkan path cost-nya. Akan = BFS jk.
semua node n memiliki path cost(n)= depth(n).
Complete.
Optimal (jk semua path cost non-decreasing/tidak ada
yg. negatif), lihat contoh di papan.
Dng. b : branching factor, d : depth (solusi) :
Time complexity : O(bd).
Space complexity : O(bd).
Contoh : lihat papan. 10
Depth-First Search (DFS)

Dari root, salah satu anaknya di-expand sampai level


terendah/sampai solusi ditemukan. Jk. solusi belum
ditemukan, expand anak lain lagi, dst.
Struktur data : stack.
Tidak complete (bisa solusi ada, tapi stuck di inf. loop).
Tidak optimal (bisa solusi yg. labih baik ada, tapi yg.
keambil yg. kurang baik).
Dng. b : branching factor, m : max. depth :
Time complexity : O(bm).
Space complexity : O(bm).
Contoh : lihat papan. 11
Depth-Limited Search

Sama dng. DFS, hanya saja depth yg. akan di-expand


dibatasi. Hal ini utk. menghindari inf. loop/pencarian
yg. tdk. optimal krn. mencari terlalu dalam.
Complete (batas depth >= depth(solusi) / Tidak
complete (bisa solusi ada, tapi > batas depth).
Tidak optimal (bisa ada > 1 solusi pd. depth < batas
depth, tapi yg. keambil solusi yg. kurang baik).
Dng. b : branching factor, l : batas depth :
Time complexity : O(bl).
Space complexity : O(bl).
Contoh : lihat papan. 12
Iterative Deepening Search (IDS)

Gabungan antara BFS & DFS. Pencarian dilakukan per


level. Utk. tiap level, dilakukan DFS dng. level tersebut
sebagai batas depth.
Mengatasi kesulitan mencari batas depth pd. depth
limited search.
Complete.
Optimal.
Time complexity : O(bd).
Space complexity : O(bd).
Contoh : lihat papan.
13
Bidirectional Search

Pencarian dilakukan 2 arah, dari root & dari goal.


Solusi berhasil ditemukan ketika path dari root & goal
bertemu.
Complete.
Optimal.
Time complexity : O(bd/2).
Space complexity : O(bd/2).
Contoh : lihat papan.

14
Constraint Satisfaction Problem (CSP)

States : values of a set of variables.


Goal test : a set of constraints that the values must obey.
Dapat diselesaikan dng. metode searching biasa & dpt.
pula dng. algoritma khusus (constraint satisfaction
search, lebih efisien).
CSP dapat dikelompokkan menjadi :
Berdasarkan banyaknya variabel dng. constraint :
Unary, binary, higher-order.
Apakah constraint merupakan keharusan atau preference :
Absolute, preference.
Berdasarkan nilai domain :
Discrete, continuous. 15
Constraint Satisfaction Search

Dng. memanfaatkan constraint, node yg. perlu di-


expand menjadi lebih sedikkit shg. waktu yg.
dibutuhkan oleh searching lebih sedikit.
Ada 2 macam :
Backtracking search.
Memeriksa yg. telah di-expand.
Forward checking.
Memeriksa dulu sebelum meng-expand.

16

Anda mungkin juga menyukai