Белка на дереве
-
- Уже с Приветом
- Posts: 210
- Joined: 25 Apr 2001 09:01
- Location: Kaluga->Minsk->SFBA
Белка на дереве
Есть бесконечно большой двухмерный лес в котором растут бесконечно высокие деревья. На одном дереве сидит белка .
Задача: предложить алгоритм поиска белки за конечное время.
Задача: предложить алгоритм поиска белки за конечное время.
-
- Уже с Приветом
- Posts: 27652
- Joined: 15 Jul 2002 17:05
- Location: MD
Re: Белка на дереве
Ответ типа из "Физики шутят" подойдет?
-
- Уже с Приветом
- Posts: 27652
- Joined: 15 Jul 2002 17:05
- Location: MD
Re: Белка на дереве
Что-то нет реакции...
Ну ладно, может так сойдет:
- обзываем кусок тот участок дерева, который можем проверить за единицу времени
- нумеруем деревья
- на первом шаге проверяем первый кусок дерева #1
- на втором шаге проверяем второй кусок дерева #1 и первый кусок дерева #2
- на третьем шаге проверяем третий кусок дерева #1, затем второй кусок дерева #2 и потом первый кусок дерева #3
- и так далее...
Поскольку координаты белки конечны, то ее можно найти за конечное время...
Ну ладно, может так сойдет:
- обзываем кусок тот участок дерева, который можем проверить за единицу времени
- нумеруем деревья
- на первом шаге проверяем первый кусок дерева #1
- на втором шаге проверяем второй кусок дерева #1 и первый кусок дерева #2
- на третьем шаге проверяем третий кусок дерева #1, затем второй кусок дерева #2 и потом первый кусок дерева #3
- и так далее...
Поскольку координаты белки конечны, то ее можно найти за конечное время...
-
- Уже с Приветом
- Posts: 56371
- Joined: 22 Nov 2002 02:05
- Location: С-Пб, NH
Re: Белка на дереве
В бесконечном пространстве? Методом перебора? Попробуйте тогда отсортировать очень большой массив с постоянно добавляемыми элементами. Для большей развлекухи представим, что каждый новый элемент меньше элемента с номером текущего последнего, деленным на 10 (с округлением).vaduz wrote:Поскольку координаты белки конечны, то ее можно найти за конечное время...
"Я хотел бы устроиться в вашу мусарню… Я хочу ходить с волыной и шмалять в людей." "Триод и Диод"
-
- Уже с Приветом
- Posts: 210
- Joined: 25 Apr 2001 09:01
- Location: Kaluga->Minsk->SFBA
Re: Белка на дереве
Polar Cossack wrote:В бесконечном пространстве? Методом перебора? Попробуйте тогда отсортировать очень большой массив с постоянно добавляемыми элементами. Для большей развлекухи представим, что каждый новый элемент меньше элемента с номером текущего последнего, деленным на 10 (с округлением).vaduz wrote:Поскольку координаты белки конечны, то ее можно найти за конечное время...
Чето не пойму какое отношение имеет сортировка массива к поиску элемента. Вопрос об эффективности алгоритма поиска не стоял.
-
- Уже с Приветом
- Posts: 210
- Joined: 25 Apr 2001 09:01
- Location: Kaluga->Minsk->SFBA
Re: Белка на дереве
vaduz wrote:Что-то нет реакции...
Ну ладно, может так сойдет:
- обзываем кусок тот участок дерева, который можем проверить за единицу времени
- нумеруем деревья
- на первом шаге проверяем первый кусок дерева #1
- на втором шаге проверяем второй кусок дерева #1 и первый кусок дерева #2
- на третьем шаге проверяем третий кусок дерева #1, затем второй кусок дерева #2 и потом первый кусок дерева #3
- и так далее...
Поскольку координаты белки конечны, то ее можно найти за конечное время...
поздравляю.
Приведенное Вами решение является одним из нескольких верных решений.
Правда оно не эффективно.
Кто может предложить более быстрый алгоритм ?
-
- Уже с Приветом
- Posts: 163
- Joined: 26 Apr 2006 10:33
- Location: YRV -> MSC -> NYC -> MD -> SFBA
Re: Белка на дереве
все просто, даже искать не надо, по условиям задачи белка сидит в двумерном бесконечном лесу на одном из бесконечно высоких деревьев.
А если серьезно, вам с какой точностью надо найти ответ?
А если серьезно, вам с какой точностью надо найти ответ?
Last edited by Rios on 26 Nov 2008 21:56, edited 1 time in total.
“The only way to get something to turn up when you need it is to need it to turn up.” (c) Terry Pratchett
-
- Уже с Приветом
- Posts: 63377
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Белка на дереве
KirAleks wrote:Задача: предложить алгоритм поиска белки за конечное время.
любой способ перебора, кроме того что пытается просканировать всё выбранное дерево целиком (оно по условию бесконечное), найдет белку за конечное время
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 163
- Joined: 26 Apr 2006 10:33
- Location: YRV -> MSC -> NYC -> MD -> SFBA
Re: Белка на дереве
Flash-04 wrote:KirAleks wrote:Задача: предложить алгоритм поиска белки за конечное время.
любой способ перебора, кроме того что пытается просканировать всё выбранное дерево целиком (оно по условию бесконечное), найдет белку за конечное время
Ну лес-то, он тоже по условию бесконечно большой.
“The only way to get something to turn up when you need it is to need it to turn up.” (c) Terry Pratchett
-
- Уже с Приветом
- Posts: 63377
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Белка на дереве
Rios wrote:Ну лес-то, он тоже по условию бесконечно большой.
ну и что? ключ в том что если алгоритм будет сканировать одно дерево чтобы найти там белку и белки там нет, то потребуется бесконечно большое время чтобы закончить поиск.
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 163
- Joined: 26 Apr 2006 10:33
- Location: YRV -> MSC -> NYC -> MD -> SFBA
Re: Белка на дереве
Flash-04 wrote:Rios wrote:Ну лес-то, он тоже по условию бесконечно большой.
ну и что? ключ в том что если алгоритм будет сканировать одно дерево чтобы найти там белку и белки там нет, то потребуется бесконечно большое время чтобы закончить поиск.
Если алгоритм сканирует конечный кусок леса за конечное время, то существует большая вероятнотсть того, что белка находится в непросканированном куске леса, на любом шаге алгоритма.
Исходя из этого для того, чтобы гарантировано найти белку в бесконечном пространстве за конечное время нужно будет постуливать существование алгоритма проверки бесконечного куска леса за конечное время. В этом, и, очень похоже, что только в этом случае белку можно будет найти за конечное время.
Иными словами, если взять бесконечное множество (лес) и разбить его на конечное число подмножеств и постулировать что есть алгорим проверки такого подмножества за конечное время, - задача разрешима. Иначе пока не вижу.
“The only way to get something to turn up when you need it is to need it to turn up.” (c) Terry Pratchett
-
- Уже с Приветом
- Posts: 163
- Joined: 26 Apr 2006 10:33
- Location: YRV -> MSC -> NYC -> MD -> SFBA
Re: Белка на дереве
vaduz wrote:...
Поскольку координаты белки конечны, то ее можно найти за конечное время...
Такого типа алгоритм займет конечное время только в том случае если при N->бесконечности, время затрачиваемое на проверку -> 0. Если время необходимое не проверку ограничено снизу константой C>0, - поиск займет бесконечное количество времени.
“The only way to get something to turn up when you need it is to need it to turn up.” (c) Terry Pratchett
-
- Уже с Приветом
- Posts: 163
- Joined: 26 Apr 2006 10:33
- Location: YRV -> MSC -> NYC -> MD -> SFBA
Re: Белка на дереве
upd: причем стремится к нулю так что сумма стремится к константе.
upd2: понятное дело что для каждого конкретного случая затраченое время будет некое M, под конечностью этого M я понимаю что для любого местонахождения белки в лесу M<некой заранее заданной константы P.
upd2: понятное дело что для каждого конкретного случая затраченое время будет некое M, под конечностью этого M я понимаю что для любого местонахождения белки в лесу M<некой заранее заданной константы P.
“The only way to get something to turn up when you need it is to need it to turn up.” (c) Terry Pratchett
-
- Уже с Приветом
- Posts: 63377
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Белка на дереве
тут кажущийся парадокс. для упрощения рассмотрим алгоритм поиска на числовой оси натуральных чисел выбранного числа посредством их перебора начинаяя с 1. Имеем следующее:
1. нет верхнего предела для времени поиска т.к. натуральных чисел бесконечно много
2. тем не менее время поиска заданного числа - конечно, причем для любого числа
1. нет верхнего предела для времени поиска т.к. натуральных чисел бесконечно много
2. тем не менее время поиска заданного числа - конечно, причем для любого числа
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 163
- Joined: 26 Apr 2006 10:33
- Location: YRV -> MSC -> NYC -> MD -> SFBA
Re: Белка на дереве
Flash-04 wrote:тут кажущийся парадокс. для упрощения рассмотрим алгоритм поиска на числовой оси натуральных чисел выбранного числа посредством их перебора начинаяя с 1.
Имеем следующее:
1. нет верхнего предела для времени поиска т.к. натуральных чисел бесконечно много
2. тем не менее время поиска заданного числа - конечно, причем для любого числа
Ну это не столько парадокс, сколько то, как мы понимаем конечное время необходимое для нахождения... понятное дело что для любого V(x,y,z) существует такое количество шагов N (конкретное число) при котором мы найдем белку. Но это самое N в общем случае не ограничено сверху.
Ну вобщем да.. я понял где засада в момент когда писал свой предыдущий пост
P.S а почему смайлы такие дурные?
“The only way to get something to turn up when you need it is to need it to turn up.” (c) Terry Pratchett
-
- Уже с Приветом
- Posts: 467
- Joined: 01 Feb 2005 19:21
- Location: 666
Re: Белка на дереве
Намудрили тут канадские лесорубы... А бензопилой пользоваться можно?
-
- Уже с Приветом
- Posts: 56371
- Joined: 22 Nov 2002 02:05
- Location: С-Пб, NH
Re: Белка на дереве
Патч-коды для бесконечного бензина есть?Y+A=LOVE wrote:Намудрили тут канадские лесорубы... А бензопилой пользоваться можно?
"Я хотел бы устроиться в вашу мусарню… Я хочу ходить с волыной и шмалять в людей." "Триод и Диод"
-
- Уже с Приветом
- Posts: 15007
- Joined: 14 Jun 2005 11:50
- Location: Ukraine
Re: Белка на дереве
KirAleks wrote:Есть бесконечно большой двухмерный лес в котором растут бесконечно высокие деревья. На одном дереве сидит белка .
Задача: предложить алгоритм поиска белки за конечное время.
Логично предположить что если белка будет сидеть слишком низко, то она сдохнет от азотного отравления. А если слишком высоко, то кислородного голодания.
-
- Уже с Приветом
- Posts: 56371
- Joined: 22 Nov 2002 02:05
- Location: С-Пб, NH
Re: Белка на дереве
Я понял, что меня смущало: не приведен алгоритм перебора.
Если провести окружность и перебрать деревья, центр которых находится внутри (и на окружности), затем переходим на концентричееское кольцо заданной "ширины", например, добавив тот же радиус. Поиск конечен.
Два замечания.
1. Как прикладник, замечу, что время выполнения вам не понравится.
2. Как математик, замечу, что условие некорректно. Нет ограничения на перемещения белки. Тогда задача в общем виде не имееет конечного решения.
Если провести окружность и перебрать деревья, центр которых находится внутри (и на окружности), затем переходим на концентричееское кольцо заданной "ширины", например, добавив тот же радиус. Поиск конечен.
Два замечания.
1. Как прикладник, замечу, что время выполнения вам не понравится.
2. Как математик, замечу, что условие некорректно. Нет ограничения на перемещения белки. Тогда задача в общем виде не имееет конечного решения.
"Я хотел бы устроиться в вашу мусарню… Я хочу ходить с волыной и шмалять в людей." "Триод и Диод"
-
- Уже с Приветом
- Posts: 63377
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Белка на дереве
Polar Cossack wrote:1. Как прикладник, замечу, что время выполнения вам не понравится.
ну а как вы хотели?
2. Как математик, замечу, что условие некорректно. Нет ограничения на перемещения белки. Тогда задача в общем виде не имееет конечного решения.
На одном дереве сидит белка
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 15007
- Joined: 14 Jun 2005 11:50
- Location: Ukraine
Re: Белка на дереве
Flash-04 wrote:На одном дереве сидит белка
Это ничего не меняет. За бесконечное время, конечная белка наверняка сдохнет, свалится вниз, долетит до слоев где плотность воздуха будет равна плотности тушки, и будет бесконечно долго плавать по бесконечным течениям бесконечного леса.
Last edited by KP580BE51 on 27 Nov 2008 16:01, edited 1 time in total.
-
- Уже с Приветом
- Posts: 63377
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Белка на дереве
KP580BE51 wrote:За бесконечное время, конечная белка наверняка сдохнет и будет бесконечно долго падать вниз.
а вот и нет, время как раз - конечное но даже если сдохнет, то все что изменится - координата белки на дереве (станет 0)
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 15007
- Joined: 14 Jun 2005 11:50
- Location: Ukraine
Re: Белка на дереве
Flash-04 wrote:KP580BE51 wrote:За бесконечное время, конечная белка наверняка сдохнет и будет бесконечно долго падать вниз.
а вот и нет, время как раз - конечное но даже если сдохнет, то все что изменится - координата белки на дереве (станет 0)
А вот и нет. Требуется -то найти белку. Не указано что нужно найти живую белку. И не сказано, водятся ли бесконечном лесу падальщики. Хотя, не понятно, имеет ли решения задача, поедания трупа белки, в бесконечном лесу, за бесконечное время, бесконечным кол-вом падальщиков. Но если допустить, что кол-во падальщиков, конечно, то в бесконечном лесу они белку точно не найдут.
-
- Уже с Приветом
- Posts: 63377
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Белка на дереве
KP580BE51 wrote:Но если допустить, что кол-во падальщиков, конечно, то в бесконечном лесу они белку точно не найдут.
вух! теперь белка (точнее её труп) в безопасности
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 27652
- Joined: 15 Jul 2002 17:05
- Location: MD
Re: Белка на дереве
Flash-04 wrote:KP580BE51 wrote:Но если допустить, что кол-во падальщиков, конечно, то в бесконечном лесу они белку точно не найдут.
вух! теперь белка (точнее её труп) в безопасности
Ну да! А зачем же, по-вашему, мы ищем белку?