Anda di halaman 1dari 127

Pengenalan Kecerdasan Buatan

(Artificial Intelligence / AI )
Sci-Fi
Natural Language Processing

http://en.wikipedia.org/wiki/Siri http://en.wikipedia.org/wiki/S_Voice http://en.wikipedia.org/wiki/Google_now


Vision / Perception
Robotic

http://www.sony.net/SonyInfo/News/Press_Archive/199905/99-046/index.html?
http://www.bubblews.com/news/1369371-asimo-the-robot PHPSESSID=7788ce41b49b7807c774c3f10f1d2e15
Game Playing
Decision Making
Self Driving Car
E-Commerce
Some Interesting Research and Application
- http://alice.pandorabots.com/
- http://en.akinator.com/
- https://www.wolframalpha.com/
- Deepface from Facebook
- Façade, NLP Based Game
- Singularity
- Google Deepmind
- Informasi perkembangan AI – Techcrunch, AITopics
Definisi AI
Apa itu kecerdasan ? …

Apa itu kecerdasan buatan / Artificial Intelligence (AI) ?


Mesin pintar ?
Berpikir seperti manusia ?
Bertindak seperti manusia ?
Pandai ?
Komputer pintar ?
Smart phone ?
AI vs Human Brain
AI Human Brain
Permanen Y N
Transferable Y N
Cost Murah Mahal
Consistent Y Bisa berubah
Documentable Y N
Time-consuming Fast Not fast
Creativity N Y
Experience N Y
Case-dependent Y N
Berkaitan dengan
Proses berpikir

Berkaitan dengan
Tingkah laku

• Thinking humanly dan acting humanly adalah 2 definisi yang


sangat luas. Pemikiran manusia yang di luar rasio, yaitu
refleks dan perasaan belum dapat ditirukan oleh komputer
• Definisi thinking rationally lebih sempit daripada acting
rationally, maka yang paling tepat untuk saat ini adalah acting
rationally dengan pendekatan rational agent.
Tingkat Kecerdasan AI
• Weak AI – mesin bertindak seakan-akan
mempunyai kecerdasan
• Strong AI – mesin berpikir dan bertindak
seperti manusia (Human Level AI). Strong
AI belum ada, dan hanya dapat dilihat di
film fiksi ilmiah, seperti Terminator, Matrix,
dll.
Human Level AI
1. Turing Test diajukan oleh Alan Turing untuk mengukur
apakah AI mempunyai kecerdasan selevel manusia.
Sampai saat ini belum ada yang dapat melewati Turing
Test ini.
2. Chinese Room adalah pemikiran oleh John Searle untuk
menyangkal bahwa AI dapat setara dengan manusia.
Pengertian Kecerdasan Buatan
• Komputer dapat melakukan aksi secara
rasional.
• Agen cerdas :
– autonomous
– bereaksi terhadap lingkungannya
– mengambil tindakan yang memaksimalkan
kesempatan untuk sukses / berhasil
(menyelesaikan tugas)
Dua metode utama di AI
1. Symbolic AI (mengutamakan representasi pengetahuan)
- Searching / Planning
- Reasoning / Logika

2. Learning (mengutamakan data)


REFERENSI
• Artificial Intelligence : A Modern Approach
4th Edition, by Russell & Norvig
• Artificial Intelligence : A Systems Approach
by M.Tim Jones
• Artificial Intelligence : A Guide to Intelligent
Systems 2nd edition by Michael
Negnevitsky
• Kecerdasan Buatan (Modul), by T.Sutojo,
M.Kom, Edy Mulyanto, M.Kom, Dr. Vincent
Suhartono
• Artificial Intelligence by Suyanto, ST, MSc
Agen Cerdas
Agen Cerdas
• Sistem cerdas adalah kumpulan dari beberapa agen cerdas
• Tiap individu agen cerdas mempunyai tugas tertentu
• Performa agen cerdas diukur dengan kondisi lingkungannya
• Bertindak rasional pada agen cerdas bergantung pada :
– ukuran kinerja yang mendefinisikan kriteria keberhasilan
– Pengetahuan agen tentang lingkungan
– Aksi yang dapat dilakukan agen
– Rangkaian persepsi
Contoh agen cerdas : Dalam Google Maps ada agen cerdas
untuk menentukan jalur, ada agen cerdas untuk estimasi waktu
Desain agen cerdas :
P : Performance measure (ukuran kinerja/tujuan)
Berkaitan dengan tugas atau fungsi dari agen cerdas, misal menentukan jalur
yang tepat
E : Environment (lingkungan)
Merupakan “trigger” dari tindakan agen cerdas, ini adalah hal-hal yang dilihat
oleh agen cerdas dalam bertindak
A : Actuators (aksi / tindakan)
S : Sensor
Cara agen cerdas melihat kondisi lingkungan
PEAS Description
P – Performance measure (ukuran kinerja)
E – Environment (lingkungan)
A – Actuators (aksi / tindakan)
S – sensor

Contoh :

Jenis P E A S
agen
Penentu Menunjuk Jarak, Menentukan jalur GPS
jalur pada kan jalur waktu,
Google yang lokasi
Maps tepat dan
cepat
Jenis Lingkungan yang Dilihat Agen Cerdas
- Fully vs partially observable
- Fully : sensor mendeteksi tiap aspek di lingkungan
- Partially : ada yang tidak bisa dideteksi sensor
- Single vs multi agent
- Single : tidak ada agen cerdas lain
- Multi : ada agen cerdas lain
- Episodic vs sequential
- Episodic : aksi/tindakan sekarang tidak berpengaruh ke selanjutnya
- Sequential : aksi/tindakan sekarang berpengaruh ke selanjutnya
- Deterministic vs stochastic
- Deterministic : lingkungannya sifatnya pasti
- Stochastic : pada lingkungan ada ketidakpastian
- Static vs dynamic
- Static : lingkungan tidak berubah-ubah
- Dynamic : lingkungan selalu berubah
- Discrete vs continuous
CONTOH :

