Selasa, 10 Agustus 2010

FRAME 1

FRAMES

I. Pengertian Frame

Frame merupakan kumpulan pengetahuan tentang suatu obyek tertentu, peristiwa, lokasi, situasi, dll. Frame memiliki slot yang menggambarkan rincian ( atribut ) dan karakteristik dari obyek. Frame biasanya digunakan untuk merepresentasikan pengetahuan yang didasarkan pada karakteristik yang sudah dikenal, yang merupakan pengalaman-pengalaman. Dengan menggunakan frame sangatlah mudah untuk membuat inferensi tentang obyek, peristiwa atau situasi baru, karena frame menyediakan basis pengetahuan yang ditarik dari pengalaman.
Didalam frame, seluruh informasi yang saling berkaitan disimpan didalam sebuah slot yang menggambarkan rincian dan karakteristik dari sebuah objek. Secara tidak langsung, frame bisa dianggap seperti record didalam struktur data. Tetapi yang membedakannya adalah frame mendukung adanya inheritance / pewarisan. Kita dapat mengambil contoh dengan mengambil objek seekor gajah.
Mammalia
subclass: Binatang
berdarah panas: ya

gajah
subclass: Mammalia
* colour: abu-abu
* size: kecil

Clyde
instance: gajah
colour: merah
pemilik: Fred

Nellie:
instance: gajah
size: kecil

Pada tiap-tiap frame ( seperti gajah ) terdapat beberapa slot seperti colour dan size. Ada beberapa slot yang bernilai tetap, dan ada pula slot yang bernilai tidak tetap ( prosedural ). Slot yang bernilai tetap seperti warm_blooded. Jenis slot yang bernilai prosedural artinya slot yang memungkinkan penambahan informasi baru yang bisa ditambahkan pada aturan IF.
Pada frame system diatas kita dapat mengambil kesimpulan bahwa Nellie berukuran kecil, berwarna abu-abu dan berdarah panas. Clyde besar, berwarna merah dan berdarah panas dan dimiliki oleh Fred. Objek dan clas mewarisi sifat dari class induk. Kecuali dia memiliki sifat individual yang bentrok dengan class induknya.
Kegunaan dari frame yang lainnya adalah kemampuan untuk memasukkan prosedur kedalam slot. Jadi, jika kita tidak mengetahui nilai dari sebuah slot, tapi tahu bagaimana cara mengkalkulasikan, kita bisa memasukkan prosedur kedalamnya untuk mengetahui nilai dari sebuah slot. Mungkin kita mempunyai slot yang menggambarkan panjang dan lebar dari sebuah objek dan kadang-kadang jika kita ingin mengetahui area dari sebuah objek, kita bisa memasukkan prosedur kecil untuk menghitungnya.
Frame bisa disebut sebagai ekstension dari Semantic Nets. Semantic Nets merupakan gambaran pengetahuan grafis yang menunjukkan hubungan antar berbagai obyek. Semakin banyak obyek yang terdapat didalamnya maka semakin compleks dan semakin terstruktur representasi yang harus didefinisikan. Oleh karena itu, semakin terstruktur dari sebuah system yang digunakan akan lebih bermanfaat jika kita menggunakan frame.
Struktur dari frame menyerupai seperti perpanjangan record ( seperti pada Pascal dan Modula-2 ) atau struct ( bahasa C ) dan juga seperti class ( di Java ). Tidak seperti record, struct ataupun class, pada frame dapat ditambahkan slot secara dinamik ( contoh : pada saat program sedang dieksekusi ).
Frame menyediakan jalan untuk merepresentasikan dan memanipulasi dari obyek. Terdapat dua keistimewaan dari sebuah frame :
1. Prosedural Attachments : Slot pada frame yang mempunyai nilai yang tidak tetap.
2. Inheritance : Instance frame dapat menurunkan atribut dari generic frame.

II. Jenis Frame
Generic Frame
Adalah sebuah frame yang menyediakan kerangka untuk membangun Instance frame. Sebagai contoh Generic Frame dapat mendeskripsikan “gajah” dengan bermacam-macam keistimewaan dari gajah ( jumlah kaki, telinga, panjang belalai dan gading, warna, dll ) Generic Frame bisa juga merupakan inheritance dari Generic Frame yang lainnya. Sebagai contoh, gajah merupakan inheritance dari mamalia.
Instance Frame
Instance frame adalah pendeskripsian frame yang berasal dari Generic Frame. Sebagai contoh jika pada Generic Frame mendeskripsikan gajah, maka Instance Frame akan mendeskripsikan gajah secara khusus, kita sebut “Dumbo” yang mungkin memiliki warna putih dan tidak mempunyai gading. Instance Frame mendapatkan slot mereka sebagai hasil dari inheritance yang dilakukan oleh Generic Frame.

III. Representasi Pengetahuan dari Frame

