KECERDASAN BUATAN

advertisement
KECERDASAN BUATAN
Introduction
Outline
Kecerdasan Buatan (Artificial Intelligence/AI)
• Introduction
• Prinsip Program AI
• General Problem Solving :
• Representasi Masalah
• Searching
• Heuristik
• Studi kasus : Penerapan
General Problem Solving
• Sistem Cerdas
• Representasi Pengetahuan
• Logika formal :
• Predicate Logic/Calculus
Predicate
• Tinjauan tentang bahasa
pemrograman AI standar :
• Prolog
• Lisp
• Pemrograman AI
menggunakan bahasa non
AI (prosedural) :
• C/C++
• Tinjauan beberapa bidang
garapan AI :
• Natural Language
Processing
• Pattern Recognition
• Expert System
• Perkembangan Teknik AI
Mutakhir :
• Mengatasi kondisi
Uncertainty
• Mechine Learning
• Optimalisasi
• General Preview
Intoduction to
Artificial Intelligence
• Artificial Intelligence (Inteligensi/Kecerdasan Buatan) merupakan
salah satu bidang dari ilmu komputer yang membahas tentang
kemungkinan komputer untuk dapat berlaku secara intelligen seperti
halnya manusia
• Apakah perkembangan komputer sejauh ini belum memperlihatkan
perilaku intelijen tersebut ?.........................................................
…………………………………………………………………………………………….
•
Intelijen/cerdas??
Cerdas = memiliki pengetahuan + pengalaman, penalaran (bagaimana
membuat keputusan & mengambil tindakan), moral yang baik
Agar mesin bisa cerdas (bertindak seperti & sebaik manusia) maka harus
diberi bekal pengetahuan & mempunyai kemampuan untuk menalar.
2 bagian utama yg dibutuhkan untuk aplikasi kecerdasan buatan :
a. basis pengetahuan (knowledge base): berisi fakta-fakta, teori,
pemikiran & hubungan antara satu dengan lainnya.
b. motor inferensi (inference engine) : kemampuan menarik
kesimpulan berdasarkan pengalaman
Computer
Inputs
Knowledge
base
Inference
mechanism
Outputs
Sejarah AI Abad 17-19
• Blaise pascal – mesin penghitung digital (mekanik)
• Charles Babbage – Mesin penghitung (program)
• Betrand Russel & Alfred Nort Whitehead – Principa matematika (logi
ka formal)
• Walter Pitts – Kalkulus Logis (fondasi JST)
Sejarah AI Abad 1950-1970
•
•
•
•
•
•
•
•
•
•
Diestrich Prinz – Game catur (1951)
Alan Turing – tes turing
1952 – 1969: Newell dan Simon menemukan General Problem Solver
John McCharty – Konferensi AI & LISP
Joseph Weinzenbaun – ELIZA (1967)
Alain Colmerauer – PROLOG
Joel Moses – Program macsyma (program berbasis pengetahuan)
Marvin Minsky – perceptrons yang mendemonstrasikan batas jaringan
saraf tiruan sederhana
1969 – 1979 : knowledge based system
Ted Shortliffe – sistem berbasis aturan untuk representasi pengetahuan
dan inferensi dalam diagnosis dan terapi medis(SP)
DARPA - 2004
• Autonomous CAR
TES TURING
Here is Turing's example of an exchange that
might occur during the test.
•
•
•
•
•
•
•
•
Interrogator In the first line of your sonnet which reads 'Shall I compare
thee to a summer's day', would not 'a spring day' do as well or better?
Computer It wouldn't scan.
Interrogator How about 'a winter's day'? That would scan all right.
Computer Yes, but nobody wants to be compared to a winter's day.
Interrogator Would you say Mr. Pickwick reminded you of Christmas?
Computer In a way.
Interrogator Yet Christmas is a winter's day, and I do not think Mr
Pickwick would mind the comparison
Computer I don't think you're serious. By a winter's day one means a
typical winter's
ww.alanturing.net/turing_archive/pages/reference articles/theturingtest.html
SUB DISIPLIN ILMU AI
• AI & Teknik Elektro
-
Pengolahan citra
Teori kendali
Pengenalan pola
Robotika
• AI & Sistem Informasi
- SPK
- SP
Contoh ilmu-ilmu dalam lingkup AI
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
ANN (Artificial Neural Network)
NLP (Natural Language Processing)
Game Playing
ES (Expert System)
Robotics
Pattern Recognition
Computer Reasoning
Computer Vision
IR (Information Retrieval)
Data Mining
Fuzzy System
Neuro Fuzzy System
GA (Genetic Algorithm)
CBR (Case Based Reasoning)
DSS (Decision Support System)
Contoh Aplikasi Persepsi Visual
(Computer Vission)
Contoh Aplikasi Robot
Pengolahan bahasa alami
Pada th 1999 Ray Kurzweil membuat prediksi tentang
perkembangan AI
AI Masa Depan
2009
•Sebuah PC seharga US$ 1000 dpt mempunyai kecepatan 1 THz
•Komputer menjadi sangat kecil dan menempel pd perhiasan
•Sebagian besar transaksi bisnis dilakukan secara virtual
•Telepon memiliki aplikasi penerjemah sehingga kedua penelepon bisa
berbicara dengan bahasa yg berbeda
AI Masa Depan
2019
•
•
•
•
Sebuah PC seharga US$ 1000 akan setara dg kemampuan
komputasional otak manusia
Komputer bisa menempel dimana saja dan semakin tidak terlihat
Virtual Reality sudah dalam bentuk 3 dimensi
Sebagian interaksi manusia dengan komputer hanya dengan
menggunakan isyarat tubuh
AI Masa Depan
2029
• Sebuah PC seharga US$ 1000 akan setara dengan
kemampuan komputasional 1000 otak manusia
• Komputer telah terhubung langsung ke otak manusia
dg koneksi high-bandwidth
AI Masa Depan
2049
• Makanan yang diproduksi menggunakan nano
technology mulai digunakan secara umum. Makanan
tersebut memiliki komposisi gizi yg baik, mempunyai
rasa dan tekstur yg sama dengan makanan organik
AI Masa Depan
2072
• Picoengineering atau teknologi pada skala
picometer atau 10-12 meter mulai berhasil
diaplikasikan di dunia nyata
AI Masa Depan
2099
• Ada kecenderungan kuat untuk membuat
gabungan antara pemikiran manusia dengan
kecerdasan mesin
• Tidak ada perbedaan yg jelas antara
pemikiran manusia dengan mesin
• Jumlah manusia berbasis software (Semi
Cyborg) lebih banyak dibandingkan manusia
berbasis sel2 syaraf alami
PEMROGRAMAN AI
Kecerdasan Buatan VS Kecerdasan Alami
•
1.
2.
3.
4.
5.
6.
7.
Kelebihan kecerdasan
buatan :
Lebih bersifat permanen.
Lebih mudah diduplikasi &
disebarkan.
Lebih murah.
Bersifat konsisten
Dapat didokumentasi
Lebih cepat
Lebih baik
Kelebihan kecerdasan alami :
1. Kreatif : manusia memiliki
kemampuan untuk menambah
pengetahuan, sedangkan pada
kecerdasan buatan untuk menambah
pengetahuan harus dilakukan melalui
sistem yang dibangun.
2. Memungkinkan orang untuk
menggunakan pengalaman secara
langsung. Sedangkan pada kecerdasan
buatan harus bekerja dengan inputinput simbolik.
3. Pemikiran manusia dapat digunakan
secara luas, sedangkan kecerdasan
buatan sangat terbatas.
Komputasi AI VS Konvensional
AI
Konvensional
Proses
Konsep simbolik
Algoritmik
Sifat input
Bisa tidak lengkap
Harus lengkap
Pencarian
Kebanyakan bersifat
heuristic
Didasarkan pada
algoritma
fokus
pengetahuan
Data/informasi
struktur
Kontrol dipisahkan dari
pengetahuan
Kontrol
terintegrasi
dengan
informasi(data)
Sifat output
kuantitatif
kualitatif
Prinsip Program AI
(AI Software Principle)
 Ciri khas terpenting
