(1) PENGENALAN INTELEGENSI BUATAN
1.1 DEFINISI KECERDASAN BUATAN
Kecerdasan Buatan adalah salah satu cabang Ilmu
pengetahuan berhubungan dengan pemanfaatan mesin untuk memecahkan persoalan
yang rumit dengan cara yang lebih manusiawi. Hal Ini biasanya dilakukan dengan
mengikuti karakteristik dan analogi berpikir dari kecerdasan manusia, dan
menerapkannya sebagai algoritma yang dikenal oleh komputer. AI biasanya
dihubungkan dengan Ilmu Komputer, akan tetapi juga terkait erat dengan bidang
lain seperti Matematika, Psikologi, Pengamatan, Biologi, Filosofi, dan yang
lainnya. Kemampuan untuk mengkombinasikan pengetahuan dari semua bidang
ini pada akhirnya akan bermanfaat bagi kemajuan dalam upaya menciptakan suatu
kecerdasan buatan.
Pengertian lain dari kecerdasan buatan adalah
bagian ilmu komputer yang membuat agar mesin komputer dapat melakukan pekerjaan
seperti dan sebaik yang dilakukan manusia.
1.2 KECERDASAN BUATAN DENGAN KECERDASAN ALAMI
(Kecerdasan
Alami : kecerdasan yang dimiliki oleh manusia.)
Keuntungan
kecerdasan buatan secara komersil :
1.Kecerdasan
buatan lebih bersifat permanen.
2.Kecerdasan
buatan lebih mudah diduplikasi & disebarkan
3.Kecerdasan
buatan lebih murah dibanding dengan kecerdasan alami.
Keuntungan
kecerdasan alami :
1.Kreatif. Kemampuan
untuk menambah ataupun memenuhi pengetahuan itu sangat melekat pada jiwa
manusia. Pada kecerdasan buatan, untuk menambah pengetahuan harus dilakukan
melalui sistem yang dibangun.
2.Kecerdasan
alami memungkinkan orang untuk menggunakan pengalaman secara langsung.
Sedangkan pada kecerdasan buatan harus bekerja dengan input-input simbolik.
3.Pemikiran
manusia dapat digunakan secara luas, sedangkan kecerdasan buatan sangat
terbatas.
1.3 Komputasi intelegensi buatan dan konvensional
Komputasi Konvensional
|
Komputasi Kecerdasan Buatan
|
Format keluaran berupa bit, byte, angka, dan fungsi
|
Hubungan simbol, konsep, dan aturan-aturan
|
Menggunakan algoritma prosedural yang menyelesaikan
problem
|
Bahasa deskriptif (menguraikan fakta-fakta yang
diketahui dan hubungan)
|
Menggunakan tahap-tahap urutan tertentu untuk
penyelesaian (algoritma).
|
Penggunaan search untuk menemukan penyelesaian
(heuristik).
|
Kesimpulan (conclusion)-nya bersifat
determistik.
|
Tidak tahu apakah algoritma memusat (converge).
|
Tipe data : angka dan karakter
|
Tipe data : atom, obyek, list (program)
|
Perlu deklarasi awal dan tipe variabel
|
Tidak perlu deklarasi awal atau tipe data (variabel
tipe-tipe tertentu dapat dapat dibuat apabila ia diperlukan selama proses
penyelesaian)
|
Dimensi variabel yang tetap
|
Dimensi struktur data dapat tumbuh atau menyusut selama
proses
|
Representasi informasi yang eksak
|
Representasi informasi yang tidak eksak
|
Jawaban yang eksak
|
Jawaban yang memuaskan
|
1.4 SEJARAH KECERDASAN BUATAN
Uji Turing (Turing Test) oleh Alan Turing tahun 1950-an :
Turing beranggapan bahwa, jika mesin dapat membuat seseorang percaya bahwa
dirinya mampu berkomunikasi dengan orang lain, maka dapat dikatakan bahwa mesin
tersebut cerdas (seperti layaknya manusia).
Seorang profesor dari Massachusetts Institute of Technology
yang bernama John McCarthy pada tahun 1956 pada Dartmouth Conference yang
dihadiri oleh para peneliti AI. Pada koferensi tersebut juga didefinisikan
tujuan utama dari kecerdasan buatan, yaitu: mengetahui dan memodelkan proses-proses
berfikir manusia dan mendesain mesin agar dapat menirukan kelakuan manusia
tersebut.
Beberapa
program AI yang mulai dibuat pada tahun 1956-1966, antara lain:
1.Logic
Theorist, diperkenalkan pada Dartmouth Conference, program ini dapat
membuktikan teorema-teorema matematika.
2.Sad Sam,
diprogram oleh Robert K. Lindsay (1960). Program ini dapat mengetahui
kalimat-kalimat sederhana yang ditulis dalam bahasa Inggris dan mampu
memberikan jawaban dari fakta-fakta yang didengar dalam sebuah percakapan.
3.ELIZA,
diprogram oleh Joseph Weizenbaum (1967). Program ini mampu melakukan terapi
terhadap pasien dengan memberikan beberapa pertanyaan
1.5 LINGKUP KECERDASAN BUATAN PADA APLIKASI KOMERSIAL
Lingkup
utama dalam kecerdasan buatan adalah:
1.Sistem
Pakar (Expert System). Disini komputer digunakan sebagai sarana untuk menyimpan
pengetahuan para pakar. Dengan demikian komputer akan memiliki keahlian untuk
menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh pakar.
2.Pengolahan
Bahasa Alami (Natural Language Processing). Dengan pengolahan bahasa alami ini
diharapkan user dapat berkomunikasi dengan komputer dengan menggunakan bahasa
sehari-hari.
3.Pengenalan
Ucapan (Speech Recognition). Melalui pengenalan ucapan diharapkan manusia dapat
berkomunikasi dengan komputer dengan menggunakan suara.
4.Robotika
& Sistem Sensor (Robotics & Sensory Systems).
5.Computer
Vision, mencoba untuk dapat menginterpretasikan gambar atau obyek-obyek tampak
melalui komputer.
6.Intelligent
Computer-aided Instruction. Komputer dapat digunakan sebagai tutor yang dapat
melatih dan mengajar.
7.Game
Playing.
1.6 SOFT COMPUTING
Soft computing adalah koleksi dari beberapa metodologi yang
bertujuan untuk mengeksploitasi adanya toleransi terhadap ketidaktepatan, ketidakpastian,
dan kebenaran parsial untuk dapat diselesaikan dengan mudah, robustness, dan
biaya penyelesaiannya murah. Definisi ini pertama kali diungkapkan oleh Prof.
Lotfi A. Zadeh pada tahun 1992.
Unsur Pokok
dalam Soft Computing :
1.Sistem
Fuzzy (mengakomodasi ketidaktepatan);
2.Jaringan
Syaraf (menggunakan pembelajaran);
3.Probabilistic
Reasoning (mengakomodasi ketidakpastian);
4.Evolutionary
Computing (optimasi).
Keempat unsur tesebut bukan merupakan pesaing antara satu
dengan lainnya, namun diantaranya bisa saling melengkapi. Sehingga, Zadeh juga
mendefinisikan bahwa soft computing itu merupakan hubungan antara logika fuzzy,
neuro-computing, probabilistic reasoning, dan algoritma genetik.
(2) PENGENALAN
INTELLIGENT AGENTS
2.1 AGENT dan
LINGKUNGANNYA
Agents adalah segala sesuatu yang dapat melihat/
mengartikan/ mengetahui (perceiving) linkungannya melalui alat sensor (sensors)
dan bertindak (acting) melalui alat aktuator (actuators).
Manusia sebagai agent : mata, telinga dan organ
lainnya sebagai sensors; tangan, kaki, mulut dan bagian tubuh lainnya sebagai
actuators.
Robot sebagai agent : kamera dan pejejak infra merah
sebagai sensors; berbagai motor pengerak sebagai actuators.
Software
sebagai agent : tekanan pada keyboard, isi file dan paket paket pada jaringan
sebagai masukan sensors; tampilan pada layar, penulisan file dan pengiriman
paket jaringan sebagai keluaran actuators.
Fungsi agent adalah pemetaan dari urutan persepsi
(percept) menjadi tindakan (actions)
Program agent berjalan pada arsitektur fisik untuk
menghasilkan fungsi agent (f) agent = architecture + program.
2.2 KONSEP RASIONALITAS
- Rational agent adalah agent yang melakukan sesuatu yang benar
– Setiap kolom pada tabel (Vacuum-cleaner world)
diselesaikan/dikerjakan dengan benar
- Apakah sesuatu yang benar ?
– Agent yang paling sukses/ berhasil
– Mengukur kesuksesan/ keberhasilan ?
- Pengukur kemampuan haruslah objektif (contoh : Vacuumcleaner
world)
– Jumlah debu yang dapat dibersihkan pada waktu tertentu
– Seberapa bersih lantai
– Besarnya konsumsi listrik
– Besarnya noise yang dihasilkan
- Rasional tergantung pada 4 hal :
– Kemampuan yang terukur,
– Pengetahuan lingkungan sebelumnya/ terdahulu,
– Tindakan,
– Urutan persepsi (sensors).
- DEF: Untuk setiap urutan persepsi yang mungkin, rational
agent harus memilih tindakan yang diharapkan dapat
memaksimalkan kemampuan dengan memberikan bukti yang
dihasilkan dari urutan persepsi dan pengetahuan yang
dimiliki
oleh agent.
- Rationalitas ≠ kemahatahuan (omniscience)
– An omniscient agent adalah agent mengetahui akibat
yang
terjadi dari suatu tindakan.
- Agent dapat bertindak sesuai dengan yang diharapkan untuk
memodifikasi persepsi akan datang dengan mendapatkan
informasi yang berguna (pengumpulan informasi dan
eksplorasi)
- Agent dikatakan autonomous, jika perilakunya ditentukan oleh
pengalamannya sendiri (dengan kemampuan untuk belajar
dan
beradaptasi)
2.3 PEAS
-
PEAS : Perfomance measure , Environment , Actuators , Sensors
Pertama-tama harus
menentukan pengaturan untuk desain agen cerdas
Contoh: tugas merancang supir taksi
otomatis
-
perfomance measure : Aman , cepat , legal , perjalanan menyenangkan ,
maksimumkan keuntungan
-
Environment : jalan , trafik lain , pejalan kaki , pelanggan
-
actuators : kemudi , gas , rem , lampu sign , horn
-
Sensors : kamera , sonar , speedometer , GPS , odometer , engine
sensors , keyboard
2.4
Jenis-Jenis Lingkungan
-
Fully observable ( vs. partially obervable ): Sensor-Sensor Sebuah agen
memberinya akses ke keadaan lengkap lingkungannya pada setiap jangka waktu.
-
Determenistic( vs. stochastic ): Keadaan lingkungan berikutnya sepenuh
di tentukan oleh keadaan sekarang dan tindakan yang di laksanakan oleh agen. (
jika lingkungan itu determenistik kecuali untuk tindakan agen-agen lain , maka
lingkungannya adalah strategic )
-
Episodic( vs.sequential ): Pengalamn agen dibagi kedalam
"episode-episode"atomik ( setiap episode terdiri dari si agen
memahami ( perceiving ) dan kemudian melaksanakan satu tindakan dan pilihan
tindakan dalam tiap episode hanya tergantung pada episode itu sendiri.
2.5 STRUKTUR AGEN
-
Perilaku agen : tindakan yang di
lakukan setelah di berikan sembarang sekuen persepsi
-
Tugas Al adalah merancang program agen yang mengimplementasikan ,
fungsi agen yang memetakan persepsi
ke tindakan
-
Diasumsikan program ini berjalan di beberapa alat komputasi yang di
lengkapi sensors dan actuators ( di
sebut arsitektur
-
Agent = arsitektur + program
-
Program yang di pilih
harus sesuai dengan arsitektur tersebut.
cth
: action : Walk -> arsitekturnya hendaklah memliki kaki
2.6 PROGRAM-PROGRAM
AGEN
-
Empat jenis dasar untuk menambah generalitas :
-
Simple reflex agents
-
model-based reflex agents
-
goal-based agents
-
utility-based agents
(3) PENGENALAN LOGICAL AGENTS
3.1 LOGICAL AGENT
Logic
merupakan jantung dari program, para pemrogram mempunyai keyakinan bahwa sebuah
computer dapat dibuat mengerti logika, maka computer dapat dibuat untuk
berfikir, karena logika kelihatannya menjadi inti dari kecerdasan.
1 Problem solving agent hanya bisa
menyelesaikan masalah yang lingkungannya accessible
2 Kita membutuhkan agen yang dapat menambah
pengetahuan dan menyimpulkan keadaan
3 Agent yang akan membantu seperti ini kita
beri nama knowledge based agent
3.2 Knowledge based agent
Komponen
utama dari knowledge based agent adalah knowledge basenya. Knowledge base (KB)
adalah kumpulan representasi fakta tentang lingkungan atau dunia yang
berhubungan atau menjadi daerah bekerjanya agen. Setiap representasi dalam KB
disebut sebagai sebuah sentence yang diekspresikan dalam sebuah bahasa yakni
knowledge representation language.
1 Representasi Pengetahuan yang bersifat
general.
2 Kemampuan beradaptasi sesuai temuan fakta.
3 Kemampuan menyimpulkan sesuatu dari
pengetahuan yang sudah ada.
Syarat Representasi KB:
1 Representational
Adequacy
kemampuan merepresentasikan semua pengetahuan yang dibutuhkan dalam domainnya
kemampuan merepresentasikan semua pengetahuan yang dibutuhkan dalam domainnya
2 Inferential
Adequacy
kemampuan memanipulasi struktur pengetahuan untuk membentuk struktur baru dalam menampung pengetahuan baru hasil inferensi
kemampuan memanipulasi struktur pengetahuan untuk membentuk struktur baru dalam menampung pengetahuan baru hasil inferensi
3 Inferential
Efficiency
kemampuan untuk manambahkan informasi untuk mempercepat pencarian dalam inferensi
kemampuan untuk manambahkan informasi untuk mempercepat pencarian dalam inferensi
4 Acquisitional
Efficiency
kemampuan untuk menambah informasi baru secara mudah.
kemampuan untuk menambah informasi baru secara mudah.
3.4 LOGIC MODEL
Logic
Models merupakan cara logis untuk membuat perencanaan yang mudah dievaluasi dan
logis. Logic Models memberikan gambaran atas suatu program, yang berbentuk
grafik dan tulisan yang menunjukan hubungan antara berbagai aktivitas dalam
suatu program dengan hasil dan outcome yang akan dicapai.
Logic Models dapat didefinisikan sebagai alat atau rerangka konsep yang
membantu mengidentifikasi suatu program melalui perencanaan dengan analisis
atas sumber daya (resources), proses dan aktivitas yang akan dilakukan (activities), Outputs yang
ingin dicapai, orang yang menjadi sasaran program (Customers), dan Outcomes.
Logic
Models dapat digunakan untuk mengevaluasi hasil dari suatu program. Tahap
pertama dalam mengimplementasi Logic Models terhadap suatu program adalah
analisis mengenai How to do the Program. Suatu program akan
menggunakan sumber daya tersentu, untuk melakukan suatu proses, yang
menghasilkanoutput tertentu, sehingga customer dapat
melakukan perubahan sesuai outcome yang ingin dituju. Dengan demikian,
hasil dari suatu progam sesuai target.
(4)METODE PENCARIAN dan PELACAKAN 1
Pelacakan adalah teknik untuk pencarian. Didalam pencarian
ada dua kemungkinan hasil yang didapat yaitu menemukan dan tidak menemukan.
Sehingga pencarian merupakan teknik yang penting dalam AI. Hal penting dalam
menentukan keberhasilan sistem berdasarkan kecerdasan adalah kesuksesan dalam
pencarian dan pencocokan.
Pencarian adalah suatu proses mencari solusi dari
suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state place).
Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin.
Dua teknik pencarian dan pelacakan
– Pencarian buta (blind search)
• Pencarian melebar pertama (Breadth – First Search)
• Pencarian mendalam pertama (Depth – First Search)
– Pencarian terbimbing (heuristic search)
• Pendakian Bukit (Hill Climbing)
• Pencarian Terbaik Pertama (Best First Search)
Pencarian Melebar
Pertama (Breadth-First Search)
• Semua node pada level n akan dikunjungi terlebih
dahulu sebelum level n+1
• Mulai dari akar terus ke level 1 dari kiri ke kanan
• Kemudian ke level selanjutnya hingga solusi ditemukan
• Keuntungan
– Tidak akan menemui jalan buntu
– Menjamin ditemukannya solusi (jika solusinya memang ada)
dan solusi yang ditemukan pasti
yang paling baik
– Jika ada satu solusi maka bread-first search akan
menemukannya
• Kelemahannya
– Membutuhkan memori yang cukup banyak
– Membutuhkan waktu yang cukup lama
Pencarian mendalam
pertama (Depth-First Search)
• Proses pencarian dilakukan pada semua anaknya
sebelum dilakukan pencarian ke node-node yang selevel
• Keuntungan
– Memori yang relatif kecil
– Secara kebetulan, akan menemukan solusi tanpa harus
menguji lebih banyak lagi
Pencarian Heuristik
• Pencarian buta tidak selalu dapat diterapkan dengan
baik
– Waktu aksesnya yang cukup lama
– Besarnya memori yang diperlukan
• Metode heuristic search diharapkan bisa menyelesaikan
permasalahan yang lebih besar.
• Metode heuristic search menggunakan suatu fungsi yang
menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke
simpul tujuan disebut fungsi heuristic
Pembangkit & Pengujian (Generate
and Test)
• Pada prinsipnya metode ini merupakan
penggabungan antara depth-first search dengan pelacakan mundur
(backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan awal.
Algoritma:
– Bangkitkan suatu kemungkinan solusi
(membangkitkan suatu titik tertentu atau lintasan tertentu dari keadaan
awal).
– Uji untuk melihat apakah node tersebut
benar-benar merupakan solusinya dengan cara membandingkan node tersebut atau
node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang
diharapkan.
– Jika solusi ditemukan, keluar. Jika tidak,
ulangi kembali langkah yang pertama.
Kelemahan dari Pembangkit & Pengujian (Generate
and Test) yaitu ;
– Perlu membangkitkan semua kemungkinan
sebelum dilakukan pengujian
– Membutuhkan waktu yang cukup lama dalam
pencariannya
Pendakian Bukit (Hill Climbing)
• Metode ini hampir sama dengan
metode pembangkitan & pengujian, hanya saja proses pengujian dilakukan
dengan menggunakan fungsi heuristik.
• Pembangkitan keadaan berikutnya sangat
tergantung pada feedback dari prosedur pengetesan.
• Tes yang berupa fungsi heuristic ini akan
menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan
lainnya yang mungkin.
Simple Hill Climbing
Algoritma
– Mulai dari keadaan awal, lakukan pengujian:
jika merupakan tujuan, maka berhenti; dan jika tidak, lanjutkan dengan
keadaan sekarang sebagai keadaan awal.
– Kerjakan langkah-langkah berikut sampai
solusinya ditemukan, atau sampai tidak ada operator baru yang akan
diaplikasikan pada keadaan sekarang:
• Cari operator yang belum pernah digunakan;
gunakan operator ini untuk mendapatkan keadaan yang baru.
• Evaluasi keadaan baru tersebut.
• Jika keadaan baru merupakan tujuan, keluar.
• Jika bukan tujuan, namun nilainya lebih baik
daripada keadaan sekarang, maka jadikan keadaan baru tersebut menjadi keadaan
sekarang.
• Jika keadaan baru tidak lebih baik daripada
keadaan sekarang, maka lanjutkan iterasi.