Soal:
Peserta perkuliahan terdiri dari 12 orang mahasiswa. Seluruh peserta mata kuliah dapat
memilih salah satu metode pencarian solusi, tetapi metode yang sama hanya dapat dipilih
oleh 3-orang saja. Kode/script yang digunakan untuk metode yang sama tidak boleh sama.
Tujuan dari tugas ini adalah mencari dan mempelajari algoritma dari sebuah kode program,
sehingga masing-masing akan mempelajari kode yang berbeda.
Carilah kode/script dengan bahasa pemrograman apapun (matlab, python, c/c++/c#, julia,
java, fortran, dll) untuk salah satu kasus metode pencarian menggunakan:
1. Depth-first Search (DFS),
2. Breadth-first Search (BFS),
3. A*,
4. Genetic Algorithm (GA), dan
5. Particle Swarm Optimization (PSO).
Sistem pencarian yang digunakan berupa grid yang memiliki posisi awal, target dan
penghalang (lihat Gambar 1). Ukuran sistem dan jumlah grid tidak dibatasi. Kebebasan gerak
untuk kasus 1-5 dapat berupa nearest neighbor (NN) atau next-nearest neighbor (NNN) (lihat
Gambar 2). Khusus untuk kasus 4-5 gerak dapat dipilih antara gerak pada grid atau gerak acak
(random, lihat Gambar 3). Untuk kasus 5, jumlah partikel yang digunakan tidak dibatasi.
Gambar 2. Ilustrasi pilihan gerak (a) neareast neighbor dan (b) next nearest neighbor.
Gambar 3. Ilustrasi pencarian menggunakan gerak acak.