Jumat, 14 April 2017

UTS Artificial Intellegence

UTS Artificial Intellegence
Nama   : Ami Komariyatul Kibtiyah
Dosen  : Dr.Djadja Achmad Sardjana ST,MM

A. KOMPONEN SISTEM CERDAS
      1. Basis Pengetahuan
         Basis Pengetahuan berisi pengetahuan yang dibutuhkan untuk memahami, memformulasi, dan memecahkan masalah. Basis pengetahuan tersusun atas 2 elemen dasar yaitu : a.Fakta, misalnya: situasi, kondisi, dan kenyataan dari permasalahan yang ada, serta teori dalam bidang itu. b.Aturan, yang mengarahkan penggunaan pengetahuan untuk memecahkan masalah yang spesifik dalam bidang yang khusus  
     2.  Mesin Inferensi 
          Mesin Inferensi (Inference Engine), merupakan otak dari Kecerdasan buatan. Juga dikenal sebagai penerjemah aturan (rule interpreter). Komponen ini berupa program komputer yang menyediakan suatu metodologi untuk memikirkan (reasoning) dan memformulasi kesimpulan. Kerja mesin inferensi meliputi :

a.Menentukan aturan mana yang akan dipakai
b.Menyajikan pertanyaan kepada pemakai ketika diperlukan.
c.Menambahkan jawaban ke dalam memori kecerdasan buatan dan sistem pakar.
d.Menyimpulkan fakta baru dari sebuah aturan
e.Menambahkan fakta tadi (yang telah diperoleh) ke dalam memori
 
3.Interface Kecerdasan Buatan dan Sistem Pakar mengatur komunikasi antara pengguna dan komputer. Komunikasi ini paling baik berupa bahasa alami, biasanya disajikan dalam bentuk tanya-jawab dan kadang ditampilkan dalam bentuk gambar/grafik. Antarmuka yang lebih canggih dilengkapi dengan percakapan (voice communication).

B. KONSEP TURING KAITANNYA DENGAN SISTEM CERDAS
Uji Turing adalah ujian yang menentukan apakah suatu mesin mampu menunjukkan perilaku cerdas yang mirip dengan atau tak dapat dibedakan dari manusia.

Konsep

1.
Turing Test – Metode Pengujian Kecerdasan


  1. Metode Pengujian Kecerdasan yang dibuat oleh Alan Turing.
  2. Proses uji ini melibatkan penanya (manusia) dan dua objek yang ditanyai. Yang satu adalah seorang manusia dan satunya adalah sebuah mesin yang akan diuji.
  3. Penanya tidak bisa melihat langsung kepada objek yang ditanya.
  4. Penanya diminta untuk membedakan mana jawaban computer dan mana jawaban manusia berdasarkan jawaban kedua objek tersebut.
  5. Jika penanya tidak dapat membedakan mana jawaban mesin dan mana jawaban manusia maka Turing berpendapat bahwa mesin yang diuji tersebut dapat diasumsikan “cerdas”.
Turing mengatakan bahwa di  masa  depan  komputer  dapat  di  program  untuk  mendapat  kemampuan  yang  dapat  menyaingi manusia.  Sebagai  bagian  dari  argumennya,  Turing  mengajukan  ide    tentang  sebuah  permainan meniru, dimana seorang manusia dan sebuah computer akan di”interogasi” di bawah kondisi dimana si  penginterogasi  tidak  tahu  yang  mana manusia  dan  yang  mana komputer.  Penginterogasian dilakukan  murni  dengan  pesan  teks.  Turing  mengatakan  apabila  si  penginterogasi  tidak  dapat membedakan mereka dengan bertanya, maka kita tidak bisa tidak mengatakan bahwa komputer itu pintar. Permainan meniru inilah yang biasa disebut Turing test untuk kecerdasan.

Turing test

