Minggu, 28 April 2019

Tugas Pengantar Teknologi game 2

Review Game Menggunakan AI (Artificial Intellegence)


PENGERTIAN ARTIFICIAL INTILLIGENCE

Kecerdasan Buatan atau kecerdasan yang ditambahkan kepada suatu sistem yang bisa diatur dalam konteks ilmiah atau Intelegensi Artifisial (bahasa Inggris: Artificial Intelligence atau hanya disingkat AI) didefinisikan sebagai kecerdasan entitas ilmiah. 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.

        Banyak hal yang kelihatannya sulit untuk kecerdasan manusia, tetapi untuk Informatika relatif tidak bermasalah. Seperti contoh: mentransformasikan persamaan, menyelesaikan persamaan integral, membuat permainan catur atau Backgammon. Di sisi lain, hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan, sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Seperti contoh: Pengenalan Obyek/Muka, bermain sepak bola.

        Walaupun AI memiliki konotasi fiksi ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. 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. ‘Kecerdasan buatan’ ini bukan hanya ingin mengerti apa itu sistem kecerdasan, tapi juga mengkonstruksinya.

Contoh Game yang Menggunakan AI Game Packman




REVIEW ALUR GAME PACKMAN

Pacman adalah sebuah permainan bergenre arkade yang di kembangkan oleh NAMCO dan di rilis di jepang pada 22 Mei 1980 kemudian di rilis di android pada 20 Maret 2013. Cara bermainnya mudah yaitu pemain (pacman) diharuskan memakan makanan (berbentuk titik-titik kecil) dan sebuah bulatan besar (energi) sampai habis di dalam sebuah labirin yang berliku-liku. Tidak hanya menghabiskan makanan tersebut, pemain juga harus menghindari 4 musuh yang berkeliaran secara random untuk menangkap pemain. Jika pemain bertemu dengan musuh tersebut maka pemain dinyatakan gagal dan harus mengulangi dari awal lagi. Pemain dinyatakan menang jika semua makanan habis tak tersisa dan pemain akan memasuki level berikutnya.

Pergerakan para hantu ini dipengaruhi oleh kecerdasan buatan atau Artificial intelligence (AI), dimana para hantu diberi kecerdasan untuk menentukan langkah dan mengambil keputusan akan bergerak kemana dengan menentukan rute yang paling pendek (minimum).

DECISION MAKING PADA GAME PACKMAN
   A.       Decision Making adalah serangkaian algoritma yang dirancang dengan memasukan beberapa kemungkinan langkah yang bisa diambil oleh suatu aplikasi, Pada game ini decision makingmemberikan kemampuan suatu karakter untuk menentukan langkah apa yang akan diambil. Decision making dilakukan dengan cara menentukan satu pilihan dari list yang sudah dibuat pada algoritma yang dirancang. Decision Making dibagi menjadi 3, yaitu :

Decision Tree

Pohon Keputusan (Decision Tree) merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikan aturan. Aturan dapat dengan mudah dipahami dengan bahasa alami. Aturan ini juga dapat diekspresikan dalam bentuk bahasa basis data seperti SQL untuk mencari record pada kategori tertentu. Pohon keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel target. Karena pohon keputusan memadukan antara eksplorasi data dan pemodelan, pohon keputusan ini sangat bagus sebagai langkah awal dalam proses pemodelan bahkan ketika dijadikan sebagai model akhir dari beberapa teknik lain (J R Quinlan, 1993).

Kelebihan dari metode pohon keputusan adalah:
1. Daerah pengambilan keputusan yang sebelumnya kompleks dan sangat global, dapat diubah menjadi lebih simpel dan spesifik
2. Eliminasi perhitungan-perhitungan yang tidak diperlukan, karena ketika menggunakan metode pohon keputusan maka sampel diuji hanya berdasarkan kriteria atau kelas tertentu
3. Fleksibel untuk memilih fitur dari node internal yang berbeda, fitur yang terpilih akan membedakan suatu kriteria dibandingkan kriteria yang lain dalam node yang sama. Kefleksibelan metode pohon keputusan ini meningkatkan kualitas keputusan yang dihasilkan jika dibandingkan ketika menggunakan metode penghitungan satu tahap yang lebih konvensional.

Kekurangan pada pohon keputusan adalah:
1. Terjadi overlapping terutama ketika kelas-kelas dan kriteria yang digunakan jumlahnya sangat banyak. Hal tersebut juga dapat menyebabkan meningkatnya waktu pengambilan keputusan dan jumlah memori yang diperlukan
2. Pengakumulasian jumlah kesalahan dari setiap tingkat dalam sebuah pohon keputusan yang besar
3. Kesulitan dalam mendesain pohon keputusan yang optimal

State Machine

