PENERAPAN KECERDASAN BUATAN Game Playing Kelompok 6
Nama Kelompok Dedi Sunaryono Darwis Bukhari Dinda Sigmawaty Tjeng Yogi Cenggoro
Peran AI dalam Game Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan (AI). Dengan kecerdasan buatan, elemen-elemen dalam game dapat berperilaku sealami mungkin layaknya manusia. Game AI adalah aplikasi untuk memodelkan karakter yang terlibat dalam permainan baik sebagai lawan, ataupun karakter pendukung yang merupakan bagian dari permainan tetapi tidak ikut bermain (NPC = Non Playable Character). Peranan kecerdasan buatan dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan manusia untuk berinteraksi dengan sesama manusia.
Pembentukkan AI Untuk pembentukan Artificial Intelligence pada game ternyata digunakan pula algoritma. Artificial intellegence yang disematkan dalam sebuah game yang membentuk analisis game tree biasanya merepresentasikan kondisi atau posisi permainan dari game sebagai suatu node, dan merepresentasikan langkah yang mungkin dilakukan sebagai sisi berarah yang menghubungkan node kondisi tersebut ke anak (child) sebagaimana representasi suatu pohon (tree).
Pembentukkan AI Representasi langsung seperti di atas tersebut mempunyai kelemahan, yaitu representasi data pohon akan menjadi sangat lebar dan banyak. Game tree yang lebar dan besar memberikan beberapa masalah, antara lain : konsumsi proses memori; kapasitas penyimpanan yang cukup besar dan ; kinerja yang kurang pada konsol game berspesifikasi rendah
Game Playing Game playing (permainan game) merupakan bidang AI yang sangat populer berupa permainan antara manusia melawan mesin/komputer yang memiliki intelektual untuk berpikir, komputer dapat bereaksi dan menjawab tindakan-tindakan yang diberikan oleh lawan mainnya. Lalu, Seberapa Hebat Game Playing ?
Salah satu komputer yang ditanamkan AI untuk game bernama Deep Blue. Deep Blue adalah sebuah komputer catur buatan IBM pertama yang memenangkan sebuah permainan catur melawan seorang juara dunia (Garry Kasparov) dalam waktu standar sebuah turnamen catur. Kemenangan pertamanya (dalam pertandingan atau babak pertama) terjadi pada 10 Februari 1996, dan merupakan permainan yang sangat terkenal.
Garry Kasparov and Deep Blue, 1997 GM Gabriel Schwartzman’s Chess Camera, courtesy IBM
Checkers Chinook (buatan Jonathan Schaeffer & team, University of Alberta) menjadi juara dunia checkers. Go Computer Player adalah sangat tangguh Bridge Computer Player mempunyai Expert Level
Ciri Umum Game Playing 1. 2 Pemain 2. Kesempatan Pemain bergantian 3. Zero Sum : kerugian seorang pemain adalah keuntungan pemain lain 4. Perfect Information : pemain mengetahui semua informasi state dari game 5. Tidak mengandung probabilistik (seperti dadu) 6. Game tidak termasuk Solitaire, Backgammon dan semisalnya
Bagaimana bermain Game? 1. Pertimbangkan semua kemungkinan jalan 2. Berikan nilai pada semua kemungkinan jalan 3. Jalankan pada kemungkinan yang mempunyai nilai terbaik 4. Tunggu giliran pihak lawan jalan 5. Ulangi cara diatas
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. Posisi baik untuk saya dan jelek untuk lawan Posisi jelek untuk saya dan baik untuk lawan Posisi netral/seri Posisi dimana saya menang Posisi dimana lawan menang
Contoh Evaluation Function Tic Tac Toe Posisi baik untuk saya dan jelek untuk lawan function logicTwo() Posisi jelek untuk saya dan baik untuk lawan function logicThree() Posisi netral/seri all = 3 Posisi dimana saya menang all = 2 Posisi dimana lawan menang all = 1
Algoritma • Manusia menggunakan symbol X dan AI menggunakan symbol O. • Jika symbol X (manusia) telah sejajar dan AI mengambil giliran, maka otomatis AI akan menutup jalan Symbol agar symbol X tidak membuat 1 garis. • Jika Simbol X tidak sejajar, giliran AI untuk mengatur strategi untuk menang yaitu dengan menempatkan symbol O agar sejajar dengan Simbol O lainnya.
Minimax John von Neumman pada tahun 1944 menguraikan sebuah algoritma search pada game, dikenal dengan nama Minimax, yang memaksimalkan posisi pemain dan meminimalkan posisi lawan. Algoritma minimax merupakan basis dari semua permainan berbasis AI seperti permainan catur, go, othello, checkers, bridge, tic-tac-toe dan lain sebagainya.
Hasil 2 3 1
Game NIM Diawali serangkaian batang Setiap pemain harus memecahkan serangkaian batang menjadi 2 kumpulan dimana jumlah batang di tiap kumpulan tidak boleh sama dan tidak boleh kosong.
ASUMSI MIN bermain dulu Evaluation function : 0 : MIN menang 1 : MAX menang.
ALPHA-BETA PRUNNING Merupakan improvisasi dari Minimax Basic idea "if you have an idea that is surely bad, dont take the time to see how truly awful it is" (Pat Winston)
ALPHA-BETA PRUNNING Sama seperti minimax, hanya saja nilai max (alpha) yg. ada hingga sekarang & nilai min (beta) yg. ada hingga sekarang disimpan, shg. : Jk. pd. level max, menjumpai node yg. value-nya < alpha, node tsb. tidak di-expand. Jk. pd. level min, menjumpai node yg. value-nya > beta, node tsb. tdk. di-expand.
Perbandingan Jumlah Batang Jumlah Node Minimax Alpha-Beta Prunning 7 26 22 15 8 58 54 36 9 176 171 76 10 470 465 112 11 1687 1681 353 12 5595 5589 635 13 22178 22171 1389 14 82370 82363 3427 372074 372066 10672