Tải bản đầy đủ (.docx) (12 trang)

BÁO CÁO ĐỒ ÁN MÔN HỌC NHẬP MÔN TRÍ TUỆ NHÂN TẠO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.69 MB, 12 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

ĐẠI HỌC BÁCH KHOA HÀ NỘI

<b>TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG</b>

<b>BÁO CÁO ĐỒ ÁN MƠN HỌCNHẬP MƠN TRÍ TUỆ NHÂN TẠO</b>

3 Bùi Tồn Thắng 202107824 Trần An Khánh 20210479

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC</b>

1. Phân tích bài tốn: tìm đường đi ngắn nhất trên bản đồ 52. Thuật tốn tìm đường 53. Đường đi và truy vết 54. Hiển thị trên giao diện đồ họa 55. Giao diện người dùng 5

<b>CHƯƠNG 3. CÔNG NGHỆ SỬ DỤNG VÀ BỘ DỮ LIỆU6</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>LỜI NÓI ĐẦU</b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI</b>

<b>Xây dựng và Tối ưu Hóa Hệ Thống Tìm Đường Trên Bản Đồ:Ứng Dụng Cho Hàng Bài</b>

<b>1. Lý do chọn đề tài</b>

 Tìm đường đi trên bản đồ đóng một vai trị quan trọng trong nhiều lĩnh vực, bao gồm giao thông, quản lý đối tượng di động, và robot tự động di chuyển.

 Đề tài hứa hẹn mang lại giá trị thực tế bằng cách tối ưu hóa chi phí và thờigian di chuyển, có ứng dụng rộng rãi và tích cực đối với nhóm hàng bài.

<b>2. u cầu bài tốn</b>

 Xây dựng hệ thống tìm đường trên bản đồ cho nhóm hàng bài với khả năng chọn điểm xuất phát và điểm đến từ người dùng.

 Các yêu cầu chính bao gồm khả năng sử dụng thuật tốn tìm đường như DFS, BFS, Dijkstra, và A* để đảm bảo đường đi ngắn nhất.

 Giao diện người dùng thân thiện, cho phép người dùng dễ dàng tương tác và chọn điểm trên bản đồ.

<b>3. Ý tưởng thực hiện</b>

 Thu thập dữ liệu bản đồ và xây dựng biểu đồ đồ thị để mô phỏng mối quan hệ giữa các điểm trên bản đồ.

 Sử dụng thuật tốn DFS và BFS để tìm kiếm đường đi cơ bản.

 Áp dụng thuật toán Dijkstra để tối ưu hóa theo chi phí và thuật tốn A* đểtối ưu hóa cả chi phí và thời gian di chuyển.

 Phát triển giao diện người dùng đẹp, thân thiện và dễ sử dụng, cho phép người dùng chọn điểm xuất phát và điểm đến, sau đó hiển thị đường đi ngắn nhất trên bản đồ.

 Tối ưu hóa và kiểm thử hệ thống để đảm bảo độ chính xác và hiệu suất cao.

 Triển khai tính năng bảo trì và cập nhật để đáp ứng nhu cầu thay đổi và cải thiện hệ thống theo thời gian.

<b>4. </b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>CHƯƠNG 2. CƠ SỞ LÝ THUYẾT</b>

<b>1. Phân tích bài tốn: Tìm đường đi ngắn nhất trên bản đồ</b>

<b>a) Môi trường:</b>

<small></small> Bản đồ với các điểm quan trọng như giao lộ, ngã tư, địa danh.

<small></small> Dữ liệu về các con đường và khoảng cách giữa các điểm trên bản đồ.

1. Performance Measure (Đo lường hiệu suất):

i. Mục tiêu chính: Tìm đường đi ngắn nhất giữa hai điểm trên bản đồ.

ii. Đánh giá: Chi phí và thời gian di chuyển thấp, đường đi phải là đường ngắn nhất.

2. Environment (Môi trường):i. Bản đồ:

ii. Được tạo ra với các điểm quan trọng như giao lộ, ngã tư, và địa danh.

iii. Chứa dữ liệu về các con đường và khoảng cách giữa các điểm.

3. Actuators (Bộ truyền động):

i. Hệ thống thuật tốn tìm đường:

ii. Thực hiện các thuật tốn như Dijkstra, A* để tìm đường đi.iii. Tương tác với dữ liệu bản đồ và trả về đường đi tối ưu.4. Sensors (Cảm biến):

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>2. Thuật tốn tìm đường:</b>

