LINUX.ORG.RU
ФорумTalks

[занимательная математика] охотник и собака


0

4

Это не баян, как вы уже подумали :) Читаем условия _внимательно_.

Охотник возвращается их охотничьего домика домой. А его собаке скучно. Поэтому она гасает от него, до охотничьего домика и обратно. Собака бежит со скоростью 20км/ч, охотник идет со скоростью 5км/ч. Расстояние от охотничьего домика до дома 1км.

Вопрос: Где будет находиться собака и в какую сторону она будет бежать, когда охотник дойдет до дома?

★★☆☆☆

Последнее исправление: dikiy (всего исправлений: 2)

Ответ на: комментарий от Xellos

Самое смешное, что вот такой вызов:

Itegrate[Sqrt[1 + (f'[x])^2], {x, 0, 1}]

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

delete83 ★★
()
Ответ на: комментарий от delete83

эээ.. В формулах штрих потерялся при цитировании... должно быть f'[x]

delete83 ★★
()
hunter_speed = 5
dog_speed = 10
distance = 1

dog_direction = 1
dog_position = 0
dog_path = 0
hunter_position = 0

time = distance/hunter_speed
points = 20000
timestep = time/points

FOR p=0 TO points

    REM PRINT p, dog_position, dog_direction, hunter_position

    hunter_position = hunter_position + hunter_speed * timestep
    dog_position = dog_position + dog_speed * dog_direction * timestep
    dog_path = dog_path + dog_speed * timestep

    IF dog_direction > 0 AND dog_position >= hunter_position THEN
        dog_direction = -1
    END IF

    IF dog_direction < 0 AND dog_position < 0 THEN
        dog_direction = 1
    END IF

NEXT p

PRINT "direction = "; dog_direction
PRINT "position = "; dog_position; hunter_position
PRINT "path = "; dog_path

Поиграйтесь с параметром points — позиция собаки будет постоянно меняться

KRoN73 ★★★★★
()

В обе ибо по условию скость разворота стремится к бесконечности.

Andaril
()
Ответ на: комментарий от alpha

Ну как бы на бесконечно малом отрезке времени кол-во «гасаваний» животины стремится к бесконечности, так что решений будет два, либо я плохо вкурил условие.

madcore ★★★★★
()
Ответ на: комментарий от PolarFox

С ужасом представил, как такая прога переключает иксы в какой-нить ега-шный видеорежим.

madcore ★★★★★
()
Ответ на: комментарий от KRoN73

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

delete83 ★★
()
Ответ на: комментарий от PolarFox

>Хм. А под линупс есть какой-нибудь басик кроме фрибасика?

Я запустил в первым попавшемся на Ubuntu. Первым мне попался bwbasic :)

KRoN73 ★★★★★
()
Ответ на: комментарий от delete83

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

Что и требовалось доказать.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Это не значит, что решения нет :).

В качестве эксперимента, можете добавить в свой код подсчет общего расстояния, которое набегает собака? Должно получиться максимально близко к 4. На самом деле, это и есть то самое условие, которое делает задачу разрешимой (существует единственное решение). Хотя, опять же, какая-то часть моего подсознания твердит, что решения может быть и два, и даже бесконечность. Только вот доказать я никак не могу ни одно из этих утверждений.

delete83 ★★
()
Ответ на: комментарий от delete83

>Это не значит, что решения нет :)

Я и не говорю :) Просто была версия, что точность расчёта на начальном этапе мало повлияет на конечный результат :)

В качестве эксперимента, можете добавить в свой код подсчет общего расстояния, которое набегает собака?


dog_path = 0

PRINT «path = »; dog_path

Именно для самопроверки и добавлялось. Всё точно, получается 2,000… :) Число нулей зависит от числа точек отсчёта, но результат всегда около двойки. Два километра, что точно соответствует условиям задачи :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Это очень интересный вывод.

Бесконечные величины такие хитрые. Я пытался сделать оценку зависимости результата от начальной точки отсчета. Оказалось, что отбросить нельзя ничего. Дело в том, что выбирая начальную точку, не равную 0, мы вынуждены выбирать начальное направление собаки, а его мы знать не можем. И это очень важно. Просто ради интереса, попробуйте в своей задаче, не меняя points, менять начальное направление собаки и увидите, как сильно будет разниться результат. Фактически, вы будете всю кривую переворачивать внутри треугольника.

delete83 ★★
()

если разбить шкалу пути на lim(0) то , при пути 0..0+lim(0) собака пробежит lim(бесконечность) Раз

nCdy
()
Ответ на: комментарий от delete83

>Дело в том, что выбирая начальную точку, не равную 0, мы вынуждены выбирать начальное направление собаки, а его мы знать не можем

Начальное направление собаки — в сторону дома. Очевидно из условий задачи. Другое дело, что двигаться она будет в этом направлении бесконечно малым путём за бесконечно малое время :)

KRoN73 ★★★★★
()
Ответ на: комментарий от alpha

Как вам такая формулировка:

