Minggu, 19 Februari 2012

TEORI GAME

Teori Game dan Pembuatan Intelegensi Buatan

Disusun Oleh :
Deky Sudrajat
09360003
TEKNIK INFORMATIKA


Institut Sains & Teknologi Nasional
2009


Teori Game dan Pembuatan Intelegensi Buatan

Abstrak

Makalah ini membahas tentang permainan dan beberapa hal mengenai intelegensi buatan. Pada makalah ini akan melihat sebuah permainan sebagai salah satu objek matematika yang nyata yang menggunakan pohon berarah pada pembuatan game dan perhitungan langkah yang mungkin dilakukan pemain. Makalah ini juga membahas intelegensi buatan sebagai bagian yang tidak terpisahkan dalam permainan. Pembahasan akan dibatasi hanya sekitar permainan sederhana dan sudah umum dalam masyarakat.

1. Pendahuluan
Dalam dunia modern ini, penggunaan teknologi untuk menunjang kegiatan manusia semakin banyak dan sangat berkembang. Salah satu bentuk kebutuhan pokok manusia adalah hiburan dan sebagai salah satu wujudnya adalah berbagai macam permainan. Penulis memilih tema ini untuk pembuatan makalah karena ketertarikan penulis terhadap dunia game yang terus berkembang secara
pesat pada zaman modern ini.
Dalam pembuatan suatu permainan digunakan banyak konsep graf berarah. Graf merupakan salah satu model matematika yang paling banyak aplikasinya dalam dunia nyata. Salah satu bentuk graf yang umum adalah bentuk pohon. Pohon merupakan bentuk graf terhubung yang tidak mempunyai rangkaian sederhana. Pohon dapat dibentuk berupa pohon n-ary dengan n merupakan banyaknya derajat maksimum yang dimiliki setiap simpul.

2. Representasi Game
Jika kita lihat dari sudut pandang yang berbeda, kita dapat melihatnya sebagai model matematika atau lebih tepat sebagai graf. Graf berarah dengan alur yang berkelanjutan yang kemudian akan membentuk pohon. Karena kebanyakan persoalan dalam dunia game dapat direpresentasikan sebagai suatu sistem kombinatorial dan kemudian membentuk pohon, maka dibentuklah suatu cabang ilmu khusus yang menanganinya sering disebut sebagai game-theory dan untuk representasi khusus dengan pohon dibuatlah extensive-form yang kemudian sangat banyak digunakan untuk pegembangan intelegensi buatan. Pohon yang dibentuk dengan simpul dan sisi yang mencerminkan suatu unsur dalam permainan tersebut. Umumnya simpul akar pada pohon merepresentasikan jumlah pemain kemudian simpul-simpul dibawahnya menjadi berkalang terus menerus untuk merepresentasikan jumlah kemungkinan langkah yang dapat diambil oleh pemain.
Bentuk representasi dari suatu permainan dapat berbeda-beda disesuaikan dengan spesifikasi yang digunakan dan bentuk serta jenis permainannya. Bentuk dan jenis permainan dapat dicontohkan seperti apakah permainan merupakan permainan dengan banyak pemain, hanya dapat dimainkan 1 orang, sistem dan peraturan yang digunakan, dll..

2.1 Bentuk Normal
Bentuk ini merupakan salah satu representasi dari game-theory yang paling tua. Representasi sebenarnya dari bentuk ini adalah sebuah matriks yang mengkalkulasi langkah yang dilakukan pemain dan efeknya terhadap pemain lainnya. Bentuk ini merupakan bentuk yang masih digunakan untuk merepresentasikan permainan strategi. Hal ini dikarenakan kemudahan dan akurasi dalam pembacaan aksi yang dilakukan oleh satu pemain dan efeknya terhadap keadaan lainnya. Sebagai contoh, jika pemain melakukan suatu langkah maka pemain akan mendapatkan poin sedangkan lawannya akan kehilangan poinnya. 
Matriks yang terbentuk akan selalu meperhitungkan langkah yang dilakukan serta efek pada pemain lain. Sebagai contoh, misalnya untuk sebuah game berkelanjutan yang dimainkan oleh dua orang seperti yang digambarkan pada gambar 2.1, pemain ke-2 akan melakukan langkah dengan strategi sebagai berikut :
1. Kiri jika pemain 1 melangkah ke atas dan kiri
2. Kiri jika pemain 1 melangkah ke atas dan kanan
3. Kanan jika pemain 1 melangkah ke atas dan kiri
4. Kanan jika pemain 1 melangkah ke atas dan kanan
5. Dan seterusnya

