Top Banner
KI091322 Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search) Teknik Informatika, Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya 2012 Pengembangan Bahan Ajar sebagai Pendukung Student Centered-Learning (SCL) melalui e-Learning : Share ITS [AIMA] Russel, Stuart J., Peter Norvig, "Artificial Intelligence, A Modern Approach" 3rd Ed., Prentice Hall, New Jersey, 2010
41

KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Mar 28, 2018

Download

Documents

TranAnh
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: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

KI091322 Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan

(Adversarial Search)

Teknik Informatika, Fakultas Teknologi Informasi

Institut Teknologi Sepuluh Nopember Surabaya

2012 Pengembangan Bahan Ajar sebagai Pendukung Student Centered-Learning

(SCL) melalui e-Learning : Share ITS

[AIMA] Russel, Stuart J., Peter Norvig, "Artificial Intelligence, A Modern Approach" 3rd Ed., Prentice Hall, New Jersey, 2010

Page 2: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Pencarian dengan Lihat Status Lawan (Adversarial Search)

• Teknik pencarian terdahulu…

– uninformed, informed, local

…tidak memperhitungkan state dari pihak lawan

• Adversarial Search peduli pada state lawan

– contoh problem sering berupa permainan game

• orang lawan komputer pada game catur

• solusi dari Algoritma Adversarial Search menjadi langkah komputer

• Misal: Algoritma Minimax, Algoritma Alpha Beta

2

Page 3: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Adversarial Search pada Problem Game

• Initial State: posisi board dan pemain

• Successor Function: mengembalikan daftar kemungkinan langka pemain

• Terminal Test: penentuan syarat game berakhir

• Utility function: nilai dari setiap state

• Game Tree: kemungkinan langkah pemain (state) berdasarkan langkah sebelumnya

3

Page 4: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Contoh State pada Game Tic Tac Toe

4

Nilai state disamping adalah [0, 1, 2, 3, 4, 5, 6, 7, 8]

0 1 2

3 4 5

6 7 8

X 0 X 2

3 4 5

6 7 8

Nilai state disamping adalah [0, X, 2, 3, 4, 5, 6, 7, 8]

X

O

0 X 2

3 4 O

6 7 8

Nilai state disamping adalah [0, X, 2, 3, 4, O, 6, 7, 8]

Page 5: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Contoh Utility Function

• Istilah pada bahasan terdahulu,

– Nilai fitness (fitness function pada Algoritma Genetika)

– Cost Function pada uninformed & informed search

• Fungsi: memberikan suatu nilai pada state yang sedang diamati

– Tidak ada aturan baku, heuristik, sesuai dengan definisi permasalahan

5

Page 6: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Contoh Utility Function Game Tic Tac Toe

6

X Nilai state untuk Pemain X disamping: 2 - 0 Ada 2 garis yang bisa dibuat Pemain X

X

O

Nilai state untuk Pemain X disamping: 2 – 1 = 1 Hanya ada 1 garis yang bisa dibuat Pemain X karena Pemain O menghalangi garis lainnya

Nilai Utility Function = banyaknya garis yang bisa dibuat seorang pemain tanpa gangguan dari pemain lain.

Page 7: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Contoh Game Tree pada Tic Tac Toe

7

Daftar semua kemungkinan posisi X sebagai Pemain 1

2 pemain berusaha membuat garis pada papan n x n initial state : [0,1,2,3,4,5,6,7,8]

SUCCESSORS( [0,1,2,3,4,5,6,7,8] ) returns [ (0,[X,1,2,3,4,5,6,7,8]), (1,[0,X,2,3,4,5,6,7,8]), ... ]

Posisi 0 Posisi 1

Posisi 0

Posisi 1

Page 8: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Algoritma Minimax

8

• Memberikan nilai paling maksimal atau nilai paling minimal dari pemain – Contoh berikut adalah game tree dari 2 pemain dengan

kemungkinan langkah sampai 3 level • ruang kemungkinan terlalu banyak -> ada pembatasan kedalaman level

(DEPTH-LIMITED SEARCH) • Nilai utility function untuk state langkah pemain di posisi level 3 telah

dihitung • Tujuan Level 0 dan Level 2 -> mencari nilai state paling maksimal • Tujuan Level 1 -> mencari nilai state paling minimal

Page 9: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Algoritma Minimax • Buat 2 fungsi recursive :

– max-value mencari nilai maksimal successors – min-value mencari nilai minimal successors

def value(state): If terminal state: return the state’s utility If MAX agent: return max-value(state) If MIN agent: return min-value(state)

def max-value(state): Initialize max = -∞ For each successor of state:

V ← value(successor) max ← maximum(max, v)

Return max

9

Page 10: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimax dengan Depth-Limited Search • Buat 2 fungsi recursive :

– max-value mencari nilai maksimal successors – min-value mencari nilai minimal successors

def value(state, limit): If terminal state: return the state’s utility If limit = 0: return evaluation_function(state) If MAX agent : return max-value(state, limit) If MIN agent : return min-value(state, limit)

def max-value(state, limit): Initialize max = -∞ For each successor of state:

V ← value(successor, limit-1) max ← maximum(max, v)

Return max

10

Page 11: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Contoh Animasi Minimax

5 1 3 6 2 2 7 0

Max

Min

Max 5

5

6

7 0

6

6

3

3

3 1

Langkah yang diambil komputer adalah state

dengan nilai utility function = 6

11

Page 12: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

-: Pruning di Depth-Limited Search

• Pruning = pemotongan cabang pada game tree

– Mengurangi waktu pembuatan dan penelusuran tree

• Algoritma Alpha Beta (-)

– Minimax pada DepthLimited Search + pruning

– Syarat pruning: nilai variabel alpha dan variabel beta

• Alpha = nilai paling maksimal di semua level max

• Beta = nilai paling minimal di semua level min

12

Page 13: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Algoritma Alpha Beta

13

Page 14: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

State Awal Contoh Alpha-Beta

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

14

Page 15: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

State Akhir Contoh Alpha-Beta

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

1

1

-3

1

1

-5

-5

-5

1

2

2

2

2

1

15

Page 16: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

17

Page 17: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

17

Page 18: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

17

Page 19: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0 -3

17

Page 20: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0 -3

17

Page 21: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0 -3

17

Page 22: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0 -3 3

3

17

Page 23: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0 -3 3

3

17

Page 24: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

17

Page 25: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

5

17

Page 26: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

17

Page 27: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

17

Page 28: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

17

Page 29: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

17

Page 30: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

0

17

Page 31: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

5

0

17

Page 32: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

1

1

0

17

Page 33: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

1

1

-3

0

17

Page 34: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

1

1

-3

0

17

Page 35: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

1

1

-3

1

1

0

17

Page 36: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

1

1

-3

1

1

-5

0

17

Page 37: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

1

1

-3

1

1

-5

0

17

Page 38: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

1

1

-3

1

1

-5

-5

-5

0

17

Page 39: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

1

1

-3

1

1

-5

-5

-5

1

17

Page 40: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

1

1

-3

1

1

-5

-5

-5

1

1

17

Page 41: KI091322 Kecerdasan Buatan - Share ITSshare.its.ac.id/pluginfile.php/1365/mod_resource/content/1/06... · –contoh problem sering berupa permainan game •orang lawan komputer pada

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Minimum-β

Maximum-α

Alpha-Beta Example

0 5 -3 2 5 -2 3 2 -3 0 3 3 -5 0 1 -3 5 0 1 -5 5 3 2 -3 5

0

0

0

0 -3 3

3

0

2

2

2

2

1

1

-3

1

1

-5

-5

-5

1

2

2

2

2

1

17