Rencana Garis Besar Materi Mata Kuliah : Kecerdasan Buatan (Artificial Intelligence/AI) ( 3 Sks ) Introduction Prinsip Program AI General Problem Solving : Representasi Masalah  Searching Heuristik Studi.

Download Report

Transcript Rencana Garis Besar Materi Mata Kuliah : Kecerdasan Buatan (Artificial Intelligence/AI) ( 3 Sks ) Introduction Prinsip Program AI General Problem Solving : Representasi Masalah  Searching Heuristik Studi.

Rencana Garis Besar Materi Mata Kuliah :
Kecerdasan Buatan (Artificial Intelligence/AI)
( 3 Sks )
Introduction
Prinsip Program AI
General Problem Solving :
Representasi Masalah
 Searching
Heuristik
Studi kasus :
Penerapan General
Problem Solving
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
prilaku intelijen tersebut ?
…………………………………………………………….…..
………………………………………………………………...
 Teknik-teknik AI terutama digunakan untuk mengatasi masalah yang
bersifat non Algoritmik
Contoh teknik AI :






General Problem Solving
Fuzzy Logic
Neural Network
Neural Fuzzy
Genetic algorithm
………
 Beberapa bidang yang telah digarap AI :
 Game Playing
 Robotic
 Natural Language Processing
 Pattern (Vision/Spech )Recognition
 Expert System
 Mungkinkah komputer dapat berpikir mandiri ? (Berpikir sebagai salah
satu kriteria cerdas)
…………………………………………………………………………..…………………….
……………………………………………………………………………………..………….
 Terjadinya polemik : Defenisi dan Kriteria Intelijen/Cerdas ?
 Uji Turing (1912-1954)
 Keterbatasan komputer model Van Neuman dan Pesimisme Turing
 Perkembangan bidang Artificial Intelligence
 Game : …
 Expert System :
 Mycin, …
 Munculnya teknik-teknik baru : Fuzzy, Neural Network, Genetic,…
 Proyek Penelitian di Jepang : Komputer Biologis
 Bidang lain yang berkaitan erat dengan bidang Artificial Intelligence
 Filsafat, Psikologi, Bahasa, …
 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 ?
…………………………………………………………………………………………………………..
…………………………………………………………………………………………………………..
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
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
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
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, …