ALGORITMA GENETIK SEBAGAI FUNGSI PRUNING ALGORITMA MINIMAX PADA PERMAINAN TRIPLE TRIAD CARD.

dokumen-dokumen yang mirip
PERBANDINGAN KINERJA ALGORITMA GENETIK DAN ALGORITMA BRANCH AND BOUND PADA TRAVELLING SALESMAN PROBLEM

KI Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search)

PENERAPAN ALGORITMA GENETIK PADA PERMAINAN CATUR JAWA

PENEMPATAN MAHASISWA PESERTA MATA KULIAH UMUM DENGAN ALGORITMA GENETIK DI UNIVERSITAS KATOLIK PARAHYANGAN

ALTERNATIF MODEL PEMAMPATAN MATRIKS JARANG DENGAN MENGGUNAKAN ALGORITMA GENETIK

CRYPTANALYSIS HOMOPHONIC SUBSTITUTION CIPHER DENGAN ALGORITMA GENETIK

OPTIMALISASI AKSI NON PLAYER CHARACTER PADA GAME KARTU REMI MENGGUNAKAN ALGORITMA GENETIKA

PEMAKAIAN ALGORITMA GENETIK UNTUK PENJADWALAN JOB SHOP DINAMIS NON DETERMINISTIK

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB IV HASIL DAN PENGUJIAN. Perangkat lunak terdiri dari 2 bagian utama, yaitu game tree untuk

Combinatorial Game Theory, Game Tree, dan Intelegensia Buatan

PENERAPAN ALGORITMA MINIMAX PADA PERMAINAN CHECKERS

Perbandingan Penerapan Algoritma Minimax Dengan Algoritma Alpha-Beta Pruning Pada Permainan Othello

BAB 2 LANDASAN TEORI

APLIKASI ALGORITMA GENETIKA DALAM PENENTUAN DOSEN PEMBIMBING SEMINAR HASIL PENELITIAN DAN DOSEN PENGUJI SKRIPSI

Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III METODE PENELITIAN. Berikut langkah-langkah yang dilakukan dalam penelitian ini :

Algoritma Greedy dalam Artificial Intelligence Permainan Tic Tac Toe

BAB 2 LANDASAN TEORI. 2.1 Algoritma Genetika

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP)

APLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION

Keywords Algoritma, Genetika, Penjadwalan I. PENDAHULUAN

BAB 2 TINJAUAN PUSTAKA

OPTIMASI PENJADWALAN KEGIATAN BELAJAR MENGAJAR DENGAN ALGORITMA GENETIK

BAB I PENDAHULUAN. O, yang bergiliran menandai ruang dalam kotak berukuran 3 3. Pemain yang

BAB 2 LANDASAN TEORI

PERANCANGAN PENERAPAN ALGORITMA NEGAMAX ALPHA BETA PRUNING PADA PERMAINAN OTHELLO NASKAH PUBLIKASI. diajukan oleh Bayu Trisna Pratama

UKDW BAB 1 PENDAHULUAN Latar Belakang

UKDW BAB 1 PENDAHULUAN Latar Belakang

Implementasi Algoritma Negascout Untuk Permainan Checkers

BAB 1 PENDAHULUAN 1.1. Latar Belakang

BAB 2 LANDASAN TEORI

ANALISIS ALGORITMA MINIMAX DENGAN OPTIMASI ALPHA BETA PRUNIGN PADA PERMAINAN FIVE IN ROW

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

Implementasi Algoritma Greedy, BFS, Branch and Bound, dan Metode Heuristik dalam Permainan Reversi

PEMAMPATAN MATRIKS JARANG DENGAN METODE ALGORITMA GENETIKA MENGGUNAKAN PROGRAM PASCAL

PEMBUATAN APLIKASI PERMAINAN OTHELLO 16X16 BERBASIS DESKTOP DENGAN ALGORITMA ALPHA BETA PRUNNING

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. Dalam beberapa tahun terakhir Artificial Intelligence (AI) atau kecerdasan

2 TINJAUAN PUSTAKA. 2.1 Peringkasan Teks

BAB 2 TINJAUAN PUSTAKA

BAB 3 METODOLOGI 3.1. Analisis Kebutuhan dan Masalah Analisis Kebutuhan

Penggunaan Algoritma Genetik dengan Pemodelan Dua Tingkat dalam Permasalahan Penjadwalan Perawat pada Unit Gawat Darurat Rumah Sakit Umum XYZ Surabaya

