30
Kuliah: Inteligensi Buatan http://kuliahkita.com/kelas/intelijensia-buatan/ Nur Ulfa Maulidevi

Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Embed Size (px)

DESCRIPTION

Intelijensia Buatan - Materi penjelasan mengenai agen pencari pada intelijensia buatan

Citation preview

Page 1: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Kuliah: Inteligensi Buatan http://kuliahkita.com/kelas/intelijensia-buatan/

Nur Ulfa Maulidevi

Page 2: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Ikhtisar Kuliah Sebelumnya

Agen Penyelesai Persoalan

Contoh Persoalan

Definisi Formal Agen Penyelesai Persoalan

Teknik Pencarian

NUM & Kaelbling 2 7/26/2014

Page 3: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Kuliah sebelumnya Apakah Inteligensi Buatan 4

pendekatan Untuk kuliah kali ini, kita menggunakan pendekatan

“berperilaku secara rasional” (acting rationally)

Rasionalitas maha tahu sukses

Tidak menggunakan rasionalitas sempurna, tapi rasionalitas terbatas

Agen Cerdas Jenis lingkungan (6)

Jenis Agen (4)

NUM & Kaelbling 3 7/26/2014

Page 4: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Agen Penyelesai Persoalan Desain sebuah agen:

Formulasikan persoalan cari solusi eksekusi

Penentuan tugas agen: Ingat PEAS

Persoalan: memenuhi tujuan (goal state)

Tugas agen: menemukan urutan aksi yang akan membawa agen sampai ke tujuan (goal state)

4 komponen persoalan: kondisi awal, operator/ fungsi suksesor, pengujian goal state, biaya untuk jalur yang dipilih (path cost)

Pencarian: proses mencari urutan aksi

Solusi: urutan aksi dari kondisi awal ke kondisi tujuan

NUM & Kaelbling 4 7/26/2014

Page 5: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Penyelesaian Persoalan Agen jenis ini, beberapa asumsi yang mendasari nya adalah sebagai berikut:

Agen mengetahui semua dinamika dunianya Semua kemungkinan keadaan (states) lingkungan diketahui, semua aksi yang

mungkin juga sudah diberikan

Ketika agen tidak mengetahui dinamika kondisi lingkungan jenis agen yang bisa belajar (learning)

Keadaan lingkungan terbatas, cukup sedikit untuk dienumerasi satu persatu Ketika keadaan lingkungan sudah tidak terbatas lagi, kita menggunakan aturan

logika

Lingkungan di mana agen berada bersifat deterministik Ketika lingkungan bersifat non-deterministik menggunakan uncertainty

(probablitas)

Agen mengetahui keadaan lingkungan saat ini Ketika agen tidka mengetahui, maka kita menggunakan aturan logika dan

probabilitas

Ukuran kinerja untuk urutan keadaan adalah penjumlahan dari path yang dihasilkan

Hanya sedikit persoalan dunia nyata yang menggunakan asumsi ini, tapi sebagai awal materi kuliah untuk memberikan abstraksi penyelesaian persoalan, asumsi tersebut sangat berguna agen menyelesaikan persoalan dengan melakukan pencarian 5

Page 6: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Definisi Formal dari “Persoalan” Pada saat mendesain agen untuk menyelesaikan persoalan, di awal kita harus

mendefinisikan persoalan secara formal agar mengetahui bagaimana agen nanti harus menyelesaikan persoalan.

Sebuah persoalan memiliki empat komponen, yaitu: Sekumpulan keadaan lingkungan (states): S

Ruang keadaan akan membentuk graf (simpul: state; busur: aksi) Keadaan awal, keadaan tujuan

Operator (aksi): fungsi yang memetakan sebuah keadaan ke keadaan yang lain: S S [deterministik]

Pengujian keadaan akhir: fungsi yang memetakan sebuah keadaan ke suatu nilai boolean (benar/ salah): S { t,f }

Biaya jalur yang ditempuh: fungsi yang memetakan pasangan state dan operator ke suatu bilangan real: (S,O)* real Penjumlahan seluruh biaya jalur: Σ c(S,O)