2.2 Bentuk Ekstensif
Representasi bentuk ini menggunakan struktur pohon sebagai media yang menyimpan data kejadian pada game serta menghitung kemungkinan langkah yang bisa diambil oleh pemain. Bentuk lengkap dari pohon ini selalu mencantumkan :
1. Pemain
2. Kemungkinan untuk setiap pemain
3. Apa yang bisa dilakukan pemain pada setiap langkah
4. Apa yang diketahui pemain untuk setiap langkah
5. Efek yang akan didapat untuk setiap kombinasi langkah

Selain dari bentuk pohon sederhana seperti di atas, terdapat juga bentuk lanjutan yang digunakan jika sebuah permainan mempunyai aksi yang tak terhingga. Bentuk representasinya adalah pohon dengan tak berhingga kemungkinan atau node yang kemudian lebih membentuk suatu ruang. 1 ruang dengan ruang lainnya dihubungkan dengan node yang beririsan sebagai bentuk aksi yang dilakukan.

3. Jenis Game
Seperti yang telah dibahas sebelumnya bahwa representasi dari suatu game harus didasarkan pada spesifikasi dan jenisnya. Berikut ini adalah beberapa jenis permainan berdasarkan klasifikasi umum yang mempengaruhi pemilihan representasinya dalam model matematika.

3.1 Simetris dan Asimetris
Jenis permainan lebih terlihat pada bentuk matriks yang dibentuk untuk merepresentasikannya. Permainan jenis ini menggunakan matriks kombinatorial dengan bentuk matriks yang simetris atau tidak simetris. Matriks simetris contohnya adalah matriks berukuran 2x2, 3x3, dst.. Berikut ini contoh gambaran matriks untuk representasi game yang simetris dan tidak simetris

3.2 Zero Sum dan non-Zero Sum
Konsep dari game ini dapat dilihat dari aturan yang berlaku dalam permainan ini . Pada dasarnya jenis ini adalah game dengan interaksi antar pemain yang berkelanjutan. Zero-Sum Game berakibat setiap aksi dari satu pemain selalu berdampak pada pemain lain. Sebagai contoh adalah suatu permanan kartu dengan taruhan. Dengan memisalkan terdapat 2 orang pemain, bila suatu pemain A memenangkan sebanyak 5 poin maka pemain B akan kehilangan sebanyak 5 poin juga. Dengan menganggap bahwa kekalahan adalah suatu minus dari menang, maka pada permainan tadi hanya akan menghasilkan nol pada akhirnya karena (5 – 5 = 0).
Non-Zero-Sum Game tentunya merupakan kebalikan dari penjabaran di atas. Pada jenis ini bila dimisalkan terdapat dua pemain maka untuk poin awal nol untuk setiap pemain, kedua pemain akan bermain untuk memenangkan poin hingga suatu titik akhir. Contohnya jika permainan berhenti jika ada pemain yang mendapat poin 10 terlebih dahulu.

3.3 Simultaneos dan Sequential Games
Bentuk dari representasi ini telah dijelaskan pada bagian bentuk ekstensif karena merupakan representasi pohon. Untuk simultaneous-game pohon yang terbentuk akan lebih merupakan bentuk ruang-ruang yang saling berpotongan.

3.4 Game dengan Informasi sempurna dan tidak sempurna
Pada struktur ini, perbedaan paling banyak terlihat pada bentuk pohon yang terbentuk. Pohon dengan informasi sempurna seperti yang telah dijelaskan pada bagian bentuk ekstensif pada bab representasi permainan yaitu pemain lain selalu tau langkah yang diambil pemain lain. Contoh permainan jenis ini adalah catur, go, dll..
Game dengan informasi tidak sempurna hanya berbeda pada bagian bahwa suatu pemain tidak dapat tau langkah pemain lain. Sehingga selalu ada kemungkinan bahwa kedua pemain melakukan langkah yang sama. Berikut ini adalah gambar pohon untuk permainan jenis informasi tidak sempirna, garis putus-putus pada pohon berarti bahwa tidak ada aksi yang memperhitungkan langkah yang berada pada node yang ada pada ujung garis putus-putus lainnya.

