Top Banner
MASALAH, RUANG KEADAAN & PENCARIAN 1
113

MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Apr 09, 2019

Download

Documents

lamhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

MASALAH, RUANG KEADAAN & PENCARIAN

1

Page 2: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Pokok Bahasan

Mendefinisikan Masalah dalam Ruang Keadaan

Representasi Ruang Keadaan

Metode Pencarian & Pelacakan

2

Page 3: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Knowledge Base

InferenceEngine

Input:MASALAH

Output:SOLUSI

ARTIFICIAL INTELLIGENCE

Artificial Intelligence

3

Page 4: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Permainan Catur

Keadaan awal :

4

Page 5: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Aturan-aturan untuk melakukan gerakan secara legal

5

Page 6: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

IF Bidak putih pada Kotak(e,2), And Kotak(E,3) Kosong, And Kotak(E,4) Kosong

Then Gerakkan bidak dari (E,2) ke

(E,4)

6

Page 7: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Tujuan yang ingin dicapai adalah posisi pada papan catur yang menunjukkan kemenangan seseorang terhadap lawannya.

Kemenangan ini ditandai dengan posisi Raja yang sudah tidak dapat bergerak lagi.

7

Page 8: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Ruang Keadaan

suatu ruang yang berisi semua keadaan yang mungkin

8

Page 9: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Penyelesaian masalah secara umum

Mendefinisikan suatu ruang keadaan;

Menetapkan satu atau lebih keadaan awal;

Menetapkan satu atau lebih tujuan;

Menetapkan kumpulan aturan.

9

Page 10: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi Ruang Keadaan

Graph Keadaan

Pohon Pelacakan

Pohon AND/OR

Kasus …

10

Page 11: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Graph Keadaan

A

M T

4

3

35

2

6

4

8 6

7

4

H

I

D

E

J

F

C

BG

2

1

11

Page 12: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

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 yang menemui jalan buntu (tidak sampai ke T):◦ 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

12

Page 13: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Pohon PelacakanM

A D

B

C

C

E

E F THI

F THI

I

J

J

J

G

GT

T

Level-0

Level-1

Level-2

Level-3

Level-4

Level-5

Level-6

Tujuan

TujuanTujuan

Tujuan

BuntuBuntu

Buntu

BuntuBuntu

13

Page 14: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Pohon AND/OR

M

arc yang terletak antara busur berarti AND

(a) (b)

A B C

M

A B C

14

Page 15: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

M

A DB C C EE

TH T

Level-0

Level-1

Level-2TH T

15

Page 16: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Contoh: Masalah Teko Air

Ada 2 buah teko masing-masing berkapasitas 4 galon (teko A) dan 3 galon (teko B).

Tidak ada tanda yang menunjukkan batas ukuran pada kedua teko tersebut.

Ada sebuah pompa air yang akan digunakan untuk mengisikan air pada kedua teko tersebut.

Permasalahannya: Bagaimanakah kita dapat mengisikan tepat 2 galon air ke dalam teko yang berkapasitas 4 galon?

3 galon(teko B)

4 galon(teko A)

Airtak terbatas

16

Page 17: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Penyelesaian … Identifikasi ruang keadaan:

◦ Permasalahan ini dapat direpresentasikan dengan 2 bilangan integer, yaitu x dan y:

x = air yang diisikan pada teko 4 galon (teko A);

y = air yang diisikan pada teko 3 galon (teko B);

◦ Ruang keadaan: (x,y) sedemikian hingga x{0,1,2,3,4} dan y{0,1,2,3}.

Keadaan awal & tujuan:

◦ Keadaan awal, kedua teko dalam keadaan kosong: (0,0);

◦ Tujuan, keadaan dimana pada teko 4 galon berisi tepat 2 galon air: (2,n) untuk sembarang n.

17

Page 18: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

(0,0)

(0,1)

(0,2)

(0,3)

(1,0)

(1,1)

(1,2)

(1,3)

(2,0)

(2,1)

(2,2)

(2,3)

(3,0)

(3,1)

(3,2)

(3,3)

(4,0)

(4,1)

(4,2)

(4,3)

Keadaan Awal Tujuan

18

Page 19: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Aturan-aturan

Aturan ke-

Jika Maka

1. (x,y)x < 4

(4,y)Isi teko A.

2. (x,y)y < 3

(x,3)Isi teko B.

3. (x,y)x > 0

(x-d,y)Tuangkan sebagian air keluar dari teko A.

4. (x,y)y > 0

