Rabu, 05 Desember 2012

Konsep Multi Agent System (Sistem Agent)

Konsep Software Agent

Konsep agent sebenarnya sudah lama dikenal dalam bidan AI, menurut Nwana [Nwana, 1996] dalam Romi SW[2]  konsep agent ini diperkenalkan oleh seorang peneliti bernama Carl Hewit dengan Concurrent Actor Modelnya pada 1977. dalam modelnya tersebut hewit mengemukakan teori tentang suatu objek yang dia sebut sebagai Actor. Actor tersebut menurut hewit dapat mempunyai karakteristik menguasai dirinya sendiri, interaktif dan dapat merespon pesan yang datang dari objek lain yang sejenis. Dari penelitian yang berhubungan dengan hal tersebut kemudian lahirlah cabang ilmu besar yang merupakan turunan dari AI yaitu Distributed Artificial Intelligence (DAI), yang diantaranya membawahi Multi Agent System (MAS).

Karakteristik Agent

Agent memiliki karakteristik yang dapat menbedakan antara agent satu dengan yang lain, dalam Romi SW[2] secara garis besar karakteristik yang dimiliki oleh agent antaralain :

Autonomy

Agent dengan karakteristik ini memiliki sifat yang mandiri, dan tidak dipengaruhi secara langsung oleh user, agent lain, atau lingkungan.

Intelligence, Reassoning, dan Learning

Suatu agent harus memiliki Intelligence atau kecerdasan agar dapat dinamakan agent, dalam konsep ini kemampuan suatu agent yang harus dimiliki antaralain : internal knowledge base, kemampuan reasoning, dan kemampuan learning.

Mobility

Agent mampu bergerak atau mobile untuk melakukan tugas.

Delegation

Agent dibuat dengan tujuan menjalankan tugas yang diperintahkan oleh user, karakteristik ini merupakan yang utama dalam suatu program yang disebut agent.

Reaktivity

Kemampuan agent yang lain adalah reaktiv atau kemmpuan untuk cepat beradaptasi terhadap perubahan informasi yang ada pada lingkungan.

Proactiove dan Goal Oriented


Communication


Representasi Pengetahuan

Definisi knowledge dalam Webster Dictionary adalah “the fact or condition of knowing something with familiarity gained through experience or association”. Yakni Fakta atau kondisi yang diketahui yang diperoleh melalui pengalaman atau asosiasi, dalam software agent dapat digunakan beberapa cara untuk merepresentasikan pengetahuan antaralain :

Frame

Frame merupakan kumpulan atribut yang menetapkan state objek dan hubungannya dengan frame lain (objects).namun frame ini tidak hanya sekedar catatan atau struktur data yang berisi data. Frame memiliki slot yang menggambarkan rinician atribut dan karakteristik suatu objek. Figure dibawah ini menunjukkan contoh dari frame :

frame agent sistem

Semantik Network

Jaringan semantik adalah gambaran pengetahuan grafis untuk menunjukkan hubungan dan maksud suatu konsep dan hubunganya dengan konsep lain, dengan node yang mengikat konsep kemudian dihubungkan dengan label berbahasa alami yang menunjukkan hubungan tsb.

Jaringan semantik

Reasoning

Kemampuan untuk melakukan penalaran merupakan salah satu kemampuan yang harus dimiliki suatu agent untuk mendapatkan keputusan yang sesuai dengan tujuan (goal), beberapa metode tentang penalaran disebutkan :

Practical Reasoning

Model khusus pengambilan keputusan dinamakan practical reasoning, practical reasoning adalah penalaran yang diarahkan terhadap aksi proses mencari tahu apa dan apa yang dilakukan. Menurut bratman [bratman, 1990] ”practical reasoning adalah masalah dengan pertimbangan yang berat yang saling bertentangan untuk dan terhadap persaingan dimana pertimbangan yang relevan akan disediakan oleh apa yang diinginkan agent / nilai / kepedulian tentang apa yang menjadi keyakinan suatu agent”.

Dikatakan oleh Eliasmith [Eliasmith, 1999] membedakan penalaran praktis dengan teori penalaran adalah penting. Teori penalaran mengarah pada keyakinan, untuk menggunakanya lebih jelas lihat contoh berikut : saya percaya manusia akan mati dan saya percaya presiden adalah manusia, maka saya menyimpulkan presiden adalah fana. Proses yang menyimpulkan presiden adalah fana merupakan alasan teoritis,