4. Contoh Pemecahan Game dengan Pohon
Pada sub bab ini akan dibahahas sepenggal contoh pemecahan game dengan bantuan pohon. Sebagai contoh akan digunakan permainan dengan kompleksitas terendah yaitu permaian Tic Tac Toe.

4.1 Aplikasi Lainnya dari Teori Game dalam berbagai bidang
Seperti kita ketahui bahwa penggunaan graf dan pohon sangat banyak aplikasinya dalam kehidupan. Game-theory juga merupakan salah satu konsep yang dapat diimplementasikan dalam bidang lainnya. Dengan menggunakan konsep pohon, kombinatorial matriks, dan dilengkapi dengan algoritma minimum.
4.1.1 Politik dan Ekonomi (Konsep Pohon)
Beberapa pemakaian yang paling mencolok adalah pada pengambilan keputusan yang berhubungan dengan sistem pemerintahan. Pada penerapan politik ini, untuk satu masalah yang sangat membutuhkan keputusan terbaik karena menyangkut masalah suatu negara. Dengan menggambarkannya secara ekstensif berupa pohon dengan informasi lengkap, dapat dimisalkan semua elemen yang mempengaruhi dan kemungkinan keputusan sebagai suatu node. Dengan menerapkan minimum tree dapat terlihat keputusan dengan resiko terkecil, dengan algoritma minimax (algoritma untuk mempertimbangkan keputusan terbaik) akan didapat solusi terbaik sebagai pemecahan masalah.

4.1.2 Biologi (Konsep Matriks Kombinatorial)
Konsep matriks kombinatorial dari game-theory banyak digunakan dalam bidang biologi khususnya yang menyangkut evolusi dan habitat hewan. Untuk masalah habitat hewan misalnya, sangat mirip dengan matriks kombinatorial pada Zero-Sum Game. Sebagai contoh permisalan adalah masalah piramida makanan yang berlaku pada hewan. Misalkan terdapat suatu populasi sebanyak n ayam dan n elang dengan asumsi bahwa ayam adalah makanan dari elang. Sehingga untuk bertahan hidup dan memperbanyak jenisnya, elang harus memakan ayam. Untuk satu kali memangsa maka di sini kemungkinan elang akan menjadi (n + 1) dan ayam akan (n - 1). Hal yang sama juga berlaku untuk teori territorial pada hewan. Selain dari dua contoh bidang di atas, masih banyak bidang lainnya yang memakai konsep hampir sama dengan game-theory.

5. Intelegensia Buatan
Bila membahas tentang suatu game, maka pembahasan intelegensi buatan adalah suatu hal yang sepertinya tidak dapat terpisahkan. Karena tanpa bidang ini, suatu permainan tidak akan dapat berjalan karena sebenarnya semua tindakan program pada permainan merupakan suatu intelegensi buatan.
Sebagai contoh adalah jika kita memainkan permainan catur secara elektronik dan hanya terdiri dari satu orang pemain, maka lawan kita adalah komputer dengan program intelegensi buatan untuk permainan catur. Dengan membuat suatu pohon lengkap berisi kemungkinan langkah yang juga memprediksi langkah kita, program akan terus mengeksekusi langkah terbaik yang memungkinkan. Begitu juga dengan banyak permainan lainnya. Pokok utama dari program ini sebenarnya adalah algoritma pencarian. Dalam pengembangan intelegensi buatan, para peneliti lebih konsentrasi tentang bagaimana cara membuat suatu pohon pencarian yang berukuran lebih kecil untuk menangani suatu kasus yang sama. Dalam pengembangannya banyak algoritma pencarian telah dibuat, namun pada zaman modern ini banyak dari pengembangan intelegensi buatan yang memodifikasi algoritma Alpha-Beta. Algoritma ini merupakan algoritma dasar yang dinilai cukup mangkus karena kefektifannya dalam membentuk pohon pencarian yang sederhana dan akurat.

