Đề Tài: Ứng Dụng Thuật Toán Tìm Đường Đi Ngắn Nhất Giữa Các Địa Điểm Nổi Bật Ở Thành phố Hồ Chí Minh
Ứng dụng được xây dựng nhằm hỗ trợ người dùng tìm kiếm đường đi ngắn nhất giữa các địa điểm nổi bật tại Việt Nam, dựa trên thuật toán đồ thị như Dijkstra, Bellman-Ford, và A*. Giao diện đồ họa thân thiện giúp người dùng dễ dàng thao tác, kết hợp với các chức năng trực quan hóa quá trình tính toán và chọn lựa phương tiện di chuyển phù hợp.
- Đồ thị địa điểm: Các địa điểm nổi bật được biểu diễn dưới dạng đồ thị, trong đó:
- Các đỉnh (nodes) là địa điểm.
- Các cạnh (edges) là đường đi giữa các địa điểm kèm khoảng cách.
- Thuật toán:
- Dijkstra: Tìm đường đi ngắn nhất từ một điểm đến tất cả các điểm còn lại.
- Bellman-Ford: Xử lý đồ thị có trọng số âm, đảm bảo kết quả chính xác.
- A*: Sử dụng hàm heuristic để cải thiện hiệu năng tìm kiếm.
- Phương tiện di chuyển:
- Người dùng có thể chọn giữa "Xe máy" và "Xe ô tô", với mỗi phương tiện áp dụng các hạn chế khác nhau lên đồ thị (ví dụ: một số đường chỉ dành cho ô tô).
- Hỗ trợ lập kế hoạch di chuyển tối ưu giữa các địa điểm du lịch.
- Tăng cường hiểu biết về các thuật toán đồ thị thông qua trực quan hóa.
- Đề xuất tuyến đường tối ưu cho các loại phương tiện khác nhau.
- Trình duyệt web: Google Chrome, Mozilla Firefox, Microsoft Edge,...
- Web server (khuyến nghị nếu cần tải file
graph.jsonqua HTTP): - Visual Studio Code: phiên bản mới nhất
- D3.js (v7) - Visualize đồ thị.
- Bootstrap - Thiết kế giao diện.
- Formspree - Gửi phản hồi qua email.
- Cài đặt Node.js từ trang chủ Node.js.
- Mở terminal, chuyển đến thư mục chứa project.
- Chạy lệnh sau để khởi động server đơn giản:
npx serve
- Mở trình duyệt và truy cập
http://localhost:3000.
- Đảm bảo Python đã được cài đặt.
- Mở terminal, chuyển đến thư mục chứa project.
- Chạy lệnh sau để khởi động server:
python -m http.server
- Mở trình duyệt và truy cập
http://localhost:8000.
- Cài đặt Visual Studio Code từ trang chủ VS Code.
- Cài extension Live Preview từ marketplace.
- Mở file
index.htmlvà nhấn Go Live.
- Mở trình duyệt và truy cập vào file
index.html(nếu không dùng web server, chỉ cần mở file). - Giao diện sẽ hiển thị đồ thị các địa điểm.
- Chọn thuật toán trong mục "Lựa chọn thuật toán":
- Dijkstra
- Bellman-Ford
- A*
- Chọn phương tiện di chuyển: Xe máy hoặc Xe ô tô.
- Chọn địa điểm bắt đầu và kết thúc từ các danh sách thả xuống.
- Nhấn Tìm đường để hiển thị kết quả.
- Kết quả bao gồm:
- Đường đi tối ưu hiển thị trên đồ thị.
- Khoảng cách (tính bằng km).
- Nhấp vào nút "Góp ý & phản hồi" ở cuối giao diện.
- Điền thông tin vào form phản hồi.
- Nhấn "Gửi" để gửi ý kiến qua Formspree(có thể tạo tài khoản trên Formspree và lấy mã html từ trang).
index.html: Trang chính của ứng dụng.feedback.html: Trang phản hồi.graph.json: Dữ liệu đồ thị các địa điểm và khoảng cách.style.css: Định dạng giao diện (nếu có).- Các thư viện được tích hợp qua CDN:
- Bootstrap
- D3.js
- Formspree.
- Nếu không tải được dữ liệu từ
graph.json, hãy kiểm tra lại tất cả các file cần thiết cho chương trình (không mở trực tiếp fileindex.html). - Cần cấu hình dịch vụ Formspree với API key cá nhân nếu muốn sử dụng chức năng gửi phản hồi.
- Manwithgame [https://github.com/tda234574534243]
- TruongAnhKietK49 [https://github.com/TruongAnhKietK49]
- Ynhi49cnttc [https://github.com/Ynhi49cnttc]
- ThanhTien [https://github.com/nguyenthanhmoney]