Optimasi Penjadwalan Ujian Menggunakan Algoritma Genetika

Generator Jadwal Perkuliahan Menggunakan Algoritma Genetika

UKDW. Bab 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

TEKNIK PENJADWALAN KULIAH MENGGUNAKAN METODE ALGORITMA GENETIKA. Oleh Dian Sari Reski 1, Asrul Sani 2, Norma Muhtar 3 ABSTRACT

PENERAPAN ALGORITMA GENETIKA UNTUK TRAVELING SALESMAN PROBLEM DENGAN MENGGUNAKAN METODE ORDER CROSSOVER DAN INSERTION MUTATION

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Artificial Intelligence

BAB 2 LANDASAN TEORI

PEMODELAN DAN PENGIMPLEMENTASIAN PERMAINAN CONNECT FOUR

DAFTAR ISI. Tim Redaksi... i Kata Pengantar... ii Daftar Isi... iii

Tugas Mata Kuliah E-Bisnis REVIEW TESIS

Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

MENGUKUR KINERJA ALGORITMA GENETIK PADA PEMAMPATAN MATRIKS JARANG

Perancangan Sistem Penjadwalan Asisten Dosen Menggunakan Algoritma Genetika (Studi Kasus: STIKOM Bali)

ALGORITMA MINIMAX SEBAGAI PENGAMBIL KEPUTUSAN DALAM GAME TIC-TAC-TOE

PERANCANGAN ALGORITMA GENETIKA UNTUK MENENTUKAN JALUR TERPENDEK. Kata kunci: Algoritma Genetika, Shortest Path Problem, Jalur Terpendek

BAB 2 LANDASAN TEORI

Pengukuran Kualitas Jadwal Awal Pada Penjadwalan Job Shop Dinamis Non Deterministik Berbasis Algoritma Genetik

ALGORITMA MINIMAX DALAM PERMAINAN CHECKERS

BAB III ANALISA DAN PERANCANGAN

Analisis Operator Crossover pada Permasalahan Permainan Puzzle

Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP)

8. Evaluasi Solusi dan Kriteria Berhenti Perumusan Masalah METODE PENELITIAN Studi Pustaka Pembentukan Data

BAB 2 LANDASAN TEORI

ALGORITMA MINIMAX PADA GAME ANDROID

BAB I PENDAHULUAN. kehidupan sehari-hari dan juga merupakan disiplin ilmu yang berdiri sendiri serta

BAB II TINJAUAN PUSTAKA. Khowarizmi. Algoritma didasarkan pada prinsiup-prinsip Matematika, yang

Pencarian Rute Optimum Menggunakan Algoritma Genetika

IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENCARIAN RUTE PALING OPTIMUM

OPTIMASI PENJADWALAN CERDAS MENGGUNAKAN ALGORITMA MEMETIKA

BAB 2 LANDASAN TEORI. 2.1 Algoritma

Pemaksimalan Papan Sirkuit Di Pandang Sebagai Masalah Planarisasi Graf 2-Layer Menggunakan Algoritma Genetika

IKI30320 Kuliah 8 26 Sep Ruli Manurung. Game playing. Strategi optimal. Bekerja cepat Cutoff Tree pruning. State of the art.

Bab II. Tinjauan Pustaka

Lingkup Metode Optimasi

BAB 2 TINJAUAN PUSTAKA

PENERAPAN ALGORITMA MONTE CARLO TREE SEARCH PADA PERMAINAN HALMA SKRIPSI VINCENTIUS

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB III. Metode Penelitian

R.Fitri 1, S.Novani 1, M.Siallagan 1

ABSTRAK. Kata kunci : Algoritma Genetik, Penjadwalan. i Universitas Kristen Maranatha

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

APLIKASI ALGORITMA GENETIKA DALAM MENENTUKAN SPESIFIKASI PC BERDASARKAN KEMAMPUAN FINANSIAL KONSUMEN

APLIKASI UNTUK PREDIKSI JUMLAH MAHASISWA PENGAMBIL MATAKULIAH DENGAN MENGGUNAKAN ALGORITMA GENETIKA, STUDI KASUS DI JURUSAN TEKNIK INFORMATIKA ITS

BAB I PENDAHULUAN. hampir di seluruh dunia, termasuk Indonesia. Alat transportasi ini memiliki