Setiap frame merepresentasikan sebuah class ( set ) ataupun sebuah instance ( element dari class ). Untuk lebih jelasnya, dapat kita lihat pada gambar dibawah ini :

Person
Isa : Mammal
Cardinality : 6.000.000.000
*handed : Right
Adult-Male
Isa : Person
Cardinality : 2.000.000.000
*height : 5-10
ML-Baseball-Player
Isa : Adult-Male
Cardinality : 624
*height : 6-1
*bats : equal to handed
*batting-average : .252
*team :
*uniform-color :
Fielder
Isa : ML-Baseball-Player
Cardinality : 376
*batting-average : .262
Pee-Wee-Reese
Instance : Fielder
Height : 5-10
Bats : Right
Batting-average : .309
Team : Brooklyn-Dodgers
Uniform-color : Blue
ML-Baseball-Team
Isa : Team
Cardinality : 26
*team size : 24
*manager :
Brooklyn-Dodgers
Instance : ML-Baseball-Team
Team size : 24
Manager : Leo-Durocher
Players : { Pee-Wee, Reese, … }

Simple Frame System
Pada contoh diatas, frame Person, Adult-Male, ML-Baseball-Player, Pitcher, dan ML-Baseball Team adalah sebuah class. Frame Pee-Wee-Reese dan Brooklyn-Dodgers adalah sebuah instance.
Berikut adalah penjelasan dari hubungan antara tiap elemen didalam Frame System diatas :
• Isa adalah fakta dari sub bagian dari hubungan
• Kumpulan dari Adult-Male adalah sub bagian dari Person
• Kumpulan dari MLB-Baseball-Player adalah sub bagian dari Adult-Male
• Pee-Wee-Reese adalah instance dari fielder. Dan juga dia adalah instance dari semua class diatas fielder
• Isa dan Instance mempunyai atribut yang terbalik, yang disebut sebagai subclass atau all instance
• Karena class merepresentasikan sebuah set ( kumpulan ), terdapat dua jenis atribut yang terdapat didalamnya. Atribut yang menerangkan set tersebut, dan atribut yang telah mengalami proses inheritance dari tiap elemen didalam set tersebut ( atribut ini ditandai dengan tanda * ).

IV. Perbedaan Antara Set dan Instance

Kadang-kadang perbedaan antara set dengan instance sering sekali tidak jelas. Sebagai contoh, team Brooklyn-Dodgers, yang kita definisikan sebagai instance dari class ML-Baseball-Team dapat diartikan sebagai set dari pemain. Faktanya, nilai dari slot player adalah sebuah set. Anggap saja jika kita ingin menganggap Brooklyn-Dodgers sebagai class dibandingkan sebagai instance. Dan instance dari Brooklyn-Dodgers adalah individual dari pemain tersebut.

Tranformasi dari Instance menjadi Class
Hasil perubahan dari Brooklyn-Dodgers memunculkan sebuah Class baru yang bernama Brooklyn-Dodgers. Tetapi class tersebut tidak serta-merta menjadi Isa hirarki dan juga tidak bisa menjadi subclass dari ML-Baseball-Team. Jika diinginkan agar Brooklyn-Dodgers menjadi sebuah class, maka player harus juga didefinisikan sebagai subclass dari ML-Baseball-Team. Oleh karena itu kita harus menempatkan Brooklyn-Dodgers masuk kedalam Isa hirarki. Agar bisa diterima sebagai class, kita bisa menempatkannya kedalam subclass dari ML-Baseball-Player. Selanjutnya elemen dari players secara otomatis merupakan elemen dari ML-Baseball-Player, Adult-Male, dan Person. Tetapi, jika kita melakukan itu maka kita akan kehilangan sifat inheritance dari Brooklyn-Dodgers pada informasi mengenai tim baseball tersebut.

V. Metaclass

Satu-satunya class yang sudah kita lihat selama ini adalah class sebagai anggota dari class tersebut. Jika ada class yang memiliki hubungan instance, maka pastilah class tersebut subclass dari Class. Pada kasus Brooklyn-Dodgers, mengenai penambahan property pada jumlah tim dan nama manager kita harus menambahkan property tersebut pada arti yang lebih luas ( general ). Oleh karena itu kita butuhkan sebuah class yang mempunyai fungsi ganda, fungsi Isa sebagai fungsi dari class yang diatasnya dan fungsi instance sebagai inheritance dari sebuah class.
Metaclass adalah sebuah special class yang membuat tiap element dalam class tersebut sebagai class. Maka didalam sebuah class dapat dijumpai dua hubungan yaitu Isa ( subclass dari class ) dan Instance ( merupakan inheritance dari class sebelumnya ). Untuk lebih jelasnya dapat kita lihat pada gambar dibawah ini :
Class
Instance : Class
Isa : Class
*Cardinality :
Team
Instance : Class
Isa : Class
Cardinality : { Jumlah team baseball }
*Team size : 24 { Default }
*Manager :
Brooklyn-Dodgers
Instance : ML-Baseball-Team
Isa : ML-Baseball-Player
Team size : 24
*Uniform Color : Blue
Pee-Wee-Reese
Instance : Brooklyn-Dodgers
Instance : Fielder
Uniform-color : Blue
Batting-average : .309

