3e595 05 game playing

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 mempunyai
35100 nodes dalam search tree dan 1040 legal
states)

Seberapa hebat
computer game

player?
- Catur:
• Deep Blue mengalahkan Gary Kasparov pada
tahun
• 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"

1997

Garry Kasparov and Deep Blue. © 1997,
GM Gabriel Schwartzman's Chess Camera,
courtesy IBM.


Ratings of human and computer chess champions

~~
OS>

1111
1111
"11'1
111

':l

.'"
a
1 8
s3. .
.
>
0


~

~

'"
0
It

i

i

j!"

.i

,l
i
~I~

jill
~
a.
i;
-I

~.5 ...

8

~ ~

-5

i

J
uk
lj
...




•i

~

~

;

!...

.
z.'

~t

"


oS!
!' ~

u>

is

"
~
-5 J I

i
11
f
f~j
j,i

J.

'll ." ~

oS!
-Il ..

11'1
1'11

.. .
:a

:1i
~

l't
f

i
U

1
~J.I.

1a

!'o
.

~JI

11:1
1:110'

l

f.
a

!

dfj
~


-e

:;

.

..
.
.".
.~
.''.
.
V

i
~
.!

.c


..'-'"
"
..

.
E

e
0

.

''
s.
""

.

.:
.


QI

SUPPORT
E

> lEW

Columbia Bank

>
DOWILDA
D

PRODUCTS

> GERMAN
PAGE
> SPANISH PAGE

,

S
HOP

,

':iJC1D1m .... : TIl. ftnt foUl. Omelll Wort.
CIIIsI CbamDlonshlJ
MAN (Kaaparov) VS MACHINE

>

CONTACT
>
CATALOG

(Deep JunIor)

JaD'Vottd

> OK"l.D(1DA.TIlIt!'t.SE
> PlAYDtDATJLItJtSE
> eN USB.U"£ WORU
> DIS'l'JU8urOllS

Score

>~

ChasBGUN~'J

",!\bac
k
MAfl.u ]
l'1I.f'upillioll

HAL or Tal? Junior Stuns Kasparov in Game Five

Sc:ttedl
lfe

Ciri umum pada game
• 2 pemain
• Kesempatan pemain bergantian
• Zero-sum: kerugian seorang pemain adalah
keuntungan pemain lain
• Perfect information: pemain mengetahui semua
informasi state dari game

Tidak mengandung probabilistik (seperti dadu)

Contoh: Tic-Tac-Toe, Checkers, Chess, Go,
Nim,
• Game tidak termasuk Bridge, Solitaire,
Backgammon, dan semisalnya
Othello

Bagaimana bermain game?
• Cara bermain game:
- Pertimbangkan semua kemungkinan jalan
- Berikan nilai pada semua kemungkinan jalan
- Jalankan pada kemungkinan yang
nilai
mempunyai terbaik
- Tunggu giliran pihak lawan jalan
- Ulangi cara diatas

• Key problems:
- Representasikan "board" atau "state"
- Buatlah next board yang legal
- Lakukan evaluasi pada posisi

Evaluation function
• Evaluation function atau static evaluator digunakan
untuk mengevaluasi nilai posisi yang baik
• Zero-sum assumption membolehkan untuk
menggunakan single evaluation function untuk
mendeskripsikan nilai posisi
-

f(n)
f(n)
f(n)
f(n)
f(n)

00 0: posisi n baik untuk saya dan jelek untuk lawan
«« 0: posisi n jelek untuk saya dan baik untuk lawan
near 0: posisi n adalah posisi netrallseri
= +infinity: saya menang
= -infinity: lawan menang

Contoh evaluation function
• Tic-Tac-Toe
fen) = [# of 3-lengths open for me] - of 3-lengths open for
[#
you] 3-length adalah complete row, column, atau diagonal
dimana
yang terisi

• Alan Turing's function untuk catur


- f(n) = w(n)/b(n) dimana wen) = jumlah point value
bidak putih and ben) = jumlah point value dari bidak
hitam

Deep Blue eyang mengalahkan Gary Kasparov tahun
1997) mempunyai lebih dari 8000 features untuk
evaluation function

Game tree

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

MAX

1

1

MIN

MAX

4

4

8

D

·5

A

·3

1

·5

= terminal position

E

2

1

·7
= agent

c

F

·3

2

G

·3
= opponent

·8

2
1

2
2

7

1

Static evaluator
value

8

2

7

1

8

2

1

2

7

Jalan yang dipilih
oleh Minimax

1

8

2
2

1

MAX
MIN

2

7

1

8

Contoh: Game Nim
• Diawali serangkaian batang
• Setiap pemain harus memecah serangkaian batang
menjadi
2 kumpulan dimana jumlah batang di tiap kumpulan tidak
boleh sama dan tidak boleh kosong

+
+
+

Misalkan jumlah
total batang = 7

7

6-1

5-1-1

5-2

4-2-1

4-1-1-1

4-3

3-2-2

3-2-1-1

3-1-1-1-1

3-3-1

2-2-2-1

2-2-1-1-1
2-1-1-1-1-1

Asumsi
• MIN bermain dulu
• Evaluation function:
- 0 � MIN menang
- 1 � MAX menang

1

MIN

1

MAX

1

6-1

5-2

0
MIN

MAX

4-3

1

5-1-1

0

2-2-1-1-1
MAX

3-2-2

1
3-2-1-1

3-1-1-1-1

0

1
2-1-1-

0

1

0

4-2-1

4-1-1-1

MIN

1-1-1

7

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

0

Alpha-beta pruning
• Merupakan improvisasi dari Minimax
• Basic idea
HIf you have an idea that is surely bad, don't take
the time to see how truly awful it is." (Pat
Winston)
MAX
MIN

>=2

=2

• Tidak perlu menghitung nilai
pada node ini.
«=1

MAX
2

7

1

?

• Nilai pada node tersebut
tidak akan berpengaruh pada
root-nya.

A
M
AX
=8

E

MAX

J

H
K

I

6

5

8
=
agent
=
opponent

A

>=6

MAX
6

B

=8

E

2

F

G

MAX
H

I

6

5

J
8
= agent

K

L

M

2

1

= opponent

A

>=6

MAX
6

B

2

C

MIN
6

D

>=8

E

2

F

G

MAX
H

I

6

5

J
8
= agent

K

L

M

2

1

= opponent

Alpha-beta Pruning
A

6

MAX
6
cutoff

B
2

C

beta

MIN
6

D
F

2

>=8

E
G

alpha
c
utoff

MAX

I
M

J

K

H
L
6

5

8

2

1
=
agent
= opponent

Referensi
• Notes by Charles R. Dyer, University of WisconsinMadison.
• Game Playing, Graham Kendall.
• Modul Ajar Kecerdasan Buatan, Entin Martiana,
Tessy Badriyah, Riyanto Sigit, Politeknik
Elektronika Negeri Surabaya, 2005.
• Artificial Intelligence (Teori dan Aplikasinya), Sri
Kusumadewi, cetakan pertama, Penerbit Graha Ilmu,
2003.