<b>a) DFS (Depth-First Search):</b>

<small></small> Duyệt sâu vào đồ thị để tìm đường đi.

<small></small> Sử dụng cho mơi trường có nhiều lựa chọn nhánh.

<b>b) BFS (Breadth-First Search):</b>

<small></small> Duyệt rộng trên đồ thị để tìm đường đi.

<small></small> Sử dụng cho mơi trường có cấu trúc rõ ràng và các lựa chọn có thể cân nhắc.

<b>c) Dijkstra:</b>

<small></small> Tìm đường đi ngắn nhất giữa các đỉnh trên đồ thị.

<small></small> Phù hợp cho môi trường với trọng số cạnh dương.

<b>f) Uniform Cost Search (UCS):</b>

 UCS tập trung vào việc tìm đường đi có chi phí tổng thấp nhất.

 Sử dụng hàng đợi ưu tiên để giữ các đỉnh theo thứ tự tăng dần của chi phí. Hiệu quả khi chi phí trên các cạnh là biến đổi và không đồng đều.

<b>g) Greedy Best-First Search (GBFS):</b>

 GBFS chọn đường đi dựa trên một hàm heuristics.

 Hàm heuristics ước lượng khoảng cách tới đích từ mỗi đỉnh.

 Tập trung vào việc chọn đường dẫn trơng có vẻ gần nhất đến đích.

<b>3. Đường Đi và Truy Vết:</b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<small></small> Lưu trữ thơng tin về đường đi, có thể là danh sách các điểm hoặc đỉnh trên đồ thị.

<small></small> Thuật toán sẽ xác định đường đi ngắn nhất giữa điểm xuất phát và điểm đến.

<b>4. Hiển Thị Trên Giao Diện Đồ Họa:</b>

<small></small> Sử dụng thư viện Vite và React hiển thị bản đồ và môi trường.

<small></small> Hiển thị đường đi trên bản đồ để người dùng có cái nhìn tổng quan.

<b>5. Giao Diện Người Dùng:</b>

<small></small> Giao diện đơn giản, dễ sử dụng cho việc chọn điểm xuất phát và điểm đến.

<small></small> Hiển thị kết quả đường đi ngắn nhất.

<small></small> Cung cấp tùy chọn thêm như điều chỉnh thuật toán, thay đổi kiểu hiển thị.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<i><b>CHƯƠNG 3. CÔNG NGHỆ SỬ DỤNG VÀ BỘ DỮ LIỆU</b></i>

1. Xây dựng giao diện người dung

2. Gọi API để lấy về dữ liệu đường đi được trả về từ backend cho thuật toán tương ứng.

e) osmnx:

1. Lý do sử dụng: Thư viện osmnx được sử dụng để tải dữ liệu đồ thị đường phố từ OpenStreetMap và thực hiện các phân tích về đồ thị đường phố. Tuy nhiên, trong đoạn mã của bạn, có vẻ khơng có sử dụng thực tế của thư viện này.

f) heapq:

1. Lý do sử dụng: Thư viện heapq cung cấp các chức năng liên quan đến hàng đợi ưu tiên (priority queue), được sử dụng trong thuật tốn A* và Dijkstra để tối ưu hóa việc chọn nút theo ưu tiên.g) deque:

1. Lý do sử dụng: Thư viện deque cung cấp cấu trúc dữ liệu hàng đợi hai đầu (double-ended queue), được sử dụng trong thuật tốn BFS.

 hangbai_edges.json:

 Có thể chứa thơng tin về các cạnh liên quan đến một khu vực cụ thểmang tên "hangbai."

 hangbai_nodes.json:

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

 Chứa thông tin về các đỉnh trong khu vực hoặc tính năng "hangbai."

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>CHƯƠNG 4. KẾT QUẢ TỔNG QUAN</b>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

2. Nhận xét, đánh giá:

Sau khi thử nghiệm với nhiều vị trí khác nhau, có thể kết luận rằng thuật toán BFS và Dijkstra cho kết quả đường đi tương tự nhau và tốt hơn đáng kể so với thuật toán DFS.

3. Hướng phát triển:

Mở rộng phạm vi tìm kiếm đường đi.

Thử nghiệm các thuật tốn mới để gia tăng độ chính xác.

</div>

×