PENENTUAN MATCHING MAKSIMUM PADA GRAPH BIPARTISI BERBOBOT DENGAN MENGGUNAKAN ALGORITMA GENETIKA

KI Kecerdasan Buatan Materi 5: Pencarian dengan Optimasi (Local Search & Optimization )

PENGENALAN ANGKA DENGAN MENGGUNAKAN ALGORITMA GENETIK. Fakultas Teknik dan Ilmu Komputer, Jurusan Teknik Informatika Universitas Komputer Indonesia

PENYELESAIAN KNAPSACK PROBLEM MENGGUNAKAN ALGORITMA GENETIKA

BAB III Analisis. Gambar III.1 Rancangan Pemrosesan

ANALISIS DAN IMPLEMENTASI KECERDASAN BUATAN PADA PERMAINAN CHECKER MENGGUNAKAN ALGORITMA MINIMAX DENGAN NEGASCOUT SKRIPSI

BAB 2 TINJAUAN PUSTAKA

Penerapan Struktur Pohon dan Pencarian Solusi Langkah pada Engine Catur

Transkripsi:

ALGORITMA GENETIK SEBAGAI FUNGSI PRUNING ALGORITMA MINIMAX PADA PERMAINAN TRIPLE TRIAD CARD. Nico Saputro [1] dan Erico Darmawan Handoyo [2] Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Katolik Parahyangan Jl. Ciumbuleuit 94 Bandung, Telpon (022) 204194, Fax (022) 2042141 [1] nico@home.unpar.ac.id, [2] khe_wan_xing@yahoo.com ABSTRAK Pada makalah ini, algoritma genetik dipakai sebagai fungsi pruning dari algoritma minimax dan diterapkan pada permainan Triple Triad Card. Ada parameter strategi yang diusulkan dan algoritma genetik dipakai untuk mencari prioritas atau bobot tiap strategi tersebut. Selanjutnya prioritas yang diperoleh dari algoritma genetik bersama dengan parameter strategi dipakai untuk menghitung nilai setiap state dari algoritma minimax. Hasil percobaan menunjukkan bahwa algoritma minimax dengan fungsi pruning algoritma genetik jauh lebih cepat dibandingkan algoritma minimax biasa dan kedalaman minimax berpengaruh terhadap tingkat keberhasilan strategi yang diterapkan. Kata kunci : algoritma minimax, fungsi pruning, algoritma genetik, triple triad card 1. PENDAHULUAN Kecerdasan Buatan (Artificial Intelligence) dapat diterapkan ke berbagai bidang. Umumnya yang paling menarik adalah penerapannya untuk permainan (Game). Kecerdasan buatan dapat diterapkan ke beragam tipe permainan, salah satunya adalah permainan memakai papan (board games) seperti catur, checker, tic-tac-toe, othello, dan lain-lain. Permainan-permainan tersebut memerlukan pemikiran beberapa langkah ke depan, menduga langkah apa yang akan diambil lawan dan bagaimana meminimalkan akibat langkah lawan tersebut. Algoritma minimax sering dipakai pada permainan dengan papan yang melibatkan antara komputer dan user. Algoritma minimax menentukan langkah komputer dengan membuat pohon permainan dari awal permainan sampai kondisi akhir permainan (terminal state). Proses sampai ke terminal state ini sering memakan waktu lama. Pruning atau mengabaikan suatu cabang dari pohon permainan tanpa memeriksanya terlebih dahulu merupakan salah satu cara untuk mempercepat proses tersebut. Algoritma genetik merupakan algoritma pencarian yang cara kerjanya meniru mekanisme dari seleksi alam dan genetika. Algoritma genetik telah banyak diterapkan diberbagai bidang, antara lain untuk penjadwalan kuliah, job shop scheduling, penyusunan tata letak pabrik, dan permainan memakai papan. Beberapa penelitian sebelumnya yang menggunakan algoritma genetik pada permainan memakai papan antara lain Faybish (1998) untuk permainan othello[1], Kurniawan (2002) untuk permainan othello[2], dan Saputro dan Dirgagautama (2004) untuk permainan catur jawa[3]. Dalam penelitian ini akan dikembangkan perangkat lunak permainan Triple Triad Card yang dapat dimainkan oleh user melawan komputer. Ada parameter strategi yang diusulkan berdasarkan aturan permainan, 3 parameter strategi bersifat menyerang dan 3 parameter lainnya bersifat bertahan. Algoritma genetik dipergunakan untuk mencari komposisi prioritas / bobot terbaik dari ke- parameter strategi tersebut. Berdasarkan parameter strategi dan prioritas, algoritma minimax dapat memilih state-state yang perlu ditelusuri lebih lanjut. Selanjutnya, akan ditunjukkan bahwa algoritma minimax dengan fungsi pruning algoritma genetik lebih cepat dalam mencari solusi dibandingkan algoritma minimax saja dan kedalaman minimax berpengaruh terhadap tingkat keberhasilan strategi yang diterapkan. 2. TINJAUAN PUSTAKA 2.1 Permainan Triple Triad Card [4] Pada Final Fantasy VIII, terdapat permainan Triple Triad Card yang dimainkan oleh 2 pemain pada papan berukuran 3x3 kotak. Untuk membedakan pemain, setiap pemain akan mendapatkan kartu dengan warna yang berbeda, masing-masing sebanyak 5 buah kartu. Di pojok kiri atas kartu tercantum 4 buah nilai kartu seperti terlihat pada gambar 1. Rentang nilai kartu adalah nilai 1 terendah dan nilai A tertinggi. 1