(x,y-d)Tuangkan sebagian air keluar dari teko B.

5. (x,y)x > 0

(0,y)Kosongkan teko A dengan membuang airnya ke tanah.

6. (x,y)y > 0

(x,0)Kosongkan teko B dengan membuang airnya ke tanah.

19

Page 20: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

7. (x,y)x+y 4 dan y > 0

(4,y-(4-x))Tuangkan air dari teko B ke teko A sampai teko A penuh.

8. (x,y)x+y 3 dan x > 0

(x-(3-y),3)Tuangkan air dari teko A ke teko B sampai teko B penuh.

9. (x,y)x+y 4 dan y > 0

(x+y,0)Tuangkan seluruh air dari teko B ke teko A.

10. (x,y)x+y 3 dan x > 0

(0,x+y)Tuangkan seluruh air dari teko A ke teko B.

11. (0,2) (2,0)Tuangkan 2 galon air dari teko B ke teko A.

12. (2,y) (0,y)Kosongkan 2 galon air di teko A dengan membuang airnya ke tanah.

20

Page 21: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi ruang keadaan dengan pohon pelacakan.

(0,0)

(4,0) (0,3)

(0,0) (1,3)(4,3) (0,0) (3,0)(4,3)

21

Page 22: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Salah satu solusi:

Isi Teko A (gallon)

Isi Teko B (gallon)

Aturan yang dipakai

0 0 2

0 3 9

3 0 2

3 3 7

4 2 5

0 2 9

2 0 solusi

22

Page 23: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Metode Pencarian & pelacakan

Pencarian Buta (Blind Search)◦ Breadth-First Search

◦ Depth-First Search

Pencarian Terbimbing (Heuristics Search)◦ Generate & Test

◦ Hill Climbing

◦ Best-First Search

◦ Tabu Search

◦ Simulated Annealing

23

Page 24: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Breadth-First Search

Pada metode Breadth-First Search, semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1.

Pencarian dimulai dari node akar terus ke level ke-1 dari kiri ke kanan, kemudian berpindah ke level berikutnya demikian pula dari kiri ke kanan hingga ditemukannya solusi

Dalam metode BFS, node anak yang telah dikunjungi disimpan dalam suatu QUEUE (antrian).

QUEUE ini digunakan untuk mengacu simpul-simpul yang bertetangga dengan yang akan dikunjungi sesuai antrean.

24

Page 25: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

A

I

C

JHF GE L MK

DB

Breadth-First Search

25

Page 26: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Keuntungan:◦ Tidak akan menemui jalan buntu.

◦ Jika ada satu solusi, maka breadth-first search akan menemukannya. Dan jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan.

Kelemahan:◦ Membutuhkan memori yang cukup banyak,

karena menyimpan semua node dalam satu pohon.

◦ Membutuhkan waktu yang cukup lama, karena akan menguji n level untuk mendapatkan solusi pada level yang ke-(n+1)

Breadth-First Search

26

Page 27: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Berikut adalah langkah-langkah algoritma BFS

1. Masukkan node akar ke dalam QUEUE

2. Ambil node dari awal QUEUE, lalu cek apakah node merupakan solusi

3. Jika node merupakan solusi, pencarian selesai dan hasil dikembalikan

4. Jika node bukan solusi, masukkan seluruh node anak ke dalam QUEUE

5. Jika QUEUE kosong dan setiap node sudah dicek, pencarian selesai.

6. Jika QUEUE tidak kosong, ulangi pencarian mulai dari poin 2

Breadth-First Search

27

Page 28: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Kasus 1

Diketahui : pohon pelacakan yang ada pada gambar di samping ini :

Pertanyaan : implementasikan algoritma BFS untuk mencari solusi dari node awal (start) S sampai node G (goal)

Breadth-First Search

28

Page 29: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Solusi :

Iterasi ke – 1

masukkan node S ke QUEUE

gambar antriannya :

representasi ruang keadaan :

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

S

Breadth-First Search

29

Page 30: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

keluarkan S dari QUEUE dan cek apakah S adalah goal?

ternyata S ≠ goal

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

Breadth-First Search

30

Page 31: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

S punya anak A dan B, masukkan ke dalam QUEUE

Representasi ruang keadaan

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

B A

Breadth-First Search

31

Page 32: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke – 2

keluarkan A dari QUEUE dan cek apakah A adalah goal?

Ternyata A ≠ Goal

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

B

Breadth-First Search

32

Page 33: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

A punya anak C dan D, masukkan ke QUEUE

