Anda di halaman 1dari 40

Problem Solving

BY SEARCHING
TKE-357 Artificial Intelligence
(kuliah #3)

Stuart Russel, Peter N: Artificial Intelligence A Modern Approach. Chapter 3.


Lecture Notes-6.034 Artificial Intelligence. 2004 by MIT. http://ocw.mit.edu.
Sri Kusumadewi. Artificial Intelligence. BAB 2.

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

Vacuum Cleaner world

Ambulance driver world.


Sales Person.

Agent dapat menetukan satu tujuan (goal) dan berusaha


untuk mencapainya. (kuliah #2)

AM

Kecerdasan Buatan

Problem-solving Agent
Empat langkah utama untuk problem solving:
Penentuan Tujuan (Goal)
Keadaan apa yang dianggap berhasil?

Penentuan Masalah (Problem)


Langkah dan keadaan apa agar dapat mencapai tujuan?

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.

Partial knowledge of states and actions:

Non-observable sensorless or conformant problem

Agent mungkin tidak tahu pada state yang mana; Jika mungkin ada
solusi, juga berupa urutan.

Nondeterministic and/or partially observable contingency


problem
Percept memberikan informasi baru tentang state sekarang; Solusi
berupa tree atau aturan-aturan; Agent harus memperhitungkan
seluruh tree (tidak sekedar satu urutan state).

Unknown state space exploration problem (online)

Jika state dan action tidak diketahuai. (seperti bayi yang baru lahir)

AM

Kecerdasan Buatan

Contoh: Vacuum World


Tipe :Single state,
Mulai di #5. Solusi??

AM

Kecerdasan Buatan

Contoh: Vacuum World


Tipe :Single state,
Mulai di #5. Solusi??
{right, suck]

AM

Kecerdasan Buatan

Contoh: Vacuum World


Tipe :Single state,
Mulai di #5. Solusi??
{right, suck]
Sensorless: mulai di
{1,2,3,4,5,6,7,8} misal: right
menuju {2,4,6,8}. Solusi??

Contingency: mulai di {1,3}.


(Aturan baru: menyedot debu
dapat mengotori karpet.
Solusi?? (tidak ada urutan
tertentu)
AM

Kecerdasan Buatan

Contoh: Vacuum World


Tipe :Single state,
Mulai di #5. Solusi??
{right, suck]
Sensorless: mulai di
{1,2,3,4,5,6,7,8} misal: right
menuju {2,4,6,8}. Solusi??
[right, suck, left,suck]

Contingency: mulai di {1,3}.


(Aturan baru: menyedot debu
dapat mengotori karpet. Solusi??
[right, suck if dirty]
(tidak ada urutan tertentu)
AM

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.

Menetapkan satu atau lebih keadaan awal (initial state)


Menetapkan satu atau lebih tujuan (goal, solution)
Goal test : Fungsi untuk menentukan tujuan telah tercapai.

Menetapkan kumpulan aturan


Operator : urutan state yang dicapai setelah action
datatype PROBLEM
components: INITIAL-STATE, OPERATORS, GOAL-TEST, PATH-COST-FUNCTION
AM

Kecerdasan Buatan

11

Contoh : Pendeskripsian Masalah


Sidoarjo

Bangil
start

Mojokerto
Jombang

Surabaya

Malang

goal

Nganjuk
Blitar
Kediri
Tulungagung

Trenggalek
AM -

Madiun
Ngawi
Kecerdasan Buatan

12

Pendeskripsian Masalah

Contoh deskripsi masalah:


Initial state, e.g. Malang
Operator: fungsi suksesor S(X)= set of action-state pairs
e.g. S(Malang)={<Malang Blitar, Blitar>,}

intial state + Fungsi Suksesor = state space


Goal test, Misalnya
Eksplisit, misal x= di Surabaya
Implisit, e.g. ada_pelabuhan(x)

Path cost (additive)


Misal: total jarak tempuh, total tindakan yang dilakukan (jumlah kota yang dilalui)

Soulisnya berupa urutan tindakan dari initial state menuju goal state.
Solusi optimal mempunyai cost terendah.

AM

Kecerdasan Buatan

13

Contoh: Robot Assembly

States?? Real-valued coordinates of robot joint angles;


parts of the object to be assembled.
Initial state?? Any arm position and object configuration.
Actions?? Continuous motion of robot joints
Goal test?? Complete assembly (without robot)
Path cost?? Time to execute
AM

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

Solusi dengan Searching


Untuk menuju ke suatu solusi
dilakukan pencarian state space sangat kompleks
general search menghasilkan sebuah graph

Ditunjukkan secara eksplisit dengan tree


ROOT : initial state
Node dan leaf dihasilkan dari fungsi suksesor
State space search tree

AM

Kecerdasan Buatan

16

State space search tree

Malang
Blitar
Tulungagung
Kediri Malang

state : representasi konfigurasi fisik


node : struktur data untuk search tree
node mempunyai parent, children, termasuk
path cost, depth,
node= <state, parent-node, action, path-cost, depth>
FRINGE= berisi node yang belum di-expand.
AM

Kecerdasan Buatan

17

Membuat Tree Search


Initial state

Malang

Expanding Malang

Malang

Blitar

Bangil

Expanding Blitar

Malang

Blitar

Tulungagung

Bangil

Kediri

Jombang

Jombang

Malang

AM

Kecerdasan Buatan

18

Membuat Tree Search


function TREE-SEARCH(problem, strategy) return a solution or failure
Initialize search tree to the initial state of the problem
do
if no candidates for expansion then return failure
choose leaf node for expansion according to strategy
if node contains goal state then return solution
else expand the node and add resulting nodes to the
search tree
enddo

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

Complexity diukur dari tingkat kesulitan berdasarkan:


b faktor pencabangan maksimum dalam search tree.
d kedalaman node
m kedalaman maksimum (bisa mencapai )
AM

Kecerdasan Buatan

21

Teknik Pencarian
Any Path Uninformed

Breadth-First
Depth-First

Systematic exploration of
whole tree until a goal node is
found

Any Path Informed

Best First

Uses heuristic measure of


goodness of a state:
estimated distance

Optimal Uninformed

Uniform Cost
Depth Limited etc

Uses path cost measure. Find


shortest path.

Optimal Informed

A*

Uses path cost measure and


heuristic. Find shortest path

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

(CAS) (DAS) (B S) C,D,B,A,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

Optimasi uninformed search


Depth-limited search
Iterative Deepening Search
Bidirectional Search

AM

Kecerdasan Buatan

28

Perbandingan Teknik Pencarian


Uniformed Search
Kriteria

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

Best first search


Heuristic Search
Generate and Test
Hill Climbing
Simulated Annealing

AM

Kecerdasan Buatan

30

Best First Search


3

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

Contoh pada masalah 8 puzzle

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

Informasi yang bisa diberikan


Untuk jumlah ubin yang menempati posisi yang benar
jumlah yang lebih tinggi adalah yang lebih diharapkan (lebih
baik) Tujuan
1

8
7

kiri

atas

kanan
1

h=6

h=4

3
4

8
h=5

Informasi yang bisa diberikan


Untuk jumlah ubin yang menempati posisi yang salah jumlah
yang lebih kecil adalah yang diharapkan (lebih baik).
Tujuan
1

8
7

kiri

atas

kanan
1

h=2

h=4

3
4

8
h=3

Informasi yang bisa diberikan


Menghitung total gerakan yang diperlukan untuk mencapai
tujuan jumlah yang lebih kecil adalah yang diharapkan (lebih
baik).
Tujuan
1

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

Jelaskan kembali tentang


Best First Search
Heuristic Search

Jelaskan sesuai pemahaman saudara


Mengapa terdapat bagian searching pada kecerdasan
buatan?
Apa prasyarat yang diperlukan untuk bisa menerapkan
atau mendapatkan tujuan searching
AM

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

Anda mungkin juga menyukai