BY SEARCHING
TKE-357 Artificial Intelligence
(kuliah #3)
Outline
Problem-Solving Agents
Tipe Problem
Formulasi Masalah
Pemecahan masalah dengan Searching
Blind Search/ Informed Search
Breadth-First Search
Deep-First Search
Informed Search
Best First Search
AM
Kecerdasan Buatan
Problem-solving Agent
AM
Kecerdasan Buatan
Problem-solving Agent
Empat langkah utama untuk problem solving:
Penentuan Tujuan (Goal)
Keadaan apa yang dianggap berhasil?
Search
Tentukan urutan tindakan menuju ke keadaan tertentu dan
kemudian memilih urutan yang terbaik.
Execute
Beri solusi dan lakukan tindakan
AM
Kecerdasan Buatan
Problem-solving Agent
function SIMPLE-PROBLEM-SOLVING-AGENT(percept) return an action
static: seq, an action sequence
state, some description of the current world state
goal, a goal
problem, a problem formulation
state UPDATE-STATE(state, percept)
if seq is empty then
goal FORMULATE-GOAL(state)
problem FORMULATE-PROBLEM(state,goal)
seq SEARCH(problem)
action FIRST(seq)
seq REST(seq)
return action
PROBLEM SOLVING AGENT GOAL BASED AGENT
AM
Kecerdasan Buatan
Tipe Problem
Deterministic, fully observable single state problem
Agent dapat mengetahui secara tepat, state yang mana
yang akan terjadi; solusi berupa sebuah urutan.
Agent mungkin tidak tahu pada state yang mana; Jika mungkin ada
solusi, juga berupa urutan.
Jika state dan action tidak diketahuai. (seperti bayi yang baru lahir)
AM
Kecerdasan Buatan
AM
Kecerdasan Buatan
AM
Kecerdasan Buatan
Kecerdasan Buatan
Kecerdasan Buatan
10
Pendeskripsian Masalah
Langkah Pendeskripsian Masalah:
Mendefinisikan suatu ruang keadaan (state space)
Path : link action yang menghubungkan state yang satu dengan
yang lain
Path Cost : Nilai dapat digunakan sebagai pertimbangan.
Kecerdasan Buatan
11
Bangil
start
Mojokerto
Jombang
Surabaya
Malang
goal
Nganjuk
Blitar
Kediri
Tulungagung
Trenggalek
AM -
Madiun
Ngawi
Kecerdasan Buatan
12
Pendeskripsian Masalah
Soulisnya berupa urutan tindakan dari initial state menuju goal state.
Solusi optimal mempunyai cost terendah.
AM
Kecerdasan Buatan
13
Kecerdasan Buatan
14
Contoh lain:
Contoh masalah:
Catur
Mengisikan air 2 liter ke teko 4 liter tanpa skala,
hanya disediakan teko 3 liter juga tanpa skala.
Missionaries and Cannibals
VLSI Layout
states?
actions?
goal test?
path cost?
AM
Kecerdasan Buatan
15
AM
Kecerdasan Buatan
16
Malang
Blitar
Tulungagung
Kediri Malang
Kecerdasan Buatan
17
Malang
Expanding Malang
Malang
Blitar
Bangil
Expanding Blitar
Malang
Blitar
Tulungagung
Bangil
Kediri
Jombang
Jombang
Malang
AM
Kecerdasan Buatan
18
AM
Kecerdasan Buatan
19
Teknik Pencarian
Didefinisikan berdasarkan cara melakukan ekspansi
node.
Kriteria pengukuran didasarkan pada:
Completeness
Waktu yang diperlukan (time complexity)
Space/memory yang diperlukan (space complexity)
Optimality
Kecerdasan Buatan
21
Teknik Pencarian
Any Path Uninformed
Breadth-First
Depth-First
Systematic exploration of
whole tree until a goal node is
found
Best First
Optimal Uninformed
Uniform Cost
Depth Limited etc
Optimal Informed
A*
AM
Kecerdasan Buatan
22
Uninformed Search
Tidak ada informasi tentang berapa tahap atau
path cost dari state sekarang menuju goal.
(Blind search)
Meliputi:
Breadth-first search
Uniform-cost search
Depth-first search
Depth-limited search
Iterative deepening search.
Bidirectional search
AM
Kecerdasan Buatan
23
Breadth-First Search
5
Visited
1 (S)
2 (A S) (B S)
A,B,S
3 (B S) (C A S) (D A S)
C,D,B,A,S
4 (C A S) (D A S) (G B S)*
G,C,D,B,A,S
5 (D A S) (G B S)
G,C,D,B,A,S
6 (G B S)
G,C,D,B,A,S
6
4
Note:
- BFS dengan mencatat node yang sudah dikunjungi
- Tidak boleh ada node yang dikunjungi berulang
- Path yang baru: bergaris bawah
- Path dalam urutan terbalik; paling depan adalah node untuk state sekarang
- * Tidak berhenti di sini, sampai semua path ditemukan
AM
Kecerdasan Buatan
24
Breadth-First Search
Dipastikan menemukan solusi
Jika ada lebih dari solusi, dapat dipilih yang terbaik.
Jika root menghasilkan b branch dalam setiap ekspansi
dan untuk menemukan solusi memerlukan kedalaman d,
maksimum node yang dibentuk adalah 1+b+b2+b3++bd
Jika ada 1000 node,satu node perlu waktu 1ms dan
100byte memori, jika solusi berada di kedalaman d=10
maka diperlukan 128 hari dan 1 terabyte memori !!!
AM
Kecerdasan Buatan
25
Depth-First Search
3
Visited
(S)
(A,S) (B S)
A,B,S
(D A S) (B S)
C,D,B,A,S
(G D A S) (B S)
G,C,D,B,A,S
2
A
C
4
D
5
G
Note:
- DFS dengan mencatat node yang sudah dikunjungi
- Tidak boleh ada node yang dikunjungi berulang
- Path yang baru: bergaris bawah
- Path dalam urutan terbalik; paling depan adalah node untuk state sekarang
AM
Kecerdasan Buatan
26
Depth-First Search
Selalu melakukan ekspansi sampai node node pada
level terdalam, jika tidak ditemukan akan kembali lagi
dari level atas.
Karena hanya menyimpan single path dari root ke leaf,
Untuk faktor pecabangan b dan kedalaman maksimum
m, teknik ini hanya perlu memori sebanding bm. Untuk
kasus sebelumnya, DFS hanya perlu 100kb.
Waktu yang diperlukan lebih cepat dari BFS, karena
pencarian berhenti jika sudah ditemukan satu solusi.
Jika ada kemungkinan solusi lain, tidak akan dilihat.
AM
Kecerdasan Buatan
27
AM
Kecerdasan Buatan
28
Breadth
-First
UniformCost
Depthfirst
Depthlimited
Itertive
Deepening
Biderectional
Time
bd
bd
bm
bl
bd
bd/2
Space
bd
bd
bm
bl
bd
bd/2
Optimal?
Yes
Yes
No
No
Yes
Yes
Complete?
Yes
Yes
No
Yes, if ld
Yes
Yes
AM
Kecerdasan Buatan
29
Informed Search
AM
Kecerdasan Buatan
30
Visited
1 (10 S)
2 (2 A S) (3 B S)
A,B,S
3 (1 C A S) (3 B S)
(4 D A S)
C,D,B,A,S
4 (3 B S) (4 D A S)
C,D,B,A,S
5 ( 0 G B S) (4 D A S)
G,C,D,B,A,S
5
D
4
B
Heuristic value:
A=2 B=3 C=1 D=4
S=10 G=0
Note:
- Best-FS dengan mencatat node yang sudah dikunjungi
- Tidak boleh ada node yang dikunjungi berulang
- Path yang baru: bergaris bawah
- Path dalam urutan terbalik; paling depan adalah node untuk state sekarang
AM
Kecerdasan Buatan
31
Pencarian Heuristik
Pencarian buta (uninformed search) tidak selalu dapat
diterapkan dengan baik
Waktu aksesnya yang cukup lama
Besarnya memori yang diperlukan
Metode heuristic search diharapkan bisa menyelesaikan
permasalahan yang lebih besar.
Metode heuristic search menggunakan suatu fungsi yang
menghitung biaya perkiraan (estimasi) dari suatu simpul
tertentu menuju ke simpul tujuan disebut fungsi heuristic
Aplikasi yang menggunakan fungsi heuristic : Google, Deep
Blue Chess Machine
Pencarian Heuristik
Tujuan
Keadaan Awal
3
4
Pencarian Heuristik
Operator
Ubin kosong geser ke kanan
Ubin kosong geser ke kiri
Ubin kosong geser ke atas
Ubin kosong geser ke bawah
Pencarian Heuristik
Langkah Awal
Tujuan
1
8
7
kiri
atas
kanan
1
3
4
Pencarian Heuristik
Langkah Awal hanya 3 operator yang bisa
digunakan
Ubin kosong digeser ke kiri, ke kanan dan ke
atas.
Jika menggunakan pencarian buta, tidak perlu
mengetahui operasi apa yang akan dikerjakan
(sembarang)
Pada pencarian heuristik perlu diberikan informasi
khusus dalam domain tersebut
8
7
kiri
atas
kanan
1
h=6
h=4
3
4
8
h=5
8
7
kiri
atas
kanan
1
h=2
h=4
3
4
8
h=3
8
7
kiri
atas
kanan
1
h=2
h=4
3
4
8
h=4
Tugas
Jelaskan kembali tentang pecarian buta (uninformed
search) dengan metode
Breadth First Search
Depth First Search
Kecerdasan Buatan
40
Tugas
Buatlah presentasi suatu sistem cerdas yang
proses pemecahan masalahnya memanfaatkan
metode pencarian
Contoh permasalahan:
menara hanoi,
Sudoku,
petani menyebarangkan sayur-kambing-perahu-singa,
Salesman travelling problem,
atau permasalahan lain.
Ketentuan :
Berkelompok (ada 3 kelompok, topik harus berbeda)
AM
Kecerdasan Buatan
41