yaitu : Initial State (menyimpan informasi kondisi permainan pada suatu waktu ketika komputer harus melangkah), kumpulan Operator (langkah-langkah yang dapat dilakukan pemain), Terminal Test (untuk menentukan kapan permainan berakhir), dan Utility function (memberikan nilai untuk tiap terminal state atau kondisi akhir permainan) [5]. Gambar 1 Contoh kartu Triple Triad Card (1) Gambar kartu (2) 4 buah nilai kartu (3) Papan 3x3 Secara bergiliran, pemain meletakkan satu kartu pada kotak yang masih kosong sedemikian rupa hingga dapat mengubah sebanyak mungkin kartu lawan menjadi miliknya. Permainan berhenti jika seluruh papan telah terisi oleh kartu. Pemain yang memiliki kartu terbanyak pada akhir permainan adalah pemenangnya. Ada 4 cara mengubah kartu lawan (lihat gambar 2), yaitu : bila nilai kartu pada sisi yang bersinggungan lebih besar daripada nilai kartu lawan, bila terpenuhi aturan Plus (ada dua atau lebih sisi yang bersinggungan dengan jumlah nilai sama), aturan Same (ada 2 / lebih dengan nilai kartu sama dengan nilai kartu lawan pada sisi yang bersinggungan), dan aturan Combo (perubahan kartu lawan akibat Same / Plus). Langkah algoritma Minimax [5] : 1. Buat seluruh pohon permainan hingga terminal state. Akar pohon adalah Initial State / kondisi permainan saat komputer harus melangkah. Tiap node mewakili suatu state atau kondisi permainan. 2. Hitung nilai tiap terminal state dengan menggunakan utility function. 3. Gunakan nilai tersebut untuk menentukan nilai node satu tingkat di atasnya. 4. Teruskan memberi nilai pada tiap node hingga pada akar pohon. 5. Pada tingkat ketika pemain lawan melangkah, nilai yang diambil adalah nilai terendah dari node satu tingkat di bawahnya. Sebaliknya saat komputer melangkah, nilai yang diambil adalah nilai tertinggi dari node satu tingkat di bawahnya. (a) (b) Ada dua hal yang dapat dilakukan untuk mempercepat algoritma Minimax, yaitu [5] : 1. Utility function digantikan evaluation function. Kegunaan utility function dan evaluation function adalah sama yaitu untuk menghitung nilai suatu (state). 2. Terminal test digantikan cutoff test yang berfungsi untuk menentukan apakah proses pencarian dihentikan atau tidak. Cutoff test berbeda dengan terminal test. (c) (d) Gambar 2 Aturan merubah kartu lawan (a) Lebih besar (b) Plus (c) Same (d) Combo Gambar 2d menunjukkan contoh perubahan kartu akibat aturan Combo, kartu merah sisi atas dan kiri akan berubah menjadi biru dengan aturan Plus. Selanjutnya Kartu merah pada pojok sisi kiri atas akan ikut berubah menjadi biru karena nilai kartu tersebut lebih kecil dari nilai kartu yang bersinggungan dengannya. 2.2 Algoritma Minimax Sebelum memakai algoritma minimax untuk menentukan langkah komputer, kita perlu merepresentasikan permainan menjadi 4 komponen Proses mengabaikan suatu cabang dari pohon pencarian tanpa memeriksanya terlebih dahulu disebut pruning [5]. Teknik ini dapat lebih mempersingkat waktu daripada hanya memakai fungsi cutoff [5]. Dalam algoritma minimax dengan pruning, diperlukan sebuah fungsi untuk menilai suatu state dalam pohon permainan yang disebut pruning function. 2.3 Algoritma Genetik Tahap pertama dalam algoritma genetik adalah merepresentasikan parameter-parameter masalah ke bentuk kromosom. Ada 4 cara representasi yaitu binary encoding, permutation encoding, value encoding, dan tree encoding[]. Pemilihan representasi tersebut bergantung dari masalah yang dihadapi. Tahap kedua adalah pemilihan operatoroperator genetik yaitu operator reproduksi, crossover, dan mutasi. Tahap ketiga penetapan fungsi fitness dan terakhir pemilihan parameterparameter genetik seperti ukuran populasi, 2