Representasi Ruang Keadaan

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

D C B

Breadth-First Search

33

Page 34: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke – 3

keluarkan B dari QUEUE dan cek apakah B adalah goal?

Ternyata B ≠ Goal

B punya anak E dan F, masukkan ke QUEUE

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

D C

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

F E D C

Breadth-First Search

34

Page 35: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi Ruang Keadaan

Breadth-First Search

35

Page 36: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke – 4

keluarkan C dari QUEUE dan cek apakah C adalah goal?

Ternyata C ≠ Goal

C tidak punya anak, jadi tidak ada yang dimasukkan ke QUEUE

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

F E D

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

F E D

Breadth-First Search

36

Page 37: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi Ruang Keadaan

Breadth-First Search

37

Page 38: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke – 5

keluarkan D dari QUEUE dan cek apakah D adalah goal?

Ternyata D ≠ Goal

D tidak punya anak, jadi tidak ada yang dimasukkan ke QUEUE

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

F E

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

F E

Breadth-First Search

38

Page 39: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi Ruang Keadaan

Breadth-First Search

39

Page 40: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke – 6

keluarkan E dari QUEUE dan cek apakah E adalah goal?

Ternyata E ≠ Goal

E punya anak H dan G, masukkan ke QUEUE

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

F

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

G H F

Breadth-First Search

40

Page 41: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi Ruang Keadaan

Breadth-First Search

41

Page 42: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke – 7

keluarkan F dari QUEUE dan cek apakah F adalah goal?

Ternyata F ≠ Goal

F tidak punya anak, jadi tidak ada yang dimasukkan ke QUEUE

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

G H

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

G H

Breadth-First Search

42

Page 43: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi Ruang Keadaan

Breadth-First Search

43

Page 44: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke – 8

keluarkan H dari QUEUE dan cek apakah H adalah goal?

Ternyata H ≠ Goal

H tidak punya anak, jadi tidak ada yang dimasukkan ke QUEUE

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

G

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

G

Breadth-First Search

44

Page 45: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi Ruang Keadaan

Breadth-First Search

45

Page 46: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke – 9

keluarkan G dari QUEUE dan cek apakah G adalah goal?

Ternyata G = Goal

Pencarian Dihentikan.

Mencari Solusi :

G anaknya E, dan E anaknya B, dan B anaknya S

Karena S adalah node akar maka pencarian solusi dihentikan dan diperoleh solusi

S – B – E – G

QUEUEMasuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

Breadth-First Search

46

Page 47: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Kasus 2 Metode BFS Implementasi BFS pada masalah gelas air

Misalkan diketahui :

Keadaaan awal : (0,0) [keadaan sekarang = (0,0)]

Tujuan (Goal) : (1,0) [keadaan akhir = (1,0)]

Iterasi : terapkan kumpulan aturan berikut hingga keadaan sekarang = goal

1. Isi penuh gelas berkapasitas 4 liter

jika keadaan sekarang x < 4, maka keadaan selanjutnya (4,y)

2. Isi penuh gelas berkapasitas 3 liter

jika keadaan sekarang y < 3, maka keadaan selanjutnya (x,3)

47

Page 48: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

3. kosongkan gelas berkapasitas 4 literjika keadaan sekarang x >0, maka keadaan selanjutnya (0,y)

4. kosongkan gelas berkapasitas 3 literjika keadaan sekarang y>0, maka keadaan selanjutnya (x,0)

5. tuangkan sebagian isi gelas berkapasitas 3 liter ke gelas berkapasitas 4 liter hingga gelas berkapasitas 4 liter penuh jika keadaan sekarang x+y>4 dan y>0, maka keadaan selanjutnya adalah (4, y+x-4)

Breadth-First Search

48

Page 49: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

6. Tuangkan sebagian isi gelas berkapasitas 4 liter ke gelas berkapasitas 3 liter hingga gelas berkapasitas 3 liter penuhjika keadaan sekarang x+y > 3 dan x > 0, maka keadaan selanjutnya adalah (y+x-3, 3)

7. tuangkan seluruh isi gelas berkapasitas 4 liter ke gelas berkapasitas 3 literjika keadaan sekarang x+y ≤ 3 dan x>0 maka keadaan selanjutnya adalah 0, y+x)