Solusi dari persoalan: jalur pada graf Kriteria untuk algoritma pencarian yang dibangun pada agen:

Waktu komputasi/ ruang pencarian Kualitas solusi

NUM & Kaelbling 6 7/26/2014

Page 7: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Pencarian Rute: Contoh Peta Negara Rumania

NUM & Kaelbling 7 7/26/2014

Page 8: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Contoh Persoalan: Pencarian Rute pada suatu peta

Sebuah peta dapat dimodelkan sebagai suatu graf; di mana simpul graf menyatakan kota dan busur graf menyatakan jalan. Ini adalah salah satu bentuk abstraksi dari dunia nyata.

Peta memberikan dinamika lingkungan agen: dimulai dari kota X pada peta dan memilih beberapa jalan untuk sampai ke kota Y.

Asumsi lingkungan:

Statik: tidak ada perubahan lingkungan saat menyelesaikan persoalan

Diskret: Banyaknya keadaan lingkungan terbatas (jumlah kota)

Deterministik: memilih sebuah jalan dari suatu kota, pasti akan membawa ke satu kota tertentu

Teramati sepenuhnya: informasi mengenai keadaan lingkungan lengkap, agen sedang berada di mana juga diketahui

Ukuran kinerja dari urutan states biasanya:

Jumlah jarak yang ditempuh

Jumlah waktu yang dipelrukan dari kota awal ke kota tujuan

NUM & Kaelbling 8 7/26/2014

Page 9: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Pencarian

NUM & Kaelbling 9

Sumber: Buku Diktat utama Russell’s

S: sekumpulan kota

Kota awal: A (Arad)

Kota tujuan: B (Bucharest)

Pemeriksaan: s = B ?

Biaya jalur: waktu ~ jarak

A

118

T

S

O

Z

R P

F

B

C L

M

D

111

75

71 151 99

97 120

146 138

101

211

75

70

140 90

7/26/2014

Page 10: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Pencarian (Materi Penyegaran) Pencarian Buta (UnInformed/Blind Search)

Lihat sekeliling, tidak tahu jalan mana yang mengarahkan ke kota tujuan Tidak ada informasi tambahan selain yang disediakan oleh definisi persoalan (4

komponen persoalan) Contoh: DFS, BFS, IDS, UCS , DLS

Pencarian dengan Tambahan Informasi (Informed Search) Pencarian Heuristik

Agen mendapatkan informasi tambahan yang bisa berguna Agen mengetahui apakah suatu keadaan (state) lebih menjanjikan untuk

sampai ke tujuan dibandingkan keadaan yang lain Contoh: Greedy Best First Search, A*,

Pencarian Lokal (Local Search) untuk persoalan optimasi melebihi pencarian klasik Jalur ke tujuan tidak penting Menggunakan memory yang cukup kecil Dapat menemukan solusi yang masuk akal dalam ruang pencarian tidak

terbatas, sehingga algoritma sistematis sesuai untuk pencarian ini Contoh: Hill-climbing search, simulated annealing search, Genetic

Algorithm

NUM & Kaelbling 10 7/26/2014

Page 11: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Inti algoritma Pencarian Agenda: berisi daftar keadaan (states) yang akan di periksa Pemilihan state dari agenda menentukan teknik pencarian

{Masukkan keadaan awal (initial state) ke dalam agenda}

AddState(Agenda, initial-state)

iterate

{mengambil sebuah state dari agenda untuk diperiksa}

GetState(Agenda, current-state)

stop: isGoal(current-state)

{pemeriksaan apakah state yang diperksa adalah state tujuan}

if not isExpanded(current-state) then

{jika bukan goal state masukkan anak dari state

yang diperiksa ke dalam agenda}

ExpandState(current-state, Agenda)

NUM & Kaelbling 11 7/26/2014

Page 12: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Pencarian Buta (Uninformed Search)

NUM & Kaelbling 12 7/26/2014

Page 13: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Breadth-First Search (BFS)

NUM & Kaelbling 13

A ZA,SA,TA SA,TA,OAZ TA,OAZ,OAS,FAS,RAS

OAZ,OAS,FAS,RAS,LAT OAS,FAS,RAS,LAT FAS,RAS,LAT RAS,LAT,BASF

