Як обчислити найбільш ефективний маршрут, що проходить через усі будинки у світі?


52

Я новачок у ГІС.

Мені потрібна допомога у визначенні найкращого чи найефективнішого маршруту за допомогою літаючих саней через усі будинки у світі. Один із моїх колег сказав мені, що цей сайт буде найкращим місцем для запитання, тому що я знайду багато корисних експертів з ГІС.

Мені знадобляться деякі вказівки щодо того, яке програмне забезпечення використовувати, де отримати дані та як їх обробити. Оскільки у мене в цьому місяці були додаткові витрати, я вважаю за краще рішення з відкритим кодом.

Дякую вам всім!

PS: Я трохи поспішаю, оскільки мені це потрібно на завтра!


20
В основному це проблема мандрівного продавця, яка, якщо ви не готові використовувати евристику, має n! Складність, настільки удача, щоб знайти будь-яке рішення для стількох російських до закінчення Всесвіту ...
Smalltown2k

7
Зачекайте, з тих пір, коли тільки діти-християни відвідують Санта?
Стів Беннетт

4
Давайте припустимо, що містер Клаус має список домоволодінь, які слід відвідати та зберігати його не конфесійно. Дякую :)
blah238

9
Чи також цей маршрут обмежений для початку на Північному полюсі? Північний географічний полюс, або північний магнітний полюс?
Spacedman

3
Тому. Перший крок - зібрати набір даних для всіх місць проживання у світі. Хтось турбується, щоб опублікувати посилання для випуску?
Саймон

Відповіді:


25

Тримайся точно Рудольф знає, куди піти. Він робив це роками.


16

Часто добре звертатися до необхідної заявки, а не відповідати на поставлене питання. Я хотів би лише зазначити, що є добре відоме паралельне рішення, яке акуратно обходить усі технічні проблеми з обчисленнями: Санта має помічників. Ці агенти працюють асинхронно та незалежно, щоб визначити будинки, які потребують відвідувань та здійснюють доставки. Ніяких спеціальних обчислень ГІС з боку Діда Мороза не потрібно.

Чудово, що ця технологія розширює масштаби, завдяки чому у світі (християнське) населення протягом тисячоліть розширилося на кілька порядків, здатність Санта виконувати свої обов'язки ніколи серйозно не викликала сумнівів: кількість доступних помічників зросла в пряма пропорція кількості будинків, які потребують відвідування.


Існує фізична демонстрація існування цих помічників. Якщо припустити протилежне, лише одна людина намагалася доставити подарунки, скажімо, на один мільярд житлових приміщень протягом календарного дня (який триває 48 годин, враховуючи часові пояси), їм доведеться відвідувати майже 6000 житлових приміщень в секунду . Нижня межа середньої відстані між жителями забезпечується щільністю великих міст у світі, в яких люди можуть жити лише на відстані 10 метрів. Для цього знадобиться середня швидкість 6000 * 10 = 60 000 метрів в секунду, що значно перевершує звуковий бар'єр (створюючи звукові стріли, які нечується на Різдво) і створює стільки атмосферного тертя, що сани стануть палаючим кулею, що знищує все, що знаходиться поблизу. Хоча це дає нам нове розуміння походження червоного світіння в носі Рудольфа, воно чітко демонструє, що можливе лише паралельне рішення, QED.


1
Якщо ви не вірите помічникам, ось такий доказ: en.wikipedia.org/wiki/Prep_%26_Заземлення
Тобіас Кіенцлер

6

Це те , що ви , ймовірно , можна вирішити за допомогою цього Warshal в або Дейкстри алгоритм

Хоча кількість будинків у світі занадто велика, для того, щоб обчислити це, знадобилося б тривалий час, я думаю, що це хороший вихідний момент. Тепер я не маю часу пояснювати їх, але я даю тобі початковий пункт. Я зараз вийду зі своєю сім’єю і, можливо, наступного року повернусь до цього питання.


4
Дякую за добрі слова. Але: (1) Як би один із цих алгоритмів вирішив цю проблему продавця? (2) Алгоритм Дейкстри (щоб знайти найкоротші шляхи між двома заданими точками в даній мережі ) швидкий. Застосування його до набору даних усіх житлових приміщень у світі, якби було відповідним чином обрізано, щоб включити краї лише до декількох найближчих сусідів кожного помешкання, було б не лише здійсненним, але й досить швидким - можливо, знадобилося б лише кілька секунд чи хвилин обчислення.
whuber


0

Маючи набір даних, що містить широту та довготу кожного помешкання (дані перепису?), Я, можливо, використовую формулу Гаверсіна в тій чи іншій мові програмування. Але знову ж таки, я не ельф.

Формула Гаверсина


Якщо ви знаходитесь у повітрі, вам, безумовно, доведеться враховувати округлість землі та висоту.
Натрікс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.