pe mecahan masalah dengan pencarian

77
Pemecahan Masalah dengan Pencarian (Agen Tunggal) Dian Eka R

Upload: dudley

Post on 15-Feb-2016

115 views

Category:

Documents


0 download

DESCRIPTION

Pe mecahan Masalah dengan Pencarian . (Agen Tunggal) Dian Eka R. Ruang Masalah. Keadaan Awal ( Initial State ) Tujuan ( Goal ). Teknik Searching Dalam AI. Digunakan untuk mencari solusi dari suatu permasalahan - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Pe mecahan  Masalah  dengan Pencarian

Pemecahan Masalah dengan Pencarian (Agen Tunggal)

Dian Eka R

Page 2: Pe mecahan  Masalah  dengan Pencarian

Ruang MasalahKeadaan Awal (Initial State)

Tujuan (Goal)

Page 3: Pe mecahan  Masalah  dengan Pencarian

Teknik Searching Dalam AIDigunakan untuk mencari solusi

dari suatu permasalahanLangkahnya adalah dengan

mendefinisikan terlebih dahulu Ruang Masalah (State)nya.

Page 4: Pe mecahan  Masalah  dengan Pencarian
Page 5: Pe mecahan  Masalah  dengan Pencarian
Page 6: Pe mecahan  Masalah  dengan Pencarian

Contoh agen yang memiliki tujuan 8 puzzle : untuk mencapai konfigurasi

bahw baris teratas daari puzzle terisi dengan ubin 1,2,3

Page 7: Pe mecahan  Masalah  dengan Pencarian
Page 8: Pe mecahan  Masalah  dengan Pencarian

Representasi formulasi PermasalahanSetiap permasalahan akan dapat

direpresentasikan dengan grap terarah Keadaaan akan digambarkan dalam

node Aksi yang diijinkan digambarkan

sebagai sebuah arah(arc)

Page 9: Pe mecahan  Masalah  dengan Pencarian

Contoh terdapat graph yang menunjukkan kota Graph keadaan

Page 10: Pe mecahan  Masalah  dengan Pencarian

Graph keadaan dengan node M menunjukkan keadaan awal, node T adalah tujuan. Ada 4 lintasan dari M ke T :

M-A-B-C-E-T M-A-B-C-E-H-T M-D-C-E-T M-D-C-E-H-T Lintasan buntu atau lintasan yang tidak sampai ke tujuan : M-A-B-C-E-F-G M-A-B-C-E-I-J M-D-C-E-F-G M-D-C-E-I-J M-D-I-J

Page 11: Pe mecahan  Masalah  dengan Pencarian

Struktur pohon digunakan untuk menggambarkan keadaan secara hirarkis. Node yg terletak pada level-o disebut ’akar’.

Node akar : menunjukkan keadaan awal & memiliki beberapa percabangan yang terdiri atas beberapa node yg disebut ’anak’ .

Node-node yg tidak memiliki anak disebut ’daun’ menunjukkan akhir dari suatu pencarian, dapat berupa tujuan yang diharapkan (goal) atau jalan buntu (dead end).

Page 12: Pe mecahan  Masalah  dengan Pencarian
Page 13: Pe mecahan  Masalah  dengan Pencarian

Example: Romania On holiday in Romania; currently in Arad. Flight leaves tomorrow from Buchares Formulate goal:

be in Bucharest Formulate problem:

states: various cities actions: drive between cities

Find solution: sequence of cities, e.g., Arad, Sibiu, Fagaras,

Bucharest

Page 14: Pe mecahan  Masalah  dengan Pencarian

Example: Romania

Page 15: Pe mecahan  Masalah  dengan Pencarian

Single-state problem formulationA problem is defined by four items:

1. initial state e.g., "at Arad"2. actions or successor function S(x) = set of action–state pairs

<action,successor(state)> e.g., S(Arad) = {<Arad Zerind, Zerind>, … }

3. goal test, can be explicit, e.g., x = "at Bucharest" implicit, e.g., Checkmate(x)

4. path cost (additive) Assign numeric cost to each path e.g., sum of distances, number of actions executed, etc. c(x,a,y) is the step cost, assumed to be ≥ 0

A solution is a sequence of actions leading from the initial state to a goal state

Solution quality is measured by the path cost function

Page 16: Pe mecahan  Masalah  dengan Pencarian
Page 17: Pe mecahan  Masalah  dengan Pencarian
Page 18: Pe mecahan  Masalah  dengan Pencarian
Page 19: Pe mecahan  Masalah  dengan Pencarian
Page 20: Pe mecahan  Masalah  dengan Pencarian

Example: The 8-puzzle

