Jawaban
Mid Exam Final Exam Short Term Exam Academic Year : 2011 / 2012
B. SOAL URAIAN
1. (nilai 20%). Kita kembali ke permasalahan searching yang ada di textbook, yaitu perjalanan
dari Arad ke Bucharest. Saat ini kita berada di ARAD, dan merencanakan perjalanan
dengan mobil lewat darat menuju BUCHAREST. Kita lihat grafiknya lagi :
Angka yang tertera pada gambar merupakan jarak antar kota yang sebenarnya atau g(n) dalam
km. Sedang jarak langsung (stright line distance) kalau ditarik garis lurus ke Bucharest (h(n))
adalah seperti pada tabel.
1
Kota asal Jarak Kota asal Jarak Kota asal Jarak
Arad 366 Hirsowa 151 Rimnicu Vilcea 193
Bucharest 0 Lasi 226 Sibiu 253
Craiova 160 Lugoj 244 Timisoara 329
Dobreta 242 Mehadia 241 Urziceni 80
Eforie 161 Neamt 234 Vaslui 199
Fagaras 176 Oradea 280 Zerind 374
Giurgiu 77 Pitesti 10
Pertanyaan :
Bila ARAD diasumsikan sebagai start node dan BUCHAREST adalah goal node, tentukan jalur
yang diperoleh untuk bergerak dari ARAD ke BUCHAREST bila proses pencarian (search)
dilakukan dengan metoda :
a. Uniform-cost search (nilai 5%)
b. Greedy (Best First Search) (nilai 5%) dan
c. Heuristic A* (nilai 5%)
d. Dari ketiga metoda tersebut di atas, jelaskan mana yang terbaik dan
jelaskan argumentasi anda berdasarkan completion, time complexity, space complexity dan
sebagainya mengapa demikian! (nilai 5%)
Jawab :
a. Uniform-cost search
Frontier = [Arad], explored = []
Evaluasi = Arad, frontier = [Zerind(75), Timisoara(118), Sibiu(140)],
explored = [Arad]
Evaluasi = Zerind, frontier = [Timisoara(118), Sibiu(140), Oradea(146)],
explored = [Arad, Zerind]
Evaluasi = Timisoara, frontier = [Sibiu(140), Oradea(146), Lugoj(229)],
explored = [Arad, Zerind, Timisoara]
Evaluasi = Sibiu, frontier = [Oradea(146), Rimnicu(220), Lugoj(229), Fagaras(239)],
explored = [Arad, Zerind, Timisoara, Fagaras]
Evaluasi = Oradea, frontier = [Rimnicu(220), Lugoj(229), Fagaras(239)], explored = [Arad,
Zerind, Timisoara, Fagaras, Oradea]
Evaluasi = Rimnicu, frontier = [Lugoj(229), Fagaras(239), Pitesti(317), Craiova(366)],
explored = [Arad, Zerind, Timisoara, Fagaras, Oradea, Rimnicu]
Evaluasi = Lugoj, frontier = [Fagaras(239), Mehadia(299), Pitesti(317), Craiova(366)],
explored = [Arad, Zerind, Timisoara, Fagaras, Oradea, Rimnicu, Lugoj]
Evaluasi = Fagaras, frontier = [Mehadia(299), Pitesti(317), Craiova(366), Bucharest(440)],
explored = [Arad, Zerind, Timisoara, Fagaras, Oradea, Rimnicu, Lugoj, Fagaras]
Evaluasi = Mehadia, frontier = [Pitesti(317), Craiova(366), Dobreta(374), Bucharest(440)],
explored = [Arad, Zerind, Timisoara, Fagaras, Oradea, Rimnicu, Lugoj, Fagaras,
Mehadia]
Evaluasi = Pitesti, frontier = [Craiova(366), Dobreta(374), Bucharest(418)], explored =
[Arad, Zerind, Timisoara, Fagaras, Oradea, Rimnicu, Lugoj, Fagaras, Mehadia, Pitesti]
Evaluasi = Craiova, frontier = [Dobreta(374), Bucharest(418)], explored = [Arad, Zerind,
Timisoara, Fagaras, Oradea, Rimnicu, Lugoj, Fagaras, Mehadia, Pitesti, Craiova]
Evaluasi = Dobreta, frontier = [Bucharest(418)], explored = [Arad, Zerind, Timisoara,
Fagaras, Oradea, Rimnicu, Lugoj, Fagaras, Mehadia, Pitesti, Craiova, Dobreta]
Evaluasi = Bucharest = goal, STOP, explored = [Arad, Zerind, Timisoara, Fagaras, Oradea,
Rimnicu, Lugoj, Fagaras, Mehadia, Pitesti, Craiova, Dobreta]
Jadi urutan node yang dievaluasi [Arad, Zerind, Timisoara, Fagaras, Oradea, Rimnicu,
Lugoj, Fagaras, Mehadia, Pitesti, Craiova, Dobreta]
dengan jalur yang diambil Arad – Sibiu – Rimnicu – Pitesti – Bucharest.
c. Heuristic A* search
Frontier = [Arad], explored = []
Evaluasi = Arad, frontier = [Sibiu(393), Timisoara(447), Zerind(449)],
explored = [Arad]
Evaluasi = Sibiu, frontier = [Rimnicu(413), Fagaras(415), Timisoara(447), Zerind(449)],
explored = [Arad, Sibiu]
Evaluasi = Rimnicu, frontier = [Pitesti(317), Fagaras(415), Timisoara(447), Zerind(449),
Craiova(526)], explored = [Arad, Sibiu, Rimnicu]
Evaluasi = Pitesti, frontier = [Fagaras(415), Bucharest(418), Timisoara(447), Zerind(449),
Craiova(526)], explored = [Arad, Sibiu, Rimnicu, Pitesti]
Evaluasi = Fagaras, frontier = [Bucharest(418), Timisoara(447), Zerind(449), Craiova(526)],
explored = [Arad, Sibiu, Rimnicu, Pitesti, Fagaras]
Evaluasi = Bucharest = goal, STOP, explored = [Arad, Sibiu, Rimnicu, Pitesti, Fagaras]
dengan jalur yang diambil Arad – Sibiu – Rimnicu – Pitesti – Bucharest.
A
MAX
B C D
E F G H I J
K L M N O P Q R S
T U V W X Y Z A1 B1 C1 D1 E1 F1 G1
5 6 7 4 5 3 6 6 9 7 5 9 8 6
a. Nilai yang dapat dicapai oleh maximixing player jika digunakan metoda MINIMAX (nilai 3
%).
b. Dengan menggunakan pendekatan αβ - pruning algorithm adakan penelusuran dari root,
hingga didapat nilai (α) tertinggi yang dapat dicapai oleh maximixing player (nilai 6 %).
c. Tunjukkan pada lengan-lengan yang mana cut-off dilakukan, dan berikan alasanya (nilai 6
%).
3
Jawaban :
a. Nilai yang dicapai oleh maximixing player dengan metoda MINIMAX = 6
6A
MAX
3 B 6 C 5D MIN
5 E 3F 6G 7H 5I 8 J MAX
4 L 3M 6N 6 O 7P 5 Q 8R 6 S
5 K MIN
T U V W X Y Z A1 B1 C1 D1 E1 F1 G1
5 6 7 4 5 3 6 6 9 7 5 9 8 6
(- ∞, +∞) ( 6, 7) α ≥3
A
( 3, +∞ ) ( 6, 7) β 7 MAX
( 6, +∞ )
(- ∞, +∞)
( 5, +∞ ) B ( 3, +∞ ) C ( 6, 7) ( 6, 7) D MIN
( 3, +∞ ) ( 6, +∞ )
(- ∞, +∞) ( 3, + )
( 5, +∞ ) E ( 5, +∞ ) F ( 6, +∞∞) G( 6, +∞ ) H ( 6, 7) I
( 3, +∞ ) ( 6, 7) J MAX
( 3, +∞ )
( 5, +∞ ) ( 5, +∞ ) ( 6, +∞ ) ( 6, +∞ )
( 5, +∞ ) K L ( 3, + )M N O P Q R S MIN
∞ ( 6, +∞ ) ( 6, 7) ( 6, 7)
T U V W X Y Z A1 B1 C1 D1 E1 F1 G1
5 6 7 4 5 3 6 6 9 7 5 9 8 6
Pertanyaan
a). Ubah pernyataan di atas ke dalam FOL (Fisrt Order logic) yang sederhana. Saudara boleh
menambahkan pengetahuan yang relevan yang mungkin diperlukan. (nilai 8%).
b). Ubah setiap kalimat FOL di atas ke bentuk Conjunctive Normal Form/CNF (nilai 8 %) .
c). Buktikan dengan algoritma backward chaining resolution bahwa Foke menjadi Gubernur. (nilai 4%).
Jawaban :
a) FOL
1) wagub (Foke);
4
2) cagub (Foke);
3) cawagub (Priyanto);
4) x sukses (x) terkenal(x);
5) x terkenal (x) dicintai (x) dipilih (x);
6) sukses (Foke) ) dicintai (Foke);
7) saingan (Adang);
8) x dipilih (x) gubernur (x);
b) CNF`
1) wagub (Foke);
2) cagub (Foke);
3) cawagub (Priyanto);
4) sukses (x) terkenal(x);
5) terkenal (x) dicintai (x) dipilih (x);
6) a. sukses (Foke)
b. dicintai (Foke)
7) saingan (Adang);
8) dipilih (x) gubernur (x);
Foke /x
6).b. dicintai (Foke)
terkenal (Foke) dicintai (Foke)
4. (nilai 15%). Salah satu permasalahan dalam Artificial Intelligence adalah planning dalam
real world. Banyak masalah planning tersebut dalam real world, salah satunya adalah masalah
hand robotic yang digunakan untuk memindahkan balok-balok. Misalkan untuk menyelesaikan
permasalahan dibawah ini :
X
Z Y
X Y Z
Jawab :
X
Z Y
X Y Z
Proses : Z
X Y
ONTABLE(X) ON(Z,Y) ONTABLE(Y)
ARMEMPTY
ON(Z,Y)
UNSTACK(Z,Y)
HOLDING(Z) 1
PUTDOWN(Z)
ARMEMPTY 2
ONT(Y) ARMEMPTY
ONTABLE(Z)
PICKUP(Y)
ONT(X) ARMEMPTY
HOLDING(Y)
3
PICKUP(X)
STACK(Y,Z)
5
HOLDING(X) PROMOTION
ARMEMPTY
4
STACK(X,Y)
Z
ON(X,Y) ONTABLE(Z) ON(Y,Z)
6
Urutan planning :
1. UNSTACK(Z,Y)
2. PUTDOWN(Z)
3. PICKUP(Y)
4. STACK(Y,Z)
5. PICKUP(X)
6. STACK(X,Y)
ATAU :
X
Z Y
X Y Z
Urutan planning :
1. PutOnTable(Z)
2. PutOn(Y,Z)
3. PutOn(X,Y)