- Apa yang dimaksud Adversarial Search & Constraint Satisfaction Problems? berikan contoh?
Jawab :
Adversarial Search :
Pencarian minimax terutama dikenal karena manfaatnya dalam menghitung langkah terbaik dalam dua permainan pemain mana semua informasi tersedia. Terdiri dari menavigasi melalui pohon yang menangkap semua bergerak mungkin dalam permainan, dimana setiap bergerak diwakili dalam hal kerugian dan keuntungan untuk para pemain.
Contohnya, permainan pada catur.
Constraint Satisfaction Problems :
Proses menemukan solusi untuk seperangkat kendala yang memaksakan kondisi yang variabel harus memenuhi. Oleh karena itu solusinya seperangkat nilai-nilai untuk variabel yang memenuhi semua kendala yaitu titik di wilayah yang layak.
Contoh, pada Map Coloring.
2. Apa itu Propositional Logic?berikan contoh?
Jawab:
Propositional Logic:
Penentuan kebenaran dari sebuah kalimat. Kalimat yang diijinkan disebut sintaks proposisi. Sintaks atau kalimat memegang berbagai simbol propositional, dimana masing-masing simbol memegang proposisi yang baik dapat true
or false
. Atau lebih singkatnya, Logika dalam bentuk sederhana sehingga mudah dipahami. Meskipun begitu, Logika Proposisi sudah mampu membantu menarik kesimpulan.
Contohnya,
p : Budi tidak membawa pensil
q : Budi tidak membawa penghapus
budi tidak membawa pensil dan penghapus dapat disimbolkan dengan p ^ q.
3. Buat coding (Boleh C, C++ atau Java) untuk Algoritma A & Algoritma A* (A Star)?
Jawab:
A*(A Star) dengan C++:
#include <iostream>
using namespace std;
void print_pyramid(int height);
int main()
{
int pyramid_height;
cout << “This program prints a ‘pyramid’ shape of\n“;
cout << “a specified height on the screen.\n\n“;
/* input with check using a “while” loop */
cout << “how high would you like the pyramid?: “;
cin >> pyramid_height;
while (pyramid_height > 30 || pyramid_height < 1)
{
cout << “Pick another height (must be between 1 and 30): “;
cin >> pyramid_height;
}
/* input OK */
print_pyramid(pyramid_height);
return 0;
}
/* FUNCTION TO PRINT PYRAMID */
void print_pyramid(int height)
{
int line;
int const MARGIN = 10;
cout << “\n\n“;
for (line = 1 ; line <= height ; line++)
{
int count;
int total_no_of_spaces = MARGIN + height – line;
for (count = 1 ; count <= total_no_of_spaces ; count++)
cout << ‘ ‘;
for (count = 1 ; count <= line * 2 ; count++)
cout << ‘*’;
cout << ‘\n’;
}
cout << “\n\n“;
}