states? locations of tiles actions? move, blank, left, right, up, down goal test? = goal state (given) path cost? 1 per move

[Note: optimal solution of n-Puzzle family is NP-hard]

Page 21: Pe mecahan  Masalah  dengan Pencarian
Page 22: Pe mecahan  Masalah  dengan Pencarian

untuk mendeskripsikan masalah dengan baik harus :

1. Mendefinisikan suatu ruang keadaan (state space) 2. Menetapkan satu atau lebih keadaan awal (initial state) 3. Menetapkan satu atau lebih tujuan (goal state) 4. Menetapkan kumpulan aturan (action)

Page 23: Pe mecahan  Masalah  dengan Pencarian

Studi Kasus : Masalah Galon Air(A Water Jug Problem)

4 liter3 liter

Kran air

Bagaimana caranya bisa didapatkan air dengan ukurantepat 2 liter di Galon A ???

A B

Page 24: Pe mecahan  Masalah  dengan Pencarian

Penyelesaian :

1. Identifikasi ruang keadaan (state space) Permasalahan ini dapat digambarkan sebagai himpunan pasangan bilangan bulat : x = jumlah air yg diisikan ke ember 4 galon (ember A) y = jumlah air yg diisikan ke ember 3 galon (ember B) Ruang keadaan = (x,y) sedemikian hingga x ∈ {0,1,2,3,4} dan y ∈{0,1,2,3}

2. Keadaan awal & tujuan Keadaan awal : kedua ember kosong = (0,0) Tujuan : ember 4 galon berisi 2 galon air = (2,n) dengan sembarang n

Page 25: Pe mecahan  Masalah  dengan Pencarian

3. Keadaan ember Keadaan ember bisa digambarkan sebagai

berikut :

Page 26: Pe mecahan  Masalah  dengan Pencarian

Aturan-aturan diasumsikan kita dapat mengisi ember air itu dari

pompa air, membuang air dari ember ke luar,

menuangkan air dari ember yang satu ke ember yang lain.

Page 27: Pe mecahan  Masalah  dengan Pencarian
Page 28: Pe mecahan  Masalah  dengan Pencarian

Representasi ruang keadaan dengan pohon pelacakan Pencarian suatu solusi dapat dilukiskan dengan

menggunakan pohon. Tiap-tiap node menunjukkan satu keadaan. Jalur

dari parent ke child ,menunjukkan 1 operasi. Tiap node memiliki node child yg menunjukkan

keadaan yg dapat dicapai oleh parent.

Page 29: Pe mecahan  Masalah  dengan Pencarian
Page 30: Pe mecahan  Masalah  dengan Pencarian
Page 31: Pe mecahan  Masalah  dengan Pencarian

Masalah PETANI,KAMBING,SERIGALA,SAYURAN,PERAHU

Seorang petani akan menyeberangkan seekor kambing,seekor serigala,sayuran dengan sebuah perahu yg melalui sungai.

Perahu hanya bisa memuat petani & satu penumpang yg lain (kambing, serigala, atau sayuran).

Jika ditinggalkan petani tersebut, maka sayuran dimakan kambing dan kambing akan dimakan serigala.

Page 32: Pe mecahan  Masalah  dengan Pencarian

Penyelesaian :

1. Identifikasi ruang keadaan Permasalahan ini dapat dilambangkan dengan (jumlah kambing,jumlah serigala,jumlah sayuran,jumlah perahu). Contoh : daerah asal (0,1,1,1) = daerah asal tidak ada kambing,ada serigala, ada sayuran,ada perahu

2. Keadaan awal & tujuan Keadaan awal, pada kedua daerah : daerah asal = (1,1,1,1) daerah seberang = (0,0,0,0) Keadaan tujuan, pada kedua daerah : daerah asal = (0,0,0,0) daerah seberang = (1,1,1,1)

Page 33: Pe mecahan  Masalah  dengan Pencarian
Page 34: Pe mecahan  Masalah  dengan Pencarian

Jenis Teknik Searching Blind Search ( Un-Informed Search )

- Breadth First Search ( BFS )- Depth First Search ( DFS )- Uniform Cost Search ( UCS )- Depth Limited Search ( DLS )- Iterative Deepening Search ( IDS )- Bi-Directional Search ( BDS )

Heuristic Search ( Informed Search )

Page 35: Pe mecahan  Masalah  dengan Pencarian

Breadth-First Search (BFS)Pencarian dilakukan pada semua node

dalam setiap level secara berurutan dari kiri ke kanan.

Jika pada satu level belum ditemukan solusi, maka pencarian dilanjutkan pada level berikutnya. Demikian seterusnya sampai ditemukan solusi.

