Kasus Pelacakan untuk Pemilihan rute terpendek. Bagaimana Representasi Graph (start : Arad => tujuan:bucharest)???

dokumen-dokumen yang mirip
AI sebagai Masalah Pelacakan. Lesson 2

Informed Search (Heuristic) & Eksplorasinya

IKI 30320: Sistem Cerdas Kuliah 3: Problem-Solving Agent & Search

IKI30320 Kuliah 5 12 Sep Ruli Manurung. Best-first. search. Greedy best-first. search. search. Merancang heuristic

Bab 4. Informed Search

IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies (Rev.)

IKI30320 Kuliah 3 3 Sep Ruli Manurung. Problem solving agent. Representasi masalah: state space. Pencarian solusi: search.

IKI30320 Kuliah 4 5 Sep Ruli Manurung. Ulasan. Breadth-first. Uniform-cost. Depth-first. Pengulangan state. Ringkasan

Problem-solving Agent: Searching

Tujuan Instruksional

PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE

Search Strategy. Search Strategy

PENERAPANAN ALGORITMA BFS, DFS, DAN UCS UNTUK MENCARI SOLUSI PADA MASALAH ROMANIA

KECERDASAN BUATAN METODE HEURISTIK / HEURISTIC SEARCH ERWIEN TJIPTA WIJAYA, ST., M.KOM

TEKNIK PENYELESAIAN MASALAH BERDASARKAN AI

Problem solving by Searching. Materi 3 Kecerdasan Buatan Oleh: Dewi Liliana TI PNJ

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

METODE PENCARIAN DAN PELACAKAN

Pemecahan Masalah dengan Metoda Pencarian (Searching)

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

Masalah, Ruang Masalah dan Pencarian

Penyelesaian Masalah dengan Pencarian

ALGORITMA PENCARIAN. 1. Iterative-Deepening Depth-First Search (IDS) Nama : Gede Noverdi Indra Wirawan Nim : Kelas : VI A

Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.

Penerapan BFS dan DFS pada Pencarian Solusi

ANALISA SEARCHING ALGORITHM BREADTH-FIRST, DEPTH-FIRST DAN BEST-FIRST SEARCH PADA PENYELESAIAN PROBLEM KOTAK-8

Kecerdasan Buatan. Pertemuan 03. Pencarian Branch & Bound dan Heuristik (Informed)

Metode Searching. Blind/Un-informed Search. Heuristic/Informed Search. Breadth-First Search (BFS) Depth-First Search (DFS) Hill Climbing A*

BAB III ANALISIS DAN PERANCANGAN SISTEM

Algoritma Pencarian Blind. Breadth First Search Depth First Search

ALGORITMA PENCARIAN (HEURISTIC)

Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.

Breadth/Depth First Search. Bahan Kuliah IF2211 Strategi Algoritmik Oleh: Rinaldi Munir Update: Masayu Leylia Khodra 22 September 2013

Penerapan Metode Best First Search Pada Permainan Tic Tac Toe

Penerapan BFS dan DFS pada Pencarian Solusi

ALGORITMA PENCARIAN (1)

memberikan output berupa solusi kumpulan pengetahuan yang ada.

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG

Bahasan Terakhir... Pencarian dan Klasifikasinya Breadth-first Search Depth-first Search Variasi Depth-first Search:

SEARCHING. Blind Search & Heuristic Search

Masalah, Ruang Masalah dan Pencarian

METODE PENCARIAN BFS dan DFS

BAB 2 TINJAUAN PUSTAKA

Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug

Sebelumnya... Best-First Search Greedy Search A* Search, karena boros memory, dimunculkan variannya (sekilas): IDA* SMA* D* (DWA*) RBFS Beam

BAB 3 ANALISIS ALGORITMA

EC HENDRA. Program Studi BANDUNG Oleh

Penerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour

Praktikum Blind Search (BFS dan DFS)

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Penerapan Algoritma A* Sebagai Algoritma Pencari Jalan Dalam Game

Game Playing #1/5. (C) 2005, gunawan -

HEURISTIC SEARCH UTHIE

