В XIX веке существовали интересные инструменты для умножения, построенные на основе теоремы Слонимского. Это «Снаряд для умножения» Слонимского и бруски Иоффе.
Эта статья посвящена второму из них, предложенному в 1881 году Гиршем Залмановичем Иоффе (вариант — Иофе).
Материалы по этому инструменту в рунете — очень скудны, тем не менее я, как мне кажется, сумел восстановить их внешний вид. В любом случае, приложенный мной ниже вариант близок к оригиналу и пригоден для использования по назначению.
Цель написания статьи
Эта статья для тех, кто, так же, как и я, интересуется историей вычислительной техники.
Когда я писал статью [3] о принципе построения таблицы Слонимского и использования её для умножения, глаз у меня замылился и я не уделил должного внимания, так сказать, материальной части. Кроме того, тогда у меня не было нужных зацепок для того, чтобы восстановить внешний вид брусков.
Поэтому, когда меня спросили о практической стороне вопроса, и у меня появились для этого зацепки, я решил восстановить внешний вид брусков Иоффе и написать о них статью.
Почему местом размещения статьи выбран Гиктаймс
Статья посвящена хоть и древней, но всё-таки вычислительной технике. Следовательно, подходит для Хабра по тематике, а хаб «История IT» находится, как известно, на Гиктаймсе.
Гиктаймс хорошо индексируется, а я хочу, чтобы тому, кто заинтересуется этим счётным инструментом, было легко найти информацию по нему.
Назначение и описание
Бруски Иоффе предназначены для быстрого составления таблицы произведений некоторого заданного числа на ряд чисел от 2 до 9.
Для этого на каждой грани каждого бруска написан столбец цифр, а искомая таблица образуется в результате складывания нескольких брусков вместе в нужном порядке.
Вот что удалось нарыть в Интернете:
Из источника [1]:
Счетные бруски были предложены Иофе в 1881 г. В 1882 г. на Всероссийской выставке они получили почетный отзыв. Принцип работы с ними основан на теореме Слонимского.
Прибор Иоффе состоял из 70 четырехгранных брусков. Это позволило разместить на 280 гранях 280 столбцов таблицы Слонимского. Каждый брусок и каждый столбец были помечены, для чего использовались арабские и римские цифры и буквы латинского алфавита. Латинские буквы и римские цифры служили для указания порядка, в котором нужно было размещать бруски, чтобы получить произведение множимого на одноразрядный множитель. Полученные произведения (а их столько, сколько разрядов во множителе) складывались (точно так же как и при использовании множительного устройства Слонимского) с помощью карандаша и бумаги.
Из источника [2]:
Прибор Иофе состоял из ящика с десятью отделениями, пронумерованными цифрами 0, 1, 2, ..., 9. В каждом отделении помещалось семь четырёхгранных брусков, обозначенных с четырёх сторон одной из цифр: 0, 1, 2 и т.д., а ниже цифрами I, II и т.д. и буквами A, B, C, D соответственно на каждой стороне. Затем вслед за этими обозначениями располагались столбцы цифр из таблицы Слонимского, по одному столбцу на каждой грани (на 70 четырёхгранных брусках как раз помещается 280 столбцов, составляющих полную таблицу Слонимского). Ещё ниже — римские цифры и те же буквы A, B, C и D. Римские цифры и буквы служили для указания порядка, в котором следовало располагать бруски, чтобы получить произведения данного числа на однозначные множители.
Жаль, что второго источника не было у меня, когда я вскрывал алгоритм работы с таблицей Слонимского.
Там же была картинка, иллюстрирующая принцип умножения:
Эта картинка послужила ключом к пониманию того, что же было нарисовано на брусках.
Теория
Таблица Слонимского (более подробно описана мной в статье [3]) состоит из 280 столбцов, как доказал Слонимский, этого достаточно, чтобы сложить из них (столбцов) табличку с произведениями любого заданного числа на ряд одноразрядных чисел 0...9.
Для выбора нужного столбца служит «ключ» — у Иоффе это пара «римская цифра»-«латинская буква», и цифра умножаемого числа. Иоффе использовал для ключа семь чисел, записываемых римскими цифрами, и четыре буквы — т.е. всего ключей 28. А цифр в десятичной системе, как известно, 10.
28 * 10 = 280.
Как видно на картинке выше, в каждом столбце Иоффе написал один ключ наверху, а другой ключ — внизу. Для удобства назовём их верхним и нижним ключами. Верхний ключ служит для идентификации самого столбца, а нижний — для подбора столбца для следующего разряда. Кроме того, у столбца наверху есть номер — это множимая цифра, она тоже служит для идентификации столбца.
Алгоритм можно описать как автоматный, где входной строкой является умножаемое число, читаемое справа налево (от младших разрядов к старшим), а состоянием является ключ предыдущего столбца. На каждом этапе нам нужно найти столбец верхний ключ которого равен нижнему ключу предыдущего столбца, а номер — очередной входной цифре. Начальным состоянием является ключ I-A, заключительным — тоже I-A, при условии, что число прочитано полностью. Чтобы не было сюрпризов, к числу стоит дописать ведущий ноль.
Практика
Теперь то же самое на пальцах и на брусках.
Гирш Залманович сгруппировал столбцы по 4 на гранях своих брусков, а сами бруски — по 7 в коробки. Вышло 10 коробок.
Нетрудно догадаться, что номер коробки должен быть одновременно номером всех столбцов в ней.
Бруски в коробках могут иметь 7 номеров — очевидно, это и есть смысл римской цифры.
Дальше, 4 буквы, как следует из описания, обозначают четыре грани бруска.
На картинке из источника [2] сложена табличка умножения числа 325 на ряд 2...9.
Как я и советовал, к числу для профилактики приписан ведущий ноль.
Повторю картинку, чтобы не скроллить:
Смотрим в обратном порядке: мы должны последовательно найти столбцы для цифр 5, 2, 3, 0.
Начинаем мы из состояния I-A.
Поехали:
Берём из коробки 5 брусок I и кладём его стороной A. Читаем его нижний ключ: I-C. Наш мысленный автомат переходит в состояние I-C.
Берём из коробки 2 брусок I и кладём его слева от предыдущего стороной C. Читаем его нижний ключ: I-B.
Берём из коробки 3 брусок I и кладём его стороной B. Читаем его нижний ключ: II-B.
Берём из коробки 0 брусок II и кладём его стороной B. Число у нас кончилось, проверяем нижний ключ последнего бруска: I-A, что и требовалось доказать.
Приложение:
Развёртки всех брусков PDF
В приложенном файле каждая четвёрка столбцов — это развёртка одного бруска. В горизонтальных группах — семёрки брусков для одной коробки.
Литература:
1. Счетные бруски Иофе Апокин И. А., Майстров Л. Е. «История вычислительной техники». М.: Наука, 1990. – с.112-116…
2. Апокин И. А., Майстров Л. Е. «Развитие вычислительных машин». М.: Наука, 1974. — с.98-99.
3. Множительный инструмент на основе теоремы Слонимского Zenitchik, Хабр, 2014 г :)
Автор: Zenitchik