Dengan strategi ini, maka dapat dijamin bahwa solusi yang ditemukan adalah yang paling baik (Optimal). Tetapi BFS harus menyimpan semua node yang pernah dibangkitkan. Hal ini harus dilakukan untuk penelusuran balik jika solusi sudah ditemukan.

Page 36: Pe mecahan  Masalah  dengan Pencarian

Breadth-First Search Metode pencarian dapat dilihat sbb:

Page 37: Pe mecahan  Masalah  dengan Pencarian

Keuntungan BFS:1. Tidak akan menemui jalan buntu2. If ada solusi,mk breadth first seacrh akan menemukannya. If lbh dr satu, maka solusi min

akan ditemukan. Kelemahan BFS:

1. Membutuhkan memori yg ckp banyak, krn menyimpan semua node dalam satu pohon2. Membutuhkan waktu yg ckp lama, krn menguji n level u/ mdptkan solusi pd level yg ke-(n+1)

Page 38: Pe mecahan  Masalah  dengan Pencarian

0,0

4,00,3

1,34,33,0

1,03,3

4,2

Penanganan Masalah Galon Air dg BFS

Galon B diisi tepat 2 l air

Page 39: Pe mecahan  Masalah  dengan Pencarian

Breadth-first search Expand shallowest unexpanded node Implementation:

fringe is a FIFO queue, i.e., new successors go at end

Page 40: Pe mecahan  Masalah  dengan Pencarian

Breadth-first searchExpand shallowest unexpanded node

Implementation: fringe is a FIFO queue, i.e., new successors go at

end

Page 41: Pe mecahan  Masalah  dengan Pencarian

Breadth-first searchExpand shallowest unexpanded node

Implementation: fringe is a FIFO queue, i.e., new successors

go at end

Page 42: Pe mecahan  Masalah  dengan Pencarian

Breadth-first searchExpand shallowest unexpanded node

Implementation: fringe is a FIFO queue, i.e., new successors

go at end

Page 43: Pe mecahan  Masalah  dengan Pencarian

Gambar berikut mengilustrasikan pembangkitan pohon BFS untuk masalah Water Jug.

Pembangkitan suksesor dari suatu node bergantung pada urutan dari Aturan Produksi yang dibuat.

Jika urutan dari aturan 4 ditukar dengan aturan 5, maka pohon BFS yang dibangkitkan juga akan berubah.

Page 44: Pe mecahan  Masalah  dengan Pencarian

Pohon Breadth First Search untuk Water Jug Problem

Page 45: Pe mecahan  Masalah  dengan Pencarian

Properties of breadth-first search Complete? Yes (if b is finite) Time? 1+b+b2+b3+… +bd + b(bd-1) =

O(bd+1) Space? O(bd+1) (keeps every node in

memory) Optimal? Yes (if cost = 1 per step)

Space is the bigger problem (more than time)

Page 46: Pe mecahan  Masalah  dengan Pencarian

Depth First SearchMetode pencarian dapat dilihat sbb:

Page 47: Pe mecahan  Masalah  dengan Pencarian

Keuntungan :1. Membutuhkan memori relatif kecil, krn hanya node – node pd lintasan yg aktif saja yg disimpan2. Scr kebetulan, metode ini akan menemukan solusi tanpa hrs menguji lbh banyak

Kerugian :1. Memungkinkan tdk ditemukannya tujuan yg diharapkan2. Hanya akan mendapat solusi pd setiap pencarian

Page 48: Pe mecahan  Masalah  dengan Pencarian

0,0

4,00,3

1,34,33,0

1,03,3

4,2

Penanganan Masalah Galon Air dg DFS

Page 49: Pe mecahan  Masalah  dengan Pencarian

Kelemahan DFS adalah: Jika pohon yang dibangkitkan mempunyai

level yang dalam (tak terhingga), maka tidak ada jaminan untuk menemukan solusi (Tidak Complete).

Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS tidak ada jaminan untuk menemukan solusi yang paling baik (Tidak Optimal).

Page 50: Pe mecahan  Masalah  dengan Pencarian

Penelusuran Depth First Search untuk Water Jug Problem

Page 51: Pe mecahan  Masalah  dengan Pencarian

Depth-first searchExpand deepest unexpanded node

Implementation: fringe = LIFO queue, i.e., put successors at front

Page 52: Pe mecahan  Masalah  dengan Pencarian

Depth-first searchExpand deepest unexpanded node

Implementation: fringe = LIFO queue, i.e., put successors at front

Page 53: Pe mecahan  Masalah  dengan Pencarian

Depth-first searchExpand deepest unexpanded node

Implementation: fringe = LIFO queue, i.e., put successors at front

Page 54: Pe mecahan  Masalah  dengan Pencarian

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