maksimal generasi, peluang crossover, dan peluang mutasi. Cara kerja algoritma genetik adalah sebagai berikut [7] : 1. [Start] Buat populasi acak dari n kromosom. 2. [Fitness] Evaluasi fitness tiap kromosom yang terdapat pada populasi. Semakin baik fitness, semakin unggul kromosom tersebut. 3. [New Population] Buat populasi baru dengan mengulangi langkah 4 sampai ukuran populasi terpenuhi. 4. [Replace] Gunakan populasi baru ini untuk menggantikan populasi lama. [Reproduction] Pilih 2 induk kromosom dari populasi berdasarkan nilai fitness. [Crossover] Berdasarkan peluang crossover, lakukan crossover terhadap induk untuk mendapatkan keturunan baru. Jika tidak ada crossover, maka keturunan baru merupakan salinan (exact copy) dari induknya. [Mutation] Berdasarkan peluang mutasi, lakukan mutasi terhadap keturunan baru ini. [Accepting] Tempatkan keturunan baru ini di dalam populasi baru. 5. [Test] Jika kondisi akhir terpenuhi, stop, hasil akhir adalah solusi terbaik pada populasi saat ini.. [Loop] Ulangi langkah 2. Parameter 5 adalah banyaknya kartu milik komputer yang akan berubah bila lawan dapat menempatkan kartunya sedemikian hingga memenuhi aturan Same. Jika perubahan kartu akan membentuk combo, maka nilai parameter 5 akan ditambah banyaknya kartu yang berubah dikarenakan aturan combo. Dengan meletakkan kartu komputer di posisi tersebut, komputer dapat mencegah pemain melakukan same beserta combonya jika ada. Parameter adalah banyaknya kartu milik komputer yang akan berubah bila lawan dapat menempatkan kartunya sedemikian hingga memenuhi aturan Plus. Jika perubahan kartu akan membentuk sebuah combo, maka nilai parameter akan ditambah banyaknya kartu yang berubah dikarenakan aturan combo. Dengan meletakkan kartu komputer diposisi tersebut, komputer dapat mencegah lawan melakukan plus beserta combonya jika ada. 3.2 Pemodelan Algoritma Genetik Representasi yang dipilih adalah value encoding. Kromosom terdiri dari buah gen. Locus (posisi gen) menunjukkan nomor parameter strategi, dan Alele (nilai gen) menunjukkan prioritas/bobot parameter strategi. Makin besar prioritas suatu parameter, makin besar kemungkinan langkah diambil berdasarkan nilai parameter tersebut. 3. PEMODELAN PERMAINAN 3.1 Parameter-Parameter Strategi Permainan Dari tiap kondisi papan / state, kita dapat mengambil parameter untuk menentukan apakah state tersebut perlu ditelusuri atau tidak. Parameter 1,2, dan 3 adalah strategi menyerang, sedangkan parameter 4, 5, dan adalah strategi bertahan. Parameter 1 adalah banyaknya kartu lawan yang akan berubah bila nilai sisi kartu komputer pada sisi yang bersinggungan lebih besar. Parameter 2 adalah banyaknya kartu lawan yang berubah karena aturan Same ditambah banyaknya kartu lawan yang berubah karena aturan Combo. Parameter 3 adalah banyaknya kartu lawan yang berubah karena aturan Plus ditambah banyaknya kartu lawan yang berubah karena aturan combo. Parameter 4 adalah banyaknya kartu milik komputer yang akan berubah bila lawan dapat menempatkan kartu sedemikian hingga salah satu sisi kartu lawan bernilai lebih besar daripada kartu komputer yang bersinggungan dengannya. Dengan meletakkan kartu komputer di posisi tersebut, komputer dapat mencegah lawan untuk mengambil kartu milik komputer. Gambar 3 : Contoh kromosom Gambar 3 memperlihatkan sebuah kromosom dengan gen. Posisi gen pertama mewakili parameter 1 dan nilai gennya yaitu 10 adalah bobot dari parameter 1. Posisi gen kedua mewakili parameter 2 dengan bobot 9, posisi gen ketiga mewakili parameter 3 dengan bobot 25, posisi gen keempat mewakili parameter 4 dengan bobot 18, posisi gen kelima mewakili parameter 5 dengan bobot 8, dan posisi gen keenam mewakili parameter dengan bobot 1. Operator genetik yang dipakai adalah operator reproduksi Elitism[3], two point crossover, dan mutasi salah satu allele secara acak. Nilai fitness setiap kromosom diperoleh dengan menandingkan kromosom tersebut melawan kromosom-kromosom lain dalam populasi dengan sistem ½ kompetisi. Setiap kali kromosom tersebut menang akan diberi nilai 2, seri diberi nilai 1, dan kalau kalah diberi nilai 0. Ukuran populasi (banyaknya kromosom dalam satu populasi) ditetapkan 1 sehingga banyaknya pertandingan dalam 1 (satu) siklus iterasi yang disebut generasi adalah 120 kali ( 1 C 2 ). 3

