Tampilkan postingan dengan label kecerdasan buatan. Tampilkan semua postingan
Tampilkan postingan dengan label kecerdasan buatan. Tampilkan semua postingan

Minggu, 28 Oktober 2007

Game AI




Game AI adalah aplikasi IB 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 Characters).
[edit]
Karakter Antagonis (Opponent AI)

karakter antagonis adalah karakter yang dalam permainan memiliki tujuan yang sama dengan pemain yaitu memenangkan permainan. untuk mewujudkan tujuan ini karakter tersebut dapat melakukan aksi kepada pemain dan sebaliknya pemain dapat melakukan aksi kepada karakter lawan yang sesuai dengan aturan permainan. contoh sederhana dari karakter antagonis adalah dalam permainan pertarungan (fighting). karakter lawan adalah karakter yang harus 'dikalahkan' oleh pemain dengan melakukan aksi (serangan). fungsi IB pada karakter antagonis adalah melakukan aksi-aksi yang dapat memperbesar peluang karakter tersebut untuk menang.
[edit]
Karakter Pendukung (NPC AI)

karakter pendukung (NPC ~ Non-Playable Characters) merupakan karakter yang terlibat dalam permainan tetapi tidak memiliki tujuan untuk memenangkan permainan melainkan melakukan peran yang mendukung pemain/lawan untuk memenangkan permainan. contoh sederhana dari NPC AI adalah pada game RPG. Karakter NPC pada permainan bergenre RPG pada umumnya memberikan informasi implisit kepada karakter tentang hal-hal yang berkaitan dengan cerita dalam permainan ataupun panduan bagi pemain mengenai tujuan permainan. fungsi IB pada karakter pendukung adalah menentukan dialog dengan pemain sedemikian rupa sehingga seolah-olah karakter tersebut tampak nyata bagi pemain (life-like).
[edit]
IB untuk interaksi

Peranan IB dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan manusia untuk berinteraksi dengan sesama manusia. contoh-contoh media interaksi antara lain :

* penglihatan (Vision)

Untuk menggunakan informasi penglihatan biasanya menggunakan kamera sebagai perangkat untuk mendapatkan data. data yang ditangkap adalah berupa gambar / citra yang merupakan matriks dua dimensi. matriks tersebut dianalisa sesuai dengan kebutuhan aplikasi sehingga didapatkan informasi yang diinginkan (misal pembentukan wajah, deteksi gerakan, rekonstruksi ruang).

* suara (voice) atau ucapan (speech)

Informasi suara didapatkan dari microphone yang menghasilkan informasi dalam bentuk deretan angka (disebut sebagai sample). Persoalan utama dari suara adalah informasi yang dikandung memiliki variasi yang sangat besar yang disebabkan oleh faktor alat dan faktor manusia (vokal, intonasi, intensitas, dll). Penerapan interaksi dengan menggunakan suara misalnya untuk permainan bergenre RTS (wargames) yang menterjemahkan perintah dari pemain untuk menggerakkan unit. Contoh lainnya adalah permainan balap kendaraan yang menentukan akselerasi dari suara pemain yang menirukan suara mesin.

* gerakan anggota badan (gesture)

Gesture adalah gerakan sebagian anggota badan yang memiliki makna tertentu (disebut juga sebagai body language). Informasi gesture dapat diakuisisi dengan berbagai cara, diantaranya :

*
o dari video (vision)

informasi deretan koordinat (gerakan) dihasilkan dari analisis terhadap rangkaian gambar terurut (video).

*
o sensor jarak (range)

informasi deretan koordinat diukur dengan menggunakan sensor jarak.

*
o sensor posisi yang menempel pada pemain

akhir-akhir ini beberapa produsen konsol memanfaatkan pengendali (controller) yang dapat menghasilkan informasi posisi /perubahan posisi pengendali pada ruang tiga dimensi. Salah satu contoh konsol yang menggunakan ini adalah Nintendo Wii.

Sabtu, 27 Oktober 2007

Aplikasi IB (Intelegenci Buatan) dalam Pengembangan Game