Page 55: Pe mecahan  Masalah  dengan Pencarian

Depth-first search Expand deepest unexpanded node Implementation: fringe = LIFO queue, i.e., put successors at front

Page 56: Pe mecahan  Masalah  dengan Pencarian

Depth-first searchExpand deepest unexpanded node

Implementation: fringe = LIFO queue, i.e., put successors at front

Page 57: Pe mecahan  Masalah  dengan Pencarian

Depth-first searchExpand deepest unexpanded node

Implementation: fringe = LIFO queue, i.e., put successors at front

Page 58: Pe mecahan  Masalah  dengan Pencarian

Depth-first searchExpand deepest unexpanded node

Implementation: fringe = LIFO queue, i.e., put successors at front

Page 59: Pe mecahan  Masalah  dengan Pencarian

Depth-first searchExpand deepest unexpanded node

Implementation: fringe = LIFO queue, i.e., put successors at front

Page 60: Pe mecahan  Masalah  dengan Pencarian

Depth-first searchExpand deepest unexpanded node

Implementation: fringe = LIFO queue, i.e., put successors at front

Page 61: Pe mecahan  Masalah  dengan Pencarian

Depth-first searchExpand deepest unexpanded node

Implementation: fringe = LIFO queue, i.e., put successors at front

Page 62: Pe mecahan  Masalah  dengan Pencarian

Depth-first searchExpand deepest unexpanded node

Implementation: fringe = LIFO queue, i.e., put successors at front

Page 63: Pe mecahan  Masalah  dengan Pencarian

Properties of depth-first search Complete? No: fails in infinite-depth spaces,

spaces with loops Modify to avoid repeated states along path complete in finite spaces

Time? O(bm): terrible if m is much larger than d but if solutions are dense, may be much faster

than breadth-first Space? O(bm), i.e., linear space! Optimal? No

Page 64: Pe mecahan  Masalah  dengan Pencarian

Depth-limited search= depth-first search with depth limit l,i.e., nodes at depth l have no successors

Recursive implementation:

Page 65: Pe mecahan  Masalah  dengan Pencarian

Iterative deepening search

o Prinsipnya: lakukan depth-limited search secara bertahap dengan nilai l yang incremental Strategi ini menggabungkan manfaat DFS dan BFS: space complexity linier & completeness terjaminLakukan depth-limited search dengan l = 0,1,2,… sampai tidak cutoff

Page 66: Pe mecahan  Masalah  dengan Pencarian

Iterative deepening search l =0

Page 67: Pe mecahan  Masalah  dengan Pencarian

Iterative deepening search l =1

Page 68: Pe mecahan  Masalah  dengan Pencarian

Iterative deepening search l =2

Page 69: Pe mecahan  Masalah  dengan Pencarian

Iterative deepening search l =3

Page 70: Pe mecahan  Masalah  dengan Pencarian

Iterative deepening search Number of nodes generated in a depth-limited search to depth d

with branching factor b: NDLS = b0 + b1 + b2 + … + bd-2 + bd-1 + bd

Number of nodes generated in an iterative deepening search to depth d with branching factor b:

NIDS = (d+1)b0 + d b^1 + (d-1)b^2 + … + 3bd-2 +2bd-1 + 1bd

For b = 10, d = 5, NDLS = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111,111

NIDS = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123,456

Overhead = (123,456 - 111,111)/111,111 = 11%

Page 71: Pe mecahan  Masalah  dengan Pencarian

Sekilas strategi IDS ini kelihatan tidak efisien atau boros: banyak node digenerate ulang!

IDS sebenarnya malah lebih cepat daripada BFS (jika tree memiliki depth besar)

(root node tidak dihitung krn dianggap initial state)

Pada umumnya Iterative deepening search adalah uninformed search strategy terbaik jika state space besar dan kedalaman solusi (d) tidak diketahui

Page 72: Pe mecahan  Masalah  dengan Pencarian

Properties of iterative deepening searchComplete? Yes

Time? (d+1)b0 + d b1 + (d-1)b2 + … + bd = O(bd)

Space? O(bd)

Optimal? Yes, if step cost = 1

Page 73: Pe mecahan  Masalah  dengan Pencarian

Summary of algorithms

Page 74: Pe mecahan  Masalah  dengan Pencarian
Page 75: Pe mecahan  Masalah  dengan Pencarian
Page 76: Pe mecahan  Masalah  dengan Pencarian

5. Berikan keadaan awal, tujuan, suksesor dan biaya , berikan formulasi problem yang menurut anda paling tepat

Page 77: Pe mecahan  Masalah  dengan Pencarian

6. Temukan solusinya, tunjukkan langkahnya