Pemrograman(software) AI :
• Pemrograman simbolik
Non Algoritmik dapat
berarti :
• Memecahkan masalah non
algoritmik
•Pemecahan Algoritmiknya
(logic combination) sangat
kompleks
• Memanipulasi sifat/type kualitatif
ketimbang kuantitatif/Numerik
•Langkah Algoritmiknya
(sequensial) sangat panjang
• Solusi (pemecahan) tidak mesti
eksak
•Keadaannya tidak pasti
(Uncertainty)
• Menggunakan pengetahuan untuk
memecahkan masalah
•Secara analisis bersifat : Non
• Setiap bagian program dapat
bersifat Independen
• Dapat belajar dari pengalaman
sebelumnya …… ?
Polynomial
 Jantung riset modern di bidang pemrograman AI : Hipotesis Sistem Symbol
 Newel dan Simon mengemukakan aktivitas/mesin cerdas (intelligence) dapat dicapai
melalui :
• Pola-pola simbol untuk merepresentasikan problem
• Operasi-operasi untuk menghasilkan berbagai solusi yang mungkin
Asumsi
• Proses pencarian (searching) untuk memilih solusi terbaik
Searching
Representasi
Pengetahuan
Dasar teknik pemrograman AI :
•Algoritma  Searching :
- Logika/Logika formal/predikat kalkulus
- backtracking
•Data  Representasi Pengetahuan : - List/Graf
- Database
Bahasa Pemrograman AI :
•Prolog
•Lisp
•Shell
C
C++
 Kenapa harus menggunakan bahasa pemrograman/tool khusus ?
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
(Newell & Simon 1976)
General Problem Solver
• Why do we care about symbols?
– Understand human cognition with a language like
symbolic processing
"A physical symbol system has the necessary and sufficient
means for general intelligent action." (Newell & Simon 1976)
• Physical symbol system
– Set of entities called symbols - physical patterns that can occur as
components
– Expressions (or symbol structures) built of symbols
SYMBOL??
cara kerja komputer modern (yang belum berlandaskan AI)
proses secara numerik setahap demi setahap setiap instruksi
dua hal penting yang berbeda dengan cara kerja otak manusia
komputer
memproses
secara
numerik
manusia
cenderung
memproses
secara simbolik.
Manusia memanipulasi simbol-simbol, sehingga ia bisa menurunkan
rumus-rumus, suatu kemampuan yang belum dimiliki komputer
Simbolik
Nonalgoritmik
Kedua
komputer memproses secara
algoritmik, yaitu setahap
demi setahap mengikuti
suatu prosedur yang menuju
suatu solusi
proses intelegensi lebih dari sekedar
mengikuti prosedur yang setahap
demi setahap, non-algoritmik
Heuristik
• Heuristik adalah petunjuk praktis yang membantu kita untuk
memutuskan apa yang akan kita lakukan. Dengan heuristik kita
tidak perlu berpikir secara lengkap dalam menghadapi masalahmasalah. Sadar atau tidak sadar kita seringkali menggunakan
heuristik. Jika kita memegang suatu petunjuk praktis untuk
menghadapi suatu situasi, kita akan dapat bertindak.
PROLOG & LISP
• Kenapa menggunakan tool khusus AI?
misalnya PROLOG,
Dalam teknik program deklaratif mengunakan prolog kita dapat
langsung memberikan sejumlah fakta dan aturan-aturan yang
mengkaitkan fakta tersebut, ia akan memecahkan masalah secara
deduktif.
Bahasa pemroses simbol yang populer adalah LISP (List Processor)
Sekilas Pemrograman PROLOG
Manusia
Knowledge
Manusia
Pemberian knowledge bisa membuat manusia menjadi intelligent
(cerdas)
Manusia
Knowledge
PROLOG
Pemberian knowledge diharapkan bisa membuat komputer menjadi
intelligent (cerdas) seperti layaknya manusia
Knowledge = Fakta + Rule
Pada PROLOG ada fasilitas untuk memberikan Fakta dan Rule
yaitu melalui Clauses
Elemen-elemen Program PROLOG
•
•
•
•
Domains
Predicates
Clauses
Goal
• Aturan penulisan kode pada prolog
• Tipe data pada prolog :
symbol, integer, real, char, string,
boolean
• Cara kerja program prolog :
Resolusi, Matching, …
Sekilas LISP
• Yang sangat penting dalam pemrosesan simbol adalah konsep
asosiasi.
• Dalam LISP asosiasi antara simbol dilaksanakan dengan membentuk
suatu struktur yang diberi nama list.
Everything's a List!
• Data
(a b c)
• Functions
(defun plus (x y)
(+ x y))
• Simple syntax:
(function-name
(first ‘(a b c))
=a
arg1
arg2 …)
SISTEM CERDAS
• Sistem cerdas adalah sistem yang dapat mengadopsi
sebagaian kecil dari tingkat kecerdasan manusia untuk
berinteraksi dengan keadaan eksternal suatu sistem
• kemampuan untuk dilatih, mengingat kembali kondisi yang pernah
dialami, mengolah data-data untuk memberikan aksi yang tepat
sesuai yang telah diajarkan, dan kemampuan menyerap kepakaran
seorang ahli melalui perintah yang dituliskan dalam sebuah bahasa
pemrograman tertentu
• Sistem Berbasis Pengetahuan
• Sistem Logika samar
• Sistem berbasis jaringan syaraf tiruan
Computer
Knowledge base
Inputs
Inference
mechanism
Outputs
Problem solving AI
Empat hal untuk membangun sistem atau
memecahkan masalah tertentu :
1. Definisikan masalah dengan jelas
2. Analisis masalah
3. Kumpulkan dan representasikan knowledge
4. Pilih teknik pemecah masalah terbaik dan gunakan untuk masalah
tertentu
Mendefinisikan Masalah sebagai “State Space Search”
(SSS)
Misalnya permainan catur , maka SSS nya adalah :
Menspesifikasikan posisi awal dari papan catur
Peraturan (rules) yang mendefinisikan langkah-langkah yang legal
Posisi papan yang merepresentasikan pemenang dari satu sisi atau sisi
lainnya.
Tujuan (Goal) dari permainan adalah : memenangkan permainan.
Pendefinisian Masalah Sebagai Pencarian Ruang
Keadaan
Masalah utama dalam membangun sistem berbasis AI adalah
bagaimana mengkonversikan situasi yang diberikan ke dalam situasi
lain yang diinginkan
menggunakan sekumpulan operasi tertentu.
Representasi Ruang Keadaan dan Teknik Pelacakan
(State Space Representation and Searching)
Contoh pemecahan masalah-masalah berikut :
•Penakaran air dengan dua ember
•Tic tac Toe
•Puzzle
•Pencarian Jarak terdekat
•Travelling Salesmen
•…
Langkah standar :
Contoh kasus :
Penakaran air dengan dua ember :
Jika kita memiliki 2 buah takaran air,
yang masing-masingnya dapat berisi 3
liter dan 4 liter air, apa langkah yang
dapat kita lakukan untuk mendapatkan
2 liter air pada takaran 4 liter dengan
hanya menggunakan kedua ember
tersebut.
Pendefenisian masalah :
1.Mendefenisikan masalah dengan tepat. Defenisi
ini harus berisi spesifikasi tentang keadaan awal
(initial state) dan keadaan akhir (goal state) yang
merupakan solusi yang dapat diterima dari
masalah tersebut dan
operasi-operasi yang
dibutuhkan untuk dapat mengubah keadaan awal
(0,0)
(2,0)
menuju ke keadaan akhir.
2.Mengembangkan semua ruang keadaan (state
space) yang mungkin (dalam bentuk tree/graph)
dan berhenti pada keadaan yang sama dengan
keadaan akhir yang diinginkan sebagai solusi atau
langkah solusi yang diinginkan.
Operasi-operasi yang mungkin :
1.
2.
3.
4.
5.
6.
7.
8.
9.
Mengisi air ke takaran 4 liter sampai penuh
Mengisi air ke takaran 3 liter sampai penuh
Mengisi sejumlah air dari takaran 4 liter sampai
habis ke takaran 3 liter
Mengisi sejumlah air dari takaran 3 liter sampai
habis ke takaran 4 liter
Mengosongkan semua air di takaran 4 liter
Mengosongkan semua air di takaran 3 liter
Mengisi sejumlah air dari takaran 3 liter s ke
takaran 4 liter sampai penuh
Mengisi sejumlah air dari takaran 4 liter s ke
takaran 3 liter sampai penuh
…
Operasi yang tidak diperbolehkan :
1.
2.
3.
4.
Mengisi takaran yang sudah penuh
Mengosongkan takaran yang sudah kosong
Kembali ke kondisi yang telah pernah
dimiliki
…
Pengembangan Ruang Keadaan :
(0,0)
(2,0)
Hasil pengembangan ruang keadaan :
(0,0)
1
2
(4,0)
8
2
(4,3)
1
5
(4,3)
(0,3)
(0,3)
(1,3)
6
(1,0)
(2,0)
1
(4,3)
4
(3,0)
Contoh kasus lain
•
•
•
•
•
•
•
Maze problem
Building Block problem
Tic Tac Toe
Shortest path problem
Puzzle
Chess
….
Maze Problem
Mencari path atau rute dari start ke goal
Goal
4
3
2
Start
1
2
3
4
Building Blocks Problem
A
A
C
B
B
Initial State
ON(A,C)
ON(B,TABLE)
ON(C,TABLE)
C
Goal State
ON(A,B)
ON(B,C)
ON(C,TABLE)
Dan sebagai operator untuk memindahkan dari satu state ke state lain, kita
bisa gunakan:
• Pickup(u)
• Putdown(u)
• Takeoff(u,v)
• Puton(u,v)
Latihan : Maze Problem
D
B
E
A
H
C
F
S
I
(a)
G
B
A
G
C
D
E
F
S
(b)
H
Representasi Pengetahuan
• Bagaimana merepresentasikan pengetahuan ke
dalam basis pengetahuan dan menguji
kebenaran penalaran
• Cara-cara lama:
– List, digunakan pada LISP
– Predicate Calculus, digunakan pada Prolog
– Tree, untuk heuristic search
• Karakteristik RP:
– Dapat diprogramkan
– Dapat dimanfaatkan untuk penalaran,
menggambarkan kesimpulan sebagai fungsi
kecerdasan
Alasan Pemilihan
• Why knowledge representation rather
than information representation?
– Karena pada konvensional database
merepresentasikan data secara sederhana:
string, number, boolean
– Namun AI menganggap pengetahuan lebih
kompleks, seperti proses, prosedur, aksi,
waktu, tujuan dan penalaran
– Knowledge should be collected, codified,
and organized in systematic order
Representasi Pengetahuan (2)
• Harus terdiri dari struktur data dan prosedur
untuk penafsiran
• Hal yang berhubungan dengan RP:
– Object pengetahuan itu sendiri
– Event: kejadian-kejadian dalam dunia nyata dan
hubungannya
– Performa: bagaimana melakukan suatu tugas tertentu
– Meta knowledge: pengetahuan tentang pengetahuan
yang direpresentasikan
Bagaimana metoda GPS menemukan Solusi ?
Teknik Search dan Jenisnya
Teknik Search menentukan simpul mana yang dibuat lebih dulu dan mana
yang kemudian sampai ditemukannya simpul solusi
Dari proses search dihasilkan diagram tree, sehingga perlu penjelasan
beberapa terminologi diagram tree seperti berikut :
•
•
•
•
•
•
•
•
•
Simpul
Level/Cabang
Path
Parent
Child
Root
Leave
Jumlah Ruang Simpul
Langkah solusi (Solusi)
a
b
e
c
f
d
Jenis Teknik Search
•
Uninformed (Blind) Search
– Breadth First Search (BFS)
– Depth First Search (DFS)
– Uniformed Cost Search (UCS)
•
Informed (Heuristik/Intelligent) Search
– Uniformed Cost Search (UCS)
– Greedy Algorithm
– A/A* Algorithm
– Hill Climbing
– Genetic Algorithm
Perbandingan
Uninformed dan Informed Search
Uninformed = memanfaatkan informasi tertentu
Informed = memanfaatkan informasi tertentu
Informasi tertentu tersebut disebut Heuristik
Heuristik berfungsi untuk mempercepat proses
pencarian
• Heuristik = Intelligent
•
•
•
•
Perbandingan BFS dan DFS
(Sama-sama non heuristik search)
Ilustrasi proses BFS
Ilustrasi proses DFS
Kualitasnya dibedakan berdasarkan :
– Jumlah ruang simpul
– Solusi (Jumlah langkah mencapai Solusi)
Breadth First Search (BFS)
• Jumlah ruang simpul relatif
(umumnya) lebih banyak
• Solusi dijamin optimal
Depth First Search (DFS)
• Jumlah ruang simpul relatif
(umumnya) lebih sedikit
• Solusi tidak dijamin optimal
Metode Penalaran
• Forward reasoning (data driven): dimulai
dari keadaan awal (dari fakta), kemudian
menuju ke arah kesimpulan / tujuan
• Backward reasoning (goal driven): dimulai
dari tujuan / hipotesa baru dicocokkan
dengan keadaan awal / fakta-fakta
SOFT COMPUTING


Soft Computing merupakan inovasi baru dalam membangun
sistem cerdas yaitu sistem yang memiliki keahlian seperti
manusia pada domain tertentu, mampu beradaptasi dan belajar
agar dapat bekerja lebih baik jika terjadi perubahan lingkungan.
Soft computing mengeksploitasi adanya toleransi terhadap
ketidakpastian, ketidaktepatan, dan kebenaran parsial
untuk dapat diselesaikan dan dikendalikan dengan mudah agar
sesuai dengan realita. (Prof. Lotfi A Zadeh, 1992)
Metodologi-metodologi dalam soft computing
•
•
•
•
Sistem Fuzzy (mengakomodasi ketidaktepatan).
Jaringan Syaraf (menggunakan pembelajaran).
Probabilistic Reasoning (mengakomodasi ketidakpastian).
Evolutionary Computing (optimasi) : algoritma genetika.
NEXT
Download