Finite State Machines (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.

Rule System

Rule Based System merupakan metode pengambilan keputusan berdasarkan pada aturan-aturan tertentu yang telah ditetapkan. RBS dapat diterapkan pada agen virtual dalam bentuk kecerdasan buatan sehingga dapat melakukan tindakan tertentu. Tindakan tersebut direpresentasikan oleh set aturan yaitu penyebab tindakan itu terjadi, proses tindakan dan hasil dari tindakan tersebut.

Diantara ketiga jenis Decision making diatas, game packman cenderung kerah state Machine.

PATHFINDING PADA GAMAE PACKMAN

Metode Path Finding seringkali dijumpai pada game yang bergenre strategi, dimana kita sebagai user menunjuk satu karakter untuk digerakkan ke lokasi tertentu dengan cara mengklik lokasi yang akan dituju. Maka, si karakter tersebut akan bergerak ke arah yang telah ditentukan, dan secara “cerdas” dapat menemukan jaur terpendek ataupun menghindari rintangan yang ada.
Metode pada Path Finding terbagi menjadi 4 bagian yaitu:

1. Waypoints

        Merupakan titik acuan/kumpulan koordinat yang digunakan untuk keperluan navigasi. Maksud dari keperluan navigasi disini adalah mengidentifikasi sebuah titik dipeta. Disetiap koordinat biasanya menyertakan longitude, latitude, dan terkadang altitude untuk keperluan navigasi di udara.

2. A* Searching

        Algoritma A* merupakan yang sering digunakan pada game yang menggunakan metode pathfinding. Algoritma ini dipilih karena A* sangat mudah untuk diimplementasikan dan sangat efisien. Dengan menggunakan algoritma A* kita dapat menentukan jalur terpendek. Pada algotitma ini akan menyeleksi dengan cara membuang langkah yang tidak perlu dengan mempertimbangkan bahwa langkah yang dibuang dipastikan tidak mencapai solusi yang diinginkan.

        Prinsip dari algoritma ini yaitu dengan cara mencari jalur terpendek dari sebuah simpul awal (Starting Point) menuju ke simpul tujuan dengan memperhatikan harga (F) terkecil. Algoritma A* akan memperhitungkan cost dari current state ke tujuan dengan fungsi heuristic, selain itu algoritma ini juga mempertimbangkan cost yang telah ditempuh selama ini dari initial state ke current state. Jadi maksudnya jika jalan yang telah ditempuh terlalu panjang dan ada jalan lain yang cost nya lebih kecil tetapi memberikan posisi yang sama jika dilihat dari goal, maka jalan yang lebih pendeklah yang akan dipilih.

3. Dijkstra

        Algoritma Dijkstra yang dinamai penemunya yakni seorang ilmuwan komputer, Edsger Dijkstra merupakan sebuah algoritma yang rakus atau biasa dikenal dengan algoritma greedy. Algoritma ini biasa dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah graf berarah (directed graph) dengan bobot-bobot sisi (edge weights) yang bernlai positif.

4. Tactical Pathfinding

        Tactical Pathfinding merupakan algoritma pencarian jalur yang bisa melakukan pencarian jalur terpendek dengan menghitung bobot ancaman. Implementasi algoritma ini dapat memberikan gerakan taktis pada non-player character. Algoritma ini dilakukan berdasarkan algoritma pencarian jalur A* yang ditambah dengan perhitungan bobot.

Mengejar dan Menghindar
        Mengejar dan menghindar merupakan teknik dasar yang diterapkan pada banyak game berbasis kecerdasan buatan dari yang sederhana sampai yang kompleks. apakah itu space shooters, RPG, atau game strategi. metode paling umum pada teknik mengejar dan menghindar ini adalah melakukan pemutakhiran (update) koordinat terhadap objek yang menjadi sasaran. Posisi relatif dan kecepatan dapat dijadikan sebagai parameter pada algoritma mengejar dan menghindar. Metode Line-of-sight yang membutuhkan dasar rumus persamaan garis juga serngkali dijadikan basis metode mengejear dan menghindar.

Pola Pergerakan
        Pola pergerakan merupakan cara yang sederhana untuk memberikan ilusi kecerdasan pada sebuah game. Game Galaga adalah contoh klasik penerapan pola pergerakan ini, dimana pesawat musuh dapat bergerak secara melingkat atau mengikuti pola garis lurus yang ditentukan. Contoh lain penerapan pola pergerakan adalah pada game first-person shooter yang menampilkan monster yang sedang berpatroli pada jalur tertentu, pada game simulasi pertempuran pesawat dimana pesawat musuh dapat melakukan manuver-manuver di udara yang menyulitkan kita mengejar, atau karakter-karakter non-player (figuran) seperti kambing yang sedang berjalan membutuhkan teknik pola pergerakan ini. Metode standar untuk menerapkan pola pergerakan adalah dengan cara menyimpan pola tersebut dalam suatu array. Array tersebut terdiri dari serangkaian koordinat atau perintah pergerakan dengan pola tertentu untuk mengontrol koordinat dari objek. Dengan metode ini, bisa didapatkan pola-pola pergerakan seperti melingkar, garis lurus, zig-zag atau bahkan kurva tak beraturan.

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).

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.

Pengoperasian Data Qubit