2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Задачка на оптимизацию
Сообщение24.07.2009, 02:47 


24/06/09
21
5 лет назад придумал задачку, помнится пару месяцев всем отделом решали, но удовлетворительного решения так никто и не нашел, хотя легко доказывается, что оно существует.

Итак, задача:

Некоторому числу(*) путешественников требуется пройти по пустыни из пункта А в В. Расстояние между А и В - 20 дней пути(**). Каждый человек может нести максимум еды на 7 дней(***).
Вопрос: Какое минимальное число помощников необходимо для прохождения пустыни путешественниками? При этом время на прохождение не имеет значения.

(*) - решение не зависит от числа путешественников.
(**) - скорости всех участников процесса одинаковы и равномерны, поэтому расстояние дано в единицах времени.
(***) - в независимости от того идет человек или охраняет еду(стоит). Еду в пустыне без надзора оставлять нельзя. Расход еды происходит равномерно и непрерывно.
Все помощники должны вернуться назад в А.

 Профиль  
                  
 
 Re: Задачка на оптимизацию
Сообщение24.07.2009, 05:16 
Модератор
Аватара пользователя


11/01/06
5660
У меня есть несколько комментариев.

Во-первых, по-моему, ответ здесь обязан зависеть от числа путешественников. Большее число путешественников потребует большее число помошников.

Во-вторых, данная конкретная задача похоже не имеет решения. Дело в том, что никакой помошник не сможет уйти дальше чем на 7/2=3.5 дня от A, так как в противном случае он проест больше чем 7-дневный запас провизии (который несет), и от него уже не будет никакой помощи. Но от точки на расстоянии 3.5 от A сами путешественники не смогут добраться до B даже с полным 7-дневным запасом провизии.

В-третьих, такие задачи (см. например еще задачу Jeep) решаются с конца: для заданного количества путешественников/помошников нужно определить максимальное расстояние, которое эти петешественники смогут пройти. Обычно это максимальное расстояние удовлетворяет некоторому рекуррентному соотношению и для него можно найти формулу. Из нее же потом легко получается решение исходной задачи.

 Профиль  
                  
 
 Re: Задачка на оптимизацию
Сообщение24.07.2009, 09:36 
Заслуженный участник
Аватара пользователя


18/05/06
13437
с Территории
В таком варианте эта задача обычно называется как-то типа "Бомбардировщики: дозаправка в воздухе" (предписанные ограничения более естественно ложатся в эту физическую реализацию). И да, способ есть, ведь где-то же я услышал это название.
Грубо говоря: трое уходят на 3 юнита от A, сливают лишнее горючее четвёртому, сами летят назад, а он - дальше. И вот так с конца строим пирамиду...

 Профиль  
                  
 
 Re: Задачка на оптимизацию
Сообщение24.07.2009, 10:22 


28/12/06
29
Новосибирск
Somewhere far beyond в сообщении #230871 писал(а):
Некоторому числу(*) путешественников требуется пройти по пустыни из пункта А в В. Расстояние между А и В - 20 дней пути(**). Каждый человек может нести максимум еды на 7 дней(***).
Вопрос: Какое минимальное число помощников необходимо для прохождения пустыни путешественниками? При этом время на прохождение не имеет значения.

(*) - решение не зависит от числа путешественников.
(**) - скорости всех участников процесса одинаковы и равномерны, поэтому расстояние дано в единицах времени.
(***) - в независимости от того идет человек или охраняет еду(стоит). Еду в пустыне без надзора оставлять нельзя. Расход еды происходит равномерно и непрерывно.
Все помощники должны вернуться назад в А.

Четверо.
Два человека за два дня (туда и обратно) доставят еды на десять дней на склад, находящийся на расстоянии в один день пути.
Так что стратегия может быть таковой - четыре человека создают склад еды на расстоянии одного дня пути от пункта А, одного оставляют охранником, возвращаются обратно, берут ещё порцию, хотя за время их отсутствия охранник съест еды на два дня, но они принесут, разумеется, больше, чем он съест.
Накопив достаточное количество, начинают переносить склад на расстояние в два дня пути, охранников, разумеется, двое, один охраняет старый склад, второй - новый.
И так далее, до расстояния в 6.5 дней. Здесь оставляем одного охранника, еды ему на достаточное время, еды для путешественников на 6.5 дней пути, еды всем четырём на возвращение - тоже на 6.5 дней пути. Всю остальную еду аналогичным образом тащим вперёд на расстояние в 13 дней пути (7 дней до B), только носильщик уже один и охранников двое.
Соответственно, в складе на 13 днях пути, в конце концов, должна быть еда для путешественников на 7 дней пути от этого склада до B, и еда для себя на 6.5 дней чтобы добраться до первого склада.