3.3 Algoritma Minimax dengan fungsi Pruning Algoritma Genetik Initial state untuk permainan Triple Triad Card akan menyimpan data tentang papan permainan, kartu milik komputer, kartu milik lawan / user, dan kartu apa saja yang telah dipakai saat komputer harus melangkah. Kumpulan operator yang dipakai hanya satu yaitu operator menaruh kartu. Terminal State menyimpan data tentang papan permainan, kartu milik komputer, kartu milik lawan / user, dan kartu apa saja yang telah dipakai saat permainan berakhir. Evaluation function yang dipakai adalah banyaknya kartu yang dimiliki komputer / user. Fungsi pruning yang dipakai adalah : F v1, v2, v3, v4, v5, v pivi (1) i1 dimana v1, v2, v3, v4, v5, v adalah nilai parameter strategi dan p1, p2, p3, p4, p5, p adalah prioritas prioritas yang dicari oleh algoritma genetik. Sebagai contoh, misalkan diketahui kromosom dengan allele secara berturutan 12-33-14-17-25-1, dan kondisi papan permainan yang akan ditelusuri serta kartu komputer dan kartu pemain seperti terlihat pada gambar 4. (a) (b) (c) Gambar 4. Contoh perhitungan fungsi pruning (a) Kondisi permainan, (b) kartu komputer (c) kartu lawan Berdasarkan kondisi papan, komputer dapat meletakkan kartu di posisi 1 atau 2. Posisi papan jika Komputer meletakkan kartunya pada posisi 1 atau pada posisi 2, dapat dilihat pada gambar 5. (a) (b) Gambar 5. Kondisi papan setelah komputer melangkah (a) ke posisi 1 (b) ke posisi 2. Penempatan kartu komputer di posisi 1 menyebabkan 2 kartu lawan (atas tengah dan bawah tengah) berubah menjadi milik komputer sesuai aturan Same. Komputer juga dapat mempertahankan kartu miliknya (kartu di kiri tengah dan kanan tengah) agar tidak berubah menjadi milik lawan. Diperoleh nilai pruning di posisi 1 sebesar f(0,2,0,0,0,2) = 8 dan di posisi 2 sebesar f(0,0,0,0,0,0) = 0. Berdasarkan kedua nilai pruning tersebut, komputer tentunya akan lebih memilih posisi 1 untuk ditelusuri. Algoritma genetik mencari komposisi prioritas atau bobot dengan cara melakukan pertandingan ½ kompetisi antar kromosom dalam suatu populasi. Pertandingan ½ kompetisi ini dapat diulang dalam beberapa iterasi atau disebut juga generasi. Disetiap pergantian generasi, hanya diambil beberapa kromosom dengan nilai kemenangan terbaik saja yang menjadi anggota populasi berikutnya. Agar ukuran populasi tetap, kromosom-kromosom lainnya dihasilkan melalui proses crossover dan mutasi. Komposisi prioritas terbaik yang diperoleh dari hasil pertandingan tersebut akan dipakai menghitung nilai setiap state dari pohon permainan yang dihasilkan oleh algoritma minimax. 10 (sepuluh) State dengan nilai terbaik akan ditelusuri lebih lanjut, state lainnya diabaikan. Bila jumlah state di suatu initial state lebih kecil atau sama dengan 10, seluruh state akan ditelusuri. Dapat dikatakan, 10 state yang paling sesuai dengan sifat kromosom yang sedang dipakai saja yang akan ditelusuri oleh algoritma minimax, bukan seluruh state. Dengan demikian, Algoritma Genetik akan mempersingkat proses Algoritma Minimax dan memberikan ciri permainan komputer berdasarkan kromosom yang digunakan. Langkah-langkah Algoritma minimax yang menggunakan algoritma genetik sebagai fungsi pruning adalah sebagai berikut : 1. Buat seluruh kemungkinan state satu tingkat di bawah initial state. 2. Hitung nilai state-state tersebut dengan fungsi pruning. 3. Ambil sepuluh state dengan nilai pruning tertinggi. 4. Buat seluruh kemungkinan state satu tingkat di bawah ke sepuluh state dengan nilai pruning tertinggi. 5. Ulangi langkah 2 sampai 4 hingga mencapai kedalaman minimax tertentu. Node-node/statestate pada tingkat paling bawah disebut sebagai cutoff state.. Hitung nilai cutoff state menggunakan evaluation function. 7. Gunakan nilai tersebut untuk menentukan nilai node satu tingkat di atasnya. 8. Teruskan memberi nilai pada tiap node hingga pada akar pohon. 4

