Nama : Rizka Andriani M.
Kelas : 3KA12
NPM : 16115120
Bidang Studi :
Pengantar Teknologi Sistem Cerdas
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 dan video game.
Sedangkan arti dari kecerdasan buatan,menurut para
ahli :
H.A Simon (1987):
o “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):
o “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.
Kedua pemain sama-sama memiliki akses pada informasi yang lengkap tentang keadaan permainan, sehingga tidak ada informasi yang tertutup bagi lawan mainnya.
2.
NoDeterminedbyChances
Tidak melibatkan faktor probabilitas, misalnya dengan menggunakan dadu.
Tidak melibatkan faktor probabilitas, misalnya dengan menggunakan dadu.
3.
No Phsychological
Factors
Tidak melibatkan faktor psikologi, seperti "gertakan" (misalnya Poker)
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.
Lawan diasumsikan pintar juga, jadi jangan mengharap lawan khilaf, sehingga terjadi salah langkah.
5.
Beberapa contoh
permainan yang biasa digunakan sebagai contoh kasus Game Playintyle =
"font-family:courier new;"> Last One Loses n
·
n-coins Grundy's Game
·
Slide-5
·
Tic-Tac-Toe
· Checkers
· 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
a. Daerah pengambilan keputusan yang
sbelumnya kompleks dan sangat global, dapat diubah menjadi lebih simpel dan
spesifik.
b. Eliminasi perhitungan-perhitungan
yang tidak diperlukan, karena ketika menggunakan metode decision tree maka
sample diuji hanya berdasarkan criteria atau kelas tertentu.
c. 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.
d. 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
a.
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.
b.
Pengakumulasian
jumlah error dari setiap level dalam sebuah pohon keputusan yang besar.
c.
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
a. Implementasinya mudah dan cepat
b. Memudahkan proses debugging. Karena telah dipecah menjadi
kepingan yang lebih kecil, proses debugging kalau terjadi behavoiur yang tidak
semestinya, menjadi lebih mudah
c. Proses komputasi yg minimal, karena sejatinya FSM
hanyalah conditional statement yang dikemas dalam bentuk yang lebih elegan.
d. Fleksibel, dapat dikombinasikan dengan teknik AI
lain misalnya fuzzy logic dan neural network.
§ Kekurangan
a. Behaviour dari agen mudah diprediksi, karena tidak
ada searching dan atau learning di dalam agen tersebut
b. Karena mudah diimplementasi, kadang programmer
langsung tembak di eksekusi tanpa melakukan desain FSM terlbih dahulu. Biasanya
akan terjadi FSM yang terfragmentasi
c. 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
a. Availability-bertambah,
intelligent tutor, intelligent dB, danger-reduced, performance
b. multiple expertise,
reability-bertambah, explanation steady, unemotional and complete response
§ Kekurangan
a. 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
a)
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).
b)
Set
semua node “Belum terjamah” dan set node awal sebagai “Node keberangkatan”.
c)
Dari
node keberangkatan, pertimbangkan node tetangga yang belum terjamah dan hitung jaraknya
dari titik keberangkatan.
d)
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.
e)
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
·
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.
·
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.
SUMBER :
Tidak ada komentar:
Posting Komentar