PS: А вообще, если совмещать функции помощников и путешественников (ишь, аристократы развелись, сами пусть всё тащат) то ответ - ноль, если путешественников трое или больше. :)

 Профиль  
                  
 
 Re: Задачка на оптимизацию
Сообщение26.07.2009, 01:27 


24/06/09
21
maxal в сообщении #230874 писал(а):

Во-первых, по-моему, ответ здесь обязан зависеть от числа путешественников. Большее число путешественников потребует большее число помошников.


Допустим есть решение для одного путешественника. После его прохождения пустыни и возвращения всех помощников обратно. Проведение второго путешественника возможно по тому же алгоритму и т.д. В итоге время затраченное на процедуру, по этой схеме будет пропорционально количеству путешественников, но количество помощников будет стационарно. Т.к. время время не является критерием решения, то ответ задачи не зависит от количества путешественников.

maxal в сообщении #230874 писал(а):
Во-вторых, данная конкретная задача похоже не имеет решения. Дело в том, что никакой помошник не сможет уйти дальше чем на 7/2=3.5 дня от A, так как в противном случае он проест больше чем 7-дневный запас провизии (который несет), и от него уже не будет никакой помощи. Но от точки на расстоянии 3.5 от A сами путешественники не смогут добраться до B даже с полным 7-дневным запасом провизии.


Пример:
В момент времени t=0: 3-е человек выходят с полной провизией.
В момент времени t=2: 1 человек берет 7 еды, идет дальше. Остальные возвращаются обратно.
В момент времени t=4: 1-й достигнув точки "4-й день" возвращается. Остальные двое, придя в пункт А, запасаются провизией, и идут обратно.
В момент времени t=6: Встречаются в точке "2-й день", кол-во еды: 14-2*2+7-4=13, что достаточно что бы вернуться всем троим назад.
В результате один побывал в точке "4-й день", и все благополучно вернулись обратно.
Немного хитрее алгоритм для 3-х человек отправляет с возвращением на 6,3 день, но и он не является оптимальным.

maxal в сообщении #230874 писал(а):
В-третьих, такие задачи (см. например еще задачу Jeep) решаются с конца: для заданного количества путешественников/помошников нужно определить максимальное расстояние, которое эти петешественники смогут пройти. Обычно это максимальное расстояние удовлетворяет некоторому рекуррентному соотношению и для него можно найти формулу. Из нее же потом легко получается решение исходной задачи.


Я очень сомневаюсь, что возможно построить для данной задачи рекурсию в функциональном виде. Но хотя сам подход: нахождение зависимости максимального расстояния на которое сможет пройти человек от количества участвующих, не отрицаю.

Сургонт Е Ф в сообщении #230894 писал(а):

Четверо.
Два человека за два дня (туда и обратно) доставят еды на десять дней на склад, находящийся на расстоянии в один день пути.
Так что стратегия может быть таковой - четыре человека создают склад еды на расстоянии одного дня пути от пункта А, одного оставляют охранником, возвращаются обратно, берут ещё порцию, хотя за время их отсутствия охранник съест еды на два дня, но они принесут, разумеется, больше, чем он съест.
Накопив достаточное количество, начинают переносить склад на расстояние в два дня пути, охранников, разумеется, двое, один охраняет старый склад, второй - новый.
И так далее, до расстояния в 6.5 дней. Здесь оставляем одного охранника, еды ему на достаточное время, еды для путешественников на 6.5 дней пути, еды всем четырём на возвращение - тоже на 6.5 дней пути. Всю остальную еду аналогичным образом тащим вперёд на расстояние в 13 дней пути (7 дней до B), только носильщик уже один и охранников двое.
Соответственно, в складе на 13 днях пути, в конце концов, должна быть еда для путешественников на 7 дней пути от этого склада до B, и еда для себя на 6.5 дней чтобы добраться до первого склада.

PS: А вообще, если совмещать функции помощников и путешественников (ишь, аристократы развелись, сами пусть всё тащат) то ответ - ноль, если путешественников трое или больше. :)


