В Интернете мной найдено описание множительного устройства Слонимского и брусков Иоффе [2], заимствованное из книги «История вычислительной техники» И.А. Апокин, Л.Е. Майстров, «Наука» 1990 г. Описание не раскрывает принцип действия приборов. Литературу, на которую ссылается автор книги, достать неприемлемо сложно. Я решил вскрыть алгоритм работы прибора самостоятельно, а для демонстрации — изготовить собственный аналог.
Для воссоздания прибора, действующего на основе той же математической идеи, я получил таблицу Слонимского по алгоритму, описанному в статье [1].
Согласно статье [1] для построения основной таблицы Слонимского для десятичной системы счисления, была взята последовательность Фарея
F(9) = {0, 1/9, 1/8, 1/7, 1/6, 1/5, 2/9, 1/4, 2/7, 1/3, 3/8, 2/5, 3/7, 4/9, 1/2, 5/9, 4/7, 3/5, 5/8, 2/3, 5/7, 3/4, 7/9, 4/5, 5/6, 6/7, 7/8, 8/9, 1}. 28 чисел последовательности F(9), кроме 1, были умножены каждое на ряд чисел от 0 до 9 и взяты только целые части полученных произведений. Полученные столбцы чисел пронумерованы в порядке возрастания чисел Фарея начиная с 0.
Основная таблица Слонимского, обозначенная B, приведена в приложении 1.
Для получения полной таблицы Слонимского была построена вспомогательная таблица P, представляющая собой таблицу умножения чисел от 0 до 9 в представлении Пифагора (приложение 2).
Каждый столбец таблицы B векторно сложен с каждым столбцом таблицы P. Таким образом получена промежуточная таблица, содержащая 280 столбцов. На её основе построены две таблицы U и D, содержащие соответственно цифры разряда единиц и разряда десятков полученных сумм.
Обнаружено, что таблица разряда единиц (U) содержит не повторяющиеся столбцы, тогда как все столбцы таблицы разряда десятков (D) встречаются и в таблице U, и в таблице B.
Таким образом таблица U исчерпывает все порождённые столбцы. Следовательно, она и является полной таблицей Слонимского.
Для получения алгоритма умножения с помощью таблицы Слонимского, все столбцы таблицы U были обозначены номерами столбцов таблицы B и таблицы P, на основании которых они были получены. Кроме того, было отмечено, какому из столбцов таблицы B соответствует столбец десятков, порождённый той же суммой столбцов. Для удобства работы столбцы были разделены на 28 групп (от 0 по 27) по 10 столбцов. Группам присвоены те же номера, что и столбцам таблицы B.
Таблица Слонимского служит для получения произведений произвольного числа на ряд чисел от 0 до 9.
Очевидно, что столбец единиц полученных произведений совпадает со столбцом единиц произведений последней цифры исходного числа на тот же ряд чисел.
Столбец десятков произведений равен векторной сумме столбца единиц произведений разряда десятков исходного числа на тот же ряд чисел и столбца десятков произведений разряда единиц исходного числа. Т.к. никакое произведение одноразрядных чисел не является более чем двухразрядным числом, столбец единиц не оказывает прямого влияния на столбец сотен.
Каждый последующий разряд должен быть получен путём векторной суммы столбца произведений соответствующей цифры исходного числа и столбца разряда десятков векторной суммы, полученной при вычислении предыдущего разряда.
В таблице Слонимского содержатся все возможные столбцы цифр, которые могут встретиться среди поразрядных столбцов цифр произведения произвольного числа на ряд чисел от 0 до 9.
Следовательно, задача умножения произвольного числа на ряд от 0 до 9 сводится к подбору нужных столбцов таблицы U.
Каждому столбцу таблицы U сопоставлен столбец таблицы B, который содержит значения, переносимые в старший разряд.
Т.к. каждый столбец таблицы U является столбцом единиц векторной суммы столбца таблицы B и столбца таблицы P, то столбец следующего разряда должен находиться в категории с номером того столбца B, который найден выше, а для разряда единиц, т.к. в него переноса нет, столбец должен браться из группы 0, которая порождена столбцом B(0)={0;0;0;0;0;0;0;0;0}.
Найденный алгоритм можно описать как автоматный, где входной строкой является умножаемое число, читаемое справа налево (от младших разрядов к старшим), а состояниями являются номера групп столбцов. На каждом этапе работы мы берём из группы под номером состояния столбец под номером очередной цифры и переходим в состояние под номером указанного для этого столбца соответствия в таблице B.
Для корректного завершения работы алгоритма, к множимому числу нужно дописать ведущий ноль.
На основе полученного алгоритма разработан и изготовлен инструмент для умножения.
Инструмент для умножения представляет собой набор реек с нанесёнными на них цифрами.
На каждую рейку насесены два столбца таблицы Слонимского таким образом, чтобы каждая группа столбцов была нанесена на отдельные пять реек.
Для уменьшения объёма наносимой на рейки информации, на рейки не наносилась нулевая строка таблицы, т.к. она содержит во всех столбцах цифру 0. Номер столбца отдельно не наносился, т.к. он совпадает с цифрой в первой строке таблицы. Номер группы, к которой принадлежит рейка, был нанесён римскими цифрами на боковые грани рейки. Он нужен только для сортировки реек в случае их случайного перемешивания (чего в ходе эксплуатации нужно избегать).
Для подбора следующей рейки, на рейках нанесён номер следующей группы реек.
Приложения
1. Основная таблица Слонимского (B);
2. Таблица Пифгора (P);
3. Промежуточная таблица;
4. Полная таблица Слонимского (U).
Источники
1. Вестник Сыктывкарского университета. Сер.1. Вып.13.2011. УДК 512.6, 517.987 «К 200-летию со дня рождения создателей вычислительных машин, представленных к демидовской премии, Х.З. Слонимского и Г. Куммера». В.П. Одинец;
2. Теорема Слонимского и простые вычислительные устройства на ее основе.
Рис.1. Вид отдельной рейки инструмента. Рейка содержит столбцы U(0) и U(1), на фотографии обращена вверх столбцом U(1), ниже горизонтальной линии — номер следующей группы реек:
Рис.2. Ребро рейки, из группы 7, видно римскую запись VII
Рис.3. Общий вид набора реек в деревянном органайзере.
Рис.4. Правый край органайзера, видны цифры множимого числа, соответствующие нанесённым на рейки столбцам.
Рис.5. Часть передней стороны органайзера. Видны номера групп реек.
Автор: Zenitchik