IKI30320 Kuliah 8 26 Sep Ruli Manurung. Game playing. Strategi optimal. Bekerja cepat Cutoff Tree pruning. State of the art.

Update 2012 DESAIN DAN ANALISIS ALGORITMA SEARCHING

AI sebagai Masalah Pelacakan. Lesson 2

Algoritma Branch & Bound

ANALISIS ALGORITMA MINIMAX DENGAN OPTIMASI ALPHA BETA PRUNIGN PADA PERMAINAN FIVE IN ROW

Penerapan Algoritma A* Untuk Pencarian Rute Terdekat Pada Permainan Berbasis Ubin (Tile Based Game)

APLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penerapan Algoritma Greedy Best First Search untuk Menyelesaikan Permainan Chroma Test : Brain Challenge

PERMAINAN KNIGHT S TOUR DENGAN ALGORITMA BACKTRACKING DAN ATURAN WARNSDORFF

Penyelesaian N-Puzzle Menggunakan A* dan Iterative Deepening A*

BAB IV TEKNIK PELACAKAN

Bab 2 2. Teknik Pencarian

KECERDASAN BUATAN MASALAH, RUANG KEADAAN DAN PENCARIAN ERWIEN TJIPTA WIJAYA, ST., M.KOM

PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING)

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

BAB III ALGORITMA GREEDY DAN ALGORITMA A* membangkitkan simpul dari sebuah simpul sebelumnya (yang sejauh ini terbaik di

KI Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search)

BAB I PENDAHULUAN 1-1. Howard. W. Sams & Co.1987, hal 1. 1 Frenzel, L.W. Crash Course In Artifical Intelligence And Expert Systems. 1st Edition.

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang

BAB III METODE PELACAKAN/PENCARIAN

MODIFIKASI METODE BACKTRACKING UNTUK MEMBANTU MENCARI PENYELESAIAN PERMAINAN PEG SOLITAIRE

ABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha

Pengembangan Teknik Pencarian Optimal Menggunakan Algoritma Generate and Test dengan Diagram Precedence (GTPRE)

BAB 2 LANDASAN TEORI

Bab 3 Solving Problem by Searching

Contoh 4/7/ HEURISTIC METHOD. Pencarian Heuristik

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

BAB II TINJAUAN PUSTAKA

SSSS, Problem Solving. State Space Search. Erick Pranata. Edisi I

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

Implementasi Algoritma A Star pada Pemecahan Puzzle 8

Simulasi Pencarian Rute Terpendek dengan Metode Algoritma A* (A-Star) Agus Gustriana ( )

UNIVERSITAS GUNADARMA

Back end. Generate soal. logic. Generate plan. output. N-puzzle solved GUI. Parsing output dari solver

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

KI Kecerdasan Buatan Materi 5: Pencarian dengan Optimasi (Local Search & Optimization )

HEURISTIC SEARCH. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

BAB 2 LANDASAN TEORI

MENGENAL SISTEM PAKAR

PENERAPAN ALGORITMA A* (STAR) UNTUK MENCARI RUTE TERCEPAT DENGAN HAMBATAN

ALGORITMA GENETIK SEBAGAI FUNGSI PRUNING ALGORITMA MINIMAX PADA PERMAINAN TRIPLE TRIAD CARD.

TUGAS RESUME MATERI KULIAH ALGORITMA DAN STRUKTUR DATA STRATEGI ALGORITMA : H

Transkripsi:

12/11/2009 1

Kasus Pelacakan untuk Pemilihan rute terpendek Oradea 71 75 Zerind 151 Arad 140 118 Timisora 111 Lugoj 70 Mehadia 75 Dobreta 120 Sibiu 99 Fagaras 80 Rimnicu Vilcea 97 Pitesti 146 138 Craiova 101 211 Neamt 85 87 lasi 92 142 98 Urziceni Bucharest 90 Giurgiu Vaslui Hirsova 86 Eforie Straight-line distance to Bucharest Arad 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 226 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374 Romania with step cost in km Bagaimana Representasi Graph (start : Arad => tujuan:bucharest)??? 12/11/2009 2

