Kamis, 17 Maret 2016

PENGERTIAN DAN SEJARAH KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)

Definisi Kecerdasan Buatan 
Bisakah mesin berpikir?  Jika bisa, bagaimana caranya? Dan jika tidak bisa, kenapa tidak? Dan apa yang dikatakan sebagai pikiran (mind)?
Arti kecerdasan adalah kemampuan untuk:
1.  Belajar atau mengerti dari pengalaman, 
2.  Memahami pesan yang kontradiktif dan ambigu,
3.  Menanggapi dengan cepat dan baik atas situasi yang baru,
4.  Menggunakan penalaran dalam memecahkan masalah serta menyelesaikannya dengan efektif (Winston dan Pendergast, 1994)
Apa itu AI?
Merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal - yang dalam pandangan manusia adalah – cerdas (H. A. Simon [1987]).
Sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia (Rich and Kinight [1991]).
Kategori Definisi AI
Dikelompokkan menjadi 4 macam :
  1. Detail Kecerdasan Buatan
Sudut Pandang Kecerdasan, Kecerdasan buatan mampu membuat mesin menjadi cerdas (berbuat seperti yang dilakukan manusia).
Sudut Pandang Penelitian, Kecerdasan buatan adalah studi bagaimana membuat komputer dapat melakukan sesuatu sebaik yang dilakukan manusia.
Sudut Pandang Bisnis, Kecerdasan buatan adalah kumpulan peralatan yang sangat powerful dan metodologis dalam menyelesaikan masalah bisnis.
Sudut Pandang Pemrogram, Kecerdasan buatan meliputi studi tentang pemrograman simbolik, problem solving, dan pencarian (searching).


  1. Bagian Utama AI
Basis Pengetahuan (knowledge base), berisi fakta-fakta, teori, pemikiran dan hubungan komponen satu dengan yang lainnya.
Motor Inferensi (inference engine), Kemampuan menarik kesimpulan berdasar pengalaman. Berkaitan dengan representasi dan duplikasi proses tersebut melalui mesin (misalnya, komputer dan robot).
  1. Konsep Kecerdasan Buatan
Turing Test, Metode Pengujian Kecerdasan (Alan Turing). Proses uji ini melibatkan seorang penanya (manusia) dan dua obyek yang ditanyai.
Pemrosesan Simbolik, Sifat penting dari AI adalah bahwa AI merupakan bagian dari ilmu komputer yang melakukan proses secara simbolik dan non-algoritmik dalam penyelesain masalah.
Heuristic, Suatu strategi untuk melakukan proses pencarian (search) ruang problem secara efektif, yang memandu proses pencarian yang kita lakukan di sepanjang jalur yang memiliki kemungkinan sukses paling besar.
 Inferensi (Penarikan Kesimpulan) à AI mencoba membuat mesin memiliki kemampuan berpikir atau mempertimbangkan (reasoning), termasuk didalamnya proses (inferencing) berdasarkan fakta-fakta dan aturan dengan menggunakan metode heuristik, dll.
Pencocokan Pola (Pattern Matching) à Berusaha untuk menjelaskan obyek, kejadian (events) atau proses, dalam hubungan logik atau komputasional.
  1. “State of the Art” AI
Deep Blue mengalahkan Kasparov, juara dunia Catur.
PEGASUS, suatu sistem memahami ucapan yang mampu menangani transaksi seperti mendapatkan informasi tiket udara termurah.
MARVEL: suatu sistem pakar real-time memonitor arus data dari pesawat Voyager dan setiap anomali sinyal.
Sistem robot mengemudikan sebuah mobil dengan kecepatan yang cepat pada jalan raya umum.
Suatu diagnostik sistem pakar sedang mengkoreksi hasil diagnosis pakar yang sudah punya reputasi.
Agent pintar untuk bermacam-macam domain yang bertambah pada laju yang sangat tinggi .
Subjek materi pakar mengajar suatu learning agent penalarannya dalam pusat penentuan gravitasi.