9. Pada tingkat ketika pemain lawan melangkah, nilai terendah yang diambil dari node satu tingkat dibawahnya. Sebaliknya pada tingkat ketika komputer melangkah yang diambil nilai tertinggi dari node satu tingkat di bawahnya. Gambar memberikan ilustrasi proses penelusuran yang dilakukan oleh algoritma minimax dengan algoritma genetik sebagai fungsi pruning. Misalkan jumlah maksimal node / state yang akan di telusuri hanya 2. Pada node/state A terdapat 3 kemungkinan melangkah yang akan menghasilkan node/state B, C, dan D. Setelah dihitung nilai state B, C, dan D dengan fungsi pruning, komputer memilih 2 node dengan nilai pruning tertinggi yaitu node B dan D untuk ditelusuri. Node C tidak akan ditelusuri lebih lanjut. Komputer akan menelusuri node B dan D dengan cara yang sama hingga ke terminal state/cutoff state. Gambar. Ilustrasi proses penelusuran algoritma minimax 4. HASIL EKSPERIMEN 4.1 Eksperimen Waktu Pencarian Solusi Tujuan eksperimen adalah untuk membuktikan bawah penggunaan Algoritma Genetik sebagai fungsi prunning pada Algoritma Minimax dapat mempersingkat waktu yang diperlukan untuk mencari langkah terbaik komputer. Eksperimen dilakukan dengan cara menandingkan 2 pemain yang semua langkahnya dijalankan komputer (mode komputer melawan komputer). Masingmasing komputer memakai kedalaman minimax, metode Minimax (Minimax / Minimax dengan Algoritma Genetik sebagai fungsi pruning), kromosom, dan jenis kartu yang sama. Waktu dihitung sejak awal permainan hingga akhir permainan. Hasil eksperimen dapat dilihat di tabel 1. Tabel 1. Waktu Pencarian Solusi Kedalaman Minimax Algoritma 4 5 Kromosom : 1-1-1-1-1-1 (prioritas sama) Minimax 2.79 detik 37.41 detik Minimax + Genetik 0.4 detik 2.80 detik Kromosom : 80-9-4-2-100-23 Minimax 2.85 detik 37.34 detik Minimax + Genetik 0. detik 2.7 detik Hasil eksperimen tersebut menunjukkan bahwa algoritma minimax dengan algoritma genetik sebagai fungsi pruning lebih cepat proses pencarian solusi dibandingkan algoritma minimax biasa. 4.2 Eksperimen Pengaruh Kedalaman Minimax Tujuan eksperimen adalah untuk melihat pengaruh kedalaman minimax terhadap tingkat keberhasilan memenangkan pertandingan. Eksperimen dilakukan memakai mode komputer melawan komputer. Pemain1 (yang melangkah pertama) memakai salah satu strategi dari kelompok kromosom terbaik. Pemain2 memakai strategi dari kromosom yang lebih rendah peringkatnya. Kelompok kromosom terbaik diperoleh dengan membuat suatu populasi awal beranggota 1 kromosom secara acak dan dilakukan pertandingan ½ kompetisi selama beberapa generasi. Tabel 2 memperlihatkan kelompok kromosom terbaik yang dipergunakan pada eksperimen ini, yaitu 4 kromosom yang menduduki peringkat 1 s/d 4 di klasemen akhir. Tabel 2. Kelompok kromosom terbaik Peringkat Kromosom 1 51-28--0-57-8 2 31-25-70-50-32-22 3 89-57-70-50-90-10 4 87-32-82-87-3-55 5