Trial & Error Sistematis - Depth-first search (Vertical) - Breadth-first search (Horizontal) PELACAKAN Optimal Heuristik - Hill Climbing - Best-First Search - Algoritma A - Algoritma A* MINIMAX... 12/11/2009 3

A. Arah pelacakan B. Topologi proses pelacakan C. Representasi simpul (Matrik, String, Array) D. Pemilihan kaidah (rule) yang dapat diterapkan E. Penggunaan fungsi heuristik 12/11/2009 4

Forward o dimulai dari initial state o matching dengan pola kiri kaidah simpul anak Backward o dimulai dari goal state o matching dengan pola kiri kaidah simpul induk pola kanan membentuk pola kiri membentuk initial state > goal state backward dan sebaliknya Faktor percabangan (jumlah rata-rata simpul yang dapat dicapai secara langsung dari sebuah simpul). Arah pelacakan menuju faktor percabangan yang kecil Proses penalaran 12/11/2009 5

Graph Tree (pohon), Graph Tree Graph Bebas (Grafik). (0, 0) (4, 0) (0, 3) Graph Bebas (4, 3) (0, 0) (1, 3) (4, 3) (0, 0) (3, 0) (0, 0) (4, 0) (0, 3) (1, 3) (4, 3) (3, 0) 12/11/2009 6

12/11/2009 7

Basic search process Control Strategy Operators Data Base - Initial States - Goal - Current Status - Record of previous transactions 12/11/2009 8

TRIAL & ERROR Metode paling sederhana Prosedur Pelacakan 1. Ambil state sebagai keadaam awal 2. While state keadaan sasaran do 3. Begin 4. Pilih operator yang dapat diterapkan pada state, dan diset sebagai operator 5. State : = operator (state) 6. End Penjelasan: Operator = fungsi untuk penentuan state berikutnya. Pada langkah 4, operator dipilih secara acak Pada langkah 5, operator yang dipilih diterapkan pada state membentuk state baru Stokastik, tidak menjamin dicapainya keadaan sasaran Tidak memperlihatkan karakteristik intelegensi 12/11/2009 9

Pelacakan Depth-First Search Representasi: Diagram pohon atau grafik Simpul yang lebih dalam diperiksa terlebih dahulu Penelusuran simpul-simpul pada suatu cabang sampai kedalaman yang ditentukan. Prosedur 1. Berikan simpul awal pada daftar open 2. Loop: if open = kosong then exit (fail) 3. n : = first (open) 4. if goal (n) then exit (success) 5. Remove (n, open) 6. Ekspansikan n, berikan semua simpul anak pada kepala open dan bubuhkan pointer dari simpul anak ke n 7. Kembali ke Loop Penjelasan: - Pada langkah 3, elemen pertama daftar open diambil - Ekspansi simpul n = pembangkitan simpul-simpul anak dari suatu simpul n 12/11/2009 10

Daftar Open: [A] 12/11/2009 11

Daftar Open: [BC] 12/11/2009 12

Daftar Open: [DEC] 12/11/2009 13

Daftar Open: [HIEC] 12/11/2009 14

Daftar Open: [IEC] 12/11/2009 15

Daftar Open: [EC] 12/11/2009 16

Daftar Open: [JKC] 12/11/2009 17

Vertikal (Eksploitasi dulu anak anaknya) Daftar Open Pointer bapak-anak pencatatan goal (PR? ) S A B Urutan pelacakan: S, A, C, D, B, E, H, G C D E F H G Goal 12/11/2009 18

Pelacakan Breadth-First Search - Bersifat horizontal - Evaluasi dilakukan terhadap simpul-simpul pada suatu level sebelum dilanjutkan pada level berikutnya Prosedur 1. Berikan simpul awal pada open 2. Loop: if open = kosong then exit (fail) 3. n : = first (open) 4. if goal (n) then exit (success) 5. Remove (n, open) 6. Add (n, closed) 7. Ekspansikan n. Berikan pada ekonr open semua simpul anak yang belum muncul pada open atau closed dan bubuhkan pointer ke n. 8. Kembali ke Loop 12/11/2009 19

Daftar Open:[A] Daftar Closed:[] 12/11/2009 20