Agen cerdas penentu rute di Google Maps


- Fully : lokasi, jarak, waktu terlihat semua
- Multi agent : bekerja sama dengan agen cerdas untuk estimasi waktu
- Episodic : satu hasil pencarian tidak berpengaruh ke pencarian berikutnya
- Deterministic : peta pasti sudah ada, tidak berubah
- Static : peta tidak berubah-ubah terus
- Discrete : persepsinya hanya lokasi, jarak dan waktu
Agen Cerdas
Agen = arsitektur + program
- Reflex : aksinya hanya berdasarkan persepsi saat ini,
umumnya menggunakan if-then
- Model-based : dapat menyimpan kondisi dari
lingkungannya, mempunyai pengetahuan tentang state
dan bagaimana lingkungannya bekerja
- goal-based : penambahan informasi berupa tujuan
- utility-based : adanya ukuran dalam pencapaian tujuan
- Learning agent : memungkinkan untuk bekerja di
lingkungan yang sama sekali asing baginya
REFLEX AGENT
MODEL BASED AGENT
GOAL BASED AGENT
UTILITY BASED AGENT
LEARNING AGENT
Representasi Permasalahan
Problem Solving Agent
• Salah satu jenis goal-based agent adalah
PROBLEM SOLVING AGENT.
• Metode yang digunakan oleh Problem Solving
Agent dalam menemukan solusi dari suatu
masalah adalah SEARCHING / PENCARIAN.
• Pencarian : metode untuk mencari urutan
tindakan untuk mencapai solusi.
• Syarat jenis lingkungan : fully observable,
discrete, deterministic.
• Dua jenis algoritma pencarian :
– Uninformed search
– Informed search
Sistem untuk Penyelesaian Masalah
• Mendefinisikan masalah dengan tepat.
– Pendefinisian ini mencakup spesifikasi yang tepat
mengenai keadaan awal dan solusi yang diharapkan.
• Masalah dapat didefinisikan secara formal dengan 5
komponen berikut :
– Initial state (keadaan awal)
– Action description (deskripsi aksi)
– Transition model (model transisi)
– Goal test (uji solusi)
– Path cost (kompensasi jalur)
Contoh :
1. Initial State, state sekarang (s) :
In(Semarang)
2. Action Description (a) :
{Go(Demak), Go(Kendal),
Go(Salatiga, Go(Purwodadi)}
3. Transition Model : RESULT(s,a) =
RESULT(In(Semarang),
Go(Kendal)) = In(Kendal)
4. Goal Test, misal tujuan adalah
Surakarta maka goal adalah
{In(Surakarta)}
5. Path Cost, misal menggunakan
jarak, Semarang ke Purwodadi
adalah 65km, maka c(s,a,s’) =
Catatan : 1-3 mendefinisikan ruang c(In(Semarang), Go(Purwodadi),
Keadaan / ruang masalah 65)
Representasi dalam Graf

• Graf terdiri dari 2 elemen utama, yaitu :


• Node : menggambarkan status / aksi / lokasi dari agen
cerdas
• Edge : menggambarkan hubungan antar node
• Contoh graf dapat dilihat pada slide berikut yang
merepresentasikan peta dalam bentuk graf
Contoh representasi Graf

A
B
G
C

K L
Representasi dalam Graf
• Peta atau pencarian lokasi adalah salah 1
permasalahan paling mudah untuk direpresentasikan
dalam graf, graf juga dapat merepresentasikan
permasalahan yang lain.
• Perhatikan contoh pada slide berikut
Sylvester, Nenek, Tweety dan Sekeranjang Jagung
akan Menyeberang
Aturan

Sylvester dan Tweety tidak boleh berdua saja tanpa


ada nenek di tempat yang sama

Sylvester dan sekeranjang jagung boleh berdua


saja tanpa ada nenek di tempat yang sama

Tweety dan sekeranjang jagung tidak boleh berdua


saja tanpa ada nenek di tempat yang sama
Aturan

Max penumpang perahu adalah 2 penumpang


dan hanya nenek yang bisa mengemudikan
perahu
• Permasalahan ini bisa digambarkan sebagai berikut (supaya dapat dipahami
komputer) :
• Ada : wakili dengan 1
• Tidak ada : wakili dengan 0
• Urutannya adalah (Sylvester, Nenek, Tweety dan Sekeranjang Jagung), maka bisa
digambarkan misal :
• Asal(1,1,1,1) maka (Sylvester, Nenek, Tweety dan Sekeranjang Jagung) semuanya
ada di daerah asal
• Contoh lagi : Asal(1,0,0,1) maka Nenek dan Tweety tidak ada di daerah asal
(dilambangkan sebagai 0)
• Berdasarkan aturan maka ada beberapa state yang tidak valid, yaitu :
• (1,1,0,0) karena Tweety akan berdua saja dengan jagung
• (1,0,1,0) karena Sylvester akan berdua saja dengan Tweety
• dst
1111 (semua masih di asal)

Representasi 1001 (sylvester dan jagung di asal)

dalam Graf (sylvester, nenek, jagung di asal)


1101

(jagung di asal) (sylvester di asal)


0001 1000

(sylvester, nenek,Tweety
(nenek, tweety, 0111 1110 di asal)
Jagung di asal)

0010 (tweety di asal)

(nenek dan tweety di asal)


0110

(tidak ada yang di asal)


0000
Uninformed Search
Metode Pelacakan / 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.
Kriteria
• Completeness : apakah metode tersebut menjamin
penemuan solusi jika solusinya memang ada?
• Time complexity : berapa lama waktu yang
diperlukan?
• Space complexity : berapa banyak memori yang
diperlukan?
• Optimality : apakah metode tersebut menjamin
menemukan solusi yang terbaik jika terdapat
beberapa solusi berbeda?
Teknik Pencarian
• Pencarian buta (uninformed/blind search) : tidak ada
informasi awal yang digunakan dalam proses
pencarian
– Pencarian melebar pertama (Breadth – First Search)
– Pencarian mendalam pertama (Depth – First Search)
• Pencarian terbimbing (informed/heuristic search) :
adanya informasi awal yang digunakan dalam proses
pencarian
– A*
Breadth First Search
• Menggunakan FIFO (Antrian / Queue)
• Algoritma :
1. Masukkan node akar ke queue
2. Ambil node dari awal queue dan cek apakah merupakan solusi
3. Jika solusi maka pencarian selesai, return hasil
4. Jika bukan solusi, masukkan seluruh node anak ke dalam
queue
5. Jika queue kosong dan tiap node sudah dikunjungi, pencarian
selesai
6. Jika queue tidak kosong, ulang pencarian mulai dari poin 2
Breadth First Search
• Keuntungan :
– tidak akan menemui jalan buntu, menjamin ditemukannya solusi (jika
solusinya memang ada) dan solusi yang ditemukan pasti yang paling
baik
– jika ada 1 solusi, maka breadth – first search akan menemukannya,jika
ada lebih dari 1 solusi, maka solusi minimum akan ditemukan.
– Kesimpulan : complete dan optimal
• Kelemahan :
– membutuhkan memori yang banyak, karena harus menyimpan semua
simpul yang pernah dibangkitkan. Hal ini harus dilakukan agar BFS
dapat melakukan penelusuran simpul-simpul sampai di level bawah
– membutuhkan waktu yang cukup lama
Contoh : Dari Semarang (C) ke Surakarta (L)

A
B
G
C

K L
Langkah Penyelesaian
Sebelum mulai mengerjakan, perhatikan dulu keterangan berikut. ‌‌

Node dilambangkan dengan 1 huruf, seperti A, B dst ‌‌

Jalur dilambangkan dengan urutan node, misal ABC maka urutannya/jalurnya adalah node A, lalu ke B, lalu ke C. ‌‌

Jika ada antrian semacam ini : AC AB ABC, maka cara membacanya :


 ada 3 jalur yang antri, yaitu AC, AB dan ABC
 antrian paling depan adalah paling kiri, jadi AC adalah antrian paling depan.
 Sebaliknya antrian paling belakang di sebelah paling kanan. ABC berarti paling belakang / terakhir.
 jika ada jalur baru masuk antrian maka dia masuk di sebelah kanan. Contoh : AC AB ABC kemudian ada jalur
baru ABCD masuk antrian, maka dia masuk dari kanan -> AC AB ABC ABCD
 Jika sudah diproses maka jalur akan hilang dari antrian Misal : AC AB ABC ABCD ‌jika AC(antrian paling
depan) sudah diproses maka hilang dari antrian, ganti selanjutnya : AB ABC ABCD
Langkah Penyelesaian
1. Masukkan C ke queue, beri tanda visited untuk C, cek apakah C adalah tujuan
• C, visited C
2. C bukan tujuan, masukkan cabang dari C ke queue, proses antrian paling depan dan set visited
• CH CI CD CB, visited C,H
3. H bukan tujuan, masukkan cabang dari H ke queue, proses antrian paling depan dan set visited
• CI CD CB CHL CHG CHD, visited C,H,I
4. I bukan tujuan, masukkan cabang dari I ke queue, proses antrian paling depan dan set visited
• CD CB CHL CHG CHD CIK CIJ, visited C,H,I,D
5. D bukan tujuan, masukkan cabang dari D ke queue, proses antrian paling depan dan set visited
• CB CHL CHG CHD CIK CIJ CDH CDF CDE, visited C,H,I,D,B
6. B bukan tujuan, masukkan cabang dari B ke queue, proses antrian paling depan dan set visited
• CHL CHG CHD CIK CIJ CDH CDF CDE CBA, visited C,H,I,D,B,L
7. L adalah tujuan maka masukkan CHL sebagai jalur yang dipilih
Depth First Search
• Pencarian dilakukan pada salah satu cabang dan mencarinya
sampai level yang paling dalam dari cabang tersebut.
• Menggunakan LIFO (stack)
• Algoritma :
1. Tempatkan node awal di atas stack
2. Jika stack kosong, stop pencarian, return failure
3. Jika node merupakan goal, maka stop pencarian dan
return success
4. Jika node di atas stack bukan merupakan solusi, expand
dan tempatkan anak2nya di atas tumpukan
5. Selama belum ditemukan solusi, kembali ke langkah 2
Depth First Search
• Keuntungan :
– membutuhkan memori relatif kecil, karena hanya node-node pada
lintasan yang aktif saja yang disimpan
– Secara kebetulan, akan menemukan solusi tanpa harus menguji lebih
banyak lagi dalam ruang keadaan, jadi jika solusi yang dicari berada
pada level yang dalam dan paling kiri, maka DFS akan menemukannya
dengan cepat (waktu cepat)
• Kelemahan :
– Memungkinkan tidak ditemukannya tujuan yang diharapkan, karena
jika pohon yang dibangkitkan mempunyai level yang sangat dalam (tak
terhingga) / tidak complete karena tidak ada jaminan menemukan
solusi
– Hanya mendapat 1 solusi pada setiap pencarian, karena jika terdapat
lebih dari satu solusi yang sama tetapi berada pada level yang
berbeda, maka DFS tidak menjamin untuk menemukan solusi yang
paling baik (tidak optimal).
Contoh : Dari Semarang (C) ke Surakarta (L)

A
B
G
C

K L
Langkah Penyelesaian
Sebelum mulai mengerjakan, perhatikan dulu keterangan berikut. ‌‌

Node dilambangkan dengan 1 huruf, seperti A, B dst ‌‌

Jalur dilambangkan dengan urutan node, misal ABC maka urutannya/jalurnya adalah node A, lalu ke B, lalu ke C. ‌‌

Jika ada antrian semacam ini : AC AB ABC, maka cara membacanya :


 ada 3 jalur yang antri, yaitu AC, AB dan ABC
 antrian paling depan adalah paling kiri, jadi AC adalah antrian paling depan.
 Sebaliknya antrian paling belakang di sebelah paling kanan. ABC berarti paling belakang / terakhir.
 jika ada jalur baru masuk antrian maka dia masuk di sebelah kanan. Contoh : AC AB ABC kemudian ada jalur
baru ABCD masuk antrian, maka dia masuk dari kanan -> AC AB ABC ABCD
 Jika sudah diproses maka jalur akan hilang dari antrian Misal : AC AB ABC ABCD ‌jika AC(antrian paling
depan) sudah diproses maka hilang dari antrian, ganti selanjutnya : AB ABC ABCD
Langkah Penyelesaian
Keterangan : bedanya dengan BFS, disini yang dipilih adalah urutan paling belakang,
yaitu paling kanan. Jika BFS yang dicek urutan pertama (paling kiri)

1. Masukkan C ke stack, beri tanda visited untuk C, cek apakah C adalah tujuan
• C, visited C
2. C bukan tujuan, masukkan cabang dari C ke stack, proses node paling belakang
dan set visited
• CB CH CD CI, visited C,I
3. I bukan tujuan, masukkan cabang dari I ke stack, proses node paling belakang dan
set visited
• CB CH CD CIJ CIK, visited C,I,K
4. K bukan tujuan, masukkan cabang dari K ke stack, proses node paling belakang
dan set visited
• CB CH CD CIJ CIKL, visited C,I,K,L
5. L adalah tujuan maka jalur yang dipilih adalah CIKL
CONTOH LAIN : BAGAIMANA
REPRESENTASI GRAF DARI PERMASALAHAN
BERIKUT ?
BUAT JADI GRAF : BERI NODE DAN EDGE
MISAL ADA MUSUH DI NODE C :
BAGAIMANA KNIGHT DI NODE A
MENGHAMPIRI SPIDER DI NODE C ?
START : A
GOAL / TUJUAN : C
START : A
GOAL / TUJUAN : C
LANGKAH PENYELESAIAN DENGAN BFS
1. A, sudah dicek : A
2. AB AH, sudah dicek : A; B
3. AH ABC ABG, sudah dicek : A; B; H ‌
4. ABC ABG AHG, sudah dicek : A; B; H; C ‌

Berarti sekarang C dicek. Tandai sudah dicek. C adalah tujuan. Maka AI akan
memilih ABC sebagai jalur dari A ke C. ‌
LANGKAH PENYELESAIAN DENGAN DFS
1. A, SUDAH DICEK : A
2. AB AH, SUDAH DICEK : A, H
3. AB AHG, SUDAH DICEK : A, H, G
4. AB AHGB AHGF, SUDAH DICEK : A, H, G, F
5. AB AHGB AHGFE AHGFC, SUDAH DICEK : A, H, G, F, C

JADI JALURNYA ADALAH AHGFC


KELEBIHAN DARI BFS :
- MENGHASILKAN JALUR YANG PENDEK (NOTE : BUKAN JARAK TAPI URUTAN NODE). SEBAGAI CONTOH : MISAL DARI A
KE C ADA JALUR AC DAN ABC, MAKA AC ITU YANG PALING PENDEK. BFS AKAN PASTI MENEMUKAN YANG AC (YANG
PALING PENDEK )

KELEMAHAN DARI BFS :


- PEMROSESAN BERAT, KARENA SELALU CEK SEMUA CABANG TERDEKAT.

KELEBIHAN DARI DFS :


- JIKA MENEMUKAN JALUR YANG TEPAT MAKA PEMROSESAN AKAN SANGAT CEPAT
- DIA TIDAK MENGECEK SEMUA CABANG TERDEKATNYA - BISA MENGHASILKAN VARIASI JALUR

KELEMAHAN DARI DFS :


- JIKA CABANG YANG DIPILIH TIDAK MENGANDUNG TUJUAN DAN TERLALU DALAM
Informed Search
Informed Search / Pencarian
Heuristik
• Kelemahan blind search :
– Waktu akses lama
– Memori yang dibutuhkan besar
– Ruang masalah besar – tidak cocok – karena keterbatasan
kecepatan komputer dan memori
• Solusi - Pencarian heuristik
• Pencarian heuristik – menggunakan suatu fungsi yang
menghitung biaya perkiraan / estimasi dari suatu
simpul tertentu menuju ke simpul tujuan (disebut
fungsi heuristik) – h(n)
Contoh
• Kasus 8-puzzle
– Ada 4 operator :
• Ubin kosong digeser ke kiri
• Ubin kosong digeser ke kanan
• Ubin kosong digeser ke bawah
• Ubin kosong digeser ke atas
Jika informasinya jumlah ubin yang
posisinya benar
• Diberikan informasi khusus :
– Untuk jumlah ubin yang menempati posisi yang benar. Ini
menjadi nilai h
– Jadi misal jumlah ubin yang posisinya benar adalah 5 maka
h=5
– Jumlah yang lebih tinggi adalah yang lebih diharapkan
(lebih baik)
Jika informasinya adalah jumlah
ubin yang posisinya salah
• Diberikan informasi khusus :
– Untuk jumlah ubin yang menempati posisi yang salah. Jadi
jika posisi yang salah ada 3 maka h = 3
– Jumlah yang lebih kecil adalah yang diharapkan (lebih baik)
Jika informasinya adalah total
gerakan yang dibutuhkan
• Menghitung total gerakan yang diperlukan untuk mencapai
tujuan. Jadi misal butuh 3 gerakan maka h =3.
• Jumlah yang lebih kecil adalah yang diharapkan (lebih baik)
Berikut ini, metode yang tergolong heuristic / informed search :
a. Generate and Test (Pembangkitan dan
Pengujian)
b. Best First Search
1. Greedy Best First Search
2. A*
c. Hill Climbing / HC (Pendakian Bukit)
1. Simple HC
2. Steepest-Ascent HC
Generate and Test (GT)
• 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 pertama.
Contoh Kasus
• Contoh : Traveling Salesman Problem (TSP)
– Seorang salesman ingin mengunjungi n kota.
– Jarak antara tiap-tiap kota sudah diketahui.
– Kita ingin mengetahui rute terpendek dimana setiap kota
hanya boleh dikunjungi tepat 1 kali.
– Misal ada 4 kota dengan jarak antara tiap-tiap kota seperti
berikut ini :
Contoh Kasus
• Penyelesaian dengan metode Generate and Test
Contoh Kasus
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…
Best First Search
• Node yang dipilih berdasarkan evaluation
function f(n), f(n) paling rendah akan dipilih
• Fungsi heuristik h(n) adalah estimasi jarak
terdekat antara node tertentu n dengan node
tujuan.
• Jika h(n) = 0 maka n adalah node tujuan
Greedy Best First Search
• Pada greedy best first search nilai fungsi
evaluasi sama dengan nilai heuristik f(n) =
h(n)
Keterangan : angka dalam kurung adalah nilai heuristic
L (h(n)). Dalam kasus Ini h(n) ini perkiraan jarak terdekat
J antara suatu node dengan tujuan. h(n) = f(n) maka
G I
nilai terkecil digunakan untuk pemilihan jalur.
A : UDINUS (5)
F B : Siliwangi (6)
H C : Imam Bonjol (4)
D : Tugu Muda (3)
E : Kalisari (6)
K C D E F : Pemuda (4)
G : Gajah Mada (2)
H : Veteran (3)
A B I : Pahlawan (2)
J : Simpang 5 (0)
K : Tawang (8)
1. (5 A) – VISITED (A) L : Sriwijaya (4)
2. (4 A C) (6 A B) – VISITED (A B C)
3. (3 A C D) (4 A C F) (6 A B)(8 A C K) – VISITED (A B C K F D)
4. (0 A C D J) (4 A C F)(6 A C D E) (6 A B)(8 A C K) – VISITED (A B C K F D J E)
SOLUSI A C D J

*CETAK TEBAL : PATH BARU


A*
• Pada A* nilai fungsi evaluasi sama dengan
nilai heuristik ditambah dengan f(n) = h(n)
+g(n)
• h(n) adalah nilai heuristik (jarak terdekat dari
node n ke tujuan).
• g(n) adalah cost dari start ke node n.
2
L
2 1
G J I

2
3
F
3
H
node(h(n))
2 A : UDINUS (5)
2 2 B : Siliwangi (6)
3 C : Imam Bonjol (4)
K C D E D : Tugu Muda (3)
2
E : Kalisari (6)
4
1 F : Pemuda (4)
G : Gajah Mada (2)
2
H : Veteran (3)
A B I : Pahlawan (2)
J : Simpang 5 (0)
K : Tawang (8)
L : Sriwijaya (4)
2 L node(h(n))
2 1
A : UDINUS (5)
G J I B : Siliwangi (6)
2 C : Imam Bonjol (4)
3
F D : Tugu Muda (3)
3
H E : Kalisari (6)
2 F : Pemuda (4)
2 2 G : Gajah Mada (2)
K C D E 3
H : Veteran (3)
4 1 I : Pahlawan (2)
2 J : Simpang 5 (0)
A B K : Tawang (8)
L : Sriwijaya (4)
1. (5 A) – VISITED (A)
2. (5 A C)(8 A B) – VISITED (A C)
3. (5 A C K) (6 A C D) (7 A C F) (8 A B) – VISITED (A C K)
4. (6 A C D) (7 A C F) (8 A B) – VISITED (A C K D)
5. (6 A C D J) (7 A C F)(8 A B)(11 A C D E) – VISITED (A C K D J)
SOLUSI (A C D J)

*CETAK TEBAL : PATH BARU


Hill Climbing (HC)
• Menyelesaikan masalah yang mempunyai beberapa solusi
• Ada solusi yang lebih baik daripada solusi lain
Hill Climbing
• Contoh : Traveling Salesman Problem (TSP)
– Seorang salesman ingin mengunjungi n kota.
– Jarak antara tiap-tiap kota sudah diketahui.
– Kita ingin mengetahui rute terpendek dimana setiap kota
hanya boleh dikunjungi tepat 1 kali.
– Misal ada 4 kota dengan jarak antara tiap-tiap kota seperti
berikut ini :
Hill Climbing
• Solusi – solusi yang mungkin dengan menyusun kota-kota
dalam urutan abjad, misal :
– A – B – C – D : dengan panjang lintasan (=19)
– A – B – D – C : (=18)
– A – C – B – D : (=12)
– A – C – D – B : (=13)
– dst
Simple Hill Climbing
• Ruang keadaan berisi semua kemungkinan lintasan yang
mungkin.
• Operator digunakan untuk menukar posisi kota-kota yang
bersebelahan.
• Fungsi heuristik yang digunakan adalah panjang lintasan yang
terjadi.
• Operator yang akan digunakan adalah menukar urutan posisi
2 kota dalam 1 lintasan. Bila ada n kota, dan ingin mencari
kombinasi lintasan dengan menukar posisi urutan 2 kota,
maka akan didapat sebanyak :
Simple Hill Climbing
• 6 kombinasi tsb digunakan sbg operator :
– Tukar 1,2 = menukar urutan posisi kota ke – 1 dengan kota
ke – 2
– Tukar 2,3 = menukar urutan posisi kota ke – 2 dengan kota
ke – 3
– Tukar 3,4 = menukar urutan posisi kota ke – 3 dengan kota
ke – 4
– Tukar 4,1 = menukar urutan posisi kota ke – 4 dengan kota
ke – 1
– Tukar 2,4 = menukar urutan posisi kota ke – 2 dengan kota
ke – 4
– Tukar 1,3 = menukar urutan posisi kota ke – 1 dengan kota
ke – 3
Simple Hill Climbing
• Keadaan awal, lintasan ABCD (=19).
• Level pertama, hill climbing mengunjungi BACD (=17), BACD (=17) < ABCD
(=19), sehingga BACD menjadi pilihan selanjutnya dengan operator Tukar
1,2
• Level kedua, mengunjungi ABCD, karena operator Tukar 1,2 sudah dipakai
BACD, maka pilih node lain yaitu BCAD (=15), BCAD (=15) < BACD (=17)
• Level ketiga, mengunjungi CBAD (=20), CBAD (=20) > BCAD (=15), maka
pilih node lain yaitu BCDA (=18), pilih node lain yaitu DCAB (=17), pilih
node lain yaitu BDAC (=14), BDAC (=14) < BCAD (=15)
• Level keempat, mengunjungi DBAC (=15), DBAC(=15) > BDAC (=14), maka
pilih node lain yaitu BADC (=21), pilih node lain yaitu BDCA (=13), BDCA
(=13) < BDAC (=14)
• Level kelima, mengunjungi DBCA (=12), DBCA (=12) < BDCA (=13)
• Level keenam, mengunjungi BDCA, karena operator Tukar 1,2 sudah
dipakai DBCA, maka pilih node lain yaitu DCBA, pilih DBAC, pilih ABCD,
pilih DACB, pilih CBDA
• Karena sudah tidak ada node yang memiliki nilai heuristik yang lebih kecil
dibanding nilai heuristik DBCA, maka node DBCA (=12) adalah lintasan
terpendek (SOLUSI)
Algoritma Simple Hill Climbing
• Evaluasi state awal, jika state awal sama dengan tujuan, maka
proses berhenti. Jika tidak sama dengan tujuan maka lanjutkan
proses dengan membuat state awal sebagai state sekarang.
• Kerjakan langkah berikut sampai solusi ditemukan atau sampai tidak
ada lagi operator baru yang dapat digunakan dalam state sekarang:
– Cari sebuah operator yang belum pernah digunakan dalam state
sekarang dan gunakan operator tersebut untuk membentuk state
baru.
– Evaluasi state baru.
• Jika state baru adalah tujuan, maka proses berhenti
• Jika state baru tersebut bukan tujuan tetapi state baru lebih baik daripada
state sekarang, maka buat state baru menjadi state sekarang.
• Jika state baru tidak lebih baik daripada state sekarang, maka lanjutkan
kelangkah sebelumnya.
Steepest Hill Climbing
• Mirip dengan simple hill climbing
• Perbedaannya dengan simple hill climbing :
– semua suksesor dibandingkan, dan yang paling dekat
dengan solusi yang dipilih
– Pada simple hill climbing, node pertama yang jaraknya
terdekat dengan solusi yang dipilih
• Keadaan awal, lintasan ABCD (=19).
• Level pertama, hill climbing memilih nilai heuristik terbaik yaitu
ACBD (=12) sehingga ACBD menjadi pilihan selanjutnya.
• Level kedua, hill climbing memilih nilai heuristik terbaik, karena
nilai heuristik lebih besar dibanding ACBD, maka hasil yang
diperoleh lintasannya tetap ACBD (=12)
Algoritma Steepest Hill Climbing
• Evaluasi keadaan awal (Initial State). Jika keadaan awal sama dengan
tujuan (Goal state) maka kembali pada initial state dan berhenti
berproses. Jika tidak maka initial state tersebut jadikan sebagai
current state.
• Mulai dengan current state = initial state.
• Dapatkan semua pewaris (successor) yang dapat dijadikan next
state pada current statenya dan evaluasi successor tersebut dengan
fungsi evaluasi dan beri nilai pada setiap successor tersebut.
• Jika salah satu dari successor tersebut mempunyai nilai yang lebih
baik dari current state maka jadikan successor dengan nilai yang
paling baik tersebut sebagai new current state.
• Lakukan operasi ini terus menerus hingga tercapai current state =
goal state atau tidak ada perubahan pada current statenya.
Logika

References :
- Russel, S., & Norvig, P. (2003). Artificial Intelligence A Modern Approach . New Jersey :
Pearson Education, Inc.
- Suyanto. (2011). Artificial Intelligence . Bandung : Informatika .
- Sutojo, T., Mulyanto, E., & Suhartono, V. (2011). Kecerdasan Buatan . Yogyakarta :
C.V.Andi Offset.
Logika

● Bentuk representasi pengetahuan yang


paling tua
● Proses menarik kesimpulan (inferensi)
berdasarkan fakta yang telah ada
● Terdiri dari :
●Logika proposisi
●First order logic
Logika Proposisi

● Proposisi – suatu pernyataan yang


dapat bernilai benar atau salah
● Ditunjukkan dengan simbol-simbol
(contoh: P dan Q)
Logika Proposisi
● Penggabungan proposisi memakai
operator logika :
− Konjungsi : Λ (and)
− Disjungsi : V (or)
− Negasi : ¬ (not)
− Implikasi : → (if then)
− Ekuivalensi : ↔ (if and only if)
Contoh Logika Proposisi
• Jika hujan turun sekarang maka saya
tidak pergi ke pasar
– Kalimat tersebut dapat ditulis : p → q
– Dimana :
• p = hujan turun
• q = saya tidak pergi ke pasar
Tabel Kebenaran Untuk
Hubungan Logika
Tabel Kebenaran Untuk
Hubungan Negasi
Contoh
• p : Bumi adalah satu-satunya planet di jagat raya yang
mempunyai kehidupan. (B)
• q : Satu dekade sama dengan 10 tahun. (B)
• r : 1 + 1 = 3. (S)

• Ket : B = Benar (True), S = Salah (False)


Contoh
Aturan Inferensi dalam Logika
Proposisi
• Modus Ponens / Penghilangan Implikasi
A -> B, A
B
• Penghilangan AND
A1 ^ A2 ^ A3 ^ … ^ An
Ai
• Penambahan AND
A1, A2, A3, … , An
A1^A2^A3^…^An
• Penambahan OR
Ai
A1 v A2 v A3 v … v An
Aturan Inferensi dalam Logika Proposisi
• Penghilangan double negasi
--A
A
• Resolusi unit
A v B, -B
A
• Resolusi
A v B, -B v C EKIVALEN DENGAN -A -> B, B -> C
AvC -A -> C
Aturan Inferensi dalam Logika Proposisi
• Kontrapositif
P -> Q
-Q -> -P
• Silogisme
P -> Q
Q -> R
P -> R
Aturan Inferensi dalam Logika Proposisi
• De Morgan
-(P ^ Q) , -(P v Q)
-P v -Q -P ^ -Q
• Argumen Konjungtif
-(P ^ Q) , -(P ^ Q)
P Q
-Q -P
Contoh Kasus
Bagaimana mobil dapat tahu posisi mercusuar dengan
menggunakan logika proposisi dan aturan inferensi di atas ?

Mobil = M
Cahaya = C
Mercusuar = S

Misal cahaya di
2,2 maka
simbolnya
C2,2
Contoh kasus
• Aturan-aturan (dilambangkan dengan
logika proposisi)
– R1: -C1,1 => -S1,1 ^ -S1,2 ^ -S2,1
– R2: -C1,2 => -S1,1 ^ -S1,2 ^ -S1,3 ^ -S2,2
– R3: -C1,3 => -S1,2 ^ -S1,3 ^ -S2,3
– R4: -C2,1 => -S1,1 ^ -S2,1 ^ -S2,2 ^ -S3,1
– R5: C2,2 => S2,1 v S2,2 v S2,3 v S3,2 v S1,2
– R6: -C2,3 => -S2,2 ^ -S2,3 ^ -S3,3
– R7: C3,1 => S2,1 v S3,1 v S3,2
– R8: C3,2 => S3,1 v S3,2 v S3,3 v S2,2
– R9: C3,3 => S2,3 v S3,2 v S3,3
Contoh Kasus
• Inferensi (menggunakan aturan inferensi
logika proposisi)
– Modus ponens untuk R1 : -S1,1 ^ -S1,2 ^ -S2,1
– And elimination : -S1,1 -S1,2 -S2,1
– Modus ponens untuk R2 : -S1,1 ^ -S1,2 ^ -S1,3 ^ -S2,2
– And elimination : -S1,1 -S1,2 -S1,3 -S2,2
– Modus ponens untuk R3 : -S1,2 ^ -S1,3 ^ -S2,3
– And elimination : -S1,2 -S1,3 -S2,3
– Modus ponens untuk R4 : -S1,1 ^ -S2,1 ^ -S2,2 ^ -S3,1
– And elimination : -S1,1 -S2,1 -S2,2 -S3,1
– Resolusi untuk R5 : S2,1 v S2,2 v S2,3 v S3,2 v S1,2, -S2,1 :
S2,2 v S2,3 v S3,2 v S1,2
S2,2 v S2,3 v S3,2 v S1,2, -S2,2 : S2,3 v
S3,2
S2,3 v S3,2 v S1,2, -S2,3 : S3,2 v S1,2
First Order Logic

References :
- Russel, S., & Norvig, P. (2003). Artificial Intelligence A Modern Approach . New Jersey :
Pearson Education, Inc.
- Suyanto. (2011). Artificial Intelligence . Bandung : Informatika .
- Sutojo, T., Mulyanto, E., & Suhartono, V. (2011). Kecerdasan Buatan . Yogyakarta :
C.V.Andi Offset.
First Order Logic
• Konsep dan aturan sama dengan logika
proposisi
• Membagi sebuah pernyataan menjadi 2
bagian :
• Argumen
• Predikat
PREDICATE (Individual [object]1, Individual [object]2)
Aturan Inferensi Pada Logika Predikat
Order Pertama
• Aturan sama dengan logika proposisi dengan tambahan :
– Universal elimination
– Existential elimination
First Order Logic
• Contoh :
• Joko suka bahasa Inggris 🡪 Suka(joko, bahasa inggris)
• Predikat (keterangan) : suka, argumen (objek) : joko, bahasa
inggris
• Toni adalah seorang mahasiswa 🡪 mahasiswa(Toni)
First Order Logic
• Contoh :
• Andi adalah seorang laki-laki : A
• Ali adalah seorang laki-laki : B
• Amir adalah seorang laki-laki : C
• Anto adalah seorang laki-laki : D
• Agus adalah seorang laki-laki : E
• Dapat ditulis : laki2(x), dimana x adalah
variabel yang bisa diganti dengan Andi,
Ali,dll
Logika Predikat Order Pertama
• Contoh :
teman(Andi,Joko)
teman(ayah_dari(Joni),ayah_dari(Andre))
dimana :
argument : ayah_dari(Joni) adalah Andi
argument : ayah_dari(Andre) adalah Joko
predikat : teman
Logika Predikat Order Pertama
Quantifier :
•universal quantifier ∀ (untuk setiap)
•existensial quantifier ∃ (terdapat)
Contoh
• Andi adalah seorang mahasiswa.
• Andi masuk Jurusan Elektro.
• Setiap mahasiswa elektro pasti mahasiswa teknik.
• Kalkulus adalah matakuliah yang sulit.
• Setiap mahasiswa teknik pasti akan mengambil mata
kuliah kalkulus.
• Setiap mahasiswa pasti akan suka terhadap suatu
matakuliah.
• Mahasiswa yang tidak pernah hadir pada kuliah matakuliah
sulit, maka mereka pasti tidak suka terhadap matakuliah
tersebut.
• Andi tidak pernah hadir kuliah matakuliah kalkulus.
Contoh
• mahasiswa(Andi).
• Elektro(Andi).
• ∀x:Elektro(x)→Teknik(x).
• sulit(Kalkulus).
• ∀x:Teknik(x) → ambil(x,Kalkulus)
• ∀x:∃y:suka(x,y).
• ∀x:∀y:mahasiswa(x)∧sulit(y) ∧ ¬hadir(x,y)→
¬suka(x,y).
• ¬hadir(Andi,Kalkulus).
Contoh Aplikasi Pada Prolog (1)
PENENTUAN JENIS SMARTPHONE :
Fakta :
• Galaxy S7 adalah smartphone yang penggunaannya
fleksibel
• Galaxy S7 aplikasinya banyak.
Aturan :
• Sistem operasi Android adalah sistem operasi yang
penggunaannya fleksibel dan aplikasinya banyak.

• Sistem operasi iOS adalah sistem operasi yang


penggunaannya mudah dan aplikasinya berkualitas.

Pertanyaan : Apa sistem operasi yang digunakan oleh


Galaxy S7 ?
%aturan
sistemoperasi(X,ios):-
penggunaan(X,mudah),
aplikasi(X,berkualitas).
sistemoperasi(X,android):-
penggunaan(X,fleksibel), aplikasi(X,banyak).

%fakta
aplikasi(galaxys7,banyak).
penggunaan(galaxys7,fleksibel).
Contoh Aplikasi Pada Prolog (2)
• Hukum di negara Indonesia tidak memperbolehkan
transaksi dan kepemilikan senjata api secara personal
bagi warga negaranya. Frank, Mike dan Alex adalah
orang-orang yang berkebangsaan Australia memiliki
pistol, dan dia mendapatkannya dari Joni, seorang yang
berkebangsaan Indonesia. Buktikan bahwa Joni adalah
seorang penjahat !
%aturan
penjahat(X):-
warganegara(X,indonesia),memiliki(X,Y),senjataapi(Y).
memiliki(X,Y) :- transaksi(X,Y),senjataapi(Y).
transaksi(X,Y) :- jual(X,Y,Z), senjataapi(Y).

%fakta
warganegara(joni,indonesia).
warganegara(frank,australia).
warganegara(mike,australia).
warganegara(alex,australia).
senjataapi(pistol).
jual(joni, pistol, frank).
jual(joni, pistol, mike).
jual(joni, pistol, alex).
Contoh Aplikasi Pada Prolog (3)
Fakta
• Joni adalah lulusan SMA
• Joni berkewarganegaraan Indonesia
• Joni lahir pada tahun 1942
• Joni daftar PNS pada tahun 1985
• Sekarang tahun 2014
Rules
• Yang boleh mendaftar PNS adalah warga negara
Indonesia
• Umur minimal pendaftaran adalah 18 tahun.
• Untuk pendaftaran, lulusan SMA tidak lebih dari 35 tahun
umurnya
• Untuk lulusan universitas, umur tidak menjadi masalah
%fakta
lulusan(joni,sma).
kewarganegaraan(joni,indonesia).
lahir(joni,1941).
tahundaftar(joni,1960).
tahun(2014).

%aturan
umur(X,Age):-lahir(X,Thn),tahun(Y),Age is Y-Thn.
umurdaftar(X,Age1):-lahir(X,Thn),tahundaftar(X,Y),Age1 is Y-Thn.
daftar(X,pns):-
kewarganegaraan(X,indonesia),lulusan(X,sma),umurdaftar(X,Age1),
Age1 < 35, Age1 > 17 .
daftar(X,pns):-kewarganegaraan(X,indonesia),lulusan(X,universitas),
umurdaftar(X,Age1), Age1 > 17 .
pensiun(X,pns):-daftar(X,pns),umur(X,Age), Age > 59 .

Anda mungkin juga menyukai