III. KONSEP KONSEP DALAM KECERDASAN BUATAN
1. Agen Cerdas Agen (agent) adalah sesuatu yang dapat melihat, merasakan (perceiving), memahami, dan mengerti lingkungannya melalui detektor (detektor) / sensor (censor) dan bertindak (acting) atas lingkungan itu pula melalui media sarananya (effector). Manusia mempunyai agen berupa mata, telinga, dan sebagainya yang berupa detektor/sensor. Sedangkan tangan, kaki, mulut, dan sebagainya merupakan efektornya. Robot mempunyai kamera, detektor infra merah, dan sebagainya sebagai sensor; dan motor-motor listrik, lengan mekanik sebagai efektornya. Tugas dari Kecerdasan Buatan adalah merancang program agen (agent program), yaitu suatu fungsi yang mengimplementasikan peta agen dari persepsi hingga aksi. Sedangkan program yang dijalankan tersebut memerlukan sebuah peralatan tertentu yang dapat berupa komputer atau perangkat keras khusus untuk menangani tugas tertentu yang dikenal sebagai arsitektur (architecture).
2. Komponen Pendukung Agen Cerdas
2.1. Visi (Vision) Visi merupakan indera yang paling mengesankan / impresif (impressive). Informasi tentang dunia luar (environment) diberikan secara detail tanpa butuh banyak usaha. Visi merupakan salah satu obyek studi Kecerdasan Buatan yang paling intensif dan salah satu cara untuk memasukkan fenomena fisik ke dalam representasi internal (internal representation). Visi dimulai dari mata, alat untuk menangkap dan memfokuskan cahaya yang memantul dari obyek, setiap titik dari obyek. Merupakan problematika bagaimana menciptakan alat yang dapat bekerja seperti mata. Sampai akhirnya pada tahun 1950-an ditemukannya teori pengenalan pola (pattern recognition).
Akhir (High level)
Citra mentah
Awal (Low level)
Deskripsi Vision
Citra intrinsik
Gambar 3.1. Tahapan pemrosesan visual
2.2. Bahasa (Language) Sebagaimana pada visi, problematika dalam bahasa adalah bagaimana membawa informasi yang disediakan dunia luar dan diterjemahkan ke dalam representasi internal dengan tepat. Dengan adanya penelitian di bidang Kecerdasan Buatan ini telah menimbulkan kebangkitan bahasa dari model konvensional yang hanya mengandalkan bilangan (numerical) dan teks (text) ke arah manipulasi entitas simbolik dan representasi kompleks. Untuk tingkat yang lebih luas, studi tentang bahasa ini lebih banyak menggunakan istilah representasi semantik untuk mewakili representasi internal. Tabel berikut memperlihatkan hubungan antara bahasa pemrosesan konvensional dan bahasa komputasi. Tabel 3.1. Konsep bahasa pemrograman konvensional v.s bahasa pemrograman Kecerdasan Buatan. Bahasa Pemrograman Konvensional Komputasi bersifat manipulasi teks dan bilangan Algoritma prosedural sebagai pemecahan masalah Menentukan urutan langkah kepada pemecahan. Kesimpulan yang deterministik secara keseluruhan Tipe data karakter dan angka Peubah terdeklarasi sebelumnya dan bertipe Peubah berdimensi tetap Representasi informasi yang pasti/tepat Jawaban eksak/pasti/tepat yang dicari
Bahasa Pemrograman Kecerdasan Buatan Berupa simbol, konsep, aturan, relasi. Bahasa deskriptif (menggambarkan fakta dan relasi-relasi yang diketahui). Searching/heuristic dipakai untuk pemecahan. Tidak diketahui jika kumpulan algoritma bertemu Tipe data atom, obyek, listing program Tidak perlu pendeklarasian sebelumnya (peubah tipe tertentu dapat dibuat jika diperlukan dalam proses) Dimensi dari struktur data dapat berkembang atau menyusut menurut proses pemecahan Representasi informasi yang tidak pasti Jawaban memuaskan seperti apapun dicaris
Acoustic Phonetic
Morphological Syntactic
Semantic Pragmatic
Tahapan analisis bahasa untuk melakukan pemecahan masalah dalam bidang Kecerdasan Buatan adalah sebagai berikut: 1. acoustic-phonetic, yaitu tanggung jawab membawa suar dan menerjemahkan input ke dalam kata-kata. 2. morphological-syntactic, adalah tanggung jawab membawa dan menetapkan bentuk sintak dan ucapan 3. semantic_pragmatic, adalah tanggung jawab menyiapkan arti analisis ucapan tersebut.
Gambar 3.2. tiga tingkat analisis linguistik.
Contoh: Jika kita menemukan sebuah suara ‘k’ seperti “kite”, diikuti dengan suara ‘a’ seperti “apple”, diikuti dengan suara ‘t’, maka kita cukup beralasan untuk menyimpulkan bahwa kita mendengar kata “cat”. Pada tingkat selanjutnya, sintaks suatu bahasa membantu memutuskan bagaimana kata digabungkan untuk membuat makna yang lebih luas. Inilah apa yang disebut dengan struktur fungsional (functional structure). Hingga kita berusaha memahamkan suatu kalimat seperti “Sebuah toko menjualkan pedagang seekor anjing”. Dari kalimat tersebut perlu ketegasan makna siapa atau apa yang dijual dan kepada siapa. Untuk mengatasi problem ketegasan makna di atas, diperlukan sebuah representasi internal yang dapat mengarahkan informasi sesuai dengan maksud. Level representasi internal ini berada dalam wilayah semantik dan pragmatik, dan sebagai intermediate structure antara kalimat dengan representasi internal. Sebagian peneliti Kecerdasan Buatan sepakat untuk menggunakan parsing. Dalam perancangan parsing ini mutlak diterapkan suatu aturan gramatikal agar makna informasi tidak terbelah. Aturan gramatikal yang biasa digunakan dan mungkin terbaik adalah context-free grammar. 2.3. Representasi Pengetahuan (Knowledge Representation) Representasi pengetahuan berbentuk basis pengetahuan (knowledge base), merupakan sentral komponen dari Kecerdasan Buatan. Secara informal, representasi pengetahuan adalah himpunan tentang faktafakta yang berhubungan dengan lingkungan. Tiap-tiap fakta yang ada disebut kalimat (sentence). Jadi, kalimat yang diekspresikan
dalam bahasa disebut bahasa representasi pengetahuan (knowledge representation language). Ada tiga tahap pengembangan model Kecerdasan Buatan ini, yaitu: ● Tahap Konseptual Definisi pengetahuan (menunjukkan dunia mikro yang tidak lengkap). Obyek-obyek dengan ukuran, fungsional dan sifat-sifat deskriptif. ● Tahap Representasi Jaringan semantik untuk merepresentasikan obyek-obyek dan sifat-sifatnya. ● Tahap Implementasi Reduksi representasi untuk menuju tujuan yang memuaskan. Sistem aturan produksi yang digunakan untuk beroperasi pada obyek-obyek. 2.4. Perencanaan (Planning) Perencanaan merupakan suatu teknik penyelesaian masalah yang melibatkan penentuan suatu aliran (atau urutan) aksi-aksi yang membawa suatu sistem dari suatu keadaan tertentu kepada keadaan atau tujuan yang diingini. Perencanaan berkaitan dengan sistem produksi (production system), kendali (control), temporal reasoning, frame problem, dan pencarian (searching). Contoh perencanaan yang sederhana disajikan sebagai berikut : A. Checker Board (Path Planning) Dalam bentuk yang umum melibatkan pemilihan bagaimana menggerakkan beberapa obyek dalam dua atau tiga dimensi tanpa tumbukan. Dalam dunia nyata, perencanaan Kecerdasan Buatan diaplikasikan pada navigasi otomatisasi kendaraan. Skenarionya berisi area, obyek kendaraan, dan lokasi tujuan. Tugas perencanaan Kecerdasan Buatan adalah mencari jalan terpendek untuk sampai ke tujuan.
0
1
2
0
1
2
3
4
5
3
4
5
A 6
7
B 8
6
7
8
B
A
i. keadaan awal
ii. keadaan akhir
Operasi: Pindahkan blok A ke atas Pindahkan blok A ke bawah Pindahkan blok A ke kanan Pindahkan blok A ke kiri Pindahkan blok B ke atas Lengan robot Pindahkan blok B ke bawah Pindahkan blok B ke kanan Pindahkan blok B ke kiri care
A A
B
C
C
D
D
i. keadaan awal
B
Gambar 3.3. Problem perencanaan untuk ilustrasi checker board
ii. keadaan akhir
B. Block World Pada gambar di bawah, lengan manipulator dipakai untuk memindahkan blok-blok di atas meja. Di sana diberikan mobilitas manipulator, spesifikasi keadaan yang diharapkan dan keadaan awal tertentu (atau pengenal otomat), kemudian diharapkan adanya suatu urutan aksi-aksi untuk mewujudkan keadaan tertentu.
Gambar 3.4. Problem perencanaan untuk ilustrasi block world
Secara umum, sebuah perencanaan Kecerdasan Buatan dinamakan plan generator, membutuhkan entitas-entitas seperti diagram berikut:
Spesifikasi keadaan awal, *Si
Spesifikasi keadaan tujuan, *Sg
Algoritma plan generator
Urutan operasi/aksi
Spesifikasi operasi, *Oi
* bergantung pada representasi keadaan problem yang dipilih
Gambar 3.5. Entitas yang diperlukan untuk plan generator
2.5. Strategi Pengendalian (Controlling Strategy) Strategi pengendalian Kecerdasan Buatan dilakukan dengan pernyataan (statement) yang merupakan kalimat deklaratif. Pernyataan ini mengandung banyak elemen. Oleh karena itu harus diolah secara bertingkat sebagaimana diagram pada Gambar 3.6. Untuk mengarahkan suatu model Kecerdasan Buatan dapat dilakukan dengan membuat pernyataan dengan memanfaatkan antara lain: aturan logika (rule of logic), deduksi (deduction), modus ponen, logika predikat, dan manipulasi well-formed formulas (wffs).
Pernyataan Nilai benar
Mengijinkan sambungan logika
Logika Proporsional (Kalkulus Proporsional)
Proposisi Mengijinkan peubah
Predikat (rumus atomik) Kombinasi logika (hubungan dan jumlah) () Kalimat-kalimat Well-formed formulas
Hasil-hasil ekspresi
Logika Predikat (Kalkulus Predikat)
Gambar 3.6. Tahap-tahap pengendalian model
Aturan logika berisi hubungan and, or, irisan, gabungan dan lain sebagainya. Aturan deduksi adalah suatu prosedur penyimpulan yang sistematis atas suatu kondisi dengan melihat fakta-fakta yang cakupannya lebih luas atau keseluruhan. Modus ponen adalah aturan logika dimana bila suatu implikasi bernilai benar disertai dengan diketahui benarnya anteseden maka dapat disimpulkan benarnya konsekuen. Logika predikat adalah suatu kumpulan logika pemodelan kebenaran pernyataan yang berdasar pada nilai-nilai yang diterima oleh bagian-bagian tertentu (atau frase) dari pernyataan tersebut. Misalnya, kita memiliki himpunan bilangan bulat A, maka kita dapat membuat fungsi predikat bilangan ganjil, Aganjil, dimana Aganjil dapat bernilai benar jika anggotanya memang ganjil dan salah untuk selainnya. Manipulasi wffs merupakan strategi yang lebih kompleks dan melibatkan dua topik, yaitu resolusi dan unifikasi. Resolusi Pendekatan resolusi menghasilkan klausa-klausa baru dari sebuah himpunan inisial. Implementasi resolusi mempunyai tujuan untuk
mengembangkan suatu prosedur sistematis pada sebuah basis data, dimana wffs-nya tidak memuaaskan, dengan kata lain tidak ada interpretasi wff yang masuk akal. Untuk itu, hal pertama yang perlu dilakukan adalah mengonversi pernyataan dalam basis data logika dan hipotesis ke dalam bentuk klausa (clause) yang melibatkan disjungsi literal. Resolusi diproses dengan menambahkan basis data dengan negasi hipotesis yang diinginkan. Kemudian klausa diselesaikan dalam basis data tambahan sampai kontradiksinya ditemukan. Jika tidak ditemukan, kita simpulkan bahwa keadaannya konsisten, dan berarti hipotesisnya, pada kenyataannya salah (false). Contoh: Basis data (D1) berisi pernyataan-pernyataan di bawah ini (basis data diasumsikan konsisten): (1). P1 (2). P1 → q1 (3). q1 → q2 Hasil dibuktikan menggunakan basis data D1, sehingga q2 benar (true). Kemudian, ¬q2 ditambahkan ke D1, klausa dikonversi ke sebuah bentuk yang memudahkan resolusi, dan proses resolusi pasangan dilakukan. Basis data D2 kemudian termodifikasi menjadi (1). P1 (2). ¬P1 ∪ q1 (3). ¬q1 ∪ q2 (4). ¬q2 Resolusi antara (2) dan (3) adalah sebagai berikut : q1 ∪ ¬P1 ¬q1 ∪ q2 ¬P1 ∪ q2 Hasil D3: (1). P1 (2). ¬P1 ∪ q1 (3). ¬q1 ∪ q2 (4). ¬q2 (5). ¬P1 ∪ q1 Resolusi antara (4) dan (5): ¬q2 q2 ∪ ¬q1 ¬P1 Hasil D4: (1). P1 (2). ¬P1 ∪ q1 (3). ¬q1 ∪ q2
(4). ¬q2 (5). ¬P1 ∪ q1 (6). ¬P1 Perhatikan bahwa resolusi antara (1) dengan (6) menghasilkan kontradiksi (¬P1 ∩ P1). Sehingga ¬q2 inkonsisten dengan D1; dimana q2 adalah true. Unifikasi Unifikasi adalah usaha untuk mencoba membuat dua ekspresi menjadi identik (mempersatukan keduanya) dengan mencari substitusi-substitusi tertentu untuk mengikuti peubah-peubah dalam ekspresi mereka tersebut. Unifikasi merupakan suatu prosedur sistematik untuk memperoleh peubah-peubah instan dalam wffs. Ketika nilai kebenaran predikat adalah sebuah fungsi dari nilai-nilai yang diasumsikan dengan argumen mereka, keinstanan terkontrol dari nilai-nilai selanjutnya yang menyediakan cara memvalidasi nilai-nilai kebenaran pernyataan yang berisi predikat. Unifikasi merupakan dasar atas kebanyakan strategi inferensi dalam Kecerdasan Buatan. Sedangkan dasar dari unifikasi adalah substitusi. Suatu substitusi (substitution) adalah suatu himpunan penetapan istilah-istilah kepada peubah, tanpa ada peubah yang ditetapkan lebih dari satu istilah. Sebagai pengetahuan jantung dari eksekusi Prolog, adalah mekanisme unifikasi. Aturan-aturan unifikasi : 1. Dua atom (konstanta atau peubah) adalah identik. 2. Dua daftar identik, atau ekspresi dikonversi ke dalam satu buah daftar. 3. Sebuah konstanta dan satu peubah terikat dipersatukan, sehingga peubah menjadi terikat kepada konstanta. 4. Sebuah peubah tak terikat diperssatukan dengan sebuah peubah terikat. 5. Sebuah peubah terikat dipersatukan dengan sebuah konstanta jika pengikatan pada peubah terikat dengan konstanta tidak ada konflik. 6. Dua peubah tidak terikat disatukan. Jika peubah yang satu lainnya menjadi terikat dalam upa-urutan langkah unifikasi, yang lainnya juga menjadi terikat ke atom yang sama (peubah atau konstanta). 7. Dua peubah terikat disatukan jika keduanya terikat (mungkin melalui pengikatan tengah) ke atom yang sama (peubah atau konstanta). 2.6. Pencarian (Searching)
a Hal pertama yang perlu diperhatikan dalam proses pencarian adalah e 3 representasi masalah. Ada beberapa skenario untuk studi pencarian sebagai fungsi untuk memilih representasi. Sebagai contoh, kita 1 c mungkin memilih untuk memperhatikan ruang masalah yakni 4 representasi ruang keadaan dalam wilayah representasi fgraf (graph). b Sebelum berjalan jauh, kita perlu mendefinisikan problem pencarian. Sebuah problem pencarian, P, dinyatakan dengan 2 d P = {D, S, T, G}
5 f dengan, g D adalah himpunan keadaan sistem yang mewakili keadaan ruang (a) masalah (problem sate-space). Si ∈ D adalah keadaan awal T = { t1, t2, . . . } adalah himpunan transformasi (operator dan aturan) G ⊂ D adalah himpunan keadaan tujuan. Suatu solusi untuk D dinyatakan dengan Ts, yaitu urutan ti= t1, t2, . . ., tn; dengan tn . . . (t2(t1(S1))) ∈ G.
Catatan: D dan T dapat memiliki nilai tertinggi atau tak terhingga namun dapat dihitung (countably infinite). Kita juga dapat membagi D dengan dua bagian berikut: 1). Dr ⊂ D dimana terdapat Ts, sehingga tn . . . (t2(t1(S1))) ∈ Dr merupakan keadaan yang dapat tercapai (reachable state). 2). Dur ⊂ D dimana tidak terdapat Ts, sehingga tn . . . (t2(t1(S1))) ∈ Dur merupakan keadaan yang tidak dapat tercapai (unreachable state). Jika G ∩ Dr, maka dapat diselesaikan. Metode State Space Graph (SSG) Sebuah State Space Graph (SSG) adalah diagraph yang menjelaskan D dan T. Mode SSG mewakili elemen D, sedang busur (arc) mewakili elemen T; ti ∈ T menghasilkan busur dalam SSG antara mode di dan dj ∈ D ke dj – ti (di) yang diketahui. Contoh: Suatu graf representasi dari P mempunyai aturan sebagai berikut: Fakta (basis data yang diketahui) : {abg} - Si Dengan aturan : 1 2 3
jika a b, maka c jika b g, maka d jika a c, maka e
(b)
Si
Sg 4
1
(c)
3
abgc
abg
Sg
abgcd
2 1
abgcdf
3
3
2
2
4 5
abgcdef
jika e d, maka f jika d5 g, maka f
abgcde
abgce abgc 5 abgdf
Sg
1-2-3-4 2-1-3-4 1-3-2-4 2-1-3-5 1-3-2-5 1-2-3-5 1-2-5 2-1-5 2-5
Gambar 3.7. (a) jaring inferensi; (b) jalur pencarian melalui ruang keadaan sistem; (c) kemungkinan urutan aturan menuju Sg
Metode pencarian lain yang dipakai Kecerdasan Buatan adalah tree search, dalam hal ini terdapat dua metode, yaitu depth first dan breath first search. 2.7. Pembelajaran (Learning) Definisi sistem pembelajaran dalam Kecerdasan Buatan adalah pengembangan kemampuan sistem melalui identifikasi dan implementasi algoritma pembelajaran (learning algorithm) yang dapat meningkatkan kinerja algoritma lain atau untuk beradaptasi atas dasar informasi atau pengalaman sebelumnya. Sedangkan definisi pembelajaran sendiri adalah sistem pembelajaran (induktif) untuk melakukan deskripsi internal yang masuk akal (plausible) untuk menjelaskan petunjuk-petunjuk hasil pencarian dan berguna untuk memprediksi petunjuk-petunjuk baru. Sistem yang dapat secara otomatis menerapkan suatu konsep highlevel baru (semacam aturan), memodifikasi konsep, dan meningkatkan kinerja secara gradual melaui pengalaman merupakan ciri sistem pembelajaran. Generasi sekarang dari sistem Kecerdasan Buatan hampir semua secara eksklusif menggunakan deduksi sebagai dasar pembelajaran. Alasannya adalah karena kemampuan deduksi untuk membuktikan tujuan-tujuan dan fakta-fakta yang beragam. Namun demikian, mereka tak mampu untuk menghasilkan
pengetahuan (fakta-fakta) baru secara otomatis. Dengan kata lain, mereka tidak dapat melakukan inferensi induktif. Secara konseptual, pembelajaran biasanya berhubungan dengan 1. Self-improvement atau pengembangan diri. 2. Adaptasi ke lingkungan yang berbeda atau baru. 3. Modifikasi perilaku. 4. Concept formulation and refinement, termasuk generalisasi atauspesialisai model konseptual. Beberapa paradigma pembelajaran yang digunakan dalam Kecerdasan Buatan antara lain adalah sebagai berikut: 1. Belajar menghafal (rote learning). Ini sama dengan mengingat fakta-fakta dan aksi-aksi. Tidak diperlukan pemahaman terhadap data-data. Dalam konteks ini, lawan kata “learning” adalah “forgetting”. 2. Memberi nasihat (advice taking), memberi kontrol informasi. Paradigma ini memudahkan pembuatan representasi aturanaturan tambahan. Sebagai contoh saran : “if . . . , then . . . ” . 3. Mempelajari konsep dari contoh atau bukti (learninng concept from example or evidence). Ini merupakan paradigma pembelajaran yang paling powerful dan memungkinkan untuk diimplementasikan dengan banyak cara. Beberapa aspek untuk paradigma ini adalah: ● Belajar dari contoh secara langsung. Proses induksi digunakan untuk menghasilkan sebagian dari struktur pengetahuan yang ada dengan menggunakan informasi ‘contoh’. ● Belajar dari contoh mungkin digunakan untuk menghasilkan keseluruhan aturan-aturan baru. ● Belajar dari contoh hampir sama dengan belajar melaui analogianalogi. Ini berarti kesimpulan atau aksi-aksi baru berdasar atau mempunyai kesamaan struktur dengan kesimpulan atau aksi-aksi sebelumnya. ● Belajar dari contoh-contoh dapat dibagi dalam dua kategori, yaitu melibatkan pencarian ruang informasi untuk konsep clustering, dan pada level yang lebih tinggi, untuk mendeskripsikan konsep.
Bukti (obserbvasi/data) Masalah
Pemetaan parsial
Penyelesaian masalah sebelumnya
Baru
Verifikasi konsep / algoritma refutasi Penyelesaian masalah yang baru
Representasi pengetahuan system KB
Proses transformasi
penururnan
Penyelesaian masalah terdahulu
Penghasil konsep (hipotesis)
Gambar 3.8. Paradigma belajar konsep-konsep dari bukti-bukti
4. Belajar dengan eksplorasi (learning by exploration). Alam memberikan contoh terbaik berupa kemampuan adaptasi makhluk hidup, kemampuan untuk menjaga kehidupan (survival) tercermin dari perilaku makhluk. 5. Belajar dari analogi (learning by analogy). Belajar dari analogi adalah suatu cara untuk menghubungkan pengetahuan dengan domainnya.
Gambar 3.9. Paradigma belajar analog