AI (Artificial Intelligence) atau intelejensia buatan (selanjutnya disebut dengan IB) adalah pendekatan komputasi yang sebenarnya memiliki makna yang ambigu. beberapa pendekatan seperti pada (Russel, 2000) mengemukakan empat arahan berbeda dalam hal kecerdasan buatan. walaupun ketiganya memiliki persamaan yaitu memodelkan ke-'manusia'-an melalui teknik komputasi. Arah eksplorasi di bidang kecerdasan buatan diantaranya

* membuat agen yang 'tampak' seperti manusia.
* membuat agen yang 'bekerja' seperti manusia.
* membuat agen yang 'berpikir' seperti manusia.
* membuat agen yang 'menyerupai dan bersifat' seperti manusia.

sederhananya, IB merupakan teknik komputasi yang mampu menyelesaikan persoalan yang memiliki ciri informasi yang tidak lengkap, tidak pasti pada definisi persoalan dan teknik untuk menyelesaikannya.
[edit]
Aplikasi IB dalam Pengembangan Game

persepsi umum dari judul di atas biasanya adalah bagaimana membuat lawan (opponent) yang tampak seperti manusia. istilah 'tampak' di sini adalah yang sesuai dengan tes turing. parameter tampak ditentukan dari seberapa 'percaya' pemain yang menghadapinya. ukuran keberpercayaan ini disebut juga sebagai believable atau immersive. pemodelan karakter yang terlibat dalam permainan yang bukan dikendalikan oleh manusia diistilahkan dengan Game AI (jadi beda antara AI untuk game dengan Game AI). walaupun demikian, IB tidak hanya bisa diaplikasikan untuk memodelkan lawan dalam permainan. Contoh aplikasi lainnya dari IB antara lain :

* memodelkan lawan (Game AI)
* memodelkan objek untuk mendukung 'realisme' situasi permainan (Game AI)
* teknik interaksi dengan pemain.
* optimasi

Penciuman Elektronik Ingin Menggeser Hidung


Perangkat sistem penciuman elektronik buatan Wisnu.

Sebenarnya, tidak gampang merancang sistem penciuman buatan. Pasalnya, hidung yang sarat dengan saraf penciuman itu tergolong organ paling sulit untuk dibuat tiruannya, setelah organ perasa alias lidah. Ini diakui oleh Benyamin Kusumoputro, Ph.D., Kepala Laboratorium Kecerdasan Komputasional Fakultas Ilmu Komputer Universitas Indonesia di Depok.

Meskipun demikian bukan berarti tidak mungkin ditiru. Bisa saja, hanya belum mampu menyamai 100% peran hidung beneran. Maklum, saraf sistem penciuman manusia memang ajaib, sanggup membedakan puluhan ribu aroma berbeda. Lagi pula mekanisme sistem penciuman dari sono-nya amat efektif dalam memilah dan membedakan perlagai aroma. Ibaratnya, bisa mendeteksi satu molekul aroma di antara puluhan ribu molekul di udara!

Apa pun wujud rancangan sistem hidung elektronik itu, yang pasti tersimpan tujuan mulia. Yakni untuk mendeteksi dan mengklasifikasikan aroma secara otomatis. Sadar atau tidak, tersembunyi juga keinginan menggeser peran hidung sebagai pengontrol kualitas dalam industri yang membutuhkan pengenalan aroma, terutama industri minuman, kosmetik, dan minyak wangi.

Ini bukan berarti meremehkan indera penciuman kita sendiri. Masalahnya, sistem penciuman kita amat dipengaruhi kondisi perasaan sesaat dan kesehatan. Artinya, ketelitian dan kontrol kualitas pengenalan aroma bisa terpengaruh. Belum lagi kalau petugas kontrol kualitas aroma mendadak terserang pilek, bisa-bisa indera penciumannya tidak berfungsi dengan baik.



Tidak mirip hidung

