Pengertian Kecerdasan Buatan
Kecerdasan buatan (bahasa
Inggris: Artificial Intelligence atau AI) didefinisikan sebagai kecerdasan yang ditunjukkan oleh
suatu entitas buatan. Sistem seperti
ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam
suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat
dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan
antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan
robotika.
Penelitian dalam AI
menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang
membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian,
perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan
pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti
itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada
penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering
digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah
dibangun dalam beberapa aplikasi perangkat lunak komputer rumah danvideo
game.
Sedangkan arti dari
kecerdasan buatan,menurut para ahli :
H.A Simon (1987):
“kecerdasan buatan
merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan
pemrograman computer untuk melakukan sesuatu hal yang dalam pandangan manusia
adalah cerdas.”
Rich and Knight (1991):
“Sebuah studi tentang
bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan
dengan lebih baik oleh manusia.”
Encyclopedia Britannica:
“merupakan cabang dari
ilmu computer yang dalam merepresentasi pengetahuan lebih banyak menggunakan
bentuk symbol-simbol dari bilangan, dan memproses informasi berdasarkan metode
heuristic atau berdasarkan sejumlah aturan”
Tujuan dari kecerdasan
buatan menurut Winston dan Prendergast (1984):
1. Membuat
mesin menjadi lebih pintar (tujuan utama)
2. Memahami
apa itu kecerdasan (tujuan ilmiah)
3. Membuat
mesin menjadi lebih bermanfaat (tujuan entrepreneurial)
Didefinisikan sebagai
kecerdasan yang ditunjukan oleh suatu entitas buatan. Sistem seperti ini
umumnya dianggap computer. Kecerdasan diciptakan dan dimasukkan dalam suatu
mesin atau computer agar dapat melakukan pekerjaan seperti yang dapat dilakukan
manusia. Beberapa bidang yang menggunakan kecerdasan buatan anatara lain system
pakar, permaianan computer, fuzzy logic, jaringan syaraf tiruan dan robotika.
Pengertian Game
Game adalah permainan
komputer yang dibuat dengan teknik dan metode animasi. Permainan game merupakan
bidang AI yang sangat populer berupa permainan antara manusia melawan mesin
yang mempunyai intelektual untuk berpikir. Komputer dapat bereaksi dan menjawab
tindakan-tindakan yang diberikan oleh lawan mainnya.
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.
Kini telah banyak
berkembang game AI yang semakin menarik, interaktif, dan dengan grafis yang
sangat bagus. Ditambah dengan kemajuan teknologi jaringan komputer yang semakin
cepat, sudah banyak terdapat game-game AI yang berbasiskan online.
Tidak sedikit orang yang tertarik dengan game saat ini. Mereka memainkan game
untuk mengisi kekosongan waktu mereka atau pun melatih skill mereka dalam
berpikir.
Terdapat beberapa tipe
dalam game,antara lain
o Informasi
lengkap = suatu game dimana permain mengetahui semua langkah yang mungkin terjadi
dari dirinya sendiri dan dari lawan dan hasil akhir dari permainan. Contoh game
: catur dan tic tac toe
o Informasi
tak lengkap : game dimana pemain tidak tahu semua kemungkinan langkah lawan.
Contoh game : Kartu Poker dan Brigde karena semua kartu tidak diketahui oleh
para pemain.
Sejarah Artificial
Intelligence dalam Game
Pada tahun 1769, dataran
Eropa dikejutkan dengan suatu permainan catur yang dapat menjawab
langkah-langkah permainan catur yang belum ditentukan terlebih dahulu. Mesin
ini disebut dengan Maelzel Chess Automation dan dibuat oleh
Wolfgang Von Kempelan (1734-1804) dari Hungaria. Akan tetapi mesin ini akhirnya
terbakar pada tahun 1854 di Philadelphia Amerika Serikat.banyak orang tidak
percaya akan kemampuan mesin tersebut. Dan seorang penulis dari Amerika
Serikat, Edgar Allan Poe (1809-1849) menulis sanggahan terhadap mesin tersebut,
dia dan kawan-kawannya ternyata benar, bahwa mesin tersebut adalah tipuan, dan
kenyataannya bukanlah aoutomation, tetapi merupakan konstruksi yang sangat baik
yang dikontrol oleh seorang pemain catur handal yang bersembunyi di dalamnya.
Usaha untuk membuat
konstruksi mesin permainan terus dilanjutkan pada tahun 1914, dan mesin yang
pertama kali didemonstrasikan adalah mesin permainan catur. Penemu mesin ini
adalah Leonardo Torres Y Quevedo, direktur dari Laboratorio de
Automatica di Madrid, Spanyol. Beberapa tahun kemudian, ide permainan
catur dikembangkan dan diterapkan di komputer oleh Arthur L. Samuel dari IBM
dan dikembangkan lebih lanjut oleh Claude Shannon.
Artificial Intelligence
dalam Game
Salah satu unsur yang
berperan penting dalam sebuah game adalah kecerdasan buatan. 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 menusia untuk berinteraksi dengan
sesama manusia. Contoh media interaksi ialah:
· Penglihatan
(vision)
· Suara
(voice), ucapan (speech)
· Gerakan
anggota badan ( gesture)
Untuk pembentukan
Artificial Intelligence pada game ternyata digunakan pula algoritma, yaitu
jenis pohon n-ary untuk suatu struktur. Implementasi pohon (tree) ini biasa
disebut game tree. Berdasarkan game tree inilah sebuah game disusun algoritma
kecerdasan buatannya. 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).
Namun, biasanya
representasi langsung tersebut mempunyai kelemahan, yaitu representasi data
pohon akan menjadi sangat lebar dan banyak. Mungkin bagi sebuah mesin komputer
mampu melakukan kalkulasi sebanyak apapun masalah, namun 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. Karena itu dibentuklah beberapa algoritma dan
penyederhanaan bagi sebuah game tree.
Pada salah satu contoh
game klasik, yaitu tic tac toe, penyederhanaan dapat dilakukan dengan berbagai
metode. Salah satu diantaranya adalah minimax. Metode ini berhasil diterapkan
dan memberikan nilai reduksi yang cukup signifikan. Dan tidak hanya bisa
digunakan secara monoton, minimax juga bisa digunakan untuk game-game yang
lebih rumit seperti catur, tentunya dengan algoritma dan representasi berbeda.
Minimax yang merupakan
salah satu metode penerapan (implementasi) pohon n-ary pada suatu game,
menandakan bahwa implementasi struktur (pohon khusunya) sangatlah diperlukan
pada pembuatan dan penerapan Artificial Intelligence, dan tidak menutup
kemungkinan ilmu dan metode baru yang lebih canggih akan ditemukan di masa
depan.
Beberapa karakteristik
dan batasan game untuk game playing :
Dimainkan oleh 2 ( dua )
pemain: manusia dan komputer. Para pemain saling bergantian melangkah.
1. Perfect
Information Game : Kedua pemain sama-sama memiliki akses pada informasi yang
lengkap tentang keadaan permainan, sehingga tidak ada informasi yang tertutup
bagi lawan mainnya.
2. No
Determined by Chances : Tidak melibatkan faktor probabilitas, misalnya dengan
menggunakan dadu.
3. No
Phsychological Factors : Tidak melibatkan faktor psikologi, seperti “gertakan”
(misalnya Poker)
4. No
Oversight Errors Smart Opponen : Lawan diasumsikan pintar juga, jadi jangan
mengharap lawan khilaf, sehingga terjadi salah langkah.
Beberapa contoh permainan yang biasa digunakan sebagai contoh
kasus Game Playintyle = Last One Loses n-coins Grundy’s Game
· Slide-5
· Tic-Tac-Toe
· Checkers
· Go
· Nim
· Othello
· Chess
Mode Game AI
A. Pathfinding
Metode pathfinding paling
mudah ditemui pada game-game bertipe strategi dimana kita menunjuk satu tokoh untuk
digerakkan ke lokasi tertentu dengan mengklik lokasi yang hendak dituju. Si
tokoh akan segera bergerak ke arah yang ditentukan, dan secara “cerdas” dapat
menemukan jalur terpendek ataupun menghindari dari rintangan-rintangan yang
ada. Salah satu algoritma pathfindin yang cukup umum dan yang paling banyak
digunakan utnuk mencari jarak terpendek secara efisien adalah algoritma A*
(baca: A star). Secara umum, algoritma A* adalah mendefinisikan area pencarian
menjadi sekumpulan node-node (tiles). Titik awal dan titik akhir ditentukan
terlebih dulu untuk mulai penelusuran pada tiap-tiap node yang memungkinkan
untuk ditelusuri. Dari sini, akan diperoleh skor yang menunjukkan besarnya
biaya untuk menempuh jalur yang ditemukan, ditambah dengan nilai heuristik yang
merupakan nilai biaya estimasi dari node yang ada menuju tujuan akhir. Iterasi
akan dilakukan hingga akhirnya mencapai target yang dituju.
B. Jaringan
saraf tiruan (neural network)
Neural network cukup baik
ketika diterapkan pada kasus-kasus yang sifatnya non-linier atau mengambil
keputusan yang tidak dapat dilakukan dengan metode tradisional. Penerapannya
seringkali pada game-game yang memerlukan kemampuan adaptif atau belajar dari
pengalaman. Sebagai contoh, jika suatau ketika terjadi pertempuran antar player
dengan unit komputer, dan unit komputer mengalami kekalahan, maka pada
kesempatan lain yang serupa, komputer akan memilih untuk tidak bertempur.
Semakin banyak pengalaman yang dialami komputer, maka komputer menjadi semakin
cerdas. Prinsip dasar dari jaringan saraf tiruan ini adalah perbaikan bobot
secara terus menerus agar output yang dihasilkan menjadi semakin akurat
(semakin cerdas).
C. Algoritma
Genetis (genetic algorithm)
Algoritma genetis sedikit
banyak dipengaruhi oleh teori evolusi yang dicetuskan Darwin, yaitu bahwa
spesies akan terus menerus beradaptasi dengan lingkungannya dan ciri khasnya
yang terletak pada kromosom, akan diturunkan pada generasi berikutnya. Generasi
turunan ini menerima gabungan kromosom dari kedua induknya, yang disebut dengan
crossover. Pada algoritma genetis, akan diterapkan langkah ranking fitness
untuk melakukan seleksi terhadap langkah ranking fitness untuk melakukan
seleksi terhadap generasi turunan yang terbaik. Pada game berbasis algorima
genetis, turunan terbaik inilah yang dilibatkan ke dalam game, dimana akan
digunakan oleh komputer untuk merespons perubahan-perubahan tingkah laku user.
D. Algoritma, Struktur Data dan Representasi
1. Decision
tree
Decision Tree adalah
salah satu metode klasifikasi yang paling populer karena mudah untuk
diinterpretasi oleh manusia. Decision tree adalah model prediksi menggunakan
struktur pohon atau struktur berhirarki. Konsep dari decision tree adalah
mengubah data menjadi pohon keputusan dan aturan-aturan keputusan. Manfaat
utama dari penggunaan decision tree adalah kemampuannya untuk mem-break down
proses pengambilan keputusan yang kompleks menjadi lebih simpel sehingga
pengambil keputusan akan lebih menginterpretasikan solusi dari permasalahan.
ü Kelebihan
1. Daerah
pengambilan keputusan yang sbelumnya kompleks dan sangat global, dapat diubah
menjadi lebih simpel dan spesifik.
2. Eliminasi
perhitungan-perhitungan yang tidak diperlukan, karena ketika menggunakan metode
decision tree maka sample diuji hanya berdasarkan criteria atau kelas tertentu.
3. Fleksibel
untuk memilih features dari internal nodes yang berbeda, feature yang terpilih
akan membedakan suatu criteria dibandingkan criteria yang lain dalam node yang
sama. Kefleksibelan metode decision tree ini meningkatkan kualitas keputusan
yang dihasilkan jika dibandingkan ketika menggunakan metode penghitungan satu
tahap yang lebih konvensional.
4. Dalam
analisis multivariat, dengan kriteria dan kelas yang jumlahnya sangat banyak,
seorang penguji biasanya perlu untuk mengestimasikan baik itu distribusi
dimensi tinggi ataupun parameter tertentu dari distribusi kelas tersebut.
Metode decision tree dapat menghindari munculnya permasalahan ini dengan menggunakan
criteria yang jumlahnya lebih sedikit pada setiap node internal tanpa banyak
mengurangi kualitas keputusan yang dihasilkan.
ü Kekurangan
1. Terjadi
overlap terutama ketika kelas-kelas dan criteria yang digunakan jumlahnya
sangat banyak. Hal tersebut juga dapat menyebabkan meningkatnya waktu
pengambilan keputusan dan jumlah memory yang diperlukan.
2. Pengakumulasian
jumlah error dari setiap level dalam sebuah pohon keputusan yang besar.
3. Kesulitan
dalam mendesain decision tree yang optimal. Hasil kualitas keputusan yang
didapatkan dari metode decision tree sangat tergantung pada bagaimana pohon
tersebut didesain.
2. Finite
State Machines (FSM)
FSM adalah sebuah
metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau
prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan),
Event (kejadian) dan Action (aksi). Pada satu saat dalam periode waktu yang
cukup signifikan, sistem akan berada pada salah satu state yang aktif. Sistem
dapat beralih atau bertransisi menuju state lain jika mendapatkan masukan atau
event tertentu, baik yang berasal dari perangkat luar atau komponen dalam
sistemnya itu sendiri (misal interupsi timer). Transisi keadaan ini umumnya
juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan
yang terjadi. Aksi yang dilakukan tersebut dapat berupa aksi yang sederhana
atau melibatkan rangkaian proses yang relative kompleks. Berdasarkan sifatnya,
metode FSM ini sangat cocok digunakan sebagai basis perancangan perangkat lunak
pengendalian yang bersifat reaktif dan real time. Salah satu keuntungan nyata
penggunaan FSM adalah kemampuannya dalam mendekomposisi aplikasi yang relative
besar dengan hanya menggunakan sejumlah kecil item state. Selain untuk bidang
kontrol, Penggunaan metode ini pada kenyataannya juga umum digunakan sebagai
basis untuk perancangan protokol-protokol komunikasi, perancangan perangkat
lunak game, aplikasi WEB dan sebagainya.
Finite State Machine(FSM)
ini memiliki kelebihan dan kekurangan,antara lain :
§ Kelebihan
1. Implementasinya
mudah dan cepat
2. Memudahkan
proses debugging. Karena telah dipecah menjadi kepingan yang lebih kecil,
proses debugging kalau terjadi behavoiur yang tidak semestinya, menjadi lebih
mudah
3. Proses
komputasi yg minimal, karena sejatinya FSM hanyalah conditional statement yang
dikemas dalam bentuk yang lebih elegan.
4. Fleksibel,
dapat dikombinasikan dengan teknik AI lain misalnya fuzzy logic dan neural
network.
§ Kekurangan
1. Behaviour
dari agen mudah diprediksi, karena tidak ada searching dan atau learning di
dalam agen tersebut
2. Karena
mudah diimplementasi, kadang programmer langsung tembak di eksekusi tanpa
melakukan desain FSM terlbih dahulu. Biasanya akan terjadi FSM yang
terfragmentasi
3. Timbul
apa yang dinamakan dengan State Oscillation yaitu ketika batasan antara dua buah
state terlalu tipis
3. Sistem berbasis
aturan (Rule Based System)
adalah suatu program
komputer yang memproses informasi yang terdapat di dalam working memory dengan
sekumpulan aturan yang terdapat di dalam basis pengetahuan menggunakan mesin
inferensi untuk menghasilkan informasi baru.
Sebuah Rule-Based System
dapat dibentuk dengan menggunakan sebuah assertions set, yang secara kolektif
membentuk working memory, dan sebuah rule set yang menentukan aksi pada
assertions set. RBS secara relatif adalah model sederhana yang bisa
diadaptasi ke banyak masalah. Namun, jika ada terlalu banyak peraturan,
pemeliharaan sistem akan rumit dan terdapat banyak failure dalam kerjanya.
§ Kelebihan
1. Availability-bertambah,
intelligent tutor, intelligent dB, danger-reduced, performance
2. multiple
expertise, reability-bertambah, explanation steady, unemotional and complete
response§ Kekurangan
1. Jika
terlalu banyak aturan, sistem menjadi sulit dalam me-maintain performance dan
Keterbatasan dalam memutuskan teknik yang digunakan untuk suatu masalah.
4. Algoritma A*
Menyelesaikan masalah
yang menggunakan graf untuk perluasan ruang statusnya. Dengan menerapkan suatu
heuristik, algoritma ini membuang langkah-langkah yang tidak perlu dengan
pertimbangan bahwa langkah-langkah yang dibuang sudah pasti merupakan langkah
yang tidak akan mencapai solusi yang diinginkan. Algoritma A* membangkitkan
simpul yang paling mendekati solusi. Simpul ini kemudian disimpan suksesornya
ke dalam list sesuai dengan urutan yang paling mendekati solusi terbaik.
Kemudian, simpul pertama pada list diambil, dibangkitkan suksesornya dan
kemudian suksesor ini disimpan ke dalam list sesuai dengan urutan yang terbaik
untuk solusi.
Algoritma ini akan
mengunjungi secara mendalam (mirip DFS) selama simpul tersebut merupakan simpul
yang terbaik. Jika simpul yang sedang dikunjungi ternyata tidak mengarah kepada
solusi yang diinginkan, maka akan melakukan runut balik ke arah simpul akar
untuk mencari simpul anak lainnya yang lebih menjanjikan dari pada simpul yang
terakhir dikunjungi. Bila tidak ada juga, maka akan terus mengulang mencari ke
arah simpul akar sampai ditemukan simpul yang lebih baik untuk dibangkitkan
suksesornya. Strategi ini berkebalikan dengan algoritma DFS yang mencari sampai
kedalaman yang terdalam sampai tidak ada lagi suksesor yang bisa dibangkitkan
sebelum melakukan runut balik, dan BFS yang tidak akan melakukan pencarian
secara mendalam sebelum pencarian secara melebar selesai. A* baru berhenti
ketika mendapatkan solusi yang dianggap solusi terbaik.
Algoritma A*
menggabungkan jarak estimasi/heuristik [h(n)] dan jarak sesungguhnya/cost
[g(n)] dalam membantu penyelesaian persoalan. Heuristik adalah nilai yang
memberi harga pada tiap simpul yang memandu A* mendapatkan solusi yang
diinginkan. Dengan heuristik, maka A* pasti akan mendapatkan solusi (jika
memang ada solusinya). Dengan kata lain, heuristik adalah fungsi optimasi yang
menjadikan algoritma A* lebih baik dari pada algoritma lainnya. Namun heuristik
masih merupakan estimasi/perkiraan biasa saja. Sama sekali tidak ada rumus
khususnya. Artinya, setiap kasus memiliki fungsi heuristik yang berbeda-beda.
5. Algoritma
Dijkstra
Algoritma
Dijkstra adalah sebuah algoritma rakus (greedy algorithm) yang dipakai
dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk
sebuah graf berarah (directed graph) dengan bobot-bobot sisi (edge weights)
yang bernilai tak negatif.
Misalnya, bila vertices
dari sebuah graf melambangkan kota-kota dan bobot sisi (edge weights)
melambangkan jarak antara kota-kota tersebut, maka algoritma Dijkstra dapat
digunakan untuk menemukan jarak terpendek antara dua kota. Input algoritma ini
adalah sebuah graf berarah yang berbobot (weighted directed graph)
Tujuan Algoritma Dijkstra
yaitu untuk menemukan jalur terpendek berdasarkan bobot terkecil dari satu
titik ke titik lainnya.
Kelemahan algoritma ini
adalah semakin banyak titik akan semakin memakan waktu proses.
Jumlah titik menentukan
tingkat efektifitas dari algoritma djikstra.
Urutan Logika Algoritma
Dijkstra
1. Beri
nilai bobot (jarak) untuk setiap titik ke titik lainnya, lalu set nilai 0 pada
node awal dan nilai tak hingga terhadap node lain (yang belum terisi).
2. Set
semua node “Belum terjamah” dan set node awal sebagai “Node keberangkatan”.
3. Dari
node keberangkatan, pertimbangkan node tetangga yang belum terjamah dan hitung
jaraknya dari titik keberangkatan.
4. Setelah
selesai mempertimbangkan setiap jarak terhadap node tetangga, tandai node yang
telah terjamah sebagai “Node terjamah”. Node terjamah tidak akan pernah di cek
kembali, jarak yang disimpan adalah jarak terakhir dan yang paling minimal
bobotnya.
5. Set
“Node belum terjamah” dengan jarak terkecil (dari node keberangkatan) sebagai
“Node Keberangkatan” selanjutnya dan lanjutkan dengan kembali ke step 3.
Kompleksitas Kesalahan
Dalam konteks kecerdasan
buatan dalam permainan video, kecurangan mengacu pada programmer agen
memberikan akses ke informasi yang tersedia kepada pemain. Dalam sebuah contoh
sederhana, jika agen ingin tahu apakah pemain dekatnya mereka dapat menjadi diberikan
kompleks, manusia seperti sensor (melihat, mendengar, dll), atau mereka bisa
menipu dengan hanya meminta mesin permainan untuk posisi pemain. Penggunaan
kecurangan dalam AI menunjukkan keterbatasan “kecerdasan” dicapai artifisial,
secara umum, dalam permainan di mana kreativitas strategis sangat penting,
manusia dengan mudah bisa mengalahkan AI setelah minimal trial and error jika
bukan untuk keuntungan ini. Kecurangan sering diimplementasikan untuk alasan
kinerja di mana dalam banyak kasus mungkin dianggap dapat diterima sepanjang
pengaruhnya tidak jelas bagi pemain. Sedangkan kecurangan hanya merujuk hak
istimewa yang diberikan secara khusus untuk AI itu tidak termasuk kecepatan
tidak manusiawi dan presisi alami untuk pemain-komputer mungkin panggilan
keuntungan yang melekat komputer “kecurangan” jika mereka menghasilkan agen
bertindak tidak seperti pemain manusia.
Kecurangan AI adalah
aspek yang terkenal dari seri Peradaban Sid Meyer, dalam pertandingan tersebut,
pemain harus membangun kerajaan dari awal, sedangkan kerajaan komputer menerima
unit tambahan tanpa biaya dan dibebaskan dari pembatasan sumber daya.
Jenis Game AI
a. RTS (Real Time
Strategy)
Game ini biasanya
bersifat turn based ataupun bisa dimainkan secara bersamaan, identik dengan
bermain melawan human intelegent (manusia vs manusia) yang biasanya menggunakan
LAN ataupun Internet. Game ini bisa dikatakan game perang-perangan. Contoh game
RTS adalah (DOTA, StarCraft, Civilization).
b. RPG (Role Playing
Game)
Game ini memiliki unsur
yang unik, karena biasanya tidak ada tamat dalam game seperti ini (Kalaupun
tamat, hanya ceritanya saja, dan kalian masih bisa leveling atau grinding
sesuka hati). Kalian akan menjalankan sebuah main character yang bisa kalian
costumize, mencari uang, membangun koneksi dengan NPC (non playable player) dan
sebagainya. Contoh dari game RPG adalah (KOA, Skyrim, The Witcher).
c. FPS (First Person
Shooter)
FPS adalah game
Tembak-tembakan, pukul-pukulan, tusuk-tusukan yang menggunakan sudut pandang
orang pertama. Biasanya kita hanya bisa melihat tangan dari character kita.
Contoh game ini FPS adalah (Call of Duty, Counter Strike, Far Cry 3).
d. TPS (Third Person
Shooter)
TPS sama definisinya
dengan FPS. Hanya saja sudut pandangnya yang berbeda. Di TPS kita memakai sudut
pandang orang ketiga. Kita bisa melihat keseluruhan character dari belakang
(punggung). Contoh game TPS adalah (Dark Souls, Dark Siders, Assassins Creed).
e. Sand Box
Game yang bersetting
disuatu daerah, jadi kita bertualang pada suatu map yang sudah disediakan, dan
kita bebas menjelajahinya tanpa harus loading ketika berpindah kesuatu daerah,
biasanya game-game yang seperti ini game yang paling banyak peminatnya apalagi
kita biasanya disuguhkan dengan “kebebasan” didalam game seperti ini. Contoh
game Sand Box (GTA, Saints Row, Sleeping Dogs).
f. Kecepatan dan
Memori
Kebanyakan program AI
menuntut memori yang besar dan kecepatan yang tinggi.
Pengembangan Game
Perkembangan Game yang
pesat pada masa ini juga membutuhkan sesuatu yang berbeda pada rule
permainannya. Sebuah sistem game, jika sudah dimainkan sampai tuntas oleh
seorang player, maka ketika player yang sama memulai lagi permainan dari awal,
maka rule permainannya akan sama. namun berbeda untuk game-game yang telah ada
saat ini. sistem dalam game, dapat belajar mengenali pola permainan dari player
dan ketika player tersebut memulai permainan kembali, maka sistem ini akan
menggunakan rule yang berbeda untuk pemain yang sama ini. sehingga game menjadi
lebih menarik dan menantang untuk dimainkan.
Contoh aplikasi
kecerdasan buatan dalam bentuk game sangat banyak sekali, ada yang berbentuk
game PC, dan ada pula yang berbentuk game jaringan. Contoh aplikasi game yaitu
game Tic Tac Toe. Game Tic tac toe adalah sebuah permainan yang menggunakan
papan berukuran n baris dan n kolom sehingga ukuran papan menjadi n x n
misalkan 3 x 3.
Game ini merupakan game
yang mengasah kemampuan berpikir manusia, dimana setiap pemain harus menyusun
gambar secara vertikal, horizontal, miring kiri, dan miring kanan agar
memperoleh nilai. Apabila pemain tidak dapat membentuk formasi gambar yang
diinginkan maka permain dinyatakan kalah. Dan apabila pola gambar seimbang maka
permainan dinyatakan drow atau seri. Permainan ini mengasah kemampuan berpikir
sehingga para pemain harus melakukan tindakan yang baik dan memperhitungkan apa
akibat dari tindakan yang dilakukan tersebut.
Menggunakan Heuristik di
Permainan
Game yang penting
tes-tempat tidur untuk algoritma heuristik. Dua-orang game yang lebih rumit
dari teka-teki yang sederhana karena mereka melibatkan lawan tak terduga.
o Minimax
Prosedur
The Game of Nim: Sejumlah
token ditempatkan pada meja di antara dua lawan. Pada masing-masing gerakan
pemain harus membagi tumpukan token menjadi dua tumpukan tak kosong dari
berbagai ukuran. Jadi, 6 token dapat dibagi menjadi 5 dan 1, 4 dan 2, tetapi
tidak 3 dan 3. Pemain pertama yang mampu bergerak kehilangan permainan.
Untuk sejumlah kecil
token ruang pencarian dapat dicari secara mendalam. Gambar berikut memberikan
ruang lengkap untuk permainan 7-token.
Dalam permainan
dua-orang, Anda harus mengasumsikan bahwa lawan Anda memiliki pengetahuan yang
sama yang Anda lakukan dan berlaku sebaik yang Anda lakukan. Jadi pada setiap
tahap permainan Anda harus menganggap lawan membuat langkah terbaik yang
tersedia. Ini adalah dasar dari prosedur minimax.
Dalam minimax, para
pemain yang disebut sebagai MAX (pemain) dan MIN (lawan). Keduanya mencoba
untuk memaksimalkan gerakan mereka. MAX pemain, mencoba untuk memaksimalkan
nilainya. Dan MIN adalah lawan mencoba untuk meminimalkan skor MAX.
Prosedur Minimax pada
Pencarian Ruang Lengkap
1. Label
setiap tingkat dari ruang pencarian sesuai dengan yang bergerak itu di tingkat
itu.
2. Mulai
di node daun, setiap label simpul daun dengan 1 atau 0 tergantung pada apakah
itu adalah kemenangan bagi MAX (1) atau MIN (0).
3. Merambat
ke atas: jika negara induk MAX, memberikan MAX anak-anaknya.
4. Merambat
ke atas: jika negara induk MIN, MIN memberikan anak-anaknya.
Pertimbangkan grafik
minimax untuk Nim permainan. Nilai di negara masing-masing mewakili nilai
negara terbaik yang pemain ini bisa berharap untuk mencapai. Nilai-nilai yang
diperoleh digunakan untuk memilih di antara alternatif bergerak.
o Heuristik
Minimax
Untuk permainan yang
paling tidak mungkin untuk memperluas grafik untuk node daun. Sebaliknya
strategi n-pindah melihat-depan adalah digunakan. Ruang negara diperluas ke
tingkat n. Setiap node daun di subgraf ini diberikan nilai sesuai dengan fungsi
evaluasi heuristik. Nilai kemudian disebarkan kembali ke simpul akar. Nilai
disebarkan kembali mewakili nilai heuristik dari negara terbaik yang dapat
dicapai dari simpul tersebut.
Contoh: Program catur
Samuel menggunakan jumlah tertimbang sebagai fungsi evaluasi. Ini menggunakan
algoritma pembelajaran sederhana untuk menyesuaikan bobot setelah menang dan
kerugian, sehingga program perbaikan dari waktu ke waktu.
o Prosedur
Alpha-Beta
Alpha-beta pruning adalah
prosedur untuk mengurangi jumlah perhitungan dan mencari selama minimax.
Minimax adalah pencarian dua-pass, satu lulus digunakan untuk menetapkan
nilai-nilai heuristik ke node pada kedalaman ply dan yang kedua digunakan untuk
menyebarkan nilai-nilai sampai pohon.
Alpha-beta hasil
pencarian secara mendalam-pertama. Sebuah nilai alpha adalah nilai awal atau
sementara terkait dengan node MAX. Karena MAX node diberi nilai maksimum antara
anak-anak mereka, nilai alpha tidak dapat menurunkan, hanya bisa naik. Sebuah
nilai beta adalah nilai awal atau sementara terkait dengan node MIN. Karena
node MIN diberi nilai minimum antara anak-anak mereka, nilai beta tidak pernah
dapat meningkatkan, hanya bisa turun.
Misalnya, alpha node MAX
= 6. Kemudian cari tidak perlu mempertimbangkan setiap cabang yang berasal dari
keturunan MIN yang memiliki nilai beta yang kurang-dari-atau-sama dengan 6.
Jadi, jika Anda tahu bahwa node MAX memiliki alpha 6, dan Anda tahu bahwa salah
satu keturunan MIN yang memiliki beta yang kurang dari atau sama dengan 6, Anda
tidak perlu mencari lebih jauh di bawah simpul MIN. Ini disebut pemangkasan
alpha.
Alasannya adalah bahwa
tidak peduli apa yang terjadi di bawah simpul MIN, tidak dapat mengambil nilai
yang lebih besar dari 6. Jadi nilainya tidak dapat diperbanyak sampai dengan
(alpha) orangtua MAX nya.
Demikian pula, jika nilai
beta node MIN itu = 6, anda tidak perlu mencari lebih jauh di bawah MAX
keturunan yang telah memperoleh nilai alpha dari 6 atau lebih. Ini disebut
pemangkasan beta.
Alasannya lagi adalah
bahwa apa pun yang terjadi di bawah simpul MAX, tidak dapat mengambil nilai
yang kurang dari 6. Jadi nilainya tidak dapat diperbanyak sampai dengan (beta)
MIN orangtua nya.
Aturan untuk Alpha-beta
Pemangkasan
1. Alpha
Pemangkasan: pencarian dapat dihentikan di bawah setiap simpul MIN memiliki
nilai beta kurang dari atau sama dengan nilai alpha dari setiap leluhur MAX
nya.
2. Pemangkasan
beta: Pencarian bisa dihentikan di bawah setiap simpul MAX memiliki nilai alpha
lebih besar dari atau sama dengan nilai beta dari setiap leluhur MIN nya.
LINK PPT :
https://drive.google.com/open?id=1sZBeU6wM5q6RclgE5dN55icqS7I8Nt-L
SUMBER :
https://setiyanugroho.wordpress.com/2011/04/12/kecerdasan-buatan-dalam-game/