Daftar Open:[BC] Daftar Closed:[A] 12/11/2009 21

Daftar Open:[CDE] Daftar Closed:[AB] 12/11/2009 22

Daftar Open:[DEFG] Daftar Closed:[ABC] 12/11/2009 23

Horizontal (Eksplorasi dulu sepupusepupunya), Daftar open dan closed. Pointer untuk trace back. 12/11/2009 24

Breadth-First Search Kebutuhan waktu dan memori BFS Branching factor b=10; (2) 1000 nodes/second; (3) 100 bytes/node 12/11/2009 25

Mencari jejak dengan cost minimum, Cost diberikan oleh user. Prosedur Pelacakan 1. Berikan simpul awal S pada open, g (s) = 0 2. Loop : if open = kosong then exit (fail) 3. n : = first (open) 4. if goal (n) then exit (success) 5. Remove (n, open) 6. Ekspansikan n, hitung g (n i ) untuk semua simpul anak n i dan bubuhkan pointer dari n i ke n. Berikan semua simpul anak pada open dan urutkan mulai biaya terendahnya 7. Kembali ke Loop Penjelasan Pada langkah 6, jika fungsi biaya dari simpul n ke n i didefinisikan sebagai C(n, n i ), maka fungsi biaya dari simpul n i adalah : g (n i ) = g (n) + C(n, n i ) 12/11/2009 26

Pelacakan untuk memperoleh Solusi Optimal S G 1 & G 2 = Goal A 4 1 B 1 2 2 3 C D E F 4 3 2 1 H G 1 I G 2 Daftar Open : (S(0)) (B(1)A(4)) (E(3)A(4)F(4)) (A(4)F(4)G 1 (6)H(7)) (F(4)C(5)G 1 (6)D(6)H(7)) (G2(5)C(5)G 1 (6)D(6)I(6)H(7)) 12/11/2009 27

Heuristik adalah kriteria, metode, atau prinsip-prinsip untuk menentukan pilihan dari sejumlah alternatif mencapai sasaran dengan efektif Mekanisme Backtracking = kembali ke state sebelumnya jika suatu solusi gagal diperoleh Heuristik dipergunakan untuk mempersempit ruang pelacakan. 12/11/2009 28

Hill Climbing Memilih simpul-simpul suatu cabang yang diperkirakan lebih dekat terhadap sasaran (nilai heuristik terkecil) Mirip depth-first search Prosedur: 1. Ambil n sebagai simpul awal 2. Loop: if goal(n) then exit(success) 3. Ekspansikan n, hitung ĥ (n i ) untuk semua simpul n i dan ambil simpul dengan nilai heuristik terkecil next n 4. If ĥ (n) < ĥ (next n) then exit (fail) 5. n := next n 6. Kembali ke Loop Hill climbing tidak dapat diterapkan pada persoalan yang memiliki puncak-puncak local. 12/11/2009 29

Initial A (15) B (13) C (14) D (14) E F (11) G (10) H (8) (5) I J (6) K (4) L (2) M (3) O (1) P (0) Goal 12/11/2009 30

Gabungan Breadth-first & Depth-first Pada setiap langkah dipilih simpul yang diperkirakan lebih dekat terhadap sasaran dari semua simpul yang dibangkitkan (tetapi belum diekspansikan) Pseudo code untuk representasi Tree : 1. Berikan simpul awal n pada daftar open 2. If open = kosong then exit(fail) 3. N:= first(open) 4. Loop : if goal(n) then exit(success) 5. Remove (n,open) 6. Ekspansi n, masukan semua simpul anak dari n (ni) yang belum muncul pada open ke dalam daftar open dan bubuhkan pointer dari ni ke n, berikan h(ni) untuk setiap simpul pada ni. Ambil simpul yang memiliki nilai h(ni) yang terkecil dari daftar open sebagai next(n). 7. Kembali ke Loop Catatan h(n) = nilai dari informasi heuristik untuk simpul n. 12/11/2009 31