Tujuan Kecerdasan Buatan
-          Membuat komputer lebih cerdas
-          Mengerti tentang kecerdasan
-          Membuat mesin lebih berguna
-          Kecerdasan Buatan VS Kecerdasan Alami
-          Perbedaan Kecerdasan Buatan dengan Kecerdasan Alami
-          Lebih permanen
-          Menawarkan kemudahan duplikasi dan penyebaran
-          Lebih murah daripada kecerdasan alami
-          Konsisten dan menyeluruh
-          Dapat didokumentasikan
-          Dapat mengeksekusi tugas tertentu lebih cepat daripada manusia
-          Dapat menjalankan tugas tertentu lebih baik dari banyak atau kebanyakan orang.

Kelebihan Kecerdasan Alami dibanding AI
-          Bersifat lebih kreatif
-          Dapat melakukan proses pembelajaran secara langsung, sementara AI harus mendapatkan masukan berupa simbol dan representasi-representasi
-          Menggunakan fokus yang luas sebagai referensi untuk pengambilan keputusan. Sebaliknya, AI menggunakan fokus yang sempit








SEJARAH KECERDASAN BUATAN
                                           
Perkembangan dan Aplikasinya
Jaman “batu” (1943-1956)
Awal kerja JST dan logika
Teori Logika (Alan Newell and Herbert Simon)
Kelahiran AI: Dartmouth workshop - summer 1956
John McCarthy’s memberi nama bidang: artificial intelligence
Awal antusias, harapan besar (1952-1969)
McCarthy (1958)
- mendefinisikan Lisp
- menemukan time-sharing
- Advice Taker
Pembelajaran tanpa pengetahuan
Pemodelan JST
Pembelajaran Evolusioner
Samuel’s checkers player: pembelajaran
Metode resolusi Robinson.
Minsky: the microworlds (e.g. the block’s world).
Banyak demonstrasi kecil ttg perilaku “intelligent”
Prediksi over-optimistic Simon
Masa Gelap (1966-1973)
AI tidak mengalami perkembangan: ledakan perkembangan combinatorial
Fakta bahwa suatu program bisa mendapatkan suatu solusi secara prinsip tidak berarti bahwa program memuat beberapa mekanisme yang dibutuhkan untuk mendapatkannya secara praktis.
Kegagalan dari pendekatan terjemahan bahasa alami berbasis pada grammars sederhana dan kamus kata.
Penterjemahan kembali yang populer   English->Russian->English
Penemuan untuk pemrosesan bahasa natural dihentikan.
Kegagalan perceptron untuk belajar dari fungsi sederhana sebagaimana disjunctive/eksclusive OR.
Penelitian pada JST dihentikan.
Realisasi dari kesukaran dalam proses learning dan keterbatasan dari metode yang dieksplorasi
Konsep pembelajaran simbolik (Winston’s influential thesis, 1972)
Renaissance (1969-1979)
Perubahan pada paradigma penyelesaian:
Dari penyelesaian masalah berbasis “search-based” menjadi  penyelesaian masalah berbasis pengetahuan.

Sistem Pakar Pertama
Dendral: menginferensi struktur molecular dari informasi yang disediakan oleh spektrometer massa.
Mycin: diagnoses blood infections
Prospector: merekomendasikan eksplorasi pengeboran pada lokasi geologi yang menyediakan suatu deposit mineral  molybdenum.

Era Industrial (1980-sekarang)
Sukses pertama Sistem Pakar secara komersial.The Many AI companies.
Eksplorasi dari strategi pembelajarqan yqang bermacam-macam (Explanation-based learning, Case-based Reasoning, Genetic algorithms, Neural networks, etc.)






Kembalinya Neural Networks (1986-sekarang)
Penggalian kembali algoritma learning back propagation untuk neural networks yang pertama dikenalkan dalam tahun 1969 oleh Bryson and Ho.
Banyak aplikasi sukses dari Neural Networks.
Kehilangan respek terhadap sulitnya membangun sistem pakar (macetnya knowledge acquisition).