5.1 Algoritma Alpha-Beta
Algoritma ini merupakan suatu algoritma pencarian pada pohon n-ary dengan memanfaatkan suatu algoritma minimax. Algoritma ini dipakai untuk permainan dengan 2 pemain. Inti dari algoritma ini adalah dengan mengurangi pencarian langkah yang tidak perlu jika sudah diketahui bahwa suatu langkah A lebih buruk dari langkah B. Sehingga pohon pencarian untuk langkah A akan berhenti.
Dengan menggunakan asumsi bahwa pemain pertama selalu dalam keuntungan dari pemain lain, algoritma ini kemudian akan akan membuat suatu pohon lengkap dengan memperhitungkan kedalaman dan kemungkinan langkah. Algoritma ini terdiri dari dua nilai yaitu alpha dan beta. dengan menggunakan bahwa alpha adalah minus tak terhingga dan beta adalah positif tak terhingga, secara terus menerus secara rekursif algoritma akan merubah nilai alpha dan beta sesuai langkah yang dilakukan pada setiap node. Ketika beta menjadi lebih kecil dari alpha, algoritma akan berhenti. Berikut adalah contoh penggalan algoritma alphabeta :

int AlphaBeta(int depth, int alpha, int beta)
{
if (depth == 0)
return Evaluate();
GenerateLegalMoves();
while (MovesLeft()) {
MakeNextMove();
val = -AlphaBeta(depth - 1, -beta, -alpha);
UnmakeMove();
if (val >= beta)
return beta;
if (val > alpha)
alpha = val;
}
return alpha;
}

Pada saat ini sudah banyak algoritma yang memodifikasi algoritma ini dan sudah terbukti lebih cepat dan efisien secara waktu. Namun masihbanyak kekurangan karena disesuaikan dengan spesifikasi khusus yang dibawanya. Sehingga banyak yang sudah terbukti lebih cepat tetapi dalam pengelolaan memori dan ruang lebih buruk dari algoritma alpha-beta.
Suatu permainan dapat diukur tingkat kompleksitasnya sesuai dengan pembuatan gametree yang mendasari permainan tersebut. Pada akhir makalah terdapat table yang menunjukkan kompleksitas permainan. Go merupakan permainan dengan papan yang memiliki kompleksitas paling tinggi.

5.3 Bilangan Shannon
Merupakan bilangan yang mencerminkan kompleksitas dalam permainan catur, bernilai 10120 . bilangan itu merupakan suatu batas bawah yang menghitung kompleksitas permainan catur. Shannon juga menambahkan bahwa untuk memainkan suatu permainan lengkap, terdapat setidaknya 50 kemungkinan yang harus diingat program dan 30 langkah resmi. Dengan asumsi bahwa suatu permainan akan bertahan sampai sekitar 40 langkah tanpa ada yang menyerah.
Dengan cara mundur kebelakang atau memulai dari daun terlebih dahulu perhitungan tentang menang, kalah, atau seri dapat diperkirakan dari awal, kemudian akan dijalankan kemungkinankemungkinan langkah sesuai dengan langkah yang pertama kali dilakukan. Shannon menghitung bahwa 64! / 32!(8!)2(2!)6 atau sekitar 1043 adalah batas atas yang mungkin. Dalam hal ini terhitung juga berbagai langkah yang tidak mungkin.

KESIMPULAN

Kesimpulan yang didapat dalam pembahasan masalah graf pada makalah ini adalah :
1.    Graf merupakan model matematika yang sangat aplikatif dalam banyak bidang.
2.    Pada pembuatan teori game dan Intelegensi buatan sangat digunakan salah satu bentuk graf yaitu bentuk pohon.
3.    Pada teori game, juga terdapat hubungan kombinatorial yang kemudian dapat disimpan dalam bentuk matriks.
4.    Struktur pohon merupakan struktur yang baik untuk algoritma pencarian.

DAFTAR PUSTAKA

[1] Munir, Rinaldi.2006.Diktat Kuliah IF2153 Edisi Keempat. Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung.
[2]http://www.wikipedia.org/wiki/Game_complexity
[3]http://www.cs.mcgill.ca/~cs251/OldCourses/19 97/topic11
[4]http://www.ics.uci.edu/~eppstein/cgt [5]http://mainline.brynmawr.edu/Courses/cs372/f all2004/AB.html



Tidak ada komentar:

Posting Komentar