LAT,BASF,DASR,CASR,PASR BASF,DASR,CASR,PASR,MATL Stop: B=goal, path: A S F B, path-cost = 450

A

118

T

S O

Z

R P

F

B

C L

M

D

111

75

71 151 99

97 120

146 138

101

211

75

70

140 90

7/26/2014

Page 14: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Depth-First Search (DFS)

NUM & Kaelbling 14

A ZA,SA,TA OAZ, SA,TA SAZO,SA,TA FAZOS, RAZOS,SA,TA

BAZOSF, RAZOS,SA,TA Stop: B=goal, path: A Z O S F B, path-cost = 607

A

118

T

S O

Z

R P

F

B

C L

M

D

111

75

71 151 99

97 120

146 138

101

211

75

70

140 90

7/26/2014

Page 15: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Depth-Limited Search (DLS)

BFS menemukan tujuan dengan jumlah langkah minimum, tapi ruang pencariannya eksponensial

DFS efisien dalam ruang pencarian, tapi tidak ada jaminan mengenai panjangnya jalur yang dibutuhkan (bisa sampai kedalaman yang sangat jauh, padahal tidak mengarah ke solusi)

Solusi: DFS-limited search (DFS dengan pembatasan kedalaman)

DFS dengan kedalaman yang dibatasi, misal l

Simpul pada kedalaman l dianggap tidak memiliki simpul-simpul anak

Persoalan: jika tujuan berada lebih dalam daripada l

Pembatasan kedalaman bisa ditentukan oleh pakar dalam domain persoalan tersebut

NUM & Kaelbling 15 7/26/2014

Page 16: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Pesudo code Algoritma DLS

NUM & Kaelbling 16

Function DLS (problem, limit) returns solution/ cutoff/

failure

rec_DLS(make_node(init_state),problem,limit)

Function Rec_DLS (node,problem, limit) returns solution/

cutoff/ failure

if isGoal(node) then solution(node)

else if limit=0 then cutoff

else

cutoff_occured false

for each action in problem.Actions(node.State) do

child CHILD-Node(problem, node, action)

result rec_DLS(child,problem,limit-1)

if result=cutoff then cutoff_occured true

else if result≠failure then result

if cutoff_occured then cutoff

else failure

7/26/2014

Page 17: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Iterative Deepening Search (IDS)

NUM & Kaelbling 17

IDS: menerapkan DFS dari kedalaman level terendah, jika tujuan belum ditemukan maka kedalaman ditambah satu, terus dilakukan hingga tujuan dicapai

Asumsi: Sebagian besar simpul ada di kedalaman level bawah, sehingga tidak menjadi persoalan jika pada kedalaman level atas simpul-simpul dibangkitkan berulang kali

Function Iterative-Deepening_Search(problem) returns

solution/ failure

for depth = 0 to do

result DLS(problem, depth)

if result ≠ cutoff then result

7/26/2014

Page 18: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

IDS

NUM & Kaelbling 18

Depth=0: A: cutoff

Depth=1: A ZA,SA,TA ZA: cutoff, SA: cutoff, TA: cutoff

Depth=2: A ZA,SA,TA OAZ, SA,TA OAZ : cutoff FAS, RAS,TA

FAS : cutoff RAS : cutoff LAT LAT : cutoff

Depth=3: A ZA,SA,TA OAZ, SA,TA SAZO,SA,TA SAZO: cutoff

FAS, RAS,TA BASF, RAS,TA BASF

Stop: B=goal, path: A S F B, path-cost = 450

O

A

118

T

S Z

R P

F

B

C L

M

D

111

75

71 151 99

97 120

146 138

101

211

75

70

140 90

7/26/2014

Page 19: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Uniform Cost Search (UCS) BFS dan IDS menemukan jalur dengan jumlah langkah

minimum

Jika banyaknya_langkah ≠ biaya, maka banyaknya langkah tidak relevan jika diinginkan solusi optimal

Perlu dicari jalur terpendek, dengan menghitung jarak yang ditempuh pada jalur terpilih

UCS:

Simpul pada agenda mencatat panjang jalur dari awal hingga simpul tersebut