Вы не учли условие (хотя, я по ходу не четко выразился), что если в какой-то точке органзовали склад, то максимальная вместимость склада при одном кладовщике равна 7-ми, при 2-х равна 14-ти и т.д.
Без учета этого условия вы правы, ответ - ноль.

 Профиль  
                  
 
 Re: Задачка на оптимизацию
Сообщение26.07.2009, 07:43 
Заморожен
Аватара пользователя


18/12/07
8774
Новосибирск
Somewhere far beyond в сообщении #231133 писал(а):
После его прохождения пустыни и возвращения всех помощников обратно.


В условии нигде не было сказано, что помощники должны вернуться обратно.

 Профиль  
                  
 
 Re: Задачка на оптимизацию
Сообщение27.07.2009, 02:42 


09/07/09
30
Профессор Снэйп в сообщении #231149 писал(а):
Somewhere far beyond в сообщении #231133 писал(а):
После его прохождения пустыни и возвращения всех помощников обратно.


В условии нигде не было сказано, что помощники должны вернуться обратно.


Невнимательно читаете. Вот же, в самом конце:

Somewhere far beyond в сообщении #230871 писал(а):
Все помощники должны вернуться назад в А.

 Профиль  
                  
 
 Странное условие
Сообщение18.01.2012, 11:36 
Заслуженный участник


20/12/10
8858
Задача. У одного края пустыни шириной 920 км имеется неограниченный запас бензина. В самой пустыне заправочных станций нет и достать бензин негде. Грузовик может перевозить только одну заправку бензина, которой хватает на 600 км пути. Кроме того экипажу разрешается строить бензохранилища любых размеров в любом месте трассы. Сколько заправок бензина необходимо грузовику, чтобы пересечь пустыню?

Может, кто-нибудь формализует условие задачи? Не могу понять, о чём речь.

 Профиль  
                  
 
 Re: Странное условие
Сообщение18.01.2012, 11:42 


12/11/11
2353
Здесь наверное ограничение к-ва заправок на первой заправочной?

 Профиль  
                  
 
 Re: Странное условие
Сообщение18.01.2012, 11:55 
Заслуженный участник


28/04/09
1933
Похоже на традиционные задачи про самолеты-заправщики (см., например, задачу №277 "Кругосветный полет" из сборника "Избранные задачи из журнала AMM" под ред. В.М. Алексеева, М.: Мир, 1977).

Имеется в виду, что заправляться грузовик может только на единственной (зато бесконечно емкой) заправочной станции у края пустыни. Затем он может проехать некоторое расстояние по пустыне, остановиться, экипаж построит на месте остановки бензохранилище, возможно отольет часть оставшегося бензина в него, вернется для дозаправки. Дозаправляясь оставленным в бензохранилищах бензином, грузовик может все дальше проникать в пустыню, строя новые бензохранилища. После какой-то очередной заправки он сможет пересечь всю пустыню.

 Профиль  
                  
 
 Re: Странное условие
Сообщение18.01.2012, 11:58 
Заслуженный участник


20/12/10
8858
EtCetera, спасибо, теперь какая-то ясность появилась.

 Профиль  
                  
 
 Re: Странное условие
Сообщение18.01.2012, 19:49 


02/11/08
1187
Вроде естественно задачу, как оптимизационную ставить. Спланировать на каком расстоянии от края пустыни и сколько строить складов топлива, чтобы минимизировать полный пробег грузовика для преодоления всего расстояния в 920 км.

 Профиль  
                  
 
 Re: Странное условие
Сообщение18.01.2012, 20:03 
Заслуженный участник


09/08/09
3438
С.Петербург
У М.Гарднера в "Математических головоломках и развлечениях" есть аналогичная задача (только циферки там 800 и 500 миль).

 Профиль  
                  
 
 Re: Странное условие
Сообщение18.01.2012, 20:07 
Заслуженный участник


20/12/10
8858
Maslov в сообщении #528496 писал(а):
У М.Гарднера в "Математических головоломках и развлечениях" есть аналогичная задача (только циферки там 800 и 500 миль).
Вот это хорошо, спасибо за ссылку.

 Профиль  
                  
 
 Re: Странное условие
Сообщение18.01.2012, 20:08 
Заслуженный участник


09/08/09
3438
С.Петербург
Более точная ссылка: первая задача в гл. 29 :)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group