Bayangkan setting berikut : ada dua buah ruangan, A dan B.Salah satu ruang berisi komputer, yang lain  berisi manusia. Si penginterogasi berada di luar dan  tidak tahu ruangan mana yang berisi manusia  dan  yang  mana  yang  berisi  komputer.  Dia dapat  mengajukan  pertanyaan  melalui  sebuah teletype dan akan menerima jawaban dari A dan B. si Penanya ini kemudian harus mengidentifikasi apakah A atau B yang adalah manusia.  Untuk melewati  Turing Test komputer harus bisa menipu si penanya sehingga ia percaya bahwa komputer itu adalah manusia.

Sumber :

C. PENGERTIAN DAN JENIS-JENIS METODE PENCARIAN DALAM SISTEM CERDAS 




Metode Pencarian dan Pelacakan
Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.
Pencarian = suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space).
Ruang keadaan = merupakan suatu ruang yang berisi semua keadaan yang mungkin.
Untuk mengukur perfomansi metode pencarian, terdapat 4 kriteria yang dapat digunakan :
1.      Completeness : apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada?
2.      Time complexity : berapa lama waktu yang diperlukan? [semakin cepat, semakin baik]
3.      Space complexity : berapa banyak memori yang diperlukan
4.      Optimality : apakah metode tersebut menjamin menemukan solusi yang terbaik jika terdapat beberapa solusi berbeda?
Dua teknik pencarian dan pelacakan
1. Pencarian buta (blind search)
a. Pencarian melebar pertama (Breadth – First Search)
b. Pencarian mendalam pertama (Depth – First Search)
2. Pencarian terbimbing (heuristic search)
a. Pendakian Bukit (Hill Climbing)
b. Pencarian Terbaik Pertama (Best First Search)
1. Pencarian Buta (Blind Search)
a.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
b.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
Aplikasi yang menggunakan fungsi heuristic : Google, Deep Blue Chess Machine
• Contoh pada masalah 8 puzzle
keadaan awal                                                                           






Tujuan








Keadaan Awal Tujuan Pencarian Heuristik
• Operator
– Ubin kosong geser ke kanan
– Ubin kosong geser ke kiri
– Ubin kosong geser ke atas
– Ubin kosong geser ke bawah
• Langkah Awal
Gambar
Langkah Awal hanya 3 operator yang bisa digunakan
Ubin kosong digeser ke kiri, ke kanan dan ke atas.
Jika menggunakan pencarian buta, tidak perlu mengetahui operasi apa yang akan dikerjakan (sembarang)
Pada pencarian heuristik perlu diberikan informasi khusus dalam domain tersebut
Untuk jumlah ubin yang menempati posisi yang benar jumlah yang lebih tinggi adalah yang lebih diharapkan (lebih baik)
Untuk jumlah ubin yang menempati posisi yang salah jumlah yang lebih kecil adalah yang diharapkan (lebih baik).
Menghitung total gerakan yang diperlukan untuk mencapai tujuan jumlah yang lebih kecil adalah yang diharapkan (lebih baik).
2. Pencarian terbimbing (heuristic search)
• Ada 4 metode pencarian heuristik
Pembangkit & Pengujian (Generate and Test)
Pendakian Bukit (Hill Climbing)
Pencarian Terbaik Pertama (Best First Search)
Simulated Annealing
            a.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.
Contoh : Traveling Salesman Problem (TSP)
Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Ingin diketahui rute terpendek dimana setiap kota hanya boleh dikunjungi tepat 1 kali.
Contoh : Traveling Salesman Problem (TSP)
Generate & test akan membangkitkan semua solusi yang mungkin:
A – B – C – D
A – B – D – C
A – C – B – D
A – C – D – B, dll
Kelemahan dari Pembangkit & Pengujian (Generate and Test) yaitu ;
Perlu membangkitkan semua kemungkinan sebelum dilakukan pengujian
Membutuhkan waktu yang cukup lama dalam pencariannya
  
b.      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.
             c. 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.