8. tuangkan seluruh isi gelas berkapasitas 3 liter ke gelas berkapasitas 4 liter.jika keadaan sekarang (x+y ≤ 4 dan y > 0, maka keadaan selanjutnya adalah (y+x, 0)

Breadth-First Search

49

Page 50: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Solusi :

Keadaan awal QUEUE : [(0,0)]

close = []

Iterasi ke -1

ambil keadaan sekarang (0,0) ≠ goal, masukkan ke close, maka

QUEUE = [] close = [(0,0)]

terapkan aturan ke-1 s/d 8. yang memenuhi syarat dari aturan itu hanya aturan ke-1 dan ke-2

Breadth-First Search

50

Page 51: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Keadaan sekarang = (0,0) kena aturan 1 menjadi (4,0)

Keadaan sekarang = (0,0) kena aturan 2 menjadi (0,3)

(0,0) mempunyai anak (4,0) dan (0,3), lalu masukkan ke QUEUE

QUEUE = [(0,3), (4,0)]

close = [(0,0)]

Representasi ruang keadaan

Breadth-First Search

51

Page 52: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke – 2

QUEUE = [(0,3), (4,0)] CLOSE = [(0,0)]

Ambil keadaan sekarang (4,0) ≠ goal, masukkan ke CLOSE, sehingga

QUEUE = [(0,3)] CLOSE = [(0,0), (4,0)]

Catatan : keadaan sekarang diambil dari QUEUE yang paling kanan

Terapkan aturan ke-1 s/d ke-8, yang memenuhi syarat hanya aturan ke-2, 3 dan 6

Breadth-First Search

52

Page 53: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Keadaan sekarang = (4,0) kena aturan 2 menjadi (4,3)

Keadaan sekarang = (4,0) kena aturan 3 menjadi (0,0)

Karena (0,0) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam QUEUE.

Keadaan sekarang = (4,0) kena aturan 6 menjadi (1,3)

(4,0) punya anak (4,3) dan (1,3), masukkan ke QUEUE

Breadth-First Search

53

Page 54: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

QUEUE = [(1,3), (4,3), (0,3)]

CLOSE = [(0,0), (4,0)]

Representasi ruang keadaan dalam bentuk pohon pelacakan adalah :

Breadth-First Search

54

Page 55: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke – 3

QUEUE = [(1,3), (4,3), (0,3)]

CLOSE = [(0,0), (4,0)]

Ambil keadaan sekarang (0,3) ≠ goal, masukkan ke CLOSE, sehingga

QUEUE = [(1,3), (4,3)]

CLOSE = [(0,0), (4,0), (0,3)]

Catatan : keadaan sekarang diambil dari QUEUE yang paling kanan

Terapkan aturan ke-1 s/d ke-8, yang memenuhi syarat hanya aturan ke-1, 4 dan 8

Breadth-First Search

55

Page 56: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Keadaan sekarang = (0,3) kena aturan 1 menjadi (4,3)

Karena (4,3) sama dengan node sebelumnya, maka tidak dimasukkan dalam QUEUE

Keadaan sekarang = (0,3) kena aturan 4 menjadi (0,0)

Karena (0,0) sama dengan node sebelumnya, maka tidak dimasukkan dalam QUEUE

Keadaan sekarang = (0,3) kena aturan ke-8 menjadi = (3,0)

Breadth-First Search

56

Page 57: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

(0,3) punya anak (3,0), masukkan ke QUEUE

QUEUE = [(3,0), (1,3), (4,3)]

CLOSE = [(0,0),(4,0),(0,3)]

Representasi ruang keadaan dalam bentuk pohon pelacakan adalah :

Breadth-First Search

57

Page 58: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke - 4

QUEUE = [(3,0), (1,3), (4,3)]

CLOSE = [(0,0), (4,0), (0,3)]

Ambil keadaan sekarang (4,3) ≠ goal, masukkan ke CLOSE, sehingga

QUEUE = [(3,0), (1,3)]

CLOSE = [(0,0), (4,0), (0,3), (4,3)]

Terapkan aturan ke-1 s/d 8, yang memenuhi syarat hanya aturan ke-3 dan 4

Breadth-First Search

58

Page 59: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Keadaan sekarang = (4,3), kena aturan ke-3 menjadi (0,3)

Karena (0,3) sama dengan node sebelumnya, maka tidak dimasukkan dalam QUEUE

Keadaan sekarang = (4,3) kena turan ke-4 menjadi (4,0)

Karena (4,0) sama dengan node sebelumnya, maka tidak dimasukkan dalam QUEUE

Breadth-First Search

59

Page 60: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

(4,3) tidak puya anak, maka

QUEUE = [(3,0), (1,3)]

CLOSE = [(0,0), (4,0), (0,3), (4,3)]

Representasi keadaan dalam bentuk pohon pelacakan :

Breadth-First Search

60

Page 61: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke- 5

QUEUE = [(3,0), (1,3)]

CLOSE = [(0,0), (4,0), (0,3), (4,3)]

Ambil keadaan sekarang (1,3) ≠ goal, masukkan ke CLOSE, sehingga

QUEUE = [(3,0)]

CLOSE = [(0,0), (4,0), (0,3), (4,3), (1,3)]

Terapkan aturan ke-1 s/d 8, yang memenuhi syarat hanya aturan ke-1,3,4 dan 8

Breadth-First Search

61

Page 62: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Keadaan sekarang = (1,3) kena aturan ke-1 menjadi = (4,3)Karena (4,3) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam QUEUE

Keadaan sekarang = (1,3) kena aturan ke-3 menjadi (0,3)Karena (0,3) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam QUEUE

Keadaan sekarang = (1,3) kena aturan ke-4 menjadi keadaan selanjutnya = (1,0)

Keadaan sekarang = (1,3) kena aturan ke-8 menjadi = (4,0)Karena (4,0) sama dengan node sebelumny, maka tidak dimasukkan dalam QUEUE

Breadth-First Search

62

Page 63: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

(1,3) punya anak (1,0), masukkan ke QUEUE

QUEUE = [(1,0), (3,0)]

CLOSE = [(0,0), (4,0), (0,3), (4,3), (1,3)]

Representasi ruang keadaan dalam bentuk pohon pelacakan :

Breadth-First Search

63

Page 64: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke- 6

QUEUE = [(1,0), (3,0)]

CLOSE = [(0,0), (4,0), (0,3), (4,3), (1,3)]

Ambil keadaan sekarang (3,0) ≠ goal, masukkan ke CLOSE, sehingga

QUEUE = [(1,0)]

CLOSE = [(0,0), (4,0), (0,3), (4,3), (1,3), (3,0)]

Terapkan aturan ke-1 s/d 8, dimana yang memenuhi syarat hanya aturan ke 1,2,3,dan 7

Keadaan sekarang (3,0), dikenai aturan ke-1 menjadi (4,0)

karena (4,0) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam QUEUE

Breadth-First Search

64

Page 65: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Keadaan sekarang (3,0), dikenai aturan ke-2 menjadi keadaan selanjutnya (3,3)

Keadaan sekarang (3,0) dikenai aturan ke-3 menjadi keadaan selanjutnya (0,0)karena (0,0) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam QUEUE

Keadaan sekarang (3,0) dikenai aturan ke-7 menjadi keadaan selanjutnya (0,3)karena (0,3) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam QUEUE

(3,0) mempunyai anak (3,3), untuk kemudian dimasukkan ke QUEUE

QUEUE = [(3,3), (1,0)] CLOSE = [(0,0), (4,0), (0,3), (4,3), (1,3), (3,0)]

Breadth-First Search

65

Page 66: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi ruang keadaan dalam bentuk pohon pelacakan :

Breadth-First Search

66

Page 67: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke- 7

QUEUE = [(3,3), (1,0)]

CLOSE = [(0,0), (4,0), (0,3), (4,3), (1,3), (3,0)]

Ambil keadaan sekarang = (1,0) = goal, masukkan ke CLOSE, sehingga

QUEUE = [(3,3)]

CLOSE = [(0,0), (4,0), (0,3), (4,3), (1,3), (3,0), (1,0)]

Karena keadaan sekarang (1,0) = goal maka iterasi dihentikan.

Breadth-First Search

67

Page 68: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi ruang keadaan dalam bentuk pohon pelacakan :

Breadth-First Search

68

Page 69: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Untuk mencari solusinya, telusuri ruang keadaan dari mulai GOAL sampai dengan AKAR

Pelacakan solusi yang ditemukan antara lain :

(1,0) adalah anak dari node (1,3)

(1,3) adalah anak dari node (4,0)

(4,0) adalah anak dari node (0,0)

Karena (0,0) adalah akar, maka pelacakan solusi dihentikan.

Solusi : (0,0), (4,0), (1,3), (1,0)

Breadth-First Search

69

Page 70: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Depth-First Search

Pada Depth-First Search, proses pencarian akan dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel.

Pencarian dimulai dari node akar ke level yang lebih tinggi. Proses ini diulangi terus hingga ditemukannya solusi

Dalam algoritma DFS, node yang telah dikunjungi disimpan dalam suatu stack (tumpukan).

Stack ini digunakan untuk mengacu node-node yang akan dikunjungi sesuai urutan tumpukan (masuk terakhir, keluar pertama) dan mempermudah proses runut balik, jika node sudah tidak mempunyai anak (node sudah berada di kedalaman maksimal).

70

Page 71: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

A

B

C

Depth-First Search

71

Page 72: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Langkah-langkah algoritma DFS1. Masukkan node akar ke dalam stack

2. Ambil node dari stack teratas, lalu cek apakah node merupakan solusi.

3. Jika node merupakan solusi, pencarian selesai dan hasil dikembalikan.

4. Jika node bukan solusi, masukkan seluruh node anak ke dalam stack

5. Jika stack kosong dan setiap node sudah dicek, pencarian selesai

6. Ulangi pencarian mulai dari poin 2

Depth-First Search

72

Page 73: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Keuntungan◦ Membutuhkan memori yang relatif kecil,

karena hanya node-node pada lintasan yang aktif saja yang disimpan.

◦ Secara kebetulan, metode depth-first search akan menemukan solusi tanpa harus menguji labih banyak lagi dalam ruang keadaan.

Kelemahan◦ Memungkinkan tidak ditemukannya tujuan

yang diharapkan.◦ Hanya akan mendapatkan 1 solusi pada

setiap pencarian.

Depth-First Search

73

Page 74: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Contoh : Kasus 1 Misalkan diketahui pohon pelacakan seperti gambar di

bawah ini. Implementasikan algoritma DFS untuk mencari solusi dari S node awal (start) sampai G (goal)

Depth-First Search

74

Page 75: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi 1

Beri tanda batas pada stack dan masukkan node S ke stack

representasi

Depth-First Search

75

Page 76: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Keluarkan S dari stack dan cek

Ternyata S ≠ goal

S punya anak A dan B, beri tanda batas pada stack, dan masukkan node A dan B ke stack

Depth-First Search

76

Page 77: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Karena S punya anak, masukkan S ke Solusi sementara :

Solusi Sementara = [S]

Representasi keadaan :

Depth-First Search

77

Page 78: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi 2

Stack pada iterasi ke 2 :

Solusi sementara = [S]

Keluarkan A dari stack dan cek

Ternyata A ≠ goal

Depth-First Search

78

Page 79: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Karena A punya anak C dan D, beri tanda batas dan masukkan node C dan D ke stack

Karena A punya anak, masukkan A ke solusi sementara :

Solusi sementara = [S A]

Depth-First Search

79

Page 80: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi keadaan :

Depth-First Search

80

Page 81: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi 3

Stack pada iterasi ke 3 :

Solusi sementara = [S A]

Keluarkan C dari stack dan cek

Ternyata C ≠ goal

Depth-First Search

81

Page 82: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Karena C tidak punya anak maka C tidak dimasukkan ke solusi sementara

Solusi sementara = [S A]

Depth-First Search

82

Page 83: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi keadaan :

Depth-First Search

83

Page 84: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi 4

Stack pada iterasi ke 4 :

Solusi sementara = [S A]

Keluarkan D dari stack dan cek

Ternyata D ≠ goal

Depth-First Search

84

Page 85: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Karena D tidak punya anak jadi tidak ada yang dimasukkan ke stack

Karena D tidak punya anak, maka D tidak dimasukkan ke solusi sementara.

Solusi sementara = [S A]

Depth-First Search

85

Page 86: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi keadaan :

Depth-First Search

86

Page 87: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi 5 Stack pada iterasi ke 5 :

Solusi sementara = [S A] Keluarkan tanda batas dari stack dan

gunakan untuk menghapus solusi sementara satu huruf

Solusi sementara = [S A] = [S]

Depth-First Search

87

Page 88: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi 6

Stack pada iterasi ke 6 :

Solusi sementara = [S]

Keluarkan B dari stack dan cek

Ternyata B ≠ goal

Depth-First Search

88

Page 89: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Karena B punya anak E dan F, beri tanda batas dan masukkan node E dan F ke stack

Karena B punya anak, masukkan B ke solusi sementara :

Solusi sementara = [S B]

Depth-First Search

89

Page 90: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi keadaan :

Depth-First Search

90

Page 91: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi 7

Stack pada iterasi ke 7 :

Solusi sementara = [S B]

Keluarkan E dari stack dan cek

Ternyata E ≠ goal

Depth-First Search

91

Page 92: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Karena E punya anak H dan G, beri tanda batas dan masukkan node H dan G ke stack

Karena E punya anak, masukkan E ke solusi sementara :

Solusi sementara = [S B E]

Depth-First Search

92

Page 93: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi keadaan :

Depth-First Search

93

Page 94: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi 8

Stack pada iterasi ke 8 :

Solusi sementara = [S B E]

Keluarkan H dari stack dan cek

Ternyata H ≠ goal

Depth-First Search

94

Page 95: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Karena H tidak punya anak jadi tidak ada yang dimasukkan ke stack

Karena H tidak punya anak, maka H tidak dimasukkan ke solusi sementara.

Solusi sementara = [S B E]

Depth-First Search

95

Page 96: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Representasi keadaan :

Depth-First Search

96

Page 97: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi 9

Stack pada iterasi ke 9 :

Solusi sementara = [S B E]

Keluarkan G dari stack dan cek

Ternyata G ≠ goal

Depth-First Search

97

Page 98: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

G = goal, masukkan ke solusi sementara dan hentikan pencarian

Solusi = [S B E G]

Representasi keadaan

Depth-First Search

98

Page 99: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Kasus 2 Metode DFS Implementasi DFS pada masalah gelas air

Misalkan diketahui :

Keadaaan awal : (0,0) [keadaan sekarang = (0,0)]

Tujuan (Goal) : (1,0) [keadaan akhir = (1,0)]

Iterasi : terapkan kumpulan aturan berikut hingga keadaan sekarang = goal

1. Isi penuh gelas berkapasitas 4 liter

jika keadaan sekarang x < 4, maka keadaan selanjutnya (4,y)

2. Isi penuh gelas berkapasitas 3 liter

jika keadaan sekarang y < 3, maka keadaan selanjutnya (x,3)

99

Page 100: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

3. kosongkan gelas berkapasitas 4 liter

jika keadaan sekarang x >0, maka keadaan selanjutnya (0,y)

4. kosongkan gelas berkapasitas 3 liter

jika keadaan sekarang y>0, maka keadaan selanjutnya (x,0)

5. tuangkan sebagian isi gelas berkapasitas 3 liter ke gelas berkapasitas 4 liter hingga gelas berkapasitas 4 liter penuh

jika keadaan sekarang x+y>4, maka keadaan selanjutnya adalah (4, y+x-4)

Depth-First Search

100

Page 101: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

6. Tuangkan sebagian isi gelas berkapasitas 4 liter ke gelas berkapasitas 3 liter hingga gelas berkapasitas 3 liter penuh

jika keadaan sekarang x+y > 3 dan x > 0, maka keadaan selanjutnya adalah (y+x-3, 3)

7. tuangkan seluruh isi gelas berkapasitas 4 liter ke gelas berkapasitas 3 liter

jika keadaan sekarang x+y ≤ 3 dan x>0 maka keadaan selanjutnya adalah 0, y+x)

