1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài toán tìm đường đi ngắn nhất và ứng dụng

102 2.6K 14

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

TRƢỜNG ĐẠI HỌC CẦN THƠ KHOA SƢ PHẠM BỘ MÔN SP TOÁN HỌC - - - - - - - - - - LUẬN VĂN TỐT NGHIỆP Đề tài: BÀI TOÁN TÌM ĐƢỜNG ĐI NGẮN NHẤT VÀ ỨNG DỤNG Giáo viên hướng dẫn Sinh viên thực ThS Phạm Thị Vui Lƣu Thị Hồng Trang MSSV: B1200416 Lớp SP Toán K38 Cần Thơ, 2016 LỜI CẢM ƠN Em xin chân thành gửi lời cảm ơn đến lãnh đạo nhà trƣờng, Thầy Cô trƣờng tạo điều kiện thuận lợi để em học tập rèn luyện năm học vừa qua, đặc biệt Thầy Cô Khoa Sƣ phạm trƣớc Thầy Cô Bộ môn Sƣ phạm Toán tận tình giảng dạy, truyền thụ cho em kiến thức nhƣ kinh nghiệm quý báu để làm hành trang cho em đƣờng giảng dạy nâng cao trình độ sau Em xin gửi lời cảm ơn sâu sắc đến cô Phạm Thị Vui, giáo viên hƣớng dẫn luận văn cho em Nhờ hƣớng dẫn giúp đỡ tận tình cô giúp em hoàn thành tốt luận văn Em xin gửi lời cảm ơn đến bạn bè, gia đình ngƣời xung quanh động viên, ủng hộ giúp đỡ em suốt trình học tập hoàn thành luận văn Trong trình hoàn thành luận văn, em cố gắng nổ lực nhƣng thời gian có hạn nên chắn nhiều thiếu sót Rất mong nhận đƣợc ý kiến góp ý quý báu Thầy Cô bạn đọc Cần Thơ, ngày tháng năm 2016 sinh viên thực Lƣu Thị Hồng Trang Mục Lục PHẦN MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Mục đích nghiên cứu 1.3 Phƣơng pháp nghiên cứu 1.4 Phạm vi nghiên cứu 1.5 Nội dung luận văn PHẦN NỘI DUNG Chƣơng KIẾN THỨC CHUẨN BỊ 1.1 Đồ thị 1.1.1 Sơ lƣợc đồ thị 1.1.2 Một số khái niệm 1.1.3 Một số ví dụ đồ thị 1.2 Một số khái niệm liên quan đến đồ thị 1.2.1 Cạnh bội khuyên 1.2.2 Đơn đồ thị 1.2.3 Đa đồ thị 1.2.4 Giả đồ thị 10 1.2.5 Đồ thị có trọng số 10 1.2.6 Bậc đỉnh đồ thị 11 1.3 Biễu diễn đồ thị 14 1.3.1 Biễu điễn đồ thị hình học 14 1.3.2 Biểu diễn đồ thị ma trận 15 1.3.3 Biểu diễn đồ thị bảng 19 1.4 Đƣờng – chu trình – tính liên thông đồ thị 20 1.4.1 Đƣờng 20 1.4.3 Tính liên thông đồ thị 21 Chƣơng 25 BÀI TOÁN TÌM ĐƢỜNG ĐI NGẮN NHẤT 25 2.1 Bài Toán Tìm Đƣờng Đi Ngắn Nhất 25 2.1.1 Giới thiệu toán 25 2.1.2 Phát biểu toán tìm đƣờng ngắn đồ thị 25 2.1.3 Một số khái niệm 26 2.2 Thuật toán Dijkstra 27 2.2.1 Giới thiệu thuật toán Dijkstra 27 2.2.2 Thuật toán Dijkstra 29 2.2.3 Ví dụ 33 2.2.4 Định lí 39 2.2.5 Định lí 39 2.2.6 Định lí 41 2.2.7 Lƣu đồ thuật toán Dijkstra 42 2.3 Thuật toán Ford-Bellman 43 2.3.1 Giới thiệu thuật toán Ford-Bellman 43 2.3.2 Tƣ tƣởng thuật toán Ford-Bellman 44 2.3.3 Ví dụ 45 2.3.4 Lƣu đồ thuật toán Ford-Bellman 52 2.4 Thuật toán Hedetniemi 53 2.4.1 Giới thiệu thuật toán Hedetniemi 53 2.4.2 Phép cộng hai ma trận Hedetniemi 53 2.4.3 Thuật toán Hedetniemi 54 2.4.5 Lƣu đồ thuật toán Hidetniemi 57 2.5 Một số toán tìm đƣờng ngắn mở rộng 58 2.5.1 Bài toán 58 2.5.2 Bài toán 64 Chƣơng 76 ỨNG DỤNG 76 3.1 Tổng quan ứng dụng toán tìm đƣờng ngắn kết hợp với đồ số 76 3.2 Bài toán xe buýt 77 3.2.1 Hiện trạng hệ thống xe buýt 77 3.2.2 Cách thức đón xe buýt 78 3.2.3 Chức yêu cầu cần có ứng dụng WebGIS 79 3.2.4 Tìm đƣờng ngắn 79 3.2.5 Tìm trạm dừng/nhà chờ gần 81 3.3 Bài toán xe taxi 82 3.4 Công tác phòng cháy chữa cháy 85 3.5 Mở rộng toán xe buýt 88 Kết Luận 94 Danh Mục Hình Hình 1: Đồ thị “lấn tổ” Hình 2: Đồ thị ảnh hƣởng Hình 3: Đồ thị biểu diễn kết thi đấu Hình 4: Đồ thị có ƣu tiên trƣớc sau Hình 5: Đơn đồ thị vô hƣớng Hình 6: Đơn đồ thị có hƣớng Hình 7: Đa đồ thị vô hƣớng Hình 8: Đa đồ thị có hƣớng Hình 9: Giả đồ thị 10 Hình 10: Đồ thị biểu diễn khoảng cách đƣờng dây điện thoại thành phố 10 Hình 11: Biểu diễn hình học đồ thị vô hƣớng 14 Hình 12: G đồ thị liên thông, H không đồ thị liên thông 22 Hình 13: Đồ thị liên thông mạnh 24 Hình 14: Đồ thị liên thông yếu 24 Hình 1: Sơ đồ tƣơng tác ngƣời dùng hệ thông điều phối xe taxi 83 Hình 2: Sơ đồ tƣơng tác khách hàng truyền thống hệ thống điều phối xe taxi 84 Hình 3: Quá trình xử lí hệ thống ứng dụng công nghệ GIS tìm đƣờng ngắn tới điểm cháy 87 Hình 4: Quá trình xử lí hệ thống ứng dụng công nghệ GIS tìm vị trí trụ nƣớc gần địa điểm cháy 88 PHẦN MỞ ĐẦU 1.1 Lý chọn đề tài Lý thuyết đồ thị công cụ quan trọng có nhiều ứng dụng Toán rời rạc Lý thuyết đồ thị sử dụng đồ thị để nghiên cứu, làm đơn giản hóa giải toán việc giải toán công cụ khác toán học khó khăn Tuy lý thuyết đồ thị đƣợc hình thành từ lâu, song ý nghĩa lớn ngày đƣợc cải tiến mở rộng Có thể nói nhà toán học Thụy Sỹ, Leonhard Euler, ngƣời có ý tƣởng cho đời từ kỉ 18 Ông dùng đồ thị để giải toán cầu Konigsberg tiếng Cùng với phát triển khoa học kỹ thuật công nghệ, nhiều toán mô hình mạng giao thông, mạng hàng không liên quan mật thiết tới lý thuyết đồ thị thuật toán tìm kiếm đồ thị Cùng với phát triển xã hội, việc di chuyển ngƣời, hàng hóa thông tin, ngày gia tăng Cùng với gia tăng yêu cầu cực tiểu chi phí, khoảng cách, thời gian, trở nên quan trọng Theo lý thuyết đồ thị toán tìm đƣờng ngắn đỉnh đồ thị Chẳng hạn, toán tìm đƣờng bay ngắn thành phố, toán tìm tuyến xe buýt từ địa điểm đến địa điểm cho tiết kiệm chi phí nhất, v.v Bài toán tìm đƣờng ngắn trở nên cấp thiết quan trọng tƣơng lai Do quan trọng cấp thiết toán tìm đƣờng ngắn nên có nhiều nhà toán học đƣa nhiều thuật toán để giải đƣợc vận dụng vào để giải nhiều toán thực tế Trong thuật toán đƣợc đƣa ra, có ba thuật toán đƣợc nhắc đến nhiều thuật toán Dijkstra, thuật toán Ford-Bellman thuật toán Hedetniemi 1.2 Mục đích nghiên cứu Nội dung luận văn trình bày số kiến thức lý thuyết đồ thị liên quan đến toán tìm đƣờng ngắn nhất, giới thiệu toán tìm đƣờng ngắn số thuật toán để giải Phần cuối số ứng dụng thực tế áp dụng thuật toán tìm đƣờng ngắn 1.3 Phƣơng pháp nghiên cứu Tìm hiểu sách tham khảo, giáo trình, báo cáo số website 1.4 Phạm vi nghiên cứu Luận văn tập trung trình bày số thuật toán để giải số toán tìm đƣờng ngắn nhất, làm sáng tỏ số định lí có liên quan ý tƣởng ba thuật toán Dijkstra, Ford-Bellman Hedetniemi để giải toán tìm đƣờng ngắn Đồng thời, tìm hiểu trình bày số ứng dụng thuật toán tìm đƣờng ngắn thực tế 1.5 Nội dung luận văn Luận văn phần mở đầu, phần kết luận, tài liệu tham khảo có phần nội dung gồm ba chƣơng: Chương 1: Kiến thức chuẩn bị: Trình bày số kiến thức đồ thị liên quan đến toán thuật toán tìm đƣờng ngắn Chương 2: Bài toán tìm đường ngắn nhất: Giới thiệu toán tìm đƣờng ngắn Trình bày ba thuật toán Dijkstra, Ford-Bellman Hedetniemi để giải toán tìm đƣờng ngắn Chương 3: Ứng dụng Trình bày số ứng dụng thuật toán tìm đƣờng ngắn toán thực tế Tuy cố gắng tìm hiểu soạn thảo, song hạn chế thời gian nên luận văn tránh không khỏi thiếu sót Rất mong nhận đƣợc đóng góp quý thầy cô để luận văn hoàn thiện PHẦN NỘI DUNG Chƣơng KIẾN THỨC CHUẨN BỊ 1.1 Đồ thị 1.1.1 Sơ lƣợc đồ thị Đồ thị cấu trúc rời rạc gồm đỉnh cạnh (vô hƣớng có hƣớng) nối đỉnh Có nhiều vấn đề thuộc lĩnh vực khác sống đƣợc mô hình hóa đồ thị Chẳng hạn, ngƣời ta dùng đồ thị để biểu diễn cạnh tranh loài môi trƣờng sinh thái, dùng đồ thị để biểu diễn có ảnh hƣởng lên tổ chức đó, dùng đồ thị để biểu diễn kết cục thi đấu thể thao Nhiều lĩnh vực xã hội tồn nhiều vấn đề để giải vấn đề cần phải áp dụng đến công cụ toán học Chẳng hạn, toán tính số tổ hợp khác chuyến bay thành phố mạng hàng không, để giải toán tìm đƣờng tham quan tất đƣờng phố thành phố cho đƣờng phố qua lần, toán tìm số màu cần thiết để tô vùng khác đồ cho vùng có chung ranh giới không bị trùng màu với nhau, toán tìm đƣờng từ địa điểm đến địa điểm khác thành phố cho thỏa mãn tiêu chí tiết kiệm thời gian, nhiên liệu, khoảng cách Để giải toán dạng trở nên dễ dàng nhiều áp dụng lý thuyết đồ thị việc áp dụng công cụ khác toán học khó khăn 1.1.2 Một số khái niệm Khái niệm 1: Đồ thị (graph) G  (V , E ) phận gồm tập hợp V E , V   Các phần tử V đỉnh (vertices), phần tử E cạnh (edges), cạnh tƣơng ứng với đỉnh Khái niệm 2: Đồ thị có hƣớng đồ thị có cạnh đƣợc tạo cặp đỉnh có thứ tự thuộc E Giả sử cạnh e đƣợc đỉnh u kết thúc đỉnh v đỉnh u đƣợc gọi đỉnh đầu v đƣợc gọi đỉnh cuối Hay nói cách khác, cạnh uv  vu Khái niệm 3: Đồ thị G '  (V ', E ') đƣợc gọi đồ thị (subgraph) đồ thị G  (V , E ) V '  V , E '  E Khái niệm 4: Đồ thị có số đỉnh số cạnh hữu hạn đƣợc gọi đồ thị hữu hạn (finite graph), ngƣợc lại đƣợc gọi đồ thị vô hạn (infinite graph) Trong luận văn này, không nói thêm, ta hiểu, đồ thị đƣợc cho đồ thị hữu hạn 1.1.3 Một số ví dụ đồ thị a) Đồ thị “lấn tổ” (Niche Overlap) sinh thái học Đồ thị “lấn tổ” đồ thị đƣợc dùng để biểu diễn tƣơng tác qua lại loài vật hệ sinh thái Chẳng hạn, cạnh tranh loài hệ sinh thái mô hình hóa đồ thị Mỗi loài đƣợc biểu diễn đỉnh Một cạnh vô hƣớng nối hai đỉnh hai loài tƣơng ứng đƣợc biểu diễn đỉnh cạnh tranh với (cạnh tranh chúng có chung nguồn thức ăn) Ví dụ: Đồ thị lấn tổ loài Hình 1: Đồ thị “lấn tổ” Nếu ứng dụng thực thành công, hệ thống hiển thị thông tin tìm đƣờng ngắn tới trạm dừng gần cho ngƣời dùng, ngƣợc lại hệ thống thông báo lỗi quay trở luồng kiện 3.3 Bài toán xe taxi Một dạng toán khác mà phần mềm ứng dụng GPS dùng để hổ trợ toán thực tế toán điều phối xe taxi Việc điều phối xe taxi phụ thuộc vào cách quản lí yếu tố ngƣời Tuy nhiên, hệ thống hổ trợ việc xe taxi gần khách hàng Đây toán bao gồm nghĩa đen lẫn nghĩa bóng Khi xe taxi lƣu thông đƣờng, dùng kĩ thuật node giả, ta xem xe taxi node giả Sự khác biệt node giả di động nghĩa đen tính động toán; thay đổi vị trí theo thời gian, lúc liệu tọa độ, khoảng cách node giả đƣợc cập nhật liên tục Nếu có yêu cầu từ khách hàng ngƣời điều phối phải xác định đƣợc vị trí xe taxi chƣa có khách đồ Có nghĩa là, thời điểm có yêu cầu khách hàng xe taxi đƣợc xem đứng yên tức thời Từ vị trí tức thời này, hệ thống xác định xe taxi gần khách hàng nhất, tức đƣờng ngắn từ xe taxi đến nơi yêu cầu Ý tƣởng tổ chức để giải toán này: Đối với node giả ta sử dụng cấu trúc B+Tree để lƣu Một B+Tree lƣu tất taxi, biến để theo dõi trạng thái xe taxi Nếu xe có trạng thái tức có khách Và xe có trạng thái tức xe khách Trong trình hoạt động xe có thay đổi trạng thái từ xe có khách sang xe trống node di chuyển từ trạng thái sang trạng thái Ngoài ra, để đáp ứng tính động hệ thống, xe di chuyển vị trí tọa độ đƣợc cập nhật lại vào node đại diện cho xe hệ thống B+Tree Cứ sau khoảng thời gian cập nhật lại vị trí tƣơng đối xe taxi đồ Để xác định xe taxi gần khách hàng nhất, toán tìm đƣờng ngắn theo lí thuyết đồ thị Trong phần mềm ứng dụng công nghệ GPS, có phần mềm ứng dụng Staxi đại DVMS phát triển Giải pháp Staxi hƣớng đến hai nhóm khách hàng mục tiêu: Khách hàng truyền thống (gọi điện đặt taxi thông qua tổng đài) khách hàng công nghệ (sử dụng ứng dụng để đặt taxi) Nhờ xác định đƣợc vị trí 82 xác khách hàng, vị trí toàn đội xe điều phối cách tự động, giải pháp Staxi mang lại nhiều lợi ích nhƣ: Tiết kiệm chi phí vận hành, xăng dầu, tận dụng nguồn lực xe hiệu từ nhiều hãng taxi hiệu quản lí điều phối taxi đƣờng dài Chất lƣợng dịch vụ đƣợc nâng cao nhờ xử lí nhanh yêu cầu điều xe vị trí gần nhất, phản hồi cho khách hàng có xe Ghi nhận thông tin khách hàng thông tin chuyển giúp công tác chăm sóc khách hàng dễ dàng Quản lí hiệu thông qua hệ thống báo cáo thống kê chuyến đi, quản lí, đánh giá nhân viên, tài xế, báo cáo phân tích chuyên sâu Mô hình hệ thống đƣợc mô tả nhƣ sau: Hình 1: Sơ đồ tƣơng tác ngƣời dùng hệ thông điều phối xe taxi Hệ thống gồm thành phần chính: Phần mềm website điều hành: Cung cấp cho nhân viên chức giám sát quản lí vị trí xe taxi tạo yêu cầu đón khách hàng hệ thống Xem lịch sử đặt, trạng thái đặt để hổ trợ khách hàng kịp thời 83 Server định vị điều phối xe: Server xử lí yêu cầu đặt xe khách hàng dựa vào vị trí khách hàng vị trí xe từ tính toán khoảng cách để tìm xe gần gửi yêu cầu xuống xe Thông báo trạng thái cho khách hàng biết Mỗi vị trí xe, vị trí khách hàng đỉnh Các cạnh đoạn đƣờng nối đỉnh với trọng số khoảng cách đỉnh Bài toán trở toán tìm đƣờng ngắn đỉnh đến đỉnh khác đồ thị Ứng dụng đặt taxi cho khách hàng: Khách hàng sử dụng ứng dụng để đặt xe gọi trực tiếp qua tổng đài để tổng đài điều xe gần vị trí khách hàng xe Ứng dụng nhận yêu cầu taxi dành cho tài xế: Tài xế taxi sử dụng ứng dụng để nhận yêu cầu đón khách từ hệ thống, thông tin vị trí, số điện thoại khách hàng, tài xế bấm gọi cho khách hàng cần mà không cần nhớ số điện thoại khách Quá trình tƣơng tác khách hàng hệ thống điều phối xe khách hạng gọi trực tiếp đến tổng đài taxi nhƣ sau: Hình 2: Sơ đồ tƣơng tác khách hàng truyền thống hệ thống điều phối xe taxi Khi khách hạng gọi điện đến tổng đài, điều phối viên gởi thông tin khách hàng cho server xử lí tính toán thông tin để lệnh điều phối Sau đó, 84 server gửi lệnh cho xe gần khách hàng xe nhận đƣợc lệnh điều phối trả lời nhân lệnh điều phối Khi đó, sever gửi phản hồi cho điều phối viên có xe nhân đƣợc tin điều phối Điều phối viên chuyên thông tin xe đến đón cho khách hàng Quá trình tƣơng tác khách hàng hệ thống điều phối xe taxi: Khách hàng định vị trí đồ cách nhấn vào nút xác định vị trí, kiểm tra điều chỉnh vị trí (nếu có) Và nhấn nút “đặt xe” Hệ thống vào vị trí khách hàng thực xử lí tính toán để tìm xe taxi gần khách hàng bán kính xác định (vùng tìm gọi), trạng thái (không có khách) gởi lệnh yêu cầu taxi xuống ứng dụng Driver cài thiết bị xe taxi di động tài xế nằm vùng phục vụ Thông tin địa khách hàng ƣớc lƣợng khoảng cách đƣợc đƣợc gởi đến taxi nằm vùng tìm gọi Tài xế nhấn nút “nhận chuyển” để xác định nhận chuyển Sau đó, hệ thống thị thông tin chi tiết khách hàng vị trí khách hàng ứng dụng Driver tài xế Đồng thời, thông tin tài xế ƣớc lƣợng thời gian đến đón thị ứng dụng dành cho khách hàng thiết bị khách hàng dùng để đặt xe Sau tài xế chấp nhận, tài xế đƣợc cung cấp thêm thông tin khách hàng nhƣ tên, số điện thoại khách hàng Tài xế gọi trực tiếp cho khách hàng để xác nhận lại yêu cầu thống lại điểm đón khách Khi khách hàng lên xe, tài xế nhấn xác nhận ứng dụng khách hàng đến nơi, tài xế xác nhận lần để kết thúc hàng trình Lúc này, xe từ trạng thái (có khách) sang trạng thái (trống khách) Thông tin hành trình nhƣ quãng đƣờng, thời gian, địa điểm đƣợc lƣu lại ứng dụng dành cho khách hàng 3.4 Công tác phòng cháy chữa cháy Ứng dụng công nghệ GIS công tác chữa cháy mạng lại nhiều hữu ích: –Hệ thống xác định điểm chữa cháy nhanh chóng, xác Với cách xác định: 85 Thứ nhất: Khi ngƣời dân báo cáo khẩn cấp, họ phải báo cáo địa đám cháy Các nhà điều hành hệ thống sử dụng giải truy vấn không gian đồ GIS Thứ hai: Nếu ngƣời dân sử dụng điện thoại cố định để báo cháy mà địa điểm cụ thể, nhà quản lý trích xuất số điện thoại, gửi cho bên cung cấp dịch vụ viễn thông để có đƣợc địa điện thọai, sau xác định vị trí điểm cháy đồ điện tử Thứ ba: Nếu ngƣời dân sử dụng điện thoại di động (smart phone) có tích hơp GPS, để báo cháy gửi thông tin vị trí đứng (gần điểm cháy) nhiều phần mềm khác Thứ tƣ: Sử dụng thiết bị báo cháy tự động Nếu xảy cháy, thiết bị báo động tự động gửi tín hiệu cháy, chữa cháy trung tâm Nếu vị trí thiết bị báo động đƣợc đăng kí đƣợc lƣu trữ hệ thống, vị trí đám cháy nhanh chóng đƣợc xác định đồ điện tử –Hệ thống đƣa định hỗ trợ sau xác định địa điểm vụ cháy: Nhờ liệu GIS khả truy vấn, phân tích không gian mạnh mẽ, hệ thống tự động tìm kiếm trạm cứu hỏa gần nhất, xe cứu hỏa, thông tin nguồn nƣớc bệnh viện gần với vị trí đám cháy –Hệ thống đƣa điều hƣớng: Cùng với khả công nghệ GPS, hệ thống theo dõi xe cứu hỏa, giám sát trạng thái dẫn xe cứu hỏa đến địa điểm cháy thời gian gần Sau nhận đƣợc thông tin vụ cháy, hệ thống phân tích giải toán đặt nhƣ: a) Bài toán tìm tuyến đƣờng ngắn từ trạm PCCC với vị trí cháy Bài toán tìm trạm cứu hỏa phản hồi nhanh có (hoặc nhiều) đám cháy xảy (hoặc nhiều) địa điểm định Kết toán đƣa tuyến đƣờng (tuyến đƣờng tối ƣu tuyến đƣờng dự phòng gặp cố di chuyển) hỗ trợ cho xe cứu hỏa tới vụ cháy nhanh Qua trình giải toán đƣợc thể qua sơ đồ sau: 86 Hình 3: Quá trình xử lí hệ thống ứng dụng công nghệ GIS tìm đƣờng ngắn tới điểm cháy Khi nhận đƣợc thông tin từ vị trí cháy, xác định vị trí cháy thông qua công nghệ định vị GPS, với liệu phòng cháy chữa cháy vị trí trạm phòng cháy chữa cháy đồ Tất đƣợc tổng hợp qua hệ thống phân tích mạng sau đƣa đƣờng ngắn từ trạm phòng cháy chữa cháy tới điểm cháy để điều phối lực lƣợng cứu hỏa kịp thời Mỗi trạm, địa điểm cháy đỉnh, cạnh tuyến đƣờng nối hai đỉnh với trọng số khoảng cách hai đỉnh Đƣa toán tìm đƣờng ngắn từ trạm PCCC đến vị trí cháy toán tìm đƣờng ngắn đỉnh (vị trí điểm cháy) đồ thị đến đỉnh khác (các trạm PCCC) đồ thị b) Bài toán tìm điểm lấy nƣớc gần điểm cháy Bài toán giải vấn đề tìm điểm lấy nƣớc phục vụ cho việc ngăn chặn, dập tắt cháy cách nhanh Các điểm lấy nƣớc trụ nƣớc, ao, hồ, sông ngòi, kênh mƣơng, … 87 Hình 4: Quá trình xử lí hệ thống ứng dụng công nghệ GIS tìm vị trí trụ nƣớc gần địa điểm cháy Khi nhận đƣợc thông tin địa điểm cháy, bên cạnh tìm đƣờng ngắn từ trạm phòng cháy chữa cháy tới vị trí cháy việc tìm vị trí trụ nƣớc gần đám cháy vô quan trọng Các thông tin đƣợc đƣa vào hệ thống mạng nhƣ vị trí trụ nƣớc, địa điểm cháy, đƣờng Lúc này, trụ lấy nƣớc, vị trí cháy trở thành đỉnh đồ thị, đƣờng nối trụ nƣớc trụ nƣớc với địa điểm cháy cạnh (nếu có) với trọng số khoảng cách đƣờng nối trụ nƣớc địa điểm cháy tƣơng ứng Hệ thống đƣa liệu từ bảng đồ dạng đồ thị với cách xác định đỉnh, cạnh trọng số nhƣ Sau đó, hệ thống áp dụng thuật toán tìm đƣờng ngắn từ địa điểm cháy đến tất vị trí trụ lấy nƣớc khu vực đƣa phƣơng án tối ƣu cho ngƣời dùng để điều động lực lƣợng thích hợp để dập tắt đám cháy 3.5 Mở rộng toán xe buýt 88 Một chƣơng trình đƣợc hình thành dựa ý tƣởng toán xe buýt đƣợc phát triển có khả áp dụng nhiều thành phố, đƣợc triển khai thành phố Cần Thơ Với chƣơng trình ngƣời dùng (không khách du lịch mà ngƣời dân thành phố) đƣợc hỗ trợ tiện ích quan trọng mà chƣơng trình mang lại nhƣ: tìm đƣờng ngắn để lại nhanh nhất, tìm vị trí địa điểm bật nhƣ nhà hàng, khách sạn, siêu thị, trƣờng học, bệnh viện thông tin tuyến đƣờng nội ô thành phố Cần Thơ Đây chƣơng trình chiến lƣợc giúp cho ngành du lịch Cần Thơ phát triển mạnh mẽ thu hút ngày nhiều khách du lịch đến với Cần Thơ Hệ thống chƣơng trình dựa hệ thống thông tin xe buýt đồ số, thiết bị PDA kết hợp với thiết bị thu GPS Thiết bị kỹ thuật số hỗ trợ cá nhân thƣờng đƣợc gọi PDA (tiếng Anh: Personal Digital Assistant) thiết bị cầm tay vốn đƣợc thiết kế nhƣ sổ tay cá nhân ngày tích hợp thêm nhiều chức Một PDA thƣờng có đồng hồ, sổ lịch, sổ địa chỉ, danh sách việc cần làm, sổ ghi nhớ, máy tính bỏ túi Nhiều PDA vào mạng thông qua Wi-Fi, Bluetooth hay GPRS Một đặc điểm quan trọng PDA chúng đồng liệu với PC Hiện tính hỗ trợ cá nhân nhƣ PDA giúp nghe nhạc, ghi âm, xem phim, gọi điện thoại, chụp ảnh, quay phim, tìm đƣờng, điều khiển thiết bị điện tử từ xa có cổng giao tiếp truyền thống nhƣ USB, loại thẻ nhớ cổng hồng ngoại Cũng gọi điện thoại với giao tiếp không dây dùng chuẩn GSM/GPRS hay CDMA Một PDA điển hình có hình cảm ứng (touch screen) để nhập liệu, khe cắm cạc nhớ dành cho thiết bị lƣu trữ liệu cổng hồng ngoại (IrDA port) để nối mạng Các PDA hệ sau thƣờng đƣợc tích hợp Wifi Bluetooth Mô hình hệ thống nhƣ sau: 89 Hệ thống mô tả sau: + Hệ thống đƣợc thiết kế dựa công nghệ GPS (Global Positioning System) GIS (Geographic Information System): Để xác định vị trí ngƣời dùng, liệu địa điểm quan trọng, tuyến đƣờng, khoảng cách điah điểm, + Với hệ thống này, để xe buýt, hệ thống thông báo cho hành khách nhƣng thông tin trạm dừng nhƣ: có nhà hàng nào, có địa danh du lịch hay thông tin có liên quan khác … + Nếu ngƣời dùng có thiết bị hỗ trợ cá nhân (PDA) riêng cài đặt sử dụng hệ thống 3.5.1 Một số chức hệ thống 90 Chức hệ thống mô tả sau: : Trong hệ thống xe buýt đƣợc mô tả đƣợc tích hợp chức GPS, có tín hiệu GPS tín hiệu a Không có tín hiệu GPS: Trƣờng hợp sử dụng thiết bị thu GPS dùng đƣợc chƣơng trình này, ngƣời dùng dễ dàng xác định vị trí nhờ điểm mốc địa điểm có đồ Ví dụ, đứng đối diện với Khu II Trƣờng Đại Học Cần Thơ, biết đƣợc vị trí đƣờng 3/2 Từ đó, dễ dàng xác định đƣợc vị trí đồ − Một số đối tƣợng đƣợc hiển thị đồ nhƣ sau: 91 + Mỗi địa điểm đƣợc thể điểm đồ với biểu tƣợng đặc trƣng cho loại đối tƣợng + Cho phép ngƣời dùng chọn nhiều lớp thông tin để hiển thị Ví dụ ta thị lớp ( trạm xe buýt, y tế , trƣờng học ) lớp mở rộng tính chƣơng trình − Hệ thống cho phép thay đổi vị trí đồ cách: + Chƣơng trình cho phép ngƣời dùng kéo đồ (di chuyển khung nhìn) vị trí cần quan sát + Để di chuyển đồ dùng kiện kéo trỏ đồ, hay xuất cuộn để di chuyển − Hệ thống cho phép tự động tải đồ cho phiên khởi tạo đầu tiên: Chƣơng trình tự động kích hoạt đồ mặc định, hiển thị tƣơng ứng vị trí ( mặc định chƣơng trình thị tuyến xe buýt nội ô TPCT ) − Tìm đƣờng ngắn nhất, liệu nhận đƣợc đƣợc chuyển dạng đồ thị với cách xác định đồ thị nhƣ sau: + Điểm bắt đầu điểm kết thúc cho ngƣời dùng chọn từ danh sách điểm có sở liệu hay sử dụng cách trực quan đánh dấu trực tiếp đồ hiển thị: sau đƣờng ngắn qua hai điểm tuyến xe buýt phù hợp cho ngƣời dùng + Riêng điểm bắt đầu chọn vị trí đứng ( có đƣợc thông tin thông qua tín hiệu GPS ) − Hệ thống cho phép thay đổi màu sắc đồ hiển thị: Điểu chỉnh cách thể thông tin màu đồ cho phù hợp với sở thích ngƣời dùng b Có tín hiệu GPS: Khi hệ thống làm đƣợc tất chức giống nhƣ hệ thống không nhận đƣợc tín hiệu GPS Thêm vào đó, hệ thống có thêm số chức sau: − Khi có sử dụng thiết bị thu GPS chƣơng trình cho biết vị trí ngƣời sử dụng thiết bị đồ − Các chức khác: + Hệ thống ƣớc lƣợng khoảng thời gian đến đích (thông qua thông tin từ vận tốc GPS ) + Hiện thị vận tốc, hƣớng di chuyển, GTM….( hoạt động nhận đƣợc tín hiệu ổn định.) Thuật toán đƣợc sử dụng để tìm đƣờng chƣơng trình thuật toán Dijkstra Cách xác định đỉnh cạnh đồ thị đƣợc xác định nhƣ sau: Cơ chế xác định đỉnh đồ thị: 92 • Mỗi đƣờng đồ đƣợc chia thành đoạn khác tùy vào số điểm giao với đƣờng khác, số đoạn đƣợc chia tính bằng: (Tổng giao điểm với đƣờng khác)-2 • Ứng đoạn đƣợc chia đƣợc mô hình hóa đỉnh đồ thị Xác định độ dài cung ban đầu: • Ứng với đoạn (đỉnh đồ thị) có độ dài riêng • Khi có hai đoạn (hai đỉnh đồ thị) liên tục nhau: ta xác định cung đồ thị, với trọng số tổng độ dài hai đoạn tạo nên cung Sau xác định đƣợc tất đỉnh, cung trọng số cung tìm đƣợc đồ thị sở cho việc tìm đƣờng Tuy nhiên để thực thi giải thuật Dijkstra cần phải thiết lập lại giá trị trọng số cung qua đỉnh bắt đầu đỉnh kết thúc Ghi chú: • Đỉnh bắt đầu: đỉnh (đoạn đƣờng đồ) chứa điểm bắt đầu đồ • Đỉnh kết thúc: đỉnh (đoạn đƣờng đồ) chứa điểm kết thúc đồ Ứng với điểm bắt đầu (kết thúc) chia đỉnh đồ thị (đoạn đƣờng đồ) thành phần Với cung nối với đỉnh bắt đầu (kết thúc) xác định đƣợc đầu múc đỉnh bắt đầu (kết thúc) mà liên kết đến Nhƣ trọng số cung phải trừ lƣợng là: độ dài từ điểm bắt đầu (kết thúc) đến đầu múc xác định lại trọng số cung nối trực tiếp đến đỉnh bắt đầu (kết thúc) ta có đƣợc đồ thị làm đầu vào cho giải thuật Dijkstra 93 Kết Luận Bài toán tìm đƣờng ngắn có nhiều ứng dụng thực tế Do đó, việc nghiên cứu tìm thuật toán để giải toán đƣợc phát triển từ sớm ngày đƣợc cải tiến Qua luận văn trình bày số khái niệm, tính chất liên quan đến đồ thị thuật toán tìm đƣờng ngắn Luận văn trình bày cụ thể ý tƣởng thuật toán, đồng thời đƣa ví dụ áp dụng Bên cạnh luận văn trình bày số ứng dụng thực tế Bên cạnh ứng dụng thực tế này, phát triển lên, tìm đƣờng ngắn nhât từ điểm đến địa điểm phải thỏa mãn qua địa điểm hay đoạn đƣờng Luận văn trình bày cách lập trình thuật toán Dijkstra phần mềm Pascal phần mềm Maple Mặc dù tìm hiểu soạn thảo cẩn thận nhƣng tránh không khỏi thiếu xót, mong nhận đƣợc góp ý thầy cô bạn đọc 94 TÀI LIỆU THAM KHẢO [1] Bùi Anh Kiệt, Trƣơng Quốc Bảo, Giáo trình toán rời rạc, Trƣờng Đại Học Cần Thơ, Cần Thơ, 2004 [2] Kenneth H Rosen, Toán học rời rạc ứng dụng Tin học, Nhà xuất Khoa học Kỹ thuật, Hà Nội, 1997 [3] Hoàng Nhật Quy, Giáo trình Toán rời rạc, Nhà xuất Thông Tin Truyền thông, Đà Nẵng, 2010 [4] Nguyễn Hữu Khánh, Giáo trình Toán rời rạc Toán ứng dụng, Nhà xuất Đại học Cần Thơ, Cần Thơ, 2014 [5] Nguyễn Đức Nghĩa, Nguyễn Tô Thành, Toán rời rạc, Nhà xuất Đại học quốc gia Hà Nội, Hà Nội, 1997 [6] Nguyễn Thị Thoa, Nguyễn Thị Thắm, Nguyễn Thị Thùy Linh, Lƣơng Thị Thùy Linh, Nguyễn Bá Duy, Phạm Thị Thanh Hòa, Nghiên cứu ứng dụng công nghệ GIS công tác chữa cháy khẩn cấp quận Cầu Giấy, Thanh Xuân Đống Đa, Hà Nội, tạp chí trƣờng Đại Học Cần Thơ, 2014 [7] Trần Văn Thành, Tăng Phú Khoa, Lê Trí Cƣờng, Hệ thống thông báo trạm dừng xe buýt nội ô thành phố Cần Thơ, 2007 [8] Lê Hoàng Vĩnh, Một vài ứng dụng toán tìm đường ngắn thuật giải, Trƣờng Đại Học Cần Thơ, Cần Thơ, 2010 [9] Đỗ Đức Giáo, Toán rời rạc ứng dụng tin học, Nhà xuất Giáo dục, 2008 95 [10] Đỗ Đức Giáo, Toán rời rạc, Nhà xuất Đại Học Quốc Gia Hà Nội, Hà Nội, 1999 96 [...]... thị có hƣớng không có đƣờng đi từ E đến các đỉnh còn lại Nhƣng, đồ thị vô hƣớng tƣơng ứng thì liên thông Định lý 4: Nếu trong đồ thị G = (V, E) có đúng hai đỉnh bậc lẻ thì hai đỉnh này phải liên thông với nhau 24 Chƣơng 2 BÀI TOÁN TÌM ĐƢỜNG ĐI NGẮN NHẤT 2.1 Bài Toán Tìm Đƣờng Đi Ngắn Nhất 2.1.1 Giới thiệu bài toán Trong nhiều ứng dụng thực tế, bài toán tìm đƣờng đi ngắn nhất giữa hai đỉnh của một đồ... cho tiết kiệm nhất về thời gian hoặc chi phí, bài toán lựa chọn con đƣờng truyền tin với chi phí nhỏ nhất trong mạng thông tin, … Hiện nay có rất nhiều phƣơng pháp để giải bài toán nhƣ vậy Thế nhƣng thông thƣờng, các thuật toán đƣợc xây dựng dựa trên lý thuyết đồ thị tỏ ra là các thuật toán hiệu quả nhất 2.1.2 Phát biểu bài toán tìm đƣờng đi ngắn nhất trên đồ thị Bài toán tìm đƣờng đi ngắn nhất trên đồ... toán Dijkstra còn đƣợc gọi là gán nhãn cố định Để giải quyết bài toán này, ta áp dụng thuật toán Ford-Bellman Trong khi thuật toán Dijkstra và thuật toán Ford-Bellman là để giải quyết bài toán tìm đƣờng đi ngắn nhất giữa một cặp đỉnh đã đƣợc xác định trƣớc, thì thuật toán Hedetniemi đƣợc xây dựng để giải quyết bài toán tìm đƣờng đi ngắn nhất giữa tất cả các cặp đỉnh của đồ thị 2.1.3 Một số khái niệm... quyết bài toán đƣờng đi ngắn nhất trong một đồ thị (có hƣớng hoặc vô hƣớng) và không có cạnh nào của đồ thị mang trọng số âm Ta xét đồ thị sau: Ta tìm đƣờng đi ngắn nhất từ a đến z Đối với đồ thị này, ta có thể dễ dàng tìm đƣợc đƣờng đi ngắn nhất bằng cách thử trực tiếp Tuy nhiên, ở đây ta sẽ phát triển thêm một số ý tƣởng giúp ta hiểu thuật toán Dijkstra dễ dàng hơn Ta tìm độ dài đƣờng đi ngắn nhất. .. dài đƣờng đi ngắn nhất từ u đến v đƣợc xác định bởi: d(u,v)=min{d(p) p P(u,v)} - Đƣờng đi ngắn nhất pmin(u,v) từ đỉnh u đến đỉnh v là đƣờng đi có độ dài ngắn nhất là d(u,v) 2.2 Thuật toán Dijkstra 2.2.1 Giới thiệu thuật toán Dijkstra Thuật toán Dijkstra, mang tên của nhà khoa học máy tính ngƣời Hà Lan Edsger Dijkstra Thuật toán Dijkstra, ra đời vào năm 1956 và ấn bản năm 1959, là một thuật toán giải... 20 và con đƣờng ngắn nhất từ a đến z là a, b, z có độ dài là 20 Vậy, con đƣờng ngắn nhất từ a đến z cần tìm là a, b, z có độ dài là 20 28 Tuy nhiên, đối với những đơn đồ thị phức tạp hơn thì việc tìm đƣờng đi ngắn nhất bằng cách thử trực tiếp không phải là phƣơng pháp tối ƣu Do đó, thuật toán Dijkstra đƣợc xây dựng nhằm giải quyết vấn đề trên 2.2.2 Thuật toán Dijkstra Thuật toán giải quyết bài toán tìm. .. Thuật toán Dijkstra Thuật toán giải quyết bài toán tìm đƣờng đi ngắn nhất giữa một cặp đỉnh cho trƣớc trong đơn đồ thị có trọng số không âm Thuật toán Dijkstra vận hành bằng cách tìm độ dài của đƣờng đi ngắn nhất từ a đến đỉnh đầu tiên, độ dài đƣờng đi ngắn nhất từ a đến đỉnh thứ hai, v.v… cho đến khi tìm đƣợc đƣờng đi ngắn nhất từ a đến Thuật toán này dựa trên một dãy các bƣớc lặp Một tập đặc biệt đƣợc... đƣờng đi cơ bản ngắn nhất, bởi vì nó chứa bài toán xét sự tồn tại đƣờng đi Hamilton trong đồ thị nhƣ là 25 một trƣờng hợp riêng Đƣờng đi Hamiton là một đƣờng đi sơ cấp, đi qua tất cả các đỉnh của đồ thị đúng một lần Một tính chất của đƣờng đi ngắn nhất nữa có thể phát biểu một cách không hình thức nhƣ sau: Mọi đƣờng con của đƣờng đi ngắn nhất cũng là đƣờng đi ngắn nhất Tính chất này tuy rất hiển nhiên... thông nên có ít nhất một đƣờng đi giữa u và v Gọi (x0, x1, , xn) với x0  u, xn  v là đƣờng đi các đỉnh của đƣờng đi có độ dài ngắn nhất Đây chính là đƣờng đi đơn cần tìm Thật vậy, giả sử nó không là đƣờng đi đơn khi xi  x j với 0  i  j Tức là giữa đỉnh u và đỉnh v có một đƣờng đi khác ngắn hơn qua các đỉnh x0 , x1, , xi1, x j , , xn nhận đƣợc bằng cách xóa đi các cạnh tƣơng ứng với các đỉnh... rất sâu sắc, và ngƣời ta gọi đó là nguyên lí tối ƣu Việc chứng minh tính đúng đắn của hầu hết các thuật toán tìm đƣờng đi ngắn nhất đều đƣợc xây dựng dựa trên nguyên lí này Thuật toán là một khái niệm quan trọng của toán học Thuật toán là một dãy các thao tác trên các đối tƣợng, sao cho sau một số hữu hạn bƣớc thực hiện, ta đạt đƣợc mục tiêu cần làm Thuật toán Dijkstra giải quyết bài toán có dạng:

Ngày đăng: 13/05/2016, 16:42

Xem thêm: Bài toán tìm đường đi ngắn nhất và ứng dụng

TỪ KHÓA LIÊN QUAN

w