Мы уже коснулись любопытного вопроса о форме кривой, по которой бежит преследующая зайца лисица. Условия просты: скорость лисы направлена на зайца и постоянна по величине, а он бежит по прямой с постоянной скоростью. И мы выяснили, что лиса в таких условиях не догонит зайца, если ее скорость ниже — независимо от начального положения зайца. А если скорость выше, то догонит всегда.
Но такой метод преследования, очевидно, не оптимальный. Какой же оптимальный? И будет ли он качественно лучше, гарантируя поимку при меньшей скорости, или просто меньше бегать (тоже важно, конечно).
Математический аппарат будет не сложнее теоремы Пифагора, квадратных уравнений и работы с неравенствами. При этом получаются совсем нетривиальные соотношения. На базе этого материала школьнику можно сделать неплохую самостоятельную работу.
Итак, пусть заяц стартует из точки (0,0) и бежит по оси х вправо с единичной скоростью, а лиса стартует из точки (0,1), имеет скорость u и ловит зайца в какой-то точке (А,0).
Если ее путь извилист, то прямой путь между этими же точками короче и займет меньше времени. Поэтому кривой путь не может быть оптимальным в данном случае. Следовательно, если поимка вообще состоится, то лиса бежит по прямой, уравнение которой x=A(1-y).
Этот отрезок прямой является гипотенузой прямоугольного треугольника, причём заяц бежит по катету длиной А. Гипотенуза длиннее катета, так что если заяц имеет превосходство в скорости, то лиса его не догонит. А если лиса быстрее, то получается точка поимки как
И теперь видно, почему при нехватке скорости поимка невозможна.
Причём при u=1, то есть при равных скоростях, A стремится к бесконечности, а если u<1, то А просто мнимое или, если мы ограничиваемся полем вещественных чисел, то А не определено. Хотя в данном случае предел неуместен, так как лиса даже в бесконечности зайца не догонит, потому что путь лисы параллелен пути зайца и расстояние между ними сокращаться не будет. Говорить, что параллельная прямые пересекаются в бесконечности, всё-таки некорректно (иногда можно, но там и случаи особые). А при u<1 расстояние между лисой и зайцем будет расти, так что поимка становится лишь всё менее и менее возможной, если позволите так высказаться.
Если заяц стартует с форой, то есть из точки (Z,0) при Z>0, то лиса его тем более не поймает, если заяц быстрее. Если же медленнее, то поймает. Уравнение для точки поимки такое:
1 + A² = u²(A - Z)²
Это квадратное уравнение, и его дискриминант равен u²(1+Z²)-1. И нас интересует только тот корень, который больше Z. При u>1 дискриминант точно положительный и нетрудно показать, что один корень больше Z, а другой меньше. Вот больший и будет точкой поимки:
Особый случай u=1 разбираем отдельно. Уравнение вырождается в 1=-2ZA+Z², откуда А=(Z²-1)/(2Z). Если Z=0, то есть форы нет, поимка невозможна. Если Z>0, то решения есть, но непригодны, так как А<Z. То есть, поимки тоже не будет (что и понятно, так как ситуация для лисы еще более проигрышна).
Если скорость меньше единицы, то анализ уравнения довольно сложен (хотя делается), но можно обойтись и без него: если без форы зайца не догнать, то с форой и подавно.
Теперь посмотрим отрицательную фору Z<0. Формально всё так же при u>1: поимка будет и точку поимки задает больший корень. При u=1 зато поимка точно будет: если Z>-1, то правее нуля, а если Z<-1, то левее. Если же Z=-1, то, очевидно, лиса побежит по оси у вниз и встретит зайца точно в нуле (А=0).
Самый интересный случай u<1, то есть у зайца превосходство в скорости, но у лисы есть фора (Z<0). Тогда дискриминант неотрицателен, если
Z²≥(1-u²)/u². Один из корней всегда больше Z, а другой больше, только если Z²≥u²/(1-u²). С учётом предыдущего ограничения становится ясно, что оба корня равны друг другу в специфическом случае Z²=(1-u²)/u², и равны они Zu²/(1-u²): это положительное число при u<1 и Z<0, так что заяц будет пойман непременно после пересечения нуля (а это же не вполне очевидно). Если же фора больше, то точка поимки может быть как правее, так и левее нуля.
Случай, когда заяц стартует из точки Z на прямой, а лиса стартует из точки 0 на ней же, тривиален. Если Z<0, лиса просто ждет зайца, ну или бежит ему навстречу. Если же Z>0, то всё опять-таки просто: либо заяц бежит медленнее и лиса его догонит в точке A=Zu/(u-1), либо скорость зайца не меньше скорости лисы и он убежит. Если лиса догонит, то точку А можно получить предельным переходом в общей формуле, но можно вывести и проще.
Итак, в случае "глупого" зайца, бегущего тупо по прямой, алгоритм действий лисы следующий. Определить скорость зайца, вычислить свою относительно его; проверить разрешимость задачи и, если разрешима, вычислить А; бежать по прямой к точке А и там хватать зайца.
А вот как ловить "умного" зайца, меняющего свою скорость по направлению, это вопрос для отдельной беседы. Впрочем, кое-что уже понятно. Если мы не учитываем ни инерцию (скорость можно менять почти мгновенно по направлению), ни изменение этой скорости по величине (усталость или, напротив, рывок), и область неограничена, то вариантов ровно два: либо заяц бегает быстрее и просто убежит, либо он бегает медленнее и попадется. Причем в первом случае ему даже неважно, куда бежать: главное, под тупым углом к направлению на преследователя, чтобы у преследователя не было форы. А во втором опять-таки неважно, куда бежать: всё равно поймают, разве что можно побегать подольше, а можно поменьше.
Но если область ограничена, то задача преследования на плоскости становится сразу куда интереснее! Обязательно обсудим.