Top Banner
25

Minggu5 – Game playing

Jan 14, 2017

Download

Documents

haphuc
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: Minggu5 – Game playing

Game playing

Kecerdasan BuatanPertemuan 5 IT-EEPIS

Page 2: Minggu5 – Game playing

Kenapa mempelajari games?

• Kriteria menang atau kalah jelas• Dapat mempelajari permasalahan• Alasan histori• Menyenangkan• Biasanya mempunyai search space yang besar (misalnya game catur mempunyai35100 nodes dalam search tree dan 1040 legal states)

Page 3: Minggu5 – Game playing

Seberapa hebatcomputer game player?

– Catur: • Deep Blue mengalahkan Gary Kasparov pada tahun 1997• Gary Kasparav vs. Deep Junior (Feb 2003): seri

– Checkers:• Chinook adalah juara dunia

– Go:• Computer player adalah sangat tangguh

– Bridge:• computer players mempunyai “Expert-level”

Page 4: Minggu5 – Game playing

Garry Kasparov and Deep Blue. © 1997,

GM Gabriel Schwartzman's Chess Camera, courtesy IBM.

Page 5: Minggu5 – Game playing

Ratings of human and computer chess champions

Page 6: Minggu5 – Game playing
Page 7: Minggu5 – Game playing

January/February 2003

Page 8: Minggu5 – Game playing

Ciri umum pada game• 2 pemain• Kesempatan pemain bergantian• Zero-sum: kerugian seorang pemain adalahkeuntungan pemain lain

• Perfect information: pemain mengetahui semuainformasi state dari game

• Tidak mengandung probabilistik (seperti dadu)• Contoh: Tic-Tac-Toe, Checkers, Chess, Go, Nim, Othello

• Game tidak termasuk Bridge, Solitaire, Backgammon, dan semisalnya

Page 9: Minggu5 – Game playing

Bagaimana bermain game?

• Cara bermain game:– Pertimbangkan semua kemungkinan jalan– Berikan nilai pada semua kemungkinan jalan– Jalankan pada kemungkinan yang mempunyai nilaiterbaik

– Tunggu giliran pihak lawan jalan– Ulangi cara diatas

• Key problems:– Representasikan “board” atau “state”– Buatlah next board yang legal– Lakukan evaluasi pada posisi

Page 10: Minggu5 – Game playing

Evaluation function

• Evaluation function atau static evaluator digunakanuntuk mengevaluasi nilai posisi yang baik

• Zero-sum assumption membolehkan untukmenggunakan single evaluation function untukmendeskripsikan nilai posisi– f(n) >> 0: posisi n baik untuk saya dan jelek untuk lawan– f(n) << 0: posisi n jelek untuk saya dan baik untuk lawan– f(n) near 0: posisi n adalah posisi netral/seri– f(n) = +infinity: saya menang– f(n) = -infinity: lawan menang

Page 11: Minggu5 – Game playing

Contoh evaluation function

• Tic-Tac-Toef(n) = [# of 3-lengths open for me] - [# of 3-lengths open for you]

dimana 3-length adalah complete row, column, atau diagonal yang terisi

• Alan Turing’s function untuk catur– f(n) = w(n)/b(n) dimana w(n) = jumlah point value bidakputih and b(n) = jumlah point value dari bidak hitam

• Deep Blue (yang mengalahkan Gary Kasparov tahun1997) mempunyai lebih dari 8000 features untukevaluation function

Page 12: Minggu5 – Game playing

Game tree

Page 13: Minggu5 – Game playing

Minimax

• John von Neumann pada tahun 1944 menguraikan sebuah algoritma search padagame, dikenal dengan nama Minimax, yang memaksimalkan posisi pemain danmeminimalkan posisi lawan

Page 14: Minggu5 – Game playing

MAX

MIN

MAX

= terminal position = agent = opponent

D E F G

4 -5 -5 1 -7 2 -3 -8

1

4 1 2 -3

1 -3B C

A

Page 15: Minggu5 – Game playing

2 7 1 8

MAXMIN

2 7 1 8

2 1

2 7 1 8

2 1

2

2 7 1 8

2 1

2Jalan yang dipiliholeh MinimaxStatic evaluator

value

Page 16: Minggu5 – Game playing

Contoh: Game Nim

• Diawali serangkaian batang• Setiap pemain harus memecah serangkaian batang menjadi

2 kumpulan dimana jumlah batang di tiap kumpulan tidakboleh sama dan tidak boleh kosong

++

+

Page 17: Minggu5 – Game playing

7

6-1 5-2 4-3

5-1-1 4-2-1 3-2-2 3-3-1

4-1-1-1 3-2-1-1 2-2-2-1

3-1-1-1-1 2-2-1-1-1

2-1-1-1-1-1

Misalkan jumlahtotal batang = 7

Page 18: Minggu5 – Game playing

Asumsi

• MIN bermain dulu

• Evaluation function:– 0 �MIN menang– 1 �MAX menang

Page 19: Minggu5 – Game playing

7

6-1 5-2 4-3

5-1-1 4-2-1 3-2-2 3-3-1

4-1-1-1 3-2-1-1 2-2-2-1

3-1-1-1-1 2-2-1-1-1

2-1-1-1-1-1

MIN

MIN

MIN

MAX

MAX

MAX 0

1

0

0

01

0 1 0 1

1 1 11

Page 20: Minggu5 – Game playing

Alpha-beta pruning

• Merupakan improvisasi dari Minimax• Basic idea“If you have an idea that is surely bad, don't take the time to see how truly awful it is.” (Pat Winston)

2 7 1

=2

>=2

<=1

?

• Tidak perlu menghitung nilaipada node ini.

• Nilai pada node tersebuttidak akan berpengaruh padaroot-nya.

MAX

MAX

MIN

Page 21: Minggu5 – Game playing

A

B C

D E

6 5 8

MAX

MIN

6 >=8

MAX

<=6

H I J K

= agent = opponent

Page 22: Minggu5 – Game playing

A

B C

D E F G

6 5 8

MAX

MIN

6 >=8

MAX

6

H I J K L M

= agent = opponent

2 1

2

<=2

>=6

Page 23: Minggu5 – Game playing

A

B C

D E F G

6 5 8

MAX

MIN

6 >=8

MAX

6

H I J K L M

= agent = opponent

2 1

2

2

>=6

Page 24: Minggu5 – Game playing

A

B C

D E F G

6 5 8

MAX

MIN

6 >=8

MAX

6

H I J K L M

= agent = opponent

2 1

2

2

6

alpha cutoff

beta cutoff

Alpha-beta Pruning

Page 25: Minggu5 – Game playing

Referensi

• Notes by Charles R. Dyer, University of Wisconsin-Madison.

• Game Playing, Graham Kendall.• Modul Ajar Kecerdasan Buatan, Entin Martiana, Tessy Badriyah, Riyanto Sigit, PoliteknikElektronika Negeri Surabaya, 2005.

• Artificial Intelligence (Teori dan Aplikasinya), Sri Kusumadewi, cetakan pertama, Penerbit Graha Ilmu, 2003.