существуют бесконечно много равнобедренных треугольников на данном отрезке, с одним и тем же соотношением сторон и все треугольники можно расположить так, что они образуют единую ломаную кривую, вписанную в треугольник, образованный осью времени t, функцией f(t)=5t и функцией t=1, причем сумма длин бедер треугольников равна 4.

Все еще видите неопределенность?

delete83 ★★
()
Ответ на: комментарий от delete83

вижу

давайте исходить из ответа и строить решение в обратную сторону

Ответ - это точка на вертикальной прямой на картинке, из неё мы выпускаем ломаную с заданным углом, она приходит в ноль. Эта ломаная является решением, так как удовлетворяет всем условиям задачи.

Берем другую точку там же, выпускаем ломаную с тем же углом, она опять приходит в ноль и удовлетворяет всем условиям задачи. Тоже решение.

И так для любой точки.

alpha ★★★★★
()
Ответ на: комментарий от KRoN73

Начальное направление собаки в момент времени t=0 неопределенно, а вот в произвольно заданный момент времени 1/points неизвестно, но совершенно определенно.

delete83 ★★
()
Ответ на: комментарий от alpha

Берем другую точку там же, выпускаем ломаную с тем же углом, она опять приходит в ноль и удовлетворяет всем условиям задачи. Тоже решение.

Удовлетворяет ли?

delete83 ★★
()
Ответ на: комментарий от alpha

причем сумма длин бедер треугольников равна 4

Не совсем точная формулировка. Не хватает уточнения, что первый треугольник справа может быть обрезан прямой t=1, но думаю это и так ясно.

delete83 ★★
()
Ответ на: комментарий от delete83

> Хотя, опять же, какая-то часть моего подсознания твердит, что решения может быть и два, и даже бесконечность. Только вот доказать я никак не могу ни одно из этих утверждений.

а моё доказательство не подходит?

unC0Rr ★★★★★
()
Ответ на: комментарий от delete83

в вашей переформулировке не хватает главного - описания величины, об определенности которой мы говорим

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

например, в моем рассуждении такая величина - это стартовая точка ломаной

я привела как минимум два решения с разной стартовой точкой, удовлетворяющие всем условиям, значит стартовая точка этими условиями не определяется

alpha ★★★★★
()
Ответ на: комментарий от delete83

>Начальное направление собаки в момент времени t=0 неопределенно

Определено по условию задачи. Собака и охотник идут домой из охотничьего домика :)

KRoN73 ★★★★★
()
Ответ на: комментарий от alpha

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

delete83 ★★
()
Ответ на: комментарий от delete83

Охотник возвращается их охотничьего домика домой. А его собаке скучно. Поэтому она гасает от него, до охотничьего домика и обратно. Собака бежит со скоростью 20км/ч, охотник идет со скоростью 5км/ч. Расстояние от охотничьего домика до дома 1км.

где тут условие на длину ломаной?

alpha ★★★★★
()
Ответ на: комментарий от KRoN73

Когда мы формализуем задачу, мы отбрасываем беллетристику. В момент времени t=0 у собаки не может быть направления, потому что отрезок, на котором она двигается, равен 0. Она в этот момент даже и не двигается. Ее скорость равна 0. t=0 - это особенная точка, в которой анализ вести нельзя. Это просто бессмысленное действие будет. К тому же не стоит забывать, что и собака и охотник принимаются за точки и под направлением собаки подразумевается направление вектора ее движения. Или скорости ее движения, то в данном случае одно и то же.

delete83 ★★
()
Ответ на: комментарий от alpha

где тут условие на длину ломаной?

Очевидно, что охотник дойдет до дома за 12 минут, а собака за это время пробежит ровно 4 км. Но я опять попался в эту ловушку. Конечно же не длина ломаной, а сумма длинн отрезков проекции ломаной на ось расстояний.

delete83 ★★
()
Ответ на: комментарий от delete83

> охотник дойдет до дома за 12 минут, а собака за это время пробежит ровно 4 км

Очевидно, что это условие - следствие исходных. Если верны начальные условия, то верно и оно. Поэтому дополнительно проверять его не нужно.

ну и даже если очень хочется, то и на языке ломаных оно тоже является очевидным следствием

alpha ★★★★★
()
Ответ на: комментарий от alpha

Черт, вы абсолютно правы. тогда решение неопределенно. Их бесконечное множество.

delete83 ★★
()
Ответ на: комментарий от delete83

>В момент времени t=0 у собаки не может быть направления

Может :)

потому что отрезок, на котором она двигается, равен 0


Направление собаки определяется не перемещением, а направлением вектора её морды :)

KRoN73 ★★★★★
()

Вопрос: Где будет находиться собака и в какую сторону она будет бежать, когда охотник дойдет до дома?

Видимо все-таки правильный ответ: собака сдохнет от усталости еще до исхода первой секунды. :)

delete83 ★★
()
Ответ на: комментарий от delete83

>У собаки не морды. Собака - это точка

Тогда это уже другая задача ;)

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.