Kematangan (1987-sekarang)
Perubahan dalam cakupan dan metodologi penelitian bidang Kecerdasan Buatan:
Membangun di atas teori yang ada, bukan cuma mengusulkan teori baru;
berbasis klaim pada theorema dan eksperimen, bukan pada intuisi;
 menunjukkan relevansi ke aplikasi nyata, bukan pada contoh “mainan”.

Agent Cerdas (1995-sekarang)
Realisasi yang pada mulanya dipisahkan dalam sub dari Kecerdasan Buatan (speech recognition, problem solving and planning, robotics, computer vision, machine learning, knowledge representation, etc.) perlu direorganisasi bilamana hasil-hasilnya diikat bersama-sama kedalam suatu desain agent tunggal.
Suatu proses reintegrasi dari sub-area yang berbeda dari KB untuk membentuk “whole agent”:
 “agent perspective” of AI
agent architectures (e.g. SOAR, Disciple);
 multi-agent systems;
 agent untuk aplikasi tipe-tipe yang berbeda, web agents.
Domain Yang Sering Dibahas
 Mundane Task
                - Persepsi (vision & speech)
                - Bahasa alami (understanding, generation & translation)
                - Pemikiran yang bersifat commonsense
                - Robot control
 Formal Task
                - Permainan / Games
                - Matematika (Geometri, logika, kalkulus integral, pembuktian)
Expert Task
                - Analisis finansial
                - Analisis medikal
                - Analisis ilmu pengetahuan
                - Rekayasa (design, pencarian kegagalan, perencanaan
                  manufaktur)
 
Summary
Kecerdasan buatan terdiri dari knowledge base dan motor inference
Digunakan untuk membantu menyelesaikan permasalahan manusia
Kecerdasan buatan mengalami perkembangan terus menerus sampai saat ini
Semakin banyak objek yang mampu diselesaikan oleh Kecerdasan buatan
Kecerdasan Buatan di ciptakan untuk memecahkan masalah di berbagai bidang yaitu :
Masalah AI adalah masalah yang dapat dikonversikan kedalam ruang keadaan ( Ruang Masalah ) , mempunyai keadaan awal ( Initial State) , dan keadaan akhir (Goal).
*Mendeskripsikan Masalah
*Mendefinisikan suatu ruang masalah      
*Menetapkan satu/lebih ruang masalah      
*Menetapkan satu/lebih tujuan      
*Menetapkan kumpulan aturan


Ruang Keadaan
  Yaitu suatu ruang yang berisi semua keadaan yang mungkin.
Keadaan Awal
  Keadaan dimulainya pencarian
Keadaan Akhir/Goal
  Keadaan diakhirinya suatu pencarian
Kumpulan Aturan
  Aturan yang dapat digunakan untuk mengubah suatu keadaan(state)ke keadaan lainya
itulah penjelasan singkat namun padat , adapun penjelasan lainya yaitu:

ANALISA TEKNIK SEARCHING DALAM ARTIFICIAL INTELLIGENCE
Pada moment kali ini kita akan coba belajar tentang metode searching dalam Artificial Intelligence :-)
Searching di dalam AI (Artificial Intelligence) adalah salah satu motode penyelesaian masalah dengan pencarian solusi pada suatu permasalahan yang dihadapi.
Teknik searching sendiri terbagi menjadi dua, yaitu:
1.      Blind Searching
            Blind Searching adalah model pencarian buta atau pencarian yang tidak memiliki inforamasi awal, model pencarian ini memiliki tiga ciri – ciri utama yaitu:
- Membangkitkan simpul berdasarkan urutan
- Kalau ada solusi maka solusi akan ditemukan
- Hanya memiliki informasi tentang node yang telah dibuka (node selanjutnya tidak diketahui).
Blind Searching sendiri dibagi menjadi tiga macam yaitu :
1.1.BFS (Breadth First Search)
            Breadth First Search yaitu model pencarian yang memakai metode melebar. Untuk mencari hasilnya, model BFS ini menggunakan teknik pencarian persoalannya dengan cara membuka node (titik) pada tiap levelnya.
Lebih jelasnya dapat dilihat pada gambar dibawah ini :