Simpul pada agenda, diurutkan berdasarkan simpul dengan panjang total jalur minimum

Ambil jalur minimum yang ada pada antrian di agenda

Melakukan eksplorasi berddasarkan panjang jalur: memilih jalur optimal

NUM & Kaelbling 19 7/26/2014

Page 20: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Pencarian dengan Tambahan Informasi (Informed Search)

NUM & Kaelbling 20 7/26/2014

Page 21: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Best-first search Ide: gunakan suatu fungsi evaluasi f(n) untuk setiap simpul

Fungsi tersebut memperkiraan tingkat “kedekatan dengan simpul tujuan”

Simpul yang di pilih dari agenda untuk diperiksa adalah simpul dengan tingkat kedekatan yang paling tinggi dan belum diperiksa sebelumnya

Implementasi: Peletakan simpul di agenda diurutkan berdasarkan tingkat

kedekatan dengan simpul tujuan Kasus khusus:

greedy best-first search A*

NUM & Kaelbling 21 7/26/2014

Page 22: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Contoh Peta Romania dengan biaya jarak dalam km

NUM & Kaelbling 22 7/26/2014

Page 23: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Greedy best-first search Fungsi Evaluasi f(n) = h(n) (heuristik) = perkiraan

biaya dari simpul n ke simpul tujuan

Contoh pada peta Romania, hSLD(n) = jarak jika ditarik garis lurus dari simpul n ke simpul tujuan (Bucharest)

Greedy best-first search memeriksa simpul pada agenda yang terlihat paling dekat dengan simpul tujuan

NUM & Kaelbling 23 7/26/2014

Page 24: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Contoh Greedy best-first search

NUM & Kaelbling 24 7/26/2014

Page 25: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

A* search Ide: menghindari pemeriksaan jalur yang sudah pasti

biaya nya ‘mahal’

Fungsi Evaluasi f(n) = g(n) + h(n)

g(n) = biaya jalur yang sudah dilewati dari simpul awal ke simpul n (simpul yang sedang diperiksa)

h(n) = perkiraan biaya dari simpul n ke simpul tujuan

f(n) = perkiraan biaya total dari simpul awal ke simpul tujuan melalui simpul n

NUM & Kaelbling 25 7/26/2014

Page 26: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Contoh A* search

NUM & Kaelbling 26 7/26/2014

Page 27: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Heuristik yang Bisa Diterima Sebuah heuristik h(n) dapat diterima jika untuk setiap

simpul n, h(n) ≤ h*(n), di mana h*(n) adalah biaya sesungguhnya untuk mencapai simpul tujuan dari simpul n.

Heuristik yang dapat diterima tidak pernah melebihi perkiraan biaya untuk mencapai simpul tujuan, heuristik harus optimistik

Contoh: hSLD(n) (tidak pernah melebihi perkiraan jarak sesungguhnya dari simpul n ke simpul tujuan)

Teorema: Jika h(n) dapat diterima, A* yang menggunakan TREE-SEARCH akan optimal

NUM & Kaelbling 27 7/26/2014

Page 28: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Contoh heuristik yang tidak dapat diterima A* akan menemukan jalur optimal jika

h dapat diterima; h dapat diterima ketika h tidak pernah melebihi perkiraan.

Contoh di samping, h untuk simpul X tidak dapat diterima.

Dalam persoalan pencarian rute, jarak garis lurus dari suatu simpul ke simpul tujuan adalah heuristik yang bisa diterima

g(X)+h(X)=2+100=102

G(Y)+h(Y)=73+1=74

Jalur optimal tidak bisa ditemukan!

Karena kita memilih Y daripada X, padahal X lebih optimal, namun karena heuristik X melebihi perkiraan, maka jalur optimal tidak ditemukan.

NUM & Kaelbling 28

x

1

2 73

1

y

h=0 h=0

h=100 h=1

7/26/2014

Page 29: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)

Pencarian Lokal (Local Search) Diberikan setelah materi Constraint Satisfaction Problem minggu berikutnya

NUM & Kaelbling 29 7/26/2014

Page 30: Intelijensia buatan - 03 Agen Pencarian (Searching Agent)