TOTO HARYANTO

Sedikit goresan menebar manfaat …..

Archive for the 'AI' Category

About CI

Workshop logika fuzzy, konsep dan Aplikasinya

Posted by totoharyanto on 21st March 2016

Kamis, 17 Maret 2016 diadakan workshop logika fuzzy konsep dan apikasinya. Workshop ini diberikan kepada mahasiswa Lab Netcentric Computing (NCC). Penggunaan logik fuzzy untuk menyelesaikan masalah masalah di bidang jaringan. Workshop ini dihadiri oleh sekitar 20 mahasiswa baik S1 maupun S2. Materi silahkan dapat diakses di sini

 


Posted in AI | No Comments »

Perhitungan Codebook

Posted by totoharyanto on 15th December 2015

Codebook merupakan salah satu teknik yang digunakan untuk melakukan klasifikasi.  Salah satu penerapan teknik ini digunakan untuk identifikasi pembicara. Secara umum langkah langkau teknik codebook adalah sebagai berikut:

1.Data hasil ekstraksi ciri
2.Lakukan klastering setiap kelas tentukan jumlah kluster
3.Hitung jarak setiap data uji terhadap anggota cluster (codeword)
4.Ambil jarak minimum setiap data uji ke data latih
5.Hitung total jarak minimum setiap kelas
6.Bandingkan
7.Ambil yang paling minimum

Sebagai ilustrasi saya ilustrasikan sebagai berikut:
Anggap saya sudah melakukan klastering dengan K-Mean (k=3) untuk setiap kelas (Kelas Y dan kelas Z ) seperti yang terlihat dibawah ini.

hasil_klster_kmean_k=3

 

 

 

 

 

Kemudian bagaimana jika diberikan data baru sebagai beriukut:
data_baru

 

 

 

Ke kelas mana data baru akan dikelompookkan ?
Nah langkah berikutnya adalah menghitung jarak euclid setiap data baru ke dalam tiap kelas:

perhitungan_jarak_euclid_tia_kelas

 

 

 

 

 

 

 

 

 

 

 

Jika diperhatikan pada ilustrasi di atas. pertama jumlah fitur dari ada adalah sebanyak lima fitur. Sementara jumlah data uji ada sebanyak 6 data. Dengan demikian untuk semua data uji harus dihitung jarak euclid- nya terhadap setiap data latih (codeword)

Selamat Mencoba

 

 


Posted in AI | No Comments »

Wildcard Pattern Pada CLIPS

Posted by totoharyanto on 13th October 2014

Jika kita menggunakan CLIPS (C Language Integrated Production System) sebagai tools untuk sistem pakar, terdapat mekanisme untuk memanggil variabel pada bagian LHS (left Hand Side) atau antesendent agar dapat digunakan pada bagian RHS (right hand side) atau konsekuen. Mekanisme tersebut disebut sebagai Wilcard Pattern.

Terdapat tiga bentuk wildcard pattern
1.  ?variabel         : ini digunakan untuk mengambil nilai value pertama dari suatu variabel
2.  $?                       : ini digunakan jika kita tidak akan mengambil value sama-sekali dari value suatu variabel
3.  $?variabel      : ini digunakan untuk mengambil semua nilai dari suatu variabel.

Sebagai Ilustrasi perhatikan contoh berikut:
===================================================================
; contoh 1
; Nama file : band.clp
(deftemplate member_bands
(multislot  member-of))

(deffacts nama_band

(member_bands (member-of  beatles john_lennon paul_mccartney george_harrison ringo_starr))
(member_bands (member-of  smash roger_daltrey pete_townsend keith_moon))
(member_bands (member-of  kangen_band tracey_thorn ben_watt)))

(defrule bands
(member_bands (member-of  ?band  $?))
=>
(printout t “there is a band called ”  ?band crlf))

===================================================================
Keterangan :
Pada contoh di atas terlihat bahwa hanya value pertama saja yang dihasilkan. perintah  “….. ?band  $? ” pada bagian antesendent menunjukkan bahwa hanya value pertama saja yang dihasilkan. Dalam hal ini hanya kangen_band, smash dan beatles saja yang dikeluarkan …

 

 

=====================================================================
Contoh 2
;nama file : akses_single_member.clp