Dalam persoalan pada gambar di atas, urutan node yang dilalui pada pencaian BFS adalah a, b, c, d, e, f, g, h. Seperti pada gambar di bawah ini.
 1.2.DFS (Depth-first Search)
DFS (Depth-first Search) sering disebut juga pencarian mendalam. Sesuai dengan namanya “pencarian mendalam”, DFS tidak mencari solusi per level, namun mencari pada kedalaman sebelah kiri terlebih dahulu, kemudian bila belum ditemuakn “goal”nya dilanjutkan ke sisi sebelah kanan dan seterusnya sampai ditemukan target/goal.
Dengan menggunakan permasalahan yang sama dengan penjelasan di awal tadi, maka pada model DFS akan di dapatkan solusi seperti gambar di bawah ini.
 Jadi, solusi node yang di lalui pada DFS adalah a,b,e,h.
DFS memiliki beberapa keuntungan,yaitu memori yang di gunakan tidak terlalu banyak karena tidak membuka semua node.
1.3.UCS (Uniform Cost Search)
UCS (Uniform Sost Search) adalah perpaduan antara BFS dan DFS. Pada UCS, teknik pencariannya memperhatikan cost/jarak antara 1 node ke node lain.
Berikut ini adalah ilustrasinya :
Pada permasalahan diatas telah ditentukan jarak antara node. Maka pada model UCS, teknik yang akan dilakukan adalah membuka node yang memiliki nilai/cost antar node yang terendah.
pada gambar diatas jika kita buka :
c = 10
b = 20
a = 10
Karena nilai c dan a sama maka teserah mau membuka yang mana lebih dahulu.
Seandainya kita membuka c maka kita teruskan pencariannya, lalu kita buka :
d = 10+5 =15
e = 10+40 = 50 (mencapai goal, namun nilai cost nya dirasa masih terlalu besar)
Maka kita buka node d, lalu akan diperoleh hasil :
e = 10+5+30 = 45 (nilai pada pencarian ini pun terasa masih terlau besar) maka dari itu kita buka node yang kecil di awal tadi yaitu node a.
Setelah kita buka node a, maka akan di dapat hasil :
e = 10 + 20 = 30 (di dapatkan goal dengan solusi terbaik)
Dari kasus diatas, dapat kita lihat bahwa ada banyak cara unuk mendapatkan solusi. Namun dari berbagai macam penyelesaian kasus, kita dapat mencari solusi yang paling optimal dan ini lah ke unggulan dari model UCS.
2. Heuristic Searching
Heuristic Search merupakan metode pencarian yang memperhatikan nilai heuristik (nilai perkiraan).
Teknik pencarian heuristik (heuristic searching) merupakan suatu strategi untuk melakukan proses pencarian ruang keadaan (state space) suatu problema secara selektif, yang memandu proses pencarian yang kita lakukan di sepanjang jalur yang memiliki kemungkinan sukses paling besar, dan mengesampingkan usaha yang bodoh dan memboroskan waktu.
Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namun dengan kemungkinan mengorbankan kelengkapan (completeness).
            Heuristic Search memperkirakan jarak menuju Goal (yang disebut dengan fungsi heuristik).