8. tuangkan seluruh isi gelas berkapasitas 3 liter ke gelas berkapasitas 4 liter.

jika keadaan sekarang (x+y ≤ 4 dan y > 0, maka keadaan selanjutnya adalah (y+x, 0)

Depth-First Search

101

Page 102: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke-1 Beri tanda batas dan masukkan node (0,0) ke stack. STACK = [(0,0) ) SOLUSI =[ ] Ambil keadaan sekarang = (0,0), maka : STACK = [ ] SOLUSI =[ ] Cek, ternyata (0,0) ≠ goal Terapkan aturan ke-1 s/d 8, yang memenuhi syarat

hanya aturan ke-1 dan 2 Keadaan sekarang = (0,0) kena aturan ke-1 menjadi

(4,0) Keadaan sekarang = (0,0) kena aturan ke-2 menjadi

(0,3)

Depth-First Search

102

Page 103: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

(0,0) punya anak (4,0) dan (0,3), beri tanda batas, dan masukkan node (4,0) dan (0,3) ke Stack. Karena (0,0) punya anak, masukkan ke solusi.

STACK = [(4,0),(0,3) ]

SOLUSI = [(0,0)]

Representasi ruang keadaan dalam bentuk pohon pelacakan :

Depth-First Search

103

Page 104: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke-2 STACK = [(4,0), (0,3) ] SOLUSI =[(0,0)] Ambil keadaan sekarang = (4,0), maka : STACK = [(0,3) ] SOLUSI =[(0,0)] Cek, ternyata (4,0) ≠ goal Terapkan aturan ke-1 s/d 8, yang memenuhi syarat hanya

aturan ke-2, 3 dan 6 Keadaan sekarang = (4,0) kena aturan ke-2 menjadi (4,3) Keadaan sekarang = (4,0) kena aturan ke-3 menjadi (0,0) Karena (0,0) sama dengan node sebelumnya, maka tidak

dimasukkan dalam STACK Keadaan sekarang = (4,0) kena aturan ke- 6 menjadi

(1,3)

Depth-First Search

104

Page 105: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

(4,0) punya anak (4,3) dan (1,3), beri tanda batas, dan masukkan node (4,3) dan (1,3) ke Stack. Karena (4,0) punya anak, masukkan ke solusi.

STACK = [(4,3),(1,3) (0,3) ]SOLUSI = [(0,0),(4,0)]

Representasi ruang keadaan dalam bentuk pohon pelacakan :

Depth-First Search105

Page 106: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke-3

STACK = [(4,3), (1,3) (0,3) ]

Solusi =[(0,0),(4,0)]

Ambil keadaan sekarang = (4,3), maka :

STACK = [(1,3) (0,3) ]

Solusi =[(0,0), (4,0)]

Check ternyata (4,3) ≠ goal

Terapkan aturan ke-1 s/d ke-8, yang memenuhi syarat hanya aturan ke-3, 4, 5 dan 6

Depth-First Search

106

Page 107: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Keadaan sekarang = (4,3) kena aturan ke-3 menjadi (0,3)karena (0,3) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam STACK

Keadaan sekarang = (4,3) kena aturan ke-4 menjadi (4,0)karena (4,0) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam STACK

Keadaan sekarang = (4,3) kena aturan ke-5 menjadi (4,3)karena (4,3) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam STACK

Keadaan sekarang = (4,3) kena aturan ke-6 menjadi (4,3)karena (4,3) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam STACK

Depth-First Search

107

Page 108: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Karena (4,3) tidak punya node anak, maka tidak dimasukkan ke dalam Solusi

STACK = [(1,3) (0,3) ] Solusi = [(0,0), (4,0)] Representasi ruang keadaan dalam bentuk pohon

pelacakan :

Depth-First Search

108

Page 109: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke-4

STACK = [(1,3) (0,3) ]

Solusi =[(0,0),(4,0)]

Ambil keadaan sekarang = (1,3), maka :

STACK = [ (0,3) ]

Solusi =[(0,0), (4,0)]

Check ternyata (1,3) ≠ goal

Terapkan aturan ke-1 s/d ke-8, yang memenuhi syarat hanya aturan ke- 1, 3, 4 dan 8

Depth-First Search

109

Page 110: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Keadaan sekarang = (1,3) kena aturan ke-1 menjadi (4,3)karena (4,3) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam STACK

Keadaan sekarang = (1,3) kena aturan ke-3 menjadi (0,3)karena (0,3) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam STACK

Keadaan sekarang = (1,3) kena aturan ke-4 menjadi (1,0)

Keadaan sekarang = (1,3) kena aturan ke-8 menjadi (4,0)karena (4,0) sama dengan node sebelumnya, maka tidak dimasukkan ke dalam STACK

Depth-First Search

110

Page 111: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Node (1,3) punya anak (1,0). Beri tanda batas dan masukkan node (1,0) ke stack. Karena node (1,3) punya anak, masukkan solusi.

STACK = [(1,0) (0,3) ]

Solusi = [(0,0), (4,0), (1,3)]

Representasi ruang keadaan dalam bentuk pohon pelacakan ;

Depth-First Search

111

Page 112: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

Iterasi ke-5 Stack = [(1,0) (0,3) ] Solusi = [(0,0),(4,0),(1,3)] Ambil keadaan sekarang = (1,0), maka : Stack = [ (0,3) ] Solusi = [ (0,0), (4,0), (1,3)] Cek ternyata (1,0) = goal Karena keadaan sekarang = goal, masukkan (1,0) ke

solusi : [(0,0),(4,0),(1,3),(1,0)] dan pencarian selesai Untuk mencari solusinya, lihat daftar pada array

solusi Solusi = [(0,0),(4,0),(1,3),(1,0)]

Depth-First Search

112

Page 113: MASALAH, RUANG KEADAAN & PENCARIANelearning.amikom.ac.id/index.php/download/materi/190302161-ST045-12... · Metode Pencarian & Pelacakan 2. Knowledge Base ... Metode Pencarian & pelacakan

NEXT PENCARIAN HEURISTIC

113