Contoh TSP
• Operator : Tukar kota ke-i dengan kota ke-j (Tk i,j)
• Untuk 4 kota:
Tk 1,2 : tukar kota ke-1 dengan kota ke-2.
Tk 1,3 : tukar kota ke-1 dengan kota ke-3.
Tk 1,4 : tukar kota ke-1 dengan kota ke-4.
Tk 2,3 : tukar kota ke-2 dengan kota ke-3.
Tk 2,4 : tukar kota ke-2 dengan kota ke-4.
Tk 3,4 : tukar kota ke-3 dengan kota ke-4.
• Untuk N kota, akan ada operator sebanyak:
           d. Steepest Ascent Hill Climbing
Steepest-ascent hill climbing sebenarnya hampir sama dengan simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari posisi paling kiri.
Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.
Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi.
Steepest-ascent hill climbing sebenarnya hampir sama dengan simple hill climbing, hanya saja gerakan pencarian tidak dimulai dari posisi paling kiri.
Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.
Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi.
Algoritma
Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti; dan jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.
Kerjakan hingga tujuan tercapai atau hingga iterasi tidak memberikan perubahan pada keadaan sekarang.
• Tentukan SUCC sebagai nilai heuristic terbaik dari successorsuccessor.
• Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang:
• Gunakan operator tersebut dan bentuk keadaan baru.
Evaluasi keadaan baru tersebut. Jika merupakan tujuan, keluar. Jika bukan, bandingkan nilai heuristiknya dengan SUCC. Jika lebih baik, jadikan nilai heuristic keadaan baru tersebut sebagai SUCC. Namun jika tidak lebih baik, nilai SUCC tidak berubah.
Jika SUCC lebih baik daripada nilai heuristic keadaan sekarang, ubah node SUCC menjadi keadaan sekarang.

Sumber :

D. BIDANG KAJIAN DALAM SISTEM CERDAS
1) SISTEM CERDAS BERBASIS PENGETAHUAN
Sistem cerdas berbasis pengetahuan adalah sistem yang memiliki kemampuan menyerap kepakaran seorang ahli. Sistem ini ditunjukkan pada Gambar 2.1 memiliki sebuah blok utama berupa basis pengetahuan yang berisi informasi kepakaran. Informasi kepakaran dijabarkan algoritma cerdas, dan komponen prakondisi isyarat yang mengatur kerja sensor-sensor. Algoritma cerdas inilah yang memutuskan aksi-aksi yang tepat untuk setiap keadaan/status sistem. 

Contoh kepakaran yang bisa disimpan oleh sistem ini antara lain adalah kepakaran untuk menghindari rintangan-rintangan, kepakaran untuk menginjeksi pupuk dengan takaran yang tepat [2], memisahkan obyek-obyek sesuai dengan klasifikasi tertentu [3], atau kepakaran untuk mengenal dengan baik kondisi obyek hasil pertanian yang hendak dipanen [4]. Kepakaran ini tentunya harus didukung oleh sensor dengan presisi yang memadai.

2) SISTEM LOGIKA SAMAR (FUZZY LOGIC SYSTEM)

Sistem logika samar adalah sistem yang mengadopsi strategi kendali dengan logika inferensi samar. Logika inferensi (penyimpulan) samar ini mengolah data-data eksternal dengan menggunakan fungsi-fungsi keangotaaan yang bersifat samar. Gambar 2.2 menunjukkan struktur dasar sebuah sistem cerdas berbasis logika samar.
Sistem logika samar secara luas telah digunakan dalam aplikasi mekatronika dalam bidang pertanian seperti untuk mendeteksi kadar nitrogen hasil bumi menggunakan sensor multi-spectral [7]. Selain itu sistem ini secara efektif juga bisa digunakan untuk mengendalikan robot bergerak [8].