(deftemplatemember_bands
(multislot member-of))

(deffactsnama_band
(member_bands (member-of  beatles john_lennon paul_mccartney george_harrison ringo_starr))
(member_bands (member-of  smash roger_daltrey pete_townsend keith_moon))
(member_bands (member-of  kangen_band tracey_thorn ben_watt)))

(defrule band-members
(member_bands (member-of ?band ?member $?))
=>
(printout t ?member ” is a member of ” ?band crlf)
=====================================================================

Keterangan :
Pada contoh di atas terlihat bahwa hanya value pertama dan  kedua saja yang dihasilkan. perintah  “….. ?band  $?member … ” pada bagian antesendent menunjukkan bahwa hanya value pertama dan kedua saja yang dihasilkan. Adapun “….$? digunakan untuk membatasi bahwa setelah value pertama dan kedua, tidak dicetak value sama sekali.

 

======================================================================

Contoh 3
;nama file : akses_multi_member.clp
(deftemplatemember_bands
(multislot member-of))

(deffactsnama_band
(member_bands (member-of  beatles john_lennon paul_mccartney george_harrison ringo_starr))
(member_bands (member-of  smash roger_daltrey pete_townsend keith_moon))
(member_bands (member-of  kangen_band tracey_thorn ben_watt)))

(defrule band-members
(member_bands (member-of ?band $?members))
=>
(printout t “The members of ” ?band ” are ” $?members crlf))

======================================================================
Keterangan :
Pada contoh di atas terlihat bahwa hanya setelah value pertama, seluruh member akan dihasilkan. perintah  “….. ?band  $?members..  ” pada bagian antesendent menunjukkan bahwa setelah value pertama, seluruh value berikutnya akan dicetak .


Semoga Bermanfaat

 


Posted in Sistem Pakar | No Comments »

Representasi Pengetahuan /Knowledge Representation

Posted by totoharyanto on 23rd March 2014

Representasi pengetahuan

“ KR is a subarea of artificial intelligence concerned with understanding, designing, and implementing ways and impementing  ways of representing information so that program can use it”

Di dalam pengembangan sistem pakar, representasi pengetahuan merupakan tahap yang memiliki peran penting. Mengapa demikian? Hasil akuisisi pengetahuan yang dilakukan oleh Knowledge Engineer (KE), tidak menjamin pengetahuan yang dihasilkan diperoleh secara terstruktur dan tidak ambigu. Untuk memudahkan pengetahuan tersebut masuk ke dalam basis pengetahuan, dilakukan proses yang disebut representasi pengetahun / Knowledge Representation.
Jadi, representasi pengetahuan secara mudah saya artikan sebagai cara untuk menjadikan pengetahuan lebih terstruktur. Karena karekateristik pakar, jenis pengetahuan dan data yang sangat beragam, ini pula yang menyebabkan adanya berbagai teknik dalam representasi pengetahuan. Berikut beberaapa teknik akuisisi pengetahuan yang ada:

1. Object – atribut – value (OAV) triplet
2. Rules
3. Semantic Network
4. Frame
5. Predicate Logic
6. Fuzzy Representation

Berikut penjelasan dari setiap teknik.
1. Object – atribut – value (OAV) triplet
OAV merupakan cara representasi pengetahuan yang menjadikan suatu fakta/pengetahuan memiliki objek. Setiap objek memiliki satu atau lebih atribut dan setiap atribut tersebut memiliki suatu nilai / value. Artinya pada saat Knowledge Engineer (KE), melakukan akuisisi harus mampu untuk melihat fakta/pengetahuan dari sisi OAV. Ilustrasi berikut menjelaskan contoh OAV.

OAV

Pada contoh di atas, adalah contoh dari OAV. Baik Chair dan Ball adalaha objek, sedangkan color, diameter, weight adalah atribut dari objek tersebut. Adapun ‘brown’, ‘1 meter’ dan ‘100 gram’ adalah value dari atribut yang ada. Pada praktiknya, kalau kita mempelajari CLIPS (C Language Integrated Production System) konsep OAV tersebut terlihat pada saat mendefinikan fakta. Berikut contohnya

contoh OAV

 

fig. 2  Example OAV in CLIPS

Bersambung ………………………………………………

 

 


Posted in AI | No Comments »