SISTEM CERDAS
Pengenalan Intelegensi
Buatan
Kecerdasan Buatan atau kecerdasan yang ditambahkan kepada suatu sistem yang bisa diatur dalam konteks ilmiah atau Intelegensi Artifisial (bahasa Inggris: Artificial Intelligence atau hanya disingkat AI) didefinisikan sebagai kecerdasan entitas ilmiah. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.
'Kecerdasan buatan' ini bukan hanya ingin mengerti apa itu sistem kecerdasan, tapi juga mengkonstruksinya. Tidak ada definisi yang memuaskan untuk 'kecerdasan':
Kecerdasan Buatan atau kecerdasan yang ditambahkan kepada suatu sistem yang bisa diatur dalam konteks ilmiah atau Intelegensi Artifisial (bahasa Inggris: Artificial Intelligence atau hanya disingkat AI) didefinisikan sebagai kecerdasan entitas ilmiah. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.
'Kecerdasan buatan' ini bukan hanya ingin mengerti apa itu sistem kecerdasan, tapi juga mengkonstruksinya. Tidak ada definisi yang memuaskan untuk 'kecerdasan':
- kecerdasan: kemampuan untuk memperoleh pengetahuan dan menggunakannya
- atau kecerdasan yaitu apa yang diukur oleh sebuah 'Test Kecerdasan'
Kecerdasan komputasional melibatkan pengembangan atau pembelajaran iteratif (misalnya penalaan parameter seperti dalam sistem koneksionis. Pembelajaran ini berdasarkan pada data empiris dan diasosiasikan dengan AI non-simbolis, AI yang tak teratur dan perhitungan lunak. Metode-metode pokoknya meliputi:
- Jaringan Syaraf: sistem dengan kemampuan pengenalan pola yang sangat kuat
- Sistem Fuzzy: teknik-teknik untuk pertimbangan di bawah ketidakpastian, telah digunakan secara meluas dalam industri modern dan sistem kendali produk konsumen.
- Komputasi Evolusioner: menerapkan konsep-konsep yang terinspirasi secara biologis seperti populasi, mutasi dan “survival of the fittest” untuk menghasilkan pemecahan masalah yang lebih baik.
Sejarah kecerdasan buatan
Pada awal abad 17, René Descartes mengemukakan bahwa tubuh hewan bukanlah apa-apa melainkan hanya mesin-mesin yang rumit. Blaise Pascal menciptakan mesin penghitung digital mekanis pertama pada 1642. Pada 19, Charles Babbage dan Ada Lovelace bekerja pada mesin penghitung mekanis yang dapat diprogram.
Bertrand Russell dan Alfred North Whitehead menerbitkan Principia Mathematica, yang merombak logika formal. Warren McCulloch dan Walter Pitts menerbitkan "Kalkulus Logis Gagasan yang tetap ada dalam Aktivitas " pada 1943 yang meletakkan pondasi untuk jaringan syaraf.
Tahun 1950-an adalah periode usaha aktif dalam AI. Program AI pertama yang bekerja ditulis pada 1951 untuk menjalankan mesin Ferranti Mark I di University of Manchester (UK): sebuah program permainan naskah yang ditulis oleh Christopher Strachey dan program permainan catur yang ditulis oleh Dietrich Prinz. John McCarthy membuat istilah "kecerdasan buatan " pada konferensi pertama yang disediakan untuk pokok persoalan ini, pada 1956. Dia juga menemukan bahasa pemrograman Lisp. Alan Turing memperkenalkan "Turing test" sebagai sebuah cara untuk mengoperasionalkan test perilaku cerdas. Joseph Weizenbaum membangun ELIZA, sebuah chatterbot yang menerapkan psikoterapi Rogerian.
Selama tahun 1960-an dan 1970-an, Joel Moses mendemonstrasikan kekuatan pertimbangan simbolis untuk mengintegrasikan masalah di dalam program Macsyma, program berbasis pengetahuan yang sukses pertama kali dalam bidang matematika. Marvin Minsky dan Seymour Papert menerbitkan Perceptrons, yang mendemostrasikan batas jaringan syaraf sederhana dan Alain Colmerauer mengembangkan bahasa komputer Prolog. Ted Shortliffe mendemonstrasikan kekuatan sistem berbasis aturan untuk representasi pengetahuan dan inferensi dalam diagnosa dan terapi medis yang kadangkala disebut sebagai sistem pakar pertama. Hans Moravec mengembangkan kendaraan terkendali komputer pertama untuk mengatasi jalan berintang yang kusut secara mandiri.
Pada tahun 1980-an, jaringan syaraf digunakan secara meluas dengan algoritma perambatan balik, pertama kali diterangkan oleh Paul John Werbos pada 1974. Pada tahun 1982, para ahli fisika seperti Hopfield menggunakan teknik-teknik statistika untuk menganalisis sifat-sifat penyimpanan dan optimasi pada jaringan syaraf. Para ahli psikologi, David Rumelhart dan Geoff Hinton, melanjutkan penelitian mengenai model jaringan syaraf pada memori. Pada tahun 1985-an sedikitnya empat kelompok riset menemukan kembali algoritma pembelajaran propagansi balik (Back-Propagation learning). Algoritma ini berhasil diimplementasikan ke dalam ilmu komputer dan psikologi. Tahun 1990-an ditandai perolehan besar dalam berbagai bidang AI dan demonstrasi berbagai macam aplikasi. Lebih khusus Deep Blue, sebuah komputer permainan catur, mengalahkan Garry Kasparov dalam sebuah pertandingan 6 game yang terkenal pada tahun 1997. DARPA menyatakan bahwa biaya yang disimpan melalui penerapan metode AI untuk unit penjadwalan dalam Perang Teluk pertama telah mengganti seluruh investasi dalam penelitian AI sejak tahun 1950 pada pemerintah AS.
Tantangan Hebat DARPA, yang dimulai pada 2004 dan berlanjut hingga hari ini, adalah sebuah pacuan untuk hadiah $2 juta dimana kendaraan dikemudikan sendiri tanpa komunikasi dengan manusia, menggunakan GPS, komputer dan susunan sensor yang canggih, melintasi beberapa ratus mil daerah gurun yang menantang.
Pengenalan Intelligent Agents
Pengertian sebuah AGENT adalah segala sesuatu yang dapat dipandang sebagaimana mengamati lingkungannya melalui sensor dan bertindak atas lingkungan yang melalui efektor. Agen manusia memiliki mata, telinga, dan organ lain untuk sensor, dan tangan, kaki, mulut, dan bagian tubuh lainnya untuk efektor. Sebuah pengganti agen robot kamera dan berbagai pencari inframerah untuk sensor dan berbagai motor untuk efektor. Dapat digambarkan secara sederhana sebagai berikut:
Dalam kecerdasan buatan, intelligent agent (IA) adalah sebuah entitas otonom yang mengamati dan bertindak atas lingkungan (yaitu membutuhkan agen) dan mengarahkan aktivitasnya untuk mencapai tujuan yaitu rasional. Intelligent agen juga dapat belajar atau menggunakan pengetahuan untuk mencapai tujuan mereka. Russell & Norvig (2003) mengartikan Rational Agent yang mengerjakan segala sesuatu hal dengan benar. Agen Intelligent menurut Nikola Kasabov adalah bahwa Agent harus menunjukkan karakteristik berikut.:
· mengakomodasi pemecahan masalah baru aturan bertahap
· beradaptasi online dan real time
· mampu menganalisis sendiri dalam hal perilaku, kesalahan dan kesuksesan.
· belajar dan meningkatkan melalui interaksi dengan lingkungan (perwujudan)
· belajar dengan cepat dari sejumlah besar data
· memiliki penyimpanan memori berbasis contoh dan kapasitas pengambilan
· memiliki parameter untuk mewakili umur pendek dan jangka panjang memori
PEAS adalah singkatan dari Performance Measure, Environment, Actuators, dan Sensor. Dimana harus dispesifikasikan terlebih dahulu mengenai rancangan intelligent agent.
Misalkan untuk task yang didesain untuk agent pengemudi taksi otomatis:
Performance Measure: Aman, Cepat, Legal, Perjalanan yang nyaman, Keuntungan Maksimal
Environment : Jalan, Lalu lintas kendaraan lain, Pejalan kaki, Pelanggan
Actuators: Setir, Akselerator, Rem, Lampu Sinyal, Klakson
Sensors: Kamera, Sonar, Spedometer, GPS, odometer, sensor mesin, keyboard
Environment (Lingkungan)
Lingkungan sangat lah penting dalam proses perancangan sebuah agent. Hal ini dikarenakan setiap tindakan yang akan dilakukan oleh agent harus mempertimbangkan kondisi lingkungan. Terdapat beberapa kriteria pembegian lingkungan.
- Accessible (dapat diakses) : Jika sensor agent dapat mendeteksi semua keadaan lingkungan, terutama yang berhubungan dengan pengambilan keputusan.
- Deterministic : Merupakan suatu lingkungan dimana lingkungan yang akan dating ditentukan oleh keadaan saat ini dan setiap aksi yang dilakukan oleh agen saat ini.
- Dynamic : Suatu lingkungan yang keadaanya selalu berubah-ubah.
- Discrete (diskrit) : Keadaan dimana lingkungan saat ini dapat digambarkan dengan pasti, dengan tingkat kesalahan seminimal mungkin.
Tipe Agent
- Simple Reflex Agents
Gambar diatas menunjukkan struktur Simple reflex agent, struktur yang paling sederhana dalam bentuk skema, menunjukkan bagaimana aturan condition action memungkinkan agen untuk membuat sambungan dari persepsi untuk bertindak. Persegi panjang untuk menunjukkan keadaan internal saat proses keputusan agen, dan oval untuk mewakili latar belakang informasi yang digunakan dalam proses. Secara ringkat dapat disampaikan sebagai berikut:
· Memiliki rule base dalam bentuk "aksi-kondisi"
· Memiliki komponen untuk mengekstrak Fitur
· Tidak ada akses untuk menyelesaikan keadaan dunia
· Pekerjaan hanya jika keputusan yang tepat dapat dilakukan atas dasar persepsi saat ini
- Model Based Reflex Agent
Pengetahuan tentang "bagaimana dunia bekerja" disebut model dari dunia, maka bentuk ini dinamakan "model based reflex agent". Sebuah model based reflex agent harus menjaga semacam internal model yang tergantung pada sejarah persepsi dan dengan demikian mencerminkan setidaknya beberapa aspek yang tidak teramati negara saat ini. Kemudian memilih tindakan dengan cara yang sama sebagai agen refleks. Model ini lebih kuat daripada simple reflex agent
- Goal-Based Agents
Goal based agents memperluas pada kemampuan model-based agents, dengan menggunakan "goal" informasi. Tujuan informasi menggambarkan kondisi yang diinginkan. Hal ini memungkinkan agen cara untuk memilih di antara beberapa kemungkinan, memilih satu yang mencapai negara tujuan. Search dan planing adalah sub bidang kecerdasan buatan yang ditujukan untuk urutan tindakan menemukan bahwa mencapai tujuan agen. Dalam beberapa kasus goal-based agent tampaknya kurang efisien; itu lebih fleksibel karena pengetahuan yang mendukung keputusan diwakili secara eksplisit dan dapat dimodifikasi.
- Utility-Based Agents
“Goal” tidak cukup untuk menghasilkan perilaku berkualitas tinggi. Ada banyak urutan tindakan untuk mencapai tujuan, tetapi beberapa yang lebih cepat, lebih aman, lebih dapat diandalkan, atau lebih murah daripada yang lain. Tujuan hanya memberikan perbedaan antara kondisi "bahagia" dan "tidak bahagia", sedangkan ukuran kinerja yang lebih umum harus memungkinkan perbandingan beberapa urutan kondisi yang berbeda jika agen ingin mencapai tujuan. Terminologi yang dipergunakan untuk mengatakan bahwa jika satu kondisi lebih disukai daripada kondisi yang lain, itu mempunyai utilitas yang lebih tinggi untuk agent.
Pengenalan Logical Agents
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
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.
Wumpus World
Salah satu contoh aplikasi agen yang terkenal dari dunia kecerdasan buatan adalah "Dunia Wumpus“. Dunia Wumpus terdiri atas kotak-kotak mirip papan catur, di mana di situ terdapat sejumlah sumur, Wumpus, dan emas. Wumpus adalah seekor monster yang akan memakan si agen jika tertangkap. Untuk mengetahui apakah si agen mendekati sumur, Wumpus atau emas, dia bisa mendeteksi dari dunia kotak di sekitarnya. Jika ada angin semilir, berarti di sebelah kotak ada sumur. Jika ada bau menyengat, berarti agen mendekati Wumpus. Jika ada kemilau, berarti di kotak itu ada emas. Tujuan dari agen di sini adalah mengambil emas dan membunuh Wumpus. Beberapa tujuan tambahan bisa ditambahkan, misal kembali ke tempat asal dengan selamat.
Teknologi agen, menyerupai kemampuan manusia. Dia dikaruniai indra untuk bisa merasa/melihat/membau, bisa mendapatkan dan mengelola pengetahuan, dan bisa melakukan aksi. Jika agen melakukan tugasnya dengan baik, sesuai dengan spesifikasi tugasnya, maka ia akan mendapatkan tujuannya, meraih emas dan membunuh Wumpus. Demikian juga manusia, mempunyai spesifikasi tugas yang jelas dari penciptanya, yaitu untuk menyembah Sang Pencipta. Caranya bisa bermacam-macam sesuai dengan pengalaman yang didapatkan serta pengetahuan yang dicerap oleh manusia. Jika salah melaksanakan tugas tidak sesuai spesifikasi, agen bisa terjatuh dalam sumur yang dalam atau dimakan oleh Wumpus, manusia bisa masuk ke jurang kesesatan atau berakhir di neraka. Jika mengerjakan tugas dengan baik sesuai spesifikasi, agen akan mendapatkan emas, sementara manusia bisa masuk ke surga.
Logika Formal
Logika formal adalah salah satu bahasa untuk merepresentasikan informasi sehingga kesimpulan dapat diambil,
Sintaks mendefinisikan kalimat dalam bahasa. Semantik mendefinisikan “arti” dari kalimat (kebenaran dari kalimat tersebut di dunia nyata)
- Inferensi adalah proses penalaran yang kesimpulannya dijamin benar dalam dunia/realitas di mana basis pengetahuan yang digunakan benar.
- Jika KB benar di dunia nyata, maka setiap kalimat a yang diturunkan dari KB dengan metode inferensi yang sound juga benar di dunia nyata.
- Jadi proses inferensi berkorespondensi langsung dengan hubungan yang terjadi di dunia nyata.
Metode Pencarian dan
Pelacakan 1
Hal penting dalam menentukan keberhasilan sistem berdasarkan kecerdasanadalah dalam pencarian dan pencocokan. Pada dasarnya ada 2 teknik pencarian danpelacakan yang digunakan, yaitu pencarian buta (blind search) dan pencarian terbimbing (heuristic search).
1. Pencarian Buta (Blind Search)
- Pencarian Melebar Pertama (Breadth-First Search)
Pada metode Breadth-First Search, semua node pada level n akan dikunjungiterlebih dahulu sebelum level n+1. Pencarian dimulai dari akar terus ke level 1 darikiri ke kanan, kemudian ke level selanjutnya hingga solusi ditemukan
Algoritma
1. Buat suatu variabel Node_List dan tetapkan sebagai keadaan awal.
2. Kerjakan langkah-langkah berikut ini sampai tujuan tercapai atau Node_Listdalam keadaan kosong:
•Hapus elemen pertama dari Node_List, sebut dengan nama C. Jika Node_Listkosong, keluar.
•Pada setiap langkah yang aturannya cocok dengan C, kerjakan :
- Aplikasi aturan tersebut untuk membentuk suatu keadaan baru.
- Jika keadaan awal adalah tujuan yang diharapkan,sukses dan keluar.
- Jika tidak demikian, tambahkan keadaan awal yangbaru tersebut pada akhir Node_List.
Keuntungan
Tidak akan menemui jalan buntu.2. Menjamin ditemukannya solusi (jika solusinyamemang ada) dan solusi yang ditemukan pasti yang paling baik.3. Jika ada satu solusi maka bread-first searchakan menemukannya.
Kelemahannya
Membutuhkan memori yang cukup banyak.2. Membutuhkan waktu yang cukup lama karena akan menguji n level untuk mendapatkan solusi pada level yang ke-(n+1)
- Pencarian mendalam pertama (Depth-First Search)
Proses pencarian dilakukan pada semua anaknya sebelum dilakukan pencarianke node-node yang selevel. Pencarian dimulai dari node akar ke level yang lebihtinggi. Proses ini diulangi terus hingga ditemukannya solusi
Algoritma
1. Jika keadaan awal merupakan tujuan, keluar (sukses).
2. Jika tidak demikian, kerjakan langkah-langkah berikut ini sampai tercapaikeadaan sukses atau gagal.
•Bangkitkan successor C dari keadaan awal. Jika tidak ada successor,maka akan terjadi kegagalan.
•Panggil depth-first search dengan C sebagai keadaan awal.
•Jika sukses berikan tanda sukses. Namun jika tidak, ulangi langkah-2
Keuntungan
1. Memori relatif kecil
2. Secara kebetulan, akan menemukan solusi tanpa harus menguji lebih banyak lagi.
Kelemahan
1. Memungkinkan tidak ditemukannya tujuan yang diharapkan.
2. Hanya akan mendapatkan 1 solusi pada setiap pencarian
2. Pencarian Heuristik (Heuristic Search)
Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namum dengan kemungkinan mengorbankan kelengkapan (completeness).
Fungsi heuristik digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.
Jenis-jenis Heuristic Searching:
– Generate and Test.
– Hill Climbing.
– Best First Search.
– Means-EndAnlysis, Constraint Satisfaction, dll.
- Pembangkitan dan Pengujian (Generate and Test)
Metode ini merupakan penggabungan antara depth-first search dengan pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan awal.
Algoritma :
1. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu tititk tertentu atau lintasan tertentu dari keadaan awal).
2. Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node terebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.
3. Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah pertama.
Contoh : “Travelling Salesman Problem (TSP)”
*) Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui ruter terpendek dimana setaip kota hanya boleh dikkunjungi tepat 1 kali. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti berikut ini :
Alur pencarian dengan Generate and Test
Pencarian ke-
|
Lintasan
|
Panjang Lintasan
|
Lintasan terpilih
|
Panjang Lintasan terpilih
|
1
|
ABCD
|
19
|
ABCD
|
19
|
2
|
ABDC
|
18
|
ABDC
|
18
|
3
|
ACBD
|
12
|
ACBD
|
12
|
4
|
ACDB
|
13
|
ACBD
|
12
|
5
|
ADBC
|
16
|
ACBD
|
12
|
Dst…..
|
- Pendakian Bukit (Hill Climbing)
Metode ini hampir sama dengan metode pembangkitan dan pengujian, hanya saja proses pengujian dilakukan dengan menggunakan fungsi heuristic. Pembangkitan keadaan berikutnya tergantung pada feedback dari prosedur pengetesan. Tes yang berupa fungsi heuristic ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnyayang mungkin.
Algoritma:
1. Cari operator yang belum pernah digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru.
a) Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai tidak ada operator baru yang akan diaplikasikan pada keadaan sekarang : Cari operator yang belum digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru.
b) 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.
Contoh: TSP dengan Simple Hill Climbing Disini ruang keadaan berisi semua kemungkinan lintasan yang mungkin. Operator digunakan untuk menukar posisi kota-kota yang bersebelahan. Apabila ada n kota, dan kita ingin mencari kombinasi lintasan dengan menukar posisi urutan 2 kota, maka kita akan mendapatkan sebanyak n!/2!(n-2)! atau sebanyak 6 kombinasi. Fungsi heuristic yang digunakan adalah panjang lintasan yang terjadi.
SOURCE
yawloh
BalasHapus