Gambar 2.3 menunjukkan arsitektur dari sistem logika samar (SLS). Sistem SLS terdiri dari beberapa komponen di antaranya blok Membership Function (NB, NS, Z, PS, PB), blok fungsi minimum (Min1, s.d. Min 25), blok fungsi maksimum (MAX), blok pengali (Mult), penjumlah (ADDER), dan pembagi (DIV). Blok-blok tersebut secara fungsional bekerja dengan cara mengeksekusi aturan-aturan inferensi yang telah ditetapkan hingga menghasilkan keluaran keputusan kendali.

3) SISTEM BERBASIS JARINGAN SYARAF TIRUAN
(ARTIFICIAL NEURAL NETWORK)


Jaringan syaraf tiruan terinspirasi dari sistem pengorganisasian otak manusia yang terdiri dari beratus milyar sel syaraf dengan tipe yang bervariasi. Neuron adalah sel syaraf khusus yang menghantarkan isyarat elektris. Sekitar 10% dari keseluruhan sel adalah neuron, atau ada sekitar 10 milyar neuron di dalam otak manusia. Setiap neuron berinteraksi dengan neuron yang lain melalui kontak yang disebut sinapsis. Rata-rata setiap neuron menerima isyarat dari sekian ribu sinapsis. Jadi otak dibangun dari jaringan neuron dalam jumlah sangat besar. Gambar 2.4(a) menunjukkan jaringan syaraf tiruan (berstruktur multilapisan) dengan sejumlah neuron yang dihubungkan oleh sinaptik-sinaptik. Perbesaran dari jaringan memperlihatkan dua buah neuron yang dihubungkan oleh sebuah sinaptik. Neuron melakukan dua buah operasi yaitu operasi penjumlahan isyarat-isyarat sinaptik terboboti (S) dan operasi aktivasi non-linear (F). Sinaptik mengirimkan isyarat dari satu neuron ke neuron berikutnya dengan bobot sebesar wij yang dapat diatur melalui prosedur pelatihan


Gambar 2.4(b) menunjukkan arsitektur dalam menerapkan JST dalam sistem kontrol. Sistem JST telah sukses diimplementasikan ke dalam mikroprosesor untuk aplikasi teknologi pertanian dengan pemupukan presisi tinggi [5]. JST juga telah sebagai sistem penghematan pengguanaan energi pada stasium pompa hidrolik [6].
JST terdiri dari sejumlah besar sel syaraf (neuron) dengan interkoneksi yang sinaptik yang sangat besar pula. Gambar 2.5 menunjukkan model JST yang terdiri dari 3 lapisan, 32 sel syaraf yang dikelompokkan dalam 9 buah grup, dan sejumlah interkoneksi sinaptik antar neuron pada lapisan yang berbeda.
Neuron dan sambungan sinaptik akan menyimpan informasi penting tentang kepakaran yang diperoleh setelah JST dilatih dengan berbagai data-data pasangan input-output yang diinginkan. Salah satu algoritma yang cukup terkenal untuk melatih JST adalah algoritma “Backpropagation”. Algoritma ini akan mengubah nilai-nilai bobot sinaptik sehingga JST akan membentuk fungsi-fungsi khusus sesuai yang diajarkan. Jadi melalui neuron dan bobot-bobot sambungan sinaptik, JST berfungsi untuk menyimpan informasi kepakaran yang sewaktu-waktu diperlukan untuk mengelola data-data isyarat yang telah pernah diajarkan sebelumnya.


Sumber :

E. PENYAJIAN KNOWLEDGE DALAM SISTEM CERDAS PADA MASING-MASING 

a. Bidang Pendidikan : Robot Education
b. Bidang kedokteran :  sistem pakar,jaringan syafar tiruan,logika fuzzy dan algoritma genetic
c. Bidang Keamanan Dan Pertahanan (militer) : penerapan virtual reality untuk latihan perang  dan sebagainya  
d. Bidang ekonomi & bisnis : sistem prediksi kurs mata uang 
e. Bidang pertanian : menganalilis kualitas tanaman
f. Bidang teknik dan rekayasa : kecerdasan dalam robot  


Sumber: