Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Depth First Search (DFS)

Presentasi serupa


Presentasi berjudul: "Depth First Search (DFS)"— Transcript presentasi:

1 Depth First Search (DFS)
As’ad Djamalilleil

2 Depth First Search (DFS)
DFS dapat diartikan sebagai “pencarian mendalam diutamakan” Berbeda dengan BFS yang mencari penyelesaiannya per level, maka DFS akan terfokus pada satu cabang hingga solusi ditemukan/tidak Bila solusi tidak ditemukan pada state terakhir dari cabang tersebut, maka pencarian dikembalikan ke level sebelumnya dan mencari di cabang yang lain

3 Contoh Kasus Ember Air Ruang Masalah Initial State  (0,0)
x = 1, 2, 3 atau 4 (isi ember 4 galon) y = 1, 2 atau 3 (isi ember 3 galon) Initial State  (0,0) Menyatakan jumlah air kedua ember (x,y) masih kosong Goal State  (n,2) Ember x berisi berapa pun, y berisi 2 galon

4 1 if(x < 4) (x,y)  (4,y) Isi penuh ember 4 galon 2 if(y < 3) (x,y)  (x,3) Isi penuh ember 3 galon 3 if(x > 0) (x,y)  (x-d,y) Buang sebagian air dari ember 4 galon 4 if(y > 0) (x,y)  (x,y-d) Buang sebagian air dari ember 3 galon 5 (x,y)  (0,y) Kosongkan ember 4 galon 6 (x,y)  (x,0) Kosongkan ember 3 galon

5 7 if(x+y >= 4 and y > 0) (x,y)  (4,y-(4-x)) Tuangkan air dari ember 3 galon ke ember 4 galon sampai ember 4 galon penuh 8 if(x+y >= 3 and x > 0) (x,y)  (x-(3-y),3) Tuangkan air dari ember 4 galon ke ember 3 galon sampai ember 3 galon penuh 9 if(x+y <= 4 and y > 0 (x,y)  (x+y,0) Tuangkan seluruh air dari ember 3 galon ke ember 4 galon

6 10 if(x+y <= 3 and x > 0) (x,y)  (0,x+y) Tuangkan seluruh air dari ember 4 galon ke ember 3 galon 11 (0,2)  (2,0) Tuangkan 2 galon air dari ember 3 galon ke ember 4 galon 12 (2,y)  (0,y) Buang 2 galon air dalam ember 4 galon sampai habis

7 0,0 Initial State  Level 1

8 0,0 Initial State  Level 1 4,0 Level 2 Aturan 1

9 0,0 Level 1 4,0 Level 2 Level 3 4,3 Aturan 2

10 0,0 Level 1 4,0 Level 2 Level 3 4,3 0,3 Aturan 5 Level 4

11 0,0 Level 1 4,0 Level 2 Level 3 4,3 0,3 Aturan 1 Level 4 4,3

12 0,0 Level 1 4,0 Level 2 Level 3 4,3 0,3 Aturan 6 Level 4 0,0

13 0,0 Level 1 4,0 Level 2 Level 3 4,3 0,3 Aturan 9 Level 4 Level 5 3,0

14 0,0 Level 1 4,0 Level 2 Level 3 4,3 0,3 Level 4 Level 5 3,0

15 Level 5 3,0 4,0 Aturan 1

16 Level 5 3,0 3,3 Level 6 Aturan 2

17 Level 5 3,0 3,3 Level 6 4,2 Level 7 Aturan 7

18 Solusinya Air pada ember 4 galon (x) Air pada ember 3 galon (y)
Aturan produksi yang digunakan - 4 1 3 2 5 9 7

19 Bagaimana jika pada akhir cabang tidak ditemukan solusi ?
Maka kembali ke level sebelumnya dan melanjutkan pencarian pada cabang yang lain

20 Contoh

21 A Level 1

22 A Level 1 B Level 2 Apakah state B pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan B Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state B Apakah state B merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya

23 A Level 1 B Level 2 Level 3 C Apakah state C pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan C Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state C Apakah state C merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya

24 A Level 1 B Level 2 Level 3 C Apakah state A pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan A Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state A Apakah state A merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya Level 4 A

25 A Level 1 B Level 2 Level 3 C Apakah state B pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan B Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state B Apakah state B merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya Level 4 A B

26 A Level 1 B Level 2 Level 3 Apakah state C pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan C Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state C Apakah state C merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya C Level 4 A B

27 A Level 1 B Level 2 Level 3 C D Apakah state D pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan D Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state D Apakah state D merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya Level 4 A B

28 A B C D Apakah state A pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan A Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state A Apakah state A merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya A B A

29 A B C D Apakah state D pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan D Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state D Apakah state D merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya A B A

30 A B Apakah state B pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan B Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state B Apakah state B merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya C D A B A

31 A B E Apakah state E pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan E Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state E Apakah state E merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya C D A B A

32 A B E F C D Apakah state F pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan F Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state F Apakah state F merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya A B A

33 A B E F C D Apakah state B pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan B Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state B Apakah state B merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya A B A B

34 A B E F C D Apakah state F pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan F Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state F Apakah state F merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya A B A B

35 A B E F G C D Apakah state G pernah dikerjakan sebelumnya? Jika YA  cari alternatif state lain pada level yg sama dengan G Jika tidak ada alternatif yg se-level  kembali ke state sebelumnya Jika TIDAK  kerjakan state G Apakah state G merupakan solusi? Jika YA  proses pencarian selesai Jika TIDAK  lanjutkan pencarian pada level berikutnya A B A B


Download ppt "Depth First Search (DFS)"

Presentasi serupa


Iklan oleh Google