Jangan bayangkan sistem penciuman dengan saraf tiruan ini berbentuk serupa hidung. Sesungguhnya yang coba ditiru lebih pada fungsinya. Bahkan secara kasat mata sama sekali berbeda, hanya berupa rangkaian kabel yang ruwet dan program komputer (perangkat lunak).



Gambar ulang: Yds
Skema peralatan sistem penciuman elektronik.



Ada tiga bagian dalam hidung elektronik ala UI ini, yakni sistem sensor, sistem elektronik, dan sistem jaringan neural buatan (JNB). Sistem sensor dan elektroniknya sebagai perangkat kerasnya, dan sistem JNB sebagai perangkat lunaknya. Sistem JNB sebagai perangkat lunak meliputi sistem jaringan neural buatan propagasi balik (JNB-PB), Probabilistic Neural Network (PNN), dan Fuzzy Learning Vector Quantization (FLVQ) sebagai pengklasifikasi.

Semua ini sebetulnya hanya memperbaharui sistem yang pernah dikembangkan di Laboratorium Jaringan Saraf Tiruan, Fakultas Ilmu Komputer Universitas Indonesia, Depok, tahun 1996. Awalnya hanya digunakan empat buah sensor kristal kuarsa terlapis membran dan jaringan saraf buatan propagasi balik sebagai "otak"-nya. Jaringan saraf buatan itu sesungguhnya berupa program komputer. Dalam perkembangan selanjutnya telah dicoba menggunakan delapan buah sensor, yang kemudian dikembangkan dengan 16 buah sensor. Maka terciptalah sistem hidung elektronik dengan sensor 16 buah dan jaringan saraf buatan berbasis PNN.

Sistem sensor yang berjumlah 16 buah itu dibuat dengan frekuensi dasar 20 MHz, meningkat dibandingkan dengan yang terdahulu, yaitu 10 MHz. Perubahan frekuensi ini untuk meningkatkan akurasi dalam mengenali aroma. Lagi pula dengan frekuensi 20 MHz, penurunan frekuensinya bisa dicacah dengan lebih akurat.

Teknologi saraf penciuman pertama kali dibuat oleh Prof. Toyosaka Moriizumi dari Tokyo Institute of Technology pada 1986 yang dipatenkan setahun kemudian. Namun, alat dengan delapan buah sensor itu, menurut Benyamin yang murid Moriizumi, salah konsep. Sebab, sensor dikembangkan mengikuti jenis aromanya sehingga kalau aromanya berubah, sensor harus diganti.

Jumlah sensor, menurut Benyamin, berpengaruh terhadap kemungkinan jumlah jenis aroma dan keakuratan pendeteksiannya. Ketepatan kita dalam mengenali aroma tertentu, seperti halnya mengenali seseorang atau suatu benda, akan lebih tinggi kalau kita memandang dan berusaha mengenali orang atau benda itu lebih dari satu sisi (bahasa matematikanya, dimensi).

KECERDASAN BUATAN DALAM ROBOTIK




Kecerdasan Buatan (Artificial Intelligence) dalam robotik adalah suatu algorithma (yang dipandang) cerdas yang diprogramkan ke dalam kontroler robot. Pengertian cerdas di sini sangat relatif, karena tergantung dari sisi mana sesorang memandang.

Para filsuf diketahui telah mulai ribuan tahun yang lalu mencoba untuk memahami dua pertanyaan mendasar: bagaimanakah pikiran manusia itu bekerja, dan, dapatkah yang bukan-manusia itu berpikir? (Negnevitsky, 2004). Hingga sekarang, tak satupun mampu menjawab dengan tepat dua pertanyaan ini. Pernyataan cerdas yang pada dasarnya digunakan untuk mengukur kemampuan berpikir manusia selalu menjadi perbincangan menarik karena yang melakukan penilaian cerdas atau tidak adalah juga manusia. Sementara itu, manusia tetap bercita-cita untuk menularkan �kecerdasan manusia� kepada mesin.