Pada gambar diatas, hal yang paling mendasar dari metaclass adalah class dari sebuah class. Dan dengan metaclass kita dapat melakukan :
• Mendefinisikan sebuah class merupakan instance dari class yang lain
• Melakukan Inheritance property dari class tersebut.
Setiap class adalah hasil dari class tersebut, baik secara langsung maupun tidak langsung melalui subclassnya. Pada gambar diatas, kita dapat menarik beberapa penjelasan sebagai berikut :
• Team adalah subclass dari Class dan ML-Baseball-Team adalah subclass dari Team.
• ML-Baseball-Team adalah instance dari Class, dia juga merupakan hasil instance yang bernama Class.
• Brooklyn-Dodgers adalah instance dari ML-Baseball-Team. Dia tidak termasuk instance dari Class karena elemen didalamnya bersifat individu.
• Pee-Wee-Reese adalah instance dari Brooklyn-Dodgers. Dan selain itu, dia juga merupakan instance dari ML-Baseball-Player.
Sebagai kesimpulannya, semua class adalah instance dari metaclass. Sebagai hasilnya, tiap-tiap class tersebut memiliki atribut yaitu cardinality.

VI. Frame Problem

Sebuah frame system adalah cara untuk menyimpan, mengurutkan dan menghubungkan knowledge ( pengetahuan ) tentang dunia. Dunia ini, dibagi menjadi beberapa frame. Dan tiap frame tersebut berisi tentang detail yang lebih spesifik tentang dunia. Ada beberapa frame yang bertugas untuk membuat frame baru dan ada juga yang menambahkannya. Secara garis besar Frame problem mengakibatkan beberapa problem yang terjadi, diantaranya adalah :
• Qualification Problem : Problem yang terjadi dimana sebuah frame benar-benar berubah jika ada sebuah rule bekerja pada frame tersebut.
• Representational Problem : Problem yang terjadi akibat sulitnya memahami tentang sebuah kebenaran terhadap kondisi tertentu.
• Inferential Problem : Problem yang terjadi dalam memahami sebuah dunia sebagai sebuah frame. Terdapat dua jenis inferential problem. General problem adalah Problem yang diakibatkan karena perubahan yang selalu dilakukan oleh dunia dan frame harus menyesuaikannya dengan melakukan perubahan juga. Special Purpose adalah bagaimana memodifikasi sebuah area kecil didalam sebuah frame.
• Ramification Problem : Problem yang terjadi sebagai akibat dari sebuah action dapat mempengaruhi isi dari frame tersebut.
• Predictive Problem : Problem yang sudah diprediksi. Jika sebuah perubahan dapat berakibat negative, maka aturan atau deskripsi yang diberikan pastilah tidak sempurna.

VI. Frame Problem Today ( Frame Problem Hari Ini )
Frame problem telah menjadi sebuah perdebatan serius pada Artificial Intelligence semenjak akhir 1980 sampai sekarang. Dengan ditemukannya beberapa solusi yang berguna untuk memecahkan problem mengenai “logical frame problem” dapat menjawab beberapa problem yang terjadi akibat dari tidak sempurnanya frame melakukan perubahan. Tetapi, masih terdapat isu problem yang marak dibicarakan hari ini. Isu yang dibicarakan adalah mengenai penyembunyian informasi dari sebuah frame ( encapsulation information ) atau yang bisa disebut sebagai Isotrophy.
Solusi yang mungkin bisa ditawarkan untuk saat ini, adalah dengan bagaimana memikirkan membatasi limit dari sebuah frame untuk diakses secara global. Dengan cara memberikan daftar dari frame-frame yang hanya berhubungan dengan frame tersebut.


Daftar Pustaka



Drakos,Nikos. Artificial Intelligence II. http://www.cs.cf.ac.uk/Dave/AI2/node63.html. 1996

Kusumadewi, Sri. Artificial Intelligence ( Teknik dan Aplikasinya ). Jogjakarta:Graha Ilmu. 2003

Rich, Elaine dan Kevin Knight. Artificial Intelligence. 2nd Edition. New York:McGraw-hill Inc. 1991

Schuler, Barbara. “Frame Problem”, Artificial Intelligence, http://www.barbaretta.ch/funai. 2006

Shanahan, Murray. "The Frame Problem", The Stanford Encyclopedia of Philosophy. http://plato.stanford.edu/archives/spr2006/entries/frame-problem. 2006

Wilson, Bil. The AI Dictionary. http://www.cse.unsw.edu.au/~claude/teaching/AI/notes/prolog/Frames/Frames.html. 2006

Tidak ada komentar:

Posting Komentar

TRANSLATE