Задача джипа [1] , задача пересечения пустыни [2] или задача исследования [3] — это математическая задача, в которой джип должен максимизировать расстояние, которое он может проехать в пустыне с заданным количеством топлива. Джип может перевозить только фиксированное и ограниченное количество топлива, но он может оставлять топливо и собирать его на топливных свалках в любой точке пустыни.
Задача впервые появилась в сборнике Propositiones ad Acuendos Juvenes ( Проблемы для оттачивания ума молодых ), приписываемом Алкуину , в котором речь шла о путешествующем верблюде, поедающем зерно. [4] В труде Луки Пачоли De viribus quantitatis (около 1500 г.) также обсуждается эта задача. Современное толкование было дано Н. Дж. Файном в 1947 г. [1]
На фиксированной базе хранится n единиц топлива. Джип может перевозить не более 1 единицы топлива в любой момент времени и может проехать 1 единицу расстояния на 1 единице топлива (предполагается, что расход топлива джипа постоянен). В любой момент поездки джип может оставить любое количество топлива, которое он перевозит, на свалке или может забрать любое количество топлива, которое было оставлено на свалке в предыдущей поездке, при условии, что его загрузка топлива никогда не превысит 1 единицы. Есть два варианта задачи:
В любом случае цель состоит в том, чтобы максимизировать расстояние, пройденное джипом в его последней поездке. В качестве альтернативы, цель может заключаться в том, чтобы найти наименьшее количество топлива, требуемое для осуществления последней поездки на заданное расстояние.
В классической задаче топливо в джипе и на свалках рассматривается как непрерывное количество. Были предложены более сложные вариации задачи, в которых топливо можно оставлять или собирать только дискретными количествами. [5]
Стратегия, которая максимизирует расстояние, пройденное в последнем путешествии для варианта «исследование пустыни», выглядит следующим образом:
Когда джип отправляется в последний рейс, есть n − 1 топливных свалок. Самая дальняя содержит 1/2 единицы топлива, следующая дальняя содержит 1/3 единицы топлива и так далее, а ближайшая топливная свалка имеет всего 1/ n единиц топлива. Вместе с 1 единицей топлива, с которой он отправляется с базы, это означает, что джип может проехать общее расстояние туда и обратно
единиц в его последнем путешествии (максимальное расстояние, пройденное в пустыне, составляет половину этого). [3] Он собирает половину оставшегося топлива на каждой свалке по пути обратно, что заполняет его бак. Покинув самую дальнюю свалку, он проходит на 1/2 единицы дальше в пустыню, а затем возвращается к самой дальней свалке. Он собирает оставшееся топливо с каждой свалки по пути обратно, чего как раз достаточно, чтобы добраться до следующей свалки или, на последнем этапе, вернуться на базу.
Расстояние, пройденное в последнем путешествии, — это n- ое гармоническое число , H n . Поскольку гармонические числа не ограничены, можно превысить любое заданное расстояние в последнем путешествии, если на базе достаточно топлива. Однако количество требуемого топлива и количество сбросов топлива увеличиваются экспоненциально с расстоянием, которое необходимо преодолеть.
Вариант «пересечения пустыни» можно решить с помощью похожей стратегии, за исключением того, что теперь нет необходимости собирать топливо на обратном пути в последнем путешествии. Таким образом, в путешествии k джип устанавливает новый k -й топливный склад на расстоянии 1/(2 n − 2 k + 1) единиц от предыдущего топливного склада и оставляет там (2 n − 2 k − 1)/(2 n − 2 k + 1) единиц топлива. В каждой из следующих n − k − 1 поездок он собирает 1/(2 n − 2 k + 1) единиц топлива с k -го склада по пути туда и еще 1/(2 n − 2 k + 1) единиц топлива по пути обратно.
Теперь, когда джип начинает свою последнюю поездку, есть n − 1 топливных свалок. Самая дальняя содержит 1/3 единицы топлива, следующая дальняя содержит 1/5 единицы топлива и так далее, а ближайшая топливная свалка имеет всего 1/(2 n − 1) единиц топлива. Вместе с 1 единицей топлива, с которой он стартует с базы, это означает, что джип может проехать общее расстояние
единиц в своем последнем путешествии. [1] [3] Он собирает все оставшееся топливо на каждой свалке по пути, заполняя свой бак. После того, как он покинул самую дальнюю свалку, он проезжает еще 1 единицу.
С
теоретически возможно пересечь пустыню любого размера, имея достаточно топлива на базе. Как и прежде, количество требуемого топлива и количество топливных свалок увеличиваются экспоненциально с расстоянием, которое необходимо преодолеть.
Подводя итог, можно сказать, что максимальное расстояние, которое может преодолеть джип (с запасом топлива на 1 единицу расстояния в любой момент времени) за n поездок (с n-1 заправками на полпути и общим потреблением n единиц топлива), составляет
Здесь находится номер n-й гармоники .
Количество единиц топлива, доступных на базе, не обязательно должно быть целым числом. В общем случае максимальное расстояние, достижимое для задачи «исследовать пустыню» с n единицами топлива, равно
причем первый топливный склад расположен на расстоянии единиц от стартовой базы, второй — на расстоянии единиц от первого топливного склада, третий — на расстоянии единиц от второго топливного склада и т. д. Здесь — дробная часть n .
Максимальное расстояние, которое можно преодолеть в задаче «пересечь пустыню» с n единицами топлива, равно
причем первый топливный склад расположен на расстоянии единиц от стартовой базы, второй — на расстоянии единиц от первого топливного склада, третий — на расстоянии единиц от второго топливного склада и т. д. Здесь — дробная часть n .
Порядок поездок джипа не фиксирован. Например, в версии задачи «исследование пустыни» джип может сделать n − 1 круговых поездок между базой и первым топливным складом, оставляя ( n − 1) / n единиц топлива на топливном складе каждый раз, а затем совершить n -ную поездку в одну сторону к первому топливному складу, таким образом прибыв туда с общим запасом ( n − 1) + 1/(2 n ) единиц топлива. 1/(2 n ) единиц сохраняются для обратного пути на базу в самом конце, а остальные n − 1 единиц топлива используются для перемещения топлива между первым и вторым топливными складами, используя n − 2 круговых поездок, а затем ( n −1) -ную поездку в одну сторону ко второму топливному складу. И так далее.
Проблема может иметь практическое применение в военных ситуациях, особенно в отношении эффективности использования топлива . В контексте бомбардировки Японии во Второй мировой войне бомбардировщиками B-29 Роберт Макнамара в фильме «Туман войны» говорит , что понимание проблемы эффективности использования топлива, вызванной необходимостью транспортировки топлива на передовые базы, было главной причиной, по которой стратегия бомбардировок с материкового Китая была отвергнута в пользу стратегии « прыжков с острова на остров» :
«Нам пришлось переправить эти самолеты с баз в Канзасе в Индию. Затем нам пришлось переправить топливо через горб в Китай. [...] Мы должны были взять эти B-29 — там не было самолетов-заправщиков . Мы должны были заправить их топливом, вылететь из Индии в Чэнду , выгрузить топливо, вернуться в Индию, выполнить достаточно миссий, чтобы накопить топливо в Чэнду, вылететь в Явату , Япония , разбомбить сталелитейные заводы и вернуться в Индию. У нас было так мало подготовки по этой проблеме максимизации [топливной] эффективности, что мы фактически обнаружили, что вместо того, чтобы выгружать топливо, им пришлось его забрать. Короче говоря, это не стоило ни гроша. И именно Лемей пришел к такому выводу и заставил Чифов перенести все это на Марианские острова , что опустошило Японию». [6]
( В конце Второй мировой войны операции по атомной бомбардировке осуществлялись с использованием бомбардировщиков B-29 Superfortress с тихоокеанского острова Тиниан в составе Северных Марианских островов .)