Dalam literatur, orang pertama yang dianggap sebagai pionir dalam mengembangkan mesin cerdas (intelligence machine) adalah Alan Turing, sorang matematikawan asal Inggris yang memulai karir saintifiknya di awal tahun 1930-an. Di tahun 1937 ia menulis paper tentang konsep mesin universal (universal machine). Kemudian, selama perang dunia ke-2 ia dikenal sebagai pemain kunci dalam penciptaan Enigma, sebuah mesin encoding milik militer Jerman. Setelah perang, Turing membuat �automatic computing engine�. Ia dikenal juga sebagai pencipta pertama program komputer untuk bermain catur, yang kemudian program ini dikembangkan dan dimainkan di komputer milik Manchester University. Karya-karyanya ini, yang kemudian dikenal sebagai Turing Machine, dewasa ini masih dapat ditemukan aplikasi-aplikasinya. Beberapa tulisannya yang berkaitan dengan prediksi perkembangan komputer di masa datang akhirnya juga ada yang terbukti. Misalnya tentang ramalannya bahwa di tahun 2000-an komputer akan mampu melakukan percakapan dengan manusia. Meski tidak ditemukan dalam paper-papernya tentang istilah �resmi�: artificial intelligence, namun para peneliti di bidang ini sepakat untuk menobatkan Turing sebagai orang pertama yang mengembangkan kecerdasan buatan.

Secara saintifik, istilah kecerdasan buatan � untuk selanjutnya disebut sebagai AI (artificial intelligence) � pertama kali diperkenalkan oleh Warren McCulloch, seorang filsuf dan ahli perobatan dari Columbia University, dan Walter Pitts, seorang matematikawan muda pada tahun 1943, (Negnevitsky, 2004). Mereka mengajukan suatu teori tentang jaringan saraf tiruan (artificial neural network, ANN) � untuk selanjutnya disebut sebagai ANN � bahwa setiap neuron dapat dipostulasikan dalam dua keadaan biner, yaitu ON dan OFF. Mereka mencoba menstimulasi model neuron ini secara teori dan eksperimen di laboratorium. Dari percobaan, telah didemonstrasikan bahwa model jaringan saraf yang mereka ajukan mempunyai kemiripan dengan mesin Turing, dan setiap fungsi perhitungan dapat dapat diselesaikan melalui jaringan neuron yang mereka modelkan.

Kendati mereka meraih sukses dalam pembuktian aplikasinya, pada akhirnya melalui eksperimen lanjut diketahui bahwa model ON-OFF pada ANN yang mereka ajukan adalah kurang tepat. Kenyataannya, neuron memiliki karakteristik yang sangat nonlinear yang tidak hanya memiliki keadaan ON-OFF saja dalam aktifitasnya. Walau demikian, McCulloch akhirnya dikenal sebagai orang kedua setelah Turing yang gigih mendalami bidang kecerdasan buatan dan rekayasa mesin cerdas. Perkembangan ANN sempat mengalami masa redup pada tahun 1970-an. Baru kemudian pada pertengahan 1980-an ide ini kembali banyak dikaji oleh para peneliti.

Sementara itu, metoda lain dalam AI yang sama terkenalnya dengan ANN adalah Fuzzy Logic (FL) � untuk selanjutnya ditulis sebagai FL. Kalau ANN didisain berdasarkan kajian cara otak biologis manusia bekerja (dari dalam), maka FL justru merupakan representasi dari cara berfikir manusia yang nampak dari sisi luar. Jika ANN dibuat berdasarkan model biologis teoritis, maka FL dibuat berdasarkan model pragmatis praktis. FL adalah representasi logika berpikir manusia yang tertuang dalam bentuk kata-kata.

Kajian saintifik pertama tentang logika berfikir manusia ini dipublikasikan oleh Lukazewicz, seorang filsuf, sekitar tahun 1930-an. Ia mengajukan beberapa representasi matematik tentang �kekaburan� (fuzziness) logika ketika manusia mengungkapkan atau menyatakan penilaian terhadap tinggi, tua dan panas (tall, old, & hot). Jika logika klasik hanya menyatakan 1 atau 0, ya atau tidak, maka ia mencoba mengembangkan pernyataan ini dengan menambahkan faktor kepercayaan (truth value) di antara 0 dan 1.

