Речь сейчас пойдет не просто об элементарной математике, но о тех азах, которые проходят в начальной школе. Считается, что вот уж это – верх совершенства, в том смысле, что лучше ничего придумать никак нельзя.
Между тем сравнительно недавно, еще в прошлом (двадцатом!) веке некоторые “исходники” математики были усовершенствованы. Я приведу только два особенно ярких примера.
Все мы умеем записывать арифметические выражения со скобками. Куда же деваться без скобок? – спросит читатель. Даже некоторые математики убеждены, что скобки – необходимейший атрибут математики. Они есть и в анализе, и в алгебре: вы представляете алгебру да без скобок? Не может такого быть! Потому что не может быть никогда!
Однажды польский логик Ян Лукасевич (академик Польской и Ирландской академий наук) предложил на выбор два варианта: прямая польская запись и инверсная польская запись. Мы здесь поговорим об инверсной, то есть обратной. В ней знак всегда ставится не между двумя операндами (слагаемыми или делимым и делителем и т.п.), но ПОСЛЕ НИХ. Так, выражение a + b запишется ab+. И оказывается, что, применяя этот же принцип для более сложных выражений, можно убедиться: скобки НЕ НУЖНЫ. Например, выражение (a + b)xc запишется так: ab + cx, выражение p -(d/(a + b))/(e + f)x(k + l) как pdab +/-ef +/kl + x. Как вообще “переводить” выражение из обычной в инверсную форму? Сначала записываем его в один этаж, то есть для деления используем знак /. Затем выписываем одни буквы в том порядке, как они уже записаны, пропуская все знаки действий и скобки. И, наконец, вставляем знаки действий: это несложно, рассмотрим на примере выражения p -(d/(a + b))/(e + f) x (k + l), которое после пропуска скобок и знаков перепишется так: pdabefkl. Первое действие a + b, вставляем + после ab: pdab + efkl. Теперь d мы должны поделить на результат сложения, то есть вставляем / после +: pdab +/efkl. И так далее, что дает в конце концов: pdab + /-ef + /kl + x.
В этом новом “языке” (попробуйте хоть немного поработать с такими формулами самостоятельно!) есть какая-то удивительная гармония, как во всем, содержащем максимум информации при минимуме объема. Мы убрали скобки. Казалось бы, сделали немного, но именно “чуть-чуть” приводит к красоте. Так вот это еще не все. В программировании есть такое понятие СТЕК. Это ряд ячеек, в которых могут записываться числа (можно называть эти ячейки числовыми). Пусть у нас 4 ячейки: Х, Y, Z, T. При записи числа в ячейку X то число, которое там было записано раньше, запишется в ячейку Y, то, что было в ячейке Y, переместится в Z, то, которое было в Z, попадет в Т, а число из Т сотрется. То есть все числа сдвинутся вправо. При выполнении какого-то действия стек работает так. Сначала первый операнд записывается в ячейке Х (и все числа стека сдвигаются вправо). Затем второй операнд записывается в ячейке Х (и снова все числа сдвигаются вправо, так что первый операнд оказывается в ячейке Y). После этого выполняется действие, результат записывается в ячейке Х. При этом оба операнда исчезают вообще, в освободившуюся ячейку Y записывается число из ячейки Z, а в ячейку Z записывается число из ячейки Т. То есть все остальные числа сдвигаются на одно место влево.
Так вот: если вы работаете со стеком (например, им снабжен ваш микрокалькулятор), то число в инверсной польской записи есть не что иное, как “ПРОГРАММА” для ВЫЧИСЛЕНИЯ ДАННОГО ВЫРАЖЕНИЯ! В последнем примере надо просто последовательно набирать соответствующие числа (нажимая после ввода каждого числа кнопочку “”, которая есть в таком калькуляторе) или знаки действий. При этом процесс оказывается оптимальным, то есть короче вычисления сделать невозможно.
Стек используется не только в калькуляторах, но и при вычислениях на обычном компьютере, только мы об этом не думаем, нам ведь выдается только окончательный результат. Совпадение? Я объясняю это известным правилом системного анализа: концентрированная информация структурируется изоморфно.
А вот другой пример.
Когда мы самостоятельно считаем, например, умножаем “в столбик”, это требует затрат сил и времени. Чем больше числа, тем труднее вычислять. Если вычисляет компьютер, то тут речь идет только о времени. Если числа большие, это не значит, что из компьютера вскоре пойдет дымок и он испечется, нет, просто он будет слишком долго вычислять. Для многих расчетов, например, в области коммерции, это стоит больших денег. В особенности много времени занимает умножение. Например, чтобы стандартно перемножить два двузначных числа, нужно выполнить 4 умножения (и чтобы умножить два 2N-значных числа, нужно сделать 4 умножения N-значных чисел). Но однажды в 1962 году не известный никому студент МГУ А.А.Карацуба (сейчас он профессор) предложил новый метод умножения, где требуется всего ТРИ УМНОЖЕНИЯ! Таким образом, следуя методу Карацубы, мы сокращаем время на умножение почти на четверть. Можно только отдаленно себе представить, какова реальная цена (например, в долларах или в евро) этого открытия. Интересно, получил ли Карацуба за него хотя бы цент. Ну да это к слову.
Этот способ для перемножения любых 2N-значных чисел вытекает из равенства, которое можно непосредственно проверить:
(An + 10nBn)(Cn + 10nDn) = AnCn (10n + 1) + (Dn – Cn)(An – Bn) 10n + BnDn (102n + 10n).
Вот пример умножения двузначных чисел:
34 (1)
42 (2)
_________
8
8
2
12
12
_________
1428
В скобках – разности (для первого числа единиц и десятков, для второго – десятков и единиц), в первой строчке поля промежуточных результатов – произведение единиц, во второй – оно же, сдвинутое влево; в третьей строчке произведение чисел из скобок, в четвертой – произведение десятков, сдвинутое на 1-й разряд, в пятой – оно же, сдвинутое на 2 разряда. Удобнее, конечно, писать сразу 88 и 132 вместо первых и последних пар строчек: тогда в поле промежуточных результатов будет всего три строки. И, мне кажется, читатель вдруг почувствовал, что такой способ умножения легче обычного. В нем чувствуется какая-то воздушность, а это признак красоты.
Конечно, чтобы в школе начиная с первого класса ввести обучение таким методам умножения или таким способам записи формул, нужно переубедить всю Вселенную. Ничего не получится. Но все-таки нам не мешает помнить, что наряду с той стандартной так называемой элементарной математикой, которой мы учим наших бедных детей и которая для многих, ой как не элементарна, есть и другая, манящий образ которой вдохновляет даже последних двоечников (если им, конечно, удается с ней встретиться). Но мы учим другому. И, пожалуй, так будет до скончания веков. Но если кто-нибудь из учителей как-нибудь, даже на переменке, расскажет своим ученикам о том, что есть в математике нечто, что воздушностью напоминает фею сирени, право же, это будет совсем не плохо.
Евгений БЕЛЯКОВ
Комментарии