Реклама Rambler's Top100 Service     Все Кулички
 
Заневский Летописец
 
    Виртуальный орган невиртуальной жизни
     Восьмой год издания 21.04.2006         N 1354   

Две тростинки

    Это задачу я взял из обзоров известного "арбузятника" Евгения Скляревского.
    Ссылаясь на рассказ знаменитого фантаста Александра Казанцева "Колодец Лотоса", он живописует жутковатую картину нравов Древнего Египта, когда претендентов на высшие государственные должности замуровывали в древнеегипетские строения, подсовывая им для решения неразрешимые задачи.

    Вообще-то говоря, древнеегипетскую практику хорошо бы возродить и у нас, замуровая, например, претендента на пост министра экономического развития в кремлевскую стену...
    А в качестве неразрешимой задачи задавать ему следующий вопрос: "Как снизить инфляцию?"
    Ответит правильно - размуровать и назначить, не ответит - пусть там и остается.
    Я полагаю, что даже просто при объявлении такого "конкурса наоборот" желающих порулить страной в желаемом только министру направлении стало бы значительно меньше.
    А если такой "конкурс" провести по-настоящему, то, в конце концов, можно было бы найти человека, который бы не только манипулировал цифрами, но и развивал экономику.
    Кремлевская стена большая, на всех хватит... а не хватит, так у нас кремль не только в Москве есть.

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

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

    Автор (в данном случае - Скляревский) отмечает, что задача решается тремя способами:

  • приводится к уравнению четвертой степени, решить которое очень даже непросто;
  • через обратные тригонометрические функции в виде многоэтажного замысловатого уравнения;
  • итерационным приближением, столь доступным с появлением разного рода ЭВМ и языков программирования.

        Это не совсем так: можно применять и комбинации этих способов.
        Рассмотрим, например, комбинацию первого способа с некоторой частью третьего и назовем этот метод "вычислительно-геометрическим".

        Начнем с обозначений: назовем углы "альфой" и "бетой", а части диаметра "а" и "в".
        Тогда просто из рассмотрения треугольников следует, что

    Формула
        Затем вспомним две основные формулы тригонометрии (честно сказать, из всего школьного курса тригонометрии я только их и помню, а ведь было их - множество, и все учили когда-то):
    Формула
        Отсюда легко получаем:
    Формула
        И подставив значения синуса, преобразуем в вид:
    Формула
        Аналогично находим и длину второго отрезка.
    Формула

        Кроме того, вспомнив, что d=a+b, получим:
    Формула

        Теперь, если эту страхолюдную формулу преобразовать к каноническому виду, в котором слева все, а справа - ничего (т.е. нуль), то получим уравнение четвертой степени, которое принесет нам массу хлопот с его решением.

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

    Формула
        А интересуют нас значения этой функции близкие к нулю.
        (Кстати сказать, в этом мы снова отличаемся от г-на Грефа, который старается - и безуспешно! - увести экономику от нулевого значения.)

        Посмотрим еще раз на картинку.
        Очевидно, что диаметр колодца не может быть более двух метров.
        Вряд ли он может быть и менее полуметра, в этом случае точка пересечения тростинок будет значительно выше метра.
        Значит, интересующий нас диапазон диаметров лежит в пределах примерно от полуметра до полутора метров.
        Вот для этого диапазона давайте и посчитаем полученную функцию.
        Если выбрать (с потолка, разумеется) шаг изменений равным 0,2 метра, то надо произвести всего пять вычислений.
        Это можно сделать и карандашом на бумаге.
        (Цивилизация, конечно, расслабляет, поэтому я поленился считать головой и поручил расчеты компьютеру, но можно считать и вручную.)
        Получается такая таблица:

        d= 0.5      f(d)= -0.072770259307136
        d= 0.7      f(d)= -0.086410731554592
        d= 0.9      f(d)= -0.081611289123156
        d= 1.1      f(d)= -0.047331325756815
        d= 1.3      f(d)= 0.036159572393651

        Оп!! Через ноль перескочили, дальше можно не считать.
        Уточним точку перехода:
        d= 1.2      f(d)= -0.013564219528015

        Не попали!
        Добавим половину последнего шага.
        d= 1.25      f(d)= 0.0089900175395414

        Перебор...
        Вычтем половину последнего шага.
        d= 1.225      f(d)= -0.0028197161009309

        Недолет!
        Добавим половину последнего шага.
        d= 1.2375      f(d)= 0.0027109315721117

        Перелет.
        Вычтем половину последнего шага.
        d= 1.231      f(d)= -0.000085621698998395

        Есть!! Ошибка скачком уменьшилась сразу в 30 раз.
        Можно еще немножко поуточнять, и уменьшить ошибку еще на порядок:
        d= 1.2312      f(d)= 0.0000065840492480262

        Итак, диаметр колодца равен одному метру двадцати трем сантиметрам и одному миллиметру с хвостиком.

        "Стоп! - закричат на меня математики и программисты, - А чем этот "вычислительно-геометрический" способ отличается от итерационного?"

        Названием! - гордо отвечаю я.

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

        (Продолжение)


    Обложка      Предыдущий номер       Следующий номер
  •    А Смирнов    ©1999-2006
    Designed by Julia Skulskaya© 2000