Langkah 1 Langkah 2 Langkah 3 A A A (3) B (5) C (1) D (3) B (5) C D (4) E (6) F Langkah 4 Langkah 5 A A B (5) C D B (5) C D (6) E (5) F (4) E (6) F (6) E (5) F E (6) F (2) I (1) J 12/11/2009 32

Untuk tree 1. Berikan simpul awal n pada daftar open 2. if open = kosong then exit(fail). 3. n:=first(open). 4. Loop: if goal(n) then exit(success). 5. Remove (n, open). 6. Ekspansi n, Masukan simpul anak dari n (ni) ke dalam daftar open dan hitung f(ni) untuk tiap ni. Bubuhkan pointer dari ni ke n. Ambil simpul yang memiliki nilai f(ni) yang terkecil dari daftar open sebagai next(n). 7. Kembali Loop Catatan: f(n) = g(n) + h(n), dimana, f(n) merupakan fungsi evaluasi dari simpul n, g(n) merupakan kumulatif cost dari inisial awal ke simpul n(current state). h(n) merupakan informasi heuristik dari simpul n 12/11/2009 33

S (7) 2 3 A (6) B (6) 3 3 1 2 C (5) D (3) E (5) 4 3 2 3 4 4 F (3) H (3) I (2) J (3) 3 4 4 3 4 2 3 3 K 2 2 2 2 G 1 L G 2 (2) (2) goal goal A-algorithm Find optimum solution when the cost to the goal can be inferred Use knowledge about the problem Open-list (S(7)) (A(8)B(9)) (D(8)B(9)C(10)) (B(9)C(10)H(10)I(10)) (D(7)C(10)E(10)H(10)I(10) (H(9)I(9)C(10)E(10)) (I(9)G 1 (10)C(10)E(10)L(11)) (G 2 (9)G 1 (10)C(10)E(10)L(11)) M (2) Solution : S B D I G 2 12/11/2009 34

Heuristik Arad 118 75 Zerind Timisora 111 71 Dobreta 70 75 140 Oradea Lugoj 151 Mehadia 120 Sibiu 80 99 Craiova Fagaras Rimnicu Vilcea 97 146 138 Pitesti 101 211 Romania with step cost in km Neamt 85 87 lasi 92 142 98 Urziceni Bucharest 90 Giurgiu Vaslui Hirsova 86 Eforie Straight-line distance to Bucharest Arad 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 226 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374 Tentukan rute dari arad ke Bucharest??? Dgn Greedy search/bfs dan Alg. A* 12/11/2009 35

Arad (366) 12/11/2009 36

Greedy Search (Best First Search) 12/11/2009 37

12/11/2009 38

Goal tercapai: Arad Sibiu Fagaras Bucharest 12/11/2009 39

Evaluation function f(n)=g(n) + h(n) g(n) the cost (so far) to reach the node. h(n) estimated cost to get from the node to the goal. f(n) estimated total cost of path through n to goal. Arad 118 75 Zerind Timisora 111 71 Dobreta 70 75 140 Oradea Lugoj 151 Mehadia 120 Sibiu 80 99 Craiova Fagaras Rimnicu Vilcea 97 146 138 Pitesti 101 211 Neamt lasi Urziceni Bucharest 90 Giurgiu Romania with step cost in km 85 87 92 142 98 Vaslui Hirsova 86 Eforie Straight-line distance to Bucharest Arad 366 Bucharest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 226 Mehadia 241 Neamt 234 Oradea 380 Pitesti 98 Rimnicu Vilcea 193 Sibiu 253 Timisoara 329 Urziceni 80 Vaslui 199 Zerind 374 12/11/2009 40

12/11/2009 41

12/11/2009 42

12/11/2009 43

12/11/2009 44

12/11/2009 45

12/11/2009 46

12/11/2009 47

12/11/2009 48

Kasus: Puzzle8 Initial State 2 3 1 8 4 7 6 5 Goal State 1 2 3 8 4 7 6 5 2 3 1 8 4 7 6 5 2 8 3 1 4 7 6 5 2 3 1 8 4 7 6 5 (A) (B) (C) Heuristic h 1 = number of mismatched tiles h 2 = sum of the (horizontal and vertical) disatancer of mismatched tiles (manhattan distance) h 1 (A) = 2, h 1 (B) = 3, h 1 (C) = 4 h 2 (A) = 2, h 2 (B) = 4, h 2 (C) = 4 The state A is the one closest to the goal. 12/11/2009 49

12/11/2009 50

Representasi masalah (matrik 3x3, string). Definisikan rule (up, down, left, right). Cek rule yang aktif. Catat perubahan, rule yang aktif, parent untuk mencatat solusi. Hitung nilai heuristik. Implementasikan sesuai metode. 12/11/2009 51

12/11/2009 52

Minimax 12/11/2009 53

Ruang keadaan/repesentasi masalah -> graph tree, Tiap node merepresentasikan keadaan yang mungkin terjadi. Persoalannya : menentukan child state yang terbaik. Salah satu metodenya adalah minimax (untuk 2 atau lebih pemain) Minimax ditemukan pertama kali oleh von neumann Morgenstern tahun 1944, sebagai bagian dari game theory 12/11/2009 54

Pelacakan: Game 9!+1 = 362,880 12/11/2009 55

Minimax One-ply search A max (8) B C (3) D (-2) min Static evaluation function : [-10, 10] w in for opponent w in for us Ply = gerakan lawan atau kita 12/11/2009 56

3 A MAX (pihak 1) a1 a2 a3 3 b1 b2 B b3 2 C c1 c2 c3 d1 2 d2 D d3 MIN (pihak 2) E F G 3 12 8 2 4 6 14 5 2 Pihak 1: mendapatkan giliran melangkah (dinode A) dan sebagai pihak max. Pihak 1 akan memilih langkah a1 karena memiliki bobot tertinggi diantara B, C, D. Sedangkan pihak 2 akan memilih langkah b1 karena memiliki bobot terendah diantara E, F, G. 12/11/2009 57

A = maximizing player Question : What move should he choose? A B C D E F G H I J K L M N O P Q R S T U V W X Y 7 6 8 5 2 3 0-2 6 2 5 8 9 2 12/11/2009 58

A = maximizing player Question : What move should he choose? Solusi : MAX 8 A MIN 3 0 B C D 8 MAX 7 8 3 0 6 8 9 E F G H I J K L M N O P Q R S T U V W X Y 7 6 8 5 2 3 0-2 6 2 5 8 9 2 12/11/2009 59

Minimax S max n A B min n 1 n 2 C D E F max n = Max node n i = child of max node, i = 1 m n ij = child node of each max node, j = 1 i m f = evaluation function MAX : f (n i ) = MIN : f (n ij ) = MAX : f (n ij ) = max f (n i ) i min f (n ij ) j max { min f (n ij )} k = depth of the tree MAX should select i 1 s.t: i j n 11 n 12 n 21 n 22 f (n ) i 1i 2 ik = max i 1 min { f i 2 (n i 1i 2 ik ) } 12/11/2009 60

α pruning = pemotongan 1 level, β pruning = pemotongan > 1 level - Penghitungan bobot dimulai dari kiri ke kanan, bawah ke atas. - α cutoff krn sudah jelas node E dengan bobot 8 tidak dipilih oleh MIN B, - β cutoff krn sudah jelas node C dengan bobot 2 akan terpilih oleh MAX A. 12/11/2009 61

12/11/2009 62

Contoh α/β pruning????? 12/11/2009 63

12/11/2009 64

12/11/2009 65

12/11/2009 66

Untuk game catur, fungsi evaluasinya: 12/11/2009 67

Beberapa games melibatkan peluang. Contoh - lempar dadu, - Memutar game wheel Representasi pohon game ditambahkan node chance: Computer moves (max) Chance node Opponent moves (min) 12/11/2009 68

12/11/2009 69

12/11/2009 70

12/11/2009 71

12/11/2009 72

12/11/2009 73

12/11/2009 74

12/11/2009 75

Key Point: Langkah membuat deskripsi formal: 1. Definisikan Ruang keadaan/state Space (konfigurasi yang mungkin dari objek-objek yang relevan) 2. Definisikan Initial State 3. Definisikan Goal State 4. Tentukan kaidah/operator 12/11/2009 76