Professional Documents
Culture Documents
Perhatian !!!
• Anda harus menjawab SENDIRI semua pertanyaan di bawah ini secara
jelas dan lengkap. DILARANG KERAS untuk berkomunikasi,
bekerjasama, dan meminta bantuan siapapun.
• Jumlah soal ada 3. Soal nomor 1 dan 2 masing-masing 50 point. Soal
nomor 3 adalah bonus dengan skor 20 point. Jadi total skor adalah 120
point.
• Gunakan lembar jawaban yang tersedia pada halaman terakhir.
Tambahkan NIM dan nama Anda pada footnote agar bisa ditelusuri jika
berkas Anda tercecer. Jawaban diketik komputer, di-print dengan kualitas
baik dan dapat dibaca. DILARANG memberikan ralat (menghapus atau
menambahkan catatan dengan pena atau apapun) pada jawaban hasil
print-out. Adanya ralat menunjukkan bahwa Anda tidak yakin dengan
jawaban anda sendiri dan terpengaruh oleh jawaban orang lain. Jawaban
yang sepenuhnya ditulis tangan atau jawaban yang terdapat ralat tidak
akan dikoreksi (nilainya = 0).
• Lembar pernyataan harus ditandatangani oleh setiap mahasiswa yang
bersangkutan. Jawaban yang tidak ditandatangani tidak akan dikoreksi
(nilainya = 0).
• Jawaban hasil print-out (lembar soal tidak perlu di-print) dan sudah
ditandatangani dikumpulkan pada
- Program Reguler: hari Selasa 09 Juni 2009 pukul 11.00 di Ruang
Ujian yang sesuai jadwal masing-masing mahasiswa.
- Program Ekstensi: hari Rabu 10 Juni 2009 pukul 16.00 pada saat UAS
mata kuliah DAA.
• Mahasiswa yang berhalangan (karena sakit atau hal lain), pengumpulan
jawaban boleh diwakilkan ke orang lain. Tidak ada toleransi atas
keterlambatan.
Initial Goal
ON(Y,Z) ∧ Z
ON(Z,Y) ∧
ONTABLE(Z) ∧ Y Y ON(Y,X) ∧
ONTABLE(X) ∧
ONTABLE(X) ∧
ARMEMPTY Z X X ARMEMPTY
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 1 of 16
Bagaimana teknik planning dengan metode Goal Stack Planning (GSP) dapat mengubah
kondisi initial menjadi kondisi goal? Jelaskan empat hal berikut ini:
a. Komponen-komponen GSP dan fungsinya. [10 points]
b. Kelebihan dan kekurangan GSP dibandingkan Constraint Posting. [10 points]
c. Jelaskan dengan contoh, bagaimana mengatasi kekurangan GSP. [10 points]
d. Lakukan penelusuran GSP sampai dihasilkan solusi optimal. [20 points]
2. Tabel berikut ini mengilustrasikan nilai indeks yang berupa A, B, C, D, dan E dari 10
mahasiswa untuk mata kuliah AI pada semester Genap 2007/2008. Setiap komponen nilai
berada pada interval [0, 100]. Dosen AI kehilangan informasi tentang aturan penentuan nilai
indeks tersebut. Satu hal yang beliau ingat adalah setiap komponen nilai dikonversi menjadi
Baik untuk [80, 100], Cukup untuk [60, 80), dan Kurang [0, 60). Selanjutnya, hasil
konversi tersebut beliau gunakan untuk membangun aturan penentuan nilai indeks. Bantulah
dosen AI tersebut dengan melakukan penelusuran ID3 untuk menghasilkan pohon keputusan
dan aturan penentuan nilai indeks. Penting: berikan penjelasan secara detail dari setiap
langkah ID3 sebagai bukti bahwa anda menguasai konsep ID3 secara baik. [50 points]
3. Ini adalah soal bonus. Untuk data-data yang ditunjukkan pada tabel soal nomor 2, gunakan
Multi Layer Perceptron (MLP) menggunakan algoritma belajar Propagasi Balik untuk
menentukan nilai indeks. Jelaskan hal-hal berikut ini secara singkat:
a. Bagaimana arsitektur MLP yang optimum: Jumlah neuron pada lapisan input, hidden,
dan output? [5 point]
b. Bagaimana matriks pola input (P) dan targetnya (T)? [5 point]
c. Jelaskan proses belajar Propagasi Balik untuk MLP yang anda buat. Anda tidak perlu
menjelaskan rumus-rumusnya. [5 point]
d. Apa yang dihasilkan dari proses belajar tersebut dan jelaskan bagaimana menggunakan
MLP hasil pembelajaran tersebut. Anda cukup menjelaskan konsepnya saja, tidak perlu
menjelaskan bagaimana pemakaian rumus-rumusnya. [5 point]
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 2 of 16
Lembar Jawaban UAS
Kecerdasan Mesin dan Artifisial (CS3243)
Nama :
NIM :
Kelas :
Pernyataan: Semua jawaban hasil print-out di bawah ini SAYA KERJAKAN SENDIRI tanpa
berkomunikasi, bekerjasama, maupun meminta bantuan siapapun. Semua jawaban print-out ini
bersifat FINAL dan TIDAK ADA RALAT apapun, baik menghapus atau menambahkan catatan
dengan pena atau peralatan tulis lainnya. Saya bersedia diberi nilai E untuk mata kuliah ini jika
terbukti berkomunikasi, bekerjasama, maupun meminta bantuan siapapun. Dan saya bersedia
diberi nilai 0 untuk UAS ini jika: 1) saya tidak menandatangani lembar jawaban ini; atau 2)
semua jawaban ditulis tangan; atau 3) terdapat ralat dalam bentuk apapun pada semua lembar
jawaban ini.
Tanda Tangan :
1. A.
Initial state : state yang mendefinisikan keadaan awal suatu rangkaian balok
Goal state : state yang merepresentasikan kondisi akhir yang harus dicapai dari suatu
rangkaian balok
Current state : state yang merepresentasikan kondisi yang sedang terjadi saat ini
Balok : suatu media yang akan diuji, yang dapat disusun dan merepresentasikan
initial state dan hendak diubah menjadi goal state
Arm : suatu lengan robot yang berfungsi untuk memindah/merubah komposisi
dari balok/tumpukan balok, sehingga dari initial bisa menjadi goal
Predikat precondition : suatu predikat-predikat yang harus bernilai benar sebelum
pengaplikasian operator
predikat add : suatu predikat –predikat yang bernilai benar setelah pengaplikasian suatu
operator
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 3 of 16
predikat delete: suatu predikat – predikat yang bernilai salah setelah pengaplikasian suatu
operator
operator ON(A,B) : memberikan hasil balok A menempel diatas balok B
operator ONTABLE (A) : memberikan hasil bahwa balok A menempel diatas permukaan
meja
operator CLEAR(A) : memberikan hasil tidak ada balok yang menempel diatas balok A
operator STACK (A,B) : memberikan hasil balok A ada diatas balok B
operator UNSTACK (A,B) : memberikan hasil mengangkat balok A yang menempel diatas
balok B
operator PICKUP (A) : memberikan hasil balok A terangkat dari permukaan meja
operator PUTDOWN (A): memberikan hasil meletakkan balok A diatas permukaan meja
operator ARMEMPTY : memberikan hasil bahwa ARM robot tidak memegang apa – apa
B.
Kelebihan :
1. lebih mudah di implementasikan
2. tidak memerlukan banyak pengecekan kondisi
Kekurangan :
1. menggunakan satu stack
2. linear planning
3. bisa jadi hasilnya tidak efisien
C.
a. mendelomposisikan goal state dengan efisien, yaitu dengan cara menuliskan operatornya
dari dasar (dari permukaan meja) menuju ke permukaan paling atas, setelah itu baru
menuju pada susunan balok yang lainya, contoh :
C
B E
A D
Dengan kondisi goal state seperti itu maka sebaiknya kita menuliskan operator –
operatornya seperti ini :
ONTABLE (A) ^ ON (B,A) ^ ON (C,B) ^ ONTABLE (D) ^ ON (D,E)
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 4 of 16
Jangan seperti ini :
ON (C,B) ^ ON (B,A) ^ ON (E,D) ^ ONTABLE (A) ^ ONTABLE (D)
Dengan begitu maka pasangan yang saling menghilangkan seperti STACK (C,B)
UNSTACK (C,B) dapat diminilaisir, sehingga hasil akhir yang didapat bisa lebih efisien.
b. Dengan selalu meletakan sesuatu yang berada di ARM ke atas meja, misal hasil
UNSTACK diletakan diatas meja, jangan diletakan diatas tumpukan lainya, karena hal ini
dapat menyebabkan kondisi yang saling menghilangkan seperti STACK dan UNSTACK,
contoh :
C
B B
A D A C D
Pada contoh ini ketika kita melakukan UNSTACK (C,B) maka setelah itu balok C
dilakukan operasi PUTDOWN(C) jangan STACK (C,D). Meskipun ini dapat
memperpanjang langkah (jika tujuannya memang ON(C,D)) tetapi langkah ini dapat
menghilangkan ketidak efisiensi dari GSP, misal tujuan akhirnya ON (B,D) dan ON(C,A)
dan dengan meletakan segala sesuatu yang di ARM yang didapat dari proses UNSTACK
ke atas meja, maka akan lebih fleksibel ketika balok itu akan di susun kembali.
D.
Initial Goal
ON(Y,Z) ∧ Z ON(Z,Y) ∧
ONTABLE(Z) ∧ ON(Y,X) ∧
Y Y ONTABLE(X) ∧
ONTABLE(X) ∧
ARMEMPTY Z X X ARMEMPTY
Langkah 1
ONTABLE (X) ^
ON (Y,X) ^
ON (Z,Y) ^
Y
ARMEMPTY
Z X
ONTABLE (X) ^ ON (Y,X) ^ ON (Z,Y) ^ ARMEMPTY
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 5 of 16
Langkah 2
ONTABLE (X) ^
ARMEMPTY ^
ON (Y,Z) ^
CLEAR (Y) ^ Y
UNSTACK (Y,Z) ^
HOLDING (Y) ^ Z X
CLEAR (X) ^
STACK (Y,X) ^
ON (Y,X) ^
ARMEMPTY
Y
ON (Z,Y) ^
Z X
ARMEMPTY
ONTABLE (X) ^ ON (Y,X) ^ ON (Z,Y) ^ ARMEMPTY
Langkah 3
ONTABLE (X) ^
ARMEMPTY ^
ON (Y,Z) ^
CLEAR (Y) ^
UNSTACK (Y,Z) ^
HOLDING (Y) ^
CLEAR (X) ^
STACK (Y,X) ^
ARMEMPTY
ON (Y,X) ^
ONTABLE (Z) ^
CLEAR (Z) ^ Z
ARMEMPTY ^
Y
PICKUP (Z)^
X
HOLDING (Z) ^
CLEAR (Y) ^
STACK (Z,Y) ^
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 6 of 16
ON (Z,Y) ^
ARMEMPTY Z
ONTABLE (X) ^ ON (Y,X) ^ ON (Z,Y) ^ ARMEMPTY Y
X
Note :
Gambar pada bagian kanan merupakan current state pada setiap langkah,
Bagian bold merupakan operator yang sedang dilaksanakan (beberapa operator precondition
belum terpenuhi,sehingga perlu disusun)
Langkah 1
Rekursif level 0 ke 1
Mencari best classifier
KumpulanSample berupa semua sample data = [4,3,1,1,1] ; AtributTarget = ‘Indeks’ ;
KumpulanAtribut = {UTS, UAS, TUGAS}
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 7 of 16
Values(UAS) = Baik, Cukup, Kurang
S = [4,3,1,1,1] |S| = 10, Entropy (S) = 2,0464
SBaik = [3,2,0,0,0], |SBaik| = 5, Entropy (SBaik) = 0,970951
SCukup = [1,1,1,0,0], |SCukup| = 3, Entropy (SCukup) = 1,58496
SKurang = [0,0,0,1,1], |SKurang| = 2, Entropy (SKurang) = 1
Gain(S,UAS) = Entropy(S) – (5/10) Entropy (SBaik) – (3/10) Entropy (SCukup) – (2/10)
Entropy (SKurang)
= 0,8853
Dengan demikian maka yang menjadi best classifier adalah nilai TUGAS dan akan
diletakkan sebagai root. Dan didapat data seperti ini :
KumpulanSample berupa SampleBaik = [4,0,0,0,0], AtributTarget = ‘Indeks’, KumpulanAtribut =
{UTS,UAS}
Tugas
baik
Langkah 2
Rekursif Level 1 Iterasi ke 1
KumpulanSample berupa SampleBaik = [4,0,0,0,0], AtributTarget = ‘Indeks’, KumpulanAtribut =
{UTS,UAS}
Karena semua sample pada iterasi ini menghasilkan nilai A, maka fungsi ini akan berhenti dan
menghasilkan simpul tunggal Root dengan variable ‘A’
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 8 of 16
Tugas
baik
Langkah 3
Rekursif Level 0 Iterasi ke 2
KumpulanSample berupa SampleCukup = [0,2,0,0,0], AtributTarget = ‘Indeks’, KumpulanAtribut =
{UTS,UAS}
Tugas
baik cukup
Langkah 4
Rekursif Level 1 Iterasi 2
KumpulanSample berupa SampleCukup = [0,2,0,0,0], AtributTarget = ‘Indeks’, KumpulanAtribut =
{UTS,UAS}
Karena pada sample ini tidak didapat sample selain dengan nilai ‘B’, maka akan dibentuk satu
simpul dengan nilai yang sering muncul, yaitu ‘B’
Tugas
baik
cukup
A
B
Langkah 5
Rekursif Level 0 Itersi 3
KumpulanSample berupa SampleKurang = [0,1,1,1,1], AtributTarget = ‘Indeks’, KumpulanAtribut
= {UTS,UAS}
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 9 of 16
Tugas
baik
cukup kurang
A B
Langkah 6
Rekursif Level 1 Iterasi 3
KumpulanSample berupa SampleKurang = [0,1,1,1,1], AtributTarget = ‘Indeks’, KumpulanAtribut
= {UTS,UAS}
Karena tidak ada nilai dominan maka kita tidak dapat memberikan nilai lagsung, dikarenakan
nilai yang muncul pada 4 buah data ini tidak memiliki kesamaan. Untuk itu perlu dilakukan
proses ID3 lagi,dengan melakukan perhitungan information gain untuk atribut UTS dan UAS.
Tetapi KumpulanSample yang diperhitungkan adalah SampleKurang dengan 4 sample data, yaitu
[0,1,1,1,1], berarti S = SampleKurang
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 10 of 16
Pada langkah ini kita menemukan nilai yang sama antara UTS dan UAS, dengan nilai yang
sama maka kita bebas menentukan mana yang akan digunakan, namun bedasarkan
perhitungan pertama karena didapat nilai gain dari UAS lebih besar dari UTS, maka yang
akan diambil adalah nilai gain dari UAS dan node yang akan diletakan adalah UAS, maka
SampleBaik terdapat satu sample [0,1,0,0,0], AtributTarget =’Indeks’,KumpulanAtribut
{UTS}
Tugas
baik Kurang
cukup
A UAS
B
baik
Langkah 7
Rekursif Level 2 Iterasi ke 1
Karena hanya terdapat satu sample maka nilai sample tersebut juga akan menjadi nilai dari
sample yang paling banyak muncul, maka akan lagsung di bentuk node dari leaf sebelumnya
dengan nilai atribut ‘B’
Tugas
baik Kurang
cukup
A UAS
B
baik
Langkah 8
Rekursif Level 1 Iterasi ke 4
Pada langkah ini kita menggunakan sample yang belum terpangil, yaitu SampleCukup dan
disini hanya terdapat satu sample [0,0,1,0,0],AtributTarget= ‘Indeks’,KumpulanAtribut
={UTS}
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 11 of 16
Tugas
baik Kurang
cukup
A UAS
B
baik
cukup
Langkah 9
Rekursif Level 2 Iterasi ke 2
Melakukan fungsi ID3 dengan informasi Samplecukup=[0,0,1,0,0],AtributTarget =
‘Indeks’,KumpulanAtribut = {UTS}. Namun karena hanya terdapat satu sample maka sama
dengan langkah sebelumnya maka akan dibuat node dari leaf sebelumnya denga nilai atribut
‘C’
Tugas
baik Kurang
cukup
A UAS
B
baik
cukup
B C
Langkah 10
Rekursif Level 1 Iterasi ke 5
Informasi yang digunakan adalah SampleKurang = [0,0,0,1,1], AtributTarget = ‘Indeks’,
KunpulanAtribut = {UTS}
Tugas
baik Kurang
cukup
A UAS
B
baik kurang
cukup
B C
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 12 of 16
Langkah 11
Rekursif Level 2 Iterasi ke 3
SampleKurang = [0,0,0,1,1], AtributTarget = ‘Indeks’, KunpulanAtribut = {UTS}
Karena tidak ada nilai dominan maka kita tidak dapat memberikan nilai lagsung,
dikarenakan nilai yang muncul pada 2 buah data ini tidak memiliki kesamaan. Untuk itu
perlu dilakukan proses ID3 lagi,dengan melakukan perhitungan information gain untuk
atribut yang tersisa yaitu UTS. Tetapi KumpulanSample yang diperhitungkan adalah
SampleKurang dengan 2 sample data, yaitu [0,0,0,1,1], berarti S = SampleKurang
Tugas
baik Kurang
cukup
A UAS
B
baik kurang
cukup
B C UTS
Baik
Langkah 12
Rekursif Level 3 Iterasi 1
Kembali menggunkan funsi ID3 dengan informasi yang didapat dari atribut UTS, yaitu
SampleBaik = [0,0,0,1,0], AtributTarget = ‘Indeks’, KumpulanAtribut {}. Dikarenakan sample
ini hanya memiliki satu sample, maka nilai tersebut akan menjadi node dari leaf sebelumnya
dengan nilai atribut ‘D’
Tugas
baik Kurang
cukup
A UAS
B
baik kurang
cukup
B C UTS
Baik
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 13 of 16
Langkah 13
Rekursif Level 2 Iterasi ke 4
Pada langkah ini kita menggunakan sample selanjutnya, yaitu SampleCukup = [0,0,0,0,0],
AtributTarget = ‘Indeks’, KumpulanAtribut {}. Namun karena tidak ada yang menjadi
sample pada lagkah ini maka kita harus lagsung membuat node, dangan mengacu pada nilai
diatasnya (UAS) untuk kasus ini hanya terdapat 2 nilai yaitu ‘D’dan’E’ dank arena nilai ‘D’
telah digunakan pada sample sebelumnya yang memilki derajat yang lebih baik, maka untuk
sample ini akan dibentuk node dengan nilai atribut ‘E’
Tugas
baik Kurang
cukup
A UAS
B
baik kurang
cukup
B C UTS
Baik
cukup
D E
Langkah 14
Rekursif Level 3 Iterasi ke 2
Kembali memangil fungsi ID3 dengan sample yang tersisa, maka akan didapat informasi
berikut : SampleKurang = [0,0,0,0,1], AtributTarget = ‘Indeks’, KumpulanAtribut = {}. Namun
karena hanya terdapat satu sample, maka dapat dibuat langsung sebuah node dengan nilai
sesuai dengan nilai pada atribut sample yaitu ‘E’
Tugas
baik Kurang
cukup
A UAS
B
baik kurang
cukup
B C UTS
Baik kurang
cukup
D E E
3. A.
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 14 of 16
Tidak ada aturan untuk menentukan MLP optimum, namun sebisa mungkin kita dapat
menerka jumlah neuron yang diperlukan, dan jumlah neuron tersebut haruslah dapat
merepresentaasikan inputan yang mungkin diinputkan. Untuk kasus no 2, maka jumlah
neuron lapisan input adalah tiga (didapat dari jenis inputan yang berjumlah tiga
{UTS,UAS,TUGAS}). Sedangkan jumlah neuron hidden layer adalah 2, didapat dari rumus
yang biasa digunakan, meskipun ini bukan merupakan jaminan. Terakhir jumlah neuron
output layer adalah 1 dimana outputan yang dikehendaki adalah suatu nilai indeks
B.
Disini pola output dari nilai a,b,c,d,e direpresentasikan berturut – turut menjadi suatu nilai
1,2,3,4,5
C.
- Perhitungan maju
Input bobot yang telah ditentukan pada inisialisasi awal (W1) yang didapat dengan
random , kita dapat menghitung keluaran dari hidden layer dangan menggunakan
fungsi aktivasi sigmoid, metode ini dipilih karena dirasa cocok untuk
mereperesentasikan perubahan dari nilai – nilai yang ada
1
A1 = (W 1*P + B1)
1+ e
selanjutnya hasilnya digunakan untuk mendapatkan keluaran dari output layer. Dan
disini kita menggunakan fungsi aktivasi linear, dengan rumus
A2 = W 2 * A1 + B 2
Keluaran dari A2 kemudian dibandingkan dengan target yang diinginkan.
Galat(error) yang dihasilkan merupakan selisih dari target dan A2, sesuai dengan
rumus
E = T − A2
Sedangkan nilai galat keseluruhan dinyatakan dengan rumus
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 15 of 16
SSE = ∑∑ E 2
Dan normalnya dalam suatu tahapan tidak didapat hasil yang diinginkan, untuk itu
akan dilakukan perhitungan mundur
- Perhitungan mundur
Nilai galat yang didapat akan digunakan sebagai parameter dalam pelatihan dan
proses ini akan berhenti ketika galat sudah dapat diterima. Nilai galat akan
dikembalikan kembali ke layer - layer didepannya agar neuron pada layer tertentu
akan memperbaiki nilai bobotnya.
D 2 = (1 − A2 2 ) * E dB1 = dB1 + (lr * D1)
D1 = (1 − A12 ) * (W 2 * D 2) dW 2 = dW 2 + (lr * D 2 * P )
dW 1 = dW 1 + (lr * D1* P ) dB 2 = dB 2 + (lr * D 2)
D.
Pada kasus ini akan didapatkan inputan berupa 3 jenis yaitu UTS,UAS,TUGAS. Ketiga
inputan tersebut akan diperoses dengan perhitungan maju, namun biasanya hasil yang
dihasilkan belumlah sesuai dan untuk membuatnya sesuai maka akan dikoreksi terhadap
perubahan – perubahan konstanta yang akan digunakan dan proses ini disebut perhitungan
mundur. Kedua langkah tersebut terus diulang dan berhenti ketika nilainya telah sesuai, atau
ketika telah melakukan sekian kali perhitungan.
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia page 16 of 16