Làm thế nào để tính toán tuyến đường hiệu quả nhất đi qua tất cả các ngôi nhà trên thế giới?


52

Tôi mới biết về GIS.

Tôi cần một số trợ giúp để xác định tuyến đường tốt nhất hoặc hiệu quả nhất, sử dụng xe trượt tuyết, qua tất cả các ngôi nhà trên thế giới. Một trong những đồng nghiệp của tôi nói với tôi rằng trang web này sẽ là nơi tốt nhất để hỏi, bởi vì tôi sẽ tìm thấy rất nhiều chuyên gia về GIS hữu ích.

Tôi sẽ cần một số hướng dẫn về việc sử dụng phần mềm nào, lấy dữ liệu ở đâu và cách xử lý. Vì tôi có một số chi phí thêm trong tháng này, tôi sẽ thích một số giải pháp Nguồn mở.

Cảm ơn tất cả!

Tái bút: Tôi hơi vội, vì tôi cần cái này cho ngày mai!


20
Về cơ bản, đây là vấn đề của nhân viên bán hàng du lịch mà trừ khi bạn sẵn sàng sử dụng một heuristic có n! sự phức tạp rất may mắn tìm thấy bất kỳ giải pháp nào cho nhiều n trước khi vũ trụ kết thúc ...
Smalltown2k

7
Đợi đã, từ khi nào chỉ có trẻ em Kitô giáo được ông già Noel đến thăm?
Steve Bennett

4
Chúng ta hãy giả sử rằng ông Claus có một danh sách các ngưỡng để truy cập và giữ cho nó không có mệnh giá. Cảm ơn :)
blah238

9
Có phải tuyến đường này cũng bị hạn chế để bắt đầu ở cực Bắc? Bắc cực địa lý, hay cực từ bắc?
Spainedman

3
Vì thế. Bước đầu tiên là thu thập một bộ dữ liệu cho tất cả các địa điểm cư trú trên Thế giới. Bất cứ ai quan tâm để gửi một liên kết dropbox?
Simon

Câu trả lời:


25

Chắc chắn Rudolph biết nơi để đi. Anh ấy đã làm điều đó trong nhiều năm.


16

Thường thì tốt để giải quyết nhu cầu được nêu hơn là trả lời câu hỏi đã được hỏi. Tôi chỉ muốn chỉ ra rằng có một giải pháp song song nổi tiếng giúp giải quyết gọn gàng tất cả các vấn đề máy tính kỹ thuật: Santa có người trợ giúp. Các đại lý này làm việc không đồng bộ và độc lập để xác định những ngôi nhà cần đến thăm và thực hiện việc giao hàng. Không có tính toán GIS đặc biệt nào về phía ông già Noel là cần thiết.

Thật tuyệt vời khi công nghệ này mở rộng quy mô, do đó, khi dân số thế giới (Cơ đốc giáo) đã mở rộng theo một số bậc độ lớn qua hàng thiên niên kỷ, khả năng thực hiện nhiệm vụ của ông già Noel chưa bao giờ bị nghi ngờ: số lượng người trợ giúp sẵn có đã tăng lên tỷ lệ trực tiếp với số lượng nhà cần đến thăm.


Có một minh chứng vật lý về sự tồn tại của những người trợ giúp này. Nếu, giả sử ngược lại, chỉ cần một cá nhân cố gắng giao quà cho một tỷ nhà ở trong suốt một ngày theo lịch (kéo dài 48 giờ, chiếm các múi giờ), họ sẽ phải đến gần 6000 nhà ở mỗi giây . Một giới hạn thấp hơn cho khoảng cách trung bình giữa các ngôi nhà được cung cấp bởi mật độ của các thành phố lớn hơn trên thế giới, trong đó mọi người có thể chỉ sống cách nhau khoảng 10m. Điều này sẽ đòi hỏi tốc độ trung bình 6000 * 10 = 60.000 mét mỗi giây, vượt xa rào cản âm thanh (tạo ra sự bùng nổ âm thanh không phảinghe vào Giáng sinh) và tạo ra nhiều ma sát trong khí quyển đến mức chiếc xe trượt tuyết sẽ trở thành một quả cầu lửa rực sáng phá hủy mọi thứ trong vùng lân cận của nó. Mặc dù điều này cho chúng ta một sự hiểu biết mới về nguồn gốc của ánh sáng đỏ trong mũi của Rudolph, nhưng nó chứng minh rõ ràng rằng chỉ có một giải pháp song song là có thể, QED.


1
Trong trường hợp bạn không tin vào những người trợ giúp, đây là bằng chứng: en.wikipedia.org/wiki/Prep_%26_Landing
Tobias Kienzler 30/12/13

6

Đây là điều bạn có thể giải quyết bằng cách sử dụng thuật toán của Warshal hoặc Dijkstra

Mặc dù số lượng nhà trên thế giới quá lớn, nhưng sẽ mất nhiều thời gian để tính toán, nhưng tôi nghĩ đây là điểm khởi đầu tốt. Bây giờ tôi không có thời gian để giải thích chúng nhưng tôi cho bạn một điểm ban đầu. Bây giờ tôi sẽ đi chơi với gia đình và có lẽ tôi sẽ quay lại câu hỏi này vào năm tới.


4
Cảm ơn bạn cho các từ loại. Nhưng: (1) Làm thế nào một trong những thuật toán đó sẽ giải quyết vấn đề nhân viên bán hàng du lịch này? (2) Thuật toán của Dijkstra (để tìm các đường đi ngắn nhất giữa hai điểm đã cho trong một mạng nhất định ) rất nhanh. Áp dụng nó vào bộ dữ liệu của tất cả các nhà ở trên thế giới, nếu nó được cắt tỉa phù hợp để chỉ bao gồm các cạnh cho một số hàng xóm gần nhất của mỗi ngôi nhà, sẽ không chỉ khả thi, mà còn nhanh chóng - có lẽ chỉ cần vài giây hoặc vài phút tính toán.
whuber


0

Với bộ dữ liệu chứa vĩ độ và kinh độ của mọi nhà ở (dữ liệu điều tra dân số?), Tôi có thể sử dụng công thức Haversine trong ngôn ngữ lập trình này hoặc ngôn ngữ lập trình khác. Nhưng một lần nữa, tôi không phải là một yêu tinh.

Công thức Haversine


Nếu bạn ở trên không, bạn chắc chắn sẽ phải tính đến độ tròn của trái đất và độ cao của bạn.
Natrix
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.