Aplikasi Fuzzy Set pada Intelligent Car Agent
Irfan Subakti – Sistem Berbasis Pengetahuan
144
Bab 14 Aplikasi Fuzzy Set pada Intelligent Car Agent
Dalam bab ini akan dibahas mengenai penerapan fuzzy set pada prototipe aplikasi nyata yaitu agent yang ditempatkan di sebuah mobil untuk menjaga jarak dan kecepatan mobil ini
dengan mobil di depannya. Pustaka yang digunakan adalah Stuart J. Russell dan Peter Norvig [Rus03] serta hasil riset penulis sendiri.
14.1 Tujuan
Dalam bab ini akan diimplementasikan suatu agen yaitu agen mobil yang cerdas, dimana kecerdasannya adalah dapat mengatur jarak antara dirinya sendiri dengan mobil di
depannya. Kecerdasan yang didapat adalah berkat penerapan fuzzy set pada agen mobil cerdas ini
intelligent car agent. Gambaran dari agen yang ingin kita terapkan dapat dilihat pada gambar 14.1 di bawah ini,
dimana kita ada di mobil Car2 dan berusaha menjaga jarak dengan mobil Car1 agen lain.
Gambar 14.1 Gambaran intelligent car agent
14.2 Implementasi Agen
Agen: entitas komputasi yang melaksanakan delegasi tugas dari pengguna user secara otonomi.
Karakteristik suatu agen adalah: 1. Delegasi – dapat mewakili pengguna dan menjalankan tugas yang diperintahkan
kepadanya 2. Kemampuan berkomunikasi – dapat berkomunikasi dengan agen yang lain
Aplikasi Fuzzy Set pada Intelligent Car Agent
Irfan Subakti – Sistem Berbasis Pengetahuan
145 3. Otonomi – berdiri sendiri sebagai konsekuensi dari nomor 1 dan 2 di atas, jadi ia
memiliki perilaku yang berdiri sendiri, lepas dari campur tangan langsung pengguna otonomi.
4. Monitoring – mampu untuk mempersepsikan mengindra lingkungannya 5. Aktuasi actuation – mampu untuk beraksi dalam lingkungannya
6. Cerdas intelligence – reaktif sederhana atau kognitif lebih kompleks dan dapat berevolusi dalam lingkungannya
Kita akan implementasikan agen dalam rangka mendukung pengguna dalam hal mengaturmengelola kecepatan speed dan jarak distance diantara kita dan mobil di
depan kita. Agen mobil kita didukung oleh teori fuzzy set dan bekerja secara otonomi, berpikir dengan
sendirinya namun tetap dapat dimonitor dengan baik. Sebagian besar aktifitas pengguna dapat didelegasikan pada agen mobil ini, dan
komunikasi untuk mewujudkan hal ini dilakukan dengan pelayanan GPS Global Position System.
Pengguna dapat dengan mudah mengaktuasi menggerakkanmenjalankan agen ini, semudah ia mematikannya.
14.3 Pengetahuan dari Intelligent Car agent
Dengan mengingat teori fuzzy set yang telah diberikan sebelumnya, maka dalam istilah teknologi agen, adalah menarik untuk mengimplementasikan beberapa teori tersebut ke
dalam dunia nyata misalnya: bahasa pemrograman. Knowledge pengetahuan dalam agen mobil kita, didefinisikan seperti gambar 14.2 di
bawah ini.
1. IF Distance is Narrow AND Speed is Slow THEN Command=KeepSpeed 2. IF Distance is Narrow AND Speed is Fast THEN Command=SlowDown
3. IF Distance is Wide AND Speed is Slow THEN Command=SpeedUp 4. IF Distance is Wide AND Speed is Fast THEN Command=KeepSpeed
Gambar 14.2 Pengetahuan untuk intelligent car agent
Aplikasi Fuzzy Set pada Intelligent Car Agent
Irfan Subakti – Sistem Berbasis Pengetahuan
146 Penjelasan:
Narrow adalah diantara 0 ~ 30 m Wide adalah diantara 10 ~ dan lebih dari 30 m
Slow adalah diantara 0 ~ 70 kmjam Fast adalah diantara 30 ~ dan lebih dari 70 kmjam
Semua indeks maksimum diset ke nilai MaxIdx misal, 100 untuk membuatnya lebih mudah.
Perlu diingat bahwa indeks adalah diantara 0 ~ MaxIdx Namun jumlah semua indeks adalah MaxIdx + 1
KeepSpeed adalah diantara -10 ~ 10 kmjam2 SlowDown adalah diantara -10 ~ 0 kmjam2
SpeedUp adalah diantara 0 ~ dan lebih dari 10 mjam
2
14.4 Algoritma
Disini mobil pertama yang diberi nama Car1 letaknya di depan mobil kedua yang diberi nama Car2.
Kita berada di Car2. Apa yang harus kita lakukan adalah mengelola mobil kita Car 2 dengan memperhatikan
speed kecepatan dari mobil kita Car2 dan distance jarak diantara mobil kita dan Car1. Kita dapat memerintahkan mobil kita untuk mengerjakan sesuatu artinya diberi
commandperintah apakah harus mempertahankan kecepatan kita sekarang, memelankan mobil kita dengan mengurangi kecepatan atau mempercepatnya dengan cara
menekan pedal gas.
Kita definisikan fuzzy set dari: Distance Æ Narrow dan Wide
Speed Æ Slow dan Fast
Aplikasi Fuzzy Set pada Intelligent Car Agent
Irfan Subakti – Sistem Berbasis Pengetahuan
147 Command Æ KeepSpeed, SlowDown dan SpeedUp
Akselerasi dari Car1 kita acak nilai awalnya, lalu set kecepatan speed Car1 dan update posisi dari Car1. Lakukan hal yang sama untuk Car2.
Temukan distance jarak antara Car1 dan Car2. Dari speed kecepatan Car2 dan distance jarak antara 2 mobil tersebut, applikasikan 4
rule pada gambar 14.2 sebelumnya, untuk mendapatkan command perintah yang harus dilakukan oleh Car2 apakah harus KeepSpeed mempertahankan kecepatan sekarang,
SlowDown memperlambat laju mobil atau SpeedUp mempercepat kecepatan mobil. Kemudian untuk visualisasinya update grafis dan nilai-nilai yang diperoleh selama proses,
demikian juga dengan posisi dari Car2 dan tentunya Car1 pada suatu saat.
14.5 Graf
Gambar 14.3-14.5 menggambarkan graf yang merupakan implementasi dari fuzzy set untuk distance jarak, speed kecepatan dan command perintah.
F
w
Gambar 14.3 Graf untuk fuzzy set: distance jarak
Untuk lebih mudah memahami, kita jelaskan sebagai berikut. Dimulai dengan dimisalkan bahwa jarak mobil kita Car2 dengan Car1 adalah 15 meter. Maka kita lihat pada gambar
14.3 untuk mengetahui status jarak kita. Didapati bahwa jarak 15 meter itu termasuk
Aplikasi Fuzzy Set pada Intelligent Car Agent
Irfan Subakti – Sistem Berbasis Pengetahuan
148 narrow dekat dengan derajat keanggotaan membership degree 0.75 dan juga wide
jauh dengan derajat keanggotaan 0.25. Karena setelah dibandingkan 0.75 lebih besar daripada 0.25, maka status jarak yang lebih tepat dari mobil kita adalah narrow dekat.
F
w F
Gambar 14.4 Graf untuk fuzzy set: speed kecepatan
Dimisalkan juga kecepatan mobil kita Car2 saat ini adalah 60 kmjam. Kita lihat pada gambar 14.4 untuk mengetahui status kecepatan Car2. Ternyata didapat bahwa kecepatan
60 kmjam itu termasuk fast cepat dengan derajat keanggotaan 0.75 dan juga slow lambat dengan derajat keanggotaan 0.25. Karena setelah dibandingkan 0.75 lebih besar
daripada 0.25, maka status kecepatan yang lebih tepat dari Car2 adalah fast cepat.
F
w w
K
Gambar 14.5 Graf untuk fuzzy set: command perintah
Aplikasi Fuzzy Set pada Intelligent Car Agent
Irfan Subakti – Sistem Berbasis Pengetahuan
149 Lalu kita aplikasikan pengetahuan pada gambar 14.2. Dari status jarak kita yang narrow
dekat dan status kecepatan speed yang fast cepat, maka command perintah yang paling sesuai dengan kondisi kita saat ini untuk diberikan pada agen kita adalah SlowDown,
seperti telah tertulis pada pengetahuan no. 2 di bawah ini. IF Distance is Narrow AND Speed is Fast THEN Command=SlowDown
Implementasinya sesungguhnya adalah dengan melakukan operasi OR dan AND pada nilai-nilai fuzzy set distance dan speed. Berdasarkan penjelasan bab 11 sebelumnya,
operasi OR dilakukan dengan mengambil nilai maksimum dari nilai-nilai yang dioperasikan, sedangkan operasi AND dilakukan dengan mengambil nilai minimum dari nilai-nilai yang
dioperasikan. Sehingga di hal di atas dapat dituliskan lagi sebagai berikut: IF [Distance = Narrow MD = membership degree = 0.75 OR Distance = Wide MD = 0.25]
AND [Speed = Fast MD = 0.75 OR Speed = Slow MD = 0.25]
THEN Command = ?
IF [MaxDistance=NarrowMD=0.75, Distance=WideMD = 0.25] AND
[MaxSpeed=FastMD=0.75, Speed=SlowMD=0.25] THEN
Command = ?
IF Distance=NarrowMD=0.75 AND Speed=FastMD=0.75
THEN Command = SlowDown
Æ pengetahuan no. 2 pada gambar 14.2
Untuk mencari nilai percepatan pada daerah di SlowDown, kita cari dengan mencari nilai tengah dari area yang terbentuk Center-of-Area, CoA atau Center-of-Gravity, CoG yang
didapat dari:
Aplikasi Fuzzy Set pada Intelligent Car Agent
Irfan Subakti – Sistem Berbasis Pengetahuan
150 MinDistance=NarrowMD=0.75, Speed=FastMD=0.75 = MD=0.75
MinDistance=WideMD=0.25, Speed=SlowMD=0.25 = MD=0.25
Lalu dicari daerah batasannya seperti diperlihatkan pada gambar 14.6 di bawah ini. Disini terlihat bahwa daerah batasan untuk SlowDown yang terbentuk adalah MD=0.75 dan
MD=0.25 dimana daerah yang terbentuk adalah segitiga. CoA di dapat dengan mencari titik tengah dari suatu bentukan tanda
× pada gambar 14.6. Misalnya didapat CoA adalah -6 kmjam
2
, maka mobil kita Car2 harus dikurangai kecepatannya dengan percepatan 6 kmjam
2
. Demikian seterusnya sistem akan terus bekerja berdasarkan jarak dan kecepatan mobil kita saat ini untuk menentukan aksi command selanjutnya.
Gambar 14.6 CoA tanda × dari hasil yang didapat
14.6 Jalannya Program
Contoh tampilan sewaktu program dijalankan dapat dilihat pada gambar 14.7 di bawah ini.
Gambar 14.7 Tampilan sewaktu program dijalankan
Aplikasi Fuzzy Set pada Intelligent Car Agent
Irfan Subakti – Sistem Berbasis Pengetahuan
151
14.7 Hasil dan Jalannya Program
Dari prototipe ini kita telah berhasil mengimplementasikan teori fuzzy set kedalam suatu agen, agen yang mengelola speed kecepatan dan distance jarak dari suatu mobil,
dibandingkan dengan mobil yang lain. Ini hanyalah prototipe, sehingga kita asumsikan bahwa posisi mobil lain didapatkan dari
pelayanan GPS. Sejujurnya ini hanyalah simulasi, sehingga untuk implementasi sesungguhnya, kita harus
mempertimbangkan hal-hal berikut ini: GPS
Implementasi perangkat keras Koordinasi canggih diantara bagian-bagian yang terlibat
Regulasi pemerintah Dukungan masyarakatkomunitas
Studi kelayakan dari banyak pihak
14.8 Kemungkinan Pengembangan
Disini kita hanya memperhatikan posisi dari mobilkendaraan di depan atau di belakang mobil lain, kita dapat mengembangkannya untuk semua kemungkinan posisi di jalan.
Hal-hal lain yang perlu dipertimbangkan adalah: Objek-objek yang bergerak di jalan, tak hanya mobilkendaraan
Halanganrintangan di jalan Pengaturan lampu lalu-lintas traffic lights
Permasalahan kemacetan di jalanan Distribusi arus multi jalur di jalanan
Jalur perjalanan efektif Untuk transportasi umum: di darat, laut atau udara
Sistem militer
Genetic Simulated Annealing