Di tahun 1965, Lotfi Zadeh, seorang profesor di University of California, Berkeley US, mempublikasikan papernya yang terkenal, �Fuzzy Sets�. Penelitian-penelitian tentang FL dan fuzzy system dalam AI yang berkembang dewasa ini hampir selalu menyebutkan paper Zadeh itulah sebagai basis pijakannya. Ia mampu menjabarkan FL dengan pernyataan matematik dan visual yang relatif mudah untuk dipahami. Karena basis kajian FL ini kental berkaitan dengan sistem kontrol (Zadeh adalah profesor di bidang teknik elektro) maka pernyataan matematiknya banyak dikembangkan dalam konteks pemrograman komputer.

Metoda AI lain yang juga berkembang adalah algorithma genetik (genetic algorithm, GA) � untuk selanjutnya disebut sebagai GA. Dalam pemrograman komputer, aplikasi GA ini dikenal sebagai pemrograman berbasis teori evolusi (evolutionary computation, EC) � untuk selanjutnya disebut sebagai EC. Konsep EC ini dipublikasikan pertama kali oleh Holland (1975). Ia mengajukan konsep pemrograman berbasis GA yang diilhami oleh teori Darwin. Intinya, alam (nature), seperti manusia, memiliki kemampuan adaptasi dan pembelajaran alami �tanpa perlu dinyatakan: apa yang harus dilakukan�. Dengan kata lain, alam memilih �kromosom yang baik� secara �buta�/alami. Seperti pada ANN, kajian GA juga pernah mengalami masa vakum sebelum akhirnya banyak peneliti memfokuskan kembali perhatiannya pada teori EC.

GA pada dasarnya terdiri dari dua macam mekanisme, yaitu encoding dan evaluation. Davis (1991) mempublikasikan papernya yang berisi tentang beberapa metoda encoding. Dari berbagai literatur diketahui bahwa tidak ada metoda encoding yang mampu menyelesaikan semua permasalahan dengan sama baiknya. Namun demikian, banyak peneliti yang menggunakan metoda bit string dalam kajian-kajian EC dewasa ini.

Aplikasi AI dalam kontrol robotik dapat diilustrasikan sebagai berikut,

Gambar 4.1: Kontrol robot loop tertutup berbasis AI

Penggunaan AI dalam kontroler dilakukan untuk mendapatkan sifat dinamik kontroler �secara cerdas�. Seperti telah dijelaskan di muka, secara klasik, kontrol P, I, D atau kombinasi, tidak dapat melakukan adaptasi terhadap perubahan dinamik sistem selama operasi karena parameter P, I dan D itu secara teoritis hanya mampu memberikan efek kontrol terbaik pada kondisi sistem yang sama ketika parameter tersebut di-tune. Di sinilah kemudian dikatakan bahwa kontrol klasik ini �belum cerdas� karena belum mampu mengakomodasi sifat-sifat nonlinieritas atau perubahan-perubahan dinamik, baik pada sistem robot itu sendiri maupun terhadap perubahan beban atau gangguan lingkungan.

Banyak kajian tentang bagaimana membuat P, I dan D menjadi dinamis, seperti misalnya kontrol adaptif, namun di sini hanya akan dibahas tentang rekayasa bagaimana membuat sistem kontrol bersifat �cerdas� melalui pendekatan-pendekatan AI yang populer, seperti ANN, FL dan EC atau GA.

Gambar 4.1 mengilustrasikan tentang skema AI yang digunakan secara langsung sebagai kontroler sistem robot. Dalam aplikasi lain, AI juga dapat digunakan untuk membantu proses identifikasi model dari sistem robot, model lingkungan atau gangguan, model dari tugas robot (task) seperti membuat rencana trajektori, dan sebagainya. Dalam hal ini konsep AI tidak digunakan secara langsung (direct) ke dalam kontroler, namun lebih bersifat tak langsung (indirect).