Mula-mula ditandingkan Pemain1 melawan Pemain2 pada kedalaman minimax yang sama. Bila Pemain2 kalah atau seri, kedalaman minimax dari Pemain2 ditambah sedangkan kedalaman minimax Pemain1 tetap. Kartu yang digunakan kedua pemain selama eksperimen selalu sama. Hasil eksperimen yang dilakukan dapat dilihat di tabel 3 dan tabel 4. Tabel 3 Hasil eksperimen prioritas pemain1 adalah 51 28 0 57 8, kedalaman minimax = 2 Prioritas pemain2 Kedalaman minimax 2 3 4 5 89 57 91 39 90 10 K S S S S 5 32 0 3 55 K M M - - 59 5 0 80 13 K M M - - Keterangan tabel : K = Kalah, S = Seri, M = Menang. Tabel 4 Hasil eksperimen prioritas pemain1 adalah 31 25 70 50 32 22, kedalaman minimax = 3 Prioritas pemain2 Kedalaman minimax 3 4 5 89 57 91 39 90 10 K S M - 31 25 0 32 78 S S S M 59 5 5 47 80 13 K S M - Keterangan tabel : K = Kalah, S = Seri, M = Menang. DAFTAR REFERENSI [1] Faybish, Itamar, Applying The Genetic Algorithm To The Game of Othello, Msc thesis, Computer Science Department Vrije Universiteit Brussel, 1998. [2] Kurniawan, Dhani, Studi dan Implementasi Algoritma Genetik pada permainan othello, Skripsi, Jurusan Ilmu Komputer Universitas Katolik Parahyangan, 2002. [3] Saputro, Nico dan Erdo Dirgagautama, Penerapan Algoritma Genetik pada permainan catur jawa, Jurnal Integral, Vol 9, no. 1, Maret 2004, 17-2. [4] Squaresoft, Final Fantasy VIII Game, Squaresoft, 1999. [5] Russell, Stuart J. & Peter Norvig, Artificial Intelligence a Modern Approach, Prentice Hall, 2002. [] Obitko, Marek, http://cs.felk.cvut.cz/~xobitko/ga/ [online] tanggal akses : 15 Juni 2005. [7] Man, K.F, Genetic Algorithms concepts and design, Springer, 1999 Hasil eksperimen menunjukkan bahwa kedalaman minimax berpengaruh terhadap tingkat keberhasilan memenangkan pertandingan. Bahkan kromosom yang termasuk kelompok kromosom terbaik pun dapat dikalahkan oleh kromosom yang memiliki kedalaman minimax lebih besar. 5. KESIMPULAN Hasil eksperimen menunjukkan bahwa Algoritma Genetik dapat dipakai sebagai fungsi pruning sehingga dapat mempercepat proses algoritma Minimax. Selain itu, semakin besar kedalaman minimax akan memperbesar kemungkinan kemenangan komputer. Keterbatasan dalam eksperimen berkaitan dengan pemilihan kelompok kromosom terbaik yang dipergunakan. Kelompok tersebut dihasilkan hanya dalam beberapa generasi/iterasi. Pencarian bobot-bobot yang benar-benar terbaik masih perlu dilakukan dengan memberikan kesempatan yang lebih lama bagi algoritma genetik untuk mencarinya. Permainan Triple Triad Card sendiri masih mempunyai aturan main yang belum tercakup pada usulan parameter strategi, seperti misalnya aturan permainan yang dinamakan Elemental Rule. Oleh karena itu, masih terbuka peluang untuk mengembangkan perangkat lunak permainan Triple Triad Card yang telah dibuat sehingga mencakup seluruh aturan main yang ada.