Fungsi heuristik ini 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
Alpha Beta Prunning
Means-End-Anlysis
Constraint Satisfaction
Kali ini yang akan dibahas adalah metode Generate and Test, Hill Climbing dan Best First Search. Karena ketiga metode tersebut adalah metode Heursistic Searching yang paling sering digunakan dan paling optimal hasilnya.
2.1.Generate and Test
Strategi bangkitkan dan uji (generate and test) merupakan pendekatan yang paling sederhana dari semua pendekatan yang akan dibicarakan.
Pendekatan ini meliputi langkah–langkah sebagai berikut :
Buatlah/bangkitkan sebuah solusi yang memungkinkan. Untuk sebuah problema hal ini dapat berarti pembuatan sebuah titik khusus dalam ruang problema.
Lakukan pengujian untuk melihat apakah solusi yang dibuat benar–benar merupakan sebuah solusi, dengan cara membandingkan titik khusus tersebut dengan goal-nya (solusi).
Jika telah diperoleh sebuah solusi, langkah – langkah tersebut dapat dihentikan. Jika belum, kembalilah ke langkah pertama.
Jika pembangkitan atau pembuatan solusi – solusi yang dimungkinkan dapat dilakukan secara sistematis, maka prosedur ini akan dapat segera menemukan solusinya (bila ada).  Namun, jika ruang problema sangat besar, maka proses ini akan membutuhkan waktu yang lama.
Metode generate and test ini memang kurang efisien untuk masalah yang besar atau kompleks.
2.2.Hill Climbing
Hill Climbing (mendaki bukit) merupakan salah satu variasi metode buat dan uji (generate and test) dimana umpan balik yang berasal dari prosedur uji digunakan untuk memutuskan arah gerak dalam ruang pencarian (search).
Dalam prosedur buat dan uji yang murni, respon fungsi uji hanyalah ya atau tidak. Dalam prosedurHill Climbing, fungsi uji dikombinasikan dengan fungsi heuristik yang menyediakan pengukuran kedekatan suatu keadaan yang diberikan dengan tujuan (goal).
Prosedur Hill Climbing :
Buatlah solusi usulan pertama dengan cara yang sama seperti yang dilakukan dalam prosedur buat dan uji (generate and test). Periksalah apakah solusi usulan itu merupakan sebuah solusi. Jika ya, berhentilah. Jika tidak, kita lanjutkan ke langkah berikutnya.
Dari solusi ini, terapkan sejumlah aturan yang dapat diterapkan untuk membuat sekumpulan solusi usulan yang baru.
Untuk setiap elemen kumpulan solusi tersebut, lakukanlah hal-hal berikut ini :
Kirimkanlah elemen ini ke fungsi uji. Jika elemen ini merupakan sebuah solusi, berhentilah.
Jika tidak, periksalah apakah elemen ini merupakan yang terdekat dengan solusi yang telah diuji sejauh ini. Jika tidak, buanglah.
Ambilah elemen terbaik yang ditemukan di atas dan pakailah sebagai solusi usulan berikutnya. Langkah ini bersesuaian dengan langkah dalam ruang problema dengan arah yang muncul sebagai yang tercepat dalam mencapai tujuan.
Kembalilah ke langkah 2.
Masalah-masalah yang mungkin timbul pada prosedur Hill Climbing :
-          Maksimum lokal adalah suatu keadaan yang lebih baik daripada semua tetangganya namun masih belum lebih baik dari suatu keadaan lain yang jauh letaknya darinya.
-          Daratan  (Plateau) adalah suatu daerah datar dari ruang pencarian (search) dimana semua himpunan keadaan tetangganya memiliki nilai yang sama.
-          Punggung (Ridge) adalah suatu daerah ruang pencarian (search) yang lebih tinggi daripada daerah sekitarnya, namun tidak dapat dibalikkan oleh langkah–langkah tunggal ke arah manapun.
Solusinya:
-          Melakukan langkah balik (backtracking) ke simpul yang lebih awal dan mencoba bergerak ke arah yang lain.
-          Melakukan lompatan besar ke suatu arah untuk mencoba bagian ruang pencarian yang baru.
-          Menerapkan dua atau lebih aturan sebelum melakukan uji coba. Ini bersesuaian dengan bergerak ke beberapa arah sekaligus.
2.3.Best First Search
Pencarian terbaik pertama (Best First Search) merupakan suatu cara yang menggabungkan keuntungan atau kelebihan dari pencarian Breadth-First Search dan Depth-First Search.
Pada setiap langkah proses pencarian terbaik pertama, kita memilih node-node dengan menerapkan fungsi heuristik yang memadai pada setiap node/simpul yang kita pilih dengan menggunakan aturan-aturan tertentu untuk menghasilkan penggantinya.
Fungsi Heuristik yang digunakan merupakan prakiraan (estimasi) cost dari initial state ke goal state, yang dinyatakan dengan :
f’ = g + h’

