Alchemy 2 Finder
Description
This project implements Breadth-First Search (BFS) and Depth-First Search (DFS) algorithms to assist players of Little Alchemy 2 in finding optimal combinations of base elements to create new elements. The application presents the results as a visually engaging, animated recipe tree to enhance understanding of each algorithm’s pathfinding process.
The system is built with a Next.js (React) frontend and a Golang backend, and is fully containerized with Docker.
✅ This application has been fully deployed and can be accessed directly without local setup:
- 🌐 Frontend: https://tubes2-fe-bfc.vercel.app
- ⚙️ Backend: https://tubes2bebfc-production.up.railway.app/
Problem Solving Steps with BFS Algorithm
Algoritma BFS pencarian pohon resep menggunakan metode rekursif. Metode rekursif akan memanggil fungsi dirinya sendiri dengan parameter yang sudah diolah. Pada setiap fungsi memasukkan semua gabungan elemen yang menghasilkan elemen tersebut yang didapat dari RecipeMap untuk memastikan pencarian dilakukan secara meluas. Akan tetapi, sebelum dimasukkan akan dipastikan terlebih dahulu tier lebih rendah dari tier parent-nya. Setiap children akan di-assign ke worker dari goroutine untuk mempercepat pencarian dengan multithreading.
Problem Solving Steps with DFS Algorithm
Algoritma DFS dalam pencarian pohon resep juga menggunakan metode rekursif, namun pendekatannya berbeda dengan BFS. Metode rekursif pada DFS akan memanggil fungsi dirinya sendiri untuk mengeksplorasi jalur pencarian secara mendalam sebelum berpindah ke jalur lainnya. Pada setiap pemanggilan fungsi, sistem akan mengambil seluruh kombinasi elemen dari RecipeMap yang dapat membentuk elemen tersebut. Namun, sebelum kombinasi tersebut ditelusuri lebih lanjut, terlebih dahulu akan diperiksa apakah tier dari elemen yang akan ditelusuri lebih rendah dari tier parent-nya, untuk mencegah pencarian yang berputar. DFS akan menelusuri satu cabang pencarian hingga ke elemen paling dasar sebelum kembali (backtrack) dan melanjutkan ke kombinasi lain yang belum dieksplorasi.
Built With
Preview
Home Page

App Page

Elements Page

About Page

Author
| NIM | Nama Anggota | Github |
|---|---|---|
| 13523065 | Dzaky Aurelia Fawwaz | WwzFwz |
| 13523091 | Carlo Angkisan | carllix |
| 13523101 | Barru Adi Utomo | barruadi |