Means-Ends Reasoning

Means-Ends reasoning merupakan proses bagaimana menentukan tujuan dengan menggunakan sarana-sarana yang tersedia. Means-ends reasoning biasa dikenal dalam dunia AI sebagai planner. Planning pada dasarnya merupakan pemrograman otomatis, dan planner adalah sistem yang mengambil sebagai representasi input yang termasuk :
  1. Tujuan, maksud atau tugas. Ini merupakan sesuati yang harus agent capai, atau keadaan bahwa agent ingin mempertahankan atau menghindari
  2. Keadaan lingkungan saat ini,
  3. Aksi yang tersedia untuk agent.

Means-Ends Reasoning

Implementasi Practical Reasoning Agent

Dibawah ini adalah contoh implementasi dari practical reasoning pada suatu agent dalam bentuk pseudocode :

pseudocode

Fungsi practical reasoning pada agent tsb sbb :
  1. Mengamati dunia dan keyakinan terhadap perubahan
  2. Memutuskan untuk mencapai tujuan
  3. Menggunakan means-ends reasoning untuk menemukan rencana mencapai tujuan
  4. Melaksanakan rencana tsb.

Trend Research

Banyak sekali trend research dalam multi agent system dan salah satunya adalah RoboSoccer, RoboSoccer merupakan proyek internasional dari berbagai perguruan tinggi di dunia untuk mengadakan penelitian dalam bidan AI, Robotic, dan Autonomous Agent, serta bidang-bidang lain yang berhubungan. penelitian yang dihasilkan dari proyek ini yaitu simulation league yang memerlukan implementasi AI dari sebuah client module dari robosoccer dan sebuah Robocup Soccer Simulator.

Robocup Soccer Simulator merupakan sebuah platform untuk penelitian dibidang AI, bukan seperti pada humanoid robot, Robocup Soccer Simulator mengijinkan peneliti berkonsentrasi pada bagaimana mengembangkan kecerdasan buatan pada client tanpa perlu mengetahui mekanisme fisik dari robot. Bagian utama dari Robocup Soccer Simulator antaralain : Soccer Simulator / Soccer Server, Soccer Monitor, Soccer Client. Soccer Server berperan sebagai pengatur dari simulasi agar mekanisme sesuai dengan aturan yang disepakati, soccer monitor merupakan interface untuk menampilkan bentuk visual dari lingkungan diantaranya environment berbentuk lapangan sepak bola dan bentuk karakter pemain, sedangkan soccer client merupakan otak dari tiap-tiap pemain. Tampilan untuk soccer monitor dapat kita lihat sbb :



Soccer Client

Secara garis besar sebuah RoboCup Soccer Client terdiri dari empat komponen utama yaitu :

1. Networking Function

Komponen ini bertanggungjawab untuk menghandle message traffic diantara soccer client dan soccer server lewat sebuah koneksi UDP/IP socket. Komponen ini menerima berbagai macam message dari server kemudian memparsingnya kepada komponen parsing.

2. Parsing Function

Komponen ini bertanggungjawab untuk mengekstrak message yang diparsing oleh komponen networking menjadi informasi-informasi yang relevan yang terkandung dalam message tersebut.

3. Data Structures Function

Komponen ini bertanggungjawab untuk menyimpan informasi-informasi yang diekstrak oleh Parsing Function kedalam sebuah internal data structure yang biasa disebut gameData.

4. AI Function

Komponen ini bertanggungjawab untuk mengambil keputusan aksi apa yang harus diambil pada kondisi tertentu berdasarkan sensory information yang tersimpan dalam sebuah internal data structure. Lalu setelah itu AI Function akan mengirim command message ke Networking Function yang akan diteruskan ke soccer server.

Interaksi dari keempat komponen tersebut bisa kita lihat pada gambar dibawah ini:

RoboCup Soccer Client


Referensi :
  • Joseph P.Bigus & Jennifer Bigus, "Constructing Intelligent Agent Using Java Second Edition", john wiley & sons, inc, Canada,2001.
  • Romi Satrio Wahono, "Pengantar Software Agent: Teori dan Aplikasi", 2003

0 comments:

Posting Komentar