dimana f’ = prakiraan cost dari initial ke goal
g = cost dari initial state ke current state
h’ = prakiraan cost dari current state ke goal state
Terdapat dua jenis algoritma Best First Search, yaitu:
-          Greddy Best yang hanya memperhitungkan biaya perkiraan saja.
-          A* yang memperhitungkan gabungan dua biaya, biaya sebenarnya dan biaya perkiraan.

1.      Greddy Best
Greedy Best First Search hanya memperhitungkan biaya perkiraan (estimated cost) saja, yakni:
f(n) = h(n)
dimana h(n)= perkiraan biaya dari simpul n ke goal.
Biaya yang sebenarnya (actual cost) tidak diperhitungkan. Dengan hanya memperhitungkan biaya perkiraan yang belum tentu kebenarannya maka algoritma ini menjadi tidak optimal.
Algoritma greddy best ini membentuk solusi langkah per langkah (step by step). Pada setiap langkah, terdapat banyak pilihan yang perlu dieksplorasi. Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan.
2.      A*
Algoritma ini merupakan algoritma Best First Search yang menggabungkan Uniform Cost Search danGreddy Best First Search.
Algoritma ini memperhitungkan biaya dari biaya sebenarnya ditambah dengan biaya perkiraan.
Dalam notasi matematika dituliskan sebagai:
f(n) = g(n) + h(n)
g(n) = biaya sebenarnya untuk mencapai simpul n
h(n) = perkiraan biaya dari simpul n ke goal.
f(n) = perkiraan total biaya jalur yang melalui simpul n ke goal.
Dengan perhitungan biaya seperti ini, algoritma A* adalah complete dan optimal.
3.      Kesimpulan
Berikut ini adalah Tabel Identifikasi dan Analisa tentang perbandingan Teknik Searching.
No       Teknik Searching        Space  
Time
Completeness  Optimility
1.         Blind Searching          BFS     Sedikit Lama   Lengkap          Kurang
DFS     Sedikit Cepat   Kurang            Kurang
UCS    Sedikit Lama   Kurang            Kurang
2.         Heuristic Searching    
Generate & Test
Cukup Lama   Kurang            Cukup Optimal
Hill Climbing  Cukup Cepat   Lengkap          Cukup Optimal
Best First Search
Cukup Cepat  
Lengkap dan Jelas
Sangat Optimal

Di dalam ilmu komputer, banyak ahli yang berkonsentrasi pada pengembangan kecerdasan buatan atau Artificial Intelligence (AI).
Banyak implementasi kecerdasan buatan dalam bidang komputer, antara lain adalah Decision Support System (Sistem Pendukung Keputusan), Robotic, Natural Language (Bahasa Alami), Neural Network (Jaringan Saraf) dan lain-lain.
Pengertian kecerdasan buatan yaitu suatu studi khusus di mana tujuannya adalah membuat komputer berpikir dan bertindak seperti manusia.
Contoh bidang lain pengembangan kecerdasan buatan adalah sistem pakar yang menggabungkan pengetahuan dan penelusuran data untuk memecahkan masalah yang secara normal memerlukan keahlian manusia. Tujuan dari pengembangan sistem pakar sebenarnya bukan untuk menggantikan peran manusia, tetapi untuk mensubstitusikan pengetahuan manusia ke dalam bentuk sistem, sehingga dapat digunakan oleh orang banyak.
Manfaat kecerdasan buatan yang diimplementasikan dalam pengembangan sistem pakar adalah :
Memberikan penyederhanaan solusi untuk kasus-kasus yang kompleks dan berulang-ulang.
Masyarakat awam non-pakar dapat memanfaatkan keahlian di dalam bidang tertentu tanpa kehadiran langsung seorang pakar.
Meningkatkan produktivitas kerja, yaitu bertambah efisiensi pekerjaan tertentu serta hasil solusi kerja.
Penghematan waktu dalam menyelesaikan masalah yang kompleks.
Memungkinkan penggabungan berbagai bidang pengetahuan dari berbagai pakar untuk dikombinasikan.
Pengetahuan dari seorang pakar dapat didokumentasikan tanpa ada batas waktu.


Demikianlah ulasan tentang pengertian dan manfaat kecerdasan buatan. Mudah-mudahan dapat bermanfaat.