/
Author: Деев Г.Е.
Tags: математическая кибернетика учебные пособия и учебники по математике вычислительная математика учебное пособие натуральные числа
ISBN: 978-5-8114-3702-3
Year: 2019
Text
Г. Е. ДЕЕВ
ТЕОРИЯ
ВЫЧИСЛИТЕЛЬНЫХ
УСТРОЙСТВ
Учебное пособие
И
ЛАНЬ®
САНКТ-ПЕТЕРБУРГ
МОСКВА
КРАСНОДАР
2019
УДК 519.7(075.8)
ББК 22.1я73
Д 26 Деев Г. Е. Теория вычислительных устройств : учебное
пособие / Г Е. Деев. — Санкт-Петербург : Лань, 2019- —
452 с. : ил. — (Учебники для вузов. Специальная литера-
тура). — Текст : непосредственный.
ISBN 978-5-8114-3702-3
В книге изложены начала теории вычислительных устройств. Главным
понятием, в терминах которого ведется изложение, является понятие
абстрактного вычислительного устройства, АВУ. Это понятие позволяет
создать единообразную последовательность генетически связанных устройств.
На основе этих устройств может быть создана сетевая структура устройств,
охватывающая все возможные устройства, как существующие, так и те,
которым еще предстоит появиться. В книге описана возможность выхода за
пределы реально проводимых вычислений. Несмотря на их запредельность,
эти вычисления могут быть истолкованы в понятных нам терминах.
В качестве одной из таких возможностей приведена возможность ведения
вычислений с бесконечностями. Устройства ведут вычисления в произ-
вольной системе счисления. Реальные устройства, которые могут быть
созданы на основе АВУ, обладают набором оптимальных характеристик,
как то: максимальная однородность элементной базы, максимальное
быстродействие, минимальное тепловыделение, максимальная надежность
и др. Материал книги был использован для создания курса «Теория
вычислительных устройств ».
Книга адресована студентам вузов, обучающимся по направлениям
подготовки, входящим в УГСН: «Математика и механика», «Компьютерные
и информационные науки», «Информатика и вычислительная техника»,
«Физико-технические науки и технологии», «Технологии материалов»,
а также по другим направлениям и специальностям, имеющим отношение
к теории компьютеров. Пособие может быть полезно преподавателям вузов
при чтении курсов: «Теория вычислительных устройств», «Теория авто-
матов», «Теория алгоритмов», «Информатика», «Теория управления»,
«Кибернетика», «Дискретная математика», «Вычислительная математика».
УДК 519.7(075.8)
ББК 22.1я73
Рецензенты:
В. А. ГАЛКИН — доктор физико-математических наук, профессор, директор
Политехнического института Сургутского государственного университета,
эксперт РАН;
С. О. СТАРКОВ — доктор физико-математических наук, профессор,
директор отделения Института интеллектуальных кибернетических систем
Национального исследовательского ядерного университета «МИФИ».
Обложка
Е.А. ВЛАСОВА
© Издательство «Лань», 2019
©Г. Е. Деев, 2019
© Издательство «Лань»,
художественное оформление, 2019
Предисловие
Книга является научным изданием, но вместе с тем она может быть использована в
учебном процессе во всех учебных заведениях, где изучается теория компьютеров, ин-
форматика и другие научные дисциплины, к ним примыкающие. На основе этой книги
может быть создан учебный курс с тем же названием: «Теория вычислительных уст-
ройств». Книга удобна для преподавания по той причине, что почти в каждом параграфе
рассматриваются три-четыре примера, поясняющие содержание параграфа. Эти примеры
и им подобные могут быть использованы на занятиях со студентами. Следует отметить,
что книга не является компиляцией других книг по этой тематике, чем объясняется не-
большое число ссылок на другие книги в разделе «Литература». Книга отличается от
большинства книг по сходной тематике, прежде всего, по такому параметру, как система
счисления, в которой ведётся изложение. Обычно речь идёт о вычислениях, выполняемых
устройствами только в двоичной системе счисления. Изучаемые в книге устройства могут
вести вычисления в произвольной системе счисления. Это её первое существенное отли-
чие от большинства книг по этой тематике. Правда, конкретно в книге ведётся изложение
для устройств, ведущих вычисления в четверичной системе счисления. Но при этом дела-
ется оговорка, что четверичная система счисления выбрана без ограничения общности.
Основание системы счисления к = 4 всегда может быть заменено на любое другое
к, ке N = {2,3,4,5,...}. Ещё одно существенное отличие - это абстрактность изложе-
ния, что связано с тем, что речь идёт об общей теории вычислительных устройств В книге
не разобрано ни одного реального вычислительного устройства. Но это не значит, что
невозможно обратное движение - от устройств, разобранных в книге, к реальным. Наобо-
рот, именно это предполагается в перспективе.
Отметим, что, хотя книга и названа «Теория вычислительных устройств», это,
разумеется, далеко не полная теория, а лишь её начало, потому что теория в полном
объёме в принципе недостижима.
Главным понятийным объектом, в терминах которого ведётся изложение, является
понятие абстрактного вычислительного устройства (ЛВУ). Понятие ЛВУ является
мыслительным объектом, абстрактом, возникающим в результате рассмотрения семейства
одноцелевых вычислительных устройств. Например, можно рассмотреть семейство ум-
ножителей, и тогда в роли АВУ будет выступать абстрактный объект, представляющий
всё семейство умножителей, и именно его мы назовем умножителем. Этот объект всегда
единственен. Будучи мыслительным продуктом, он вместе с тем имеет своих материаль-
ных представителей, в роли которых выступают формулы, таблицы, схемы. Благодаря их
наличию оказывается возможным весьма содержательное исследование свойств АВУ.
Главными методами исследования свойств АВУ являются метод последовательного
синтеза и его последующее развитие — метод сетевого синтеза. Эти методы можно оха-
рактеризовать как генетические методы. Причина этой дополнительной характеристики
методов состоит в том, что семейство вычислительных устройств строится по схеме по-
следовательного порождения новых устройств из уже существующих, вследствие чего
каждое вновь порождённое устройство наследует кое-что от своих предшественников.
Для реализации метода последовательного синтеза берётся какое-либо первичное устрой-
ство из конечного числа начальных устройств. Этот выбор достаточно прост. Затем из
него по выбранному методу строится последовательность устройств
4 —* ^2 —* > Д, ~,
заканчивающаяся бесконечным устройством (заметим, что в книге бесконечные уст-
ройства, так же как и конечные, являются рядовыми объектами исследования). К беско-
3
нечному устройству А~ применяется операция свёртка (описанная в работах автора),
позволяющая построить конечное устройство Во, эквивалентное бесконечному А^:
А<г - Во. Устройство Во является основой для порождения методом последовательного
синтеза новой последовательности устройств:
... А
Г
* ^1
Далее снова применяется свёртка, приводящая к конечному устройству. Эта процедура
может продолжаться почти без каких-либо принципиальных ограничений, за исключени-
ем ограничения, связанного со сложностью вычислений. Сложность вычислений является
преградой, наложенной самой природой на наши реальные возможности. Тем не менее
если отвлечься от сложности вычислений, то описанная процедура может продолжаться
неограниченно. Она может обогащаться применением метода сетевого синтеза, состояще-
го в том, что по уже построенным АВУ можно создавать сети устройств и по ним строить
минимальные устройства, эквивалентные этим сетям. В результате создаётся множество
всех устройств, которые могут быть порождены из исходного устройства Ад . Теперь,
поскольку устройство Ао выбирается из конечного множества исходных устройств, его
можно заменить на другое, на устройство Л', и провести для него все построения, кото-
рые были проведены для Ао. По аналогии мы получим множество всех устройств, поро-
ждённых из А'о . Наконец, перебрав все возможности выбора начального устройства Ао ,
мы получим множество всех вычислительных устройств, которые могут существовать в
выбранной системе счисления. Таким образом, каким бы ни был суперкомпьютер, он
должен находиться среди построенных АВУ. Тем самым реализуется единый подход к
теории вычислительных устройств.
Исследовательский инструментарий формируется по мере необходимости и под-
сказывается синтезируемыми устройствами. Прежде всего следует назвать разрядные
сетки, в которых записывается обрабатываемая информация. Разрядные сетки эволюцио-
нируют вместе с устройствами. Исходной сеткой является сетка вида <7гД0] =—jy уё •
Она индуцируется в результате работы первичного автомата сдвига 5 х | q , играющего
роль автомата Ад в описанной выше схеме порождения устройств. Числоподобный объ-
ект, получающийся в результате простановки на все места разрядной сетки цифр системы
счисления, называется числоидом. Таким образом, числоид - это слово, записанное на
сетке с использованием цифр той системы счисления, в которой ведёт вычисления авто-
мат. Нужно помнить, что числоид не всегда совпадает с числом, которое он представляет.
Автомат сдвига, ведущий вычисления на сетке 6гД0|, в результате своих вычислений
порождает прежде всего множество натуральных чисел, записываемых в виде:
No = {0,01,02,03,010,...}, где 0 = ...000, т.е. символом 0 обозначено бесконечное число
нулей, проставленных на все места разрядной сетки, начиная с некоторого:
2 = 0 (Символ т. стоящий под нулём, 0 , указывает на место /«-разрядной
сетки; стрелка над 0 указывает на направление роста разрядов.) Введённый символ 0
4
является одним из важнейших элементов используемого инструментария. Он позволяет
вести вычисления с бесконечно местными числоидами, выполняя их за конечное время.
Он решает одну из практически важных компьютерных проблем - проблему останова.
Устройство, обрабатывая поступивший на вход числоид, однажды «натыкается» на 0 .
В этот момент оно сразу останавливает свои вычисления и передаёт вычислительную
эстафету другим устройствам. Самое существенное при этом то, что благодаря этому
символу нет необходимости проходить весь регистр до конца (как это делается в совре-
менных компьютерах), можно переходить к другим вычислениям задолго до достижения
конца регистра. Тем самым существенно экономится время вычислений, происходит ус-
корение вычислении. Ещё одна роль символа 0 состоит в том, что он подсказывает введе-
ние родственных символов: 1, 2, 3, 321, р = ps ...р,ррр , где р, i = 0,1,2, ...,s - любые
цифры системы счисления (в нашем случае - четверичной). Таким образом, числоиды-
рационалы на сетке G?/o] записываются в виде: х = р1...ргр}рох,...хгхАхо,трр р - пери-
од. В то же время числаиды-иррационаяы записываются в виде: х = ...хг...х2х1х0, где не
существует конечного цифрового описания следования цифр в записи числоида.
Надо сказать, что, несмотря на то, что на все места сетки ставятся цифры системы
счисления и создаётся видимость того, что все числоиды на сетке Gr 0] представляют
положительные числа, это не так. На этой сетке представляются все действительные
числа. Например, имеют место следующие представительские равенства:
6 = 0, 1=-1/3, 2 = -2/3, 3 =-1, 12 = 2/3, ...
«Представительские» означает, что числоид слева от равенства представляет число справа
от равенства. Покажем, например, что числоид 3 действительно представляет число (-1).
Для этого сложим числоид 3 с числоидом 01, очевидно, представляющим единицу.
Сложение выполняем поразрядно: 3 + 01 =...333 +.. 001 = ...ООО = 0 = 0. Обнаруживается,
о о
что числоид 3 обладает свойством, определяющим (—1): при сложении с единицей он
даёт ноль, следовательно, он представляет число (-1).
Далее эволюция разрядной сетки идёт по двум направлениям. Во-первых, про-
исходит постепенное её расширение (в единственно возможную сторону - в сторону от-
рицательных разрядов) вплоть до сетки G//_m) =, fl 2 3..., на которой возмож-
ности вычислительных устройств проявляются в полном объёме. Во-вторых, сами вычис-
лительные устройства индуцируют переход от сетки Gr° к гиперсетке
Gr'llO1) 0~‘)
Если проставить на все места гиперсетки цифры системы счисления то получим циф-
ровой объект, называемый гиперчислоидом. Гиперчислоиды представляют гиперчисла,
которые истолковываются, вообще говоря, как «числа», имеющие среди своих компонент
как бесконечно большие составляющие, так и бесконечно малые. С помощью сетки Gr
происходит градуировка бесконечно больших величин, что позволяет точно указать рас-
положение бесконечности на этой сетке. Отсюда вытекает возможность вести вычисления
с бесконечно большими величинами. Синтезированные по описанной выше схеме вычис-
5
лительные устройства ведут такое вычисление без проблем. То же касается и бесконечно
малых величин, записанных на сетках с отрицательными степенями.
Однако не только гиперчислоиды находят себе наглядную интерпретацию с помощью
обобщённой разрядной сетки Gr, но и гиперчисла получают свою наглядную интерпре-
тацию с помощью числовой гипероси. Ситуация здесь аналогична той, что хорошо знако-
ма нам ещё со времён школы, когда числа, представленные первоначально в цифровом
виде (т.е. на разрядной сетке), находят себе затем геометрическую интерпретацию в виде
точек на числовой оси. В исследуемом случае в роли числовой гипероси выступает конст-
рукция вида:
—t—* L. -2-1 0 1 2 . । т к -2-1 0 1 2 । । ♦ । । > -2-1 0 1 2
Ахо(30°) Ах1(101°°) Ax2(102e°)
На рисунке символом Ахо(]О') отмечена «наша» привычная числовая ось, на которой
мы точками изображаем числа. Числа этой оси идут с весовым коэффициентом 1С"
Справа стоит ось Ах/101 ') бесконечно больших величин первого порядка, геометриче-
ски подобная предыдущей оси Ахо(10"), однако числа на ней идут с весовым коэффици-
ентом 1-0 “. Далее находится ось Ах2(10 ”) бесконечно больших величин второго поряд-
ка с весовым коэффициентом 102” и т.д. Слева от оси Ахо(1О' ) располагаются оси бес-
конечно малых величин, геометрически подобные предыдущим осям, но с весовыми ко-
эффициентами 10 (/ = 1,2,...).
На рисунке приведена геометрическая интерпретация гиперчислоида
а = ... || 0 || . || С || 0 || 3 ||. Этому гиперчислоиду соответствует гиперчисло
(-1) 10° +110 , что записывается в виде представительского равенства:
... || б ||... || б || б || 3 | = (-1) 10° +1 10"
(«представительского» означает: гиперчислоид слева представляет гиперчисло справа;
необходимость в такой терминологии объясняется тем, что, строго говоря, равенство
некорректное, ибо объект слева находится на гиперсетке и носит порядковый характер, а
объект справа находится на числовой гипероси и носит количественный характер; чтобы
допустить такого сорта равенства, они характеризуются как «представительские»). Ги-
перчисло (-1) 1')' + Г 10 изображено набором точек на гипероси. Как видно, оно имеет
бесконечную составляющую, представленную точкой 1 на числовой оси Ах.(10'").
В «нашем» мире, т.е. на оси Ахо(1О°), оно представлено числом (-1). Именно его мы
«читаем» и используем в наших бытовых, инженерных и научных делах. На остальных
осях стоят нули. Такое представление использовал Эйлер, когда писал свои непонятные
равенства типа
1+10+102 +... = -1/9.
Все АВУ (автоматы сдвига, сумматоры, умножители, делители ...) без каких-либо ограни-
чений ведут вычисления на гиперсетке и интерпретируют их на числовой гипероси.
6
(Замечание. Исторически сложилось так, что на разрядной сетке номера разрядов рас-
тут справа налево. Эта же закономерность сохраняется и на обобщённой гиперсетке, на
которой веса сеток также растут справа налево. На числовой оси, наоборот, росту чисел
соответствует направление слева направо. Эта же закономерность сохраняется и для роста
весов числовых осей на числовой гипероси.)
К числу важнейших исследовательских инструментов относится понятие развёртки,
позволяющей потактово следить за процессом вычисления. Многочисленные примеры
работы с развёртками приведены в тексте книги.
По ходу реализации метода последовательного синтеза возникают дополнительные
приёмы синтеза, основанные на закономерностях, существенно облегчающих реализацию
основного метода. К числу их относится экстраверность по различным параметрам.
Особенно часто используется экстравертность по состояниям, образующая в связке со
свёрткой эффективный тандем синтеза бесконечных семейств автоматов.
Абстрактные вычислительные устройства уже при проработке сравнительно простых
тем приводят к новым понятиям и необычным взглядам на, казалось бы, привычные по-
нятия. Например, при изучении теории сумматоров и других родственных тем рассматри-
ваются такие непривычные вычислительные понятия, как понятие «отрицательных
цифр», порождаемых самими устройствами, если и не естественным образом, то доста-
точно понятным.
Разработаны так называемые В-схемы устройств, позволяющие создавать устройства,
реально ведущие вычисления в произвольной системе счисления. Возможность перехода
в Другую систему счисления важна, поскольку с ростом основания системы счисления
растёт скорость вычислений.
В заключение можно сказать, что в книге дано изложение теоретических основ по-
строения компьютера, ведущего вычисления не только в двоичной системе счисления, но
и в любой другой.
Книга имеет своих предшественниц, две книги автора под общим названием «Абст-
рактные вычислительные устройства», издательства «Энергоатомиздат» (общий объём
около 900 с.), материалы которых частично использовались при написании этой книги.
Выражаю глубокую благодарность заведующим кафедрой Прикладной математики
Обнинского института атомной энергетики Тупчиеву Виль Асадулаевичу, Галкину Вале-
рию Алексеевичу, Ермакову Сергею Владимировичу за интерес к материалу книги и за
создание благоприятной творческой обстановки, а также профессорам Перегуде Аркадию
Ивановичу, Старкову Сергею Олеговичу и коллегам по работе.
г. Обнинск,
Калужская обл.. 249040
Студгородок, д. 1
7
Глава 1
Системы счисления
§ 1. Определение системы счисления
Поскольку абстрактные вычислительные устройства могут вести вычисления в произ-
вольных системах счисления, необходимо привести некоторые относящиеся сюда сведе-
ния.
Для обозначения множества будем использовать фигурные скобки {...}, помещая
внутрь скобок объекты, составляющие множество, т.е. его элементы. Это обозначение
общепринято.
Для обозначения упорядоченного множества будем использовать специальные скоб-
ки, предоставляемые MathType, достаточно выразительные: {...) или (...}, отражающие
структуру порядка в этом множестве. Уголок указывает на вариант порядка.
Запись «|/1 читается: «элемент а, удовлетворяющий условию А».
Символ «-> обозначает в одних случаях взаимно однозначное соответствие, в других -
эквивалентность.
Система счисления - это метод представления натуральных чисел, обладающий неко-
торыми особенностями, указанными далее.
Определение 1.
Упорядоченное множество натуральных чисел
t/={u0=l, U\, ... и» ... ; (и,<н,т1), (z = 0, 1, ...)) (1.1)
называется базисом системы счисления, если оно используется для представления всех
натуральных чисел п е N= {0, 1, 2, ...} посредством формулы
п = z,. и,- + z,._ 1 и, + с, ' и,—г + ... + z, и, + ... + с/ ip A z0 ио, (1-2)
в которой г находится из условия
г\ и,. < п < и,.+ 1 (1-3)
и где z0, Z),..., zr - цифры, являющиеся целыми неотрицательными числами.
Если 7?=0, то все цифры равны нулю: го = Z] = z2 = ... = z, = ... = 0.
Комментарии 1. Натуральные числа, входящие в базис, а также цифры могут быть
обозначены любыми символами: от шумерских клинописных знаков до китайских иерог-
лифов. Мы будем использовать для этой цели десятичные записи чисел, выделенные
тильдой, трактуя такие записи как обозначения для базисных чисел, не забывая об их
числовом смысле. В иных случаях на этот счёт будут сделаны особые оговорки.
Из (1.2) видно, что во множестве натуральных чисел предполагаются выполнимыми
операции сложения и умножения, не зависящие от систем счисления
Комментарий 2. Далее мы покажем, что в предположении (1.3) в так определённом
базисе разложение (1.2) для любого натурального числа единственно и потому соответст-
вие между числом п и упорядоченным множеством цифр взаимно однозначное:
п (z„ 2,-1, ..., z2, Z|, z0}, (1.4)
что позволяет вместо разложения (1.2) использовать этот набор цифр в качестве пред-
ставления числа; представление (1.4) порождает более краткие обозначения для числа:
п =ZrZr_i...Z2Zl^)|t7, ИЛИ П =Z^r_i...Z2ZlZ(Xt;) . (1.5)
Если базис U фиксирован и никаких других базисов поблизости не находится, то символ
U в (1.5) можно опустить:
п = zpzr- i...z2ZiZo. (1-5’)
8
Обозначение типа (1.5') используется для натуральных чисел повсеместно и, разумеется,
также является их представлением.
Покажем единственность разложения и опишем поразрядные множества цифр.
Старший разряд г находится из неравенства:
и,- S п < игЛ\. (1.6)
Это неравенство выполняется только при одном г (см. рис 1.1).
-------1— —
/у Зиг
Рис. 1.1
Из (1.2) и (1.6) видно, что цифра zr является целым частным от деления числа п на иг и
находится однозначно:
Г Я 1 < аг+1
|_Mr J иг
(1.7)
где символом [;/] обозначена, как обычно, целая часть числа и
Видно, что количество цифр zr в разряде г зависит от отношения . Всё остальное в
(1.2), за вычетом tr иг, - первый остаток:
Я| = п — Zr и,- — Zt- 1 » "г-г + ... + Z, И + ... + Zl '.l^Zg-Uo, (1-8)
причём остаток меньше делителя (см. рис. 1.1):
О < Я, <г/,.. (1.9)
Из (1.8) видно, что цифра z,._i является целым частным от деления остатка Ri на и, а всё
остальное в (1.8) - второй остаток:
ЛУ ~ —£г-1 иг-1 ~:г-г ' иг-2 + ••• + ?, • и, + ... +zi И] + zo ио, (1.10)
причём
0 <Л2 <«, -!, (1.11)
и т.д. Как видно, в роли цифр могут выступать любые натуральные числа, всё определяет-
ся набором чисел и„ входящих в базис. Причём в каждом разряде набор цифр, вообще
говоря, свой. Каков этот набор, зависит от выбранного базиса (1.1).
Таким образом, из (1.8) и (1.9) находим:
В неравенстве (1.12), в отличие от неравенства (1.7), в левой части стоит 0, а не 1, т.к.
может быть равным нулю.
По аналогии с (1.7) и (1.12) заключаем, что количество значений цифры z, в /-м разряде
зависит от отношения
(1 = 0,1,...г)
иг
и находится в диапазоне
0<z, (1 = 0,1,...,г).
и,
Здесь в рассмотрение включён случай, когда п - 0, и тогда для z,. достижимо значение
zr = 0.
9
Множество цифр z-ro разряда в базисе U обозначим символом Zjf1, так что
= (z,|0 < < М, (/ = 0, 1, ...). (1.13)
L J
Поскольку в каждом разряде с номером i цифра z, находится однозначно, то разложе-
ние (1.2) или, что эквивалентно, представление (1.5) единственно и существует для
любого п.
Замечание 1. Требование ио=1, фигурирующее в (1.1), является существенным,
т.к. оно обеспечивает возможность написания разложения (1.2) для всех натуральных
чисел.
Замечание 2. Требование 0<Я<и,._, + 1 (1 = 0, 1, ..., г), где Я, = z,._, и,._, +
+... + z, Hi +zo «о -/-Й остаток, также является существенным, т.к. оно обеспечивает
единственность разложения (1.2).
Действительно, если рассмотреть базис
U= {ио = 1, и, = 4, и2 = 7, щ - 10,...},
то из двух разложений числа 17 :
17=1 10+ 1 7 + 0 4 + 0- 1
и
17= 1 10 + 0 7+ 1 4 + 3 1,
лишь одно базисное первое, т.к. только в нём R2 = z. щ + z0 и0 < «>.
Пример. Пусть первые числа базиса U таковы:
»о=Т, И] = 8, и2=13, и3 = 27, а4=31, «5=187, и6=213, и7 =327, .
и пусть «=172.
Базисные числа, задающие систему счисления, выделены тильдой (об этой договорён-
ности было сказано ранее). Базисные числа записаны в привычной для нас десятичной
системе счисления, вследствие чего понятно их количественное истолкование.
Тогда, поскольку щ = 31 < 172 < и5 = 187, заключаем, что /- = 4 и 172 = 5- 31 + 17, т.е.
z4 = 5, = 17, и мы имеем представление 172 =z4 • и4 + Ry. Признаком того, что z4 = 5 -
это цифра, является отсутствие тильды над пятёркой.
Цифру z3 находим путём деления R-, на иу.
Л] = 17 = 0-27+ 17 = 0-и3+17, откуда z3 = 0, = 17.
Цифру х3 находим путём деления Я2 на и у.
R2 =17 = 113 + 4 = 1и2+4, откудаz2 = 1, Я3 = 4.
Цифру zi находим путём деления Я3 на и,:
Я3 = 4 = 0- 8 + 4 = 01^+ 4, откудаz\ =0, Я4 = 4.
Цифру z0 находим путём деления /?4 на и0:
Я4 = 4 = 41+0 = 4-и0 + 0 , откудаZo = 4, Я5 = 0.
Таким образом, имеем следующие варианты представления десятичного числа п = 172
в базисе U этого примера:
172 = 5- 31 + 0- 27 +1 13 + 0 8 + 4 1 = 5 и4 + 0 и3 +1 и2 + 0 щ + 4 t/q =
= (5.0,1,0,4} =50Ю4|[; =50104(f/)
Уголок ( указывает на направление роста разрядов. Последнее представление: 172 =
= 50 104(12) записано в привычном для нас стиле.
10
Найдём диапазоны значений цифр:
, «5 187 1 г .
z4 :1 < z4 < — = <-> 1 < z4 < 6 т.к. гд - натуральное,
«4 31 4
Zj 0 < z3 < — = (Ц- <-> 0 < zj < 1 т.к. z3 - натуральное,
W3 27
с\ „ Щ п
z2 :0 < z2 < — = — <-> О < z2 <2 т.к. z2 - натуральное,
м2 13
z1:0<z1<^ = ^-<->0<z1<l
щ 8
z0 . О < z0 < — = -<->0<z0<7
ий 1
т.к. Z[ - натуральное,
т.к. Zo - натуральное, удовлетворяющее строгому
неравенству.
Как видим, в разных разрядах диапазоны значений цифр различны. Это не так часто
встречающийся эффект.
§ 2. Показательный базис Ехр(к)
Пусть
и0=1, Щ=к, и2=кг, и2=к3,..., и,=к',... \
,0 = 0, 1, 2,...) Г
где к - любое натуральное число, не меньше 2: к > 2.
Как видно, базисные числа и, = к' являются значениями показательной функции с ос-
нованием к, т.е. степенями числа, задающего, по существу, последовательность (1.14),
являющуюся, согласно определению (1.1), базисом системы счисления. Таким образом,
является ли натуральное число базисным или нет, мы узнаём по тому факту, является ли
оно степенью числа А. В этом состоит способ выделения базисных чисел, никакого специ-
ального выделения не требуется. Число к называется также основанием системы счисле-
ния (1.14), а сама система счисления (1.14) называется показательной к-ричной системой
счисления.
Любое натуральное число п записывается в этой системе следующим образом:
п =ZrUr +zr _]ИГ_ 1 +z,._2“r-2 + + Z,U, + ... + ZoUti =
= z,A' + z, \k 1 + z, 2kri + ... + z,k! + ... + Z|A' + zoA'°, (1-15)
где г находится из неравенства: кк <n<X .
В этой системе счисления во всех разрядах множество значений цифр всегда одно и то
же, что видно из (1.13):
0<z, <^- = —= А, (г = 0,1,...,г,...). (1.16)
и, А'
Числа, удовлетворяющие неравенству (1.16) и являющиеся вследствие этого цифрами
показательной к-ричной системы счисления, будем отмечать дужкой наверху; всё множе-
ство цифр будем обозначать символом Zk и говорить, что множество
Zk = {О, 1, ..., Гн} (1.17)
является множеством цифр показатель! 1011 к-ричной системы счисления, оно задаёт
А-ричную систему счисления, т.е. по нему можно восстановить степенной базис. Запись
А -1, читаемую как «к минус один» и которую, очевидно, можно разбить на четыре различ-
ных символа, нужно воспринимать тем не менее как единый символ, изображающий no-
il
следнюю цифру А-ричной системы счисления (см. (1.17)); например, если к = 10, то /< -1 это
9; если к = 2, то к -1 это 1. Если цифровой характер знаков ясен, то дужки можно опускать.
Пример. Пусть к =18 = 18. (Тильда отмечает тот факт, что 18 - базисное число в
18-ричной системе счисления.)
Тогда
Z18 = ]о,1,2,3,4,5,6,7,8,9,16,11,12,13,14,15,16,17] (1.18)
— множество цифр в 18-ричной системе счисления.
Как видно, для записи цифр этой системы счисления использованы первые десять цифр
десятичной системы счисления с дужками, а также двузначные десятичные числа
10,11,12,13,14,15,16,17, которые должны восприниматься как цельные символы, что обозна-
чено дужками над числами. Этим знакам, как и всем цифрам, приписывается количественный
смысл, легко прочитываемый после мысленного удаления дуги, когда запись может воспри-
ниматься как привычное десятичное число. Никаких других знаков, кроме тех, что приведены
в (1.18), для изображения чисел в восемнадцатеричной системе счисления нет.
Найдём, прежде всего, представление десятичного числа 18 в восемнадцатеричной
системе счисления.
По правилу (1.15) находим г:
18 = zrur + Zt U,. । + ... + z\Uy + zq«o =
= z,.18' + z,, 1 8r-1 + ... + Zi 181 + z0180,
откуда r = l,zj = l,z0 = 0, т.е.
18 = 10. (1.19)
Читаем результат: «восемнадцать десятичное равно десятке восемнадцатеричной». На
основании (1.19) будем записывать иногда для облегчения численных расчётов вместо
восемнадцатеричной десятки 10 десятичное число 18. По записи числа легко ориентиро-
ваться, в какой системе счисления оно представлено: если запись без дужек, то число
десятичное: если запись с дужками, то число восемнадцатеричное.
Пусть, далее, п = 1723. По правилу (15) находим г:
18' < 1723 < 18<‘. (1.20)
Т.к. 182= 324, а 18’- 5832. то г = 2.
Число 1723 будет записано в 18-ричной системе счисления через неопределённые по-
ка цифры так:
1723 = z2 10 +zj lO +z0 10°. (1.21)
Цифраг2 находится из (1.21) согласно (1.7):
z 18 = 10. (1-22)
Следовательно, из (1.21):
zj 16 +z0 -10° =1723-z2 <62 =1723 -5 324 = 103 = 2?!. (1.23)
По правилу (1.12) находим zp.
= Ш-[тг]=[!’7- ,] = 5< 18=10. (1-24)
Следовательно, из (1.23) находим:
Zo-lO0 =IO3-Z| 1G1 =103 5 18 = 13 < 18, (1-25)
откуда, т.к. 10 = 1, получаем z0 = 13.
12
Итак,
1723-5-ю’+5 Ю+13 1б(, = 5513 . (1.26)
Видно, что число 1723, четырёхзначное в десятичной системе счисления, является трёх-
значным в 18-ричпой системе счисления: 5513 . Если при вычислении на обработку одной
цифры затрачивается одно и то же время, то вычисление в восемнадцатеричной системе
счисления будет проведено быстрее.
§ 3. Система счисления Фибоначчи
Здесь базисная последовательность чисел, задающая систему счисления, имеет вид
«о = 1, V] = 2, и2 = «1 + Vo = 3, из = из + «1 = 5,..., ип = и„_ i + и„_2, (1-27)
т.е.
и0 = 1, И) = 2. «2 = 3. «з = 5, и4 = 8, м3 = 13, «в = 21, и7 = 34, .... (1-28)
Множество цифр в /-м разряде находим по общей формуле (1.12):
0<z, = (z = о,1„..,г,...),
и, и, и,
(1.29)
применённой к системе счисления Фибоначчи.
Из (1.29) следует:
Л п - ui 2
если • = 0, то z0 удовлетворяет неравенству О < so < — — , — Z. т.е.
«о 1
Zo = 0 v 1;
если i = 1, то Z[ удовлетворяет неравенству
„ Н2 3 . -
0<zt < — = — = 1,5, т.е.
щ 2
Zi = 0 v 1;
w 5
если i = 2, то Zi удовлетворяет неравенству 0 < z2 к — = — = 1,666..., т.е.
и2 3
21 = 0 v 1;
- . и4 8 ,
если i = 3, то z3 удовлетворяет неравенству 0 < z3 < — = — = 1,6 , т.е
и3 5
z3 = 0 v 1;
и т.д.
Из (29) видно, для всех i цифра z , = 0 v 1. Система счисления Фибоначчи двоичная.
Пример. Пусть п = 17. Продолжим последовательность базисных чисел (1.28) системы
счисления Фибоначчи, отметив тот факт, что эти числа базисные, с тильдой наверху.
ио = 1, щ =2, и2 = 3, и3 = 5, и4 = 8, щ =13, и6 = 21, и7 =34,
us =55, и9 =89, U|0 =144, ин =233, Иц =377,...
Старший разряд г разложения числа п находим из неравенства (1.6):
м5 = Гз < 17 <zz6 = 2J, (1.31)
т.е. г = 5. Разложение Фибоначчи числа 17 с неопределёнными пока цифрами z имеет вид
17 = z5 Ip + Z4 Нц + z3 Из + Z2 И 2 + щ + z0 и0 =
= 15 13 + z4 8 + z3 5 + z2 3 + Zj 2 + z0 1
Отсюда находим:
z5 = 1, z4 = 0, z3 = 0, z2 = 1, z = 0, Zo = 1. (1.33)
Таким образом, в системе счисления Фибоначчи цифровое представление числа 17 та-
ково:
13
17=100101™. (1.34)
Так что не только показательная двоичная система счисления имеет множество цифр
Z_> = {0, 1}, состоящее из 0 и 1. Есть другие системы счисления с тем же множеством
цифр. Только что рассмотренная система счисления Фибоначчи имеет то же множество
цифр: Zr-,, = {0, 1},т.е. она также является двоичной.
§ 4. Различные системы счисления с одинаковыми наборами цифр
во всех разрядах
Проведённый опыт с нахождением множества цифр в системе Фибоначчи позволяет
найти общее условие, при выполнении которого система счисления с базисом U будет
иметь во всех разрядах одно и то же множество нифр. Так, если Z = Z!!' =-{6, 1} (цифры
отмечаем дужками), то для этого в неравенстве (1.13), определяющем множество цифр,
4° =(л|0 < А < ^-}, (Z = 0, 1, ...)
отношение 0,1 , (; - 0,1,...,г) , должно быть заключено в пределах
Аналогично общее условие, при выполнении которого система счисления будет
иметь во всех разрядах одно и то же множество цифр Z — Z}'1 — {б, 1. ?j , записывает-
ся в виде
v7 1~2 < < 3~|. (1.36)
L 111
Вообще, условие, при выполнении которого система счисления будет иметь во всех раз-
рядах одно и то же множество цифр Z = Z^* = |0, 1, ..., к -1 j , записывается в виде:
VZ |~ к-1 < < к]. (1.37)
1=0 L и,
(Напоминаем, что к -1 - единый символ наподобие 9 в десятичной системе счисления.)
Так что систем счисления с множеством цифр Z*J* = |о, 1, .... к -1} бесконечно много
и система (1.14) лишь одна из них. Именно для того, чтобы выделить систему (1.14) среди
остальных, обладающих тем же множеством цифр, добавляется слово «показательная»:
показательная к-ричная система счисления.
Определение Система счисления, обладающая свойством
V[z£’ = {б, 1. ..., кЕ N, = {2,3,4,...} , (1.38)
называется квазипоказателъной.
При фиксированном к таких систем бесконечно много, и лишь одна из них является
«чистой» показательной системой счисления.
Поэтому если мы увидели запись п = 590763 в системе с множеством цифр
Z = {0, 1, 2, 3, 4, 5, 6, 7. 8, 9< , то для её истолкования требуется ещё указать базис
14
U= {«о, иь , и„ ...') той системы счисления, в которой она сделана. Как привычное деся-
тичное число она истолковывается только в показательном базисе:
£хр(Ю)= {«о= 1, г/, - 10. ..., //,.= 10', ...), (1.39)
где 10 - обычная десятка. (В этом базисе мы, как договорились ранее, пишем число без
дужек: п = 590763.) В другом базисе истолкование этой записи иное.
Построим какой-нибудь другой базис U с множеством цифр в каждом разряде
Z<J1 = |6, 1, 2, 3, 4, 5, 6, 7, 8, 9j и дадим десятичное истолкование записи п = 590763// в
этом базисе. При построении такого базиса требуем выполнимости неравенства, выте-
кающего из (1.37) при к = 9:
9 <^41 <10, (/ = 0,1,...,/-,...). (1.40)
и,
Последовательно придаём индексу / значения 0, 1, 2,... .
Имеем: и0 = I. Тогда 9 < — = ~ < 10, откуда и, =16.
ио 1
(Базисные числа, как и в предыдущем параграфе, выделяем тильдой.)
Далее, 9 < — = < 10, т.е. и-, надо выбирать в промежутке 90 < и~> < 100. Для вы-
“1 10
бора и2 имеется 10 возможностей. Одна из них, и2 = 100, уже использована показа-
тельной десятичной системой счисления. Поэтому берём одну из оставшихся, напри-
мер, //2 = 97.
Далее, 9 <- = -++< 10 , т.е. и} надо выбирать из промежутка 873 < ы3 < 970. Для вы-
//2 97
бора //3 имеется 97 возможностей. Поэтому берём одну из них, например, и2 = 917 .
Далее, 9 < — = < 10 . т.е. и4 надо выбирать из промежутка 8253 < 1/4 < 9170. Для
»з 917
выбора и4 имеется 917 возможностей. Поэтому берём одну из них, например,
//4 = 9143 .
Далее, 9 < — = _ < 10, т.е. и5 надо выбирать из промежутка 82287 < и4 <91430. Для
9143
выбора и5 имеется 9143 возможностей. Поэтому берём одну из них, например,
и5 = 89642 , и т.д.
Выбранных базисных значений системы счисления достаточно, чтобы истолковать ба-
зисную запись 590763//,) как привычное десятичное число:
590763///) — 5 + 9 //4 + 0 //) + 7 и2 б //) + 3 ид =
= 5 89642+ 9-9143+ 6-917+ 7-97+ 6 16 + 3 1= (1.41)
= 448210 + 82287 + 679 + 60 + 3 = 531239.
Итак, если базис U выбрать так, как это сделано, то десятичное истолкование выбранной
для примера записи таково:
590763,//) =531239. (1 42)
(Напоминаем, что привычная десятичная запись числа идёт без какой-либо дополнитель-
ной символьной атрибутики: тильд, скобок и пр.)
15
Переход от правой части в (1.42) к левой происходит на основе равенства
531239 = г/5 + Z4 «4 + Zi из + Zj «? + zj Щ + Zo =
= z5 89642 + zt 9143 + z3 917 + z^ 97 + z, 10 + z0 1
с помощью уже встречавшейся процедуры (см., например, (1.20)).
Обратим внимание на закономерность, имеющую место при выборе базисного
элемента.
Закономерность:
Количество возможностей для выбора и,,। равно и,.
Действительно, из (1.40) получаем:
9<Д-±1<Ю 9 «, <«,#( <10 «, . (1.43)
и,
Откуда количество возможностей для выбора «, , равно 10 • н, - 9 и, = (10 - 9) и, = и„
что и требовалось доказать.
Итак, констатируем, что одним набором цифр
V = {6. I, .. , Are ={2,3,4,...}
система счисления не определяется. Требуется дополнительно указать базис.
Наоборот, цифровой набор = |о. 1, ..., к -1 j однозначно определяется квазисте-
пенным базисом. Это множество цифр может быть у бесконечно большого числа различ-
ных систем счисления.
§ 5. Натуральный базис
В качестве базиса U можно брать любую последовательность натуральных чисел, в ча-
стности, можно взять само множество натуральных чисел:
«1=2, «2 = 3, ...}. (1-44)
В этом базисе множество натуральных чисел представляется через самого себя. В базисе
Unm множество цифр в /-м разряде находится по правилу, общему для всех базисов
Z<;')= jz| 0 < z < (/ = 0, 1, ...), (1.13)
которое в этом случае даёт:
< = {zlo < z = = {(),]}, (/ = 0,1,...), (1 45)
l/ll I I 1 I I 1 I
т.е. натуральный базис бинарен.
Мы встретились с тремя базисами, у которых множество цифр бинарно:
ZfaMi) = ^Flt = ZNal = {0, 1} (146)
— это базисы 1) показательной 2-ичной системы счисления, 2) системы счисления Фибо-
наччи, 3) натуральной системы счисления. Бинарное множество цифр может быть и у
других систем счисления с другими базисами.
В натуральной системе счисления натуральное число п представляется записью
77 = 1 0..Ю0 =1 «+6я^1+ . + 0 2 + 6 1. (1.47)
(п-Н
Здесь дужками обозначены цифры натуральной системы счисления, а тильдой - её базис-
ные элементы.
16
§ 6. Базис Абеля
Между двумя различными базисами U и V, вообще говоря, не предполагается никакой
связи. Однако наличие такой связи между базисами не исключается. Рассмотрим один из
таких случаев.
Пусть дан произвольный базис
[7={г/о=1, г<1, ... и„ ... (/ = 0,1,...)). (1-48)
Если базис V строится на основе базиса U по закону:
у_ l+о =И0 =1, Vj = н0+и1; v, =«o+«i +«2,-,\
( V,. =//0 +//] + +иг,... / ’
то базис V называется абелевым относительно базиса U.
Будем говорить также, что базис Vявляется абелево сопряжённым с базисом U.
Найдём связь между множеством цифр в базисе U и в базисе V. Обращаемся к общей
формуле (1.13):
^=(z,|0 < z, < М, (/ = 0, 1, ...).
I ul J
В частности, для базиса V будем иметь:
=к|о</, <2А1= v-+k,+i _^1+(/ = 0,1,...), (1.50)
' vi v, v, J
откуда видно, что для дальнейших выводов требутся точная информация о базисе U.
Пример 1.
Рассмотрим в качестве U натуральный базис: (7 = UNat. Тогда абелево сопряжённый с
ним базис вычисляется так:
VAb(Nat) =
v0 = ио = l,Vi = Uq +щ = 1 + 2 = 3,...,
, „ z.i4 (z + l)(z + 2)
V, =1 + 2 + ...+ (/ + !) =------------->------
(1-51)
f . з л (/+ !)(/ +2)
= }v0=l, 4=3, »2 = 6, ..., у, =-------------
Для абелево сопряжённого базиса с помощью (1.50) и (1.51) находим множество цифр в
каждом разряде:
Q + 2) 0 +3)
-----2------= 1+_2_
(/ + !)(/+ 2) /+1
2
(/ = 0,1,...),
(1.52)
т.е.
Z'.0) ={0,1,2}, Z'" ={0,1}, Z((2> ={0,1}, Zj?’ ={0.1},... (1.53)
Множество цифр почти во всех разрядах базиса V бинарное.
Пример 1.
Пусть в некотором базисе U число п представляется разложением:
n=Zr M.+Z(.-l Wr-| + Z,._2 U,.-2 + + Z, U, + ... + Z| И) + Zq Uo. (1.54)
В абелевом базисе V. сопряжённом с U, то же число будет разложено так:
П * С 4 + С-1'4-1 + - + С V, + - + С ' П + С ' 4>, (1-55)
где базисные элементы v, находятся через базисные элементы и, по правилу:
Vz'[v, =и0 +«1 +... + //,] . (156)
17
Требуется найти цифры (/ = О, 1,...), т.е. найти их представление через z,.
Решение.
Из (1.55) и (1.56) следует:
п = ЕС,-}’, = ЕС,- X и, = Е ( Е С,) и. = Е z, и,,-)г = s,
откуда
з7 = ЕС„(у = О, 1, ..., г). (1.57)
<=7
Из (1.57) получаем:
2у = Еф=^+ Е C,=^+zy+1, (у = 0,1,.., г-1)
i=l '»j*l , (i.js?
_zr=^
т.е.
Ч, =Z;-Z,+1, (j = 0, 1, .... г-1) 59)
А = г,
Цифры (/ = 0, 1, ...) найдены. Поэтому из (1.54) и (1.55) получаем:
Z,. Ur + Z, | и,._ 1 +zr-2 Иг-2 + ... + Z, И, + ... + <1 «1 + ZO Ио =
= Zr. Vr+(zr-l -г,.) . Vr_] + (Zr-2-Z,.-l) V,.-2 +
... + (z,-z, + 1) v, + ... + (z, -z2) И + (z«-Z|) Vo , (1.60)
где
V/[v, = U0 + Щ +... + !<,] . (1.56)
I=c
Равенство (1.60) с условием (1.56) называется преобразованием Абеля.
Замечание. Все числа г, входящие в (1.60), - это цифры базиса, подчиняющиеся огра-
ничениям
= |z|0 < z < ^±4, (/ = 0, 1, ...), (1.13)
l Ц J
которые, в свою очередь, получены из требования
г| и,. < п < ur+1 , (1.3)
входящего в определение системы счисления Вообще же для разложения (1.2) ограниче-
ния (1.13) не являются необходимыми и могут быть опущены, и тогда никаких ограниче-
ний на z не будет. Преобразование Абеля имеет место для любых z. Оно применяется при
исследовании сходимости рядов (см. [1] т. II, с. 383).
§ 7. Экстравертность системы счисления
Пусть U= {и0, ub и2, .., и„ ...} - базис системы счисления.
Конечным начальным срезом базиса называется множество Up = {t/u, щ, u2, .... ир}. со-
стоящее из первых чисел базиса вплоть до числа ир.
Т.к. при каждом i множество цифр, соответствующих /-му разряду, описывается соот-
ношением
18
Z{'} = (z|0 < z < ^1, (j = О, 1, ...),
I 41 J
(1.13)
то старшая цифра 1-го разряда вычисляется по правилу:
0 = 0,1,.. ,Р).
(1.61)
(1.62)
Замечание. Хотя в конечном срезе Up самое большое базисное число равно ир , а числа
г/р+1 нет, это не мешает найти множество цифр р-ro разряда, поскольку базисное число
Ир*! известно, как известно любое число базиса U.
Поэтому самое большое число, изображаемое на основе конечного среза базиса, вы-
числяется по формуле
max *0. max И,, Т Z\ , max U] + *2. ma] ' И2 T + Zp- ], max ' Up _ j 1 Z« max Up.
С помощью (/?+1)-разрядных чисел можно изобразить все числа вплоть до
Отношение ex(U„) = ”max + характеризует свойство конечного среза, называемое
чр
экстравертностью конечного среза. (Экстравертность - направленность вовне. Это уни-
версальное понятие, характеризующее многие математические объекты. Оно будет часто
появляться в теории вычислительных устройств по самым разным поводам.) В данном
случае оно характеризует ареал множества натуральных чисел, изображаемых в рассмат-
риваемой системе счисления на основе конечного среза. Хотя экстравертность, согласно
определению, относится только к конечному срезу базиса системы счисления, она тем не
менее характеризует систему счисления в целом. При этом если конечные срезы обладают
большой экстравертностью, то и вся система счисления обладает большой экстравертно-
стью, и наоборот. Кроме того, с множеством экстравертностей конечных срезов
[ex(Up )}/> j можно связать маргинальные величины, которые будут характеризовать
экстравертность системы счисления в целом.
Пример. Пусть {7»Л»н’(10). Тогда Up- {1, 10, 102, ..., КУ’} и
'W = 9 1 + 9 101 +9 102+... + 9 10" =9 !1 = -1.
Экстравертность показательного базиса
1 п/>+1 -1 + 1
е,г(РМ10)р) = Ш 10/ =Ю,
т.е. на основе конечного среза можно изображать числа вплоть до чисел, которые при-
мерно в 10 раз больше самого большого базисного числа среза. В разобранном примере
экстравертность не зависит отр, т.е. она характеризует десятичную систему в целом.
В общем случае экстравертность произвольной показательной системы с основанием к
даётся аналогичным равенством:
V [ex(Pow(.k)p) = k], (1.63)
что означает, что для показательных систем счисления экстравертность является характе-
ристикой не только конечного среза базиса, но и всего базиса в целом, т.е. для таких бази-
сов экстравертность является глобальной характеристикой. Из (1.63) следует, что чем
больше основание системы счисления, тем большее количество чисел будет представле-
но любым её конечным срезом. Так например, если к- 2 и р = 6, то на основе конечного
среза базиса 7-’ow(2)6 = {1, 2, 22, 23, 24, 25, 2Л} можно представить числа вплоть до числа
19
128; если же к = 60 (вавилонская система счисления) ир = 6, то на основе конечного среза
базиса Pow(60)6 = {1, 60, 602, 603, 604 605, 60е} можно представить числа вплоть до
2799360000000. Из сравнения видно, что экстравертность двоичной системы счисления
наиболее слабая. Для оперирования с большими числами нужны системы счисления с
большими основаниями.
§ 8. Системы счисления с поразрядно растущими множествами цифр
Речь идёт о системах счисления, в которых между множествами цифр, имеющимися в
каждом разряде, имеет место отношение
Z'j’cZ'r1’, (1 = 0, 1, ...). (164)
Желательно рассмотреть вопрос о максимальной и минимальной экстравертностях та-
ких систем. В общем случае, ввиду значительной неопределённости, содержащейся в
условии (1.64), ответить на этот вопрос, конечно, невозможно. Его можно изучить для
некоторых специальных систем счисления.
Рассмотрим, например, системы, в которых
ztf = {6,1,.. (/ = 0,1,...). (1.65)
Какова их максимальная экстравертность? Согласно (1.13):
Z'*={z|0 < z < ^±4, (I = 0, 1, ...), (1.13)
[ И/ J
между базисными элементами, определяющими множество цифр в г'-м разряде, справед-
ливо соотношение
(г + 1) и, < И,+ 1, (1.66)
и потому, при фиксированном р, максимально большое число, изображаемое с помощью
цифр вплоть до p-то разряда, представляется в виде (1.62):
«max ^0,тах ' «О + ^1,тах ' «1 ^2.тах ' И2 + ... + Jj, _ | тах Up _ | 4“ Zp,max ' Up
= 1 Ио + 2 U| + 3 И2 + + Р ' Ир-1 + (р + 1) ' Up. (1 67)
Далее, нужно найти максимальные и минимальные значения базисных чисел в различ-
ных разрядах. (Ограничимся поиском максимальных базисных чисел. Поиск минималь-
ных базисных чисел можно рассмотреть в качестве упражнения.)
При i = 0 из (1.65), (1.13) и (1.66) получаем:
Z’0) ={6,П, и0 =1, 1< — ='^- = щ , (1.68)
1 J «о 1
откуда и- =2.
При / = 1 из (1.65), (1.13) и (1.66) получаем:
Z™ ={6,1,2), щ =2, 2< ^ = ^-, (1.69)
1 1 «12
откуда Hi = 5 или и2 = 6. Из них «2лмх = и2 = 6 . Последнее значение берём в качестве ба-
зисного числа системы счисления
При i = 2 из (1.65), (1.66), (1.69) и (1.13) имеем:
4«={6,1,2,3}, й2=6, 3<^-е^, (1.70)
*- J W2 в
откуда получаются возможные значения и3 = 19, 20 22, 23, 24. Из них и3д1и = й3 =24
Последнее значение берём в качестве базисного числа системы счисления
20
При i = 3 из (1.65), (1.66), (1.70) и (1.13) имеем:
Z',3) = {6,(,2,3,4}, й3 =24, = (1.71)
откуда получаются возможные значения ц4 = 97, 98, ... ,119, 120 Из них «4,шх = й4 = 120 .
Последнее значение берём в качестве базисного числа системы счисления.
Обнаруживается закономерность, выражаемая формулой:
=(; + 1) И,_1дах или й, = (г +1) й,_, , (1 = 1,2,...), (1-72)
т.е.
й, =(1 + 1)', (1 = 1,2,...). (1-73)
Эти базисные числа дают максимальную экстравертность выбранной системы счисления.
Подставляя их в (1.67), получаем:
«шах = 1 Йе + 2 й< + 3 й2 +... + р йр-х + (р +1) йр =
= 1 • 1+ 2 2!+3• 3!+ +р р!+(р + 1)(р + 1)!
Таким образом, среди систем с расширяющимся множеством цифр в каждом разряде,
имеющих вид
Zg* ={o,l,...,f+i , (i = 0,l,...) , (1.65)
максимальную экстравертность имеет система с базисом:
(7 = {йо =1, щ =21. й2 =3! ,..., йр =(/2 + 1)! ,...}. (1.75)
С помощью (р + 1) разрядов в этой системе можно изобразить числа вплоть до гигантско-
го числа /гиах, даваемого равенством (1.74).
Экстравертность вычисляется по формуле
(176)
Ир (р + 1)! (р + 1)!
Как видно, экстравертность в этой системе счисления с ростом р растёт до бесконечности.
Для сравнения, экстравертность степенной системы счисления является константой:
V ex(Pmv(k)r) = . (1.63)
Задание рассмотренной системы счисления с экстравертностью, растущей до беско-
нечности, желательно канонизировать, отдав должное её уникальности. Мы запишем её в
виде множества, элементами которого будут пары, состоящие из базисного элемента и
множества цифр, соответствующих этому базисному элементу:
й,;|6,Т,...,1 + 1}J, (1 = 0,1....). Запись системы в развёрнутом виде такова:
П-{[йв;{б,Т}], [Д;{О,1,2}], [й2;{б, 1,2,3}], ^;{б,1,2,3,4}], . . .}-
= {[ Г2!;{Ь,1,2}] Гз!;{о,1,2,з}}, Г4';{6,1,2,3,4}} ...}.
Приведём пример записи числа в этой системе счисления и его перевод в
показательную десятичную систему счисления: п = 33 U)f = 3 41+ 33!+1 21+ 0 1! = 92.
Как видно, при представлении малых чисел десятичная система имеет преимущество,
выражающееся в том, что для изображения чисел требуется меньшее количество
цифр. Ситуация меняется при изображении гигантских чисел и только усиливается с
ростом последних. Система (1.77) при изображении гигантских чисел имеет, после
перехода некоторого рубежа, неустранимое и быстро растущее преимущество. Пере-
лом происходит где-то в районе базисного числа ««. Для последующих р. р> 22 де-
21
сятичная система счисления становится заметно более громоздкой при изображении
натуральных чисел.
§ 9. Другие системы счисления
1,
4,
4 + 3 2"-1,
(177)
и,
, (<1 = 0,1,2,...).
(1-78)
(1-79)
Система счисления Боде.
Базисная последовательность в этой системе находится по формуле:
если п = 0
если п =1
если п = 2,3...
Она соответствует эмпирически найденному закону распределения расстояний планет от
Солнца [2].
Система счисления шумеров.
Соответствующая базисная последовательность вычисляется по формуле
«2а=10а-6\ если п ~2к
u2*+i = ч -6к, если//= 2А + I
Первые её члены таковы:
ио= 1, ii[ = 10, U2 = 60, из = 600, «4 = 3600, и5 = 36 000, и,, = 216000,
и7 = 216 0000, i/8= 12 960 000,....
Древняя и загадочная система счисления.
Озадачивает её совершенство, особенно, если учесть, что появившаяся после неё через
четыре тысячи лет римская система счисления кажется довольно примитивной. Кроме
того, почему 60?
Система счисления народов майя.
Это обычная показательная система счисления с основанием к = 20:
и0 = 1, И[ = 20, г/2 =202, ..., и, =20',... \
(/ = 0, 1, 2,...) / '
Цифрами в этой системе счисления могут быть знаки:
Z = {О, I, 2, 3, 4, 5, 6, 7, 8, 9,10, Г1,12,13,14,13,16,17,18,19}
Рои<20) =
(1.80)
(1-81)
(цифры приведены в наших обозначениях; в обозначениях майя некоторые цифры выгля-
дели так: цифра один - «•», цифра пять - « — », цифра восемь - «••• », цифра четырнад-
цать - « » « « « », в общем, принцип прост, понятен и сбалансирован). Майская десятка 10
равна нашей двадцатке 20: 10 = 20 .
Записывали они свои числа поразрядно снизу вверх. Принцип позиционности системы
счисления соблюдался.
Например,
| 2 [ (две майских сотни 2 16 =2 -400)
814 = - I I (ноль майских десятков 0 10 = 0 20)
р- _ (четырнадцать майских единиц)
22
§10. Экономичность системы счисления
Это понятие встречается, например, в [3].
Под экономичностью системы счисления понимается тот запас чисел, которые можно
записать в данной системе счисления с помощью определённого количества цифр.
Если речь идёт о показательных системах счисления (см. § 2) Pow(k), (k = 2, 3, ...) с ос-
нованием к, то количество чисел, которые можно изобразить с помощью п цифр, даётся
выражением f (к) = ккЧ , где [а] - целая часть числа а. Рассматривая это выражение при
всех положительных действительных к, можно найти его максимум, который независимо
от п достигается при к* = е = 2, 71828..., что означает, что наиболее экономичными систе-
мами счисления являются системы с основаниями, близкими к е, т.е. системы с к - 2,
к = 3, к = 4. Экономичность системы счисления играет некоторую роль при выборе систе-
мы счисления, в которой будет функционировать проектируемое вычислительное устрой-
ство, но не решающую. Другие факторы, такие как экстравертность системы счисления,
скорость вычислений, могут быть более весомыми. Например, двоичная система счисле-
ния, к = 2, обладает наименьшей скоростью вычислений. И, хотя современные компьюте-
ры работают в двоичной системе счисления, её выбор в качестве основы контруирования
компьютеров был продиктован скорее не её экономичностью, а простотой реализации
электронных схем. Если для других систем счисления удастся найти более простой спо-
соб реализации электронных (и иных) схем, то использование других систем счисления
может оказаться предпочтительнее. Например, природа избрала в качестве системы счис-
ления четверичную, к = 4, где в роли цифр выступают: A, G, С, Т (аденин, гуанин, цито-
зин, тимин).
23
Глава 2
Натуральные числа
§ 1. Введение
В книге много внимания уделено описанию метода последовательного синтеза абст-
рактных вычислительных устройств (АВУ). Метод последовательного синтеза служит для
построения и изучения АВУ. Он обладает двумя особенностями. Во-первых, он не только
служит инструментом для построения АВУ, но и моделирует развитие вообще, являясь
его математической моделью, описанной в терминах автоматов и АВУ. Во-вторых, он
получает своё естественное дальнейшее и неограниченное продолжение в виде сетевого
(системного) синтеза. Понятие АВУ обобщает понятие абстрактного автомата и вытекает
из него. Первоначально мы изучаем именно автоматы, но очень скоро вслед за ними по-
являются родственные им объекты, которые, однако, не удовлетворяют определению
автоматов, вследствие чего понятие автомата приходится расширять Такое расширение
по мере развития теории пришлось бы проводить неоднократно, и потому, чтобы каждый
раз не заниматься этим вновь и вновь и не изобретать новые термины и понятия, имеет
смысл ввести общий единый термин для всех вычислительных устройств - АВУ. Каждое
конкретное АВУ - это некий абстрактный объект, позволяющий вести вычисления над
некоторым классом объектов. Всякое АВУ является полным воплощением некоторой
вычислительной идеи, которая, таким образом, оказывается с ним неразрывно связанной
и проявляет себя через это АВУ. Хорошо известно, что всякий автомат реализует некото-
рый алгоритм, но не всякий алгоритм может быть реализован автоматом. Например, алго-
ритм умножения двух чисел, на разрядность которых не накладывается никаких ограни-
чений, не может быть реализован никаким конечным автоматом, но он может быть реали-
зован АВУ Вообще любой алгоритм эквивалентен некоторому АВУ поскольку, согласно
сказанному, АВУ - это некий объект, позволяющий вести вычисления из некоторго клас-
са вычисляемых объектов, а именно таковым является алгоритм. Таким образом, понятие
алгоритма содержится в понятии АВУ, и потому теория АВУ в той её части, которая в
данный момент может быть охвачена, есть вместе с тем теория соответствующей части
теории алгоритмов.
Приведём «определение» алгоритма, взяв его из книги создателя теории нормальных
алгоритмов А. А. Маркова. Слово «определение» взято в кавычки не потому, что оно
неверно, а потому, как об этом говорит сам А. А. Марков, что оно лишь приблизительно
описывает основные интуитивно понятные черты алгоритма. Эти черты в своей совокуп-
ности подлежат дальнейшему уточнению, приводящему в итоге к тому, что было названо
им «нормальным алгоритмом». Особенности любого алгоритма следующие.
1. Алгоритм характеризуется понятностью, т.е. таким предписанием, которое позво-
ляет воспользоваться им любому человеку. (Ясно, что это идеализация. Всегда найдётся
некто, которому это предписание будет непонятным. Это один из моментов, которые
характеризуют алгоритм как абстрактное понятие.)
2. Предписание не оставляет места произволу. (Это очень сложный момент. Предпо-
лагается, что 1) существуют достаточно выразительные средства для составления такого
предписания независимо от решаемой задачи, 2) любой может прочитать это предписание
и 3) точно воспользоваться им. Для современных программистов разработка соответст-
вующих средств, т.е. языков программирования. - огромная и сложная работа, что видно
по тем пухлым томам, которые издаются по программированию. Пухлость томов свиде-
24
тельствует о том, что выразительные средства эволюционируют, и конца этому процессу,
по-видимому, не будет. К тому же, в действительности, программы, составленные про-
граммистами, прочитает далеко не каждый. Но, будучи запущенными в вычислительной
машине, они действительно не оставляют места для произвола.)
3. Возможность исходить из варьируемых начальных данных - массовость алгорит-
ма. (Алгоритм должен применяться к целому классу однотипных задач.)
4. Результативность алгоритма - это означает, что непременно в результате приме-
нения алгоритма будет получен какой-то результат вычислений.
Заметим, что под вычислением у нас понимается любое преобразование информации.
В свою очередь, под информацией понимается любое структурированное множество
цифр (структурированное множество цифр - это такое множество, для которого имеется
метод его прочтения). Цифра - это знак в той или иной системе счисления. Поскольку
систем счисления бесконечно много, то и множество цифр потенциально неограниченно.
Следовательно, каждому символу, отличному от цифры, можно взаимно однозначно по-
ставить в соответствие некоторую цифру, и потому множество потенциально возможных
символов (в число которых входят и буквы) эквивалентно потенциально возможному
множеству цифр. Это позволяет говорить о любом тексте из символов на языке цифр, т.е.
на вычислительном языке.
§ 2. О понятии абстракта
Поскольку далее в тексте часто встречаются абстрактные объекты, имеет смысл обсу-
дить понятие абстракта.
Абстракт относится к продуктам деятельности мыслительного аппарата мыслящих
существ, множество которых не пусто. Упомянутые продукты весьма разнообразны.
Возьмём для примера некоторые из таких продуктов.
Вот человек проводит вычисление: 2 + 3 = 5. Каков характер этой деятельности? Здесь
явное оперирование по определённым правилам. Это пример алгоритмического мышле-
ния.
Или, например, человек переходит дорогу, по которой движутся автомобили. Он оце-
нивает обстановку, достаточно ли далеко автомобиль, успеет ли он перебежать дорогу и
принимает решение: бежать! Иногда его ждёт успех. Это тоже пример алгоритмического
мышления. Хотя обстановка каждый раз может быть разной (т.е. каждый раз может быть
разной решаемая задача), но метод решения, алгоритм, всегда один и тот же. Он «сидит»
в голове у человека, и им нужно только воспользоваться.
Сродни последнему примеру является пример мыслительной работы шахматиста. Там
тоже имеется многообразие шахматных ситуаций, которые шахматист оценивает и, сле-
дуя определённым алгоритмам, принимает решение. Правда, в последнем примере часто
приходится слышать слово «идея» для характеристики принятого решения. Но в действи-
тельности никакая это не идея, а обыкновенный (по своей сути, но, конечно, не по шах-
матной ценности) результат вычислительной работы по содержащимся в голове шахмати-
ста алгоритмам и возможностям его памяти. От последнего зависит размер продукта мыс-
лительной деятельности шахматиста. А этим продуктом является шахматная комбинация.
Одним из признаков, по которому оценивается комбинация, является количество ходов,
необходимых для её реализации Великие шахматисты (Андерсен, Ласкер, Капабланка,
Алёхин...) в оставшихся после них партиях демонстрировали сложные и большие по раз-
мерам комбинации Однако никто не зафиксировал максимальную длину их комбинаций.
Но известен пример, вызвавший в своё время удивление и восхищение, комбинации в
18 ходов, рассчитанной Марком Таймановым в одной из его партий. И всё же, несмотря
25
на множество эмоций, сопровождающих мышление шахматиста, это всё тоже алгоритми-
ческое мышление, создающее вычислительный продукт. Шахматная «идея» - продукт
вычислений, её мы «настоящей идеей» назвать не можем. Такое мышление, независимо
от его сложности, может быть промоделировано соответствующим устройством. И, дей-
ствительно, современные компьютеры хорошо играют в шахматы.
Совсем другое дело, когда мы порождаем «настоящие идеи». Результаты алгоритми-
ческой работы мозга назвать настоящими идеями мы не можем. Правда состоит в том, что
результаты алгоритмической работы мозга действительно являются продуктами мысли-
тельной деятельности, зачастую очень сложной, где перебор вариантов и выбор одного из
них часто принимается за рождение идеи, но это ещё не идея. Характерным признаком
идей является то, что зафиксировать их в виде вычислительного продукта мы не можем,
об идеях мы можем только говорить. Хорошим примером такой идеи является идея коли-
чества. Эту идею мы не вычисляем. Наоборот, вся вычислительная деятельность сфор-
мировалась на её основе. Она рождается в нашей голове помимо нашей воли, физиологи-
чески неизвестно как, но факт состоит в том, что она рождается. По-видимому, в полном
объёме идея количества проявляется вместе с порождением понятия числа, а до появле-
ния понятия числа её мыслительные предшественники появляются в мозгу человека вме-
сте с появлением слов много, мало, больше, меньше, равно. Перечисленными словами
характеризуются идеи, носящие явно количественный характер. Они появляются в связи с
рассмотрением большого количества примеров из жизни.
Вообще для идей характерно, что они появляются в результате рассмотрения неко-
торого количества примеров, иногда малого, иногда большого.
Так, П. С. Александров в своей книге [4] пишет:
«На вопрос о том. что такое мощность, можно ответить лишь так называемым
«определением через абстракцию»: мощность - это то. что есть общего у всех эквива-
лентных между собою множеств».
Фраза предполагает некоторую программу действий. А именно нужно рассмотреть
большое количество примеров эквивалентных множеств, напрячь мозги, спросить себя:
«Что же у них общего?» и в итоге в качестве ответа получить единственную идею, кото-
рая и будет идеей мощности. Единственность идеи вытекает из того факта, что мы рас-
сматриваем все эквивалентные между собой множества, т.е. бесконечное их число. Мо-
тив, по которому утверждается единственность, по-видимому, таков: если при рассмотре-
нии какого-то конечного количества множеств мы обнаружили несколько различных
общих свойств, то при рассмотрении дополнительных эквивалентных множеств ненуж-
ные свойства будут постепенно отсекаться до тех пор, пока не останется одно общее
свойство. Вот оно-то и будет мощностью.
Обращаем внимание также на то, что П. С. Александров употребил слово «лишь».
Следовательно, по его мнению, по-другому определить мощность нельзя.
Текст П. С. Александрова достаточно содержателен, чтобы его использовать для ха-
рактеризации того, что он назвал «определением через абстракцию». Характеризация
такова:
1. Определение оперирует примерами.
2. Примеров может быть бесконечно много.
3. Утверждается, что в результате рассмотрения примеров будет порождена идея,
являющаяся общей характеристикой всех рассмотренных примеров (то, что именно
утверждается, а не предполагается и прочее, видно по тому, что употреблено слово
«лишь»),
4. Порождённая идея единственна.
5. Порождённая идея является итоговым мыслительным продуктом.
Прокомментируем сказанное.
26
Обращение к примерам в математике происходит на каждом шагу для пояснения не до
конца понятого, для лучшего усвоения изученного материала и пр. Ньютон говорил:
«В математике примеры важнее правил». Явно имелось в виду, что для порождения идей,
для их усвоения нужно рассматривать примеры. Человек обладает тем свойством, что,
хочет он того или не хочет, рассматривая какие-то объекты, он порождает какие-то идеи,
обычно нечто общее, что характеризует эти объекты.
Понятно, что бесконечно большое количество примеров рассмотреть невозможно вви-
ду пространственно-временных ограничений и ограничений, связанных с памятью чело-
века. Но мыслительный процесс человека обладает особым свойством, который можно
назвать экстраполяцией и который заключается в том, что человек уже из рассмотрения
конечного количества объектов находит нечто общее между ними и, опираясь на это най-
денное общее, может мысленно неограниченно (человек мыслью может уходить беско-
нечно далеко) продолжить рассмотренный ряд объектов. (Студенты, изучающие тему
«последовательности», занимаются этим постоянно.) Именно в этом смысле нужно пони-
мать условие о том, что примеров может быть бесконечно много.
Уже говорилось, что особенностью мышления человека является тот факт, что незави-
симо от его воли в сознании при рассмотрении некоторого числа примеров порождается
некий мыслительный объект (отличный, заметим, от вычислительного мыслительного
продукта), несущий в себе общий признак для рассматриваемой серии примеров.
Проведём рассуждение, показывающее, что наличие общего признака у любого мно-
жества объектов всегда имеется. Действительно, пусть это не так и мы строим множество
из объектов, между которыми нет ничего общего. Пусть построение завершено. Как мы
охарактеризуем такое множество? Построенное множество характеризуется так: это мно-
жество, состоящее из объектов, между которыми нет ничего общего. Поскольку общим
способом задания множеств является задание с помощью указания свойств входящих в
него элементов, то можно сказать, что построенное множество состоит из объектов, об-
щим свойством которых является то, что у них нет общих свойств. Фраза очевидно про-
тиворечива. Отсюда следует, что существование множества, состоящего из объектов, не
имеющих общих свойств, невозможно.
Таким образом, всякое множество состоит из объектов, имеющих какое-то общее
свойство. Это утверждение носит характер объективного факта [4]. Но вывели мы его
всего лишь из свойств фразы, лингвистически.
Хотя наличие общего свойства объектов, входящих во множество, является объектив-
ным фактом, отсюда ещё не следует, что это общее свойство обязательно будет обнару-
жено мыслящим существом. Но мы именно эту особенность мыслящего существа считаем
одной из главнейших, ответственной за его способность порождать идеи. Доказать логи-
чески наличие этой способности невозможно, можно лишь подтвердить её проявление
опять таки путём рассмотрения примеров, т.е. убедиться экспериментально. Поскольку
доказать этот тезис невозможно, но факт его существования мы признаём, нам ничего
другого не остаётся кроме как постулировать его. Итак, мы вводим постулат, характери-
зующий мыслительную деятельность мыслящего существа.
Постулат I (существования общего свойства):
При рассмотрении любого множества объектов в сознании мыслящего существа
создаётся мыслительный продукт, характеризующий все рассматриваемые объекты,
называемый общим свойством объектов данного множества.
Порождение этого продукта не носит алгоритмического характера, «механизм» его
порождения нам неведом, и потому этот объект не является вычислительным объектом,
создание его нельзя поручить современным компьютерам. Это продукт какого-то неиз-
вестного нам мыслительного процесса. Неизвестного в особом смысле. Мы им постоянно
пользуемся, но не обращаем на него внимания. Мы также не знаем физиологии этого
27
мыслительного процесса. Мыслительный продукт, порождённый таким образом, мы на-
зываем абстрактной идеей, или, коротко, абстрактом. Итак,
абстракт - это идея, возникающая при рассмотрении бесконечного множества объ-
ектов.
На самом деле абстракт возникает уже после рассмотрения конечного количества при-
меров (абстракт, возникающий после рассмотрения конечного количества примеров мож-
но назвать конечным абстрактом), причём тот факт, что сформировавшаяся идея
является искомым абстрактом, становится понятным обычно довольно быстро. Конечный
абстракт во многих случаях оказывается искомым абстрактом. Абстракт, в отличие от
конечного абстракта, по определению, требует рассмотрения бесконечного количества
примеров.
Таким образом, опираясь на богатый экспериментальный материал, неизбежность по-
рождения идеи мы достаточно обоснованно постулировали, т.е. постулировали существо-
вание абстракта. Единственность общей идеи мы также доказать не можем. Поэтому по-
стулируем и её.
Постулат II (единственности):
Абстракт единственен.
Можно, конечно, представить себе случаи (почему нет?), когда при рассмотрении бес-
конечно большого количества объектов не возникает никакой общей идеи или, наоборот,
возникает их несколько. В таком случае мы становимся на ту точку зрения, что рассмат-
риваем только те мыслительные процессы, для которых справедливы сформулированные
постулаты существования и единственности абстрактов. Судя по цитате П. С. Александ-
рова, такие мыслительные процессы существуют. Более того, употреблённое Александро-
вым слово «лишь» говорит о важности такого сорта мыслительных процессов.
Далее мы приведём ещё несколько похожих примеров.
Вот что пишет другой классик, А. Н. Колмогоров [5]’
«Математика не может начинаться с определений. Формулируя определение некото-
рого понятия, мы неизбежно в самом этом определении употребляем какие-либо другие
понятия. Пока мы не понимаем смысла каких-либо понятий, мы не сдвинемся с места и не
сможем сформулировать ни одного определения. Поэтому изложение любой математиче-
ской теории начинается с того, что какие-либо основные понятия принимаются без опре-
деления. Пользуясь ими, уже возможно бывает формулировать определение дальнейших,
производных понятий.
Каким же способом люди объясняют друг другу своё понимание смысла основных по-
нятий? Для этого не существует другого способа, как разъяснение на примерах и при
помощи подробного описания характерных свойств определяемых вещей. Эти описания
могут быть в деталях не вполне ясными и сначала не исчерпывающими. Но постепенно из
них смысл понятия вырисовывается с достаточной ясностью. (Именно) так мы подойдём
к понятию функции, считая его одним из основных математических понятий, не подле-
жащих формальному определению».
Что мы имеем здесь? Здесь опять подчёркивается роль примеров в формировании по-
нятий. Хорошо показано также, чем являются понятия по отношению к примерам. Поня-
тия являются идеями, возникающими при рассмотрении примеров. Другими словами,
понятия - это абстракты. По необходимости, это конечные абстракты. В идеале понятия -
это бесконечные абстракты. А. Н. Колмогоров указывает на направление движения к бес-
конечному абстракту: «постепенно из них смысл понятия вырисовывается с достаточной
ясностью». «Постепенно» - это как раз и есть процесс рассмотрения всё большего и
большего числа примеров, приводящий к появлению единственной идеи о том общем, что
свойственно всем примерам.
28
Как видим, и П. С. Александров, и А. Н. Колмогоров, и многие другие математики
достаточно ясно характеризуют роль и понятие абстракта в математике, хотя и не
используют этого термина. П. С. Александров использует похожее название:
«определение через абстракцию», но по сути это то же самое, что и абстракт. Последний
термин мы предпочитаем ввиду его краткости. Впрочем, судя по добавку «так
называемому», это словосочетание широко употреблялось в гимназиях и университетах
ещё во времена Российской империи.
Ещё из А. Н. Колмогорова:
«...Вы познакомились с современным общим понятием слова функция: функция - это
совершенно произвольное отображение некоторого множества Е на другое множество М.
Множество Е называется областью определения функции, а множество М — множеством
её значений. Чтобы задать функцию с областью определения Е, надо указать для каждого
элементах этого множества вполне определённый объекту =f(x).
Понятие функции будем считать одним из основных понятий математики. смысл ко-
торого только поясняется (на примерах), а не даётся формальным определением».
А. Н. Колмогоров настолько часто употребляет словосочетание «основное понятие
математики, смысл которого поясняется только на примерах», что поневоле приходим
к искушению сказать, что основное понятие математики - это такое понятие, смысл кото-
рого поясняется на примерах, число которых не ограничено. Другими словами, основное
понятие математики - это всегда абстракт.
Приведём ещё пример абстракта.
Точка. Это основное понятие геометрии. К понятию точки мы приходим в результате
рассмотрения следующего процесса. Мы рисуем потенциально бесконечную последова-
тельность кружков уменьшающихся радиусов Тот идеальный образ, который получается
в результате, мы называем (плоской) точкой. Таким образом, точка - это абстракт,
возникающий в результате рассмотрения последовательности кругов бесконечно
уменьшающегося радиуса.
При этом понятно, что каждый круг - это отдельный пример, предлагаемый для рас-
смотрения.
Аналогично, через абстракт, даётся определение точки на прямой, пространственной
точки, точки из многомерного пространства. Отметим, что этот абстракт (понятие точки)
возникает в мыслительном аппарате человека, и только. В реальности такого объекта —
точки - не существует. Нет ни одного физического эксперимента, позволяющего обнару-
жить существование точки. Точка - это идея, мыслительный, воображаемый, объект, со-
держащийся в сознании человека и больше нигде. Обратим внимание на то, что этот мыс-
лительный объект - точку - невозможно получить никаким вычислительным процессом,
носящим характер алгоритма. Таким образом, порождение идеи точки нельзя поручить
современному вычислительному устройству. Следовательно, на вопрос: «Может ли ма-
шина мыслить?» пока следует ответить отрицательно, современные машины не могут
порождать абстрактов
Ещё одним примером абстракта, на этот раз взятым из физики, является мгновенная
ось вращения твёрдого тела. В комментарии к этому понятию в книге А. Н. Матвеева [6]
чётко и ясно сказано, что «мгновенная ось — это воображаемая ось, которая не имеет
своего материального носителя», т.е. этот объект содержится только в сознании человека.
Этот объект является типичным абстрактом, типичной идеей.
Там же приведены развёрнутые пояснения о понятии времени, кратко суммируя кото-
рые, можно сказать, что время - это идея, возникающая в результате сравнения движений
материи. Мы опять имеем дело с понятийным объектом, содержащимся в сознании чело-
века и нигде более, который, следовательно, не может быть порождён компьютером, т.е.
алгоритмически. Таким образом, отдавая должное знанию, основанному на вычислениях,
29
нужно отметить, что оно не всеобъемлюще, есть методы познания, которые пока ещё не
моделируются вычислительными устройствами. Но изучение вычислительных устройств
как научного объекта (с неизбежным выходом в практику) совершенно необходимо, что-
бы сделать следующий шаг.
Над тем. что такое понятие, размышляли давно. Одно из ранних определений поня-
тия принадлежит Аристотелю [7]. По Аристотелю, понятие - это множество ситуаций.
Перекличка с приведёнными ранее высказываниями П. С. Александрова и А. Н. Колмо-
горова очевидна, если только заменить слово «ситуация» на слово «пример». Но аристо-
телевское определение понятия может быть подвержено лёгкой критике с тем, чтобы
уточнить понятие понятия.
Критика состоит в следующем: понятие располагается в сознании человека, а не про-
сто является неизвестно где лежащим множеством ситуаций, т.е. оно является мысли-
тельным продуктом, являющимся реакцией на множество ситуаций. Поэтому понятие —
это абстракт, формирующийся в мозгу человека в результате рассмотрения им множества
ситуаций, т.е. множества примеров. Множество ситуаций может быть бесконечным и
потому не может быть в полном объёме воспринято конечным мозгом. Конечный мозг
обречён на вырабатывание понятий, на абстрактное мышление, на необходимость мыс-
лить. Фиксация понятия как идеи, осознание понятия происходит в результате сравнения
понятийных структур, содержащихся в мозге. Без сравнения понятие не может быть осоз-
нано.
Следует еще раз отметить, что тот род мыслительной деятельности, который реализу-
ется при порождении абстракта, отличен от того рода мыслительной деятельности, кото-
рый характерен для алгоритмического мышления. Порождать идеи и мыслить алгорит-
мически — это разные вещи. Алгоритмическое мышление машинно моделируется. Алго-
ритмическому мышлению соответствует математическая теория алгоритмов. Возникает
вопрос можно ли сопоставить мышлению, порождающему идеи, порождающему абстрак-
ты, соответствующую математическую теорию? Если в этом разобраться, то. вполне воз-
можно, можно будет машинно промоделировать и порождение идей. В конце концов,
человек, как и машина, представляет собой конечное образование, но он, в отличие от
машины, порождает идеи. Значит, в нём содержится «нечто», что ответственно за порож-
дение идей. И если выделить это «нечто» и если это «нечто» окажется доступным для
нашего моделирования, то тогда на вопрос: «Может ли машина мыслить?» можно будет
ответить по-другому, положительно.
§ 3. Представление натуральных чисел
В быту мы не отличаем обозначение для натурального числа от понятия натурального
числа, хотя ясно, что это не одно и то же. Тем не менее мы отдаём должное обозначениям
для натуральных чисел, поскольку именно обозначения являются теми материальными
объектами, которые позволяют нам оперировать с числами. Обозначения позволяют нам
материально овладевать числами. Поэтому мы для реальной работы с числами под мно-
жеством натуральных чисел будем понимать множество No = {0, 1, ...}, состоящее из обо-
значений для них. Многоточие, здесь фигурирующее, подразумевает наличие известного
процесса (см. § 14-16), последовательно порождающего обозначения для всех остальных
натуральных чисел (потенциальная бесконечность). Фигурные скобки отражают процесс
актуализации, т.е. рассмотрение множества натуральных чисел как единого целого (акту-
альная бесконечность). Для записи натуральных чисел используется позиционная система
записи чисел, в которой истолкование знака зависит от его позиции. По историческим
30
причинам числа записываются в виде строчек, в которых старшие разряды пишутся левее
младших:
X — Х„ ... АГ Х| Л'о .
Несмотря на отсутствие цифр левее х„, подразумевается, что левее х„ стоят нули, которые,
однако, обычно не пишут:
х=...000х„ ... = ... 000.x, . . . луг,). В этой записи мы
второе многоточие первое многоточие
видим два многоточия. Роль их различна. Первое многоточие означает, что между х2 и х„
должно стоять конечное количество каких-то цифр, не обязательно нулей, но их не пи-
шут, поскольку они не известны и не известно их количество. Второе многоточие означа-
ет, что на местах левее х„ должны стоять нули в бесконечном количестве. Как видно,
один и тот же символ (многоточие) используется в разных смыслах. Нам удобнее второе
многоточие заменить другим, более выразительным символом: 0 = ...000, вследствие
чего предыдущая запись примет вид
Х = 0х„ ...х2 Х| Хо. (2.1)
Следовательно, символ 0 означает, что, начиная с некоторого места, в разрядной сетке
стоят сплошь нули в бесконечном количестве. Равенство (2.1) выражает собою простей-
ший вариант актуализации бесконечности. Очевидное свойство символа О’ 0 = 00.0,
т раз
т е No.
Иногда мы будем отступать от условности писать цифры справа налево по мере воз-
растания их разрядности и писать их наоборот, слева направо. Тогда символ 0 естествен-
но заменить символом 0 с аналогичным смыслом. Так что в результате мы имеем
X = 0x„...X2XtX0 = ХоХ1Х2...Х„0
- два принципиально равноправных варианта записи числа, причем стрелочки над нулями
указывают направление роста разрядов в записи числа.
В дальнейшем будет видно, что символ 0 и другие подобные ему символы оказыва-
ются полезными при вычислениях с разных точек зрения и, в частности, как сигналы,
информирующие об окончании вычислений, что является важным фактором для увеличе-
ния производительности вычислительного устройства.
Далее для записи чисел будут использоваться различные системы счисления, но изло-
жение будет вестись в основном с использованием четверичной системы счисления с
множеством цифр Z4 = {0, 1, 2, 3}. Эта система достаточно удобна, во-первых, потому,
что она не громоздка, и, во-вторых, потому, что она легко позволяет улавливать числовые
закономерности и переносить их на другие системы счисления.
Из представлений для натуральных чисел видно, что для записи натурального числа
требуется несколько разрядов, причём, вообще говоря, количество разрядов требуемых
для записи числа ничем не ограничивается. У одних чисел количество используемых
разрядов одно, у других - другое. Возникающее здесь неравноправие легко устраняется,
если считать все натуральные числа записанными на одной и той же разрядной сетке,
обозначаемой записью Gr°, имеющей бесконечное число мест. Моделью для нее будет
служить следующий наглядный образ:
Gr«: (2.2)
Здесь чёрточками обозначены места разрядов, а под ними - их номера. На места ставятся
цифры из Z(4) = {0, 1, 2, 3}. Так, число 0 на этой сетке будет изображено:
31
о о о о _ о г?
••’3 2 10 О V-’3)
или просто ...0000 = 0 .
На сетке Gr° число х = 0x„..jC2xiXg будет изображено.
т-<ь ггу _0х х х х_ <1 Ох ххх п
х -ОЛ,1...Х2Х1Х0 -777 ...у у у --57777 --у т .
ит.д.
Ясно, что х„ 0, т.к. иначе х„ = 0 было бы включено в 0 . Цифры от Хо до х„ будем на-
зывать значащими.
При такой системе с точки зрения используемой сетки все числа имеют равноправное
представление.
В дальнейшем сетка (2.2) по необходимости будет изменяться.
Ещё раз отметим, что мы отличаем понятие числа от его обозначения. Натуральное
число - это количественная идея, связанная с множеством натуральных объектов, со-
держащаяся в сознании человека. Эта идея, как и всякая идея, единственна в своём роде, и
она одна и та же у всех людей (понятно, что это утверждение является лишь правдопо-
добной гипотезой, чьё правдоподобие подтверждается практикой согласованного число-
вого общения людей друг с другом). Порождение этой идеи является особым актом мыс-
лительной деятельности, который на настоящий момент не может быть промоделирован
вычислительным устройством, в отличие, скажем, от мыслительной деятельности шахма-
тиста, которая успешно моделируется компьютерами. Таким образом, идея числа порож-
дается в результате специальной мыслительной деятельности, осознать суть которой в
настоящий момент затруднительно. Но эта идея всегда единственна, и, следовательно,
число также единственно. Что же касается обозначений для числа, то их может быть бес-
конечно много. Это вытекает не только из того факта, что систем счисления, в которых
могут быть записаны числа, бесконечно много, но и из вычислительной деятельности
АВУ, которые в одной и той же системе счисления сами создают собственные, совершен-
но необычные представления для чисел. В этих представлениях они ведут свои вычисле-
ния, причём человеку без помощи АВУ додуматься до этих представлений чаще всего
невозможно. Но существует алгоритм и, соответственно, устройство, позволяющее по
этим представлениям найти привычные для нас числа, ими представленные.
§ 4 Понятие абстрактного автомата
Определение автомата несколько необычно. Оно носит комплексный характер. Авто-
матом называется составной объект, включающий в себя следующие компоненты.
1. Множество {0, 1, ... ,k- 1} с Ng - входной алфавит автомата. Он состоит из к
цифр Л-ричной системы счисления. Последняя цифра «Л-1» должна восприниматься как
единый цельный символ, несмотря на то, что он состоит из трёх отдельных символов: к,
-1. Использование сложного символа «Л-1» объясняется тем, что мы не знаем, как поль-
зователи Л-ричной системы счисления договорятся обозначать последнюю цифру.
2. Множество - {0, 1, ... . I - 1} с Ng - выходной алфавит автомата. Он состоит из I
цифр Z-ричной системы счисления. Относительно цифры «/—1» то же замечание, что и
относительно цифры «Л-1».
Таким образом, входной и выходной алфавиты автомата могут быть разными.
3. Множество Q= {q\, Цъ ••• , Чп} -множество состояний автомата. Состояния ав-
томата могут обозначаться любыми символами. От обозначения состояний автомата и их
32
физической реализации, функционирование автомата не зависит (но интерпретация вы-
числений зависит).
4. Функцию переходов автомата q = Q(q, х), показывающую, в какое «новое» состоя-
ние q' переходит автомат из «старого» состояния q под воздействием входного сигналах.
5. Функцию выходов автомата у = <3{q, х), показывающую, какой выходной сигнал у
будет выработан автоматом из состояния q под воздействием входного сигнала х.
Функции переходов и выходов могут быть записаны в бесскобочном виде: q' — 0<?.х,
у - csqx. Прочтению это не мешает.
Везде выше (<?', lit О. xt Z(tn у е Z(n).
Кратко, желая указать компоненты автомата А, пишут:
/1-/1 Z((), Q, Qqx, <5qx}.
Обычно рассматриваются автоматы с конечными множествами Q. Такие ав-
томаты называются конечными. Мы, однако, не будем исключать из рассмотрения беско-
нечные автоматы.
Перечисления элементов, составляющих автомат, не достаточно для задания автомата.
Требуется ещё указать, как функционирует автомат.
Автомат функционирует в дискретном времени, в роли которого, не ограничивая общ-
ности, будем использовать множество целых чисел. Когда наступает целочисленный мо-
мент времени, автомат на мгновение «оживает», выполняет своё действие и «замирает»
до наступления следующего целочисленного момента времени. При этом он подчиняется
уравнениям функционирования следующего типа:
<?(Г+1)= 0<7(г),х(О,
У(0 = <sq(t),x(t),
(Ze Z ={...-2-1,0,+!,+2,...}).
(2.5)
Возможны уравнения функционирования иного типа, но мы их рассматривать не будем.
При постановке автомата в то или иное состояние в качестве начального он будет реа-
лизовывать то или иное отображение. Если у автомата все состояния неэквивалентны
(понятие эквивалентности состояний будет введено позже), то автомат будет реализовы-
вать столько различных отображений, сколько у него состояний. Богатство реализуемых
отображений определяет возможности автомата, его, так сказать, «интеллект», его разви-
тие.
Если присмотреться к определению автомата, то на каждом шагу можно увидеть абст-
ракт, что вполне оправдывает название параграфа.
Действие автомата А, поставленного в начальное состояние q , на вход которого пода-
ётся объект х , записывается в виде у = А(~ |</), а также в бесскобочном виде у = Ах\q
где слева от вертикальной черты стоит «функционально-аргументная» часть, а справа -
информация о начальном состоянии автомата. Отсутствие скобок не мешает прочтению.
§ 5. Задание автоматов
Для задания автомата необходимо конкретизировать объекты, его определяющие.
Задание входного и выходного алфавитов, а также множества состояний автомата
происходит без особых трудностей. Основная нарузка приходится на задание функций
переходов и выходов. Их задание происходит тремя способами: 1) таблично, 2) с по-
мощью формул, 3) с помощью В-схем. Возможно также задание с помощью графов,
но мы этим способом пользоваться не будем, т.к. этот способ поглощается В-схемами.
33
§ 6. Табличное задание автоматов
Из перечисленных способов задания автоматов важнейшим является табличный спо-
соб. Всё начинается с таблиц. Таблицы позволяют чётко и недвусмысленно оформить
числовые соответствия. Начнём с таблиц, задающих функции переходов и функции выхо-
дов автоматов.
Функция переходов </' = Qqx осуществляет отображение
(2.6)
множества Q х во множество Q.
Здесь под отображением понимается соответствие между множествами. Одно и то же
отображение может быть реализовано большим количеством функций. Например, если
множество А = {х| - <х < + °°}, а множество В = {у|0 <у < + °о}, то отображение А —> В
может быть реализовано функциями у = .г2, у - х4, у = х~р, (р = 1, 2, ...). Функция - это ин-
струмент для реализации отображения. Функция определяется как множество упорядо-
ченных пар вида где ае. D, D - область определения функции, ftp) е Е, Е -
область значений функции, f — правило, пользуясь которым, по элементу а находится
элемент Ь. Поскольку функция есть множество, то функция должна восприниматься как
цельное образование (по Кантору: множество есть многое, мыслимое как единое).
Множество g X Zj - это декартово произведение множеств Q и Zj.
Под декартовым произведением двух множеств А = {..., а, ...} и В = {..., Ь, ...} понимается
новое множество, обозначаемое через А х В и состоящее из упорядоченных пар вида
(a,Z>):
Ах В- {..., (а,Ъ),...}. (2.7)
Как видно из определения декартова произведения, элементами декартова произведения
являются упорядоченные пары (а.й), и потому в декартовом произведении порядок следо-
вания множеств А и В важен.
Приведём пример функции переходов Qqx.
Пусть входные и выходные алфавиты автомата совпадают и задаются множеством
Z«) = {0, 1, 2, 3}, а множество состояний содержит три элемента. Тогда возможная функ-
ция переходов может быть задана, например, следующей таблицей.
Таблица 2.1
Левый столбец под буквой х состоит из букв (цифр) входного алфавита, строка справа
от буквы q содержит состояния автомата. На пересечении строки, отмеченной буквой
х, и столбца, отмеченного буквой q. находится состояние q', в которое автомат пере-
ходит из состояния q под действием входного сигнала х. Например, из состояния q = 1
под действием входного сигнала х = 2 автомат переходит в состояние q' = 0.
В формульной записи: 012 = 0. Аналогично истолковываются остальные клетки таб-
лицы. Естественно, возможны другие варианты заполнения таблицы. Количество всех
возможных вариантов заполнения таблицы 2.1 для функции переходов равно
З12 = 531 331.
34
Приведём пример функции выходов <sq, х.
Возможная функция выходов может бвпв задана, например, следующей таблицей.
Таблица 2.2
Функция <зд с
х\ 0 1 2
0 3 2 2
1 2 1 0
2 0 3 3
3 1 3 0
На пересечении строки, отмеченной буквой х, и столбца, отмеченного буквой q. находит-
ся выходной сигнал у (цифра выходного алфавита), который автомат вырабатывает из
состояния q под действием входного сигнала х. Например, из состояния q ~ I под дейст-
вием входного сигнала х = 2 автомат вырабатывает выходной сигнал у - 3. В формульной
записи: al2 = 3. Аналогично истолковываются остальные клетки таблицы 2.2. Естествен-
но, возможны другие варианты заполнения таблицы. Количество всех возможных вариан-
тов заполнения таблицы 2.2 для функции выходов равно 412 = 16 777 216.
Общее количество автоматов с гремя состояниями в этом алфавите равно произведе-
нию чисел З12 412 — 1212 — 8 916 100448 256.
Используются также сводные таблицы переходов-выходов автоматов. Далее пока-
зана такая таблица. Устройство её аналогично устройству этих таблиц и разъяснено
далее.
Таблица 2.3
Переходы-выходы
х\ 0 1 2
0 2,3 0,2 1.2
1 2,2 1,1 0,0
2 0.0 0,3 1,3
3 1,1 1,3 0,0
На пересечении строки, отмеченной цифрой 2, и столбца, отмеченного символом 1, стоит
состояние 0, в которое переходит автомат, и выходной сигнал 3, вырабатываемый автома-
том на выходе. На первом месте всегда стоит состояние, на втором, после запятой, - вы-
ходной сигнал.
§ 7. Описание функционирования автоматов
Следить за функционированием автомата удобно с помощью так называемой развёрт-
ки во времени работы автомата. Будем использовать более короткий термин развёртка.
Развёртка даёт возможность потактово следить за работой автомата. Для пояснения рас-
смотрим пример вычислительной работы автомата.
Пример 1. Пусть на вход автомата, заданного таблицей 2.3, подано число х = 332012 .
Пусть автомат поставлен в состояние q = 1 как начальное. Требуется найти его образ, т.е.
то число, которое будет получено на выходе автомата.
Изображаем развёртку.
35
3 3 2 0 1 2
I I I I I
1«— 1<— 0<— 1«— 2<— 0<— 1
3 1 3 2 2 3
Читаем: при t-0 автомат находится в начальном состоянии q = 1, и на вход его поступает
сигнал х = 2. По правилу, определяемому таблицей 2.3 переходов-выходов, автомат пере-
ходит в новое состояние q = 0 и вырабатывает выходной сигнал у = 3.
Это отражено фигурой
_______________________________________0 t
2 х
I
0 ч— 1 <7
1
з у
Аналогично при t = 1 автомат находится в состоянии q = 0, и на вход его пост упает сигнал
х = 1. По правилу, определяемому таблицей переходов-выходов, автомат переходит в
новое состояние q — 2 и вырабатывает выходной сигнал у — 2 и т.д.
Как видно, пользоваться развёрткой легко и удобно.
Обозначив буквой Л автомат, заданный таблицей 2.3, пишем результат его работы:
Л332012|1 =313 223
и читаем: если автомат Л, заданный таблицей 2.3 переходов-выходов, поставлен в началь-
ное состояние q = 1 и на вход его подано число х = 332 012 , то на выходе получается
число у =313223.
§ 8. В-схемы устройств
Возможны два варианта передачи информационных сигналов по линиям. Первый ва-
риант допускает передачу по одной линии различных информационных сигналов. Схемы,
в которых используется этот принцип, будем называть A-схемами. Во втором варианте по
каждой линии возможна передача только одного информационного сигнала. Таким обра-
зом, во втором варианте между линией и информационным сигналом имеется взаимно
однозначное соответствие. Вследствие этого если мы знаем, что некоторая линия пред-
назначена для передачи сигнала «W» и если она оказалась возбуждённой, то мы знаем,
что через эту линию в систему был подан информационный сигнал «W». Поскольку ли-
ния занимает какое-то положение в пространстве, то мы можем сказать, что вс втором
варианте пространство принимает участие в кодировании сигналов. Это немаловажный
момент, т.к. 1) системы, функционирующие по принципу второго варианта, естественным
образом приспособлены к ведению параллельных вычислений: различные сигналы можно
подавать одновременно по разным передающим линиям. Кроме того, как выясняется, в
системах, функционирующих с использованием второго варианта передачи сигнала,
2) нет принципиальных ограничений на используемую систему счисления, в которой
проводится вычисление. Любая система счисления в пределах возможностей современной
технологии может быть использована для вычислений.
Схемы, в которых используется второй вариант передачи сигнала, будем называть
В-схемами.
36
Приведём В-схему автомата, заданного таблицей 2.3.
На схеме буквой х отмечена группа линий входа автомата:
линия-0, линия-1, линия-2, линия-3. Каждая линия предназначена для передачи только
своего сигнала. Так, для того чтобы подать на вход автомата сигнал х - 1, надо возбудить
линию-1, и, наоборот, если возбуждена линия-1 то это означает, что на вход автомата
поступил сигнал х = 1. Буквой q обозначена группа линий для передачи управляющих
сигалов. Так называются сигналы, с помощью которых в работу включается то или иное
состояние. Блок состояний расположен под буквой Q, причём каждое состояние пред-
ставлено прямоугольником.
Рис. 2 1 В-схема автомата
Состояний три, и, соответственно, линий, управляющих состоянииями, тоже три: ли-
ния <7 = 0, линия д=1, линия q = 2. При возбуждении, например, управляющей ли-
нии q = 2 в работу включается состояние q = 2, которое представляет собой набор из че-
тырёх схем совпадений, изображаемых символом &. Каждая схема совпадений имеет две
входных линии и две выходных линии. Сигналы на выходных линиях появляются тогда и
только тогда, когда предварительно одновременно появились входные сигналы на двух
входных линиях. Сходство с законом функционирования логического элемента & оче-
видно, что и послужило основанием для введения обозначения для схемы совпадений,
которую в дальнейшем для краткости также будем называть «элементом &». Элементы &
пропускают сигналы только в одном направлении, от входа к выходу, что отмечено
стрелками в поле элементов &. Внутри поля прямоугольника, охватывающего область,
занимаемую состоянием, изображены соединения элементов & с входными и выходными
линиями. Соединения с входными линиями одинаковы для всех состояний, и они изобра-
37
жены ниже элементов &. Различия в соединениях изображены над элементами & и они
отражают содержимое таблицы 2.3. Так, если q = 2, то при входном сигале х = 2 автомат
переходит в состояние q = 1 (второй слева элемент & своей левой выходной линией со-
единяется с линией q' = 1) и вырабатывает выходной сигналу = 3 (второй слева элемент &
своей правой выходной линией соединяется с выходной линией-3). Аналогично обстоит
дело со всеми другими состояниями.
Для удобства будем обозначать элемент & из состояния q, соединённый с входной
линией-х, символом & qjc, например, элемент & 2,1, тот самый элемент, соединения ко-
торого приведены выше. Это удобно при разборе работы В-схемы с помощью развёртки,
аналогичной развёртке для автомата (см. далее).
При сравнении с предыдущей развёрткой видно, что добавляется лишь информация о
переходах по элементам &.
Пример. Пусть на вход В-схемы подаётся число х = 32012 .
Процесс вычисления осуществляемый вычислительным устройством, построенным на
базе В-схемы. при взгляде извне воспринимается как направленное движение потока ин-
формации. Поэтому можно сказать, что вычисление - это управление потоком информа-
ции. Управление потоком информации в устройстве зафиксировано раз и навсегда по-
средством таблицы типа таблицы 2.3, представляющей собою фиксированную программу
управления информационным потоком и реализуемую посредством связей выходных
линий элементов & с линиями выходов устройства. Посредством связей, определяемых
таблицей 2.3, программа управления «зашита» в устройство. Её не нужно составлять из-
вне. Для проведения вычисления, реализуемого устройством, достаточно к нему обра-
титься, и вычисление будет проведено аппаратно, причём аппаратное вычисление будет
проведено почти всегда быстрее, чем программное. Это объясняется тем, что программ-
ное вычисление использует другие вычислительные устройства.
Характеризуя В-схему, можно прийти к некоторым выводам:
1. Сигналу, поступившему на вход, прежде чем достигнуть выхода, нужно преодолеть
барьер в виде только одного элемента &. Такие В-схемы называются однобарьерными.
2. Однобарьерность характеризует быстродействие В-схемы. Менее одного барьера в
В-схемах быть не может. Поэтому приведённую В-схему можно охарактеризовать как
схему с максимальным быстродействием.
3. Элементная база, используемая для построения В-схемы, максимально однородна и
состоит из одного элемента &.
4. Длительность такта Г, т.е. промежутка времени, по прошествии которого на вход
поступает следующий сигнал, равна задержке в элементе &, т.е. Т = т&. Её мы прини-
маем за единицу измерения времени, вследствие чего Т = 1.
5. Назовём схемной надёжностью величину
где N - общее число базисных элементов в В-схеме, Nr - число элементов, срабатываю-
щих в одном такте.
38
Принципиальная
схема
устройства
Реальное
устройство
Понятно, что — < R < 1. Из последнего неравенства следует, что чем больше в схеме
элементов и чем больше их срабатывает в одном такте, тем схема менее надёжна. Если же
в каждом такте срабатывает только один элемент, то схема максимально надёжна и её
схемная надёжнось равна 1. Схемная надёжность В-схемы, приведённой на рисунке 2.1,
максимальна и равна 1, R = 1.
6. В-схема, изображённая на рисунке 2.1, является абстрактом от всех устройств, вы-
числяющих ту же функцию, что и сама В-схема. Поэтому мы её будем называть также
абстрактной схемой устройства. Абстрактная схема устройства является основой для
создания принципиальной схемы устройства, т.е. схемы, которая учитывает технологию,
в которой будет реализована абстрактная В-схема. Технология может быть самой разной:
механической, электронной, квантовой и т.д. Принципиальная схема используется при
создании реального вычислительного устройства.
Таким образом, имеет место цепочка:
Абстрактная
схема
устройства
Эксплуатационная надёжность должна учитывать не только надёжность базисных
элементов В-схемы, но и надёжность других компонентов реального вычислительного
устройства. Мы ограничиваемся оценкой только схемной надёжности, т.к. реальных уст-
ройств может быть бесконечно много, и требуется уточнение, о каком из них идёт речь.
Абстрактная же В-схема только одна, и она доступна изучению.
7. В-схема, как и всякий идеал, может быть максимально приближена в рамках выб-
ранной технологии реальными устройствами и давать приближенные оценки некоторым
параметрам реальных устройств, т.е. идеальные оценки могут быть приближениями ре-
альных оценок. Например, поскольку в каждом такте в В-схеме срабатывает только один
элемент &, то энергопоглогцение и следовательно, тепловыделение минимальны. Понят-
но, что это оценки для идеальной В-схемы, но реальные устройства и технологии для них
могут быть таковы, что параметры реальных устройств будут близки к параметрам иде-
альной В-схемы.
§ 9. Структуры Пеано
Задача, которую поставил перед собой Пеано, состояла в том, чтобы дать точное, не
допускающее никаких двусмысленностей, понятие натурального числа и на этой основе
провести построение арифметики. Он провёл соответствующее построение, которое неко-
торое время считалось адекватным понятию натурального числа. Это построение извест-
но под названием аксиоматики Пеано и состоит в следующем.
Пеано исходил из трёх примитивных понятий: «О», «последователь», «число». О — это
некий начальный элемент, с которого начинается построение понятия числа в полном
объёме; последователь - это некоторый оператор, который действует на любое число и
выдаёт в результате непосредственно следующее число (таким образом, отношение непо-
средственного следования изначально заложено в аксиоматику Пеано); число - это некий
термин с синтетическим смыслом: это и множество элементов, удовлетворяющих тем
аксиомам, которые будут сформулированы, это и каждый отдельный представитель этого
множества.
39
Аксиомы таковы:
1. О есть число.
2. Результат действия последователя на число есть число.
3. Никакие (различные) два числа не имеют одного и того же последующего числа.
4 0 не является последующим числом ни для какого числа.
5. Если 0 обладает некоторым свойством и для каждого числа, обладающего этим свойст-
вом, справедливо также, что им обладает последующее число, то этим свойством облада-
ют все числа.
Нетрудно убедиться, что натуральные числа действительно обладают всеми этими
свойствами. Но только ли они одни? Вскоре после появления аксиом Пеано выяснилось,
что не только натуральные числа удовлетворяют аксиомам Пеано. Оказалось, что сущест-
вует бесконечно много множеств объектов, для которых справедливы аксиомы Пеано,
причём, объекты могут быть самой разной природы, не обязательно числовой в общепри-
нятом смысле [7, 8]. Как только это выяснилось, сразу стало ясно, что понятие натураль-
ного числа снова затерялось среди множества других понятий, для которых справедливы
аксиомы Пеано. Два из трёх его примитивных элементов, а именно «О» и «последова-
тель», первичны, а общее понятие числа вторично и появляется после срабатывания пяти
аксиом. Можно изобразить следующую схему порождения понятия (натурального) числа:
Рис. 2.2. Схема порождения понятия числа по Пеано
Из рисунка видно, что прямоугольник «Аксиомы Пеано» выступает в роли своеобраз-
ного оператора, на вход которого поступает некоторая информация, имеющая два назва-
ния: «Число 0» и «Последователь». В результате переработки этой информации операто-
ром «Аксиомы Пеано» получается общее понятие числа. Так оно и есть на самом деле.
Пеано подразумевал под «О» и «последователем» вполне определённые объекты, а
именно, под «О» понималось хорошо знакомое нам число 0, а под «последователем» по-
нимался переход от натурального числа к непосредственно следующему за ним числу в
ряду натуральных чисел.
Однако, как сказано ранее, выяснилось, что начальные объекты «О» и «последователь»
могут быть по-разному интерпретированы и в зависимости от интерпретации этих на-
чальных понятий получаются различные варианты понятия «числа», причём числами
оказываются объекты весьма далёкие от привычного нам понятия натурального числа.
Множества «чисел», получающихся в результате применения схемы Пеано, будем
называть структурами Пеано.
Одной из таких структур является хорошо известное нам множество натуральных
чисел.
Пример. Любая последовательность вида х^, Х], х2, ..., х„, ..., в которой каждое после-
дующее число получается по закону хп+1=Л(х„), где А - оператор порождения последую-
щего числа - «последователь», обладающая тем свойством, что все члены её различны,
удовлетворяет аксиомам Пеано. Такая последовательность называется прогрессией [1].
Примеры прогрессий:
1) 0,1,2,3,... (т.е. натуральный ряд чисел; «последователь» = S, где S-автомат сдвига);
2) 5, 7, 9, 11,... (арифметическая прогрессия; «последователь»= 52, где S2 - автомат сдви-
га на 2 единицы);
40
3) 2-,|,|,|,... (здесь «О» = Yi, «последователь» = 1/Sn);
4) 3. 3-5, 3 5 , 3 53, 3 $ , 3-55,... (геометрическая прогрессия; «О» —3, «Последователь» =
= 5-х„) и т.д.
Каждая прогрессия удовлетворяет всем пяти аксиомам Пеано, и потому члены про-
грессии являются реализациями того, что в схеме Пеано называется «числом». Каждая из
прогрессий является конкретной структурой Пеано.
Таким образом, в схеме Пеано входные параметры «О» и «последователь» могут из-
меняться, играть роль своего рода переменных. Каждому «значению» этих переменных
соответствует, как следствие, своё понятие «числа». Переменные «О» и «последователь»
никак не зависят от пяти аксиом Пеано. В связи с этим появляется абстрактное понятие
«числа Пеано» как некоего мыслительного объекта, удовлетворяющего всем пяти ак-
сиомам Пеано, но не зависящего от конкретной реализации входных для схемы Пеано
понятий «О» и «последователя». Следовательно, число Пеано - это абстракт от всех
конкретных реализаций понятий чисел, удовлетворяющих аксиомам Пеано, абстракт от
всех структур Пеано.
Все конкретные реализации чисел Пеано эквивалентны друг другу относительно сис-
темы аксиом Пеано Каждая из этих реализаций порождает свою математику. Наша мате-
матика, которой мы повсеместно пользуемся, основана на натуральных числах, являю-
щихся одной из структур Пеано, одной из реализаций чисел Пеано. Другая математика,
основанная на другой реализации числа Пеано, имеет двойников в нашей математике.
§ 10. Формализация структур Пеано
Цель формализации состоит в том, чтобы все идеи, фигурирующие в аксиоматике Пеа-
но, изобразить символически с тем, чтобы роль каждой аксиомы была максимально
проявлена и очищена от лишнего. Этим достигается большее понимание. Первое понятие,
которое необходимо для формализации, - понятие множества.
Множество состоит из своих элементов. Каждый элемент множества является объек-
том. Понятие объекта получается у человека в результате особой мыслительной деятель-
ности, называемой объективацией. Этой деятельностью человек занимется постоянно,
ежесекундно. Он настолько натренировал себя в этом виде деятельности, что она выпол-
няется им с минимальными энергозатратами, вследствие чего он её не замечает. Это пер-
вичный вид умственной деятельности. На её основе формируются другие виды умствен-
ной деятельности. Благодаря объективации человек получает представление о чём-то как
об отдельном объекте: стул, море, облако, группа студентов. Объектами становятся не
только реальные предметы, которые можно потрогать, но и объекты мысли молекула,
душа. Одним из таких объектов является множество. Когда мы группу предметов рас-
смативаем как одно целое, мы порождаем мыслительный объект, называемый множест-
вом. Этот объект вторичен по отношению к «группе предметов», из которых он создан.
Г. Кантор, создатель теории множеств, говорил: «Множество - это многое, мыслимое как
единое». Вот это самое «мыслимое как единое» и есть процедура объективации.
Между элементом х и множеством М имеет место отношение включения, состоящее в
следующем. Если элемент х - один из тех, из которых состоит множество М, то говорят,
что «х принадлежит М» и пишут: хе М. Иначе - «х не принадлежит М» и пишут: xg М.
Как задать множество М, как дать ему описание? Это делается двумя способами:
1) перечислением, 2) указанием свойства, общего всем элементам множества.
Перечисление используется только для конечных множеств, ибо перечислить все эле-
менты бесконечного множества невозможно. Имеются не только не зависящие от нас
пространственно-временные ограничения, но и ограничения, зависящие от человека, свя-
41
занные с конечностью его памяти. (Процесс перечисления имеет смысл только в том слу-
чае, если он выполняется в интересах человека.) Возразят: но ведь мы же задаём беско-
нечное множество {3, З2, З3, З4, ... } перечислением. В действительности здесь не перечис-
ление всех элементов множества, а способ описания свойства, присущего всем элементам
множества. Здесь эксплуатируются четыре вида умственной деятельности, постоянно
тренируемые человеком: 1) объективация, 2) сравнение, 3) нахождение абстракта и
4) экстраполяция (три последних вида деятельности основаны на объективации). Объек-
тивируя, человек выделяет объекты, расположенные между запятыми. После чего сравни-
вает их друг с другом. В результате сравнения находит абстракт - то общее свойство,
которое присуще всем выписанным элементам. Благодаря экстраполяции он, используя
найденное общее свойство, получает возможность выписать любой элемент множества.
Каждый, кто использует этот способ задания множества, молчаливо подразумевает вы-
полнение всех указанных мыслительных действий. Так что этот способ задания множест-
ва следует признать как способ, в котором даётся описание свойства, общего всем эле-
ментам множества.
Повторим, перечисление бесконечных множеств невозможно не только ввиду про-
странственно-временных ограничений, но также ввиду конечности памяти.
Способность человека находить абстракт и способность к экстраполяции - это тоже
постоянно тренируемые и легко выполняемые виды умственной деятельности человека,
которые он благодаря их лёгкой осуществимости обычно не замечает. Однако задачки,
предлагаемые в детских книжках, популярных журналах, тестах IQ, основаны именно на
наличии этих способностей.
Пусть запись F(x) означает: «элемент х обладает свойством F». Тогда, согласно ска-
занному, множества могут быть заданы двояко:
М = [а,. ..., а„} - перечислением или М ~ {x|F(x)} - указанием определяющего
свойства элементов х, принадлежащих множеству. (Фигурные скобки являются символом
множества; порядок элементов в нём безраличен.) Приведённые записи читаются так.
Первая: «М есть множество, состоящее из элементов а2, ..., «„». Вторая: «М есть мно-
жество, состоящее из элементов х, обладающих свойством F».
Доказано [9], что при задании множества можно ограничиться описанием свойств его
элементов; обойтись без перечисления. Но иногда задание множества через указание
свойств его элементов может оказаться сложнее перечисления Там, где это удобно, мож-
но использовать перечисление.
Между заданием множества перечислением и заданием множества указанием свой-
ства, общего всем элементам множества, есть различие по существу:
- перечисление основано на различении элементов множества;
- задание множества свойством - на нахождении общего.
Итак, теоретически «свойству» следует отдать предпочтение, потому что указание
определяющего свойства однозначно определяет множество; но и наоборот, указание
множества означает, что мы имеем в виду определяющее свойство (абстракт). Поэтому не
только М= {х /7(х)}, но и [х е М] <-> [F(x)J, где <-> - знак эквивалентности (в квадратные
скобки мы, следуя Робинсону [10], помещаем высказывания). Так что сказать, что «эле-
мент х обладает свойством F(x)y> всё равно, что сказать, что «элемент х принадлежит
множеству М». Этим выражен принцип абстракции [7, 9].
Переходим к структуре Пеано.
Обозначим символом Р структуру Пеано, т.е. множество «чисел», появляющихся в
результате применения схемы Пеано (§ 9, рис. 2.2); символом А — последователь, А(х)—
результат действия последователя на число х; F(x) - «элемент х обладает свойством F»;
М= {x|F(x)}, МcP. Тогда аксиомы Пеано можно записать так:
42
l.Oe P.
2. Vx[ [*- e P] —> [Л(х) e P] ].
3. VxjVxjQ*! * x2] —> [ Л(.Х| ) ф Л(х2)]].
Xl,X2e/>
4. ¥х[Л(х) * 0].
xeP
5. [F(O)J&[Vx[[F(x)] —>(FU(r))]]] -> Vx[F(x)].
Поскольку, как отмечено ранее, [хе М] <-> [Ffx)], то в аксиоме 5 можно провести экви-
валентную замену:
5'. [Ое М]& I Vx[[xe М] —>|,4(х)е Л/]]] —> Vx[xe М].
Но для заключительного высказывания в 5' справедлива эквивалентность:
Vx[xе М] <-> [Р с М]. Поэтому 5' заменится на:
5". [0 е М] & [Vx[[x е М\ —> [Л(х) е Л/]]] —> [Р ш М\.
Однако, учитывая, что Me Р (см. выше), окончательно получаем:
5*. [0 е М] & [Vx[[x е М] —> |.4(л") е Л/]]] -> [М = Р]
Поэтому аксиому 5 будем иметь в виду в двух формах: 5 и 5*.
Форма 5* известна как аксиома индукции, а форма 5 - как принцип математической
индукции.
Таким образом, система аксиом Пеано предстаёт перед нами как метод последова-
тельного получения «чисел».
Прокомментируем роль каждой из аксиом в структуре Пеано.
Аксиомы 1 и 2 должны рассматриваться совместно, ибо они в совокупности дают опи-
сание процесса порождения множества «чисел». Из них следует, что множество «чисел» =
структура Пеано Р имеет вид
Р - {0, Л(0), А(А(0)), А(А(А(0))),^.}. (2.9)
Только объекты, которые встречаются в (2.9), являются «числами». Но ещё раз напомним,
это не те числа, которые Пеано имел в виду (их мы пишем без кавычек). А он имел в виду
числа, которые мы сейчас называем натуральными числами:
N- {0, 1,2,...}. (2.10)
Натуральные числа содержатся среди бесконечного множества структур Пеано (2.9),
но лишь как одна из возможных структур. Самими аксиомами натуральные числа никак
не выделяются. Требуется добавить что-то ещё, чтобы из бесконечного множества струк-
тур Р выделить множество натуральных чисел. Или найти какое-то иное происхождение
натуральных чисел, по отношению к которому система аксиом 1-5 будет играть роль
сопутствующего фактора.
Пеано хотел, чтобы каждое вновь порождённое «число» было отличным от всех ра-
нее порождённых. Это обеспечивает неограниченность процесса порождения «чисел»,
бесконечность множества Р. Для удобства обозначим «числа» в (2.9) более простыми
символами:
{0, О], а2, ... , а„, a„+i, ...}. (2.11)
Бесконечности структуры Пеано не будет, если последующее «число» а„ 1 будет или рав-
но 0 или одному из предыдущих «чисел» а\, а2, а„ В первом случае структура (2.11)
примет вид
{0, а}, а2, ... , а„, 0, а}, а2, ... , а„, 0, а}, а2, ... , а„, 0,... } (2.12)
и будет содержать лишь конечное число различных «чисел». Во втором случае, т.е. в слу-
чае, когда а„+1 = ak, (k= 1, 2,..., п), структура (2.11) примет вид
{0, аьа2, ... ,ak.x,ak,aM, ... , а„, ак, oi+i, ,а„,ак....} (2.13)
43
и будет также содержать лишь конечное число различных «чисел». Во втором случае два
разных «числа» имеют одно и то же последующее число: /Кщ. J = а* и А(а„) = a„+j = а*.
Первый случай, приводящий к (2.12), запрещён аксиомой 4; второй случай, приводя-
щий к (2.13), запрещён аксиомой 3. Именно в этих запретах состоит роль аксиом 3 и 4.
Роль аксиом 3 и 4 разобрана. Они нужны для того, чтобы обеспечить бесконечность про-
цесса порождения «чисел». Пятая аксиома, особенно в форме 5*, утверждает, что резуль-
татом такой процедуры порождения «чисел» может быть только множество Р и ничто
другое.
§11. Структуры Пеано и понятие числа
Итак, формализация аксиом проведена. Формализация 1-5 содержит в себе логические
символы и три содержательных символа: О, А, Р , смысл которых обсуждался ранее. Ка-
ким бы ни был выбор начального элемента 0 и выбор оператора А, процесс бесконечного
порождения «чисел» пойдёт, если не будут нарушены аксиомы 3 и 4. «Числа» будут по-
рождаться последовательно в пространстве и во времени, образуя упорядоченную струк-
туру. Каким будет последующее число, можно узнать только на основе знания предыду-
щего числа и свойств оператора-последователя А. Невозможно взять «с неба» объект и
сразу сказать, «число» это или не «число». Чтобы это выяснить, нужно включить процесс
порождения чисел и на каждом шаге сравнивать выбранный объект с порождённым чис-
лом. Если совпадение произойдёт, выбранный объект есть «число», если не произойдёт,
переходим в фазу ожидания и продолжаем процесс порождения чисел. Сколько продлит-
ся фаза ожидания неизвестно. Но, несмотря на отрицательный ответ на каждом конкрет-
ном шаге, мы не можем утверждать, что выбранный объект не «число». Надежда всё рав-
но остаётся. И если выбранный объект не является «числом», мы об этом никогда не
узнаем: мы, в надежде узнать, процесс порождения «чисел» и пошагового сравнения бу-
дем гнать до бесконечности. Но так и не узнаем.
Что же, проблема узнавания принадлежности объекта множеству «чисел» за конечное
число шагов не разрешима? Да, не разрешима.
Зададим принципиальный вопрос: почему же аксиоматика Пеано не определяет одно-
значно хорошо знакомое нам, привычное понятие натурального числа? Ответ мы полу-
чим, если обратим внимание на употреблённое слово «понятие». Где в аксиоматике со-
держится понятие? Аксиоматика содержит логические символы. Но это не те объекты,
которые нас интересуют. К «числам» они прямого отношения не имеют. Логические сим-
волы — это «универсальная обслуга». Помимо логических символов в аксиоматике име-
ются символы, относящиеся к содержанию изучаемого предмета, - содержательные сим-
волы. Ими являются символы 0 и Л. Они определяют в итоге суть понятия «числа» в той
или иной реализации системы аксиом Пеано. С каким же из этих символов может быть
связано «понятие»? Может ли оно быть связано с 0? Может ли 0 быть понятием? Может.
Но тогда, чтобы получающаяся в итоге структура Р была понятием натурального числа,
оператор А должен быть понятийным оператором, он должен перерабатывать понятия в
понятия, из понятий порождать понятия, чтобы каждое вновь порождённое число было
также понятием Ведь каждое натуральное число является понятием. Но единственным
известным таким оператором является мозг человека. Все остальные операторы являют-
ся операторами по переработке символов, символьными операторами, т.е. вычислите-
лями. Итак, чтобы получить известное понятие натурального числа, исходное понятие О
должно проходить через сознание человека, а оператор-последователь должен находиться
в голове человека, т.е. понятие натурального числа может быть получено в результате
мыслительной деятельности человека. Формально-логически, на одном только символь-
44
ном уровне, понятие натурального числа не получить. Понятие числа можно получить в
результате мыслительно-вербально-символической деятельности человека. Большинство
мыслительных объектов человека получают свою окончательную объективизацию после
получения имени и обозначения. Но имя и обозначение являются вторичными объектами
по отношению к идее. Имя и обозначение сами по себе идеями не являются. Однако они
могут возбудить идею. Но где? Только в голове человека, где эта идея содержится, кото-
рый знает, какие имя и знак связаны с этой идеей. Многие, например, не понимают еги-
петские письмена именно потому, что не знают, какие идеи связаны со знаками. Итак,
система Пеано только тогда будет порождать хорошо знакомое нам понятие натурального
числа, когда с содержательными знаками этой системы будут связаны вполне определён-
ные идеи и понятая, а оператор-последователь будет мыслительным действием, выпол-
няемым в голове человека.
Иначе системы Пеано сами по себе не способны породить понятие натурального
числа.
§ 12. Идея количества и понятие числа
Обратимся к основному объекту, определить который желал Пеано. Этим объектом
является понятие натурального числа. Что является главной особенностью числа? Для
чего нужны числа? Числа нужны для того, чтобы считать, т.е. чтобы с помощью чисел
выражать количественную характеристику какого-то объекта. Мы говорим: «В группе
19 студентов». Тем самым мы даём количественную характеристику группы. И никто не
затрудняется понять, что это такое. Всем всё понятно. Почему? Потому что идея количе-
ства глубоко сидит в каждом человеке, понятна каждому из нас. По этому поводу можно
спросить, как это так получилось, что идея количества оказалась нам понятной. И дать
какой-нибудь ответ, более или менее соответствующий действительности. Но этим иссле-
дованием мы заниматься не будем. Можно вначале только отметить, что идея количества
возникает тогда, когда мы сравниваем объекты друг с другом и результат сравнения вы-
ражаем словами «больше», «меньше». Скажем, сравнивая две группы, мы говорим, что в
этой группе меньше студентов. Несомненно, этот результат отражает количественное
соотношение между группами. Но ещё точнее идея количества проявляется при ответе на
вопрос: сколько? В этом случае идея количества выражается числом, например: 19 сту-
дентов.
Итак, не объясняя того, что такое идея количества, скажем только, что идея количе-
ства связана со словами типа «сколько», «больше», «меньше». Вместе с тем идея количе-
ства легко узнаваема каждым из нас. Таким образом, идея количества выступает для нас
как основное, первичное понятие, за «спину» которого мы заглядывать не будем. Мы
постулируем существование идеи количества и её общепонятность. Понятно, что идея
количества (как и всё остальное идейное, мыслительное содержание головы человека)
сформировалась как мыслительный «слепок» деятельности человека. Можно сказать, что
идея количества - это абстракт, появляющийся в мозгу человека в результате рассмотре-
ния многочисленных примеров, в которых речь идёт о количестве, и в связи с этим кон-
статировать факт: человек способен вырабатывать идею количества К этому утвержде-
нию мы также будем относиться как к постулату.
При взгляде на множества, содержащие небольшое количество элементов, идея коли-
чества вырабатывается легко, мгновенно и точно, при этом идея количества может быть
выражена натуральным числом. Если же множество содержит много элементов, то идея
количества, конечно, возникает, но мгновенно быть выражена числом не может. Тем не
менее мысль о том, что число, точно выражающее количество элементов множества, мо-
45
жет быть указано, в нас уверенно присутствует, и мы знаем процесс, который необходимо
осуществить, чтобы это число получить. Именно по той причине, что при взгляде на
множества с большим количеством элементов мы не в состоянии мгновенно определить
точное количество элементов во множестве, необходим процесс, сводящий задачу нахож-
дения точного количества элементов к элементарным процедурам.
Констатируем: главная идея, которая связана с понятием натурального числа, - это
идея количества.
В связи с этим отметим, что в аксиоматике Пеано идея количества полностью от-
сутствует. Вместе с тем очевидно, что в аксиоматике Пеано явно присутствует другая
идея - идея порядка. Поскольку из аксиоматики Пеано понятие натурального числа с его
атрибутом - идеей количества - не получается, то можно сделать простой вывод, что из
идеи порядка идею количества получить невозможно. А наоборот - возможно. При этом
идея количества порождает понятие натурального числа, а идея порядка в процессе такого
порождения является сопутствующим фактором. Таким образом, забегая немного вперёд,
можно утверждать, что при порождении понятия натурального числа главная роль при-
надлежит идее количества, а идея порядка лишь сопутствует ей. Зато при выходе за пре-
делы множества натуральных чисел идея количества перестаёт играть существенную
роль, а идея порядка, наоборот, начинает играть ведущую роль. Затем и она перестаёт
играть какую-либо роль, и определяющими становятся другие идеи, связанные с опера-
циями, выполняемыми над числами.
Дадим теперь определение натурального числа, опираясь на способность человека
вырабатывать идею количества. Как сказано, эту способность мы постулируем и в ка-
кие-либо подробности, связанные с приобретением её человеком, не вникаем.
Определение натурального числа даётся пошагово. Пошаговость соответствует сути
природы и природе человека как продукта природы. Пошаговость детализирует причин-
но-следственную связь, а причинно-следственная связь - основа любого движения
Начальный шаг.
Представим себе пустое множество. Та количественная идея, которая возникает в моз-
гу человека при обозревании пустого множества, называется числом «ноль» и обознача-
ется символом 0. Таким образом, в нашем мыслительно-вербально-знаковом пространстве
появилась тройка (идея, имя, знак):
имя: «ноль»
идея f
знак: 0
Количественная идея возникает в мозгу людей совершенно однозначно, так что все нор-
мальные люди число 0 понимают одинаково. Символ же 0 - это знаковый абстракт, до-
пускающий сколь угодно много конкретных реализаций. Но различных идейных толкова-
ний знак 0 не допускает: идея, с ним связанная, всегда одна и та же - это одна-
единственная количественная идея: идея нуля. Слово «ноль» соответсвует количествен-
ной идее, его породившей, и также не допускает различных идейных толкований. Идея,
обозначенная словом «ноль», одна на всех людей.
Первое число у нас появилось, причём вначале как идея, а потом мы снабдили эту
идею вербальной (имя) и знаковой (0) характеристиками. Необходимость в вербальной и
знаковой характеристиках носит общественый характер. Кроме того, этим выражена ма-
териальная объективагтя понятия. Мы можем имя «ноль» и символ 0 предъявлять дру-
гим людям как материальных представителей идеи «ноль». Мыслительная объективация
идеи нуля в имени «ноль» и знаке 0 не нуждается. Идея нуля, будучи мыслительным объ-
ектом, рождается первой и без каких-либо имён и знаков. Человек как индивидуум может
46
мыслить без слов и знаков, но человек как общественное существо нуждается в словах и
знаках. Однако, хотя человек как индивидуум в процессе мышления может обходиться
без слов и знаков, нужно отмстить, что процесс мышления многократно усиливается,
посредством употребления слов и знаков. Итак, число ноль существует у нас в трёх ипо-
стасях: как идейный объект, как знаковый объект, как вербальный объект.
Следующий шаг. Помещаем во множество, ранее бывшее пустым, вновь порождённый
объект 0. Та количественная идея, которая возникает в мозгу человека при обозревании
множества с элементом 0, называется числом «один» и обозначается символом 1.
Следующий шаг. Помещаем во множество с 0 вновь порождённый объект 1. Та коли-
чественная идея, которая возникает в мозгу человека при обозревании множества с эле-
ментами 0 и 1, называется числом «два» и обозначается символом 2.
Следующий шаг. Помещаем во множество с 0 и 1 вновь порождённый объект 2. Та ко-
личественная идея, которая возникает в мозгу человека при обозревании множества с
элементами 0, 1 и 2, называется числом «три» и обозначается символом 3.
И так далее.
Мы видим, что процесс порождения чисел исправно происходит на основе постулиро-
ванной идеи количества. Количественные идеи, возникающие на каждом шаге, все отлич-
ны друг от друга, как и однозначно связанные с ними числа и их вербально-знаковая ат-
рибутика. Однако отличие вербально-знаковой характеристики одного числа от другого
для всех их значений лишь предполагается. Уверенность в этом приобретена нами на
основе начальных результатов в процессе порождения чисел и на основе нашей способно-
сти к экстраполяции. Тем не менее вполне может случиться так, что реально этого отли-
чия мы добиться не сможем. Препятствием здесь может служить конечность памяти че-
ловека, неспособность изобретать для чисел бесконечно много разных имён и знаков. Как
добиться отличия на практике - особая задача. Её решение приведено далее.
Будем использовать следующие обозначения:
N — множество натуральных чисел, получаемых описанным выше процессом; нату-
ральное число является понятийным объектом (каждое натуральное число - это количест-
венная идея); понятийным объектом является также и всё множество N;
0, 1, ... - конкретные, известные элементы множества N с точным истолкованием свя-
занной с ними количественной идеи; символом { } обозначаем множество, не содержащее
в себе никаких элементов (пустое множество);
т, п,... - символы элементов множества N без указания того, какие именно конкретные
элементы имеются в виду (эти символы называются переменными и выступают по отно-
шению к конкретным элементам множества У в роли метасимволов, внешних символов);
обозначение Л{0,1,. ,,п} будем читать так: «количественная идея, возникающая при
обозревании множества {0,1,...,«}». Таким образом, буквой А обозначен понятийный
оператор, соответствующий помещенной в кавычки фразе; результатом действия поня-
тийного оператора является новый понятийный объект - новая количественная идея;
этот понятийный оператор может находиться только в мыслительном аппарате мысля-
щего существа.
Тогда описанная выше процедура получения понятия натурального числа будет оформле-
на в системе знаков следующим образом.
Шаг б
об
А{ } = 0е N.
Комментарий. Объект 0, появившийся справа, является понятийным объектом. Он не-
сёт в себе количественную идею, понятие числа «ноль». При этом идея нуля единственна,
ни с какой другой идеей её спутать невозможно.
Объект 0 есть первое появившееся натуральное число.
47
Шаг 1.
об
Л{0} = 1е N.
Комментарий. Объект 1, появившийся справа, отличен от 0. Это следует из его про-
исхождения. Он отражает количественную идею, когда во множестве {0} есть объект, в то
время как 0 отражает количественную идею, когда во множестве { } нет объектов. Ясно,
что эти две количественные идеи различны, и потому объект 1 отличен от объекта 0.
Можно написать: 1^0.
Шаг 2.
ой
Л{0,1} = 2<= N.
Комментарий. Объект 2, появившийся справа, отличен и от 0, и от 1. Это следует из
его происхождения. Можно написать: 2 1, 2 * 0.
И так далее.
Шаг п'.
об
А{0, 1, ...,«} = п'е N.
Комментарий. Здесь символом н обозначена количественная идея (число), возникаю-
щая при обозревании множества {0, 1, ..., п}. Конкретное её (его) обозначение зависит от
той или иной системы обозначений для чисел, которая используется.
Объект п', появившийся справа, отличен и от 0, и от 1,..., и от п. Это следует из его проис-
хождения. Для получения этого следствия проводится рассуждение аналогичное тому, что
проведено на шаге 1. Можно написать: п' Ф п,... п ^2, п' Ф 1, п Ф 0.
Таким образом, при понятийной трактовке процесса порождения натуральных чисел
отличие каждого последующего числа от ранее порождённых доказывается, и потому нет
необходимости в аксиоме Пеано 3. Поскольку для любого вновь порождённого натураль-
ного числа справедливо утверждение, что я У 0, то А {0. 1, Ф 0, и тем самым справед-
лива аксиома Пеано 4, т.е. и она также доказывается. Натуральные числа «автоматиче-
ски» получаются отличными друг от друга, процесс их порождения бесконечен и потому
натуральных чисел бесконечно много. Мысль, заложенная в аксиомах Пеано 3 и 4. при
понятийной трактовке процесса порождения натуральных чисел, реализуется «автомати-
чески», и потому в них нет необходимости. Тем не менее они являются атрибутом нату-
ральных чисел и могут использоваться как элементы в рассуждениях.
Просматривая выписанные шаги, мы видим их зависимость от используемых обозна-
чений: 0, 1, .. . Однако по сути такой зависимости быть не должно или она должна быть
сведена к минимуму. Действительно, в тройке (идея, имя, знак) существенной является
только идея, а имя и знак являются вторичными признаками, «величинами переменны-
ми», их можно брать по-разному. Мы вводили общепринятые знаки для чисел с тем, что-
бы прояснить главную идею порождения чисел, состоящую в том, что
1) из уже порождённых чисел формируется множество;
2) это множество подвергается обозреванию мыслящим существом, способным выраба-
тывать идею количества;
3) в результате такого обозревания вырабатывается количественная идея;
4) выработанная количественная идея является, по определению, натуральным числом.
Использованных знаков было немного: 0, 1,2; мы проделали немного шагов и сочли
их количество достаточным для того, чтобы идея порождения чисел была понята. Но
вдруг кто-то бы сказал, что этих шагов недостаточно. Тогда мы добавили бы ещё не-
сколько шагов. Но нашёлся бы ещё кто-то, которому и этого недостаточно. Таким обра-
зом, есть зависимость процедуры объяснения от количества используемых обозначений.
Но эти обозначения могут быть разными: у вавилонян одни, у индусов другие... А нельзя
48
ли свести количество шагов, используемых для объяснений, к минимуму и вообще не
использовать никаких конкретных обозначений даже для первых чисел и тем самым све-
сти процедуру объяснения к минимальной зависимости от обозначений? Если начать
реализовывать эти намерения, то запишем:
Шаг О
A{]eN.
Читаем: «количественная идея, возникающая при обозревании пустого множества,
есть натуральное число».
Этот шаг констатирует существование хотя бы одного натурального числа, непустоту
множества натуральных чисел. Обойдёмся без обозначения для этого числа, ограничимся
фактом его существования, утверждаемым аксиомой, и пониманием того, что потенци-
ально обозначение для него может быть создано. Тогда следующий шаг должен исходить
из описания в общем виде множества уже построенных различных натуральных чисел,
описания наподобие следующего. Пусть {т0, т^, .... т„} - некоторое множество, состоя-
щее из уже построенных натуральных чисел, причём нижние индексы - это не числа (хотя
и похожи на них), а знаки для отличения обозначения одного числа от другого. После
чего Шаг п' может быть записан так:
Шаг п
А{то, mt, ..., т„} е N.
И прочитан: «количественная идея, возникающая при обозревании множества {т0, mt,
..., т„}, является натуральным числом». Более полно, чтобы он мог читаться независимо
от предыдущего текста, Шаг п' должен быть записан так:
Шаг п''.
V{mo, Mi, ..., w„}[[{mo. "h, с Л] —> [A{m0, mi, .... m„] e 2V]]
И прочитан: «для любого множества {т0, пц, ..., т„] справедливо, что если {т0, mt, ...,
т„} - множество (различных) натуральных чисел, то количественная идея, возникающая
при обозревании множества {то, mi, ..., т„}, является натуральным числом». Слово «раз-
личных» здесь поставлено в скобки и употреблено для напоминания о ситуации, имею-
щей место на самом деле. Действительно, сказано, что т0, mi, .... т„ - это натуральные
числа. А что такое натуральное число? Это количественная идея, а идея всегда существу-
ет в единственном экземпляре. Это имён и обозначений у идеи может быть несколько, а
идея всегда одна. Поэтому число т0 (идея) отлично от числа т (от другой идеи) и т.д.
В этих записях символы т0, т\, ...,т„ можно рассматривать как метаобозначения для
натуральных чисел, т.е. как обозначения для разговора о числах вообще, а не о конкрет-
ных числах. Если в этих шагах символика для натуральных чисел будет развиваться и
будут вместо т0, mt, ..., т„ использоваться, например, привычные обозначения типа
0,1,..., то дополнительных указаний о том, что m0.mi, .. ,т„ - различные натуральные
числа, не требуется. Используемая конкретная символика говорит сама за себя.
Приведённых двух шагов - Шаг 0 и Шаг п'' (на самом деле бесконечного числа ша-
гов, потому что Шаг п раскручивается в бесконечную последовательность шагов), дос-
таточно, чтобы построить теорию и практику натуральных чисел в обычном понимании.
Никаких неоднозначностей не появляется. Мы получаем именно те натуральные числа,
как мы их обычно понимаем. Раскручивая Шаг 0 и Шаг п" и используя обычные обозна-
чения, мы придём к шагам: Шаг 0, Шаг 1, Шаг 2, ..., Шаг п', т.е. мы придём к привычным
для нас натуральным числам с понятным количественным истолкованием каждого числа
в отдельности.
Дальше для логической завершённости построения надо сказать такую фразу: «нату-
ральные числа — это те и только те числа, которые получаются в результате выполнения
шагов Шаг 0 и Шаг п "». Никаким другим действием получить натуральное число невоз-
49
можно. И наоборот, если некий объект получается действиями, описанными в этих шагах,
то этот объект является натуральным числом.
В символах эта фраза записывается так.
[М- множество] —>
[[Л{ } е М] & [[{««. -,т„} сМ] [А{т0,..., т„} е Л<|] —> [М = 7V]]
Прочитывается: «если М некоторое множество и если оно получается тем же процес-
сом, что и множество натуральных чисел, то оно совпадает с множеством натуральных
чисел».
Другими словами, на основе шагов {Шаг 0, Шаг п "} может быть получено множество
натуральных чисел и только оно. Ничего другого получиться не может.
Высказанную фразу и её символьную запись нужно рассматривать как аксиому. Шаги
{Шаг 0 и Шаг п "} также будем рассматривать как аксиомы.
Далее приведём эти аксиомы в едином наборе. В этом наборе очевидным является
соответствие с аксиомами Пеано, кроме аксиом 3 и 4, однако используемая здесь сим-
волика не носит формального характера. Следует сделать также замечание относи-
тельно аксиомы Шаг 0. У нас она отличается от соответствующей аксиомы Пеано. В
аксиоматике Пеано просто утверждается, что элемент 0 содержится во множестве
«чисел» (0 е Л). Никакого понятийного содержания элемент 0 не несёт. Он может
быть интерпретирован бесконечным числом способов, и, таким образом, числовой
характер нуля оказывается скрытым в море различных интерпретаций. Аксиома же
об
Шага О А{] =0 е N носит понятийный характер, ибо, читая её, мы говорим: «Коли-
чественная идея, возникающая при обозревании множества { }, является натуральным
числом, называемым нулём и обозначаемым символом 0». Здесь 0 вводится как поня-
тие, как идея, которая, как и любая идея, всегда уникальна, всегда единственна. От-
сюда, как следствие, получается, что построение натуральных чисел происходит со-
вершенно однозначно и на понятийном уровне.
Натуральная система аксиом-i (HCA-I)
Аксиома О (АО).
А{] е N.
Аксиома п ' (Ап
V{m0, пц, .... m„}[[{m0, wi, -, т,,} ciV]-> [А {т0, пц, .... т„} е А7]].
Аксиома единственности (АЕ).
\\1 - множество] —>
—> [[П{ } е М\ & [[{wo, СМ\ [А{т0, е Л/]] —> [М=Л]].
Формальный характер аксиом Пеано, как уже отмечалось, к натуральным числам не
приводит. Существует бесконечное множество структур, удовлетворяющих аксиомам
Пеано [9]. Натуральные числа - это одна из них. Аксиомы же, которые здесь приведены,
имеют понятийную основу и потому приводят к построению именно натуральных чисел.
Эта система аксиом называется натуральной системой аксиом (НСА).
В аксиоме единственности множество |т0. т\, , т,} произвольно как по составу, так и
по количеству. Поэтому следовало бы навешивать квантор общности с переменной, в роли
которой должно было бы выступать это множество (как во второй аксиоме), но ввиду не-
хватки места эту запись мы не приводим. Сделанное замечание, однако, надо иметь в виду.
Последнюю аксиому мы назвали аксиомой единственности, поскольку в ней утвер-
ждается единственность множества натуральных чисел: никакое другое множество, кроме
множества N, не может быть множеством натуральных чисел.
Очевидно, что аксиома единственности соответствует аксиоме индукции Пеано.
В другой формализации мы её также будем называть аксиомой индукции.
50
В приведённой аксиоматике во множестве {т0. mt, ..., т„} могут стоять любые нату-
ральные числа, не обязательно последовательно порождённые. Всё равно в итоге будут
получены все натуральные числа. Например, можно взять {то, т\, ..., т„} = {4, 6, 25}.
Понятийный объект Л {4, 6, 25} будет равен трём: А {4, 6, 25} = 3. Точно так же, как 4 }0. 1,
2} = 3. Таким образом, описанный подход соответствует сути дела, отражает идею коли-
чества. Произвольность множества {»г(), , »гп} является основой счёта с помощью
натуральных чисел. Натуральное число и идея количества неразрывно связаны, как и
должно быть.
§ 13. Построения на основе HCA-I
Проведём построение натуральных чисел на основе HCA-I.
Применяем (АО):
об
А{ } -Ое N.
Оператор А носит понятийный характер и потому реализуется только посредством
мыслящего существа, вызывая в нём понятийные объекты. Этим он отличается от
всех известных в математике операторов, которые носят алгоритмический характер;
большинство известных математических операторов вычисляют, занимаются преобра-
зованием символьной информации. Читая написанное выше выражение, повторимся и
скажем: «Количественная идея, появляющаяся при обозревании множества { }, явля-
ется натуральным числом. Это число называется словом «ноль» и обозначается сим-
волом О». У нас появилось первое натуральное число 0. С его помощью можно обра-
зовать числовое множество {0}. Это множество не пустое, в нём есть объект. Приме-
об
няя к нему (Ап'), получаем: .1 {0} = 1с N. Это выражение может быть прочитано ана-
логично предыдущему. В результате мы констатируем появление новой количествен-
ной идеи, связанной с множеством, в котором есть объект. Эта идея есть новое нату-
ральное число «один», обозначаемое символом 1. С помощью этого числа мы выража-
ем одну и ту же количественную идею в случае, когда во множестве {т} есть какой
угодно числовой объект. Мы теперь можем говорить, что «во множестве {т} есть
один объект» и употреблять другие фразы с тем же смыслом, смело используя слово
«один». В частности, поскольку с помощью появившихся чисел можно образовать три
множества: {0},{1}, {0,1}, имеем: Л{1} = 1 Таким образом, количественная идея,
возникающая при обозревании множеств {0} и {1} одна и та же, так что Ч{0} = 1.
А {1} = 1. Обобщая и предвосхищая появление других натуральных чисел, можно на-
писать:
V»; [А{т{ = 1е А].
meW
Смысл утверждения такой: какой бы числовой объект ни ставить в фигурные скобки,
количественная идея, при этом возникающая, всегда будет одна и та же. Выписанное
утверждение является частным случаем аксиомы АнПрименяя эту аксиому к третьему
об
из выписанных множеств: А {0,1} = 2е N, мы порождаем новую количественную идею,
отличную от двух ранее полученных. Эта новая количественная идея, согласно понятий-
ной трактовке оператора А, есть новое натуральное число, которому присваивается имя
«два» и своё специальное обозначение 2. Это новое число 2 позволяет теперь говорить,
что во множестве {0,1} два объекта. После этого мы можем легко узнавать, содержится
ли во множестве два элемента или нет. При этом само узнавание совершается на основе
первично порождённой количественной идеи и не требует употребления слова «два», а
также обозначения 2. Оно совершается на основе первоначально безымянной количест-
51
венной идеи, порождённой множеством {0,1}, и лишь затем слово «два» и обозначение 2
могут быть использованы для облегчения описания ситуации. Теперь мы можем смело
говорить, что во множество {то, т{} помещено два элемента, причём, слово «два» упот-
реблено без «порочного круга». Мы можем написать ещё один частный случай аксиомы
Ап
V{m0, mi}[[{m0, mJ СУ1 [А{т0, mJ -2 е 7V]].
Из уже порождённых чисел можно образовать множества:
{},
{0},{1},{2},
{0,1},{0,2},{1,2},
{0,1,2},
и для них мы имеем:
4{}-0,
Л{0}=1, Л{1}=1, Л{2}=1,
,Т’0,1}-2. Л{0,2}=2, Л{1,2}=2.
Так исправно получаются количественные идеи, их числовая трактовка и вербально-
знаковая атрибутика. Последнее множество {0,1,2} порождает новую количественную
об
идею: А{0,1,2} = Зе У со своим именем «три» и знаком 3. В общем, для этого случая мо-
жет быть повторено многое из сказанного для предыдущего случая. В частности, аксиома
Ап ' выписывается в виде
V{т0, пц, m2}[[{wo, mb m2} £1V] —> [А{тд. пц, ль; = 3 e IV]].
Из порождённых чисел можно создать множества:
{},
{0},{1},{2},{3},
{0.1},{0,2},{0,3},{1,2},{1,3},{2,3},
{0,1,2},{0,1,3},{0,2,3},{1,2,3},
{0,1,2,3}.
И на основе аксиомы Ап', записанной в форме приведённых выше частных случаев,
написать:
Л{ }=0,
Л{0}-1, Л{1}-4, Л{2}=1, Л{3}=1;
/1'0,1 }-2. Л{0,2}=2, /1{0,3}-2, Л{1,2}=2, Л{1,3}=2, Л{2,3}=2;
Л{0,1,2}=3, Л{0.1.3}=3, Л {0,2,3}-3, Л{1,2,3}=3.
Последнее неиспользованное множество даст:
А {0,1,2,3 }=10 (в четверичной системе счисления).
И так далее.
Понятийный вариант определения натуральных чисел исправно работает и порождает
натуральные числа и ничто иное.
Отметим, что процесс познания чётко разбивается на две фазы. Первая фаза состоит в
восприятии, обозревании изучаемого объекта. Вторая фаза состоит в порождении идеи,
понятия, связанного с объектом. Соединение фазы восприятия с фазой порождения поня-
тия есть познание. По-видимому, такая структура процесса познания является одним из
вариантов общего процесса познания.
Именно это было использовано нами при порождении понятия натурального числа.
§ 14. Иная формализация натуральных аксиом
Обратим внимание на некоторые специальные множества натуральных чисел, поя-
вившиеся в предыдущих построениях, а именно на множества вида
52
{ }, {0}, {0,1}, {0,1,2}, {0,1,2,3},..., {0,1,2,3,...,л}„..
Они состоят из последовательно порождённых натуральных чисел. Такие множества бу-
дем называть правильными. В противовес им, например, множество {0,2,3} правильным
не является.
Правильные множества (кроме множества { }) полностью определяются своим по-
следним элементом. Вследствие этого, говоря о правильном множестве, можно просто
указать его последний элемент. Благодаря этому в записи вида А {0,1,2,3,...,«} вместо
описания правильного множества можно указать только элемент п: А {0,1,2,3,.,.,/г} = А(п).
Оператор А, записанный в последнем виде, будем называть последователем. Последова-
тель, будучи по сути оператором А, применённым к множеству, является понятийным
оператором. Прочтение его остаётся прежним. Запись А(п) читается: «количественная
идея, возникающая при обозревании множества {0,1,2,3,...,и}, называется натуральным
числом (в этом месте даётся имя числу) и обозначается (здесь даётся знак для обозначе-
ния числа)». Этим прочтением определяется суть последователя. Последователь порожда-
ет новое, не встречавшееся ранее натуральное число. Натуральные числа оказываются
упорядоченными самим процессом их порождения. Можно уточнить и сказать, что число
п' непосредственно следует за числом п, если А(п) = п'. Отношение непосредственного
следования будем записывать также в виде: п -< п'. Так что
0 -ч 1 ч 2 ч 3 ч ...
В терминах последователя натуральная система аксиом запишется так.
Натуральная система аксиом-П (НСА-П)
Аксиома Ах. 0.
об
А{ } = 0е N.
Аксиома Ах. п.
V/7[[n е А] -> [А(п) е А]].
Аксиома индукции (АН).
[М - множество, М с А] ->
-> Г[0е М] & Vw[[w е М] -> [А(т)е М]] -> [М = А]1
L ШЕ.М J
Множество N, появляющееся в результате применения этих аксиом, называется мно-
жеством натуральных чисел.
В отличие от аксиом Пеано, первая аксиома Ах. 0 не просто констатирует принадлеж-
ность элемента 0 множеству N, а изначально даёт понятие числа «ноль» (как количест-
венной идеи, возникающей при обозревании пустого множества) и лишь затем даёт обо-
значение нуля и формально констатирует принадлежность числа 0 множеству натураль-
ных чисел (что уже было сделано, по существу, в начальной фазе применения этой ак-
сиомы).
При сравнении с аксиомами Пеано видно, что нет аксиом 3 и 4. Эти аксиомы в системе
аксиом Пеано обеспечивают отличие каждого вновь порождённого числа от предыдущих
и, как следствие, бесконечность процесса порождения чисел, приводящего к бесконечно-
сти множества натуральных чисел. Однако в НСА в этих аксиомах нет необходимости,
т.к. из самого процесса понятийного порождения натуральных чисел автоматически сле-
дует отличие каждого последующего числа от всех ранее порождённых и бесконечность
процесса порождения. Это уже отмечалось ранее.
В итоге получается компактная система аксиом приводящая к порождению нату-
ральных чисел и только натуральных чисел. Неопределённости, присущей системе аксиом
53
Пеано, удаётся избежать, если только включить в дело понятийный аппарат, с самого
начала исключающий всё постороннее.
Там, где у истоков нет понятия, нет понятия и в последующем.
В системе аксиом НСА и отправная точка (элемент 0), и оператор А(п) (последова-
тель) носят понятийный характер, однозначно определены (ибо всякая идея по сути
своей единственна) и задают однозначный процесс порождения чисел. Вместе с тем
нельзя не отметить, что по форме система аксиом НСА-П совпадает с набором аксиом
1, 2, 5 системы аксиом Пеано (почти совпадает; есть небольшое отличие в аксиоме
Ах. 0).
Повторим, причина, по которой система аксиом НСА-П не приводит к неоднозначно-
сти порождения натуральных чисел, состоит в том, что НСА-П носит понятийный харак-
тер и с самого начала запрещает понятийный произвол как в трактовке элемента 0, так и в
трактовке оператора-последователя А(п).
В триаде «идея, имя, знак» система аксиом НСА-П работает с первой частью триа-
ды - с «идеей», а «имя» и «знак» прямого отношения к аксиомам не имеют, являясь их
внешним соспровождением. Но и они подчиняются законам, их порождающим, являю-
щимся слепком с аксиом.
Если в системе аксиом НСА-П, а также в системе аксиом Пеано, в качестве элемента
«ноль» взять встречавшийся ранее «ноль со стрелочкой» («0»= 0), а в качестве устройст-
ва, моделирующего оператор-последователь, взять автомат сдвига Sx 11 (см. § 16), то обе
системы аксиом будут удовлетворены, и потому появляющаяся система обозначений
может служить системой обозначений для натуральных чисел. Автомат сдвига не порож-
дает идеи, которыми являются натуральные числа. Но он моделирует порождение мате-
риальных объектов, сопровождающих идеи. Автомат сдвига порождает обозначения для
натуральных чисел. Поскольку в быту натуральные числа предстают перед нами в своих
обозначениях, то с некоторой натяжкой можно сказать, что автомат сдвига порождает
натуральные числа. Но, конечно, надо понимать, что натуральное число - это понятийный
объект, а обозначения для них - это привходящий, случайный элемент. И потому, в сущ-
ности, неправильно говорить, что автомат сдвига порождает натуральные числа. Он по-
рождает лишь вариант обозначений для них, причём вариант, являющийся одним из бес-
численного множества возможных вариантов обозначений. Однако существует так назы-
ваемая натуральная система обозначений для натуральных чисел, которая оказывается в
некотором смысле единственной (далее уточняется, в каком смысле) и которая реализует-
ся именно автоматом сдвига.
§ 15. Натуральная система обозначений
Насколько велик произвол в создании обозначений для чисел? Отвечая на этот вопрос,
надо учесть, что в процессе создания обозначений принимает участие человек с его ог-
раниченными возможностями. Этот учёт необходим, т.к. никто не дарит нам обозна-
чений для чисел, создаём мы их сами.
Проследим за созданием какой-либо конкретной системы обозначений.
Пусть процесс порождения чисел запущен и аксиомы Ах. 0 и Ах. п начали «работать».
Обозначим этот процесс записью: п —> А(п). Пусть:
число «ноль» обозначено символом: 0.
число «один» обозначено символом: 1,
число «два» обозначено символом: 2,
число «три» обозначено символом: 3.
54
В этом процессе на каждом шаге происходит изобретение нового символа для каждого
вновь порождённого числа. Как соотносится этот процесс с возможностями человека?
Этот процесс требует: 1) запоминания каждого изобретённого символа; 2) запоминания
количественной идеи, связанной с каждым изобретённым символом; 3) чтобы изобрете-
ние порождало новый символ, не встречавшийся на всех предыдущих шагах; для этого
нужно каждый символ, который предлагается изобретательской мыслью, сравнивать на
предмет отличия его от всех ранее порождённых символов; но чисел много, количество
их стремится к бесконечности, поэтому процесс сравнения становится невообразимо
большим. Всё сказанное требует 1) бесконечной памяти, 2) сколь угодно большой скоро-
сти передачи сигналов (это необходимо, чтобы осуществить процедуру сравнения друг с
другом сколь угодно большого количества объектов за конечное время). Эти требования
не соответствуют ни возможностям человека (у него конечная память), ни возможностям
природы (в природе, насколько известно, скорость передачи сигналов ограничена). По-
этому процесс изобретения обозначении для каждого натурального числа должен быть
по необходимости прерван на некотором шаге. Мы можем изобрести лишь конечное
число различных знаков для нескольких первых натуральных чисел. Для остальных чисел
процесс индивидуального изобретательства знаков должен быть прерван. На каком шаге
будет прерван процесс изобретательства знаков, принципиального значения не имеет.
На этом этапе мы зафиксируем следующие два момента:
1. Процесс изобретательства обозначений и запоминания их должен быть останов-
лен после проведения нескольких начальных шагов, причём количество начальных шагов
принципиального значения не имеет. (Не имеет по той причине, что мы констатируем
конечность памяти, но не её объём. Здесь имеет место произвол в количестве первых
изобретённых знаков.)
2. Знаки для первых чисел могут изобретаться произвольно. (Произвол в начертании
знаков.)
Итак, на начальном этале процесса изобретательства обозначений для чисел возмо-
жен произвол в количестве первых изобретённых знаков и в их начертании. Мы остано-
вимся на приведённом выше шаге: самое большое число, для которого мы изобрели ин-
дивидуальный знак, - это число три.
Далее нужно решить проблему обозначений всех чисел, порождаемых вслед за числом
три. Изобретательство знаков, проводимое на начальном этапе, в общем-то простой по
замыслу и, если наблюдать со стороны, тривиальный по видимости процесс: придумывай
и запоминай. Но если на придумывание, возможно, нет принципиальных ограничений, то
на запоминание ограничения есть. Ограниченность памяти является тем препятствием,
которое стоит на пути присвоения числам представляющих их знаков. Раз так, то вывод
простой: нужно учесть ограниченность участия памяти в дальнейшем процессе присвое-
ния числам знаков. Ограниченность участия памяти имеет место как на начальной фазе
процесса присвоения знаков числам, так и в дальнейшем. На начальном этапе изобрета-
тельство и запоминание необходимы. На последующем этапе процесса порождения обо-
значений для чисел память понадобится, по необходимости, в ограниченном объёме и не
в таком, как раньше, «тривиальном» виде. Если раньше требовалась «тривиальная» па-
мять (т.е. появился знак - запоминай), то на новой фазе придумывания обозначений запо-
минанию должно подвергаться что-то иное: с одной стороны, что-то компактное, обяза-
тельно конечное, а с другой стороны, эквивалентное в некотором смысле бесконечности,
заменяющее бесконечность. Такое возможно, и оно соответствует мета системному пере-
ходу [11]. Нам известны случаи, когда бесконечные структуры оказывались эквивалент-
ными конечным структурам более высокого уровня. Процесс порождения обозначений
должен быть передан чему-то, напоминающему механизм. Этот конечный механизм дол-
жен быть изобретён в результате мыслительной деятельности. Таким образом, окажется,
55
что работа мысли заменит бесконечную память. Отсюда можно перейти к идее: мысль
нам дана, чтобы возместить отсутствие бесконечной памяти. Мы мыслим, в частно-
сти, потому, что не обладаем бесконечной памятью.
Процесс создания обозначений должен быть алгоритмизован.
После этих замечаний вернёмся к уже созданным обозначениям для чисел: 0, 1,2, 3.
Согласно процедуре и —ь А(п), в мыслительном аппарате рождается новая количественная
идея (число) Л{0,1,2,3} = А(3). Таким образом, число, следующее за числом 3, как идея
уже существует. Для него требуется создать обозначение. Новых простых знаков типа О,
1, 2, 3 изобретать нельзя. Следовательно, новый знак должен быть составным и представ-
лять собой комбинацию из уже изобретённых простых знаков. Так как мы владеем поня-
тиями чисел 2, 3, то можем составлять комбинации из двух или трёх знаков. (Если бы мы
не владели понятиями чисел 2, 3, то составление комбинаций из двух и трёх знаков было
бы невозможно. Так достигнутая стадия развития обеспечивает выполнимость следую-
щих шагов.) 'ho будут комбинации типа ba, cba.
Начнём с двухзначных комбинаций Ьа.
Вопрос, что ставить на место а и что ставить на место Ь? Чтобы определиться с отве-
том, надо сформулировать требования, которые должны выполняться при такой проста-
новке.
Требование 1. Комбинация Ьа должна быть новым знаком по сравнению с уже сущест-
вующими.
Но любая простановка знаков даст новый знак. Например, Ьа = 32. Как выбрать среди
возможных комбинаций знаков ту, которую можно взять в качестве обозначения для вновь
порождённой количественной идеи? Пока нет никаких предпочтений. Поэтому примем
написанную комбинацию 32 как одну из равповозможных в качестве обозначения для поя-
вившегося числа. Таким образом, у нас появились числа: 0, 1, 2, 3, 32. Количественной идее
(числу), изображаемой сложным знаком 32, мы даём имя «четыре» (мы даём знакомое имя
для облегчения ориентировки; можно было бы дать любое другое имя). С появлением ново-
го числа процесс п—>А(п) может быть продолжен, и мы получаем новое число
Л{0,1,2,3,32} —/1(32). которое также изображаем комбинацией типа Ьа, удовлетворяющей
требованию 1. Например, изобразим новое число символом 12, так что будем иметь:
Л {0,1,2,3,32} =Л(32) = 12, и т.д. Когда исчерпаем возможности двухсимвольных обозначе-
ний, перейдём к трёхсимвольным, потом четырёхсимвольным (этот термин после появле-
ния числа 32 становится осмысленным) и т.д. Новые обозначения будут появляться. Но этот
вариант введения обозначений предъявляет чрезмерные требования к памяти. Действитель-
но, в этом способе обозначений нет, по существу, никакой системы (точнее, имеется мини-
мальная), ибо происходит случайная простановка символов 0, 1, 2, 3 вместо букв а, Ь, ...
В итоге каждую новую комбинацию символов приходится запоминать, что при растущем
неограниченно количестве чисел невозможно. Поэтому мы должны сформулировать.
Требование 2. Простановка символов 0, 1, 2, 3 вместо букв а, Ь, ... в комбинациях типа
ba, cba, ... не должна быть случайной, ибо случайная простановка символов требует бес-
конечной памяти
Следствие из требований 1 и 2 состоит в том, что система обозначений для чисел, сле-
дующих за уже порождёнными числами 0, 1, 2, 3, должна описываться конечным образом
(тогда память справится), но так, чтобы она могла быть применена сколь угодно долго в
согласии с бесконечной процедурой п —> А(п) (тогда обозначениями потенциально будут
охвачены все натуральные числа).
Такую систему обозначений будем называть регулярной.
Регулярная система обозначений должна содержать в себе некоторое конечное описа-
ние, которое можно повторить неограниченное число раз. Костяком такого конечного
56
описания должен быть конечный порядок. Этот конечный порядок мы должны извлечь из
уже имеющегося у нас материала. Есть ли у нас такой порядок? Есть. Это естественный
порядок порождения первых чисел:
О 4 1 -< 2 4 3 (2.14)
В его основе лежит отношение непосредственного следования. Но оно не определено для
элементов 0 и 3. У элемента 0 нет непосредственно предшествующего элемента, а у эле-
мента 3 нет непосредственно следующего. Мы доопределяем описанный порядок (2.14)
также естественным образом, естественным потому, что он единственно возможен:
04 1 4 2 4 340. (2.15)
Единственность его следует из того, что простановка за элементом 3 любого другого чис-
ла (1 или 2) приводит к противоречию, к нарушению хотя бы одного из свойств, характе-
ризующих отношение непосредственного следования.
Выясним, возможно ли использование отношения непосредственного следова-
ния (2.15) при решении проблемы обозначений.
Снова вернёмся к двухместной комбинации знаков типа Ьа.
Прежде всего, отметим, что с помощью двухместной комбинации знаков Ьа невоз-
можно изобразить всё множество натуральных чисел, потому что с помощью двух знаков
можно изобразить лишь конечное множество чисел. Это можно обнаружить эксперимен-
тально. (Хотя мы «с высоты нашего знания» можем точно указать, что двумя знаками
можно изобразить в четверичной системе счисления не более 16 чисел, но, поскольку мы
находимся на начальной стадии создания математики посредством автоматов, должны
забыть о нашем знании, «притвориться», что не знаем ни сложения, ни умножения, и в
этих условиях поставить себе задачу, как доказать, что с помощью двух знаков можно
изобразить лишь конечное множество натуральных чисел. Доказать можно только экспе-
риментально. При этом эксперимент будет конечен.) Точно так же невозможно изобра-
зить все числа с помощью трёхместных, четырёхместных и т.д. комбинаций знаков. Сле-
довательно, для изображения множества всех натуральных чисел требуется бесконеч-
ное множество мест для знаков ...deba причём в роли a, b, с, d. ... выступают числа 0, 1,
2, 3. Отметим, что 1) каждый такой знак будет занимать определённое место в простран-
стве, что 2) два разных знака не могут находиться на одном и том же месте, что 3) должна
быть система прочтения знаков в зависимости от мест (т.е. опять должен быть порядок).
Повторим для представления всех натуральных чисел требуется использование беско-
нечпоместных записей.
Кроме того, как уже выяснено ранее, на места в этих записях ставить цифры, в роли
которых выступают числа 0, 1,2, 3, случайным образом нельзя. Их нужно ставить каким-
то регулярным способом.
Изобразим вначале множество мест, на которые мы будем ставить цифры, следующим
образом:
____- Р-16)
Каждая чёрточка «—» символизирует собою место для цифры Первое многоточие,
встречающееся в (2.16) при движении слева направо, означает, что слева располагается
бесконечное количество мест, которые мы не изображаем ввиду невозможности этого
сделать. Второе многоточие между черточками означает, что здесь должно стоять некото-
рое конечное количество мест, которое мы также не изображаем, но по другой причине,
а именно по той, что количество этих мест при общем рассмотрении вопроса не опреде-
лено. Места упорядочиваются естественным образом справа налево: действительно, учёт
происходящего на местах справа налево нам доступен, даже при нашей конечной памяти.
Происходящее же слева, в бесконечности, нам не доступно. Поэтому мы говорим о есте-
ственной упорядоченности мест справа налево.
57
После порождения числа 0 мы цифру 0 ставим на все места справа налево вплоть до
бесконечности. Эта процедура доступна мысли человека, поскольку ей доступна абстрак-
ция актуальной бесконечности. Будем считать, что именно эта знаковая строка представ-
ляет число 0:
...0...0 0 0. (2.17)
Таким образом, наряду с записью А { } = 0 мы пишем дополнительно
А{ } = ...0...0 0 0. (2.18)
Следовательно, количественная идея А { }, сформировавшаяся при обозревании пусто-
го множества, имеет два обозначения:
А{ } = 0иЛ{ } = ...0...0 0 0. (2.19)
В этом месте мы отступаем от требования взаимной однозначности между объектом и
обозначением для него. Как видно, это отступление необходимо и обусловлено конечно-
стью памяти. При бесконечной памяти требование взаимной однозначности между иде-
ей и знаком могло бы быть реализовано «без труда». Конечность памяти заставляет нас
отступить от требования взаимной однозначности между объектом и обозначением для
него. Это обстоятельство с практической точки зрения может оказаться удобным, по-
скольку a’priori понятно, что в одних случаях может оказаться целесообразным использо-
вать одно обозначение, а в других - другое. В частности, уже сейчас мы воспользуемся
этой возможностью. Дело в том, что введённые нами новые объекты - места - целесооб-
разно отличать друг от друга не только их пространственным положением, но и по до-
полнительным признакам. Это можно сделать с помощью порождаемых обозначений для
порождаемых чисел. В частности, назовём самое правое в (2.16) место словосочетанием
«место ноль» и обозначим его так:
о (2-20)
(Присвоение обозначений для мест с помощью чисел назовём нумерацией мест.)
На место с номером 0 оператор порождения чисел А ставит символы 0, 1, 2, 3, а ос-
тальные места заполнены при этом символом 0. В результате простановки символа 1 по-
лучится запись:
...0...01, (2.21)
о
что означает:
Л(...0...00)= ...0...01 . (2.22)
о
Это ещё один вариант записи равенства: И{0} = 1.
В этом параграфе мы договорились о возможности использования упрощённых обо-
об
значений для результата действия оператора А: Л{0,...,и} = /1(п>. Таким образом, мы име-
ем три варианта записи того факта, что последователь А вслед за числом 0 порождает
число 1:
Вариант 1 (исходный):
Л{0} = 1. (2.23)
Вариант 2 (упрощённый):
Л(0)=1. (2.24)
Вариант 3 (в многоместной системе):
А(.. 0...00) = ...0...91. (2.25)
о
Число 1, появившееся вслед за числом 0, используется в упрощенном варианте (как и
число 0) для нумерации мест:
7 “Я (2-26)
58
так что помимо «места ноль» у нас появилось «место один». (В дальнейшем каждое вновь
порождённое число нумерует соответствующее место.)
Вариант 3, с участием мест, может быть записан так:
Л(...0...00) = ...0...01 . (2.27)
10 10
Понятно, что это чересчур подробная запись, и потому мы будем использовать её лишь на
начальной стадии решения проблемы обозначений для чисел, а также в случае необходи-
мости. В основном же будет использоваться запись типа (2.24).
Далее, генератор чисел, т.е. последователь А, породит ещё два числа: 2 и 3 согласно
равенствам: Л(1) = 2, А(2) — 3. Порождённые числа будут использоваться для нумерации
мест и для них равенства типа (2.27) будут иметь вид:
Л(...О...О j_) = ...0...02 , (2.28)
10 10
Л(...0...0 2) = ...0...0 3 . (2.29)
10 10
Число 2, появившееся в (2.28), используется в (2.29) для нумерации мест (появилось
«место два»); аналогично используются для нумерации мест все последующие появляю-
щиеся числа. Их мы писать не будем, но сейчас обратим внимание на то, что с помощью
двух мест: «места ноль» и «места один» - можно изобразить 16 чисел, которыми можно
отнумеровать 16 мест; а с помощью трёх мест: «места ноль», «места один», «места два»
можно изобразить 64 числа и ими отнумеровать 64 места и т.д. Другими словами, два
процесса: процесс порождения чисел и процесс нумерации мест - не противоречивы.
В том смысле, что не может случиться так, чтобы для нумерации мест не хватило чисел.
Что писать вслед за (2.29)? Согласно (2.15), вместо цифры 3, стоящей на месте 0, надо
ставить 0. Если при этом не произвести никаких изменений на всех остальных местах, то
мы вернёмся к числу 0, что неправильно. Следовательно, надо произвести изменения на
других местах. Мы уже ранее сказали, что места естественным образом упорядочены
справа налево (это вытекает из конечности памяти). Поэтому следующим по порядку
местом для включения его в работу должно быть «место один». Согласно (2.15), на месте
с номером 0 нужно ставить цифру 0, а на месте с номером 1 вместо цифры 0 надо поста-
вить цифру 1. Появившееся изображение для числа будет новым по сравнению со всеми
ранее встречавшимися и в то же время согласованным с формирующимся регулярным
процессом обозначения чисел. Получим:
А(...о.. 0 03) = ...0 ..010. (2.30)
2 10 2 10
В общем, понятно: на «месте ноль» надо последовательно, согласно порядку, опреде-
ляемому рядом (2.15), менять цифры. Если на «месте ноль» происходит переход от цифры
3 к цифре 0, то на «месте один», также согласно порядку (2.15), нужно совершить переход
к следующей цифре. Если при этом на «месте один» происходит переход от цифры 3 к
цифре 0, то на «месте два», также согласно порядку (2.15), нужно совершить переход к
следующей цифре. Если при этом на «месте два» ... и т.д.
Повторяющиеся фразы являются ничем иным, как конечным описанием процедуры,
которая должна применяться бесконечное число раз. Той самой процедуры, о которой шла
речь ранее.
Эта процедура возникла с необходимостью в результате приведённых рассуждений,
каждый шаг которых обоснован и вытекает из предыдущих. Теперь уместно отметить, что
описанная процедура никак не касается порождения чисел как количественных идей, а
работает только на множестве многоместных обозначений для чисел. Она работает не в
ареале идей, а в ареале обозначений. Поэтому она может быть отделена от оператора А,
носящего идейный характер, и объявлена оператором, действующим на множестве обо-
59
значений и порождающим из каждого существующего обозначения для натурального
числа обозначение для следующего числа.
Сформулируем это в виде вывода.
Для оператора-последователя А(п), единственным образом порождающего число как
идею, существует и соответствует ему оператор-последователь S(n), единственным
образом порождающий многоместное обозначение для числа.
Результатом действия оператора-последователя S(n) является выписанный ниже стол-
бец обозначений для нескольких первых натуральных чисел:
...0000;
...0001;
...0002,
...0003;
...0010;
...ООН;
...0012;
В связи с многоместными обозначениями чисел установилась терминология для мест,
занимаемых цифрами (см. рис. 2.3):
.. СС02
нулевой разряд
— первый разряд
----второй разряд
----третий разряд
Рис. 2.3. Разрядная сетка
Позиции, занимаемые цифрами, называются разрядами, а совокупность разрядов -
разрядной сеткой.
Продолжим работу теперь уже с парой операторов А(п) и S(n).
§ 16. Решение проблемы обозначений для чисел
В предыдущем параграфе проблема обозначений для натуральных чисел решена в
принципиальном плане. Здесь мы её детально оформим и алгоритмизуем.
1. Для обозначения чисел используются цифры, входящие в конечное множество цифр
Z(4(= {0, 1, 2, 3}. (В общем случае в = {0, 1, ..., k- 1}, к>2. В дальнейшем эту оговорку
делать не будем.)
2. Создаётся шаблон, состоящий из бесконечного количества мест. Место в шаблоне
изображается черточкой, под чёрточкой пишется номер места:
(2.31)
В роли номеров выступают порождаемые числа. Процесс нумерации мест и процесс по-
рождения чисел взаимно согласованы, непротиворечивы, т.е. для нумерации ещё не отну-
мсрованных мест всегда найдутся уже порождённые числа.
3. Процесс обозначения чисел начинается с того, что на все места ставится цифра 0.
Получается символический объект:
(2.32)
обозначающий число 0.
60
4. Назовём циклическим цифровым порядком последовательность цифр
0^1-<2^3^0. (2.33)
Если цифры х и х' связаны записью: х -5 х', то будем говорить, что х' непосредственно
следует за х. (Отношение непосредственного следования: -< - не транзитивно.)
5. Для обозначения чисел на места шаблона ставятся цифры из Z^. Пусть — обозначает
цифру х е Z(4), которая ставится на место с номером г (цифры х на разных местах z, вообще го-
воря, различны). Тогда обозначение для произвольного натурального числа будет иметь вид:
0.Х XXX /п ТДЗ
'л' л ” 2 1 0
где п - следующее за п число. На месте п и всех последующих стоят нули.
6. Подобно тому, как оператор А из числа п порождает следующее за ним число, опе-
ратор S, присваивающий обозначения для чисел, из уже обозначенного числа порождает
обозначение для следующего за ним числа. Пусть (2.34) - обозначение для некоторого
числа. Оператор 5 действует следующим образом.
S0. Цифру у , согласно циклическому цифровому порядку (2.33), заменяет на цифру -- .
Если х' 0, то действие оператора .S' на этом заканчивается.
Если х' = 0, то действие оператора S переходит на цифру у .
S1. Цифру у , согласно циклическому цифровому порядку (2.33), заменяет на цифру -у-.
Если х' 0, то действие оператора .S’ на этом заканчивается.
Если х‘ = 0, то действие оператора S переходит на цифру
И так далее.
На этом описание действия оператора 5 заканчивается. Как видим, описание действия
оператора S конечно, но применяется бесконечное число раз, т. е. мы удовлетворили тре-
бованию о создании процедуры, имеющей конечное описание (его, следовательно, спо-
собно воспринять существо с конечной памятью), но которая может применяться (потен-
циально) бесконечное число раз. Каждое натуральное число получает своё обозначение
В системе цифр Z(4) разные числа получают разные обозначения. При переходе в другую
систему счисления Z{k} = {0, 1, ..., k- 1}, к > 2, числа получат другие обозначения. Поэто-
му, вообще говоря, число имеет по меньшей мере столько различных обозначений, сколь-
ко имеется систем счисления, определяющий параметр которых (т.е. к-1) не превосходит
величины этого числа. Например, пусть число х = 7. Тогда возможные обозначения для
числа 7 будут такие:
[*- 2]^ 72=. .00111; Zt2)= {0,1}.
[к = 3]-> 7з = • .00021; Zor {0,1,2}.
[к = 4]н 74=. .00013; W {0,1,2,3}.
[* = 5]-> 75=. .00012; Z&= {0,1,2,3,4}.
[к = 6]-> 76=. .00011; Z(61- {0,1,2,3,4,5}. (2.35)
[к = 7]н 7?=- .00010; Zm= {0,1,2,3,4,5,6}.
[к- 8] - 78=. .00007; Zw= {0,1,2,3,4,5,6,7}.
[* = 9]-> 79=. .00007; Zw= {0,1,2,3,4,5,6,7,8}.
[к- 10]—э 7ю = ..00007; Z(ior {0,1,2,3,4,5,6,7,8,9}.
Хорошо видно, что ЧИСЛО Т = 7 имеет 7 различных обозначений, т.е. количество
различных обозначений для числа 7 равно количеству различных систем счисления
определяющий параметр которых не превосходит 7 (это системы Zpj, ..., Zm); для
61
всех систем счисления, для которых к > 8, число 7 имеет одно и то же обозначение.
В этом примере мы не писали под цифрами номера мест, на которых они стоят.
В силу небольшого количества знаков в изображении числа 7 номера мест легко
восстанавливаются в уме; кроме того, так делается всегда: во избежание громоздко-
сти в записях обозначений для чисел номера мест, на которые ставятся цифры, не
пишут.
Обозначения для чисел являются достаточно содержательными представителями чи-
сел, настолько содержательными, что их почти всегда отождествляют с самими числами.
Тогда действие оператора А рождения чисел можно представить как действие оператора
5, дающего обозначение для вновь порождённого числа, и мы можем записать (приняв
об
для краткости у = х,, где «об» заменяет слово «обозначает»):
5(...O.Y„...*2Xj.Vo) =
...Ох„...г2дл^, если у, У 0:
...Ox„.,.x2X|0 , если х[ г 0;
...0хи...Х20 0 , если х) * 0;
(2.36)
Формула (2.36) даёт описание действий, которые надо выполнить над данным чис-
лом х = ...OOx„...x2xixo , чтобы получить следующее за ним число (точнее, обозначение
для него; в дальнейшем не будем делать эту оговорку, т.к. числами мы владеем только в
их обозначениях. Идея числа, конечно, в сознании содержится, но она в вычислитель-
ных алгоритмах не участвует). Мы видим, что позиционная система для обозначений
чисел появляется с необходимостью. Мы промоделировали процесс появления этой
системы, отбросив всё лишнее при решении проблемы обозначений для чисел. А этим
лишним являлись всевозможные первые попытки решить проблему обозначений, как
то: «палочная система» - |, ||, |||, ||||, ...; римская - I, II, III, IV, V, ... и т.д. Однако у про-
цесса (2.36) получения обозначения для следующего числа есть особенность, состоящая
в том, что он требует наличия наблюдателя, находящегося извне по отношению к (2.36)
и выполняющего действия, согласовываясь с (2.36). Наблюдатель должен:
1) посмотреть на цифру ха\ 2) пользуясь циклическим цифровым порядком (2.33), найти
цифру х'о; 3) выяснить, отлична она от 0 или нет; если отлична, то принять
.. ООх„...х2х1хо за следующее число и на этом закончить работу; если нет, то перейти к
рассмотрению цифры хь и т.д. Нам бы хотелось другого - отделить функцию S от на-
блюдателя. Роль наблюдателя желательно бы свести к минимуму - чтобы он только
подавал на вход функции S' число, после этого в работу функции S не вмешивался и
после окончания работы функции S получал бы на выходе число, идущее в ряду чисел
вслед за поданным.
Другими словами, мы хотим, чтобы функция S, если использовать терминологию
теории систем, представляла бы собою самостоятельно функционирующую систему с
входом и выходом или, если использовать аппаратную терминологию, была бы устрой-
ством по переработке информации, т.е. вычисляющим устройством.
§ 17. Появление автомата сдвига S
Проследим за работой функции S ещё раз.
При переходе к следующему числу на «месте ноль» обязательно происходит замена
цифры Хо на цифру х'о , согласно циклическому цифровому порядку (2 33).
62
Эту замену мы изобразим как соответствие:
-То —> То
О -> Г
1 ->• 2 (2.37)
2^3
3^0
Если была реализована последняя строка этого соответствия, то происходит пере-
ход к следующему «месту один» и выполняется такая же замена. Если же была реали-
зована одна из первых трёх строк, то на «месте один» замена реализуется как соответ-
ствие:
Ж] —> X]
“ Z О-
1 -» 1 (2.38)
2^2
3 -j 3
Аналогичные действия при порождении следующего числа осуществляются и на
других местах. Мы видим, что при работе функции .S' происходит переход от одного
варианта соответствия к другому. Отметим это подробно ещё раз, более информатив-
но переписав соответствия, на этот раз указывая в каждой строке соответствия:
а) какой вариант соответствия - (2.37) или (2.38)- реализуется при замене цифры
числа на данном месте числа, б) по какой строке соответствия осуществляется замена,
в) к какому варианту соответствия нужно переходить на следующем месте порождае-
мого числа (см. след. стр.).
Прочитаем, например, строчку, отмеченную знаком *:
«а) на некотором месте шаблона числа замена цифры, стоящей на этом месте, проис-
ходит согласно соответствию (2.37).
б) цифра 2 заменяется на (переходит в) цифру 3;
в) на следующем месте шаблона числа замена происходит согласно соответствию
(2.38).»
X —> X X —> X
(37) 0 —> 1 (38) (38) 0 —> 0 (38)
(37) 1 —> 2 (38) (38) 1 —> 1 (38) **
(37) 2 —> 3 (38) * (38) 2 —> 2 (38) (2.39)
(37) 3 0 (37) (38) 3 3 (38)
Т т Т т т т
а) б) в) а) б) в)
Аналогично прочитаем строчку, отмеченную знаком **:
«а) На некотором месте шаблона числа замена цифры, стоящей на этом месте, проис-
ходит согласно соответствию (2.38).
б) цифра 1 заменяется на (переходит в) цифру 1;
в) на следующем месте шаблона числа замена происходит согласно соответствию
(2.38)».
Как видно из (2.39), при переходе к следующему месту шаблона почти всегда за-
мена цифр происходит по соответствию (2.38). Лишь в одном случае нарушается это
наблюдение - в случае замены цифры 3 на цифру 0 в этом случае при переходе на
следующее место шаблона числа нужно снова пользоваться соответствием (2.37).
Информация о том, по какой схеме соответствия происходит замена цифры, есть,
63
по существу, информация о том, в каком состоянии находится вычислительное уст-
ройство S: то ли в состоянии, когда срабатывает соответствие (2.37), то ли в состоя-
нии, когда срабатывает соответствие (2.38). С этого момента введём термин «со-
стояние вычислительного устройства» как рабочий термин при описании работы
вычислительных устройств и дадим ему обозначение: «q». Здесь есть аналогия с
обозначением «п» для числа. Символ п может воплощаться в различные конкретные
числа, и тогда мы пишем, например, п = 0 или п = 2 и т.д.
Аналогично этому вычислительное устройство 5 имеет, как уже сказано, два со-
стояния. Эти два разных состояния мы будем различать, нумеруя их различными чис-
лами. Выберем, например, два числа: 0 и 1, так что в связи с q мы будем иметь два
равенства: q = 0 или q = 1. Для упрощения изложения удобно столбцы цифр в соответ-
ствиях (2.37) и (2.38), стоящие слева от стрелок, называть входными (вход), а справа
от стрелок — выходными (выход). Будем также считать, что работа устройства 5
в режиме соответствия (2.37) есть работа в состоянии q= 1, а работа устройства S
в режиме (2.38) есть работа в состоянии д = 0. Это позволит нам переписать (2.39) с
использованием символов состояний, которые мы теперь будем писать рядом с циф-
рами, отделив их от цифр запятыми:
д,л > q У --> х'.д
1,0 ->• 1,0 0,0 -ч» 0,0
1,1 -> 2,0 0,1 -> 1,0
1,2 > 3,0 0,2 — 2,0 ** (2.40)
1,3 -> 0,1 * 0,3 -> 3,0
Прочитаем строку, отмеченную символом *:
«если устройство 5 находилось в состоянии 1 и на вход его поступила цифра 3, то на
его выходе появляется цифра 0 и устройство переходит в состояние 1».
Аналогично читается строка * *:
«если устройство S' находилось в состоянии 0 и на вход его поступила цифра 2, то на
выходе его появляется цифра 2 и устройство переходит в состояние 0».
Аналогично читаются все остальные строки (2.40).
Столбцы (2.40) дают принципиальную математическую основу вычислительного уст-
ройства S.
Будем называть далее вычислительное устройство S абстрактным вычислительным
устройством S или, коротко, АВУ S.
Введём часто употребляемый термин: наряду со словосочетанием «место в числовом
шаблоне», будем использовать также часто употребляемое словосочетание «разряд
числа».
Как мы видим, АВУ S в своей работе по порождению обозначения для нового числа
осуществляет переходы от одного места шаблона числа к следующему месту. Этот пере-
ход совершается дискретно, и мы можем для удобства ввести дискретное время t со зна-
чениями 0, 1, 2, 3, ... и говорить, что для АВУ S переход во времени от одного момента к
следующему соответствует переходу от одного места шаблона числа к следующему. Мы
будем по тому или иному закону увязывать моменты времени с номерами мест шаблона
числа. В связи с появлением времени t удобна иная интерпретация взаимодействия АВУ S
с преобразуемым числом: если раньше мы говорили о перемещении АВУ S от одного
места шаблона числа к следующему, то теперь будем считать АВУ S неподвижным, а
число подвижным и поступающим поразрядно на вход АВУ S от младших разрядов к
старшим
64
Теперь совершим ещё одно преобразование соответствий (2.40). Запишем их в виде
единой таблицы (табл. 2.4). Эта таблица по содержанию совпадает со столбцами
соответствий (2.31), но более удобна для использования и чётче оттеняет роль состояний
АВУ S.
Таблица 2.4
АВУ 5
х \ 0 1
0 0,0 0, 1
1 0, 1 0,2
2 0,2 0,3
3 0,3 1, 0
Покажем, как пользоваться таблицей. Напомним, что если АВУ 5 находится в
состоянии q = 0, то поступающие на вход АВУ 5 цифры после работы АВУ не меняются,
т.е. на выходе АВУ появляется то, что поступило на вход; а если АВУ 5 находится в
состоянии q - 1, то поступающие на вход цифры меняются согласно циклическому
цифровому порядку (2.33).
Пусть, например, АВУ .S' в некоторый момент времени находилось в состоянии t/ - 0
и на вход АВУ 5 поступила цифра 2. Тогда на пересечении строки, отмеченной цифрой 2,
и столбца, отмеченного состоянием с/ 0, мы найдём, что в следующий момент времени
АВУ S окажется в состоянии q = 0 и на выходе его появится цифра 2, которая ставится на
место шаблона числа, увязанное с этим моментом времени.
Аналогично пусть АВУ S в некоторый момент времени находилось в состоянии q = 1
и на вход АВУ .S' поступила цифра 3. Тогда на пересечении строки, отмеченной цифрой 3,
и столбца, отмеченного состоянием q = 1, мы найдём, что в следующий момент времени
АВУ .S' окажется в состоянии q = 1 и на выходе его появится цифра 0, которая ставится на
место шаблона числа, увязанное с этим моментом времени.
Работу АВУ 5 по преобразованию числа х в следующее за ним число х удобно
проследить с помощью так называемой развёртки во времени работы АВУ .S’ (далее
просто развёртки). Развёртка представляет собою многострочную структуру, достаточно
легко воспринимаемую и позволяющую без лишних слов следить за работой АВУ 5.
Покажем это на примере. Пусть на вход АВУ 5 поступает число х = ...0021233 . Требуется
с помощью АВУ S найти следующее за ним число х . Изобразим развёртку:
5 4 3 2 1 0 t
0 2 1 2 3 3 X
1 ... 0 <- 0 1 0 1 <- 0 <- 1 <- 1 1 <- 1 q
( J.
0 2 1 3 0 0 X
Читаем содержимое развёртки.
При t - 0 на вход АВУ .S' поступает цифра х0 = 3 числа X (цифра этого разряда
соответствует моменту t = 0). Устройство S в этот времени находится в состоянии q = 1.
По таблице 2.4 находим, что устройство 5 в следующий момент времени t = 1 переходит в
состояние q = 1 (на развёртке показано стрелкой влево) и вырабатывает выходной сигнал
Хо = 0 (на развертке показано стрелкой вниз).
При t - 1 ситуация повторяется.
65
При t = 2 на вход АВУ 5 поступает цифра х2 = 2 числа X (цифра этого разряда
соответствует моменту t - 2). Устройство S в этот момент находится в состоянии q = 1. По
таблице 2.4 находим, что устройство в следующий момент времени переходит в
состояние <7 = 0 (на развёртке показано стрелкой влево) и вырабатывает выходной сигнал
*2 = 3 (на развертке показано стрелкой вниз).
При t = 3 на вход АВУ .$ поступает цифра = 1 числа х (цифра этого разряда
соответствует моменту t - 3). Устройство .S’ в этот момент времени находится в состоянии
<7 = 0 По таблице 2.4 находим, что устройство .S' в следующий момент переходит в
состояние <7 = 0 (на развёртке показано стрелкой влево) и вырабатывает выходной сигнал
«5 — 1 (на развёртке показано стрелкой вниз).
И т.д.
На выходе АВУ .S' получится число х' = ...021300 . Таким образом, АВУ S «нашло», что
числом, следующим за числом .¥=...0021233, является число х'= ...0021300
(напоминаем, что у нас было намерение отделить наблюдателя от АВУ 5 и следить за
работой -S как бы со стороны; но этой причине мы подчёркиваем самостоятельность
работы АВУ). Запишем результат в виде равенства.
S(.. .021233) -...021300 (2.41)
Итак, мы построили АВУ 5, позволяющее по каждому числу X найти следующее за
ним число х . В-схема АВУ .S' такова
Рис. 2.4. В-схема АВУ 5
Устройство работает независимо от наблюдателя. Роль наблюдателя сводится только к
подаче числа на вход устройства и к считыванию результата. Устройство, работу
которого мы разобрали, функционирует в четверичной системе счисления с набором
цифр Z(4) =» {0, 1, 2, 3}. Но аналогичное устройство может быть создано для любой другой
системы счисления, причём изменения, которые должны быть сделаны в устройстве 5,
заданном таблицей 2.4, совершенно очевидны. Устройство S осуществляет сдвиг в
последовательности натуральных чисел от произвольного числа к следующему за ним
числу. Поэтому оно имеет другое название: «устройство сдвига». Про него говорят, что
устройство сдвига реализует функцию сдвига.
66
Сделаем ещё одно усовершенствование. Оно существенно как с принципиальной, так
и с практической точек зрения. А именно в числе х = ...OOO.r„...X2.v1xo можно заменить
(см. § 3) бесконечное число нулей ...ООО на значок 0 , в результате чего для числа х
будем иметь другую запись:
х = О.\'„...л2.Ч.''(|. (2.42)
Понятно, что, заменив бесконечное число нулей ...ООО на значок 0, мы мысленно
совершили актуализацию бесконечности:
Act(.. ООО) = б . (2 43)
Ранее было отмечено (см. § 3), что символ 0 информативно полезен: он указывает не
только на то, что влево далее идёт бесконечное число нулей, но и на то, что номера
разрядов в записи числа растут влево. Это сразу наводит на мысль ввести не только
символ 0 , но и символ 0 , показывающий, что номера разрядов растут слева направо. Это
делает две возможные записи числа равноправными:
х = Ох„..дг23Г1Л« = . (2.44)
Символ 0 (или 0 , что всё равно) целесообразно ввести во множество цифр:
Z(4) ={6,0,1,2,3} • (2.45)
А принимая во внимание развёртку во времени работы АВУ 5, мы понимаем, что
должно быть внесено также небольшое дополнение в таблицу устройства (появились
стрелочки над нулями; табл. 2.5).
Появление символа 0 повлияет также на развёртку, упростив её и обогатив
дополнительным содержанием. Понятно, что если в развёртке в строке х в момент t идёт
ноль со стрелочкой - 0, и устройство находится в состоянии q = 0, то и на выходе, в
строке х', в этот же момент будет 0 .
Поскольку состояния являются числами, то мы их также будем обозначать со
стрелками q = 0 или <7 = 01.
В чём суть достигнутого упрощения и дополнительного содержания? Во-первых,
развёртка оказывается конечной, а не потенциально бесконечной, как раньше. Во-вторых,
мы получили дополнительный информативный сигнал: появление 0 в последней строке
развёртки означает конец работы АВУ 5. (Если при подаче на вход АВУ .5 на выходе
цифры б не получилось, цифру 0 нужно подать на вход ещё раз; это следует из смысла
значка б .)
Таким образом, мы получили признак, по которому можно судить о конце работы
устройства. Так в АВУ .S решается проблема останова.
Таблица 2.5
АВУ 5
X 5 01
5 б, б 6.1
1 6,1 6,2
2 6,2 б.З
3 б,з 51,0
67
Это позволяет экономить время вычислений, т.к. появление на выходе устройства
сигнала 0 означает конец вычисления, и потому нет необходимости гнать нули до конца
регистра, затрачивая вхолостую вычислительное время.
5 4 3 2 1 0 t
б 1 2 1 1 1 2 1 3 3 1 X
б 1 <- б 1 <- б 1 <- б 1 <- 61 1 <- 61 1 <- 61 ч
1
б 2 1 3 0 0 X
АВУ S, задаваемое таблицей 2.5, полностью решает проблему обозначений для
натуральных чисел и представляет множество натуральных чисел в следующих
обозначениях:
No = {б,61,02,03,610,611,012.013,020,021,...} (2.46)
Отметим, что АВУ 5, будучи генератором натуральных чисел, предъявляемых нам в виде
их обозначений, отправляясь от 0, последовательно порождает свою область
определения - множество У,. Областью значений АВУ .S' при этом оказывается
множество ^=^\{б}, т.е. множество всех натуральных чисел без нуля. Дейст-
вительно, при действии АВУ 5 на любое натуральное число 0 никогда не получается.
АВУ 5, будучи применено к любому числу упорядоченной последовательности (2.46),
совершает переход по этому ряду чисел на один шаг вправо, и, тем самым, выполняет
операцию «сдвиг», что соответствует его названию: автомат сдвига', В-схема автомата
сдвига 5 изображена на рисунке 2.4.
Итак, множество натуральных чисел порождается автоматом сдвига АВ У У При этом,
в роли нуля по Пеано выступает 0, а в роли последователя - автомат адвига S,
задаваемый таблицей 2.5 и В-схемой на рисунке 2.4
68
Глава 3
Последовательный синтез абстрактных
вычислительных устройств
§ 1. Введение
Напомним часто используемую постановку задачи синтеза абстрактных автоматов, ко-
торую мы приведём здесь в упрощённой формулировке: дано отображение; требуется
найти автомат, реализующий это отображение [12]. К сожалению, в таком виде задача
синтеза не всегда может быть поставлена, а следовательно, и решена. Например, извест-
но, что арифметические операции образуют последовательность операций различных
рангов возрастающей сложности. Так, операция сложения вместе с обратными к ней об-
разует семейство операций первого ранга; операция умножения с обратными - второго
ранга; возведение в степень с обратными - третьего ранга и т.д. Об операциях этих рангов
мы имеем некоторое представление, но уже об операциях четвёртого ранга и последую-
щих не имеем практически никакого. Поэтому постановка, например, такой задачи: дана
операция пятнадцатого ранга; требуется найти автомат, её реализующий, является бессо-
держательной, т.к. об операции пятнадцатого ранга мы никакого представления не имеем
и поэтому «задать отображение, ею реализуемое» не можем. В отношении синтеза абст-
рактных автоматов и абстрактных вычислительных устройств (АВУ) мы придерживаемся
точки зрения, согласно которой синтез АВУ и автоматов должен происходить на основе
уже существующих, ранее построенных АВУ и автоматов, т.е. поэтапно. Что же касается
отображения, реализуемого автоматом или АВУ, то никакими специальными поисками
отображений заниматься не следует, ибо автомат (АВУ) сам по себе является полным
воплощением реализуемого им отображения. В самом деле, все свойства отображения,
реализуемого автоматом, можно извлечь из знания самого автомата, из его задания. Ото-
бражение, реализуемое автоматом, должно записываться в терминах уже существующих
автоматов или АВУ и, в конце концов, в терминах самого синтезированного автомата или
АВУ. Это полностью соответствует идеологии, сложившейся в связи с понятием суперпо-
зиции функций.
Метод последовательного синтеза (и его развитие - метод сетевого синтеза) является
регулярным методом синтеза практически всех важных арифметических АВУ, а также
тех, которые находятся за пределами современных практических потребностей, но вполне
могущих быть востребованными в последующем. Так, сформулированная выше задача в
отношении операции пятнадцатого ранга решается методом последовательного синтеза.
Метод вполне соответствует эволюционистскому подходу, несомненно, реализованному в
природе (наряду с другими), и может служить математической моделью последнего. Ме-
тод также соответствует принятому в математике способу изложения теорий от простого
к сложному. В общем он понятен и естественен. Тем не менее для эффективного его
применения требуется дать ему формальное описание, что и делается далее. Используе-
мая символика удовлетворяет требованию необходимой выразительности. С точки зрения
математической теории метод последовательного синтеза (и его развитие — метод сетево-
го синтеза) может рассматриваться как теория алгоритмов, изложенная в терминах абст-
рактных вычислительных устройств, причём как теория алгоритмов, развиваемая самым
естественным образом. Примечательно, что АВУ «сами» эволюционно создают свою
область определения и область значений и обучают нас вычислениям с появляющимися
при их работе необычными для нас числоподобными объектами.
69
Иногда далее вводятся упрощающие ограничения, от которых можно освободиться и
тем самым получить общий вариант теории.
§ 2. Постановка задачи элементарного последовательного синтеза
Даны два АВУ А, и А2 с областями определения D(AI), (i = 1,2) и областями значений
Е(А,), (i— 1, 2), причём Е(А) с D(A2). Тогда возможно соединение выхода Ах с входом А2.
АВУ А, вычисляет функцию у - ф,(х), (z = 1, 2) с областью определения Di. Л А и областью
значений Е(А,). Получившаяся цепь AtA2 вычисляет новую функцию у = <p;(cpi(jc)) =
= фгффх). Требуется построить минимальное АВУ А, вычисляющее функцию у =
= ф2ф|(х).
АВУ А называется решением задачи элементарного последовательного синтеза (со-
кращённо: задачи ЭПС).
Два АВУ В\ и Bi называются эквивалентными в D, если они вычисляют на D одну и ту
же функцию. Обозначение: В\ ~ В2.
Поскольку АВУ А и цепь А ]Л2 вычисляют одну и ту же функцию у = ф2ф1(х), то они эк-
вивалентны: А ~ Лр42.
Замечание. В случае, когда АВУ является абстрактным автоматом, минимальным АВУ
является автомат с минимальным количеством состояний. Минимальность АВУ в других
случаях поясняется в соответствующих местах.
§ 3. Линия генетически связанных автоматов первого ранга
Линия генетически связанных автоматов получается следующим образом. Берётся
произвольный конечный автомат At -Ai{Z&), Z^, Q, 0, о} с совпадающими входным и
выходным алфавитами = {0, 1, к— 1}, с множеством состояний О, функцией пере-
ходов 0 и функцией выходов о. Тогда возможно построение цепи А]А и нахождение для
неё решения задачи ЭПС. Им будет минимальный автомат А2, эквивалентный цепи AiAp
Az-AjA], Далее составляется цепь Л2Л; и находится минимальный автомат А2, эквива-
лентный этой цепи: А2~А2А[. Затем составляется цепь /ГЛ, и находится минимальный
автомат А4, эквивалентный этой цепи: Л4 ~ А2А^. И так далее. В итоге получается последо-
вательность автоматов, упорядоченных процессом такого порождения:
Л1 —> Л2 —> А3 —> А 4 —> /Д —> ... —> A , —> A —> ..., (3.1)
где запись А, —> A ,+i (г = 1, 2, 3,...) означает, что автомат A ,+1 порождён непосредственно
вслед за автоматом A , и что поэтому A ,rl ~A,At.
Последовательность (3.1) называется линией генетически связанных автоматов. Ав-
томаты, входящие в линию, коммутируют, т.е. А , А; ~ А; А , при любых натуральных i и j
(> 0). (Это следует из того, что А, ~ Л)Л|...Л1. где символ справа от знака ~ берётся
/раз.) Поэтому последовательное соединение любых двух автоматов простой линии снова
приводит к автомату простой линии. Все автоматы линии имеют одинаковые входы и
выходы, соответствующие алфавиту ZK. Будем называть их автоматами первого ранга',
они составляют первую встречающуюся нам линию (3.1) родственных автоматов.
§ 4. Бесконечный автомат, порождённый линией
Объединим автоматы бесконечной последовательности (3.1) в одну сборку, которую
обозначим следующим образом:
[4^3...^,.!...]. (3.2)
70
Набор автоматов, заключённый в квадратные скобки, всегда далее обозначает сборку.
Пользуясь тем, что входы всех автоматов А, идентичны, для получения сборки соединя-
ем все входы автоматов в один вход (см. рис. 3.2), который также окажется идентичным
входу любого автомата сборки. Аналогично поступаем с выходами автоматов сборки.
В результате сборка оказывается автоматом типа (£|O|t)', т.е. того же типа, что и любой
автомат А, сборки (3.1). В роли состояний автомата-сборки выступают состояния автома-
тов А,. Обозначим множество состояний автомата-сборки символом 0-^ . Множество Qx
обычно неминимально, в нём могут быть недостижимые и эквивалентные состояния.
Минимизируя множество Qx. т.е. удаляя из (Л недостижимые и лишние эквивалент-
ные состояния, получаем бесконечный автомат, порождённый линией генетически свя-
занных автоматов. Обозначим его символом Л», а множество его состояний через Q.,.
Автомат А„ является автоматом типа (4 (l,/-), т.е. того же типа, что и любой автомат А,
сборки (3.2), причём он эквивалентен сборке:
А^~[А}А2А,...АА^---]- (3.3)
Приведённые построения иллюстрируются на рисунках 3.1-3.3. При исполнении рисун-
ков используется четверичная система счисления с множеством цифр:
Zw={0, 1,2,3}. (3.4)
э—о]
* V Выход
’ I
о—»
Вход
3—>
Рис. 3.1. Автомат А,
Вход Выход
1 Тип автомата обозначаем символом (А|£?Ю> гДе _ количество букв в Z^y (во входном алфавите), I -
количество букв в Z (в выходном алфавите), a Q — множество состояний.
71
Рис. 3.3. Автомат Л„, эквивалентный сборке
Эта система счисления, как уже говорилось, удобна при исследованиях, поскольку она
1) не громоздка и 2) позволяет улавливать закономерности, общие для всех систем счис-
ления.
Сигнал по линии пуска с номером /, (/ = 0, 1, 2, ...) подаётся только в начальный мо-
мент времени одновременно с начальным сигналом по линии входа. Это эквивалентно
тому, что в сборке в начальный момент времени будет возбуждено начальное состояние
автомата А „ и в итоге сработает именно автомат А ,. При этом автомат А„ будет реализо-
вывать отображение у = <р, (х).
Таким образом, поскольку предполагается, что D(A,~) = {0, 1,2 ...} (см. § 1), каждому
натуральному числу i и каждому натуральному числу х будет поставлено в соответствие
некоторое число у, т.е. автомат Л,. выполнит некоторую двухместную операцию (вычис-
лит функцию) 01(:|х)=у, которую мы будем называть операцией первого ранга, что
отмечено единицей. Своеобразие реализации автоматом А.„ этой операции состоит в том,
что число ( поступает на пусковой вход автомата Л., при t = 0 целиком, в то время как
другое число х = .. .0 0 0 х„ ... XjXpie поступает поразрядно, причём каждая цифра разряда
числа х поступает в соответствующий тактовый момент времени. Различие в поступлении
чисел i и х очевидно: число i поступает мгновенно, а число х - растянутым во времени.
Этот факт будет использован в дальнейшем.
§ 5. Свёртка автомата
Итак, число ! поступает на вход бесконечного автомата А.„ мгновенно, а число х - рас-
тянутым во времени. Возникает вопрос: нельзя ли подачу чисел / и х на вход автомата А„
сделать одинаковой: либо мгновенной, либо растянутой во времени? Из этих двух вари-
антов подачи информации предпочтение следует отдать второму, когда информация по-
ступает на вход растянутой во времени, поскольку альтернативный вариант требует бес-
конечного числа линий как на пусковом входе автомата А„ , так и на входе для числа х,
что практически не осуществимо. (Заметим, однако, что для конечных аппроксимаций
автомата первый вариант на практике может быть осуществимым.)
Посмотрим, как будет работать автомат А.„ при реализации второго варианта подачи
сигналов на вход автомата. Пусть числа / и х имеют представления
72
i = ...О О О i„ ...i2iii0, х= ...О О O.v„ ... x}xt х0, (3.5)
и в начальный момент времени работы автомата, т.е. при 1 = 0. на вход подаётся пара
цифр нулевого разряда, которую мы обозначим символом
Поскольку не известно, какова будет подаваемая далее часть ...0 0 0 /„ ...fcli числа /, то при
t = 0 ничего другого не остаётся, кроме как возбудить все входные линии пуска (или, что
всё равно, состояния автомата Л„). номера которых начинаются с i0 (началом числа счита-
ем цифру из разряда единиц). Поданный при этом входной сигнал заставит выработать
для каждого из этих состояний некоторые выходные сигналы у0. Вообще говоря, эти сиг-
налы для разных возбуждённых состояний могут быть различными. Но мы будем предпо-
лагать их совпадающими (на практике этот случай реально имеет место, и именно он
является важнейшим для нас, ибо он приводит к известным операциям математики: сло-
жению, умножению и т.д.; иные варианты также поддаются рассмотрению). Опишем
символически те действия, которые были выполнены автоматом при ? = 0.
Первоначально автомат А„ находился в начальном состоянии, в роли которого
выступало всё множество пусковых линий входа «пуск», которое мы обозначим симво-
лом
Go={0,1,2,3...}. (3.7)
После подачи на вход автомата А„ входного сигнала, в роли которого выступает пара
|, автомат Л,. переходит в новое состояние:
(?) = {... 0 0 0jm . ,j2j\ /о} = No i0, (3.8)
в записи которого часть ... 000/',„ ...j2 /1 - произвольное натуральное число, а i0-
фиксированная для начального момента времени цифра, что позволяет записать множест-
во (?) в виде No i0, где No- множество всех натуральных чисел, включая 0:
№^{0. 1,2,3...}, (3.9)
т.е. перед /0 в (3-8) можно ставить любое натуральное число и полученную запись читать
как новое число.
На выходе автомата .4, будет выработан выходной сигнал Со-
действие автомата А.„ при t = 0 можно изобразить схемой
Q -> Wo (3.10)
Vo
При t = 1 аналогичная схема действия автомата А... имеет вид
t = 1
Nglg —> Ngido
г
j?
(3 11)
73
Такие же схемы работы автомата А., имеют место для всех остальных моментов вре-
мени t = 2, 3, 4 ... Их можно выстроить в одну строку, и тогда они образуют развёртку во
времени работы автомата А„. Развёртка удобна для изучения работы автомата и широ-
ко используется в последующем. Она естественным образом порождает родственные ей
развёртки работы двух и более автоматов, а также всевозможных сетей. Они использова-
ны в [13].
Обратим внимание на состояния, в которых пребывает автомат . Ими являются
состояния вида Q, Noi-o , Уо ipo , No ii iiio, , где io, it , i> ... - цифры i-ричной системы
счисления. Возможны два случая: либо множество этих состояний расслаивается на
конечное число классов эквивалентных состояний, либо число классов эквивалентных
состояний бесконечно. Оба случая встречаются па практике и приводят к содержатель-
ным результатам.
Автомат с бесконечным числом неэквивалентных состояний называется автомато-
идом.
Мы ограничимся случаем, когда количество классов эквивалентных состояний равно
двум. Этот случай практически важен (реализуется на автоматах сдвига и приводит к
сумматорам). Он описан в [13]. Общий случай разбиения множества состояний автомата
А„ на большее число классов реализуется на операциях некоторой математики, не исполь-
зуемой в настоящее время, и в книге не описан. Здесь открывается поле с неограничен-
ным числом задач, возможных для исследования, с непредсказуемыми результатами.
Заметим, что частный случай с бесконечным числом классов эквивалентных состояний
реализуется на операциях нашей математики и описан в [13] (см. раздел «Умножители»),
Итак, число классов эквивалентных состояний автомата А„ считаем равным двум.
В каждом из этих классов можно выделить по одному представителю, удалить все ос-
тальные состояния класса, заменив при этом переходы в состояния этого класса перехо-
дами в состояние представителя. В результате получится автомат с двумя состояниями, с
входом, состоящим из двух подвходов, причём каждый подвход содержит к линий, и с
выходом, также содержащим Плиний, т.е. автомат типа (£2|(Э|Л)|, где Q = {q.. <71} - множе-
2
ство состояний этого автомата. Обозначим его символом А , где цифра 2 наверху означа-
ет количество подвходов этого автомата. Его можно изобразить в виде «чёрного» ящика
2
(рис. 3.4.). Будем говорить, что автомат А получен из автомата А„ свёрткой.
г
Рис. 3.4. Автомат А , полученный из автомата .4, свёрткой
Таким образом, свёртка (Cpt) - это операция, включающая следующие этапы её реали-
зации:
Э1. Отказ от смешанного варианта работы входа автомата А„ и переход к единообразному
способу подачи входных сигналов.
Э2. Разбиение бесконечного множества состояний автомата А„ на классы эквивалентных
состояний.
ЭЗ. Минимизация числа состояний за счёт удаления лишних эквивалентных состояний.
Компактификация автоматов (• свёртка) возможна в иных вариантах и описана в кни-
ге [13] в соответствующих местах.
Изобразим схематически пройденный этап генетического порождения автоматов
74
Л1 —>Л2—> ... —» А , —> A !-i —» ... —> —> А,
lept
А (3.12)
2
Поворот к автомату А является принципиальным: если первичная линия генетически
связанных автоматов приводит к бесконечному автомату А-, работу которого можно трак-
товать двояко: и как работу одновходового автомата с параметром, реализующего унар-
ную операцию, и как двухвходового автомата, реализующего бинарную операцию, то
2
свёртка (поворот вниз) приводит к конечному автомату А , реализующему ту же бинар-
ную операцию. Это типичный метасистемный переход с сохранением функциональных
возможностей, но со сменой качества: огромное (бесконечное) сложное образование
«схлопывается» и превращается в нечто компактное, выполняющее ту же работу, что
и первоначальное сложное образование. По существу, здесь мы имеем простейшую мате-
матическую модель эволюции, показывающую практическую возможность конечной ак-
туализации бесконечности, т.е. возможность существования конечного объекта, эквива-
2
лентного бесконечному. С А начинается новая эволюционная линия (см. далее).
Любой автомат вычисляет некоторые функции. Автомат A,(i = 1, 2, 3...) при фиксиро-
ванном г вычисляет одноместные функции, называемые функциями первого ранга и обо-
значаемые О1(/1 q | х), вследствие чего имеет место функциональное равенство:
Д (q | ж) =01(717 I х), гДе 5 - число, поданное на вход А„ i - номер автомата в генетиче-
ской линии, q - состояние, в которое он поставлен в начальный момент (напоминаем,
что автомат вычисляет столько различных функций, сколько у него имеется неэквивален-
тых состояний). Автомат А„ вычисляет ту же функцию при постановке его в состояние с
номером i или, что всё равно, при возбуждении по входу «пуск» линии с номером /. При
двойственной трактовке работы автомата А„ это вычисление считается вычислением
функции двух переменных, где i и х полагаются равноправными переменными, подавае-
мыми на вход автомата А. в одном и том же режиме. После выполнения свёртки автомат
2
превращается в конечный автомат А , который трактуется как автомат, вычисляю-
щий ту же функцию двух переменных ОИх х2), на вход которого числа х1 и х2 по-
ступают одинаково, поразрядно Ранг функции (первый) при этом сохраняется. Мы пи-
2
шем: А(х' | х2) =О1(х' | х2) . В итоге построений в (3.12) мы пришли к конечному авгома-
2 _ _
ту А вычисляющему двухместную функцию первого ранга О1(х* х2).
§ 6. Линия генетически связанных многовходовых автоматов
первого ранга
г
Автомат А даёт начало новой линии генетически связанных автоматов иервого ран-
2
га. Соединим два автомата типа А следующим образом:
75
Рис. 3.5. Последовательное соединение автоматов типа А
Это соединение вычисляет функцию трёх переменных О1(О1(х'| х2) | х3) =
=О1(х' х2 | х3) . Ставится задача о нахождении минимального автомата, эквивалентного
этой цепи, т.е. автомата, вычисляющего ту же функцию. Такой автомат существует и
з
единственен. Обозначим его символом А- где 3 над А означает, что вход автомата состо-
ит из трёх подвходов, по каждому из которых подаются три произвольных числа
х1, х2, х3. Автомат А осуществляет «одновременное выполнение операции О1 над тремя
числами» (а цепь - нет).
i i > 1
Далее с помощью автоматов А и А составляется последовательное соединение А А ,
поясняемое рисунком 3.6.
3 1
Рис. 3.6. Последовательное соединение автоматов А и А
Это соединение вычисляет функции типа О1(О1(х' г2 | S?) | х4) = О1(х* х2 | х3 | х4) .
Аналогично предыдущему ставится задача о нахождении минимального автомата, вычис-
ляющего эти функции. Такой автомат существует и единственен. Обозначаем его симво-
4
лом /|, где, аналогично предыдущему, 4 над А указывает на количество переменных, над
которыми одновременно выполняется операция 01 .
Этим процессом строится бесконечная последовательность автоматов, образующая
искомую линию генетически связанных многовходовых автоматов первого ранга:
2 3 4 п
А А А А (3.13)
где значок показывает, что автомат справа от значка появляется при реализации этой
процедуры построения автоматов непосредственно вслед за автоматом, стоящим слева от
него.
Замечание. Автоматы, вход которых состоит из нескольких подвходов, для краткости
будем называть многовходовыми (иногда с указанием количества подвходов: «двухвходо-
вые», «трёхвходовые», «семивходовые»...).
§ 7. Свёртка по входу
Все автоматы линии генетически связанных автоматов первого ранга (3.13) имеют
несколько подвходов, конструкция которых одинакова: каждый подвход состоит из к
линий, где к - основание системы счисления, в которой работает автомат и которая со-
держит к цифр: {0, 1, ..., к- 1}. В силу одинаковости конструкции подвходов их
можно объединить, что соответствует режиму подачи по всем подвходам одного и того
76
же числа. Это можно пояснить рисунком 3.7 на примере автомата Д для четверичной
системы счисления (к = 4).
Рис. 3.7. Свёртка автомата Л по входу
Свёртка по входу автомата А работает как автомат с одним подвходом и вычисляет
функцию О1(х J | F). Это новая функция одного аргумента. Она никогда ранее не встре-
чалась и не вычислялась никаким ранее встречавшимся автоматом с одним входом.
Очевидно, что первозданное обозначение для неё довольно громоздко, и мы для неё
даём новое обозначение 02(3 | х) и говорим, читая это обозначение, что она является
функцией второго ранга (появились функции нового ранга, об этом говорит число 2), что
она получена из функции трёх аргументов О1(х1 | х2 | х3) (об этом говорит число 3) и что
она зависит от одного аргумента х .
4
Аналогично свёртка по входу автомата А приведёт нас к автомату с одним входом,
вычисляющим функцию второго ранга 02(4 | х) =О1(х х | х | х).
п
Понятна общая закономерность: свёртка по входу автомата А приведёт к автомату с
одним входом, вычисляющим функцию второго ранга О2(и | х) =О1(х х |... | х), где ар-
гумент х в функции справа от равенства встречается на п позициях
п
Обозначим свёрнутые по входу автоматы А , вычисляющие функцию О2(л | х), сим-
волом В„ и сформулируем промежуточный итог: свёртка по входу автомата первого
п
ранга А , вычисляющего функцию п переменных О1(х’ | х2 |... | хп), приводит к появлению
автомата Вп, вычисляющего ранее не встречавшуюся функцию второго ранга О2(л | х)
одного переменного. Так происходит появление функций нового ранга и автоматов, их
вычисляющих.
Линия (3.13) генетически связанных автоматов первого ранга посредством свёртки по
входу порождает линию генетически связанных одновходовых автоматов второго ранга:
2 3 4 п
А -> А -> А -> -> А
Ф Ф Ф Ф
^2 X- Вт, У- В а, ...<“ Вп р- ..., (3.14)
77
где запись типа А А означает, что « А порождено из А », а запись типа В3 >- В, озна-
чает, что «В4 порождено после В3».
§ 8. Свёртка линии автоматов второго ранга
Посмотрим теперь на получившуюся схему генетических связей построенных к этому
моменту автоматов, начиная с исходного автомата Аь удалив для экономии места сборку
автоматов:
А, —>Аг—> А„ ... —>Л_ (3.15)
I
2 3 п
А А А
J' ( J'
В 2 В, S ... >- Ва S...
Линия автоматов Вп второго ранга аналогична линии автоматов Ап первого ранга за ис-
ключением метода порождения: линия автоматов А„ получается методом элементарного
последовательного синтеза, а линия В, получается методом свёртки по входу. Обе линии
состоят из автоматов, вычисляющих функции одного переменного.
Автоматы линии «А» вычисляют функции ОИ" | х) - функции первого ранга, в то
время как автоматы линии «В» вычисляют функции 02(7/ | х) - функции второго ранга.
Функции О2(и | jf) заметно сложнее, чем функции ОИ« | J ), но без последних не было
бы первых. Упомянутая сложность усиливается на «наследниках» линии «В», причём
настолько, что наследники, вообще говоря, перестают быть конечными автоматами, и мы
переходим на уровень бесконечных автоматов, бесконечность которых, в отличие от бес-
конечности автомата Л_, никак не устраняется.
Более того, при дальнейшем движении по наследственной линии исчезают и беско-
нечные автоматы, появляются вычислительные структуры необозримой сложности, кото-
рым даётся общее наименование — абстрактных вычислительных устройств, сокращённо
АВУ. Понятие АВУ включает в себя также и понятие автомата.
Создадим из автоматов линии «В» сборку |В;В3В4. ВГ ..], а затем сборку превратим в
АВУ В.,. аналогично тому, как сборка [AiA2A<i...Ai...] породила А„. Далее применим опе-
2
рацию свёрт ки к В„, которая превратит В„ в устройство В с двумя подвходами. На схеме
2
(3.15) появится поворот, аналогичный повороту к А :
г
2 3 п
А А А
X X X
В 2 )* В3 >- Ва >-... >- Вс*,
lept
2
В
(3.16)
78
§ 9. Линия генетически связанных многовходовых автоматов второго
ранга и их свёртка ио входу
По аналогии с тем, как это изложено в § 6, строится линия генетически связанных
многовходовых абстрактных вычислительных устройств (АВУ) второго ранга:
2 3 4 п
В >В >В >... (3.17)
п п п
АВУ В вычисляет функцию О2(х | х2 ... | х") . Как и для автоматов А , для АВУ В
возможна свёртка по входу, приводящая к появлению одновходовых АВУ С„ , вычисляю-
щих функцию третьего ранга О3(н | х) =О2(х | х |... | х), где справа от равенства число х
встречается на п позициях. Схема (3.17) пополняется до (3.18):
> ... —> Ап —> ... —>.Г.
г
2 ”
(3.18)
автоматы 1 -го ранга
--------------------------------4,-------ф----------------------------
Вх Вп В ж
jcpt
2 п
автоматы и АВУ 2-го ранга
------------------------------------------------4,------4,------------
АВУ З-го ранга и т.д. С2
2
По аналогии с тем, как автомат д вычисляет функцию первого ранга
2
у —ОЦх1 х2)и АВУ В вычисляет функцию второго ранга у =О2(х1 х2), вновь поя-
2
вившееся АВУ С вычисляет новую двухместную функцию третьего ранга
у =ОЗ(х1 | х2). (Начиная со 2-го ранга, следует говорить об АВУ, а не об автоматах, по-
скольку с этого ранга их свойство в известных нам реализациях этой схемы теряется.)
§ 10. Дальнейшее развитие
Схема (3.18) индуцирует справедливую мысль о возможности её продолжения и по-
рождения бесконечного числа операций, составляющих алгебру, ведущую своё начало от
автомата /1|, а вместе с ней и всю математику, происходящую от Ль включающую в себя
геометрические идеи, идеи анализа и т.д. Эту математику мы обозначим как «математика
(Л|)». Выбирая различные автоматы Л, в качестве исходных автоматов в схеме (3.18), мы
будем получать различные математики. Среди необозримого множества математик, за-
ключающихся в схеме (3.18), встречается единственный случай, приводящий к нашей
математике, которую мы изучаем со школы. Этот случай получается, если в качестве
автомата А\ выбрать автомат сдвига .S', мотивированное появление которого описано
ранее. Наша математика - это «математика (5)».
79
Описанный процесс сопровождается быстрым ростом сложности функций с ростом их
ранга. Это проявляется в том, что конечные автоматы оказываются недостаточными для
вычисления функций высоких рангов. Функции высоких рангов автоматно невычислимы.
Уже для умножения не существует автомата, позволяющего вычислять произведение
двух чисел, не имеющих ограничения на разрядность. Но с помощью автоматов можно
производить аппроксимацию вычисления этих функций. Эту аппроксимацию иногда при-
нимают за полноценную способность вычисления функций высокого ранга автоматами.
Но в действительности речь идёт об аппроксимации АВУ автоматами, о вычислениях в
ограниченном диапазоне.
Сложность может быть обусловлена также тем, что соединения, представленные на
рисунке 3.8, могут давать различные результаты: у, ± у?.. Такое имеет место, если опера-
ция не коммутирует. К числу таковых относится, наример, операция возведения в сте-
2
пень. В случае нашей математики - это линия, порождаемая на схеме (3.18) АВУ С-
2
Вправо от С пойдёт не линия, а дерево связей.
2
Рис. 3.8. Два варианта последовательного соединения автоматов типа А
Функции, вычислимые устройствами, встречающимися в схеме (3.18), будем называть
регулярными. Таким образом, схема (3.18) есть схема построения регулярно вычислимых
функций, алгоритмы вычисления которых реализуются содержащимися в этой схеме
устройствами. Следовательно, на базе этой схемы можно строить теорию алгоритмов в
терминах АВУ.
Схема (3.18) является началом ещё одного направления. Оно связано с тем, что каждое
АВУ этой схемы может быть обращено. Уточним, о чём идёт речь.
Пусть имеется функция у =О(х' х1 | х3 ... х"). У неё есть п обратных функций:
1) функция х1 =О-1,|(у | хг | х3 |... | х");
2) функция х2 =О-1,2(х1 | у | х3 |... | х");
п) функция х” =О (х* | х2 | х3 ... | у).
Алгоритмы вычисления этих функций, вообще говоря, различны. Так, например, опера-
ция сложения у = +(х1 | х2) имеет две обратные операции: х1 = +-1(у I х2) (левая обрат-
ная операция) и х2 = + 1 (х1 | у) (правая обратная операция), алгоритмы выполнения
которых, однако, совпадают. По причине этого совпадения мы говорим, что у сложения
одна обратная операция - вычитание. А вот у операции возведения в степень
у =Т (х1 | х2) обратные операции х1 =Т Ll (у | х2) и х2 =?-'•! (х1 | у) имеют разные ал-
горитмы. Поэтому мы говорим, что у возведения в степень имеются две различные обрат-
ные операции: потенцирование и логарифмирование.
80
В схеме (3.18) каждое АВУ может быть обращено. В книге [12] описан алгоритм об-
ращения АВУ Обратные АВУ расптиряют наши возможности в отношении представле-
ния числовых объектов.
Схема (3.18) является основой для построения новых АВУ посредством создания все-
возможных соединений (не обязательно последовательных, каких угодно), нахождения
минимальных АВУ, эквивалентных этим соединениям (минимизация важна, поскольку
она приводит к появлению «наилучших» устройств), включения порождённых АВУ в
новые соединения и т.д. Вместе с тем создаётся множество всех функций, вычислимых
посредством АВУ, множество АВУ-вычислимых функций. Все встречающиеся на практи-
ке функции содержатся в этом множестве.
Необходимо отметить также, что конкретное изучение АВУ, вычисляющих функции
схемы (3.18), приводит, например в случае «математики (5)», к некоторым необычным
результатам. Так, оказывается возможным одновременное умножение нескольких чисел
5
и, например, АВУ В на схеме (3.18) даёт и реализует алгоритм одновременного умноже-
ния пяти чисел. Оказывается возможным деление не только от старших разрядов к млад-
шим (как учат в школе), но и деление от младших разрядов к старшим. Оказывается, что
числа имеют своих двойников в окрестности бесконечности, с которыми АВУ ведут вы-
числения на равных основаниях с обычными числами, им, так сказать, всё равно, с каким
представлением числа вести вычисления, конечный результат всегда может быть пред-
ставлен в обычном виде (есть соответствующие АВУ-трансляторы) и т.д. По ходу дела с
необходимостью возникают понятия (иногда необычные), в терминах которых происхо-
дит описание работы АВУ. Таким, например, является понятие предела на числовом уни-
версуме.
Заслуживает внимания замечание о числовом универсуме, на котором работают АВУ.
Каждое АВУ естественным образом создаёт свою собственную область определения и
область значений, причём особого изобретательского вмешательства с нашей стороны не
требуется. Устройства сами порождают числовые объекты, с которыми они работают,
сами порождают обозначения для них. Нам остаётся «лишь», используя принцип «не
навреди», понять и усвоить смысл порождаемых объектов. Как это делается, показано в
разных частях книги, а также в последующем изложении.
Схема (3.18), неограниченно продолженная для более высоких рангов, передаёт суть
метода последовательного синтеза. Можно сказать, что метод последовательного синте-
за - это схема (3.18). Этот метод естественным образом переходит в метод сетевого син-
теза, обобщающий метод последовательного синтеза, поскольку из устройств, входящих
в (3.18), можно создавать схемы, необязательно являющиеся последовательными соеди-
нениями, и ставить задачу нахождения минимальных устройств, эквивалентных этим
схемам. Этот этап эволюции не имеет принципиальных ограничений.
Заметим, что здесь изложен упрощённый вариант метода последовательного синтеза.
Существует более содержательная версия, включающая в себя направления, связанные с
обратными вычислительными устройствами, но изложение её чересчур громоздко. При-
ведённой схемы и сделанного замечания вполне достаточно, чтобы получить представле-
ние о возможном развитии.
Всё последующее изложение будет посвящено реализации метода последовательного
синтеза, т.е. схемы (3.18). Понятно, что ни о какой полной реализации схемы (3.18) речи
идти не может. В силу бесконечности схемы (3.18) реализация любой её части будет реа-
лизацией не более чем начала.
81
§11. Неформальный комментарий к главе 3
1 Обратим внимание на то, что в задаче ЭПС непременно должны участвовать два
АВУ, и, таким образом, появление линии генетически связанных АВУ (аналог «народа»)
непременно требует по меньшей мере попарного соединения АВУ, т.е. в основе эволюци-
онного развития лежит попарное соединение. Изменения, произошедшие в отдельном
индивидууме, если они не передаются по наследству, никак не влияют на популяцию и,
следовательно, на процесс эволюции, который носит популяционный, а не индивидуаль-
ный характер. Таким образом, для эволюционного развития требуется соединение (по
меньшей мере) двух индивидуумов.
2 . В чём важность требования минимальности? Ответ можно получить из сравнения
минимального случая с остальными. Если не минимизировать цепь и рассматривать её
как нечто целое, реализующее отображение у = <рэ <Pi(x), то остаётся ощущение искусст-
венности такого подхода, цепь всё равно состоит из двух чётко отделимых объектов Л и
А3. Особенность этой цепи состоит в том, что она способна к распаду. Если порвать связи
на стыке, то отделившиеся части могут вести самостоятельное существование, т.е. путём
простого разрыва связей можно получить два объекта, способных к самостоятельному
существованию. Это свойство мы так и назовём: способность к распаду. Таким образом,
можно сформулировать первое свойство неминимизированных соединений.
Свойство I. Неминимизированное соединение обладает способностью к распаду.
Далее мы знаем, что соединение можно превратить в новый единый объект, новое
АВУ так, что объекты А( и А2, ранее составлявшие соединение, исчезнут и появится но-
вый объект Аз, эквивалентный соединению Аз ~А[А2. Он реализует то же отображение,
что и соединение. Но присущее соединению свойство разрушаемости, способность распа-
сться на составляющие объекты А\ и А2 для него не справедливо. По сравнению с мини-
мальным объектом он обладает только лишними состояниями, других недостатков у него
нет. Поэтому неминимизированное АВУ Н3 мы можем охарактеризовать как устройство с
усложнённой структурой (свойство II). При изготовлении это вызовет больший расход
материальных ресурсов, большее поглощение энергии и, соответственно, большее выде-
ление тепла. Понятно, что достоинствами это назвать нельзя.
Ещё один аспект, связанный с минимальными устройствами, состоит в том, что на ба-
зе минимальных устройств можно создавать большее многообразие соединений, особенно
в условиях ограниченности ресурсов и пространственных ограничений. Это означает,
если посмотреть на этот факт с точки зрения эволюционных процессов, что на базе мини-
мальных устройств эволюционный процесс может пойти гораздо дальше.
Свойство III. Для далеко идущей эволюции нужна минимизация.
Итак, минимизация нужна потому, что в результате минимизации мы получаем
1) цельный объект, 2) обладающий максимально простой структурой, 3) на базе которого
возможно далеко идущее эволюционное движение.
Кроме того, a'posteriori выясняется, что на семействе родственных по целевому назна-
чению минимальных устройств легче обнаруживаются закономерности, присущие семей-
ству. На неминимальных устройствах закономерности могут быть сильно замаскированы
и проявляться с трудом.
82
Глава 4
Решение задачи элементарного последовательного синтеза
(задачи ЭПС)
§ 1. Постановка задачи
1 2
Даны два автомата А и А • Это значит, что даны входной и выходной алфавиты
каждого из этих автоматов. Алфавиты будем считать совпадающими и равными
множеству = {О, 1, £-1}, т.е. множеству, определяющему Л-ричную систему
счисления, в которой автоматы ведут вычисления.
Каждый автомат имеет своё множество состояний:
Q = |б,1,...,л|, (г = 1,2), (4.1)
I 2 >
причём, вообще говоря, п * п , а также свои функции переходов Qqx, (i = 1,2) и выходов
о qx, (Г = 1,2), задаваемые соответствующими таблицами.
Каждый из автоматов вычисляет свой набор функций Ax\q, q&Q, (1 = 1,2)
соответственно количеству неэквивалентных состояний автомата.
2 11 2
Из автоматов составляется последовательное соединение у = A A q\x \q, т.е. на
1 1
вход автомата А , поставленного в начальное состояние q, подаётся число х ; после чего
I 2
результат действия автомата А поступает на вход автомата А, поставленного в
2 112 2
начальное состояние q. Вычисляется суперпозиция у двух функций Ax\q и Ax\q,
вычисляемых каждым из автоматов по отдельности.
3 3 3 3 3
Требуется найти минимальный автомат Ах | q, qe Q , где О - множество состояний
з
автомата А , вычисляющего ту же суперпозицию функций, причём для каждой пары
12 12 3
состояний q и q автоматов А А должно найтись соответствующее состояние q
з
автомата А
Описанное последовательное соединение изображено на рисунке:
3
Л
Рис. 4.1. Последовательное соединение автоматов
83
§ 2. Описание работы соединения с помощью развёртки
Проследим за работой соединения с помощью развёртки. Пусть слово х , подаваемое
1 _ - 1
на вход автомата Д, имеет вид х - Ох„...х2х1хо и автомат д поставлен в начальный
1 2
момент времени в состояние а , а автомат Д поставлен в начальный момент времени в
2
состояние q .
2 1 0 t
X) х0 1 X
1 1 1 OOt/XoXj — 1 1 Qqxo 1 Я 1 Я
oO^xqX] (5qxo x' (4.2)
22211 111 1 2 2 11 1 2 2
QQqaqXg stiqXQXi Qqnqxa ~ я я
2 2 2 1 1 1 1 1 2 2 11
aOgagxo cSf/XoXj cqaqxo у
Общий t-й шаг развёртки:
t 0 t
Xi 1 *0 1 X
1 111 <_ qt = §...§qxQ...xt_[ 1 q 1 Я
l раз
/ 111 xt = C5^...^qX(i...xt_\Xt t раз 1 1 aqxa x' (4.3)
1 2 2 2 2 <— qt = t раз 2 Я 2 Я
2 2 2 2 2 2 11 (sqcsqxQ
yt о 0... 9 q .Та .. .x', x' t раз У
Громоздкость развёртки растёт катастрофически быстро, поэтому целесообразно
использовать бесскобочную запись для действия функций. Отсутствие скобок не мешает
прочтению формул. Для ориентировки можно пользоваться правилом разбиения знаков
на группы, которое будем называть правилом «от сигмы до сигмы» и которым нужно
пользоваться так: движемся слева направо по последовательности символов функций до
первого символа состояния, после чего применяем правило. Группа знаков в пределах от
о (включительно) до следующего с (исключительно) представляет собой легко прочи-
тываемый выходной сигнал одного из автоматов. Приведённых в развёртке шагов
84
достаточно, чтобы записать общий шаг развёртки для любого момента времени, что и
сделано вслед за развёрткой (4.2) во фрагменте развёртки (4.3).
В развёртке (4.3):
х', - промежуточный выходной сигнал, вырабатываемый первым автоматом;
1 2
qt, qt - состояния, в которых оказываются в момент времени t первый и второй
автоматы соответственно;
2 1
у, - выходной сигнал, вырабатываемый последовательным соединением А А (кратко:
2 |
цепью А А) в момент t.
§ 3. Построение автомата, эквивалентного цепи
2 .1
Состоянием цепи А А в момент времени I естественно считать упорядоченную пару
12 1 ’
состояний qt, qt автоматов Д и Д . Когда мы рассматриваем эту пару как состояние, то
мы используем для него обозначение:
Ч,
г
4t)
. Из развёртки (4.3) промежуточный сигнал
1 2
можно удалить, а состояния с/(, с/, объединить. После удаления из развёртки (4.3)
промежуточного сигнала x’t информационной потери в развёртке не произойдёт, т.к.
промежуточный сигнал х', продолжает оставаться в развёртке в скрытом виде в у„ Но
после такого удаления развёртка приобретает новое качество — она становится типичной
автоматной развёрткой. Действительно:
... / + 1 t ... 1 0 I
У
•Го
(1 5
2
где введены обозначения:
Ч,
2
.4,2
yt
<7
2
Ы
J.
Уо
(4.4)
q, = Q...f3qxa..jct_l ,
t раз
, 11 11
Xt = a6...0</.Ye...X,_1X, ,
t раз
2 2 2 2
q, =e_^qx'0..jc'l_l,
t раз
2 2 2 2
yt = oH .
t раз
(4.5)
(4.6)
(4.7)
(4.8)
2
Д1
q
Они понадобятся при решении задачи минимизации автомата.
85
Видно, что в роли состояний нового автомата выступают пары из состояний цепи, что
позволяет ввести обозначения:
для состояний этого автомата. Развёртка его работы с точностью до
обозначений совпадает с развёрткой (4.4):
... f+1
0 _
х
q (4.9)
У
-V, х0
?(+1 «- qt ... q\ q
J, 1
У< Уо
Следовательно, автомат, эквивалентный цепи, найден. Обозначим его через А .
Его описание таково:
1. Входной и выходной алфавиты у него совпадают и равны
Z(fl={0, Е...Д-1}.
2. Множество состояний Q представляет собой декартово произведение:
9
2
Wj
Q = QxQ =
1 1 Г1 1
, где q е Q = <0,1,
• 2 12 2
qE Q = <0,1, .
(4.10)
3. Функция переходов 9 для произвольного момента времени t описывается равенством
/11 \ pi Л
Qqtxt §qtxt
2 2 2211
(4.И)
4. Функция выходов 5 для произвольного момента времени ( описывается равенством
2 2 11
dq,x, = <xql aqt х, . (4.12)
Символ тильды (~), стоящий над некоторыми объектами, означает, что они являются
промежуточными объектами построения, окончательные обозначения будут иными
Фрагмент развёртки (4.4), соответствующий моменту времени t, желательно написать
отдельно и чуть подробнее. К нему будем часто обращаться. Индекс I при переменных в
этом фрагменте не играет принципиальной роли, поэтому опустим его. Имеем:
t + 1 t
1
Hqx
2 2 11
X
q
2
w
2 2 11
aqsqx
(4.13)
86
С помощью (4.13) составляется таблица переходов-выходов автомата А . Приведём
типичный фрагмент такой таблицы.
Таблица 4.1
С помощью таблицы 4.1 строится таблица переходов-выходов любого автомата типа
автомата А во всех конкретных случаях. Примеры будут приведены в следующей главе.
Устройство её обычное. Читаем: «если автомат А оказался в состоянии q-
и на
вход его поступил сигнал х, то автомат переходит в новое состояние
( 1 1 Л
Qqx
2 2 11
2 2 11
вырабатывает выходной сигнал <sq<sqx ».
После этого выполняется минимизация автомата А . Минимизированный автомат А
з
будет искомым автоматом А •
§ 4. Минимизация автомата
Автомат вычисляет, вообще говоря, различные функции, если ставить его в различные
начальные состояния. Бывает, однако, так, что при постановке автомата в два различных
состояния функции, им вычисляемые, оказываются совпадающими. Такие состояния
будем называть эквивалентными. Понятно, что одно из них можно удалить без
нарушения функциональных возможностей автомата. После удаления всех «лишних»
эквивалентных состояний в автомате останутся только неэквивалентные состояния.
Кроме того, в автомате могут быть состояния, обладающие следующими свойствами:
1) если поставить автомат в это состояние как начальное, то автомат никогда из него не
выйдет, 2) ни из какого другого состояния автомата невозможен переход в это состояние.
Такие состояния представляют только самих себя, реализуя константные отображения,
т.е. такие отображения, которые обладают свойством: если на вход подавать постоянный
сигнал, то и на выходе во все моменты времени будет постоянный сигнал. По отношению
к оставшейся части автомата они образуют не связанную с ней часть. Их можно
присоединить к автомату в сколь угодно большом количестве. Функциональная часть
автомата при этом изменится на набор добавленных константных отображений. Однако
набор таких константных отображений по большей части является искусственным
87
образованием. Не исключая в отдельных случаях осмысленности добавления к автомату
таких константных отображений, будем всё же считать, что в автомате их нет. Состояния,
обладающие свойствами 1 и 2, будем называть недостижимыми. Помимо недостижимых
состояний в автомате могут быть состояния, обладающие только свойством 1 т.е. такие,
что, попав в эти состояния, автомат уже больше никогда из них не выйдет, но в эти
состояния возможен переход из других состояний автомата. Такие состояния называются
финальными. Автомат, в котором нет ни эквивалентных, ни недостижимых состояний,
называется минимальным. Два автомата называются эквивалентными, если их
функциональные возможности совпадают, т.е. они вычисляют одно и то же множество
функций. Переход от произвольного автомата к эквивалентному ему минимальному
автомату называется минимизацией автомата. Таким образом, процедура минимизации
состоит из двух частей: из удаления лишних эквивалентных состояний и из удаления
недостижимых состояний. Удаление лишних эквивалентных состояний представляет
собой наиболее сложную часть задачи. Удаление недостижимых состояний гораздо
проще, т.к. недостижимые состояния проявляют себя достаточно очевидным образом.
Будем считать, что их в автомате нет. Таким образом, главная задача - это задача поиска
эквивалентных состояний. Ей посвящено следующее далее изложение.
Дадим более точные формальные определения, позволяющие вести с ними
рассуждения и формальные вычисления.
Введём обозначения:
А ~ В — автомат А эквивалентен автомату В;
Гл]
Q, = Э Ч г ~ множество состояний автомата И;
л
q - переменная величина, принимающая значения из множества Q,t;
ЛАЛ А
qY '-jq- - состояние qx автомата А эквивалентно состоянию </, того же автомата;
Л Л АЛ
Qqx, <eqx - функции переходов и выходов автомата А;
аналогичные обозначения даются для автомата В;
Dj, Ел - область определения и область значений автомата А.
Если далее автомат А рассматривается автономно, то индекс «А» над всеми его
л
компонентами убираем, будем писать, например, просто q вместо q и т.д.;
Р Q- импликация «если Р, то (Qu. «из Р следует Q»',
<-> - знак, заменяющий фразу: «тогда и только тогда, когда» (знак логической
эквивалентности);
опр
о - знак эквивалентности, имеющей место по определению, не вытекающей ни из каких
логических выкладок; после его введения «эквивалентность по определению» выступает
на равных правах с логической эквивалентностью; используется при введении
определений',
х = 0л„...Х2-Г|Т1) - число, подаваемое на вход автомата;
X - числовой универсум, т.е. множество всех числоиодобных объектов, получаю-
щихся путём простановки цифр из используемой системы счисления на места
разрядной сетки;
IP] - высказывания помещаем ь квадратные скобки (см. Г10, 13]);
V.v | P(.xj] - читается: «для всех х из множества М справедливо высказывание Р(х)»;
хеМ
88
Эх [Р(х)] - читается: «существует х из множества М, для которого справедливо
хеМ
высказывание Р(х)»;
Lx | />(х)] - читается: «пусть х из множества М таково, что для него справедливо
хе Л/
высказывание Р(х)» (квантор-императив, используется при постановке задач);
Fx [Р(х)] - читается: «найти х во множестве М такое, что для него справедливо
хе М
высказывание Р(х)» (квантор поиска, используется при постановке задач).
С помощью этих обозначений формально записываются определения, высказанные в
начале параграфа. Запишем эти определения вначале формально, а затем прочитаем.
Напомним, что поскольку в определении речь идёт о состояниях произвольного автомата
А, рассматриваемого автономно, то, согласно сказанному выше замечанию, индекс А над
состояниями отсутствует.
опр
Определение 1. [<71 ~ <72 ] Vx [Лх | q. = Ах | q2\
xeDj
Читаем: «состояние qt автомата А эквивалентно состоянию q2 того же автомата, по
определению, тогда и только тогда, когда для всех х из области определения D -
вычисленное значение функции, при постановке автомата А в состояние </1 как начальное,
равно вычисленному значению функции, при постановке автомата А в состояние q2 как
начальное».
Символьная запись определения удобнее словесной. Во-первых, она компактна. Во-
вторых, ей присуща языковая универсальность: смысл её одинаково прочитают везде.
В-третьих, она точно передаёт суть определения. В ней нет ничего лишнего, в ней ничего
убрать нельзя.
Для практической и теоретической работы требуется более развернутое определение
эквивалентности состояний, вытекающее из определения 1.
Определение 2.
опр
[ <у ^х
1>о х=Ох<-4*1
pH .Qqlxo...xl^ix, - оО ..бо2Хо...х,_].г,
! раз I раз
Поскольку о9...0<7х0...х,_1х, = у,(q) есть выходной сигнал автомата, возникающий в
t раз
момент времени t (или, что всё равно, в разряде с номером t), если автомат был поставлен
в начальное состояние q, то смысл определения 2 ясен: выходные сигналы yt(qi) иу,(^«).во
все моменты времени должны быть равны. Тогда образы Ах [ q\ и Ах [ q2 при любых х
равны, что и означает эквивалентность состояний q и q2.
Из определения 2 вытекает бесконечное количество следствий, получающихся после
фиксации 7=0, 1, 2, ... Каждое из них даёт необходимое условие эквивалентности
состояний, а в совокупности они решают проблему эквивалентности состояний,
оказываясь, естественно, эквивалентными определению 2. Будем называть их теоремами
об эквивалентности. В действительности, для выяснения вопроса об эквивалентности
состояний нет необходимости пользоваться всей бесконечной совокупностью теорем. Для
конечных автоматов проблема решается за конечное число шагов.
Полагаем t = 0 и пишем первое следствие.
Теорема (Э0). [?, ~?г]-> Vx0 [о^Хо = од2х0].
xoeZ(i)
Теорема (Эо) утверждает, что если состояния <?! и q2 эквивалентны, то значения
функции выходов для всех х совпадают. Следовательно, в таблице для функции выходов
89
автомата А столбцы, расположенные под состояниями q и совпадают. Таким образом,
практическая польза от теоремы (Эо) очевидна: нужно обозревать таблицу выходов
автомата и смотреть, какие столбцы совпадают. Столбцы таблицы распадаются на группы
тождественных столбцов. Кроме них, конечно, есть столбцы, не совпадающие ни с
какими другими.
Вспомним, что прямая теорема [Р —> Q] и противоположная обратной Г(2 —> -f]
равносильны:
где Р - отрицание Р, a Q - отрицание Q.
На этом основании теорему (Эо) можно записать в равносильном виде.
Теорема (Эо). Зл0 [эдхо * °?2-Ч>] —* [?1 * 9г] •
Теорема (Эо) утверждает, что если в столбцах функции выходов о, соответствующих
состояниям qt и qlt хотя бы для одного входного сигнала л0 оказалось, что значение
функции о<71.г0 не равно значению <~>qq<lt, то можно утверждать, что | г/, * </2], т.е. что
состояния <71 и <?2 неэквивалентны. Таким образом, благодаря теореме (Эо),
неэквивалентность состояний устанавливается легко. В этом состоит её практическое
значение.
Эквивалентность состояний - более сложная задача, и решается она на начальном
этапе с помощью теоремы (Эо). Решение таково.
На основании теоремы (Эо) множество Q состояний автомата А распадается на
подмножества:
№=>»
£>=auQue2u...u&„ = и а0,
vo=O
(4.14)
2v-„ П gv-0 = 0, (0 < v'o, Vo < п„, Vo * v’o),
где Qo - подмножество состояний, столбцы выходов которых различны; -
подмножества состояний, в каждом из которых столбцы выходов тождественны.
Множество Qo не будем испытывать на эквивалентность состояний, потому что их там
нет. Множества, в которых есть состояния «подозрительные» на эквивалентность, - это
все остальные множества Они должны быть подвергнуты дальнейшему рассмотрению.
Поскольку теорема (Эо) исчерпала свой потенциал, положим в определении 2 значение
7=1. Получим:
Теорема (9i). [<7i ~ h ] _ V.v = aO^Xo-Xi]-
Это очередное необходимое условие эквивалентности. Оно уточняет предыдущее и
говорит о следующем. Пусть 1 < v0 < «о и 2v0 _ подмножество из числа подмножеств
(4.14). Оно содержит в себе состояния, обладающие тем свойством, что для них столбцы
функции выходов одни и те же. Все эти состояния удовлетворяют требованию теоремы
(Эо) об эквивалентности состояний. Но требования этой теоремы - это требования,
являющиеся необходимыми условиями эквивалентности состояний. Удовлетворение этих
требований ещё не гарантирует эквивалентности состояний, входящих в QVo. Про эти
состояния мы уже сказали: они являются лишь «подозрительными» на эквивалентность.
(Здесь очевидна перекличка с математическим анализом, где при поиске точек
90
экстремума используется необходимое условие экстремума и где точки, ему
удовлетворяющие, называются «подозрительными» на экстремум.) Пусть, далее, q\ и <72 -
два состояния из подмножества Qq:: 6/1 е QVo , q- е QVo, т.е. Vx0 [091X0 = a</2-vo].
Теорема (Э|) требует, чтобы при любом х(, переходы q' = 0</|.го и q'2 = 0<?2Хо происходили
в такие состояния q‘L и q2, для которых Vxj [cx/ix; = об/)х| |, т-е- чтобы для них значения
xieZ(A)
функции выходов при всех Х] совпадали. А это значит, что q[ и q2 одновременно должны
быть элементами одного из множеств (4.14), не обязательно множества Q.,t , любого
другого из числа множеств (4.14). Если же условие Vxj | ос/рг, = <392X1] не выполнено,
xi^Z(k)
т.е. Зх[ [a</iXi *072X1], то тогда состояния q\ и q2 эквивалентными не являются. Это
xieZ(i)
следует из теоремы, аналогичной теореме (Эо) • Приведём её.
Теорема (Э() . Зх [двд^Х) Ф oOqxxoXi] —> Uq *** q2\ .
X"»-4isZ(2t|
Поскольку в данный момент выполнено условие Vx0 [а</|Хо = O6/2.V0 I, то (/' = Qq^Xg и
xo^Zfk)
q2 - 0<72-¥о , и потому Теорема (Э|) может быть оформлена в виде:
Теорема (Э[). Зх, [cuftXj * 092X1] 92]-
Это доказывает, что состояния q± и эквивалентными не являются, что и
утверждалось. Таким образом, любое подмножество Qv, в свою очередь, как и исходное
множество Q, разбивается на подмножества наподобие подмножеств (4.14):
Vl=«v0
Qv0 = QvoO U Qv 1 U Qv 2 U ... U QVonVQ = U £?VOV1 S
Vi-0
(4.15)
2v„vi n Qv<^ = 0, (0 < v],vj' < «V(1, v] * vf).
где 2voo _ подмножество состояний, не удовлетворяющих теореме (Э|) и потому
подмножество неэквивалентных состояний; GV(,b0vo2,—,GvonvO ~ подмножества
состояний, удовлетворяющих теореме (Э<) и потому продолжающих претендовать на
звание эквивалентных состояний.
Теорема (Э)) исчерпала свой потенциал, в работу включается теорема,
соответствующая t = 2
Теорема (Э2). [q\ q2\—> Vx [oOO^XqX^j = cOO^jXoXj.v. |.
Не проводя аналогичных рассуждений, сразу приведём результат. Пусть 1 < V[ < nVa и
£?vovi _ одно из множеств (4.15). По аналогии с предыдущими случаями оно разбивается
на подмножества:
V2=»vi
— (?V,.V|O U (2v:iV 2 U . . . U Qv<jvlflv — U OvSV\Vi i
6*2=0
(4 16)
2vtfv,vi n (?VoV1V-, =0, (0 < v),v' < nV1, v) Ф v'),
91
гДе Svov, о ~ подмножество состояний, не удовлетворяющих теореме (Э2) и потому
неэквивалентных; QVoV^,QV0Vli,- подмножества состояний, удовлетворяющих
теореме (Э2) и потому продолжающих претендовать на звание эквивалентных состояний.
Процедура продолжается потенциально до бесконечности. Однако в случае конечных
автоматов она заканчивается через конечное число шагов.
В результате последовательного применения теорем (Эо), (Э1), (Э2), .... (Э(), ...
порождается последовательность вложенных подмножеств состояний:
Qvq — QvtfVl 2 C?V0V(V2 2 - 2 CA'^Vj,' -V, 2
(4.17)
(0<v0<«; 0 < v, < «V1,V( ,, m = l,2,...).
Начиная с некоторого момента, может произойти установление, т.е.
Gvoviv, vp - Qvov,v2 - '?vaVt^2 ' ’vovivj.v^, —
(4.18)
P,qe No ={0, 1, 2, ...}.
В случае конечного Q установление происходит всегда.
Структура типа (4.17) называется фильтром эквивалентности. После её реализации
отфильтровываются эквивалентные состояния. Результат фильтрации описывается
соотношениями (4 18). Для конечных автоматов фильтрация заканчивается за конечное
число шагов. Для бесконечных автоматов она может длиться бесконечно долго, однако в
конечные моменты времени происходит накопление множества отфильтрованных
эквивалентных состояний, описываемых выражениями (4.18). Для бесконечных автоматов
движение по параметру t в теоремах типа теорема (9,) может происходить до
бесконечности.
Множество состояний автомата gV(|V v ,v, называется фильтраитом порядка t (1 — 0,
1,2, ...). Фильтрант, если он не пуст, содержит по меньшей мере два состояния,
претендующих на звание эквивалентных состояний.
vo=no
e=2oUQue2u...ue„o = и а„=аи и qvo =
Vo^O
V()=»o *l=»vo v0=»0v«^4
= 2oU и (gv„ou U eVeV1) = 2o'U и <2VflOu и и gv„V1 =
vo-I V]—I vo— 1 vo—1 vi=l
Vo=«O Vo=«oVl=flvo V2=«V|
= 2oU и 2v0ob и и (aoV1Ou и 2v„v,vJ= (4.19)
vo-1 vq=1 V]-l V2=l
Vo=«o Vo=«0Vl=flvo V0=«o Vi=«vo V2=«vi
= fl>u и a,,u и и 2VOV.0U и и и QW2 =
vo-I vo=1 V]-l vq— 1 V]—1 V2=1
{Vo=«0 Vq=«oV1“kvo ] /vo=«o Vl=”vo v2=«ti \
flu и £vooU U U QVeV,0 u u u u £V0V1V2 .
Vo—1 V(j—1 V|—1 I \ Vo—1 V| —1 V2-1 /
Исходное множество Q состояний автомата может быть разложено по фильтрантам.
Таковыми являются разложения (4.14)-(4.16). Рассмотрим их подробнее. Начинаем с
(4.14) и выполняем последовательно в него подстановки (4.15), (4.16). После некоторых
преобразований получаем итоговый результат (4.19), дающий разложение множества Q на
два подмножества, заключённых в фигурные и угловые скобки, смысл которых
поясняется далее при рассмотрении более общего случая, оформленного в виде
равенства (4.20).
92
Разложение (4.19) соответствует применению теорем (ЭД (ЭД- Применению теорем
(Эо)-(Э,) соответствует разложение (4.20).
Теорема (о разложении множества состояний на фильтранты).
Если Q - множество состояний автомата, то
Q =
Vq—«о Vq — Hq V1 — Vo— Ир V1 — nVQ vt l~nvt 2
Go U U 0VoOU U U 04V1OU...U U U ... U 0^,
Vq—1 Vo-1 Vj-1 V0-l Vj-1 V(
(эд i4>
(4.20)
где Svov,^ v, - фильтранты (см. выше).
В нём в фигурных скобках стоит множество неэквивалентных состояний, причём оно
разбито на теоретико-множественные слагаемые, и под каждым из них для удобства
подписана та теорема, на основании которой делается вывод о том, что содержащиеся в
нём состояния являются неэквивалентными. Так, если под слагаемым U 0VoO стоит
Vo=l
' (57) '
значок (Э)), то это означает, что входящие в него состояния неэквивалентны на
основании теоремы (ЭД , и т.д. Множество, стоящее в угловых скобках, содержит в себе
состояния, претендующие на эквивалентность; они могут быть эквивалентными,
поскольку для них справедлива теорема (Э,).
Кратко равенство (4.20) можно записать так:
Q = {-}, U (4.21)
Такая запись удобна, когда необходимо говорить о свойствах множеств в (4.20), не
вдаваясь в подробности. Так, мы можем сказать, что с ростом t слагаемое (...), в (4.21)
является «поставщиком» состояний для слагаемого {...}», поскольку с ростом t происходит
переход состояний из (...), в {...},. Но для конечных автоматов начиная с некоторого
момента t = p слагаемое (...), стабилизируется, перестаёт меняться. Тогда стабилизируется
и слагаемое {...}<. В этот момент задача поиска эквивалентных состояний может
считаться, по существу, решённой, ибо все они содержатся в
Далее наступает этап минимизации. Все фильтранты 0¥<V1V, , входящие в в
количестве n0-nV(s nVo -...п, , содержат эквивалентные состояния. Ни в каком другом
месте эквивалентные состояния не содержатся. Эти фильтранты являются классами
эквивалентных состояний. Для минимизации автомата в каждом фильтранте выбирается
представитель класса - некоторое состояние автомата. Все остальные состояния
фильтранта из автомата удаляются, но при этом все переходы в удаляемые состояния
заменяются переходами в оставляемое состояние, которым является выбранный
представитель. Понятно, что после удаления лишних эквивалентных состояний
отображения, реализуемые автоматом, не пострадают (по определению эквивалентности
состояний). В итоге получается минимальный автомат, сохраняющий все функциональ-
ные особенности исходного автомата. Поскольку предполагается, что недостижимых
состояний в автомате нет, то минимизация автомата доведена до конца.
93
§ 5. Минимизация автомата, эквивалентного цепи
Теперь надо применить изложенный метод поиска эквивалентных состояний и
последующую минимизацию к промежуточному автомату А , минимизация которого
завершает решение задачи ЭПС. Вышеприведённое описание минимизации автомата
имеет общий характер и подходит к любому автомату. Применяя его к автомату А ,
используем информацию об автомате А , содержащуюся в его описании (см. (4.9) £4.12)).
или общий фрагмент развёртки (4.13), или, наконец, эквивалентную ей ключевую схему
Л11 ")
Qqx
2 2 11
Jdqaqx^
2 2 11
,aqaqx.
(4.22)
2
Задача ЭПС решена в общем виде.
В главе 5 приводится её первое применение.
94
Глава 5
Последовательный синтез автоматов сдвига
§ 1. Автомат 5’
Автомат 5 порождает множество натуральных чисел в виде материальных объектов -
их обозначений в выбранной системе счисления. Если на вход автомата 5 подать число
J , то на выходе получим непосредственно следующее за ним число, обозначаемое через
S х . Таким образом, автомат S' упорядочивает натуральные числа отношением непосред-
ственного следования. При этом количественная природа натуральных чисел автоматом S
никак не фиксируется. Следовательно, в системе обозначений для натуральных чисел, с
которыми мы в практической работе отождествляем натуральные числа, идея упорядо-
ченности является реально осуществимой в пространстве и времени материальными уст-
ройствами.
Автомат S х | q задается следующей таблицей (см. также табл. 2.5):
Таблица 5.1
Автомат S х | q
0 1
б 0, 0 0. 1
1 0,1 0,2
2 0,2 0,3
3 0,3 1. 0
Переменная q е {0,1} = Q «пробегает» значения, являющиеся номерами состояний ав-
томата. Как обычно, говоря в дальнейшем о номере состояния, будем рассуждать о нем
как о состоянии. Например, «состояние 1». Множество Q - множество состояний автома-
та S. Переменная xeZ(4) = {о,0,1,2,3} пробегает значения из входного алфавита. Входной
алфавит Z(4) - {б, 0.1,2,3} - расширенное множество цифр четверичной системы счисле-
ния. Это же множество Z(4; = {0.0,1,2,3} является выходным алфавитом автомата S.
Поскольку в роли алфавитов автомата используются множества цифр, то термины
«буква» и «цифра» будут рассматриваться как равноценные. Учитывая близость теории
автоматов к цифровой технике, будем использовать также вместо слов «буква» и «цифра»
слово «сигнал». Вычисления, проводимые автоматом S, рассмотрим на примерах.
Пример 1. Пусть на вход автомата подается число х = 03221, записанное в алфавите
Z(4). Цифры этого числа одна за другой, начиная с разряда единиц, по тактам подаются на
вход автомата, поставленного в начальное состояние q = 1.
Изобразим развертку во времени работы автомата, показывающую, что
S 0322111 = 03222 , т.е. автомат сдвига S информирует нас о том, что числом, следующим
за числом 03221, является число 03222 . (Напомним, что после символа автомата слева
от вертикальной черты стоит аргумент, на который действует автомат, а справа от верти-
кальной черты - состояние q = 1.)
95
5 4 3 2 1 0 t
0 3 2 2 1 X
1 0 <- 0 1 <- 0 1 <- 0 1 <- 0 1 <- 1 q
1 J.
0 3 2 2 2 У
Пример 1. Пусть х = 0333. Изобразим развертку во времени работы автомата (см. ниже).
5 4 3 2 1 0 t
б б 3 3 3 X
1 0 <- 0 1 <- 1 1 <- 1 1 <- 1 1 <- 1 1
I ; ; ;
б 1 0 0 0 У
Результат:
5 0333 11 = 01000 , т.е. числом, следующим за числом 0333, является число 01000 . Этот
пример поучителен. Он показывает, что работу автомата следует считать законченной (останов)
лишь в тот момент, когда в развертке в строке результата (строке «у») появляется сигнал 0 .
Таким образом, если в некоторый момент времени при подаче входного сигнала 0 на
выходе у сигнала 0 не получилось, входной сигнал 0 надо подать еще раз (как это сде-
лано в примере 2), и так до тех пор. пока на выходе у не появится сигнал 0 . Этим согла-
шением, вытекающим из свойств сигнала 0 , в автомате S х | q решается проблема оста-
нова. В В-системе этот принцип реализуется.
Нужно отличать собственный останов автомата от внешнего останова, причина кото-
рого автомату не принадлежит. Собственный останов происходит тогда, когда автомат
либо не может выполнить переход в новое состояние, либо не может выдать выходного
сигнала. Останов по выходному сигналу 0 несобственный, ибо автомат может продол-
жать работу неограниченно долго, если подавать на вход 0 . Практически останов по
выходному сигналу 0 реализуется тогда, когда есть внешний наблюдатель (человек, при-
бор), контролирующий появление на выходе сигнала 0 . Появление сигнала 0 означает
конец вычислений, и внешний наблюдатель «отключает» автомат.
Если в качестве начального состояния вместо состояния q =1 взять состояние q = 0 ,
то автомат 5 осуществит тождественное отображение S х | 0 = х .
Назначение устройства сдвига 5 х 11 состоит в том, что оно, отправляясь от нуля 0 ,
последовательно порождает обозначения для натуральных чисел No = |о, 01,02, При
подаче на его вход числа х устройство порождает следующее за ним число 5 х 11, причем
запись 5 .? 11 является естественным функциональным обозначением для последующего
числа, а полученный результат - знаком числа. (Обычно для последующего числа использу-
ется значок наподобие х ', однако алгоритм вычисления числа х ’ не указывается. Обычно
считается, что в этом проблемы нет, и потому пишут х ' = х +1. Но это некорректно, т.к.
операция сложения вторична по отношению к операции сдвига S х \ q . Происходит нару-
96
шение принципа последовательного развития. Что же касается автомата 5 х 11 то он даёт
полное описание алгоритма вычисления обозначения для последующего числа х '.
§ 2. Функции Ойо автомата сдвига 5
Таблицы переходов и выходов автомата S x\q задают функции, которые мы обозна-
чим соответственно через 0 и G.
0
Таблица 5.2
Функция переходов
х \ 0 1
б 0 0
1 0 0
2 0 0
3 0 1
После введения этих функций работу автомата сдвига .S' можно изобразить схемой
q, х —> aqx, (5.1)
которая читается так: «если автомат находился в состоянии q и на вход его был подан
сигнал х, то автомат переходит в состояние Qqx и вырабатывает выходной сигнал aqx ».
Отправляясь от числа 0 , автомат 5, будучи поставленным в начальное состояние
q = 1, последовательно порождает обозначения для натуральных чисел, располагая их
естественным образом в последовательность, связывая их тем самым отношением поряд-
ка, отношением непосредственного следования:
б, 61, 02, 03, 610, ОН, 612, 013, 020. 021, .... (5.2)
Эти символы являются представителями натуральных чисел, и мы их в дальнейшем бу-
дем отождествлять с самими числами, как это и делается всегда на практике. Вместе с тем
еще раз отметим, что автомат 5 обнаруживает и реализует отношение порядка между
этими числами. Это отношение порядка в своем первоначальном виде носит пространст-
венно-временную интерпретацию, выражаемую фразами: «число 5 х 11 порождается
автоматом после числа х » (временная интерпретация) или число S х 11 находится в (5.2)
правее числа х » (пространственная интерпретация), или «число 5 х 11 следует за числом
х » (пространственно-временная интерпретация). Вместе с тем, вспомнив количественное
истолкование натуральных чисел, можно увязать пространственно-временную интерпре-
тацию отношения порядка с идеей количества и дать, тем самым, количественную интер-
претацию отношения порядка, выражаемую словами «число 5 х 11 больше числа х », и
писать х < S х 11, ( S х 11 > х ). Обычно отношение порядка на множестве натуральных
чисел формулируется на языке «больше» («меньше»). Другими словами, число предстает
перед нами в «синтетическом» виде, где идея количества и идея порядка с трудом отде-
лимы друг от друга. Автомат же 5 х 11 четко обнаруживает различие между ними, оказы-
ваясь способным реализовать идею порядка, но не способным реализовать идею количе-
ства. Автомат 5 х 11 не даёт никакой количественной интерпретации натуральных чисел.
Назовем схему (5.1) ключевой. Основное свойство ключевой схемы заключается в
том, что если известны функции перехода 0 и выхода а, то она является эквивалентом
97
автомата, описывая алгоритм, реализуемый автоматом. Ключевая схема по форме являет-
ся общей для всех автоматов. С ее помощью можно найти образ любого слова
х = бх„...х->х}ха в зависимости от выбора начального состояния q автомата 5 7 | q . Клю-
чевая схема работает последовательно, локально во времени перерабатывая каждую букву
слова х . Схема преобразования слова х в его образ представляется следующей развёрт-
кой во времени работы автомата.
Развёртка (5.3) протоколирует процесс вычисления автомата и является важным ис-
следовательским инструментом, причём, что удобно, значения моментов времени и номе-
ра разрядов в ней совпадают. Это обеспечивает движение вычисляемой информации
справа налево, т.е. в сторону роста разрядов.
3 2 1 0 t
Х2 *1 X
I I
009<7oXoX|X2 <— 90</оХоХ] «— 0</|Д(| <7о <7 (5-3)
1 X J.
аО0^()ХоХ1Х2 С0<7„Т(Д' sqoXo У
§ 3. Последовательное соединение двух автоматов 51. Автомат 52
Под автоматом 51 понимается автомат сдвига 5 х | q , в котором множество состояний
1
содержит два элемента: q е Q = {0,1} с таблицей 5.1 для функции переходов-выходов.
Автомат S2 будет пояснён далее в этом параграфе.
Посмотрим, как работают два последовательно соединенных автомата 51.
S2
Рис. 5.1. Последовательное соединение автоматов
Очевидно, условие последовательного соединения автоматов 51 выполнены, посколь-
ку их входные и выходные алфавиты совпадают с Z(4) = {6,0,1,2,3{ . Отображения, реали-
зуемые этой последовательностью автоматов, будем обозначать символом 52. Любой
автомат и любое устройство, реализующие эти отображения, будем также обозначать
символом 52 (автомат 52, устройство 52) и, в частности, последовательность из двух ав-
томатов 51, изображенную на рисунке 5.1, рассматриваемую как одно целое.
Автомат 51, на рисунке 5.1 стоящий слева, будем называть первым, стоящий справа -
вторым.
Обозначим:
1
0 - функцию переходов первого автомата 51;
1
о - функцию выходов первого автомата 51;
2
0 - функцию переходов второго автомата 51;
2
о - функцию выходов второго автомата 51.
98
Обозначим также:
1
q - состояние первого автомата 51;
2
q - состояние второго автомата 5'1.
Согласно главе 4, § 3, промежуточный автомат А , эквивалентный цепи, изображённой
на рисунке 5.1, задаётся следующим образом.
1. Входной и выходной алфавиты у него совпадают и равны
Z(4)-{0,1,2,3}.
2. Множество состояний Q представляет собой декартово произведение множеств со-
стояний первого Q и второго Q автоматов:
2 } Г 2 2
q&Q = \OA
(5.4)
3. Функция переходов 9 автомата А для произвольного момента времени t описывается
равенством
Р1 '(Г11
0<7,х, 0</гх,
2 2 ~ 22 1 1
06/, х,'J t
4. Функция выходов б для произвольного момента времени t описывается равенством
2 2 11
ai/,x, = at;, о;/, х, . (5.6)
Символ тильды (~), стоящий над некоторыми обьектами, означает, что они являются
промежуточными объектами построения, окончательные обозначения будут иными.
Л1 1 5
бах
2 2 11
\&q<3qXj
х
I
m
ч
2
W
I
2 2 11
aqaqx
(5.7)
Фрагмент развёртки, соответствующий моменту времени t, будем писать без индекса t
Развёртка (5.7) автомата А эквивалентна ключевой схеме (5.8) для последовательного
соединения (см. ниже, а также (4.22) из гл. 4):
<1А /11 А
q Qqx
2 2 2 1 1
^q) [Qqaqx,
2 2 d 1
(Sqaqx .
(5.8)
С помощью (5.7) или (5.8) составляется таблица переходов-выходов автомата А . Для
этого перебираем все состояния из (5.4)
99
О
г
О
Ч
2
\q)
Используя, например, (5.8) и таблицы 5.2 и 5.3, имеем:
Состояние
О
2
W
Полученный результат позволяет
выходов промежуточного автомата
OO.r
ООаОх
aOaO.v =
первый
О
2
1°
столбец таблицы 5.4
, aOx =
О
О
заполнить
А .
Таблица 5.4
Переходы-выходы промежуточного автомата А
\ q X \ 0 2 1° 7 fl 0 2 7 1 2 1.0 7 1 2 u 7
0 0 2 ,oj ,o 0 2 ,1 0 2 Q> ,1 ''lA 0 (\ ,2
1 0 2 <oj ,1 0 2 ,2 0 2 ,oj ,2 0 2 ,3
2 0 2 <oj ,2 0 2 <oj ,3 0 2 <oj ,3 0 2 .H ,0
3 0 2 ,oj ,3 '''I'A 0 2 J J ,0 1 2 ,oj ,0 '-'I'A 1 2 "j ,1
(5.9)
переходов-
о
2
1
Ч
2
^Ч)
Используя (5.8), получаем:
Состояние
О
2
1
00.V
22 1 I
01 стОдг
22 11
, о! оОх =
22
. о 1 х.
(5.10)
О
22
01х
С помощью таблиц 5.2 и 5.3 заполняем второй столбец таблицы 5.4.
Состояние
Ч
2
1
2
О
100
Используя (5.8), получаем:
01 Л'
1
О
, cOol.v =
ей
2
О
, <71.V .
(5.И)
0Оо1.¥
С помощью таблиц 5.2 и 5.3 заполняем третий столбец таблицы 5.4.
1
2
1
Состояние
Ч
2
w
Используя (5.8), получаем:
01х
2
1
, alolx.
Ololx,
С помощью таблиц 5.2 и 5.3 заполняем последний столбец таблицы 5.4 переходов-
выходов автомата А . Автомат А — это одно из устройств, реализующих отображение S2.
Переходим к минимизации автомата А .
Теореме (Эо) удовлетворяют только два состояния автомата А : состояние
1
2
О
о
2
1
и состоя-
ние
Они являются подозрительными на эквивалентность. Следовательно,
согласно
(4.14), множество Q = <
. состояний автомата А разбивается на
два под-
О
2
О
О
2
।
1
2
О
1
2
1
о
2
о
множества: Q = go U0, где Qn -
, - множество неэквивалентных состояний авто-
2
1
0
1
2
О
мата А , не удовлетворяющих теореме (Э9), и
&=<
. - множество состояний авто-
мата А, удовлетворяющих теореме (Эо). Поскольку других множеств с состояниями, пре-
тендующими на эквивалентность, кроме Q нет, то процесс установления происходит уже
на первом шаге, и, следовательно. Q — это множество эквивалентных состояний автомата
А . В этом классе выбираем представителя класса, скажем, состояние
о
2
1
, а все переходы в
удаляемое состояние
1
2
О
чаем таблицу переходов-выходов минимизированного автомата А (см. далее).
заменяем переходами в выбранное оставляемое состояние. Полу-
101
На этой стадии построения автомата А обозначения для его состояний можно упростить:
после чего таблица 5.5 преобразуется в таблицу 5.6.
Таблица 5.5
Переходы-выходы минимизированного автомата А
С использованием введённых обозначений таблица 5.6 принимает вид (см. далее).
Таблица 5.6 - это таблица минимального автомата, реализующего отображение S2.
Задача элементарного последовательного синтеза для последовательного соединения
двух автоматов 51 решена, минимальный автомат 52 найден.
Если сравнить таблицу 5.6 с таблицей 5.1 для автомата сдвига 5, то видно, что табли-
ца 5.1 является частью таблицы 5.6. Отсюда следует, что все функции, вычисляемые авто-
матом 5, вычисляются также автоматом 52. Автомат 52 является расширением автомата 5.
Таблица 5.6
Минимальный автомат 52
х 'х 0 1 2
б 0,0 0,1 0,2
1 0,1 0,2 0,3
2 0,2 0,3 1,0
3 0,3 1,0 1,1
Автомат 52 имеет одно финальное состояние - состояние q = 0. Попав в это состоя-
ние, автомат из него никогда больше не выйдет, каков бы ни был поданный на его вход
сигнал. Финальное состояние q = 0 обладает своего рода притягивающей силой: из лю-
бого другого состояния автомат неуклонно стремится к состоянию q = О
102
Введём понятие целевого автомата. В таблице 5.6 все состояния автомата равно-
правны. Это значит, что в начальный момент времени автомат может быть поставлен в
любое из них. При этом будет вычислена функция, соответствующая выбранному состоя-
нию. Уже было отмечено, что автомат вычисляет столько различных функций, сколько у
него различных неэквивалентных состояний. У автомата S2 их три: q ~0, ? = 1, <7 ~ 2.
При постановке автомата в состояние q = 0 вычисляется тождественное отображение:
5 х 10) = х .
При постановке автомата в состояние q = 1 вычисляется функция сдвига на одну еди-
ницу в ряду натуральных чисел: 5 .v 11 = х', где х" - часто используемое обозначение для
последующего натурального числа.
При постановке автомата в состояние q = 2 вычисляется функция сдвига на две еди-
ницы в ряду натуральных чисел: 5 х | 2 = х", где х" - развитие предыдущего обозначения
для сдвига на две единицы.
Итак, в автомате 52 три равноправных неэквивалентных состояния и три различных
вычисляемых функции.
Однако в некоторых случаях бывает целесообразно отказаться от равноправия со-
стояний автомата и выделить некоторые из них. Тогда функции, соответствующие
выделенным состояниям, называются целевыми, а сам автомат - целевым автоматом.
Остановимся пока на случае выделения одного целевого состояния В автомате, заданном
таблицей 5.6, выберем таковым состояние q = 2. В это состояние целевой автомат всегда
ставится в начальный момент времени. Других начальных состояний у него нет. Целевой
автомат вычисляет только одну функцию. В нашем случае это функция 5 х | 2 = х" Чтобы
выделить целевой автомат, будем всегда писать выбранное состояние рядом с символом ав-
томата, что приведёт к обозначению: 52(х) = х", в некотором смысле обосновывающему
первоначальное обозначение 52 для построенного автомата. Он интересен своей новой вы-
числяемой функцией 52(х) = х". Две предыдущие функции вычислялись, если использовать
введённое обозначение, целевыми автоматами 50(х) = х и 51(х) = х'.
Автоматы, не являющиеся целевыми, будем называть просто автоматами.
Для целевых автоматов меняется понятие недостижимого состояния. В целевом авто-
мате состояние называется недостижимым, если в него невозможен переход из началь-
ного состояния
Процедура минимизации целевого автомата формально совпадает с минимизацией произ-
вольного автомата и состоит в удалении лишних эквивалентных состояний, а также недости-
жимых состояний. Но результаты оказываются различными по сравнению с минимизацией
родственых им авгоматов, т.е. автоматов, из которых они получены путём фиксирования на-
чального состояния. Это хорошо иллюстрируется на примере разобранного далее автомата 53.
Рассмотрим пример вычисления с помощью целевого автомата 52(х) = х*.
Пример. Пусть х = 03221. Подадим х на вход автомата. В нём начальным состоянием
является q = 2 . Развёртка имеет вид:
5 4 3 2 1 0 t
б 3 2 2 1 X
1 0^0 <- 0 «- 0 <- 0 1 <- 2 q
1 J. J.
б 3 2 2 3 У
103
Получился результат, записываемый в виде: 52(03221) = 03223, подтверждающий, что
целевой автомат 52(х) = х" осуществляет сдвиг на две единицы в сторону роста в ряду
натуральных чисел.
§ 4. Последовательное соединение автоматов 51 и 52. Автомат S3
Этот случай, хотя и имеет особенности, аналогичен предыдущему, поэтому будет рас-
смотрен без подробностей. Последовательное соединение изображено на рисунке 5.2.
S3
Рис. 5.2. Последовательное соединение 5251
Это последовательное соединение вычисляет 6 суперпозиций функций в зависимости от
начальных состояний, автоматов 51 и 52.
Автомат 51 на рисунке 5.2 будем называть первым, автомат 52 - вторым.
Обозначим:
I
0 - функцию переходов автомата 51;
1
о - функцию выходов автомата 51;
2
9 - функцию переходов автомата 52;
2
о - функцию выходов автомата 52.
Обозначим также:
1 1 1 11 п
д - состояние автомата 51, q е Q = [0, 1J .
2 2 2 12 2 21
q - состояние автомата 52, <Э = (0, 1, 2).
Тогда можно составить таблицу суперпозиций функций, вычисляемых цепью, пред-
ставленной на рисунке 5.2. В последнем столбце приведён набор функций, вычисляемых
этой цепью. Ими являются' 5 х | 0. 5 х 11, 5 х | 2, 5 х | 3. Из них первые три функции -
«старые» функции, встречавшиеся ранее, и одна новая функция 5 х 13.
Таблица 5.7
Функции, вычисляемые цепью 5251
Начальное состояние 52 Начальное состояние 51 Суперпозиция функций Эквивалентный сдвиг
2 0 1 0 1 2 55х |0|0 5х |0
2 1 1 0 5 Sx 1011 5х|1
2 2 0 1 2 55х | 01 2 5х |2
2 0 1 1 1 2 5 5 X 111 0 5 1 х
2 1 1 1 1 2 5 5 х |1|1 5х |2
2 2 1 1 1 2 55х 111 2 5 х 13
104
Именно ради этой новой функции создавалась цепь на рисунке 5.2, чем и оправдыва-
ется общее название цепи - «цепь S3».
я
Состояниями цепи являются пары
, они же являются состояними промежуточно-
)Я)
го автомата А , эквивалентного цепи:
2 2
Q = QxQ = iq =
<7
2
Ключевая схема остаётся прежней (см. (5.8)):
2 2 2)
q G Q ~ 9,1 [, <7е Q = { 0,1,2 '.
(5.12)
Qqx
2 2 11
, Cqtjqx.
(5.В)
Я
V1)
9 q о <7 Ху
Как и раньше, с её помощью составляется таблица переходов-выходов автомата А , экви-
валентного цепи, и потом с применением теорем (Эо), (ЭО и т.д. может быть решена про-
блема нахождения эквивалентных состояний автомата А . Но возможно и другое решение
этой проблемы, основанное на применении таблицы 5.7. Для этого снова обратимся к
определению эквивалентности состояний автомата, основанному на использовании ото-
бражений, реализуемых автоматом (см. гл. 4, § 4):
опр
Определение 1. [</| ~ </2Vx [Лх | qi = Ах | q2]
о
2
1
1
2
О
Из таблицы 5 7 видно, что пара состояний ср =
и <72 =
обладает свойствами:
о
2
1
А х | qj = А х
= S X 11 и А х \ q2 = А х \
1
2
9
= S
т.е. при всех х справедливо равенство:
Ax\ql=Ax\q2=Sx\l,
что означает, что состояния и q2 эквивалентны:
О
2
1
1
2
О
1
2
О
Одно из них, скажем.
, удаляем и все переходы в него заменяем переходами в остав-
ляемое состояние
о
2
1
105
Аналогично по таблице 5.7 обнаруживается, что состояния
эквивалентны.
Одно из них, скажем,
, удаляем и все переходы в него заменяем переходами в остав-
ляемое состояние
В результате получаем с использованием ключевой схемы (5.13) таблицу 5.8 перехо-
дов-выходов минимального автомата 53, эквивалентного цепи 5251, изображённой на
рисунке 5.2. У этого автомата четыре неэквивалентных состояния, и каждому из них
соответствует одно из отображений последнего столбца таблицы 5.7, причём ни одно из
отображений не оказывается утерянным.
Но в полученной таблице 5.8 запись состояний автомата несколько громоздка,
поэтому, как и раньше, вводятся переобозначения состояний:
0 2 об = 0, 0 2 об =1, 0 2 об =2, 1 2 об =3
А А
Таблица 5.8
Переходы-выходы минимального автомата 53
\ q 0 (1 0 0 (1 1
X \ 2 J.) 2 <1 > 2 V2 2
0 (П 0 2 Я ,0 0 2 Л ,1 (i> 0 2 Я ,2 0 2 Я ,3
1 гп 0 2 А ,1 0 2 ,2 ГI > 0 2 А ,3 0 2 ,0
2 0 2 ,2 гт> 0 2 0, ,3 0 2 ,0 0 2 ,1
3 0 2 А ,3 0 2 а ,0 0 2 А ,1 0 2 ,2
Таблица 5 8 переходит в таблицу 5.9.
106
Таблица 5.9
Минимальный автомат S3=S х | q q е Q - {0,1.2,3}
х \ 0 1 2 3
б 0,0 о,1 0,2 0,3
1 0,1 0,2 0,3 1,0
2 0,2 0,3 1,0 1,1
3 0,3 1,0 1,1 1,2
Видно, что в таблице 5.9 содержится таблица 5.6 минимального автомата S2 и, следо-
вательно, автомат 53=5 х | q , q е Q = {0,1,2,3} является расширением автомата 52. Функ-
ция, вычисляемая этим автоматом при постановке его в состояние q = 3 как начальное, -
новая ио сравнению с предыдущими и представляет собой сдвиг на три единицы в ряду
натуральных чисел. Убедимся в этом на примере.
Пример. Пусть .» = 03221. Подадим х на вход автомата, заданного таблицей 5.9. Изо-
бражаем развёртку, протоколирующую процесс вычисления. Пишем результат:
5 032211 3 = 03230 . Как видим, действительно выполнен сдвиг на три единицы.
5 4 3 2 1 0 t
б 3 2 2 1 X
1 0 <- 0 1 <- 0 1 <- 0 1 <- 1 1 <- 3 q
; ;
0 3 2 3 0 У
Обращаем внимание на то, что автомат, заданный таблицей 5.9, нецелевой и все его
состояния равноправны в том смысле, что любое из них может быть взято в качестве на-
чального То, что автомат нецелевой, отражено в записи автомата простановкой состоя-
ния q после вертикальной черты, показывающей, что состояние q может быть любым из
множества q е Q = {0,1,2,3} .
Теперь рассмотрим целевой автомат, получающийся из автомата с таблицей 5.9 путём
фиксации начального состояния q = 3 . Других начальных состояний у этого автомата по
определению быть не может. Запись целевого автомата становится иной: 53(т), т.е. сразу
вслед за символом автомата стоит то состояние, которое взято в качестве начального; при
этом наличие операнда х в записи целевого автомата обязательно. Запись 53 без опе-
ранда используется в другом смысле (см. выше). Итак, рассмотрим таблицу 5.9 теперь
как таблицу целевого автомата с начальным состоянием q = 3 . Сразу бросается в гла-
за, что из начального состояния q = 3 невозможен переход в состояние q = 2, присут-
ствующее в таблице 5.9. Следовательно, согласно определению недостижиых состоя-
ний для целевых автоматов, состояние q=2 является для целевого автомата S3(x)
недостижимым и может быть удалено из таблицы без нарушения способности автома-
та вести целевое вычисление. Таким образом, целевой минимальный автомат 53(х)
имеет другое множество состояний, чем минимальный автомат 53, от которого он
произошёл. Приведём таблицу переходов-выходов целевого минимального автомата
53(х):
107
Таблица 5.10
Целевой минимальный автомат S3(x)
X \ 0 1 3
0 0,0 0,1 0,3
1 0,1 0,2 1,0
2 0,2 0,3 1,1
3 0,3 1,0 1,2
Она получается из таблицы 5.9 путём удаления столбца, соответствующего состоянию
7 = 2. (Переименование состояний здесь не желательно, хотя и возможно.)
Сравним записи для множеств состояний двух последних родственных автоматов: для авто-
мата 5'3 множество состояний Qsi = {0, 1, 2, 3}; для целевого автомата 5'3(т ) множество со-
стояний 2s3(x; = {0,1,3} .
Замечание 1. Можно показать, что цепь 5'152 (отличная от рассмотренной цепи 5'25'1)
приводит к тем же автоматам 5'3 и 5’3 Сг). Это означает наличие коммутативности и един-
ственности порождаемых минимальных автоматов (нецелевого и целевого).
Замечание 2. Обратим внимание, что переход от соединения 5'25'1 к минимальному авто-
мату S3 с точки зрения кибернетической есть метасистемный переход (см. [11, 14]). Дейст-
вительно, в полном соответствии с основной идеей теории систем, состоящей в том, что сис-
тема не есть простая сумма составляющих её подсистем, а есть новый объект, обладающий
новыми свойствами, выполняющий новые функции, автомат 53 вычисляет новую функцию
по сравнению с функциями автоматов 51 и 52; кроме того, автомат 53, реализующий те же
отображения, что и цепь 5251, структурно совершенно новый объект, отличный и от автома-
та 51, и от автомата 52. и от цепи 5251. Можно провести аналогию с живой природой и заме-
тить, что удаление лишних эквивалентных и недостижимых состояний сравнимо с «атрофи-
рованием нефункционирующих органов». Переход от цепи 5251 к 53 может служить приме-
ром математической модели эволюции. Для минимального автомата 53 будем использовать
также развёрнутое обозначение 5 х | q , q е Q = {0,1,2,3} , в котором автомат 53 выделяется в
семействе автоматов сдвига указанием его множества состояний.
§ 5. Минимальность целевого автомата 53(х)
Хотя минимальность целевого автомата 53(х) доказана путём приведения к определе-
нию, её можно обнаружить также иначе, доказав теорему о несуществовании автомата,
вычисляющего ту же целевую функцию, что и автомат 53(х), но с меньшим числом со-
стояний. Метод доказательства является общим и может быть применён в других случаях.
Поэтому целесообразно рассмотреть его отдельно.
Множество состояний Qsi^) ={0,1,3} целевого автомата 53(х) имеет три состояния. Надо
доказать, что не существует автомата с двумя состояниями, вычисляющего ту же функцию, что
и автомат 53(5).
Пусть 5'3(5) - целевой автомат с двумя состояниями Q = {О', Г}, вычисляющий ту же
функцию 53(г), причём пусть для определённости, состояние q = Г будет у него начальным.
Функцию, вычисляемую автоматом 53(х), можно записать как соответствие:
5 = 5v.Jq.Vo ~>У = -Уо-УЗУо , (5-14)
108
где
Уъ=<з$Х(у, yi = o03x()Xi, yt = о91^93хо...хг_]Л:г. (5.15)
I раз
Автомат S'3(x) вычисляет ту же функцию, поэтому для него должно быть записано анало-
гичное соответствие:
х = 6x,...x1x0 ~^У = (5.16)
где
у0 =о,Гхо, yi = о,0'1'хох1, yt = с,0,...0/Гл:о...х/_]х?, (5-17)
t раз
0' и о' - функции переходов и выходов автомата S'3(x). Нужно доказать возможность сущест-
вования этих функций, чтобы обнаружить возможность существования автомата 5''3(х).
В силу совпадения результатов отображений (5.14) и (5.16) должны выполняться равенства:
СУЗХо = g'Yxq, (5.18)
a03xoxi = g'Q'YxoX] , (5.19)
o0...03xo...xz_1xz = o/0/...0,l,xo...x/_1jcr, (5.20)
t раз t раз
для любых хе Z<4) = {0, 1, 2, 3}.
Равенство (5.18) говорит о совпадении функции выходов автомата 5'3(х) для начального
состоянии q = Г и функции выходов автомата S3(x) для начального состояния q = 3. Это даёт
возможность начать строить таблицу переходов-выходов автомата S'3(x).
Таблица 5.11
Переходы-выходы 5'3(х) (1-й шаг)
X 0' Г
б ,3
1 ,0
2 ,1
3 ,2
Полагаем в (5.19) х0 0. Получаем равенство: gOxi = а'б'ГОхц которое говорит о том,
что в автомате S'3(x) переход </ = 0'1'0 должен происходить в такое состояние q’. для
которого функция выходов а' совпадает с функцией выходов автомата S3(x) для состоя-
ния 9 = 0: сОх = аТ/'х,. Поскольку для состояния q' = 1' функция выходов другая, не сов-
падает с функцией выходов g0x|. этим состоянием в автомате S'3(x) может быть только
состояние q' = О', что позволяет продолжить заполнение таблицы 5.11.
Таблица 5.11
Переходы-выходы целевого минимального автомата .$'3(х) (2-й шаг)
х \ 0' 1'
б ,0 ,3
1 ,1 ,0
2 ,2 ,1
3 ,3 ,2
109
Полагаем в (5.19) х0 = 1. Получаем равенство. Д1.Г] = о'0'Г1.гь которое говорит о том,
что в автомате 5'3(7) переход q =9'1'1 должен происходить в такое состояние q', для
которого функция выходов а' совпадает с функцией выходов автомата 53(7) для состоя-
ния <7 = 1: cl.vi = a'q'xi. Поскольку для состояния q = Г функция выходов не совпадает с
функцией выходов сЬц, поскольку также для состояния q' = 0' функция выходов не сов-
падает с функцией выходов ст1 этим состоянием в автомате S'3{x) не может быть ни
состояние q = О', ни состояние q = Г. Но других состояний в автомате 5'3(7) нет, что
позволяет заключить, что автомата 5'3(7) с двумя состояниями, эквивалентного автомату
53(7), не существует. Минимальность целевого автомата 53(7) доказана. Метод доказа-
тельства является общим, справедливым в аналогичных случаях.
§ 6. Последовательное соединение автоматов 51 и 5(и-1).
Автомат Sn и целевой автомат Sn(x)
Уже из рассмотрения предыдущих автоматов сдвига видна закономерность их образо-
вания, хорошо проявляющаяся в таблице 5.9. Используя эту закономерность, можно дове-
сти построение автоматов сдвига до сколь угодно большого значения. Проведём построе-
ние до, например, значения q = 13.
Таблица 5.12
Переходы-выходы минимального автомата 5 7113
х 0 1 2 3 10 И 12 13
б 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3
0,1 0,2 0,3 1,0 1,1 1,2 1,3 2,0
2 0,2 0,3 1,0 1,1 1,2 1,3 2,0 2,1
3 0,3 1,0 1,1 1,2 1,3 2,0 2,1 2,2
Множество состояний этого автомата 21з = {0, 1, 2, 3, 10, 11, 12, 13}, причём все его
состояния неэквивалентны. При выборе любого из этих состояний в качестве начального
автомат вычислит функцию сдвига на величину выбранного состояния.
Пример. Пусть q = 12 и 7 = 03221. Подадим 7 на вход автомата, заданного табли-
цей 5.12. Изображаем развёртку, следящую за процессом вычисления:
5 4 3 2 1 0 t
0 3 2 2 1 X
1 0 <- 0 1 <- 0 1 <- 0 1 1 <— 1 <— 12 q
1 J. J. 1 1
б 3 2 3 3 У
Получившийся результат записываем в виде 5 03221112 = 03233, который показывает,
что действительно выполнен сдвиг на величину, равную номеру состояния q = 12.
Если выбрать целевой автомат с начальным состоянием q = 13, то таблица целевого
автомата 513(7) будет заметно отличаться от таблицы автомата 5 7113 .
ПО
Таблица 5.13
Переходы-выходы минимального целевого автомата 513(х)
х 0 1 2 13
б 0,0 0,1 0,2 1,3
1 0,1 0,2 0,3 2,0
2 0,2 0,3 1,0 2,1
3 0,3 1,0 11 2,2
Множество состояний целевого автомата 513(.v) бви; = {0,1,2,13}.
Разобранный пример лишь подтверждает гипотезу о возможности использования от-
меченной закономерности для построения семейства автоматов сдвига. Доказательство
справедливости такого подхода основывается на методе математической индукции. Для
этого, продолжая основную линию, нужно расмотреть последовательное соединение
S(n - 1)51, где 5(и - 1) - автомат сдвига на (/г-1) единиц, задание которого предполагается
известным и укладывающимся в рамки найденной закономерности, а .51 - исходный ав-
томат сдвига, и показать, что получившийся минимальный автомат Sn, эквивалентный
цепи S(n - 1 )51, также подчиняется найденной закономерности.
Для реализации этого необходимо, прежде всего, дать формальное описание обнару-
женной закономерности. С этой целью обратимся к таблице 5.12 для автомата 513.
Первое, что мы обнаруживаем, состоит в том, что строка состояний - это строка нату-
ральных чисел, которую можно неограниченно продолжать вправо. Второе - то, что нату-
ральные числа представлены неравноправно: одни, как, например, число 322012, занима-
ют 6 мест разрядной сетки, а другие, такие, как 12, только 2 места. Для формализации
необходимо иметь равноправное представление натуральных чисел, что достигается с
помощью уже известного знака 0 , обеспечивающего запись натуральных чисел на беско-
нечноместной разрядной сетке и избавляющего нас от необходимости рассматривать
случаи различного разрядного представления чисел. Поэтому, переходя к таблице 5.14.
первое, что мы сделаем, - снабдим все символы состояний знаком 0 :
Таблица 5.14
Переходов-выходов минимального автомата 513
X 5 01 02 5з 610 он 612 613
б б,б 6,1 0,2 0,3 61,0 51,1 01,2 01,3
1 5,1 0,2 б,з 51,0 61,1 61,2 61.3 02.0
2 0,2 0,3 01,0 61,1 61,2 61,3 02,0 02,1
3 6,3 61,0 61,1 51,2 51,3 52,0 02,1 02,2
Далее, если убрать все запятые в таблице 5.14, то станет ясно, что первая строка ниже
строки состояний, т.е. строка на уровне цифры 0 совпадает со строкой состояний. Можно
также сказать, что она получена из строки состояний сдвигом на величину 0, т.е. на вели-
чину цифры 0. Вторая строка, т.е. строка на уровне цифры 1, получена из строки состоя-
ний сдвигом на цифру 1. Строка на уровне цифры 2 получена из строки состояний сдви-
гом на цифру 2, и, наконец, строка на уровне цифры 3 получена сдвигом на 3. Итак, все
последующие строки получены из строки состояний сдвигом на соответствующую циф-
ру. Чтобы учесть эту закономерность, мы канонизируем автоматы, осуществляющие
111
сдвиг на цифру в четверичной системе счисления (в общем случае - в Л-ричной системе
счисления). Это делается без труда, поскольку эти автоматы у нас уже есть и они содер-
жатся, по существу, в таблице 5.9, которую мы слегка переоформим. В переоформленной
таблице цифра q представлена как число q , что вполне допустимо, т.к. цифра q не только
знак, но и имеет числовое истолкование.
Таблица 5 15
Переходы-выходы канонических автоматов для сдвш ов на цифру
Сдвиги ST |5 st|5i S Т 02 ST|03
<7 X 6 61 02 03
5 6,5 5,1 5,2 5,3
1 6,1 6,2 б,з 61,0
2 6,2 5,3 51,0 5i,i
3 5,3 01,0 51,1 51,2
В таблице 5.15 над каждым состоянием q стоит символическая запись той операции
сдвига, которая реализуется при постановке автомата в соответствующее состояние. Бла-
годаря этим четырём каноническим автоматам сдвига сдвиги строк состояний в табли-
це 5.14 в каждом столбце q записываются так:
S?|6.r, (521)
гдеX-цифра, т.е. ле Z(4) =^0.0,1,2..’
Например, столбец таблицы 5.14, расположенный под состоянием <7 =012, без запя-
тых будет записан так.
% 6 512
5 s би |5
1 s 512|51
2 S 512 1'02
3 S 612I03
Действительно, s612|6 = 612, S 0121 61 = 513, S'012 102 = 020, S 512 | 5з = 021, что с
точностью до запятых совпадает со столбцом q = 012 в таблице 5.14. Для завершения
построения столбца таблицы 5.14 осталось отделить цифру из разряда единиц от всех
остальных цифр числа q . Это делается с помощью специальных функций отрыва.
Пусть q = Qq,....q1q\q(i - натуральное число. Тогда, по определению,
Ж = )6</,....?2<71<7о( = 0qr...q2qi,
<4) = = Чо,
112
где символом )q{ обозначена функция отрыва количества десятков числа q , а симво-
лом (р обозначена функция отрыва количества единиц числа q .
Обе фукции автоматно вычислимы, т.е. для каждой из них существует автомат, их вы-
числяющий.
С помощью введённых функций любой столбец под состоянием q описывается одной
ключевой формулой:
q,X —> )5 q бх(, (5 q | бх).
(5.22)
Читаем: «автомат из состояния q под действием входного сигнала х переходит в новое
состояние )5 q | 0х( и вырабатывает выходной сигнал (5 q | Ох) ».
Из (5.22) следует, что функции переходов и выходов любого автомата сдвига опреде-
ляются единообразно:
0<?х = )S q бх(
aqx = (S q \ Ox)
(5.23)
где xe Z(4) = {б,0,1,2,з} , ^еА0={0, 01. 02, 03......
Для работоспособности формулы (5.22) необходимы канонизация четырёх автоматов
сдвига (в общем случае по количеству цифр в выбранной системе счисления) и введение
функций отрыва. Формулы (5.22) и (5.23) и есть искомый результат: они отражают за-
кономерности, имеющие место в таблице 5.14 и её продолжениях. Но формула (5.22) -
это краткая формулировка найденной закономерности, полученная из конечного экспе-
риментального материала, претендующая, однако, на справедливость во множестве всех
натуральных чисел. Для этого она, как и всякое утверждение, определённое на множестве
натуральных чисел, должна быть доказана по индукции.
Повторим: для этого нужно расмотреть последовательное соединение S(n- 1)51, где
S(n- 1) - автомат сдвига на (п-1) единиц, задание которого предполагается известным и
укладывающимся з рамки найденной закономерности, а 51 - исходный автомат сдвига, и
показать, что получившийся минимальный автомат Sn, эквивалентный цепи S(n--1)51,
также укладывается в рамки найденной закономерности.
Обозначим:
1 1 1 [1 i 1
q - состояние автомата 51, q е Q = 0, 01 >;
2 2 г (I 2 2 1
q - состояние автомата 5(л-1), qeQ = <0, 01, ...,0(и-Щ.
Все состояния этих автоматов неэквивалентны, и каждый из автоматов, будучи по-
ставлен в любое состояние как начальное, вычисляет специальную функцию, связанную с
этим состоянием. Автомат 51 вычисляет две различные функции, автомат S(n - 1) вычис-
ляет п различных функций. Последовательное соединение вычисляет 2п функций, не все
из которых, однако, различны.
Как и раньше, состоянием цепи считаем пару:
Я
. Она же является состоянием про-
межуточного автомата А , эквивалентного цепи. Ключевая схема автомата А :
113
( -
Qq х
2 1
JSqeqX;
2 1
Gqaqx.
(5.24)
В ключевой схеме (5.24) над символами функций переходов и выходов не стоят как
раньше, индексы, нумерующие автоматы, поскольку в (5.23) мы уже отметили, что эти
функции неразличимы, их значение определяется состоянием и входным сигналом.
Перечислим состояния автомата А .
ЛП <1 > f 1 1
бб О
2’2 ’2
(6j (61J 1^02,
р л
61
2
0 ,
М б/1 6
51 61
2 ’ 2
чб1) l02J’
(' 6
01
2
чб(и-1)?
& =
б
Всего 2л состояний. Среди них могут быть эквивалентные состояния. Для их обнаруже-
ния и последующей минимизации автомата А применим приём из § 4 и построим табли-
цу 5.16, аналогичную таблице 5.7.
Те состояния автомата А , для которых итоговые отображения окажутся совпадающи-
ми, согласно определению эквивалентных состояний, являются эквивалентными. Признак
эквивалентности состояний легко обнаруживается, и тем самым проблема эквивалентно-
сти состояний оказывается решённой.
Таблица 5.16
Функции, вычисляемые цепью S(n - 1)51
Начальное состояние S(n - 1) Начальное состояние 51 Суперпозиция функций Эквивалентный сдвиг
2 б 1 6 1 2 s s т 1515 5Т|0
2 61 1 6 1 2 5 5 х 5 51 5x1
2 02 1 5 1 2 5 5х|б|02 5Т|2
2 5(и-1) 1 6 1 2 ss х |5|5(»-i) 5 .? |(27-1)
2 б 51 1 2 ss 151 б 5x1
2 61 51 1 2 SS х 16101 Sx 2
2 02 51 1 2 SS х 1 011 02 Sx |3
2 5(77-1) 51 1 2 SS X | 51 | 0(77-1) S х\п
Из таблицы видно, что следующие пары состояний автомата А эквивалентны (аргу-
ментация та же, что и в § 4):
114
0
2
01
01
2
о
б
2
02
01
2
01
0
2
5(и-1)
01
2
б(и-2)
Итого (и-1) пар эквивалентных состояний. Удалим «лишние» эквивалентные состояния, в
роли которых будут выступать состояния с
ство состояний:
01 в верхней строчке пары. Останется множе-
б
2
о
б
2
61
о
2
02
61
2
0
2
5(77-1))
первые п из которых являются состояниями, из которых автомат Ашп ведёт те же вычис-
(5.25)
ления, что и автомат Sin - 1). Лишь из последнего состояния
61
2
б(и-1)
дёт новое вычисление - сдвиг Sn, ради которого и создавлась цепь.
От громоздких обозначений (5.25) для состояний автомата Лшш перейдём, как и
раньше, к более компактным обозначениям, используя правило:
автомат /1Г111П ве-
q
2
S4)
об
--S
q | q . Тогда получим:
1
= 501 0 = 0,
5
Дп-1).
б
г
61
1 1
= 50|01 = 01,
1 1
= 50|0(и-1) = 0(и-1),
61
2
б(и-1)
1 2 0Q
= 5'O1|0Oj-1) = 0«.
(5.26)
0
2
о
Забегая вперёд, автомат с переобозначенным множеством состояний (5.26) будем
называть минимальным автоматом Sn с множеством состояний
Qs„ = {б, 51, 02, ... ,5(и-1), би}. (5.27)
Для оправдания этого надо ещё доказать, что новое состояние q = On подчиняется общей
закономерности (пока гипотетической), присущей состояниям всех автоматов сдвига:
столбец под состоянием q вычисляется по формуле (5.21): 5 q | 0х или (5.22).
Для этого заполняем столбец таблицы переходов-выходов автомата Ашш для состоя-
ния
би =
51
,5(77-1);
. При этом используется ключевая схема (5.24). Имеем последователь-
но длях = 0, 1, 2, 3.
115
Полагаем х = 0:
5/7,0 =
61
,6(77-1)
0010
2 1
;об(л-1)обю
2 1
, сб(и-1)аб10 =
0
2
00(77-1)1
2
, сб(/? -1)1 =
б
>50(77-1) I 01<
,(50(/7-1)|б1> =
= 5)50(77 -1) I б 1(1 б, (50(77 - 1) I б 1) =
=>50(77 - 1) | б 1>(,(50(77 - 1) | б 1) =)5 6(7 | 5(, (5 077 б>.
Т.е. для х = 0 закон (5.22) выполняется.
Полагаем х = 1:
би.1 =
Г 1 б
ООП
2 1
ч0О(77-1)оО11^
2 1
об(77-1)аб11 =
б
2
00(77 -1)2
2
об(я-1)2
(1 >
б
J50(77 —1) 102(?
,(50(77-1) 102>
=>50(77-1) | б2(, (55(77 -1)1 02> =>5077 | 01(,(5077 I 61).
Т.е. длят 1 закон (5.22) выполняется.
Аналогично показывается, что длях = 2, 3 закон (5.22) также выполняется.
Тем самым доказано, что автомат Sn с множеством состояний (5.27) вписывается в
семейство автоматов сдвига, для которых справедлив общий закон образования табли-
цы переходов-выходов, выражаемый формулами (5.21), (5.22), (5.23).
В итоге семейство автоматов сдвига образует множество автоматов, единообраз-
но записываемых в виде
{5х|<?}, где q,x е No = {6,01.02,...} . (5.28)
Запись (5.28) читается: «семейство автоматов сдвига представляет собой множество авто-
матов сдвига с общим представителем S x\q , где q и х - произвольные натуральные
числа».
Будем (5.28) записывать также кратко:
(5.29)
и читать: «семейство автоматов сдвига представляет собой множество автоматов сдвига с
общим представителем Sx\q, где q меняется от 0 до бесконечности».
Автомат Sn выделяется из множества (5.28) указанием его множества состояний:
Qs„ = {б, 61, 02, ... ,5(77-1), бтг].
Целевой автомат Sn(x) получается путём выбора состояния q =Qn в качестве на-
чального и запрета всем остальным состояниям выступать в качестве начальных, а также
путём удаления всех недостижимых состояний.
116
§ 7. Бесконечный автомат сдвига
Отправляясь от автомата сдвига
5 .» | q, q е Q\ = {0,01}.
Je M, = {6,61,52,03,610,...},
(5.30)
заданного таблицей 5.17, которую с некоторыми усовершенствованиями мы воспроизве-
дём далее, методом последовательного синтеза получено бесконечное семейство автома-
тов сдвига, осуществляющих сдвиг в ряду натуральных чисел % на произвольное число.
Отличаются автоматы сдвига друг от друга своими множествами состояний:
5 x\q, qc & = {5,б1,...,й}, п,хе No ={5,01,02,03,610,...} . (5.31)
Таблица 5.17
при этом все они неэквивалентны. Автомат (5.31) может выполнить сдвиг на любое
число единиц от 0 до п , т.к. все автоматы сдвига, выполняющие сдвиг на указанное
число шагов, являются его подавтоматами, а он по отношению к ним - их расши-
рением. Максимальный сдвиг, который может выполнить автомат, - это сдвиг на п
шагов
Формульно все автоматы сдвига задаются одинаково, по формулам (5.22) и (5.23), ко-
торые мы, для удобства, воспроизведём здесь.
Ключевая схема для всех автоматов (см. текст в § 5 перед (5.22)):
q,x —> )S q бх(, (5 q I Ox)
r - , (5-32)
^й={о,01,...,»}
где .S' q | Ox - канонизированные автоматы сдвига на цифру, х е Z(4) = {0, 1. 2, 3}.
Канонизированные автоматы содержатся в таблице 5.18.
Таблица 5.18
Канонические автоматы сдвига на цифру
Сдвиги 5x6 5х|61 5 х | 02 .S' х | 03
q 6 61 02 03
6 0.0 6,1 6,2 6,3
1 6,1 5,2 5,3 61,0
2 6.2 6,3 61,0 01.1
3 5,3 61.0 01,1 61,2
117
Их всего четыре (в общем случае столько, сколько цифр в системе счисления), и они
выступают в роли «универсальной обслуги» по отношению к бесконечному семейству
автоматов сдвига.
Напоминаем, что справа от черты стоит состояние автомата, в которое он ставится в
начальный момент времени. В таблице x,q& Z(4j = {0,1,2,3} = {0,01,02,62 . 00 = 0, т.к.
цифры имеют и числовую трактовку.
Кроме того, автоматы сдвига могут быть заданы с помощью явного указания их функ-
ций переходов и выходов:
[tiqx = )S0q\x(
[07л: = (.S'0«/|x)
где.г е Z(4) = {0, 1, 2, 3}, q g Qn = -jo. 61, .., и}
Приведённые формулы констатируют наличие закономерностей во множестве автома-
тов сдвига, которые могут быть сформулированы по-разному: 1) формулировка законо-
мерностей по столбцам, 2) формулировка закономерностей по строкам, 3) формулировка
закономерностей, проявляющихся при сравнении строк. Эти закономерности использу-
ются при построении их таблиц
Следующий шаг, согласно теории метода последовательного синтеза (гл. 3, §4), состо-
ит в создании из бесконечного семейства автоматов сдвига одного нового автомата, яв-
ляющегося сборкой этих автоматов. Сборка получается объединением всех входов авто-
матов сдвига в один вход. Эта операция выполнима, поскольку все автоматы сдвига име-
ют одинаковые входы, состоящие из входных линий, по которым подаются цифры систе-
мы счисления. После объединения входов получается автомат с бесконечным числом
состояний и одним входом (до этого каждый автомат сдвига имел свой вход), формульное
задание которого почти совпадает с (5.31), за исключением того, что q принадлежит
бесконечному множеству:
Sx\q, q, х е No = {6,61,02,03,610,...} (5.34)
Описание (5.34) является формульным описанием бесконечного автомата сдвига. При-
ведём срез таблицы, задающей этот автомат.
Таблица 5.19
Бесконечный автомат Sx\q, <j,xe No = {5,51,02,03,610,..}
X 0 61 02 03 610 511 512
6 0,0 6,1 6,2 б,з 51,0 51,1 51,2
1 6,1 6,2 6,3 61,0 61,1 51,2 51,3
2 5,2 5,3 01,0 01,1 51,2 61,3 52,0
3 0,3 61,0 01,1 01,2 51,3 52,0 52,1
Заметим, что для нумерации состояний этого автомата использованы все натуральные
числа, т.е. «свободных» натуральных чисел для нумерации состояний больше нет.
В ближайшем будущем появятся новые автоматы, не входящие в уже построенное семей-
ство автоматов сдвига, которые, однако, мы также будем называть автоматами сдвига.
В них появятся новые состояния, соответствующие их новым функциональным возмож-
ностям, несущие в себе вполне определённый вычислительный смысл, не совпадающий с
вычислительным смыслом уже существующих состояний. Поэтому использовать нату-
118
ральные числа для нумерации их состояний нельзя, т.к. каждому состоянию в построен-
ном семействе автоматов сдвига уже приписан вычислительный смысл, отличный от вы-
числительного смысла новых автоматов.
С помощью автомата, заданного в таблице 5.17, для любого числа х е No может быть
совершён сдвиг на любое число q е. No . По существу, в этой фразе описана новая матема-
тическая операция по отношению к операции сдвига. Она выполняется над двумя пере-
менными величинами х, q е No . В этой новой операции узнаём сложение. Мы определим
об об
её формульно, предварительно введя обозначения: х = х1, q = х- .
Тогда, по определению,
опр
х1 + х2 = S х1 | х2 , (5.35)
где х',х2 е No.
Читаем (5.35): «чтобы найти сумму (используется традиционная терминология)
двух натуральных чисел х1 и х2, надо число х сдвинуть на величину х2». (Началь-
ное состояние, в которое ставится автомат в начальный момент времени, есть величи-
на сдвига.)
Таким образом, математическая операция сложения определяется через математическую
операцию сдвига. Операция сдвига первична, а операция сложения вторична. Лишь после
введения определения (5.35) можно писать: S 11 х = х +1, т.е. что простой сдвиг может быть
истолкован как сложение с единицей. До введения определения (5.35) так писать некорректно,
т.к. представление сдвига через сложение есть апостериорное знание.
Обратим внимание на то, что в (5.35) оба числа х1 и х2 равноправны в том смысле,
что они являются натуральными числами. Но они не равноправны в (5.35) по своей роли:
одно из них - х2 - это состояние автомата, и оно поступает в автомат сразу, целиком,
будем говорить, «мгновенно», поскольку в это состояние автомат устанавливается в
начальный момент времени; а другое - х1 - поступает в автомат постепенно, растянутым
во времени, потактово. Это замечание мы учтём впоследствии
Резюме:
1. На основе бесконечного семейства автоматов сдвига, представленного множеством
.S' х | q, q е Qr = {б,б1,...,й}, п,х е No = }5,01,02,03,610,..} ,
проведено построение единого бесконечного автомата сдвига (см. (5.34)), являющегося
сборкой:
Sx\q, q,xe No = {б,61,02,03,610,...},
функционально эквивалентного бесконечному семейству автоматов.
2. На основе операции сдвига, реализуемой без ограничений на множестве натуральных
чисел бесконечным автоматом-сборкой, дано определение операции сложения на множе-
стве натуральных чисел.
§ 8. Обратный сдвиг
Автомат сдвига Sx\q, це Q =}б,01}, в котором выбрано начальное состояние
<7=61, т.е. автомат 5х|01, осуществляет сдвиг вправо на одну единицу в ряду нату-
ральных чисел:
119
No ={0,01.02,03,010 .] (5 36)
Он «тянет» нас вправо. Возникает естественный вопрос: а какой автомат потянет нас вле-
во? Другими словами, какой автомат по каждому натуральному числу будет находить
предшествующее ему число? Такой автомат называется обратным автоматом сдвига.
Чтобы найти такой автомат, обратимся к общему определению обратных автоматов и
воспользуемся им для нахождения интересующего нас обратного автомата.
Пусть А х | q, q е QA = {6,61,...,nj, Те No - автомат, все состояния которого неэкви-
валентны. Следовательно, он вычисляет (й + 1) различных функций.
Автомат В х | р, ре QB ={ро,р\,..}, Те No называется обратным по отношению к
автомату А х | q , если
\/q Эр Vx [3 А х | q | р = Т]. (5.37)
qtQi леКе
Таким образом, обратный автомат также должен иметь по крайней мере (к +1) различных
неэквивалентных состояний. Если он имеет большее число состояний, то эти «лишние»
состояния должны быть эквивалентны состояниям из числа упомянутых (п +1) различных
неэквивалентных состояний. Лишние состояния могут быть удалены с помощью известной
процедуры. Поэтому можно изначально считать, что у обратного автомата ровно столько
неэквивалентных состояний, сколько их у исходного автомата А.
Применяя это определение к нашему случаю, в роли автомата А х | q будем использо-
вать автомат Sx\q, qe Qt = ,0,0 j. Тогда обратный к нему автомат
В х | р, р е QB = {р0 ,/>]}, xeN0 будет иметь два неэквивалентных состояния. Пусть
состоянию q = 0 автомата 5 х | q соответствует состояние ра автомата В х I р, а со-
стоянию <7=01 автомата Sx q соответствует состояние р автомата Вх\р. Тогда
имеют место равенства:
Vx I = х], (5.38)
xeAfy1- -1
Vx Гй 5 х| 61 |J>, = х"|. (5.39)
Так как Vx 5 б | х = х , то из (5.38) следует Vx [й х | р0 = х], т.е. из состояния р0 ав-
томат В х | р осуществляет тождественное отображение. Рассмотрим переходы-выходы
из этого состояния. Пусть х = 0X....X]»,. Изобразим начало развёртки работы автомата й
по преобразованию этого слова. Имеем:
2 1 0 t
Х1 Хо X
I _ _|
... <- Po?VPl? «- Ро Р
-L J.
Х1 Хо У
Вопрос: что ставить в клетку для состояния при t= 1: ра или pt? Если поставить ра, то
тогда действительно будет реализовываться тождественное отображение Vx [й х | р0 = х],
120
строка результата в развёртке будет совпадать со строкой входа. Но, может быть, можно
поставить и В ? Оказывается нельзя Потому что из (5 39), с учётом того, что
5 х | 01 = х , где х - непосредственно следующее за х число, следует Vx [В х' | р = х]
или, если выразить то же самое в терминах предшествующего числа, Ух [В х | pi = 'х],
Ге «о
где 'х - непосредственно предшествующее число. Тогда начало развёртки работы авто-
мата В из состояния р имеет вид (см. далее), где 'х0 - предшествующая цифра по отно-
шению к цифре хо, всегда не равная цифре х0: 'х0 * х0. Поэтому в предыдущей развёртке
при t = 1 в клетке для состояния символ д стоять не может, ибо иначе в этот момент в
строке результата было бы 'xj, а не х(. Итак, в развёртке из начального состояния р0 пе-
реход при t = 1 возможен только в состояние р. Это позволяет нам изобразить ключевую
схему переходов-выходов из состояния р0:
р0,х -> р0,х, (5.40)
и сказать, что автомат В из начального состояния р под действием входного сигнала х
остаётся в том же состоянии р. и вырабатывает тот же сигнал х. Этот вывод будет ис-
пользован при построении таблицы переходов-выходов автомата В.
2 1 0 t
Х1 Хо X
I ]
... «- «- Pl р
) )
'хо у
Теперь рассмотрим переходы-выходы из состояния р}. Для этого, помимо приведён-
ной выше развёртки и соотношения Ух [В х | pt = 'х], вспомним отношение циклическо-
го V,
го порядка для цифр (см. гл. 2, § 16, (2.33)):
0-< 1 23--0. (5.41)
Из предыдущей развёртки с учётом (5.41) видно, что для значений цифры xe = 1, 2, 3 в
разряде 0, т.е. при t = 0, в строке результата получается цифра предшествующего числа,
при этом цифры входа в разрядах, начинающихся с первого, надо переводить в строку
результата без изменения, что возможно, если переход выполнен из состояния р\ в со-
стояние ~р0.
Если же Хо ~ 0, то в развёртке в строке результата в момент t ~ 0 появится цифра
'хо= 3. Поэтому если бы автомат совершил переход из состояния р, в состояние Д,, то в
строке результата появилось бы не предшествующее число, а одно из последующих. Зна-
чит, этот переход должен быть запрещён и оставлен единственно возможный - переход из
Р\ в р}. Тем самым переходы из состояния р- рассмотрены полностью и можно напи-
сать ключевую схему:
[если х = 1,2,3, то р, ,х —> рп/х
i , (5.42)
[если х = 0, то р> ,0 —> ,3
где 'х - предшествующая цифра в (5.41).
121
Полученные ключевые схемы (5.40), (5.42) позволяют построить таблицу переходов-
выходов автомата, осуществляющего обратный сдвиг.
Таблица 5 20
С точностью до обозначений автомат единственен. Он эффективно ведёт свои вычисле-
ния, что подтверждают вычисления следующего примера. Убедимся в правильности его
работы.
Пример 1. Пусть х = 02300 . Изображаем развёртку:
5 4 3 2 1 0 t
б 1 2 1 3 1 0 1 0 1 X
Ро <- 1 Ро 1 <- Ро <- 1 А 1 <- Р\ <- 1 Р\ р
J. 1 ( (
0 2 2 3 3 У
Пишем результат:
В 023001 = 02233. (5.43)
Он, очевидно, правилен. В последующем всегда будут получаться правильные результа-
ты, наподобие (5.43).
Снова обратимся к таблице 5.20 и рассмотрим её столбец, соответствующий состоя-
нию ри Видно, что если поставить автомат в это состояние как начальное, то автомат
будет реализовывать тождественное отображение. Но с этим случаем мы уже встреча-
лись: автомат, заданный в таблице 5.19, при q =0 имеет, с точностью до обозначений,
тот же самый столбец переходов-выходов. Поэтому мы в автомате, заданном в табли-
це 5.20, будем считать р. = 0 , что приведёт к такой таблице 5.21 переходов-выходов
Таблица 5.21
Автомат В х \р обратного сдвига
х Pi 6
б Pi Л 6,6
1 6,0 6,1
2 6,1 6,2
3 6,2 5,3
122
После чего видно, что автомат В х | р аккуратно пристраивается слева к бесконечной
таблице 5.19 автомата сдвига, превращая её в следующую:
Таблица 5.22
Бесконечный автомат ,5 х |,/
х Pi б 61 02 03 бю би
б А,3 5,6 5,1 5,2 5,3 51,о 51,1
1 6,0 5,1 5,2 5,3 51,0 61,1 51,2
2 6,1 5,2 5,з 61,0 51,1 51,2 51,з
3 0,2 б,з 01,0 61,1 61,2 51,з 52,0
Итак, бесконечная таблица автомата сдвига 5 х | q пополнилась ещё одним автоматом,
который вписывается в семейство автоматов сдвига и который мы также будем называть
автоматом сдвига. При постановке автомата сдвига 5 q | х в начальное состояние q = р
будет происходить сдвиг каждого натурального числа к предшествующему числу.
Это будет осуществляться во всех случаях, кроме одного, когда на вход автомата будет
подано число х = 0. потому что у этого числа нет предшествующего ему натурального
числа. Но автомат исправно сработает и в этом случае и выдаст результат, несколько не-
обычный, но вполне соответствующий природе вещей, который следует признать пра-
вильным.
Пример 2. Пусть х = 0 Изображаем развёртку:
1________0 t
5 х
_1
Pi <П Ч
3 У
С появлением в строке результата цифры со стрелкой, вычисление заканчивается. Пишем
результат:
5pi|6 = 3. (5.44)
Читаем: «в качестве числа, предшествующего числу 0, автомат сдвига выдал объект, не
принадлежащий множеству натуральных чисел No, изображаемый как 3 ».
Но нам известно, что числом, предшествующим числу 0, является минус единица,
(-1). Поэтому если представление (5.44) правильное, то мы должны написать:
3 = -1. (5.45)
И представление (5.44) правильное, ибо объект 3 обладает свойством, определяющим
минус единицу:
(-1)4-01 = 6. (5.46)
Действительно, 3 + 01 = 0, что проверяется «школьным» сложением столбиком:
123
[5 + 51 = 5]^ ...3 3 3 3
...0 0 0 1
... о о о о
Над тройками стоят единицы разрядного переноса. Под чертой в строке результата видно,
что вся разрядная сетка заполняется нулями, т.е. сумма действительно равна нулю.
Равенство (5.46) предлагает два варианта представления минус единицы. Левое пред-
ставление - автоматное представление, именно с ним могут работать автоматы. Правое
представление имеет истерический приоритет и является результатом изобретательской
деятельности человека. Но автоматы его не воспринимают, они не знают знака «минус».
Поскольку мы изучаем автоматы и абстрактные вычислительные устройства, мы будем
следовать за автоматами. В частности, минус единицу будем представлять как 3 .
Итак, объект, предшествующий числу 0 , есть 3 . Зафиксировав это, обращаемся к таб-
лице 5.22. в которой в строке состояний стоит упорядоченный ряд чисел, в котором каждое
левое число предшествует правому. Экстраполируя это наблюдение на столбец, предшест-
вующий столбцу, отмеченному состоянием q = 0 , мы должны заменить состояние q =р\
на состояние q = 3 . В результате таблица 5.22 перейдёт в следующую таблицу.
Таблица 5.23
Бесконечный автомат 5е х | q
X 3 6 61 02 03 610 511
0 3,3 5,5 6,1 6,2 0,3 01,0 51,1
1 0,0 6,1 6,2 6,3 51,0 01,1 51,2
2 6,1 6,2 6,3 61,0 51,1 51,2 51,3
3 6,2 0,3 61,6 61,1 61,2 51,3 52,0
Резюме'.
1. На основе общего определения обратного автомата проведено построение автомата
Вх\р (табл. 5.21), обратного к автомату сдвига S' х | q, g е Q = {6,5f Автомат В х | р
осуществляет в ряду натуральных чисел сдвиг к предшествующему числу (для всех чисел,
кроме нуля, 0).
2. С его помощью найдено автоматное представление для числа, предшествующего числу
0 , т.е для (-1). Оказалось, что представление имеет вид: -1 = 3. После чего символом 3
обозначено состояние р\ обратного автомата В х | р . В результате выяснилось, что авто-
мат В х | р , являясь ещё одним автоматом сдвига с начальным состоянием q = 3 вписы-
вается в таблицу 5.23 семейства автоматов сдвига с сохранением всех закономерностей,
присущих этой таблице.
§ 9. Отрицательные и целые числа
Первое отрицательное число, минус единица, представляемое автоматами как 3 , по-
лучено с помощью автомата обратного сдвига, который оказался встраиваемым в беско-
124
нечный автомат сдвига. Но вновь полученное число 3 можно также подать на вход авто-
мата обратного сдвига или, что отныне всё равно, на вход бесконечного автомата сдвига,
поставленного в состояние q - 3 и получить представление для числа, предшествующего
числу 3
Пример. Пусть х = 3 и автомат сдвига поставлен в состояние 9=3. Изображаем раз-
вёртку:
2 1 0 1
3 3 х
1
Q «— 6 <— 3 я
1
3 2 у
Поскольку в строке результата появился сигнал со стрелкой, то в этот момент вычисление
заканчивается. Пишем результат: .S' 3 | 3 = 32 . Читаем результат: «число, предшествующее
числу 3 , изображается как 32 », т.е. (-2) изображается как 32 , и мы можем написать:
32 =-2 , (5.47)
соблюдая аналогию с (5.45).
Аналогично получаются представления для других отрицательных чисел:
31 = —3, 30 = -10, 323 = -11, 322 = -12, ... (5.48)
Таким образом, к настоящему моменту помимо множества натуральных чисел
Л'„ ={б, 61. 02, 03, 16, ...} (5.49)
мы имеем множество отрицательных целых чисел
Z_( ={... , 323, 30, 31, 32, 5}, (5.50)
записанных в порядке их появления справа налево.
Множество целых чисел есть объединение этих двух множеств:
Z = Z_1UA0 ={•, 323, 30, 31, 32, 3, 5, 01, 02, 5з, 510, ...}. (5.51)
Автомат сдвига, поставленный в состояние </=01 как начальное, осуществляет в ряду
целых чисел сдвиг на единицу вправо; аналогично автомат сдвига, поставленный в со-
стояние <7=3 как начальное, осуществляет в ряду целых чисел сдвиг на единицу влево.
За пределы множества целых чисел автоматы сдвига не выводят. Относительно операций,
выполняемых автоматами сдвига, множество целых чисел замкнуто.
Резюме'.
1. С помощью построенного обратного автомата сдвига или, что всё равно, с помощью
бесконечного автомата сдвига, заданного таблицей 5.23, поставленного в начальное со-
стояние 9=3, проведено построение в автоматном представлении множества отрица-
тельных целых чисел Z \ = {... , 323, 30, 31, 32, з}.
2. Множество всех целых чисел строится как объединение:
Z = Z_|U№ ={... , 323, 30, 31, 32, 3, 6. 61, 02, 03 610, ...}.
Автоматы сдвига не выводят за пределы множества целых чисел.
125
§10. Последовательный синтез обратных автоматов сдвига
По аналогии с главой 5, § 3, из двух одинаковых автоматов 5 3 | т , выполняющих
сдвиг на одну единицу влево, можно создать последовательное соединение и решить для
него задачу ЭПС (гл. 4).
Таблица 5.24
Автомат сдвига 5(32 | х)
32 3 5
б 3,2 3,3 6,6
1 3,3 6,0 5,1
2 6,0 6,1 0,2
3 6,1 6,2 6,3
Решением этой задачи будет минимальный автомат сдвига, выполняющий сдвиг в ряду
целых чисел на две единицы влево. Он представлен таблицей 5.24.
Во-первых, сразу же отмечаем, что он, как и автомат сдвига влево на одну единицу,
5 3 | х , встраивается в таблицу 5.23 бесконечного автомата сдвига, вследствие чего таб-
лица бесконечного автомата сдвига пополняется и приобретает вид:
Таблица 5.25
Бесконечный автомата 5 х | q
X 32 3 5 51 02 бз 510
5 3,2 3,3 6,5 5,1 5,2 5,з 61.0
1 3,3 6,0 0,1 5,2 5,з 61,0 51,1
2 0,0 6,1 6,2 б,з 51,0 61,1 01,2
3 6,1 5,2 6,3 01,0 51,1 51,2 51,3
Как видим, закономерности, присущие таблице бесконечного автомата сдвига, от такого
расширения таблицы не нарушились.
Во-вторых, рассмотрим на примерах работу вновь появившегося автомата сдвига.
Пример 1. Пусть х = 0 и автомат сдвига, заданный таблицей 5.24, поставлен в состоя-
ние q =32. Изображаем развёртку, пользуясь описанием алгоритма, содержащегося в
таблице 5.24 или 5.25'
Результат:
2 1 0 t
б 1 б 1 X
3 1 <- 5 <- 32 ч
3 2 У
5 32 | 0 = 32,
126
т.е. сдвиг числа 0 на две единицы влево даёт число, изображаемое записью 32 , что озна-
чает, что привычное для нас число «минус два» автоматами представляется как 32 . Это
уже отмечено равенством (5.47), полученным ранее другим способом.
Пример 2. Пусть Т - 010 и автомат сдвига, заданный таблицей 5.24 (или 5.25), постав-
лен в состояние q = 32 .
Изображаем развёртку, пользуясь таблицей 5 24 (или 5.25):
3 2 1 0 t
б 1 0 X
1
6 •— б <- 3 «- 32 q
б 0 2 У
Результат S 010 | 32 = 02 , очевидно, правильный.
Далее из вновь построенного автомата сдвига S х | 32 и автомата 5 х | 3 строится последо-
вательная цепь, для которой решается задача ЭПС. Результатом решения будет минимальный
автомат сдвига 5 х I 31, сдвигающий любое целое число из (5.51) на три единицы влево. Он
также встраивается в таблицу 5.25 бесконечного автомата, которая в результате приобретает вид:
Таблица 5.26
Бесконечный автомат S х \ д
31 32 3 6 61 02 5з
б 3,1 3,2 3,3 6,0 6,1 6,2 б,з
1 3,2 3,3 6,0 6,1 6,2 б,з 61,0
2 3,3 6,0 6.1 5,2 6,3 61,0 01,1
3 б.о 6,1 6,2 5,3 61,0 61,1 51,2
После сказанного становится понятным, что последовательность задач ЭПС для автома-
тов, осуществляющих сдвиг в ряду целых чисел (5.52), может быть продолжена до беско-
нечности и завершится построением итоговой бесконечной таблицы 5.27 автоматов сдви-
га, выполняющих сдвиг на любое целое число.
Таблица 5.27
Бесконечный автомат З'.Т | q
31 32 3 б 51 02 5з
5 3,1 3,2 3,3 5,6 6,1 5,2 5,3
1 3,2 3,3 0,0 5,1 6,2 6,3 51,0
2 3,3 5,0 6,1 5,2 б,з 51,0 51,1
3 5,0 6,1 5,2 5,3 61,5 51,1 51,2
В таблице очевидны закономерности (уже упомянутые ранее), и таблица может быть
продолжена влево и вправо с соблюдением закономерностей до бесконечности.
127
Резюме'.
1. Последовательное решение задачи ЭПС для автоматов сдвига с отрицательными на-
чальными состояниями приводит к построению бесконечного семейства автоматов сдви-
га, осуществляющих сдвиг в ряду целых чисел «справа налево».
2. Построенные автоматы дополняют таблицу 5.26 с сохранением присущих ей зако-
номерностей и превращают её в таблицу 5.27 бесконечного автомата сдвига, в роли со-
стояний которого и операндов выступает множество всех целых чисел.
§11. Формульное задание бесконечного автомата сдвига
Синтезированный в итоге всех предыдущих построений бесконечный автомат сдвига
Sx\q, q,xe Z ={...,323,30,31,32,3,5,61,02,03,610,...} .
как и всякий автомат, представляется не только таблицей 5.27, но также с помощью фор-
мул и с помощью В-схемы.
Во-первых, формульное представление бесконечного автомата сдвига фактически уже
приведено выше, но мы его вновь воспроизведём здесь с небольшими усовершенствова-
ниями. Оно содержится в ключевой схеме:
q,x —» )S q\ бх<, (S q | Ox)
r -___________________________ , , (5.52)
qe Q.,,,xh Q„ =Z ={...,323,30,31,32,3,0,01,02,03,010,...}
где S q | Ox, xe Z(4) ={0.1,2,3} - канонические автоматы сдвига на цифру, заданные таб-
лицей 5.28, которую мы без каких-либо изменений, для удобства восприятия воспроизве-
дём здесь. Без канонических автоматов формула (5.53), понятно, не работает, чем и объ-
ясняется необходимость их воспроизведения.
Напомним, что
(х) = (тх,...^,.^) = х0,
{ (5.53)
ОИ/2 ,
)х( = )fx,....XjXo( = T = 0v3.
Таблица 5.28
Канонические автоматы сдвига на цифру
Сдвиги 5х |б Sx 161 Sx 102 5х 103
X 6 61 52 03
0 6,6 6,1 6,2 6,3
1 6,1 6,2 6,3 61,0
2 6,2 6,3 61,0 51,1
3 6,3 61,0 61,1 61,2
С помощью ключевой схемы (5.52) заполняется любой столбец таблицы 5.27.
Во-вторых, формульное задание бесконечного автомата сдвига содержится в описании
функций переходов и выходов. Оно уже встречалось при задании автомата сдвига, функ-
ционирующего на множестве натуральных чисел (5.33). Мы его распространим на множе-
ство всех целых чисел:
128
= )5 q | 6x<
___ _ — j
oqx = (S q Ox)
где xe Zw = {5,0,1,2,3,5}, g„ = Z ={...,31,32,3,0, 01,02,...}.
Любой столбец таблицы 5.27 можно заполнить, используя также формулы (5.54). Убе-
димся в этом на примерах.
Пример 1. Построить столбец бесконечного автомата сдвига для состояния q = 02332 .
Решение. Для построения столбца будем использовать формулы (5.54). Из них ясно.
что нужно найти q бх = .S' 02332 | бх для всех хе Z(4) = {6,0.1,2,3,5} . Далее при вы- числениях используется таблица 5.28. Строим развёртки, протоколирующие вычисления для всех значений хе 4(4). Если х = 0 , то
5 4 3 2 1 0 t
б 2 3 3 2 q
1 1 1 б^б^б«-б«- 5 «- 5
X
J- 'L J.
б 2 3 5 2 У ’
т.е. 5 02332| 0 = 02332. Если х = 01,то 5 4 3 2 1 0 t
б 2 3 3 2 q
1 1 1 5<-5^о^5^- 1 5 <- 1 51
X
J' 'I- J' (
б 2 3 5 3 У
т.е. S 52332 |01 = 02333. Аналогично S 52332|02 = 03000 , S 02332103 = 03001.
Следовательно, согласно (5.54), столбец таблицы для состояния q = 02332 имеет вид:
X 52332
0 5233,2
1 0233,3
2 0300,0
5 0300,1
Замечание. A’posteriori, глядя на результат, понятно, что в будущем подобных вычис-
лений можно не проводить. Об этом уже говорилось ранее. Важно одно, что бесконеч-
ность таблицы не является препятствием для вычислений при любых значениях q и х .
Пример 2. Выполнить сдвиг числа х - 02332 на величину q = 03231.
129
Решение. По ходу решения нам придётся параллельно строить развёртку работы ав-
томата и столбцы таблицы автомата сдвига, возникающие в процессе вычисления. Первой
строится развертка, ниже неё - последовательность столбцов таблицы. При построении
столбцов будем пользоваться высказанным замечанием.
5 4 3 2 1 0 t
0 0 2 3 3 2 X
1 1 1 1
6 <- 01 сю <- бзз <- 0323 <- 03231 Q
4 1 J. J. J.
0 1 2 2 2 3 У
При t — 0 автомат ставится в начальное состояние q — 03231 и на вход поступает цифра
х = 2. Чтобы найти переход в новое состояние и выходной сигнал, строится фрагмент
таблицы автомата сдвига для состояния q = 03231.
Таблица 5.29
Фрагменты бесконечного автомата сдвига S(q | х)
\л X \ 01 010 033 0323 03231
6 0,1 61,0 03,3 032,3 0323,1
1 0,2 61.1 610,0 033,0 0323,2
2 6,3 61,2 610,1 033,1 0323,3
3 01,0 01,3 010,2 033,2 0330,0
Из него видно, под действием входного сигнала х = 2 автомат переходит в новое состояние
q = 0323 и вырабатывает выходной сигнал у = 3, что и фиксируется в развёртке.
Далее в дополнение к предыдущему фрагменту строится фрагмент таблицы для со-
стояния q - 0323 .
Это позволяет заполнить развёртку для момента t = 1.
По описанному принципу продолжаем построение таблицы и заполнение развёртки.
В итоге получился результат .S' 02332 | 03231 = 012223 , который проверяется «школьным»
сложением столбиком. Такая проверка корректна, поскольку связь между сложением и
операцией сдвига на множестве натуральных чисел уже определена (§ 7, (5.35)).
Важно отметить, что, как показывают разобранные примеры, бесконечность автомата
не является препятствием для его практического применения. Кроме того, надо отметить,
что этот бесконечный автомат как вычислительное устройство достаточно совершенен.
В частности, разобранный в последнем примере сдвиг на довольно большую величину
(сложение двух чисел) он совершил за оптимальное время; результат был получен факти-
чески при t = 3, т.к. последующие такты были посвящены переносу состояния <7 = 01
в строку результата, что можно было сделать при t = 4, т.е. в момент поступления на вход
сигнала со стрелкой (0 ), информирующего о том, что старшая значащая цифра уже по-
ступила и вычисление можно заканчивать.
Резюме:
1. Формульное задание бесконечного автомата сдвига позволяет с не меньшим успехом,
чем метод последовательного синтеза, строить таблицу этого автомата.
130
2. Формульное задание обладает дополнительным свойством, которое можно назвать
«гибкостью», поскольку оно подстраивается под конкретное вычисление и строит фраг-
менты бесконечной таблицы в тех объёмах, которые требуются для вычислений.
3. Формульное задание бесконечного автомата показывает, что бесконечность автомата не
является препятствием для его практического использования.
§12. Операция сложения на множестве целых чисел
Теперь можно вернуться к определённой ранее на множестве натуральных чисел операции
сложения (см. § 7, (5.35)). В отличие от предыдущего случая мы имеем теперь бесконечный
автомат сдвига, определённый как по состояниям, гак и по аргументам на множестве целых
чисел. Это даёт возможность определить операцию сложения на множестве целых чисел.
об об
Мы определим её формульно, введя те же обозначения, что и в § 7: х = х!, q = т2 .
Тогда, по определению,
опр
х' + х2 = S х1 | х2, (5.55)
где 31, 32, 3, б, 61. 02. ...}.
Читаем (5.55): «чтобы найти сумму (используется традиционная терминология) двух
целых чисел х* и х2, надо число х1 сдвинуть на величину х2».
Повторим, что математическая операция сложения определяется через матема-
тическую операцию сдвига.
Операция сдвига первична, операция сложения вторична.
Равенство (5.56) можно рассматривать как формульное представление операции сло-
жения через первичную математическую операцию - операцию сдвига.
Будем считать операцию сдвига операцией первого ранга. Поскольку, в силу (5.55),
операция сложения есть, по существу, операция сдвига, то операция сложения также яв-
ляется операцией первого ранга.
Согласно определению (5.55), сложение двух целых чисел вычисляется с помощью
бесконечного автомата, таблицу которого мы приведём ещё раз, но в обозначениях, в
которых операнды выглядят как в (5.55).
В таблице 5.30 операнд х2 - это состояние автомата, х1 - цифра числа х1. Несмотря
на то, что удалённые части таблицы не видны, ими всё же можно пользоваться, если
учесть, что содержание столбцов для любых состояний таблицы может быть вычислено
по формулам (5.32), которые перепишем в новых обозначениях
Таблица 5.30
Бесконечный автомат .S' х1 | х2
\х2 х*^\ 31 32 3 5 51 02 6з
б 3,1 3,2 3,3 6,5 6,1 5,2 0,3
1 3,2 3,3 6,0 6,1 6,2 б,з 51,о
2 3,3 0,0 6,1 5,2 б,з 61,0 61,1
3 6,0 5,1 6,2 5,з 51,5 51,1 51,2
131
х2,х’ —> )S х2 | Oj'(, (S x2 | Ox* )
< x',x2 e Z = {...,30,31,32,3,6,51,02,03,610,...}
|x = тхг..? = 0v3, .ve Z(4) = {0,1,2,3}
(5.56)
Таблица 5.31
Канонические автоматы сдвига на цифру
Сдвиги 8 х11 б 8 х1 | 61 8 х1|02 8 х1|03
\х2 б 61 02 03
б б,б 0,1 6,2 5,3
1 6,1 6,2 6,3 61,0
2 6,2 б,з 61,0 51,1
3 0,3 61,6 61,1 01.2
В таблице х = бхг...Х|Х0, х’,х2 6 Z(4) ={6.0,1,2,3}, 00 = 0.
Резюме'.
1. С помощью бесконечного автомата сдвига дано определение операции сложения на
этот раз без каких-либо ограничений: на множестве целых чисел.
2. Таким образом, согласно этому определению, операция сдвига на множестве целых
чисел первична, а операция сложения - вторична.
3. Поскольку по ранговой классификации операция сдвига относится к первому рангу, а
операция сложения определяется непосредственно через сдвиг, то операция сложения
также относится к первому рангу.
§ 13. Экстравертность автомата сдвига по цифре
Снова обратимся к бесконечному автомату сдвига, заданному таблицей 5.27. в которой
состояния обозначены символом q . Мы уже обратили внимание на закономерности,
доминирующие в этой таблице. Выделим одну из них и сформулируем её, имея в виду её
дальнейшее использование.
Закономерность В таблице 5.27 каждая последующая строка получается из предыду-
щей путём сдвига на одну клетку влево.
Эта же закономерность может быть прочитана наоборот: каждая предыдущая строка
получается из последующей путём сдвига на одну клетку вправо.
Это правило действует в пределах таблицы 5.27 три раза: первый переход от строки
.1 = 0 к строке х = 1, ..., третий переход от строки х = 2 к строке х = 3.
Возникает вопрос: а что нам мешает продолжать опускание строк с одновремен-
ным сдвигом влево? Никаких причин препятствующих этому, не имеется. Точно так
же строки можно поднимать вверх с одновременным сдвигом вправо. Только для то-
го, чтобы получающаяся в результате структура была правильно вычисляющим авто-
матом, необходимо внести изменения в столбец цифр и продолжать его как столбец
чисел. В результате получается би-бесконечный автомат сдвига, в котором, во-
первых. входной алфавит состоит из множества всех целых чисел (первая бесконеч-
ность) и, во-вторых, множество состояний также представляет собой множество це-
лых чисел (вторая бесконечность). Получился своеобразный крест из бесконечностей.
132
Столбец входного алфавита является объединением множеств:
Z- и {tZm) utZA, utZA-, и...}, (5.57)
Te{i)v3}1 1 J
где, например,
()Z(4, = б{0,1,2,3} = {00,01,02.03} , (5.58)
3ZA, = 3{00,01,02,03,10 11,12,13,20,21,22,23,30,31,32,33} =
r- - _ - _ (5.59)
= {300,301,302,303,310,...,323,330,331,332,333}
и т.д., т. е. каждое слагаемое в (5.57) представляет собой графическое произведение
префикса t = 0v3 и алфавита Z(4), каждая буква которого есть элемент декартова
произведения Z(4) = Z(4) xZ(4) x...xZ(4) . На вход би-бесконечного автомата в каждый
р
момент времени поступает буква из того или иного алфавита Z|4| (которую можно
подавать без префикса, если префиксом является префикс т = 0 , и обязательно с префик-
сом, если префиксом является префикс т = 3 ). Как видим, в роли потактно подаваемых
букв входного алфавита выступают целые числа. Тем самым обнаруживается, что в роли
цифр могут выступать не только те тривиальные одноместные значки 0, 1, 2, 3, которые у
нас появились с самого начала при решении проблемы обозначений для чисел, но и более
сложные агрегаты - сами целые числа. Как это делается, показано далее.
Опуская и поднимая строки таблицы 5.27 в пределах наглядно возможного, получим
приведённую далее таблицу 5.32, являющуюся конечным срезом бесконечной таблицы
автомата, дающего нам первый пример автомата с бесконечным числом состояний и
с бесконечным алфавитом. Он аккумулирует все скрытые возможности, содержащиеся
в автоматах сдвига и, как оказывается, нс только их. Несмотря на би-бесконечность
автомата, им можно пользоваться в конечных вычислениях без ограничения размеров
объектов, принимающих участие в вычислениях, т.е. без ограничения разрядности опе-
рандов.
Дадим более подробное описание таблицы 5.32.
Слева таблицу окаймляет бесконечный столбец букв входного алфавита (расположен
под буквой х ), совпадающий с множеством всех целых чисел. Он разделён на секции
типа tZ(4'( , в пределах которых количество цифр в букве одно и то же. Например, в сек-
ции 0Z(4) длина буквы равна трём, т.е. каждая буква этой секции состоит из двух цифр
множества Z(4) = {0, 1, 2, 3} и префикса 0 . При переходе от секции к секции длина букв
меняется. Таким образом, построенный би-бесконечный автомат работает со всеми воз-
можными цифровыми алфавитами, входящими в (5.56). причем одновременно (напомина-
ем, вдобавок, что, хотя мы ведём изложение для четверичной системы счисления, все
выводы справедливы для любой другой степенной системы счисления). Это означает, что
если слово, поданное на вход автомата, разбито на группы цифр длины 5 и каждая группа
цифр подаётся в одном такте, то используется алфавит, соответствующий секции 0Z(4).
Если же поданное на вход слово разбито на группы цифр разной длины, то будут исполь-
зоваться соответствующие алфавитные секции с буквами разной длины. (Далее это пока-
зано на примерах.)
133
Таблица 5.32
Бесконечный автомат 5 х | q
'"--5 31 32 3 5 51 52 03
3Z{4) 30 32,1 32,2 32,3 3,0 зд 3,2 3,3
31 32,2 32,3 3,0 3,1 3,2 3,3 5,0
32 32,3 3,0 3,1 3,2 3,3 5,0 5,1
33 502 3,1 3,2 3,3 5,0 5,1 5,2
0Z(4) 00 3,1 3,2 3,3 5,0 5,1 5,2 5,з
61 3,2 3,3 5,0 6,1 6,2 6,3 51,0
02 3,3 5,0 5,1 5,2 5,з 51,0 61,1
03 5,0 5,1 5,2 5,3 51,о 51,1 51,2
oz(24) 6Z’4) 000 3,31 3,32 3,33 5,оо 0,01 5,02 5,оз
001 3,32 3,33 5,оо 0,01 5,02 5,03 5,ю
002 3,33 5,00 5,oi 5,02 5,оз 5,ю 5,и
003 5,00 6,01 5,02 5,оз 6,10 б,и 0,12
610 5,01 5,02 5,оз 5,ю 5,и 5,12 5,13
611 5,02 5,03 5,ю 5,п 5,12 5,13 5,20
612 5,03 5,ю 5,п 5,12 0,13 5,20 5,21
513 5,ю 5,и 5,12 5,13 0.20 5,21 5,22
020 5,п 5,12 5дз 5,20 5,21 5,22 5,23
021 5,12 5,13 0,20 5,21 5,22 5,23 5,30
522 5,13 5,20 5,21 5,22 0,23 5,30 6,31
523 0,20 5,21 5,22 0,23 5,30 5,31 5,32
5,22 5,21 5,22 5,23 5,30 5,31 5,32 5,33
031 5,22 5,23 5,30 5,31 0,32 5,зз 61,00
532 5,23 5,30 5,31 5,32 5,33 51,оо 51,01
бзз 5,30 5,31 5,32 0,33 51,00 51,01 51,02
0000 3,331 3,332 3,333 5,000 6,001 0,002 5,003
Сверху таблицу окаймляет строка состояний, представленных множеством всех
целых чисел. Содержимое таблицы представляет собой структуру с явными закономерно-
стями, требующими, однако, дополнительного пояснения. Для примера возьмём часть
таблицы, соответствующую алфавитной секции 0Z(24). Эта секция состоит из букв типа
023 , в которой 0 является префиксом, а 23 - корневой частью буквы. Префикс указывает
134
на положительность числа 023, а 23 на его количественное содержание. Автомат реаги-
рует на оба типа информации. С помощью префикса и длины корневой части находится
секция и та часть автомата, которая включается в работу. В пределах этой части автомата
на пересечении строки, отмеченной буквой 023, и столбца, отмеченного, например, со-
стоянием q = 03, находится информация, получаемая следующим образом:
1) складываются числа q + х = 03 + 023 = 032,2) отделяются запятой последние две циф-
ры справа. 0,32 . Этим результатом заполняется соответствующая клетка таблицы. Ре-
зультат прочитывается так: «если автомат находился в состоянии q = 03 и на вход его
поступила буква х = 023 , то автомат переходит в состояние q = 0 и вырабатывает вы-
ходной сигнал у = 32 ».
Пункт 1) этой программы действует в пределах всей таблицы. Пункт 2) меняется от
одной алфавитной секции к другой и формулируется так: «в пределах секции в сум-
ме q +х запятой отделяется т знаков справа». При т = 1 получаем знакомый автомат и
знакомое правило.
Упомянутая закономерность, связанная со сдвигом строк, работает в пределах секции.
Для этого по правилу пункта 1) программы вычисляется первая строка секции, после чего
работает сдвиговая закономерность.
Вычислительная структура, изображаемая автоматом, заданным в таблице 5.32, при-
водит нас к введению нового термина - «отрицательной цифры». Так мы будем называть
буквы, входящие в цифровые секции с префиксом т = 3 : 3Z(“ . Им противопоставляются
«положительные цифры», идущие с префиксом т = 0 . Впрочем, для положительных
цифр префикс т = 0 можно явно не писать, чего нельзя делать с префиксом т = 3 , его
удаление приводит к неправильным результатам.
Переход от автомата, заданного таблицей 5.27, к би-бесконечному автомату, заданно-
му в таблице 5.32, будем называть экстравертностью по цифре.
Разберём примеры работы с этой вычислительной структурой.
Пример 1. Пусть число х = 32103 и q = 03 . Требуется найти результат сдвига числа
х = 32103 на величину q = 03 .
Региение. Автомат, заданный в таблице 5.32, даёт много возможностей для нахождения
результата сдвига.
Вариант I. Прежде всего, замечаем, что число х = 32103 можно интерпретировать
как букву бесконечного входного алфавита. Она находится в левом столбце табли-
цы 5,32 где-то далеко наверху. На пересечении строки, отмеченной этой буквой, и
столбца, отмеченного состоянием q = 03 . находится результат. Но мы его не видим, и
потому в варианте 1 мы можем лишь ограничиться констатацией того факта, что ре-
зультат где-то там наверху.
Вариант 2. Цифры числа 3, 0, 1 из разрядов 0, 1, 2 мы рассматриваем как буквы из
секции 0Z(4), а 32 - как букву из секции 3Z(4) . Тогда проводимое автоматом 5.32 вы-
числение протоколируется следующей развёрткой во времени работы автомата.
135
В тактах t = 0, 1,2 работает часть таблицы 5.32, соответствующая секции 0Z(4), при t = 3
4 3 2 1 0 t
32 1 01 1 00 1 03 1 X
3 1 <- 0 1 <- 0 01 1 <- 03 q
;
2 1 1 2 У
работает секция 3Z(4). Пишем результат: S 32103 | 03 = 32112 . Префикс 3 в записи ре-
зультата получился исходя из вычислительного смысла строки q в любой развёртке, в
строке q в каждом такте фиксируется величина переноса в следующий разряд. При 1 = 4
мы читаем, что во всех старших разрядах должна стоять тройка, что и записано в резуль-
тате.
Как уже было отмечено, в строке х развёртки префикс 0 в положительных цифрах
можно опускать
Проверка. Число х = 32103 записано в автоматном коде. Оно же в привычной записи
имеет вид х = -01231. Аналогично для результата имеем равенство: у = 32112 = -01222 .
Из сравнения обычной записи числа, поданного на вход, и обычной записи результата
видно, что результат правильный.
Вариант 3. Разобьём цифры числа х = 32103 на группы следующим образом:
х = 32103 = (32)(1)(03) = (32)(01)(003). При таком разбиении сформированные цифры при-
надлежат следующим цифровым секциям автомата, заданного в таблице 5.32:
32е 3Z(4„ Ole 0Zl4). ООЗе 0Z(4).
Поэтому развёртка будет такой:
3 2 1 0 t
32 1 61 1 боз 1 X
3 <— 1 б <— 1 б <— 03 q
J. 1
2 1 12 У
Пишем результат: 5 32103 | 03 = 32112 , совпадающий с предыдущим.
Понятно, что возможны иные варианты разбиения.
Вариант 4. Представим число х одними отрицательными цифрами. Имеем:
х = 32103 = -01231 = (—01)(—02)(—03)(—01), т.к. в обычной записи отрицательного числа
все поразрядные компоненты числа также отрицательны. Но
-01 = 3 = 33,-02 = 32,-03 = 31, если использовать цифровую секцию 3Z(4| . Поэтому чис-
ло х , представленное одними отрицательными цифрами из секции 3Z(4), будет иметь
вид х =33 32 31 33. Поэтому развёртка будет работать со срезом автомата, заданного в
таблице 5.32, соответствующим цифровой секции 3Z(4), и будет иметь вид
136
3 2 1 0 t
33 1 32 1 31 1 33 1 X
3 <— 1 3 1 <- 3 <— 1 0 1 <- 03 <7
J. ( 1
2 1 1 2 У
Как видим, получился знакомый результат: 5 32103103 = 32112.
Вариант 5. Отрицательную цифру числа х = 32103 можно брать не только так, как
это сделано в варианте 2, но и по-другому. Например, можно взять в роли отрицательной
цифры букву 321e3Z(24), а набор остальных цифр считать буквой 03 = 003 е 0/Д. из
секции 0Z(24), так что число х представится в виде х = (321)(03) = (321)(003). Тогда раз-
вёртка будет такой
2 1 0 t
321 1 боз 1 X
3 1 <- б 1 <=- бз q
1
21 12 У
Снова получился тот же результат: 5 32103 | 03 = 32112 , причём при t = 1.
Количество вариантов можно увеличивать. Автомат исправно ведёт вычисления для
всех вариантов. Бремя вычисления варьируется вплоть до минимально возможного, до
одного такта.
Резюме'.
1. Используя закономерности, присущие таблице 5.27, строится би-бесконечная табли-
ца 5.32 автомата сдвига, способного воспринимать на входе буквы всех возможных
четверичных систем счисления, входящих в обобщённый входной алфавит автома-
о tZ(24) и fZ(4j...j . Возможен произвольный вариант
та, т.е. во множество
подачи букв из секций этого алфавита. Результат вычислений всегда будет одним и
тем же.
2. Определено понятие экстравертности по цифре как переход от автомата, заданного
таблицей 5.27, к би-бесконечному автомату, заданному в таблице 5.32.
3. В связи с этим расширено множество объектов, которые могут выступать в роли цифр.
4. Введено понятие отрицательной цифры, которое оказывается полезным при вычис-
лениях.
5. Построена таблица би-бееконечного автомата сдвига, полностью задающего все воз-
можные алгоритмы операции сдвига при всех возможных вариантах подачи входной ин-
формации на вход автомата.
6. Приведены примеры работы би-бесконечного автомата сдвига, в которых рассмотрены
различные варианты подачи входной информации. Показана зависимость времени вычис-
ления от выбора вариантов подачи информации, причём всегда (в теории) достижимо
минимальное время вычисления, равное одному такту. В В-технологии возможно при-
ближение к этому результату, причём не только для разобранного здесь автомата сдвига,
но и для других вычислительных устройств.
137
§ 14. В-схема бесконечного автомата сдвига
Можно изобразить В-схему абстрактного устройства, реализующего сборку семейст-
ва автоматов сдвига или, что всё равно, бесконечного автомата, заданного таблицей 5.30.
Точнее, для всего автомата ввиду его бесконечности схему, конечно, изобразить нельзя,
но для центрального конечного среза, индуцирующего мысль о дальнейших построениях,
можно. Полная В-схема абстрактного устройства, реализующего сборку семейства авто-
матов сдвига, представляет собой воображаемую бесконечную ленту, идущую вниз и
вверх.
Приведём схему для конечного среза в четверичной системе счисления (см. да-
лее).
Наборы из четырёх элементов & - это состояния бесконечного автомата, представ-
ленного сборкой. Первый индекс в элементах & указывает на номер состояния, второй
индекс - на воспринимаемый входной сигнал. Все связи соответствуют таблице 5.30.
В роли финальных состояний сборки выступают состояния q = 3, 0, 01.
Состояние <7=3 становится финальным при подаче на вход бесконечного числа ну-
лей, т.е. сигнала 0 ; при этом автомат не выходит из состояния q = 3 и на выходе имеет
бесконечное число троек, т.е. сигнал 3 Аналогично состояние q = 01 становится фи-
нальным при подаче на вход бесконечного числа троек, 3 ; при этом автомат не выходит
из состояния <7=01 и на выходе имеет бесконечное число нулей, 0 . Абсолютным фина-
листом является состояние q = 0, из которого автомат не может выйти никогда и на вы-
ходе всегда имеет то, что подаётся на вход. Других финальных состояний у автомата-
сборки нет (на этом этапе рассмотрения). Фигурной скобкой справа выделен автомат
сдвига 51. В-схема сборки автоматов сдвига (рис. 5.3) наглядно отражает все закономер-
ности, присущие таблице 5.30
Все вычисления, рассмотренные в разобранных примерах, можно было бы выполнить,
используя не таблицы, задающие автоматы, а приведённую здесь В-схему автомата-
сборки.
Приведённая В-схема является не только ещё одним способом задания бесконечного
автомата сдвига, но и основой для построения принципиальных схем реальных устройств,
представляющих автомат сдвига. Отличие по своей роли принципиальных схем от В-схем
состоит в том, что принципиальные схемы учитывают технологию, в которой реализуют-
ся устройства, в то время как В-схема является идеализацией, общей для всех технологий,
и ничего не знает о той технологии, в которой она будет реализована. Она является абст-
рактом по отношению ко всем тем устройствам, которые её могут реализовать. Именно в
ней «зашиты» алгоритмы всех функций, вычисляемых с помощью АВУ, представляемого
В-схемой.
Резюме'.
Приведена В-схема бесконечного автомата сдвига, заданного таблицей 5.30, являю-
щаяся ещё одним эквивалентным способом задания автомата, служащая основой по-
строения принципиальных схем устройств, используемых при практической их реализа-
ции.
138
§ 15. Перевод чисел из автоматного кода в обычный и наоборот
Поскольку автоматы сдвига дают представления для целых чисел в виде числоидов, к
которым мы не привычны, возникает проблема перевода автоматных представлений для
отрицательных чисел в привычные для нас. Для этого нужно применить какой-то регу-
лярный способ перевода автоматного представления для отрицательных чисел (обозна-
чим его через А) в обычный (обозначим его через U), привычный для нас. Таких способов
много. Приведём некоторые из них.
1. Проблема перевода решается автоматом, таблица переходов-выходов которого та-
кова:
139
Таблица 5.33
Автомат А «U
X \ 0 1
-6 0,3 1,0
0 0,3 1,0
1 0,2 0,3
2 ол 0.2
3 0,0 0.1
3 0,-6 0,1
В этом автомате в оба алфавита внесена дополнительная буква -0.
Автомат всегда ставится в начальное состояние q = 1.
Пример 1. Используя автомат А <-> U, найдём обычное представление для числа, за-
данного числоидом 3213. Для этого изобразим развертку работы автомата:
4 3 2 1 0 t
3 1 2 I 1 1 3 1 X
0 <- 1 - 0 < 1 - 0 <- 1 - 0 1 - 1 ч
г г г г
-б 1 2 1 У
Результат: 3213 = —0121, т.е. числоид 3213 представляет отрицательное число
-6121 =-121 .
Проверка проводится «школьным» сложением столбиком:
11111
... 3 3 3 2 1 3
+
... 0 0 0 1 2 1
... 0 0 0 0 0 0
Наверху стоят единицы поразрядного переноса. В нижней строке результата во всех раз-
рядах стоят нули. Следовательно, 3213 + 0121 = 0, что подтверждает правильность вы-
числения. проведённого автоматом.
Пример 2. Найдём обычное представление для числоида 3 . Развёртка:
2 1 0 t
3 1 3 1 X
0 +- 1 - 0 <- 1 - 1 q
г г
-о 1 У
Поскольку в такте 0 сигнала со стрелкой на выходе не получилось, входной сигнал 3
надо подать ещё раз (до получения на выходе сигнала со стрелкой - признака конца вы-
числений), что и сделано в такте 1. Результат: 3 = -01, который нам уже известен.
140
2. Можно привести таблицу другого автомата, который для каждого отрицательного
числа, представленного в автоматном коде (т.е для числоида), находит противоположное
ему положительное число. Это также решает проблему перевода из автоматного кода в
обычный, поскольку перед полученным положительным противоположным числом не-
трудно поставить знак минус. Этот же автомат переводит автоматное представление для
положительных чисел (т.е. представление с 0 ) в числоидное представление для противо-
положных отрицательных чисел. Этот автомат похож на автомат А <-> U, и мы обозначим
его символом (А О (7)2. Для решения задачи перевода автомат надо ставить в начальное
состояние q = 1. Табличное его задание таково:
Таблица 5.34
Автомат (А «-> (7)2
X \ 0 1
0 0,3 1,0
1 0,2 0,3
2 0,1 0,2
3 0,0 0,1
Приведём примеры вычислений автоматом (4 «-> (7)2.
Пример 3. Найдём противоположное положительное число по отношению к числу
3213. Изобразим развёртку работы автомата.
4 3 2 1 0 t
3 1 2 I 1 1 3 I X
0 <- 1 - 0 < 1 - 0 <- 1 - 0 <- 1 - 1 q
б 1 2 1 У
Результат: (А <-> U)2 3213 11 = 0121, который читается так: «если автомат (А «-> (7)2 по-
ставлен в начальное состояние q = 1 и на вход его подано отрицательное число 3213 в
автоматном представлении, то на выходе получается противоположное ему положитель-
ное число 0121». Вследствие зтого можем записать: 3213 = -0121, что совпадает с полу-
ченным ранее результатом.
Пример 4. Найдём числоид, представляющий противоположное число по отношению
к положительному числу 0121.
Результат (развёртка приведена далее): А U 0121|1=3213 , т.е. у положительного
числа 0121 противоположное ему отрицательное число в автоматном коде представляет-
ся числоидом 3213 , что подтверждается предыдущими примерами.
Развёртка:
4 3 2 1 0 t
б 1 1 I 2 I 1 1 X
0 <- 1 - 0 < 1 - 0 <- 1 - 0 <- 1 - 1 q
: : г ;
3 2 1 3 У
141
3. Перевод автоматного кода в обычный можно проделать, используя понятие отрица-
тельной цифры (см. табл. 5.32). Пусть требуется найти обычный код числа 3213. Разо-
бьём его запись на группы: 3213 = (32)(13) = (32)00 + 13 - -200 + 13 = -121. При вычисле-
нии мы учли, что 32 - это отрицательная цифра (-2), расположенная в разряде сотен.
Видно, что результат совпадает с предыдущими. Возможны другие варианты разбиения с
тем же результатом.
Составим таблицу для некоторых первых соответствий между автоматными представ-
лениями для отрицательных чисел и противоположными им положительными числами.
Наличие взаимно однозначного соответствия между числоидами, порождаемыми ав-
томатами сдвига, и обычными представлениями для чисел, показанное в таблице 5.35, а
также вычисляемое автоматами А ++ U и (А <-> (7)2, является дополнительным основанием
для введения числоидов в вычислительную практику, особенно если учесть, что автоматы
сами порождают числоиды как результат своих вычислений и отвергают знак минус.
Таблица 5.35
Обычное представление Автоматное представление
0 0
-1 3
-2 32
-3 31
-10 30
-11 323
-12 322
-13 321
-20 320
-21 313
Введение знака минус в описание автоматов возможно (так, знак минус содержится в
задании автомата А +-> (7), но оно разрушает естественную их структуру. Ведь не зря клю-
чевые формулы не работают в отрицательной части таблицы 5.30 (или 5.32), если отрица-
тельная часть таблицы описывается с использованием знака минус, и становятся работо-
способными без ограничений во всей таблице, на всём семействе автоматов сдвига, если
отрицательные числа представлять числоидами, генерируемыми автоматами сдвига.
Надо отметить, что взаимно однозначное соответствие между числоидами и обычными
представлениями для чисел имеет место именно для числоидов, порождённых автоматами
сдвига. Вообще же взаимно однозначного соответствия между числоидами и обычными пред-
ставлениями для чисел нет: обычному представлению числа соответствует бесконечно много
числоидов, порождаемых другими абстрактными вычислительными устройствами. Например,
семейство делителей и умножителей порождает массу разнообразных числоидов, объединяе-
мых в классы эквивалентных числоидов Но и в этом, более общем, случае проблема перевода
числоидного представления в обычное всегда разрешима.
В последующем мы встретим другие варианты перевода автоматных представлений
для чисел в обычные и наоборот.
142
Резюме'.
1. Приведены автоматы А <-> U и (Л <-> U)2, осуществляющие перевод автоматного представ-
ления для чисел (числоидов) в обычные представления, которыми мы постоянно пользуемся.
2. Показано, что понятие отрицательной цифры также может быть использовано для тако-
го перевода.
§16. Автомат сдвига и порождаемые им ординалы
Воспроизведём табличное задание автомата сдвига.
с которыми мы ведём вычисления, имеют одинаковую разрядность: все они бесконечно
разрядны, ибо задаются на бесконечно разрядной сетке Gr°. Фактически они, разумеется,
конечно разрядны, т.к. бесконечное число нулей в старших разрядах сетки представляется
символом 0 . Как уже отмечалось, этот символ полезен при вычислениях: он делает все
числа равноправными с точки зрения разрядности; легко решает проблему останова вы-
числений, экономя вычислительное время и способствуя ускорению вычислений, избав-
ляя от необходимости делать лишнюю работу по прохождению регистров до самого кон-
ца; в В-техиологии физически реализуем. Его существенная роль в том, что числоид, его
содержащий, представляет натуральное число: всякое натуральное число представляется
числоидом вида х = Ox, ...Х|Л'О Если числоид вместо 0 содержит иной набор знаков, то он
не представляет натурального числа. В таком случае будем говорить, что он является
ненатуральным числоидом. Примерами ненатуральных числоидов являются:
х = 1д....Х|.г0, х = 2хг...х1х0, х = Зхг...Х]Х0, х = 203хг...х1хо,
X = ...x,i2x,.|X,...X|X(),...,
причём в последнем числоиде никогда не встречается массив О
В вычислении следующего далее примера мы хотим обратить внимание на вычисли-
тельную роль состояния, в которое переходит автомат в каждый момент времени.
Пример 1. Пусть х = 01233, q - 01. Приводим развертку, протоколирующую процесс
вычисления.
1 = 0
О
со > t > 4 3 2 1 0 t
б 1 1 2 3 1 3 1 X
0 < - 0 <- - 01 < - 61 < - 51 <1
г г г г
б 1 3 0 0 У
143
Из развёртки видно, что состояние, которое формируется в каждый момент време-
ни, определяет тот или иной вариант вычисления, который осуществится в этот мо-
мент времени. Именно таков вычислительный смысл состояний. Но помимо этого со-
стояние можно трактовать как величину переноса в следующий разряд.
Столбец, отмеченный записью > t > 4, понимается так: если раскрыть содержатель-
ный смысл знака0 = ...ООО , то во все моменты времени, начиная с момента Z = 4, на входе
и на выходе автомата формируется сигнал 0, з результате чего вся разрядная сетка будет
заполнена нулями. Это заполнение будет происходить во все моменты времени «вплоть
до бесконечности». Актуализируя этот процесс, скажем, что он закончится при ?->=>.
Тогда сигналу переноса, записанному в развёртке в столбце при t = 0, на сетке Gr° места
не найдётся, он будет выведен за пределы сетки Gr°, что отмечено разрывом развёртки.
Мы, однако, нс будем считать его потерянным. Судя по развертке, промежуток времени
от? = 4до/ = °о воспринимается автоматом сдвига как одно мгновение. Это есть не что
иное, как материализация ментального процесса актуализации. Актуализация материаль-
но осуществима. Это означает, что существуют материальные устройства, фиксирующие
акт и результат актуализации. Ими являются автоматы, работающие с символами наподо-
бие 0 , причём эти символы сами по себе также фиксируют процесс актуализации.
Аналогично обстоит дело в следующем примере.
Пример 2. Пусть х = 3 , q = 01. Протоколируем развёрткой процесс вычисления.
61
ос > t > 0 t
3 1 X
61 q
г
б У
Промежуток времени °° > t > 0 воспринимается автоматом как одно мгновение, в это
«бесконечное мгновение» на выходе формируется сигнал со стрелкой 0 , и в этот же мо-
мент заканчивается вычисление. Из развёртки видно, что вся разрядная сетка Gr° запол-
нена нулями, и, следовательно, сигналу переноса 01 в момент t = + 0 на сетке Gr° нет
места. Его мы также не будем считать потерянным. (Заметим, что t = + 0 - это нулевой
момент следующей сетки.)
Чтобы разобраться в происходящем, обратимся к представлению числа на разрядной
сетке Gt
X = ...^.._Х2Х1Й1 , (5.60)
где t - номер разряда, в котором находится пифра xh и одновременно момент времени в
развёртках, наподобие тех, что приведены выше.
Числовой смысл цифры х, в записи (5.60) таков: ею представляется число х, 10' . Ве-
совой коэффициент места I разрядной сетки Gr’ равен 10! . Увеличивая I до бесконечно-
сти и выполнив актуализацию этого процесса, находим, что растущие при г, стремящемся
к бесконечности, весовые коэффициенты разрядной сетки Gr° стремятся к величине, ко-
торую естественно обозначить 10 . Поскольку на сетке Gr° при переносе в следующий
разряд происходит переход от весового коэффициента 10 к весовому коэффициенту
10,+1 , то, соблюдая аналогию, можем сказать, что перенос за пределы разрядной сетки
144
Gr° происходит от весового коэффициента 10 , <*> > / к весовому коэффициенту
10°° = 1О°° + о. Именно это отражено в предыдущих развёртках.
В связи с этим возникает мысль о следующем обобщении разрядной сетки. Разрядная
сетка Gra является лишь «затравочной» частью более общей сетки, имеющей следующий
модельный вид:
IIуУ'гТо II"•7",'гТ'о II;"7,"'2Т'о ।
&W) 9r“(J0")
Рис. 5.4. Модель обобщённой разрядной сетки
В выражениях Gr'( 10' “) в скобках стоят величины 10 ”, которые истолковываются как
веса соответствующей сетки, определяющие итоговые веса мест этой сетки: вес места с
номером t на сетке с весом 10' ” равняется 10' * При i = 0 получается вес места с номе-
ром t на разрядной сетке Gr (считаем, что 0 = 0).
В примере 2, например, происходит перенос величины 61 из разрядной сетки Gr1 в
разрядную сетку Gr1, на которой 01 расписывается так:
01&, = ... + 0 10”+'... + 010“+2+0 Ю^’+ЕЮ”*0 =
= (... + 0- 10'...+ 0- 102 + О 10* + 1 10°) 101 ”,
причём и перенос в следующую разрядную сетку, и заполнение бесконечного числа мест
следующей разрядной сетки происходят мгновенно.
Из сказанного следует, что задание автомата таблицей 5.36 должно быть приспособле-
но для работы на обобщённой разрядной сетке с учётом переходов на ней. Это делается
следующим образом.
Таблица 5.37
собою актуализацию, аналогичную актуализации для 0: 1 =... 111, 2 = ...222, в которых
единица и, соответственно, двойка заполняют всю разрядную сетку. Два вертикальных
отрезка || символизируют границу раздела двух соседних разрядных сеток. Например,
если автомат находился в состоянии q = 0 и на вход его поступил сигнал х = 1 , то по
таблице находим, что выход текущей разрядной сетки мгновенно заполняется единицами,
т.к. выходной сигнал равен 1 , а в следующую соседнюю разрядную сетку, у которой
больший весовой коэффициент, происходит мгновенный переход автомата S’ в состояние
5=0. Если же на вход поступает не х = 1 , а просто сигнал х = 1, то в следующий (обык-
новенный) момент времени автомат переходит в состояние 5=0 и вырабатывает сигнал
у ~ 1, но на текущей сетке. Никакого переноса в следующую разрядную сетку не проис-
ходит.
Вследствие сказанного результаты примеров 1 и 2 могут быть записаны так.
145
(5.61)
В примере 1: .S' 012333 01 = б | 613000 , что означает, что при подаче на вход автомата
сдвига S, поставленного в начальное состояние q = 01, числа х =012333 получается чис-
ло у = 013000, записываемое на сетке Gr°, и происходит переход автомата в состояние
q = 0 , в котором оказывается автомат для вычислений на следующей разрядной сетке
Gr.
В примере 2: 5 3 | 01 = 011| 0 , что означает, что при подаче на вход автомата сдвига .S’,
поставленного в начальное состояние </=01, числоида х = 3 на выходе получается чис-
лоид у = 0, записываемый на сетке Gr°, и происходит переход автомата в состояние
<7=01, в котором оказывается автомат для вычислений на следующей разрядной сетке
Gr.
Объект, получающийся в результате заполнения мест обобщённой разрядной сетки
цифрами системы счисления, называется гиперчислоидом.
Опишем действие произвольного А автомата на гиперчислоид.
Пусть х =... || х, ||... || х2 || xj || х0 II - гиперчислоид, где х0 - числоид, записанный на
сетке Gr°, jjj — числоид, записанный на сетке G/1, х2 ~ числоид, записанный на сетке
Gr",... хг - числоид, записанный на сетке G/, и т.д.
Тогда действие автомата на гиперчислоид задаётся равенством
A* I ?о = А(... II А- || - || Й || х0 ||) | q0 =
= - II Ах,. | qr || Axr-i | qr-i ||... || Axt | q, || Ах0 | q0 ||,
где Ахг | cj,. - результат действия автомата, поставленного в состояние q,. как начальное,
на числоид х,., расположенный на сетке G/, причём состояние q,. является результатом
переноса из предыдущей разрядной сетки.
Пример 3. Автомат А является автоматом сдвига, А = S. Гиперчислоид
а = ... || 0 ||... || 0 || 0 || 3 ||. Начальное состояние q0 = 01. Тогда
5а 151 = 5(... || б ||... || б || б || 3 ||) | 51 =
— — _ _ _ _ _ _ _ (5.62)
=... || 50 | 01|... || 501 01| 501 011| 53 | 011|=... || 01|... || 01| 011| 01|.
Здесь 53 01 =0! ||0 - результат действия автомата сдвига, поставленного в состояние
<70 = б 1 как начальное, на числоид 3 на сетке Gr°. Из него видно, что для вычислений в
следующей разрядной сетке Gr' автомат переходит в состояние </, = 01 как начальное, что
и отмечено в предыдущем равенстве. В этом начальном состоянии происходит вычисле-
ние 50161 = б || 61, вследствие чего на сетке Gr записывается результат 61 и происходит
переход в новое начальное состояние q2 ~ 6 для вычислений на сетке Gr2 и т.д.
Множество натуральных чисел (точнее, обозначения для них) получено автоматом
сдвига на сетке Gr° из числоида 0 и представляет собой множество^ = {0,01,02,...},
каждый элемент которого, с одной стороны, имеет количественное истолкование, а с дру-
гой стороны, порождается автоматом сдвига из предыдущего элемента. Количественное
истолкование осуществляется человеком, автомат никак на него не реагирует, т.е. не вос-
принимает его и им не пользуется. В противоположность этому процесс порождения обо-
значений для чисел реализуется автоматом сдвига 5. Обозначения для натуральных чисел
упорядочиваются последовательно одно за другим. Тем самым, в отличие от идеи коли-
146
чества, идея порядка реализуется автоматом сдвига. Однако обозначения для натураль-
ных чисел меняются при переходе от одной системы счисления к другой. Количественная
же идея, связанная с обозначением для натурального числа, не меняется. Именно она
является истинным содержанием понятия натурального числа.
В процессе порождения возникает понятие непосредственного следования, определяе-
мое соотношением: х -4 Sx в силу которого число 5х , порождённое автоматом сдвига из
числа х , является непосредственно следующим за х . Тем самым, отношение непосред-
ственного следования - это отношение, определяемое и реализуемое автоматом сдвига.
Итак, отношение непосредственного следования определено на множестве натураль-
ных чисел с помощью автомата сдвига.
Автомат сдвига, который на множестве натуральных чисел для каждого числа порож-
дал непосредственно следующее за ним число, продолжает выполнять свою функцию: для
каждого объекта порождать непосредственно следующий за ним объект. Но теперь эту
свою функцию он выполняет на множестве гиперчислоидов, причём в полном объёме, т.е.
на всех объектах, которые будут встречаться в дальнейшем.
Автомат сдвига, действуя на гиперчислоиды, устанавливает на них отношение поряд-
ка. Вследствие этого гиперчислоиды будем называть также ординалами. Таким образом,
признаком ординальности объекта является только одно обстоятельство - способность
автомата сдвига вести с ним вычисление. А автомат сдвига может действовать на любой
гиперчислоид. Таким образом, все гиперчислоиды являются ординалами. Например, число
5 является ординалом, когда мы подчёркиваем его порядковый характер. Но ординалы рас-
падаются на последовательности. Каждая такая последовательность определяется своим
начальным элементом. Если взять в качестве начального элемента 0 , то на сетке Gr1 мно-
жеством ординалов будет множество натуральных чисел N = {0,01,02,...}, которое мы
обозначим также в виде пары (0,5) = {0,01,02,...} , на первом месте которой стоит началь-
ный элемент последовательности, на втором - автомат .S’, последовательно действующий на
все порождаемые элементы. Если взять другой элемент в качестве начального, например,
1 , то получим последовательность ординалов (1.5) = {1,12,13,120,...}, отличающуюся от
предыдущей, причём они не пересекаю гея ни по одному элементу. Таким образом, после-
довательности ординалов могут не пересекаться. Интересно посмотреть, каковы предель-
ные элементы приведённых последовательностей. Для этого надо предварительно рассмот-
реть /--разрядные множества, состоящие из элементов этих последовательностей вида
{Ox j...XjX0} и {lx j...XjX0}; в пределах этих множеств последними элементами будут
соответственно {03...33} и { 13...33}. Устремляя г к бесконечности, получим, соответствен-
но, предельные элементы этих последовательностей: ... 11 0 || 3 | и ... 11 1 || 3 |.
Gr' Or" Gr'1 Or"
Сам автомат сдвига не способен получить эти числоиды, нужна помощь с нашей сто-
роны.
Однако, получив в своё распоряжение эти числоиды, автомат сдвига способен про-
должить порождение ординалов для обеих последовательностей. Первые продолжения
находятся за пределами сетки Gr° и имеют вид:
(б, 5) = {б, 61,02,....... ||0||J|,...||01||0|,... ||01||51|, ...|ЦИ||02|,...} и
&' Gr" Gr' Grc Gr1 Gr" Gr' Gr"
(1,5) ={1,12,13,...|Щт,-11^2|т--1|Т2||01|,-1Щ|03|--}-
Gr' Gr" Gr' Gr" Gr" Gr" Gr' Gr"
147
Если ограничиться рассмотрениями на сетке Gr°, то все ординальные последователь-
ности имеют своим предельным элементом числоид 3; можно сказать, что он следует за
всеми ординальными последовательностями на сетке Gr°, но не непосредственно следует.
Найдём на гиперсетке с помощью автомата сдвига объект, непосредственно следую-
щий за ординалом а =... || б ||... || 01| 01| 3 ||. Имеем, используя правило (5.61):
S(... || 5 ||... || б || б || 3 ||) 151 =
=... || 5б | б ||... || 501 б || 50 1611| S3 1511| = ...||5||...||б||б1||б||.
Получившийся объект есть непосредственно следующий за ординальным числом а
а =... || б ||... || б || б || 3 | ч ...||б||...||б||51||б|| = 5а.
Это можно записать также в виде
a + 1 = S(... || б ||... || б || б || 3 ||) 161 =... || б ||... || б || 611| б ||. (5.63)
(Заметим, что определение операции сложения данное ранее на множестве целых чисел с
помощью автомата сдвига S, переносится на множество гиперчислоидов, и, таким обра-
зом, запись а + 1 корректна.)
Ординальное число а + 1 с помощью автомата сдвига получило цифровое представле-
ние, было вычислено (это «ординальная десятка»).
Аналогично могут быть вычислены другие ординальные числа:
a + 2 =... || 0 ||... || б || 611| 511|,
a + 3 =... || б ||... || б || 511| 02 ||, (5.64)
а + а = 2- а— .. ||б ||... ||б|| 611| 321|,
2а+1 = ... || б ||... || б || 511| 3 ||, ...
Из (5.62)-(5.65) видно, что рассмотренные здесь ординалы есть, по существу, гиперчислоиды,
записанные на обобщённой разрядной сетке, не имеющей ограничений в своём развитии в
бесконечность. Все эти ординалы последовательно вычисляются автоматом сдвига. Таким
образом, автомат сдвига последовательно порождает не только натуральные числа, но и орди-
налы, которые можно назвать ординалами второго ранга, при этом сами натуральные числа
являются ординалами первого ранга. Признаком ранга ординалов является количество нетри-
виально используемых для их представления разрядных сеток. Все построенные ординалы
можно назвать натуральными гиперчислоидами, поскольку они произошли от натуральных
чисел и закон их получения совпадает с законом получения натуральных чисел.
Но автомат сдвига является источником не только числовых объектов, но и других вы-
числителей, первым из которых является обратный автомат сдвига, приводящий к появле-
нию отрицательных чисел, точнее, к цифровому их представлению на сетке Gr°. Кроме него
из автомата сдвига последовательно порождаются более сложные вычислители: сумматоры,
умножители и т.д., и обратные к ним. Все они порождают, также как и автомат сдвига, свои
числовые множества, на которых они могут вести вычисления. Эти числовые множества
трансформируются в другие гиперчисла, которые являются аналогами рациональных, ирра-
циональных и т.д. чисел. Описание их выходит за пределы этого параграфа.
В формуле (5 64) мы записали a + a = 2 a =... || б ||... || б || 611| .32 ||, т е. записали сумму
двух ординальных чисел как произведение. Обычно это делается как само собой разу-
меющееся [4]. Но мы проведём обоснование этой записи. Для этого приведём таблицу
умножителя на 2, действие которого, как и действие автомата сдвига, распространяется
на гиперчислоиды, записанные на обобщенных разрядных сетках. Пропустим через
148
умножитель гиперчислоид а =... || 0 ||... || 0 || 0 || 3 ||. Изображаем развёртку работы этого
умножителя на обобщённой разрядной сетке. В развёртке будут иметься разрывы, по-
скольку происходят переносы состояний из одних разрядных сеток в соседние сетки с
большими весами. На каждой новой сетке вычисления начинаются с момента f-0, на-
чального для этой сетки.
Таблица 5.38
Умножитель 02 х | q , заданный на обобщённой разрядной сетке
ний на разрядных сетках с различными весами. Самая правая сетка - это «наша» сетка
Gr°, на которой мы записываем числа с весовым коэффициентом 10е; на сетке Gr1 идёт
вычисление чисел с весом 101 °°; на сетке Gr2 - с весом 102 " и т.д.
В строке у читаем результат:
2-а = 02-а |б = 02-(... ||б||... ||б||0||3 ||) |0 = .„ Ц0Ц01Ц32 ||,
который показывает, что равенство (5.64) написано правильно.
До сих пор мы рассматривали ординалы на обобщённой разрядной сетке. Называя
встречавшиеся здесь числоиды и гипсрчислоиды ординалами, мы подчеркивали этим
наличие у них структуры порядка, порождённой автоматом сдвига. Теперь рассмотрим
вопрос о представлении ординалов на числовой оси. Этот вопрос аналогичен представле-
нию чисел на числовой оси. Как известно, первоначально мы знакомимся с числами, за-
писанными на разрядной сетке. При этом роль разрядной сетки не подчёркивается, её
наличие считается чем-то само собой разумеющимся, вследствие чего она уходит на вто-
рой план. Затем мы изобретаем числовую ось и даём геометрическую интерпретацию
числам. Между числами и точками числовой оси устанавливается взаимно однозначное
соответствие. Вследствие этого взаимно однозначного соответствия, понимая суть дела,
можно точки числовой оси называть числами и приписывать им количественную идею,
которую несут в себе числа, и говорить, что точки - это числа (конечно, точки - это не
числа, поскольку точки являются геометрическими объектами; тем не менее будем точки
по указанной выше причине называть числами).
149
Со времён школы мы делим натуральные числа на порядковые и количественные. Так,
число 5 мы называем порядковым, если хотим отметить тот факт, что оно следует за чис-
лом 4, и мы называем его количественным, если хотим отметить, что в некоторой группе
5 предметов. Таким образом, и ординал 5, и кардинал 5 обозначены одинаково. Благодаря
автомату сдвига ординалы получили цифровое представление. Поэтому нет острой необ-
ходимости в специальных значках для ординалов. Их цифровая запись вполне представи-
тельна. Тем не менее значки типа со привычны и полезны при объяснениях. Представле-
нием ординала на числовой оси является соответствующий ему многоточечный объект.
Здесь есть аналогия с представлением порядкового числа 5 соответствующим ему количе-
ственным числом 5, которое может быть изображено точкой. Однако для изображения
ординала одной точки недостаточно. Для изображения ординалов точечными объектами
требуется более сложное геометрическое образование. Ординалы могут быть изображены
на неархимедовой прямой, называемой числовой гиперосью, модель которой такова (см.
рис. 5.5). Изображение ординалов точками числовой гипероси будем называть количест-
венной интерпретацией ординалов.
-2-1012 -2-10 12 -2-1 0 1 2
AvJlO'1”) Ахо(10°) AxjGO1”)
Рис. 5.5. Модель числовой гипероси
На рисунке 5.5 символом Ах0( 10°) отмечена наша привычная числовая ось, на которой
мы точками изображаем числа. Числа этой оси идут с весовым коэффициентом 10°. Спра-
ва стоит ось HxiflO1 ”) бесконечно больших величин, геометрически подобная предыду-
щей оси zLv'ot 10°), однако числа на ней идут с весовым коэффициентом 101 ”. Ещё правее
находится ось Лхг(10‘ °") бесконечно больших величин с весовым коэффициентом 10" ”
(не изображена) и т^. Слева от оси Лх0(10°) располагаются оси бесконечно малых вели-
чин, геометрически подобные предыдущим осям, но с весовыми коэффициентами 10' ”,
(/•=1.2,...).
Изобразим на гипероси числоид а =... || 01|... || 01| 01| 3 ||, точнее, изобразим на гипероси
тот точечный объект, который соответствует ординалу а. Суть такова. Ординал а есть
порядковый объект, полученный в результате систематического применения автомата
сдвига. Надо перейти от порядковой трактовки а к количественной. Для этого использу-
ем количественную трактовку каждого разряда в изображении а. Имеем на разрядной
сетке Gr°:
а~ 3 = .. 333 = 3-10°+ 3101+3102+... = 110"+(-!) 10°.
Таким образом, количественная трактовка ординала а может быть прочитана на гипероси
в виде набора точек: (-1) на осиИх0(10°), 1 на оси АхДЮ1 ”), 0 на осиИхг(102 ") и т.д.:
-------4----------> ----------4-----> ----,—ф---------....
-2-1012 -2-1 0 1 2 -2-1 0 1 2
Ахо(10°) Ахц101о°) Ах2(102°°)
Рис. 5.6. Представление ординала а на гипероси
Ординал а может быть записан как набор точек на гипероси (угловая скобка ) указы-
вает на направление роста весов):
а = [-1, 1, 0, 0, ...).
150
(5.65)
Ранее мы нашли (см. (5.61)), что непосредственно следующим за а является ординал
а + 1 =... || 01|... || 01| 011| 61|. Запишем его представление на гипероси:
а + 1 = 0-100+1 10“+0-102“+... .
Изобразим это представление на гипероси:
--------Ь- • . —,--------♦—।---* —
-2-13 12 -2-10 12 -2-1 0 1 2
Ахо(10°) Ах/Ю1”) Ахг(102“)
Рис. 5.7. Представление ординала а + 1 на гипероси
Из сравнения рисунков 5.6 и 5.7 видно, что переход от ординала а к ординалу а + 1
свёлся к сдвигу на Лто(1О°) от точки (-1) к точке 0, как и должно быть. Переход к непо-
средственно следующему ординалу происходит за счёт перемещения точки на оси
Лх0(10°) вправо.
Становится понятным, что представление ординалов а+ 2, а + 3 и т.д. на гипероси
сведётся к последовательным переходам на Лхв(10°) к точкам 1,2 и т.д., пока не будет
пройдена вся ось Лх0(10°) и не произойдёт переход к ординалу
2а+1 = ... || 5 ||... || б || 611| 3 ||,
представление которого на гипероси такое:
2а+1 = 1 10“ + (-1) 10°(иа оси Лх0) +1 10“(на оси ^xj +
+0102'(/ш оси Лх2) + ... = ... + 0 102“+210“+(-1)10°,
что на рисунке изобразится следующим образом:
-----» «—* -----------♦--------»•••
-2-1 0 1 2 -2-1012 -2-1 0 1 2
-4,(10°) AxjCIO1”) Ах2(1О2”)
Рис. 5.8. Представление ординала 2а+1 на гипероси
Ординал 2а +1 может быть записан как набор точек на гипероси:
2а+1 = [-1, 2, 0, 0, ...>. (5.66)
Закономерность в образовании представлений для ординалов на гипероси достаточно
понятна.
Таблица 5.39
Умножитель 03 • х | q , заданный на обобщённой разрядной сетке
Я X б 61 02
б б||б 6,1 6,2
I б||3 01||б 61,1
2 01,2 61||3 02 || 0
3 02,1 02,2 02 || 3
151
Пример 4 Ради интереса с помощью умножителя на три найдём За. Для этого вос-
пользуемся табличным заданием умножителя на три ведущего вычисления на обобщён-
ной разрядной сетке.
Развёртка, позволяющая следить за вычислениями умножителя при прохождении че-
рез него ординала а , имеет вид
Развёртка разделена на части, каждая из которых представляет собой описание вычисле-
ний на разрядных сетках с различными весами. Самая правая сетка - это «наша» сетка
Gr°, на которой мы записываем числа с весовым коэффициентом 10°; на сетке Gr идёт
вычисление чисел с весом 101 на сетке Gr - с весом 102 “ и т.д.
В строке у читаем результат:
3-« = 03 а |0 = 03 (... ||0||... ||0||б||3 ||)|0 = ...||б||021|311|.
Прогоняя этот результат дважды через автомат сдвига (табл. 5.37), получим
53а|б1 = За + 1 =... || 51| 02 || 32 ||,
5(За + 1)|01 = За + 2 =... || б || 02 || 3 | .
Это укладывается в рамки сформировавшейся закономерности:
а + 1 =... ||51| 611| б ||, 2а+ 2 =... || 51| 02 || б ||. За + З =... || б || 031| б ||,...
Приведённые рассмотрения показывают, что вычислительные устройства могут вести
вычисления на множестве ординалов, записанных на обобщённой разрядной сетке, при-
чём, при переходе к гипероси можно давать количественное истолкование результатам,
вполне аналогичное истолкованию на привычной нам числовой оси Л.го(1О°). Отвечая на
вопрос, почему возможны такие вычисления, можно сказать: вычисления возможны из-за
порядка, реализуемого автоматом сдвига. Порядок позволяет вычислять. Он позволяет
вычислять в малом, т.е. на оси 0°), и в большом, т.е. на обобщённой разрядной сетке,
представляя результаты в цифровом виде, и, что особенно ценно, давать количественное
истолкование результатам на гипероси в числовых терминах, в терминах величин сколь
угодно малого порядка и сколь угодно большого порядка.
Вопрос: равны ли величины а + 1 = 1 + а?
Для ответа надо привести сумматор, действующий на гиперсетке. Он получается из
сумматора, ведущего вычисления на сетке Gr°, в который внесены изменения, учиты-
вающие тот факт, что он теперь ведёт вычисления на обобщённой разрядной сетке.
В таблице 5.40 предусмотрена возможность поступления входных сигналов со стрел-
ками во всех вариантах. При поступлении некоторых из них происходит перенос состоя-
ния в следующую разрядную сетку. Например, если автомат находился в состоянии
(Г|
q = 01 и на вход поступила пара , то из таблицы видно, что происходит заполнение
\2J
всех разрядов текущей разрядной сетки выходным сигналом 2 и перенос состояния
q = 01 в следующую разрядную сетку в качестве начального состояния автомата.
152
Таблица 5.40
Сумматор4) х1 х2 | <j , определённый на обобщённой сетке
Гб2) А (зб (56 ГЛ ГЛ ГЛ
U2 J р ЛЛ W Л J ГЛ V J Л)
<7=5 оцо б||Т б||2 оцз 51|1 б||2 оцз 51,0
0=51 6,1 6,2 б,з 61,б 5,2 6,3 51||б 51Ц1
(66 (16 рб Гзб (56 ГЛ ГЛ ГЛ
Л2) ГЛ ГЛ ГЛ ГЛ ГЛ ГЛ Гз J гл
q=0 б||2 б||3 01,0 51,1 б||3 61,0 61,1 61,2
q = 61 6,3 51||5 01Ц1 01||2 о1цо 01Ц1 01Ц2 01ЦЗ
_ - I 3
Если же автомат находился в состоянии q - 0 и на вход поступила пара , то из
таблицы видно, что в этот момент времени автомат вырабатывает выходной сигнал 1, в
следующий момент времени, оставаясь на этой же сетке, переходит в состояние = 01 и
06
вновь воспринимает пару
\2 )
Пример 5 Теперь мы в состоянии ответить на вопрос, чему равна сумма 1 + а . Сум-
му а +1 вычислять сумматором не надо, она вычислена автоматом сдвига и равна
(см. (5.63))
й+1 = ...||б||...||б||б1||5||.
Представляем слагаемые в виде гиперчислоидов на обобщённой разрядной сетке:
1 =... || б ||... || б || 01| 011|, а =... || б ||... || б || б || 3 ||.
Вычисление протоколируем развёрткой:
ОО > / > 0 со > t > 1 0 00 > t > 1 0 t
гл ГЛ гл гл ГЛ (
W । гл 1 гл 1 гл 1 гл 1 гл
1 0 4 1 б <- 1 61 1 61 <- 1 0 ч
г г г г
б 5 1 б 0 Z
(1Г, Gn Gr0
В строке z читаем, результат:
z = 1+ а =... || б ||... || б || 611| б ||.
Тем самым, этим вычислением показано, что ос Т1 = 1 + а, т.е. коммутативность сложе-
ния имеет место и на множестве ординалов. (Утверждаем наличие коммутативности,
несмотря на то, что рассмотрен только один пример на сложение ординалов. Этот общий
вывод вытекает из рассмотрения табл. 5.40.)
153
Заметим, что ординал а = 3, хотя он и напоминает по своим свойствам ординал Кан-
тора со, всё же не совпадает с ним, что видно хотя бы из того, что для ординала Кантора
справедливо неравенство со + 1 1 + со. Имеются и другие отличия ординала а = 3 от
ординала Кантора СО.
Перевод гиперчислоидов в гиперчисла. Напомним, что гиперчислоиды представляются
на обобщённой разрядной сетке (рис. 5.4), а соответствующие им гиперчисла располага-
ются на числовой неархимедовой гипероси (рис. 5.5). Ранее мы решали задачу о нахожде-
нии на гипероси точечного объекта, соответствующего гиперчислоиду (речь шла об ор-
динале а = 3). Числовое содержание а мы находили, сводя этот вопрос к числовому
содержанию каждого разряда ординала а = 3, записанного на сетке Gr°. При поиске
дело свелось к нахождению суммы 1 + 10+10“ + ... . Эта сумма встречается часто при
решении других подобных задач. Нет необходимости вычислять её в каждом отдельном
случае, поэтому имеет смысл привести результат её вычисления, канонизировать и ис-
пользовать его в других случаях. Результат таков'
1 + 10 + 1^+... = ^ 10"10». (5.67)
Он справедлив в любой показательной системе счисления Второе слагаемое в (5.67) рас-
полагается на сетке Gif, (i — 0, 1, ...), а первое - на сетке Gr' . Происходит переброс через
бесконечность.
Пример 6. Найти числовое представление для гиперчислоида
х= ... ||б ||... ||031|211| 3121|.
Решение. Числоид 312 располагается на сетке Gr° (изобразим это записью 312 g Gr°).
Аналогично 21g Gr1, 03g Gr2 , на остальных сетках — нули. Находим их числовые пред-
ставления.
312 = 2 + 1 10 + 3 102 (1 + 10 + 102 + ...) =
-2 + ' |0*3 * * 101 (10Л |0"*(-1<и) |0")-
= ЖТ 102+1 101 + 210° =
= JPL.10-J 2332Vloo.
ю-i Д ю-J
е/,х1 еЛх0
Аналогично находим
21=-j^-j-'10"" + (-^pj-(10<), бз = 102
'---v----> < ' еЯх2
e+q
Складывая по числовым осям соответствующих весов (аналог поразрядного сложения),
получаем (обозначим числовое представление гиперчислоида х через х ):
= =101.10з~ + 103 1(Г /23Д)1оо
з з \ 3 /
е +v2 6 * +ч е
На всех остальных осях Ах„ (г = 3, 4, ...) стоят нули, 0 .
Таким образом, представление х ординала х на числовой гипероси может быть
записано в виде набора точек:
154
= rl 2332) 103 101 „ ,
V = L-—
, >—„—‘ <—v—‘ e Ax$
i.4x„ e^2
В заключение рассмотрим вопрос о числоидах, которые могут быть записаны на сетке
Gr°, но которые не представляют натуральных чисел, - о ненатуральных числоидах, при-
меры которых были приведены ранее. Какое место занимают они относительно решётки,
представленной натуральными числами и ординальным числом а = 3 ?
Для всех ненатуральных числоидов справедливо
Vx[x = fxr...xlx044 3 у ..лг,....Г|Х0-<-< 3], (т = 1,2,3), (5.68)
где ....т,.....vj.ro - иррационал, а значок <-4 есть символ следования, в отличие от символа -<
непосредственного следования. С точки зрения отношения следования, натуральные и
ненатуральные числоиды связаны отношением
Оу,„—У\Уо Ъсг...ХхХо v ... .т,.... п.Го -« 3, (т = 1,2,3), (5.69)
где Qym...y1j'o - натуральные числоиды. Таким образом, ненатуральные числоиды попали
в «щель» между натуральными числами и ординальным числом а = 3. Но ненатураль-
ных числоидов несчётное множество. Натуральные числоиды (т.е. натуральные числа)
имеют полное цифровое представление на разрядной сетке Gr° и изображаются точкой на
числовой оси Лг0(Ю°).Отличие ненатуральных числоидов от натуральных состоит в том,
что ненатуральные числоиды, могут быть в цифровом виде изображены на разрядной
сетке Gr0, но числовая их интерпретация не может быть дана виде одной точки на число-
вой оси Л.го(1О°), она требует выхода за пределы оси /1хг/10") и привлечения точек на дру-
гих осях Ах,(10' “), (i = 1, 2, ...).
Резюме к главе 5
Итак, если обратиться к программной схеме метода последовательного синтеза (3.18),
то ясно, что мы прошли самый верхний ряд этой схемы. Отправляясь от автомата сдвига
Sx\q, q&Q = {|).61]. сыгравшего роль исходного автомата A j этой схемы, мы прошли
этот ряд до конца.
Итогом проделанных построений являются:
1) последовательное генерирование автоматом .8'57'01 из числа 0 множества всех нату-
ральных чисел = (б,01,02,03,010,...] ;
2) построение семейства автоматов сдвига путём систематического решения задачи ЭПС
qe Q„ ={б,01,...,й], п е Na, xeNB;
3) построение бесконечного автомата сдвига для натуральных чисел:
Sx\q, q,xe No = {6.61,02,03,610,...},
4) приведено общее определение понятия обратного автомата;
5) на его основе осуществлено нахождение автомата 5 х | 3, обратного по отношению к
автомату 5 х | 01 ;
6) с помощью автомата 5х|3 проведено построение множества отрицательных чисел:
Z_, -{...,30.31,32,3} (в автоматном представлении);
опр
7) проведено построение множества целых чисел: Z = Z_j J ;
155
8) путём систематического решения задачи ЭПС выполнено построение семейства авто-
матов сдвига для отрицательных чисел:
Sxlg, q<E Q„ = {л,...,3}, neZ_j, xeZ;
9) проведено построение бесконечного автомата сдвига для целых чисел:
Sx\q, q,xe Z = {...,323,30,31,32,3,6,61,02,63,610,...} ;
10) дано определение операции сложения на множестве целых чисел через операцию
опр
сдвига: х' + х2 = .S'fx1 х2| и её реализацию посредством бесконечного автомата сдвига,
заданного таблицей 5.29;
11) используя экстравертность по цифре, построен би-бесконечный автомат сдвига,
охватывающий все возможные варианты развития теории автоматов сдвига;
12) по ходу пос гроения би-бесконечного автомата сдвига введено и использовано понятие
отр1щателъной цифры, полезное при различных представлениях целых чисел;
13) введено понятие гиперсетки и гиперчисла;
14) показана работа автомата сдвига на гиперсетке и установлена связь между ги-
перчислами и ординалами. Показано, что ординалы порождаются автоматом сдвига ана-
логично порождению множества натуральных чисел. Показано, что на множестве орди-
налов абстрактные вычислительные устройства могут вести вычисления, аналогичные
тем, что проводятся ими на множестве чисел. Арифметика и алгебра ординалов вполне
соответствует арифметике и алгебре натуральных чисел.
156
Глава 6
Последовательный синтез сумматоров
§ 1. Свёртка бесконечного автомата сдвига в сумматор
Сумматоры появляются с необходимостью в результате реализации метода последова-
тельного синтеза, схематически описанного в главе 3, на стадии применения операции
свёртки к бесконечному автомату сдвига, заданному таблицей 5.27, функционирующему
как по входу, так и по состояниям на множестве всех целых чисел:
Sx|q, q,xeZ = {...,323,30,31,32,3,0,61,02,03,010,...}. (6.1)
Для краткости этот бесконечный автомат будем иногда обозначать также символом Е» .
С его помощью была определена не встречавшаяся до него новая операция, операция
сложения, посредством равенства
х + q = 5 х | q , (6.2)
где использованы традиционное обозначение для сложения и традиционная терминоло-
гия. Читаем (6.2): «чтобы найти сумму двух целых чисел x+q , надо число х сдвинуть
на величину д , вычислив результат сдвига с помощью автомата сдвига Sx\q , постав-
ленного в начальное состояние д ».
В левой части (6.2) числа х и q выступают равноправно в том смысле, что они явля-
ются произвольными целыми числами. В правой части они неравноправны с функцио-
нальной точки зрения. Действительно, число q - это состояние автомата, в которое он
ставится в начальный момент времени, ах- подаваемое на вход число. Из-за этой своей
роли они по-разному воспринимаются автоматом S x\q : число q поступает в автомат
мгновенно, в начальный момент времени, а число х поступает на вход автомата растя-
нутым во времени, потактово.
Возникает вопрос: нельзя ли подачу чисел х и д на вход автомата сделать одинако-
вой? Точнее, нельзя ли создать устройство с двумя входами, вычисляющее функцию
5 х | q , на оба входа которого числа х и q поступали бы одинаково?
Операция «свёртка» появляется в результате нахождения ответа на этот вопрос.
Возможны два варианта подачи входной информации: либо одновременная мгновен-
ная подача обоих чисел на оба входа устройства, либо растянутая во времени потактовая
подача.
Первый вариант реализуется би-бесконечным автоматом (5.29). Но он нас не устраи-
вает в силу бесконечности автомата. Бесконечность автомата приемлема в теории, но не
осуществима на практике.
Поэтому останавливаемся на втором варианте.
Вначале внесём некоторые усовершенствования, полезные для дальнейшего исследо-
вания.
Прежде всего, будем далее писать вместо переменной q переменную у. Это полезно,
т.к. потом появятся другие автоматы, состояния которых мы по-прежнему намерены обо-
значать буквой д.
157
Поэтому определение (6.2) операции сложения перепишется:
опр
х + у = 5 х | у , (6.3)
где х , у - произвольные целые числа, причём у играет роль состояния, а х - подавае-
мое на вход число.
Основой для получения устройства с двумя входами, ведущего вычисления в том чис-
ле как автомат 5 х | q (обозначаемый далее как S х | у ), будет сам бесконечный автомат
5 х | у. Мы выделим скрытые в нём возможности, на которые до сих пор не обращали
внимания, и, используя их, построим новое устройство.
Итак, считаем наш бесконечный автомат S х\у двухвходовым: один его вход служит
для подачи числа х , другой вход - для подачи информации о состоянии у . С входом для
подачи числа х проблем нет, это тот самый вход, который использовался для этой цели в
самом автомате .S’ х | q . Вход для подачи числа у имеет два подвхода: подвход « у - 0 » и
подвход «у — 1», каждый из которых содержит линии, отмеченные цифрами входного
алфавита. Линия у подвхода у-О соединена с состояниями, номера которых имеют вид
...т],...г|2'ПВ'> а линия у подвхода у-1 соединена с состояниями, номера которых имеют
вид 5 ...г),...T)2T)i.v| 1. (Необходимость в этих двух подвходах будет обнаружена далее.)
Цифры чисел х и у поступают на оба входа потактово и одноразрядно, т.е. в момент
( х,
(такт) t цифры х, и у, поступают одной парой, которую мы будем изображать в виде
vv
Будем считать каждую такую пару буквой нового алфавита Z|4| = (I 1,1 ,...,1 ) .
Входное слово в этом алфавите имеет вид
(X ' (X,. V.Y.j 'l (X, 'l (х. YXn
_=... - - (6.4)
Проследим за функционированием автомата 8 х \у при таком режиме подачи вход-
ной информации.
(х0 А
При t = 0 на вход устройства поступает пара .До момента t = 0 устройство нахо-
VoJ
дилось в покое, и его начальное состояние мы будем считать совпадающим с множеством
всех состояний автомата, т.е. с множеством Z, поскольку каждое состояние отнумеровано
целым числом. Итак, Z = { --П,- -1ДгПi 'ln) - начальное состояние двухвходового автомата.
В момент t ~ 0 поступает некоторая минимальная информация о том, какие состояния
надо включать в работу, чтобы устройство начало функционировать. Этой минимальной
информацией является цифра у0, содержащаяся в поданной на вход паре . Полной
О’»;
информации о состоянии у , в которое надо было бы поставить автомат 8 х | у (как в
начальное состояние), мы не имеем. Вместо этого мы имеем только первую цифру у0 чис-
ла у . Какие цифры числа у будут поданы в следующие моменты времени, мы не знаем.
Поэтому нам не остаётся ничего, кроме как возбудить в начальный момент времени все
состояния автомата S х | у , в записи которых первой цифрой является цифра у0. Каждое
из таких состояний имеет вид у = ...г|,.. тудШУо Вариабельная часть этого состоя-
158
ния ...Г],...'Г]2Г]1 представляет собой произвольное целое число. Поэтому множество всех
таких состояний изобразится записью Yo = Zy,t, в которой точно указана лишь цифра у0 из
разряда единиц, a Z - множество всех целых чисел, представленных в автоматном коде.
При подаче в момент t = 0 цифры х0 сработают все состояния автомата S х | у из множе-
ства Уо = %Уо С помощью развёртки во времени опишем вначале функционирование
S х | у для каждого отдельного состояния у = ...Т](..Л]2111Уо > а потом фукционирование
автомата в состоянии Yo = Zyo
Имеем:
)х0 + ...Г|,...Г]2'П1>'0<
(6.5)
(х0 + ...т|,...'Г|2П1Уо> г
Проведём вспомогательные вычисления, воспользовались соотношениями (5.32), (6.3):
)х0+у(= )ло+-11/--П2П1^о( =)...Г|,...112П1 1О + хо+уо(=
= -П<->12«11+)*о +Уо{ , (6.6)
(«о + у} = + ...1),. Г|2П11'0) = (•Hi-П2П1 10 + ХО + Уо) = (х0 + То)
В выражении (6.6) величина )хо + у0( равна или нулю, или единице: )х0 ту,/ - 0 v 1, а
..Г](...П2Л1 - произвольное целое число. После этих вычислений развёртка (6.5) будет за-
писана так:
П1-'П2'П1 +)Хо+.1’о<
(6.7)
(хо+.Уо) 2
Та же развёртка, но записанная в терминах двухвходового автомата, имеет вид
Хо
То
Z} Т)хо+ув(
Z
J.
<>о+Уо>
(6.8)
В развёртке (6.8) символом Zi обозначено множество всех целых чисел Zi =
= {...t],...t|2T]i}5 представленных в виде, наследующем первозданную запись для состояний
автомата S х | у, в которой цифра Г] i, будучи цифрой из разряда единиц для чисел из Z\,
является вместе с тем цифрой из разряда десятков для чисел из множества
Z = {..л],...1|21111)о}. Поэтому информация о том, что при t= 1 на входе появилась пара
(X] )
. с цифрой у] для состояния, означает, что во множестве Z\ будут выделены состояния
159
вида ...TV-Tlii’i- Записью Z+)y0 + x«( обозначено множество целых чисел, к каждому из
которых прибавлено число )уо + х0(, при этом ясно, что Z = Z + 0 и Z Z + 1 (т.к. О ё Z + 1;
Z = Z + 0 истолковывается как подвход у - 0 , a Z + 1 как подвход у -1).
Обращает на себя внимание тот факт, что в строке z результата для всех состояний Zy0
получилось одно и то же значение (х0 + У о)-
Именно этот факт является основой свёртки.
f-ri 'l
При t = 1 на вход поступает пара и становится известной вторая цифра со-
V’lJ
стояний автомата у = ...г|(...'Г]2У|Уо> множество которых кратко записывается в виде: Zy,y0.
В развёртке (6.7) произойдут изменения, в ней отразится появление в момент t = 1 инфор-
мации о сигнале у] (это не коснётся момента t = 0, т.к. описанный для этого момента пе-
реход-выход разобран полностью):
1 0 t
„Т1 Хо X
• •.Пг-Пл>’1 + )х<|+уо( <- Z у (6-9)
I (
<х9+у0) Z
По формулам (5.32), (6.3) подсчитаем результат при t = 1. Имеем:
fj = (...Г|,...Г|2У1 У)л-0+уо( + лт) = <-По-П2' 10 + >у0 + х0( + х, +?[)-
= Охо-*-у()( + Х1 + У1>.
Аналогично подсчитаем переход в новое состояние:
У1 = )--Х],...1)2Л+)-»»+У»(-»-Х,( = )...Г|,...Т12'1О+)-1со+Уо(+Х1+У1( =
= /••Ц1---П2 10+ )^Х0+Уо(+Х! +У!^10 + ^ )х0 +Уо(+х1 + У1)(=
= ...Т]Г...Т|2+ )}х0 + Уо ^+Xj +у,( .
Поскольку результаты вычислений довольно громоздки и их невозможно изобразить в
развёртке (6.9), то продолжение развёртки изобразим далее, отдельно:
(Продолжение развёртки (6.9))
2 1 t
X, X
I
. T|,...r]2 + ))xo+yo(+x] +У)(. <- .Г),.. гцу, +)х(1+уо< Y
()х0+уо( + Х| +У1). Z
Та же развёртка, записанная в терминах двухвходового автомата, имеет вид:
2 1 0 t
f х, )
) ы
/з + ЙУо+хо^+У! +Х)( <- Zi + )yo + Xo< 1 <- Z Y (6.10)
Oyo + хо( +У1 +Х1) <Хо +уо) Z,
160
где Z, - множество целых чисел, записанное в виде Z2 = {. Hi Пз'Пз}. т.е. его элементы
знаково наследуют символы состояний в начальный момент времени. Это значит, что Г)2,
будучи цифрой из разряда единиц числа . г|,...г|зГ|2 из множества Z2, является в то же вре-
мя цифрой из разряда сотен числа .. Г],...Г] 1Т]о из множества Z. Отметим, что множества
целых чисел Z= {•Пг---Лгт1|'По}, Zi = ^г= {•'П;---'Пз'П2} как множества равны
друг другу, отличаются лишь обозначениями для своих элементов и, вследствие этого,
индексами при них.
Из развёртки (6.10) ясно просматривается закономерность работы двухвходового ав-
томата, которая может быть оформлена в виде фрагмента развертки для произвольного
момента времени f.
t+ 1_______________t
f x'
Z,-j+><₽,( <- Z, + >ф,_1( , (6.11)
J.
<<Pt>
где
Z,= {...n.,...T|/+iT)(},
|<Рг=)ч’>-1(+^+>7,0 = 0,1,...),
|<p-i =0.
Развёртка (6.11) представляет собой высказывание P(f), определённое на множестве нату-
ральных чисел t — 0, 1,2, ... Доказательство его истинности проводится по индукции. Надо
доказать только индуктивный переход P(t) —> Pit + 1).
Пусть Z, + )ф,_ i( истинно. Вычисляем zt. Имеем:
zt = {Zt + iy, + )<р, _ «( + .¥,) = (Z, + । • 10 + у, + )<р, _ । ( + х,) ~ ()ф, _ 1 ( + х, + у,) = <<р,>,
т.е. (6.12) истинно. Здесь мы использовали, что
Z,- {...г),...т|( + ,т),} = {..ЛЪ-П/ , Ю + т|,} = {...Г|,...Г], , Ю}*Т],=
= {. ТЪ-Д 1} • 10 + n, = Z,+ i • 10 + т],.
Аналогично доказывается истинность перехода в (6.11).
Итак, доказано, что двухвходовый автомат, эквивалентный бесконечному автомату
сдвига 5 х | у , функционирует согласно правилам, содержащимся в развёртке (6.11), (6.12).
Теперь докажем, что )ф,( = 0 v 1. Доказательство проводится также по индукции. Дей-
ствительно, пусть )ф,_!(•= 0 v 1. Тогда из (6,12) следует, что ф, = )ф,_]( + к, + у, е {0, 1, ...,
13}, (t = 0, 1 ...). Следовательно, )ф,( = 0 v 1, что итребовалось подтвердить.
Итак, развёртка (6.11). которую мы перепишем в виде
t + 1 t
f xt A
г+)ф,< <- г+>ф,_!< (6.13)
<ф()
161
учитывая, что Z, +1 = Z, = Z представляет, как доказано, развёртку работы двухвходового
автомата, эквивалентного бесконечному автомату X. (Sr |у) Развёртка (6.13) - это ти-
пичная развёртка работы автомата, из которой видно, что в роли состояний этого автома-
та выступают объекты q = Z + )<р,(. Поскольку )<р,( = 0 v 1, то </ е {Z + О, Z + 1}, т.е. у ав-
томата только два состояния, причём каким будет состояние, определяется однозначно
величиной )<р,(. Поэтому именно её, в конечном итоге, будем считать состоянием автома-
та. В результате окончательно развёртка (6.13) перепишется:
( х, 'I
J
I
}<р,( «- >ср,_|< (6.14)
где ф? вычисляются рекуррентно с помощью соотношений:
fф, =)Фг-1 (-1-Л7 +у, ,(1 = 0,1,...),
1<Р-1=0.
Свёртка проведена полностью. В результате получен двухвходовый автомат с двумя
состояниями, описываемый развёрткой (6.14) и рекуррентными соотношениями (6.15).
Отметим особо, что получившийся автомат является целевым, т.е. при t = 0 он имеет
одно специальное выделенное состояние. Из этого начального состояния он вычисляет
свою целевую функцию - сложение. Действительно, при 1 = 0 из развёртки (6.14) видно,
что начальным состоянием является <р_j, а эта величина, согласно (6.15), равна нулю:
ф_1 = 0. Таким образом, у построенного автомата начальным состоянием является со-
стояние <7 = 0. Вместе с тем, если поставить автомат в состояние q = 1 как начальное, он
будет функционировать и вычислять свою связанную с этим состоянием функцию. Это
есть не что иное, как проявление в зачаточном виде свойства экстравертности по со-
стояниям, присущего этому, как и многим другим, автоматам, и состоящего в том, что
устройство оказывается способным выполнять действия, отличные от того, для которого
оно первоначально создавалось.
Запишем задание синтезированного автомата в виде ключевой схемы, извлекаемой из
(6.14), (6.15). Опа такова:
Г' I, Н-1 ( (6.16)
\У1)
где <р, вычисляются по (6.15).
Ключевую схему можно записать автономно, без участия <р,:
Г' |> (6.17)
\Уг J
Наконец, учитывая, что в (6.17) величина - это состояние q построенного авто-
мата, запишем ключевую схему в терминах q :
I И }4+xt+yi{^l+xt+yt}, (1 = 0,1,...),
(6.18)
е2 ={0,1} = {б,01}.
162
Это окончательная форма ключевой схемы построенного автомата, с которой мы чаще
всего будем иметь дело.
Синтезированный автомат будем называть сумматором двух чисел и обозначать сим-
волами:
2 2 2
Е(4) х'х2 | q , Sx'x2 | q , 5.
Прочитаем ключевую схему (6.18): «если в момент i автомат находился в состоянии q
и на вход его поступил входной сигнал , то автомат переходит в состояние
) q + х, + у, ( и вырабатывает выходной синал lq + х, + у,} ».
Заметим, что индекс t при х, и у, можно опустить.
Обратим внимание, что синтезированный (в результате применения операции свёрт-
ки к бесконечному автомату сдвига) сумматор получен в формульном виде (6.18)
Этот вид удобен, ибо позволяет вести дальнейшие рассмотрения в различных направле-
ниях.
Первым применением формул (6.18) будет построение таблицы, задающей сумматор
2
Е. Алгоритм поразрядного суммирования любых двух целых чисел, содержащийся в
2
(6.18). удобно реализовывать с помощью таблицы для сумматора L. создаваемой на ос-
нове (6.18). В таблице х заменено на х*, у заменено на х2.
Таблица 6.1
Сумматор Z(4)x1x2 | q
ГхЛ С оЛ| ГзГ Го) |Т| (2) ГзГ
V2 ) ы ы W Ы I1 J Д J I1 J I1 J
q = Q 5,6 5,1 6,2 6,3 5,1 5,2 5,з 51,о
0=61 5,1 5,2 0,3 51,5 5,2 5,3 01,0 51,1
ГхЛ (о) ГЛ (25 (3) ГЮ ГН (2) А
ух2 J ы Ы 1^2 J Ы V ) Ы J Ы
<7=6 5,2 5,3 51,0 51,1 6,3 51,о 51,1 51,2
q = 61 5,з 51,о 61,1 51,2 51,6 51,1 51,2 51,3
Свёртка описана также в [12, 14, 15].
Дадим ещё одну характеристику описанного процесса. Процесс, состоящий в переходе
от бесконечного семейства автоматов сдвига {5 х | q] |fsZ, Z = {...,31,32,3,6.51,02,..J . a
также от его предельной актуализации - автомата .S’. к конечному автомату L^x'x2 | q ,
есть метасистемный переход [11, 14]. При этом переходе происходит замена деятельно-
сти бесконечного числа управляющих систем, среди которых есть и бесконечные, функ-
ционированием одного конечного управляющего устройства. Происходит переход на но-
вый качественный и количественный уровень. На этом новом уровне синтезированный
163
автомат L т'.г2 | q открывает новый этап эволюционного развития вычислительных уст-
ройств
Заметим, что свёртка может быть применена не обязательно к бесконечному устройст-
ву, но и к конечному, достаточно большому, настолько большому, что в нём уже отраже-
ны закономерности, присущие тому семейству, которому оно принадлежит.
Резюме'.
1. Дано описание операции «свёртка», позволяющей в некоторых случаях по бесконечно-
му вычислительному устройству находить эквивалентное ему конечное устройство.
2. Операция свёртка была применена к бесконечному автомату сдвига S' х | q , в результа-
2
те чего получен конечный автомат X, эквивалентный автомату Sx\q Автомат Sx\q
позволяет определить операцию сложения на множестве целых чисел, но предлагает её
вычисление с помощью бесконечного устройства. В отличие от него, автомат X xlx2 | q
даёт конечный алгоритм для вычисления суммы любых двух целых чисел.
2
3. Проведено доказательное обоснование формульного описания автомата £, т.е. доказа-
тельство правильности формул операции сложения. При традиционном подходе, когда
правила операции сложения кладутся в основу аксиоматического построения арифмети-
ки, этого делать не требуется. Но при генетическом посроении (метод последовательного
синтеза) это необходимо.
2
4. На основе формул (6.18) для сумматора 2L получена эквивалентная таблица этого сум-
матора, приспособленная для дальнейшей работы с сумматором.
§ 2. Вычисление сумматором Хх'х21 q
При проведении вычислений будет использоваться таблица 6.1.
Пример 1. Пусть X1 = 02332 и х2 =02301 Требуется найти их сумму. Вычисление
сумматором протоколируется развёрткой.
t>5 4 3 2 1 0 t
М р2! р2) /З2] рб рр
W Ы ы Ы V ) [х2 J
0 <— 1 61 <— 01 <- 6 <- 6 «_ 1 0 q
1 J.
б 1 1 2 3 3 Z
Результат прочитывается в строке z: S 02332 023011 0 = 011233 .
2
Читаем: «если сумматор X поставлен в начальное состояние 0 (стоит справа от вер-
тикальной черты в записи X 02332 02301 0) и на вход его поданы числа х' = 02332 и
2
х2 =02301, то их сумма вычисляется сумматором 2- и равна 011233». Правильность
вычисления проверяется «школьным» сложением столбиком; аналогичное вычисление
мы уже проводили (см. далее).
164
В верхней строке стоят цифры переноса.
О 110 0
б 0 2 3 3 2
+ 0 0 2 3 0 1
б 1 12 3 3
Замечание 1. После приобретения навыков работы с развёртками горизонтальные и
вертикальные стрелки, отнимающие много горизонтального и вертикального места, мож-
но не писать.
Пример!. Пусть х1 =02332 и х2 =32301. Требуется найти их сумму. Вычисление
сумматором протоколируется развёрткой.
0 оо > / > 4 3 2 1 0 t
/6^1 /3^1 <2>
(sj Ы Ы (oj Ц J U2}
61 51 51 5 5 5 <7
6 1 2 3 3 z
Gr1 Gr°
Результат прочитывается в строке z: X 02332 323011 0 = 01233.
Начальная фаза вычисления происходит на сетке Gr°, затем оно передаётся на сетку
Gr1, на которой вычисление начинается с собственного времени на этой сетке - момента 0.
Число х2 ~ 32301 является отрицательным и выражается через противоположное ему чис-
ло, записанное в обычном коде: х2 = -01033 . Поэтому рассматриваемый пример сложения,
выполняемый сумматором, есть, по существу, вычитание из числа х1 =02332 числа 01033.
Проверка столбиком подтверждает правильность вычисления, проведённого сумматором:
-1 ।
- 0 2 3 3 2
6 10 3 3
0 0 1 2 3 3
В верхней строке стоят заёмные единицы из предыдущих разрядов.
Таким образом, сумматор может выполнять вычитание.
Пример!. Пусть х1 =32332 и х2 =02301. Требуется найти их сумму. Вычисление
сумматором протоколируется развёрткой.
oo>f>4 3 2 1 0 t
f3> ГзА
w I3 J 1° J V J P2 J
01 01 0 5 6 q
0 1 2 3 3 z
Результат прочитывается в строке z: S 32332 023011 0 = 01233.
Пример 4 Пусть х1 = 32332 и х2 =32301 Требуется найти их сумму. Вычисление
сумматором протоколируется развёрткой.
165
б оо > t > 4 3 2 1 0 t
рб (3) А
ы ы ы 1 oj V ) [х2 j
61 61 61 6 6 6 q
3 1 2 3 3 z
Результат прочитывается в строке z У 32332 323011 б = 31233 .
Поскольку х1 =32332 = -1002, х2 =32301= -1033, то сумма равна -2101 = 31233,
как и вычислено сумматором.
Замечание 2. Обратим внимание, что в развёртке после столбца, отмеченного «момен-
том» времени «о > t > 4, стоит «момент» времени / — 0. Это означает, что финальные пары
fo^j Гз) Гз'}
, , подаются на вход сумматора бесконечное число раз, что отмечено стрел-
1^3J
ками. При каждой такой подаче вырабатывается единица переноса 01 в следующий раз-
ряд. Но она же стоит в развёртке и после момента времени t = в момент, который мы
изобразили символом 1 = 0. Этим фиксируется тот факт, что вычисления на сетке Gr°
(см. гл. 5, § 16) закончены и автомат готов к вычислениям на следующей разрядной сетке
Gr1, что отмечено разрывом в развёртке.
Резюме:
На примерах показана вычислительная работа синтезированного сумматора.
§ 3. В-схема сумматора Zx'x21 д
Приведём В-схему сумматора. В ней выделяются два блока (обведены жирными ли-
ниями). представляющие собой состояния автомата. Состояние q = 0 представлено бло-
ком элементов &, первый индекс которых является нулём; состояние q = 1 представлено
блоком элементов & с первым индексом, равным единице. Сумматор имеет вход, содер-
жащий два подвхода, называемых, соответственно, вход-х1 и вход-х2. По ним подаются
цифры складываемых чисел. На выходе-v появляются цифры результата. Каждая линия
входа и выхода соответствует своей цифре. По линиям С происходит пуск автомата в на-
чальный момент времени, а в последующие моменты времени происходит управление
работой сумматора, т.е. включение в работу того или иного состояния. По линиям Н про-
исходит вырабатывание сигнала переноса в старший разряд по отношению к текущему
разряду; этот сигнал переноса по линиям обратной связи попадает на линии С, и там он
становится управляющим сигналом.
В последний момент времени на выходе-у формируется предпоследняя цифра резуль-
тата, а по линии Н - последняя цифра результата. Этой последней цифрой будет либо 0,
либо 1. Обратим внимание: и предпоследняя- и последняя цифра результата вырабаты-
ваются сумматором одновременно.
Проследим за работой сумматора на примере сложения, когда складываются числа
х1 = ...02332 и х2 = ...02301. Развёртка, позволяющая проследить за его работой, подобна
развёртке для автомата, но содержит уточняющие детали, необходимые для слежения за
движением сигналов.
166
6 5 4 3 2 1 0 t
/О) М (3) <2> рр
"Ы W W u J [х2)
0 0 1 1 0 0 0 с
&000 &000 &100 &122 &033 &030 &021 &
0 0 1 1 0 0 н
... 0 1 1 2 3 3 У
Комментарий к развёртке.
При t = 0 на вход устройства поступает пара сигналов х1 = 2 и х2 = 1; по линии С по-
ступает пусковой сигнал 0. Из всех элементов & устройства срабатывает единственный
элемент &021. Через время (т & - это время задержки сигнала при прохождении его через
элемент &; будем считать эту задержку единицей измерения времени) на выходе элемента
& сформируются сигналы, передаваемые на линию Н - 0 и линию выхода у — 3. В момент
t= 1 на выходе, таким образом, сформировалась цифра результата из разряда единиц,
равная 3, а сигнал Н = 0, снимаемый в этот момент на выходе Н, истолковывается как
цифра переноса в следующий разряд; переданный же по обратной связи на линию С трак-
туется как управляющий сигнал.
При t = 1 на вход устройства поступает пара сигналов х1 = 3 их2-0; из управляющих ли-
ний С возбуждённой благодаря передаче сигнала Н = 0 оказывается линия С = 0. Срабатывает
элемент &030. В момент t = 2 сигналы появятся на линии Н - 0 и на линии выхода у = 3, что
означает появление следующей цифры результата из разряда десятков, равной 3, и т.д.
Запишем результат вычисления сумматором:
V(4) 2332,2301|0= 11233,
где старшая единица результата берётся из строки II развёртки в момент t= 5. (В записи
результата мы использовали запятую для отделения одного слагаемого от другого. Этого
мы не делали в примерах 1-4 из § 2, т.к. там был естественный разделяющий знак, кото-
рым являлась цифра со стрелкой.)
Как видим, время суммирования двух пятиразрядных чисел равно 5т&. В общем слу-
чае время Т суммирования двух «-разрядных чисел Г= л т & (» не Г = (и + 1) т *; это
объясняется тем, что в сумматоре сигнал переноса в старший разряд формируется одно-
временно со старшей цифрой результата, что обеспечивает возможность их одновремен-
ного считывания). Меньшего времени среди последовательных сумматоров, восприни-
мающих пары цифр складываемых чисел поразрядно, добиться невозможно. Не сущест-
вует также параллельного сумматора, складывающего два числа быстрее, чем приведён-
ный сумматор. Это объясняется тем, что идея ускорения процесса сложения в параллель-
ном сумматоре основана на том факте, что в некоторых схемах время формирования сиг-
нала переноса оказывается меньшим, чем время формирования цифры результата в соот-
ветствующем разряде. За счёт этого процесс сложения цифр в следующем разряде можно
начать, не дожидаясь появления результата сложения цифр в текущем разряде. В рас-
сматриваемом сумматоре эти временные дельты одинаковы.
Время сложения двух чисел в параллельном сумматоре равно п т„ +• т, где т„ - время
переноса, т - время суммирования цифр одного разряда, а п - разрядность складываемых
чисел. В параллельном сумматоре это время считается одним тактом, и потому говорят,
что «в параллельном сумматоре сложение происходит за один такт». Но поскольку оче-
видно, что т„ > , то понятно, что один такт параллельного сумматора больше величины
Т = п т& для последовательного сумматора (рис. 6 1) и параллельный сумматор действи-
тельно считает медленнее последовательного сумматора, изображённого на рисунке 6.1.
167
Правда, возможно усиление идеи параллелизации и ускорение вычисления за счёт того,
что в один и тот же момент времени складываемые лары цифр подаются группами, и то-
гда вычисление происходит быстрее. Эта подача пар цифр складываемых чисел группами
не является, однако идеей параллелизации, а является другой идеей - изменением входно-
го алфавита автомата. (Хотя и её называют иногда идеей параллелизации, аргументируя
тем, что «ведь подаётся же группа цифр одновременно, т.е. параллельно». Но это всё же
не идея параллелизации, а идея изменения входного алфавита, поскольку в основе идеи
параллелизации сумматора лежит возможность формирования цифры переноса в сле-
дующий разряд раньше, чем цифры результата.) При подаче пар цифр группами одной
буквой является элемент декартова произведения xZ^.. где т - количество разрядов
в группе, а к - основание системы счисления (в существующих компьютерах речь идёт
только о к = 2, в случае же сумматоров типа того, что изображен на рисунке 6.1, можно
говорить о любом к> 2). Такой вариант ускорения вычисления приводит к новому пони-
манию «одного такта» в параллельном сумматоре. Один такой такт оказывается равным
кк тп + т, где п - разрядность складываемых чисел, а т - количество разрядов в группе,
причём фигурирующие здесь величины тп и т могут отличаться (в сторону увеличения) от
соответствующих величин з простом параллельном сумматоре.
Но идея изменения входного алфавита и подача на вход пар цифр складываемых чисел
группами по т штук без труда применима и в нашем случае. Получающийся при этом
последовательный сумматор будет аналогичен тому, что изображён на рисунке 6.1, и бу-
дет складывать два числа за время и кк^ И) , где символом [а] обозначена целая часть
числа а («антье»). Поскольку тп>'С&, т>т&, то выполняется неравенство
— • т„ + т > (Г— । + 1)т& и, следовательно, параллельный сумматор производит вычисление
медленнее рассматриваемого последовательного сумматора. Если учесть простую струк-
туру сумматора того типа, что представлен на рисунке 6.1, а также учесть тот факт, что на
разрядность складываемых чисел нет ограничений, и сравнить его структуру со структу-
рой параллельного сумматора (даже при к = 2 очень сложной, а при к > 2 вообще не суще-
ствующей) и с ограниченностью количества разрядов складываемых им чисел, то станет
ясно, что сумматоры типа того, что изображены на рисунке 6.1, имеют заметные преиму-
щества по сравнению с обсуждаемыми параллельными. Кроме того, для них справедливо
утверждение: они существуют в любой системе счисления, обладая полным конструктив-
ным подобием. Для современных сумматоров переход из двоичной системы счисления в
какую-либо иную затруднён (ранее проведённые эксперименты не оправдали себя), а уж
тем более при таком переходе нет конструктивного подобия
В современной вычислительной технике общеизвестен факт, что параллельные сумма-
торы производят вычисление быстрее последовательных. Для A-схем (т.е. для современ-
ных компьютеров) это утверждение совершенно правильно. В связи с этим по аналогии
возникает вопрос: а нельзя ли превратить сумматор, представленный на рисунке 6.1, в
параллельный с целью ускорения вычислений? Ответ: нельзя. Дело в том, что, как уже
было сказано, идея параллелизации (не путать с идеей перехода в другой алфавит, когда
на вход цифры подаются группами) основана на том, что время вырабатывания сигнала
переноса в некоторых схемах меньше времени сложения цифр одного и того же разряда:
Тц < т. В сумматоре же, который изображён на рисунке 6.1, время вырабатывания сигнала
переноса и время получения результата сложения цифр в одном разряде одно и то же и
равно времени задержки в элементе &: тп = т = т &, причём эта величина неуменыиаемая,
меньше т& она быть не может. Таким образом, организовать ускоренный перенос и вслед-
168
ствие этого опережающее сложение в следующем разряде не удастся. Это общее свойство
В-схем, к числу которых относится рассматриваемый сумматор.
Схемное быстродействие сумматора E.r'.v2 | </ максимально и, значит, принципи-
ально неулучшаемо. Под быстродействием понимается следующее. В некоторый мо-
мент времени на вход устройства подаётся информация, подлежащая обработке. Ре-
зультат обработки появляется на выходе с задержкой через некоторое время А/. Чем
меньше Л/, тем выше быстродействие. В качестве быстродействия можно взять величи-
ну Q = Mitf.
В нашем случае подаваемая на вход информация - это пара цифр какого-либо разря-
да двух складываемых чисел. Результат обработки этой пары цифр появляется на выходе
через время Д/ - т &. Сигналу от входа до выхода приходится преодолевать только один
элемент &, меньшего количества преодолеваемых элементов & добиться невозможно.
Соответственно, невозможно добиться меньшего времени обработки сигналов. Следова-
тельно, быстродействие максимально. (Речь идёт о быстродействии абстрактных уст-
169
ройств, представляемых В-схемами, в которых величина т & - единица измерения време-
ни - фиксирована, а не реальных физических устройств, где величина т л зависит от тех-
нологии.) Поскольку в абстрактных вычислительных устройствах в качестве единицы
измерения времени, 1,, берётся величина т&, т.е. 1, = т&, то максимальное абстрактное
быстродействие Q = 1/Д/ = 1/т& = 1/1, = 1. Меньшее абстрактное быстродействие Q<1
имеет место в устройствах, в которых сигналу от входа до выхода приходится преодоле-
вать более одного логического элемента.
Схемная надёжность сумматора X х'х2 | q максимальна. Под схемной надёжно-
го N-NT+1 .г
стью понимается величина W = у—, где N - полное количество элементов схемы,
NT - максимальное количество элементов схемы, срабатывающих в одном такте, Т - дли-
тельность такта. Это понятие отражает тот качественно понятный факт, что чем больше
элементов схемы срабатывает в одном такте, тем выше вероятность сбоя и, следовательно,
тем ниже надёжность, и наоборот. В сумматоре в каждом такте срабатывает только один
элемент. Это значит, что величина И7 максимальна и равна единице: 1. Понятно, что
речь идёт о схеме абстрактного устройства, но если абстрактная схема обладает таким свой-
ством, то у практики появляется цель, состоящая в том, чтобы приблизить свойства реаль-
ных приборов к свойствам идеального абстрактного устройства. Просматривается также
цель - разработать такие технологии, в которых потребление энергии происходило бы толь-
ко в тех элементах, которые срабатывают в каждом такте. Тогда устройства будут потреб-
лять минимальное количество энергии и выделять минимальное количество тепла. Схема
сумматора Z х'х2 \q принадлежит к числу схем, которые обладают этим свойством.
Всё сказанное здесь относительно сумматора L^x'x2 | q справедливо для всех сум-
маторов семейства х1 х2 \q}, (А' = 2. 3,...), работающих в произвольной А-ричной
системе счисления.
Ранее было сказано, что В-схемы устройств одного и того же целевого назачения об-
ладают свойством конструктивного подобия. Для подтверждения этого приведём
В-схему двоичного сумматора и сравним её с В-схемой четверичного сумматора, изобра-
жённой на рисунке 6.1. Конструктивное подобие очевидно.
Рис. 6.2. В-схема двоичного сумматора х1 х2 | q
170
Резюме'.
J. Существует бесконечное однопараметрическое семейство автоматов, выполняющих
операцию сложения, - сумматоров. Параметром семейства является основание к системы
счисления, в которой ведёт вычисление каждый сумматор: {X(t) х1 х2 | 7} , (к = 2, 3, ..
2. Сумматор х1 х2 | q получается регулярным образом при любом к в результате вы-
полнения операции свёртки над сборкой автоматов сдвига.
3. Сумматор х х2 | q осуществляет сложение любых двух целых чисел в А'-ричной
системе счисления, представленных в автоматном коде.
4. В-схемы сумматоров обладают свойством конструктивного подобия, и создание схем
подчиняется единому алгоритму, зависящему от параметра к, (к = 2, 3,...).
5. Сумматоры не накладывают ограничений на разрядность складываемых чисел.
6. Время суммирования двух и-разрядных чисел минимально и не может быть уменьшено
никаким иным сумматором, выполняющим сложение поразрядно, включая параллельные
сумматоры.
7. Сумматоры являются последовательными, но ведут вычисления быстрее параллельных.
При этом они заметно экономнее параллельных по оборудованию, а также, в отличие от
параллельных сумматоров, не имеют ограничений на разрядность складываемых чисел.
8 Быстродействие сумматоров максимально и, следовательно, принципиально неулучшаемо.
9. Схемная надёжность сумматоров максимальна.
10. Не исключается возможность существования технологий, в которых потребление
энергии и тепловыделение минимальны.
§ 4. Экстравертность сумматора Е хх2 (q по состояниям
Напомним, что под экстравертностью устройства понимается его способность вы-
полнять действия, для которых оно специально не предназначалось. В отношении вычис-
лительных устройств это означает, что они способны проводить вычисления, дополни-
тельные к тем, ради которых создавались.
Кроме того, раньше мы уже встречались с понятием расширения автомата. Аналогич-
но можно ввести понятие расширения для любого вычислительного устройства. Одно и то
же исходное устройство может быть расширено бесконечным числом способов и в раз-
личных вариантах. Среди этих способов расширения мы выделим один специальный. Он
привязан к формульному заданию устройства. Пока конкретно будем вести речь об авто-
матах. Мы уже говорили, что нас интересуют три главных способа задания автомата: таб-
личный, формульный и задание с помощью В-схемы. В связи с формульным заданием
автоматов появляется ещё один вид экстравертности. Суть в том, что при формульном
задании автомата фигурирует параметр, отождествляемый с состоянием, который мы
обычно обозначали символом q (что будем в большинстве случаев делать и дальше). При
первоначальном появлении устройства для реализации его целевого назначения параметр
q принимал вполне определённые значения: q е О , где Q — множество состояний авто-
мата. Но иногда оказывается, что формулы продолжают работать и тогда, когда q t Q ,
т.е. когда параметр q принимает значения, выходящие за пределы множества Q. Это яв-
ление мы также будем называть экстравертностью, точнее, формульной экстравертно-
стью по состояниям и обозначать Exw.
Вернёмся к сумматору Е х1 х2 | q и воспроизведём его формульное задание (6.18),
опустив в нём параметр t и заменив х на х1, у на х2 :
171
. 4 —> )х- + хг + q{, (х1 + х2 + q),
l.x’J (6.19)
?€G2={o,i}={6,5i}.
Как видно, автомат Е х1 х2 | q , получившийся в результате применения операции свёрт-
ки к бесконечному автомату Sx \q. qe Z = {...,31,32,3,0,01,02,...J , первоначально имеет
множество состояний Q? из двух элементов Но формульное задание (6.19) продолжает
работать и в случае, когда вместо q берётся любое целое число. В этом проявляется эф-
фект экстравертности по состояния.» для этого автомата. Запишем задание получающе-
об 2
гося бесконечного автомата Е, х1 х2 | q = Е«.:
, в —> ).Х1 + Х! +<?(, (.V1 + .Х2 + <?),
(6.20)
?eZ = {.. .31,32,3,0,61,02,...}.
Рассмотрим вычисление, проводимое этим автоматом.
Цример 1. Пусть q = 0132, х1 = 02332 и х2 = 02301.
(В следующей далее развёртке мы убрали стрелки, указывающие течение информации в
процессе вычисления, поскольку после некоторой практики они становятся излишними,
занимающими много места.)
t>5 4 3 2 1 0 t
{6} А {3} <3} /2}
ы Ы W (1 J [х2 J
б 01 02 02 020 0132 Ч
б 1 2 0 3 1 Z
Вычисление сумматором запротоколировано развёрткой. Результат:
X 02332 02301|0132 = 012031 .
2
Читаем' «если бесконечный автомат Е~ = Е„ х1 х2 | q, qe.Z поставлен в начальное со-
стояние q = 0132 и на вход его поданы два числа: х1 = 02332 и х2 = 02301, то результа-
том будет число у = 012031 ».
Сравним его с результатом примера 1 из § 2:
X 02332 023011 0 = 011233.
Из сравнения видно, что 012031 = 011233 + 0132, т.е. Е 02332 023011 0132 =
= Е 02332 02301|0 + 0132 .
2
Это значит, что действие бесконечного автомата Е», из начального состояния q равно
его действию из начального состояния q = 0 , увеличенному на q
Е, х' х2 | q = Е„ х1 х2 | б + q . (6.21)
172
2
Эта формула раскрывает суть экстравертного бесконечного автомата =
= X,, х* х2 | q, q е Z : он складывает три числа. Причём складывает за минимальное
время (среди всех сумматоров с поразрядной подачей входной информации).
Имеет место следующий результат.
f х1 h ibуxj Yxo 1
Если I = I ... , пара чисел, подаваемых на вход сумматора
(ху । 0ДХ, дх2ч J \А'2 Дх„ )
г
— Е, х1 х2 | Д q е Z , находящегося в состоянии q , то сумма трёх чисел х1 + х2 + q
будет вычислена за время Т ' (г + 1) т&, где Д - задержка в элементе & соответствую-
щей В-схемы сумматора.
Замечание 1. В-схема бесконечного сумматора подобна В-схеме, изображённой на
рисунке 6.1, только количество обведённых «коробочек», отождествляемых с состояния-
ми автомата, стремится к бесконечности как вниз, так и вверх по рисунку.
Замечание 2. Время Т= (r + 1) т& вычисления суммы трёх чисел не зависит от раз-
рядности числа q . Это объясняется тем, что группа цифр старших разрядов результата
равна номеру состояния, в которое переходит автомат в момент t = r, причём номер этого
состояния появляется на выходе сумматора одновременно с цифрой уг результата. В этом
проявляется эффект бесконечности сумматора (увеличение оборудования ускоряет вы-
числение).
Пример 2. Пусть q = 0132 , х1 = 02332 и х2 = 32301. Вычисление сумматором прото-
колируется развёрткой.
0 оо > f > 4 3 2 1 0 t
ГбЬ (2b (Зб 73 6 (2b ph
} Ы Ы (oj U J д2 }
61 51 02 02 020 6132 4
5 2 0 3 1 У
Результат прочитывается в строке у: S 02332 323011 0132 = 02031.
В примере 2, § 2 было получено: 2L 02332 323011 б = 01233. Из сравнения результатов
видно, что закон (6.21) подтверждается. Обратим внимание, что в момент t, следующий за
t = о», происходит вывод сигнала переноса 61 за пределы разрядной сетки Gra, что отме-
чено разрывом в развёртке. Пет оснований считать, что он теряется.
Замечание 3. Развёртки строились согласно ключевой формуле (6.20) для экстраверт-
2
ного бесконечного автомата Е»,.
Резюме'.
1. Дано определение понятия экстравертности по состояниям для автомата.
2. Показано проявление эффекта экстравертности на примере автомата сложения
S х1 х2 | </ и превращение его благодаря этому эффекту в бесконечный автомат
2
х1 х| \l@, q е Z .
2
3. Выяснилось, что бесконечный автомат £«, складывает любые три целых числа х1, х2, q .
173
4. Время сложения этих трёх натуральных чисел минимально среди всех сумматоров, на
вход которых числа х1 и f 2 поступают поразрядно, и не зависит от разрядности чис-
ла q .
2
§ 5. Свёртка бесконечного автомата в конечный сумматор
Бесконечный автомат
Е» = х1 х2 | q, qe Z ={...31,32,3,0,01,02,...}, (6.22)
получившийся в результате экстравертирования по параметру q , оказывается в положе-
1
нии, аналогичном положению бесконечного автомата сдвига Е. = £,. х1 5, q е Z , к
1 2
которому мы применили операцию свёртки. Как и в автомате Е«., в автомате Е«, пара-
метр q подаётся на вход автомата мгновенно, в то время как числа X1 и х2 подаются на
2
вход поразрядно, растянутыми во времени. Ввиду полной аналогии к автомату Е< может
быть применена операция свёртки. Нет необходимости приводить здесь её полное описа-
ние, изменения будут незначительными и касаться лишь входного алфавита для слов х1 и
1
х2. Если раньше для автомата Е«. входным алфавитом было множество Z(4) = {0, 1, 2, 3},
2
то теперь для автомата Е-. входным алфавитом является его декартово произведение
Z24) = if о)’(1 )’•'•’{ з) I' остальном аналогия полная. Поэтому мы пишем окончательный
результат: ключевую схему (6.23) для конечного автомата X х1 х2 х3 | q , аналогичную
ключевой схеме (6.19). Автомат X х* х3 х3 | q , будучи поставленным в начальное состоя-
2
ние q = 0, выполняет сложение трёх чисел х1, х2, х3, как и автомат Е„ в состоянии
2
q = х3: Е» х1 х2 | х3 = Е х1 х2 х3 | 0.
, q —> )х' +х2 + х3 +q{, (х* +х2 +х3 +q),
(6.23)
q<L Q3 ={0,1,2} = {6,01.02}.
Но помимо этого он может делать кое-что дополнительно, а именно, будучи поставлен-
ным в состояния 5=01 или 5=02, вычислять две новые функции: х11 + х2 + х3 -г 01 и
х1 +х2 +х3 +02. В способности вычислять эти две новые функции в зачаточном виде
проявляется свойство эстравертности, присущее этому автомату.
Кроме того, следует отметить, что время сложения трёх чисел, считая, что q = 0 и
поразрядное представление операндов таково:
174
равно Т= (г + 1) т&, т.е. на этот раз, в отличие от вычислений, проводимых сумматором
2
Е«,, время вычисления зависит от разрядности х: , выступавшего ранее в роли q автома-
2
та х1 х2 | q, q е Z . Таким образом, конечный сумматор Е 7 I* г’ слегка
2
тормозит вычисление суммы трёх чисел по сравнению с бесконечным сумматором 2., .
Резюме:
2
1. Дано описание свёртки в применении к бесконечному сумматору и построения
конечного сумматора X х х1 х3 | q , эквивалентного при q = 0 бесконечному суммато-
ру
2. Приведена ключевая схема конечного сумматора Е х* х2 х3 | q , позволяющая дать его
табличное задание и построить его В-схему.
§ 6. Пара {свёртка, экстравертность} как генератор бесконечного
семейства вычислительных устройств
Рассмотрим ретроспективно проделанные построения. Мы отправлялись от автомата
сдвига 5 х | q, q G Q = {0,01} с двумя состояниями. Этот автомат вместе с обратным ему
автоматом порождает множество Z всех целых чисел. Методом последовательного синте-
за построено бесконечное семейство автоматов сдвига {.S’ х | q}, q e Z, после чего был
1
построен бесконечный автомат К» = Х„ х | q, q g Z , функционально эквивалентный
этому семейству. Функционально эквивалентный - это означает, что функции, вычисляе-
1
мые семейством автоматов сдвига, вычисляются также автоматом и, наоборот, любая
функция, вычисляемая автоматом , вычисляется также одним из автоматов семейства.
1
С помощью автомата Е«, определяется операция сложения, и с этого момента начинается
регулярное использование формульного задания автоматов, операций свёртки и экстра-
вертирования.
1
Выполнив операцию свёртки над бесконечным автоматом (х1 \q), q g Z, по-
лучаем конечный автомат от двух переменных Е х хг | q, q g Q2 = {0,61} .
Это можно изобразить схемой:
Е„ х1 | q, qeZC-> X х1 х2 | q, qeQ2 = {6,61} . (6.24)
Будучи поставленным в состояние q — 0, этот конечный автомат вычисляет все функ-
1
ции, вычисляемые автоматом . Но помимо этого он вычисляет ещё одну новую функ-
цию х1 +х2 +61. В этом проявляется зачаточная экстравертность по q , присущая авто-
175
мату Е х1 х2 | q, q e Q2. Выполнив экстравертирование no q в полном объеме, получим
2
бесконечный ав гомат Е«, = 2... х1 х' | q, q е Z . Это можно изобразить схемой:
Exw 2
Е х1 х2 | q, q е Q2 E« = E x'1 x2 | q, q e Z . (6.25)
2
В свою очередь, к автомату Е«. применима свёртка, в результате чего получается конеч-
ный автомат Е х1 х2 xJ \q, q Q = |6,61,02j .
Будучи поставлен в состояние q =0, этот конечный автомат вычисляет все функции,
г
вычисляемые автоматом . Но помимо этого он вычисляет ещё две новые функции
х1 + х2 + х3 + 01 и х1 + х2 + х3 + 02 . В этом проявляется зачаточная экстравертность по
q , присущая автомату Е х1 х2 х3 | q, q е Q,. Выполнив экстравертирование по q в пол-
з
ном объёме, получим бесконечный автомат Е. = Е х1 х2 х3 | q, q с Z. Это можно изо-
бразить схемой:
Exw 3
Е х1 X2 х3 | q, q е Q2 —> Е« = Е х1 х2 х3 | q, q е Z . (6.25')
з
В свою очередь, к автомату £» применима свёртка, в результате чего получается конеч-
ный автомат
Е х1 х2 х3 х4 \q, qeQt = {0,01,02,03}.
Будучи поставлен в состояние q = 0, этот конечный автомат... и т. д.
Этот абзац может повторяться далее до бесконечности, порождая всё новые и новые
как конечные, так и бесконечные автоматы родственной структуры и родственного целе-
вого назначения с неограниченным увеличением количества операндов Работа алгорит-
ма, содержащегося в этом абзаце, может быть изображена схемой:
1 Стр Exw 2 Стр Exw 3 Стр
Ем —> Ех'х2 | g —эЕ» —> Ех'хгх3 д)—эЕ» Ех'х2х3х4 | </)..., (6.26)
базовой ячейкой которой является общий переход:
и Стр Exwn+\
Е» ЕЕ'х2....?"'1 \q »Е., п = 1,2,3,... . (6.27)
В ней отражено преобразование свёрткой бесконечного автомата
I- = Е00х1...х" |g, qe Z (6.28)
в конечный автомат
ЕЕ'х2...х"+| | q, q е Q„+] = {0,01,,...0й}, (6.29)
который, в свою очередь, после экстравертирования по параметру q. порождает беско-
нечный автомат
Е» =Е„ох'...х"+1 | q, q е. Z, (6.30)
Хорошо видно, что пара {Стр, Ехм’} выступает как регулярно действующий оператор,
порождающий бесконечную цепочку вычислительных устройств (сумматоров), осущест-
вляющих одновременное сложение нескольких чисел.
Конечный сумматор Ex' х2 ...х" | q. qe Q„ ={0.01....,0 'й}, где 'й - число, предше-
ствующее й , по аналогии с (6.23) получает формульное описание:
176
).х' + хг +... + х* + q{. (х1 + х1 +. + х" + д'),
(6.31)
?еЙ,={0,1,....л-1} = {б,01,...,б «}
Эти формулы могут быть использованы при составлении таблиц соответствующих авто-
матов, при вычислениях и при построении их В-схем.
Пример. Возьмём п = 5; пусть слагаемые числа х1 =0322321, хг =02311032,
х3 = 61113232, х4 = 01032132 , х5 = 03233211. Тем самым мы рассматриваем сумматор
для одновременного сложения пяти чисел. Начальное состояние сумматора q = 0. На
вход сумматора складываемые числа поступают поразрядно группами по 5 цифр. Вычис-
ление протоколируется развёрткой.
Результат прочитывается в строке у:
у = 0322321 + 02311032 + 61113232 + 61032132 + 03233211 =
= 022011320.
Время вычисления равно 7 т & с учётом того, что вся группа цифр старших разрядов
результата (т.е. 02) получается в В-схеме, представляющей сумматор, в момент 1 = 6 и
прочитывается на выходе q (на развёртке - в строке q ).
Замечание. Все В-схемы сумматоров
X х1 х2 ... х" | q, q е Q„ = {5,01,...,5 ’и}
строятся однотипно (по одной программе), конструктивно подобны, с сохранением
присущей им принципиальной простоты, но, естественно, с ростом громоздкости [15].
Строятся однотипно не только для четверичной системы счисления, но и для любой
другой.
Резюме:
1. Показана фундаментальная роль тандема {Стр, Exw] при построении бесконечного
семейства вычислительных устройств (в данном случае сумматоров).
2. Дано описание базовой ячейки (6.27), характеризующей работу тандема:
п Стр Exw п+1
X. Хх'х2...?"41 | q —> X п = 1,2,3,....
3. Приведён пример вычисления сумматором одновременного сложения пяти чисел.
177
§ 7. Последовательный синтез сумматора трёх чисел
Выше было построено бесконечное семейство сумматоров
Е х1 хг ... х" \q, q е Q. = {0,61,...,б ’«}, (п = 1,2,...) .
Главным инструментом построения был тандем метаопераций {Стр, Exw}.
Но ту же последовательность сумматоров можно получить методом последовательно-
го синтеза. Делается это так.
Из имеющихся автоматов можно строить автоматные цепи, создавая тем самым новые
2
автоматы, вычисляющие новые функции. Например, из автоматов X можно создать цепь
с тремя независимыми входами х, у, z. Она вычисляет функцию/Гл. у, z) = х + у + z от трех
аргументов. Автомат, вычисляющий эту функцию, мы обозначим символом X и назовем
автоматом для одновременного сложения трех чисел. Как уже говорилось в подобных
случаях, заранее ясно, что таких автоматов существует бесконечно много. Наша ближай-
шая задача состоит в том. чтобы по цепи, изображенной на рисунке 6.3, найти минималь-
з
ный автомат X, ей эквивалентный.
Рис. 6.3. Цепь X
Для этого проследим за работой цепи. Предварительно удобно дать нумерацию авто-
матам цепи, как это сделано на рисунке 6.3, и снабдить состояния автоматов цепи допол-
нительным индексом, соответствующим этой нумерации. Индекс будем писать над сим-
волом сост ояния, так что ключевые схемы переходов автоматов цепи запишутся в виде
• f аЛ ' '
(6.32)
где i = 1,2- индексы номеров автоматов.
а
р /2
t z.(4).
Состояниями q цепи X (рис. 6.3) являются элементы множества
Q = ^\q =
. qe {0,1}, (i = l,2)> =
о
о/0 Г(оД1
Ч
1
О
1
Пусть в момент t цепь X была в состоянии q =
2
Я
и на вход её поступила тройка у .
Тогда фрагмент развертки цепи для этого момента времени изобразится следующим обра-
зом
178
f+I
( 1 3
)x + y + q{
1 2
4>(x + y + g) + z-l-g(J
Докажем, что если 0 <
( 1 А
)x + y + g(
1 2
(К^ + У + ^ + ^ + ^С
Так как x, yeZ(4j; де {0,1},
то 0 < х + у + q < 13 . Поэтому,
1
0 < (х + у + q) < 3 . Аналогично так как
1 2
(л- + y + g)e Z(4), ze Z(i), де{0,1}, то
12 12
0 < (х + у + q) + z + q < 13 . Следовательно, 0< ){х +у +д) + z+ q{ <1, что и требовалось
з
доказать. Итак, все переходы в цепи X осуществляются в пределах множества Q.
Для нахождения минимального автомата необходимо найти в Q эквивалентные со-
стояния. Необходимым признаком эквивалентных состояний является совпадение столб-
цов в таблице выходов автомата. Чтобы найти эти столбцы, обратимся к развёртке и вы-
3 3 3
пишем функцию переходов 0 и функцию выходов о цепи X (для краткости будем обо-
значать эти функции соответственно символами Ойо):
(6.33)
(6.34)
Следовательно, из (6.34) имеем:
Таблица 6.2
179
Из полученного результата видно, что эквивалентными состояниями могут быть толь-
fo) fl А
ко состояния | j j и | I . Более того, при всех х, у, z справедливо тождество (см.
табл. 6.2.):
((х >у) + z + 1) = ((х + у + 1) + г), (6.35)
показывающее, что при любом наборе х, у, z предположение об эквивалентности состоя-
ло) fl)
ний I I и I I подтверждается. Тождество (6.35) понадобится и для других целей, по-
этому докажем его.
Для доказательства понадобится вспомогательная таблица.
Таблица 6.3
X 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
У 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
)х + у( 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1
)х + у > 1 ( 0 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1
<х + у) + 1 1 2 3 10 2 3 10 1 3 10 1 2 10 1 2 3
(х+у+1) 1 2 3 0 2 3 0 1 3 0 1 2 0 1 2 3
Из неё следуют такие выводы:
, fx) f о) f 1) f 2) f3)
1. V [(.X + у) + 1 = (x + у + 1)] —> [ g{ . || l} = Z(4)]-
It) V') I? 7 f2) fl) foj
Поэтому если
g Z(4; , TO V у [((x + y) +1 + z) = ((x + у +1) + z)].
2 I
I A I z
2. Если G Z(4), то (x+y)+l = 10 и (x + y + 1) = 0. Отсюда снова вытекает, что
V у [((x + y) + l + z) = ((х +у+ !) + ;)] Тем самым, тождество (6.35) доказано.
f0) fl)
Это означает, что необходимое условие эквивалентности состояний II и I I не
только подтверждается в частных случаях, но и доказано полностью.
180
Теперь докажем эквивалентность состояний
В соответствии с определением эквивалентности состояний необходимо показать, что
автомат, будучи поставлен в любое из упомянутых состояний в качестве начального,
осуществляет одно и то же отображение, т.е.
ра 3-0 , (л А Тр Л] \ xi
W />0 т< -V То оо...е|01 То Тг = о0...е То Tr
J< ) . 1 t раз V / Jo; Jr ) t раз \,v7 Jo ) J* )\
(6.36)
Доказательство по индукции.
Базис индукции.
Пусть t = 0. Требуется доказать:
Xq Xq <1 A
V Уо Я V J J’O = a ^0 \ To
<z0 7 Jo Л
(6.37)
Но это так и есть, ибо справедливо тождество (6.35).
Индуктивный переход.
Требуется доказать, что для всех х, у, z и для всех t > 0 из равенства
G0...O
I раз
'хо
Уо
Jo
(6.38)
следует равенство
° то
(г+1)разк*7
kZ0 7
'хМ '
Тг+1
J'+i J
z X f *0
= а 0...О I j у0
(Z+1) раз\и7
•*7+1
yt+\
^1+1 >
(6.39)
Пусть (6.38) справедливо для момента t > 1. Обозначим
/т>
ч
г '
W
(1
ч'
2
(6.40)
(6.41)
Следовательно, с учетом этих обозначений тождество (6.38) переписывается:
(6.42)
На основе таблицы 6.2 и тождества (6.35) из (6.42) делаем вывод о том, что осуществляет-
ся одна из следующих пяти возможностей:
181
Если имеют место варианты 1-4 то, очевидно, 0
и потому оО
»>»1
Л+4
JI)\zi
= оО
V, У Е.|
У1 У,+1
т.е. для вариантов 1-4 требуемое утверждение (6.38) доказано.
Если имеет место вариант 5, то
)^+уЛ
){х, + y,) + z, +1(
(6.43)
)Х; + V, +1(
+ >7 + 1) + М
(6.44)
Обратимся к таблице 6.3. Из неё следует:
1) если
g Z(4), то Erf = )х +у + 1(, а также,
если
g Z(4), z е Z(4), то )(x + j>) + z + !•( - X-T + у ♦ 1) + z(,
т.е., если
2- ^(4) > % ^(4)? ТО 0
У,
ч'
2
Id
yt
zt
и, следовательно, (6.39) имеет ме-
Ч
2
W
= 0
сто;
2)если
Z(4), ТО
)х + у( 3 JO UoLp^ + K dp dpi
Xx+y)+i+z<j ()iz<j ^ij (x*+E+i)+d (mJ (oj
Сказанное позволяет вычислить значение функции выходов для разбираемого случая в
момент t + 1. Вычисление проведём в два этапа:
а) О
){xl+yl) + z,+\{} (хЗ> + ^+Ю (1/
182
<7
б) a0 \
.4)
У,
Ji;
У1+1
V'+l J
- «Л-п + .17*1) + Э+1 +1)
(6.45)
аналогично
>4 +У1 +K
><4 +>7 +1) + г,(.
pl<x
b<10) + z,(
1 'I
0 ’
(6.46)
Но в силу тождеств (6.35) и (6.37) правые части в (6.45) и в (6.46) равны. Тем самым,
равенство (6.39) доказано во всех случаях, а вместе с ним доказана эквивалентность
(о A f1Л
состояний и
I17 Ы
Для минимизации автомата как обычно удаляем лишние эквивалентные состояния и
все переходы в удаляемые состояния заменяем переходами в оставляемое эквивалентное
(О) (1 | (0)
состояние. Из двух эквивалентных состояний и удалим, например, . Остав-
шееся множество состоянии О I, . > состоит из неэквивалентных состояний,
(WWW/
что видно из таблицы 6.2 и ее частного случая, следующего за ней.
Для состояний множества Q введем новые обозначения:
°)
°J
об 3
= 0
(6.47)
з
Цифра 3, стоящая наверху, означает, что имеются в виду состояния автомата Е . Эта ее
служебная роль более или менее существенна в начальной фазе появления упомянутых
состояний; в дальнейшем же она чаше всего будет опускаться, поскольку из текста обыч-
но ясно, о чем идет речь.
Теперь обратим внимание на один формальный признак, легко позволяющий узнавать
эквивалентные состояния во множестве Q состояний автомата. Этот признак состоит в
следующем: эквивалентными состояниями, входящими в Q. являются те, для которых
1 2
сумма q+ q одна и та же.
Для случая автомата область действия этого признака невелика, однако он обобщается
на другие автоматы, и там область действия этого признака значительна.
Заметим, что новые обозначения для состояний автомата вводились в согласии с этим
признаком.
Чтобы обосновать справедливость этого признака, нужно показать, что в предположении,
( П
q 1 2
можно отождествить с суммой q+ q , эта сумма инвариантным обра-
что состояние
VU
183
зом сохраняется при работе автомата и никакие фрагменты ее не ведут «самостоятельного
существования». С этой целью перепишем развертку во времени работы автомата, в которой
состояния, ранее отождествлявшиеся с парами
/п
я 1 2
, теперь заменены суммами q+q . На
Л,
1 «
первый взгляд, при переходе в новое состояние и выработке нового сигнала сумма </+ q не
1 2
сохранилась, а раскололась на отдельные фрагменты q и q, которые входят в различные
места выражения для нового состояния и выходного сигнала. В действительности, однако,
выражения для нового состояния и выходного сигнала можно тождественно преобразовать
> 2
так, чтобы в преобразованных выражениях присутствовала только сумма q+ q .
I + 1
i i i
)х + у + q(+){x + у + q) + z + q{
1 2
q+q
г
1 2
{{x + у+ q) + z + q')
Для этого получим полезные вспомогательные тождества.
Предварительно отметим, что с помощью операций (...) и )...( любое натуральное чис-
ло п = п,....п0 = пг ..щ 10(Л1 + п0 е No, где п, е Z^y = {0, ..., к - 1}, 10(^ = к, Л-основание
системы счисления, можно записать в виде п =)л(-10ц.) +(и) . (Далее на основание к
внимание не акцентируем.)
Отсюда получается:
<й) = (М10 + (/7)),
)2<=>2«< ю+<«><, _
(п + й) = ()й(- 1 0 + (й) + in),
)п+т(=))п(10 + (п}+т(, (melV0).
Далее очевидно:
(п + т) - <(й) + in).
)п + in{=)n(+)(й) + т{ ,
а также
()й(-10 + (й) + й) = <(й) + т) ,
))й( 10 + (й)+т(=)й(+)(й)-!-й(.
Применяем написанные тождества:
12 1 12
({х + у+ q) + z + q) = {)х + у+ q{-10 + {x + у+ q) + z + q) =
12 I •
= (x + у + q+ z + q) = {x + у + z + q+ q),
(6.48)
184
1 12 1 12
)х + у + q{+){x + у + q) + z + q(=)}x + у + q(iO + (х + у + q) + z + q{=
12 12
=)х + у + q+ z + q{=)x + у + i + q+ q{
(649)
1 2
Из (6.48 ) и (6.49) видно, что в скрытом виде сумма q+ q действительно фигурирует в
формулах перехода развёртки как одно целое.
С учётом этого перепишем приведённый выше фрагмент развёртки.
t + 1
t
1 2
)х + у + z + q+q{
1 2
q+q
q
1 2
(х + y + z + q+q)
и
Этот фрагмент развертки гораздо яснее отражает суть переходов в автомате X и по-
зволяет дать описание переходов в аналитическом виде в известных обозначениях:
е
ч
с>
= (x + y + z + q),
(6.50)
Z
е Z,3t),qeQ = {0, 1, 2}.
з
Формулами (6.50) полностью задается минимальный автомат Е, осуществляющий одно-
временное сложение трех чисел произвольной разрядности в А--ричной системе счисления с
множеством цифр = {0, 1, ..., k- 1}. То обстоятельство, что получившийся автомат являет-
ся минимальным, мы не будем доказывать, так как в главе 5, § 4 мы договорились этого не
делать, если в доказательство минимальности не вносится новых принципиальных моментов.
Можно, правда, провести пояснение «на пальцах», не являющееся, однако, доказатель-
ством. Действительно, каждое состояние соответствует величине переноса в следующий
з
разряд. У автомата Е таких переносов три: 0, 1,2. Следовательно, и состояний будет три.
Недостатком этого рассуждения является ссылка на то, что переносов три. Аналогичный
эффект будет доказан далее в общем виде.
з
Пример. Рассмотрим работу автомата S на конкретном примере.
С этой целью выпишем таблицу 6.4 значений вспомогательной функции flx,y^} =
= х + у + z, определённой на множестве цифр Z34). Она состоит из четырёх подгаблиц.
185
Эта функция вычисляется предварительно перед построением В-схемы сумматора Е и
определяет связи в В-схеме.
Таблица 6.4
X 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
У 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
f 0 1 2 3 1 2 3 10 2 3 10 11 3 10 11 12
X 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
У 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
Z 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
f 1 2 3 10 2 3 10 11 2 10 И 12 10 11 12 13
X 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
У 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
Z 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
f 2 3 10 И 3 10 11 12 10 И 12 13 11 12 13 20
X 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
У 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
Z 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
f 3 10 11 12 10 11 12 13 и 12 13 20 12 13 20 21
Таблица 6.4 позволяет находить связи пары линий выхода вентиля &, которая возбуж-
дается вслед за подачей на его вход тройки цифр (х, у, z).
Пусть требуется сложить три числа:
7 = 013221, 7 = 0322, ж =031211
Изобразим развертку во времени работы автомата Z . обращаясь к ключевой схеме авто-
мата Е (6.50) и таблице 6.4. 7 6 5 4 3 2 1 0 t
Г (Г 0 А 0 0 В развертке стр сел 7, у, z . Эти тр эка ЭЙКР Г0^ 0 0 -°> 0 1 0 1 Гх2 у отме 4Z) цифр, ра Э2 А 0 0 Ы к 1 2 1 2 чает тройки осматриваем] диф >ie к А (2) (12 3 2 2 J ы ы 1 1 0 0 2 0 э одной разрядное ак одно целое, об1 рг У <3 и ти CI зазук сладываемых чи- )т буквы входно-
з
го алфавита автомата Z . Тройки цифр поступают в автомат с момента t = 0, начиная
с разряда четверичных единиц, в момент 1=1 поступает тройка цифр из разряда четве-
ричных десятков чисел х, у, z и т.д.
186
Из развертки видно, что результат сложения трех чисел х, у, г равен 0112020 , т.е.
013221 + 0322 + 031211 = 0112020 , что легко проверяется непосредственно.
Заметим, что после подачи тройки старших значащих цифр нам пришлось еще три
(°)
раза подать на вход тройку 0 . Эту подачу нужно осуществлять до тех пор, пока и но-
0,
мер состояния, и цифра результата не окажутся нулями. Это признак конца сложения.
(Как и раньше, признак конца сложения можно было бы выразить через 0 . Это будет
рассмотрено в параграфе, посвящённом сумматору с автоматическим остановом.)
Резюме'.
1. Дано описание одного (без потери общности) из вариантов последовательного соедине-
2 3
ния двух автоматов Е , образующего цепь Е и выполняющего сложение трёх чисел.
« 3
2. Сформулирована задача нахождения минимального автомата Е . эквивалентного цепи Е.
3 3
3. Показано, как из элементов цепи Е происходит построение элементов автомата Е .
S
4. Доказано, что все переходы в цепи У происходят в пределах множества
з
5. Решается задача минимизации автомата Е. Для этого доказывается эквивалентность
( 0^ (1)
состояний I I и I I, «подозрительных» на эквивалентность.
6. Сформулирован и доказан формальный признак эквивалентности.
7. С использованием формального признака эквивалентности записывается ключевая
3 3
схема автомата Е , чем заканчивается построение автомата Е .
з
8. Приведён пример вычислительной с использованием автомата Е.
10
§ 8 Автомат Е для одновременного сложения четырёх чисел
2 3
Выпишем функции переходов и выходов для автоматов Е . Е и сравним их.
2
Автомат Е :
2 2 М 2
< о <7 = (х + у + д),
<yj
| с A2»)’ Z<1«> ={°> ’ 2’ 3b 4^ Q = {°> !}
(6.51)
187
3
Автомат X:
(6.52)
6 Z(3IO), Z(10) ={0, 1, 2, 3}, geg = {0. 1, 2}.
Закономерность очевидна. Поэтому нетрудно написать выражения для функций перехо-
ю
дов и выходов автомата X (напоминаем, что без ограничения общности изложение обыч-
но ведется в четверичной системе счисления, в которой число четыре изображается
как 10).
ю
Автомат X :
10
= )х + у + z + u + д{,
ю
= (х + у+ z + u + д'),
(6.53)
\и 7
У е 4%, Z(10) ={о, 1, 2, 3}, ‘<7% е = {0, 1, 2, 3}.
1^2
На конкретных примерах легко проверить, что автомат действительно осуществляет
сложение четырех чисел произвольной разрядности. Разумеется, однако, что метод
аналогий, на основе которого мы выписали формулы (6.53), не может служить доказа-
тельством их правильности. В следующем параграфе приведено доказательство спра-
ведливости аналогичных формул в общем случае, из которых следует, в частности,
(6.53).
Резюме'.
2 3
Сравнив ключевые схемы, задающие сумматоры X и X, по аналогии записываем
ю
ключевые схемы сумматора X для сложения четырёх чисел (система счисления четве-
ричная: Z(10) = {0, 1, 2, 3}).
188
§ 9. Автомат Е
Автомат Е осуществляет одновременное сложение п чисел любой разрядности. Как
ясно из предыдущего параграфа, он задаётся следующими соотношениями:
ч
е
= <.?
а
Ч
(6.54)
е z("or Z(W) ={°> 2- 0 = {°, 1,-, я-1 } ,
где (и - 1) - предшествующее п число, 9 - функция переходов автомата Е ,о функция
выходов автомата Е , Q - множество состояний автомата Е .
Складываемые числа х‘ изображаются в виде: х' - тх‘г...х[х‘о, где верхние индексы i-
номера складываемых чисел 0=1,2,...,л), нижние - номера разрядов цифр складываемых
чисел, т = 0 v 3 .
И
Обоснование автомата Е, т.е. доказательство справедливости формул (6.54), прово-
дится по индукции. При этом нам остается доказать только индуктивный переход, т.е.
утверждение о том, что из предположения о справедливости формул (6.54) для некоторо-
го произвольного п вытекает их справедливость для (п + 1). Базис индукции нами доказан
2 3
при рассмотрении автоматов Z и 2 .
п 2
Для доказательства строим цепь Е Е .
Как обычно отображение, реализуемое этой цепью
(?,...,х"+|) , (6.55)
i=i
называем сложением {п + 1) чисел, а всякий автомат или устройство, его реализующее,
и+1 и+1 л+1
будем называть автоматом Е , устройством Е . В частности, устройством Е является
сама цепь, изображенная на рисунке 6.4. Наша цель - построить эквивалентный ей мини-
мальный автомат и показать, что он задается формулами (6.54) для (п + 1).
Рассматривая цепь, показанную на рисунке 6.4, как автомат, его состояниями считаем
пары
ЛА
Ч
г
\Я)
где
п 2
состояния автомата X, q
состояния автомата,
iey = {0, 1, ... , л-1}, V6 2 = {0, 1}.
189
П+!
г
л+1
Рис. 6.4. Цепь S
Развертка работы цепи для момента времени t выглядит так:
п 2
В цепи Е Е имеется п х 2 состояний вида
л 2
Q х Q . Но состояния вида
( п\
л л п
*7 , где 'q - предшествующее q число, обеспечивающее выполнимость равенства
ч 1)
п п
q+ 0 = ’q+1, эквивалентны.
Чтобы доказать это, необходимо и достаточно, согласно определению эквивалентно-
сти состояний, доказать справедливость равенства
(6.56)
п 2
при всех t > 0 и при всех х; 0 и о - функции переходов и выходов автомата Е Е .
п 2
Лемма. Если 0 < q < п0<q<l,
то 0< )1>ч4< ^«-1, 0< Х2.т'+^) + Х”+1+9< <1.
/=1 1=1
190
Доказательство будем вести в произвольной /с-ричной системе счисления. Имеем:
ял-1)+-+а-1)+(л-1)< =
1=1 4-------v-----'
п раз
= >((fr-i)+n+...+(g-i)+i)+(t-ii)< =
(п-1) раз
= Х"-1)Ю + (*-1К =
Напомним, что (k— 1) + 1 = 10 в &-ричной системе счисления.
Кроме того,
0< ХХ.г!+^ + х"*'+^< < >(Л-1) + (А:-1) + 1< =
! = 1
= )10 + (*-1)( = 1.
Лемма доказана.
Следствие.
< п -1
<1
Следствие получается из леммы и истолкования функции 9, извлекаемого из развёртки.
п 2
Теперь обратим внимание на то, что выход в момент (/ + 1) зависит от суммы q+q
(см. развертку). Это видно из равенства
i=n п 2 i=n+\ п 2
«2>'+g) + x"+1+^) = ( X x'+q+q),
1=1 1=1
аналогичного равенству (6.49).
Поэтому для двух состояний
о
п 2
и '' цепи Е Е выход в момент времени (f+ 1)
будет одним и тем же, т.е. необходимое условие эквивалентности состояний выполнено.
Кроме того, справедливо утверждение'.
если
Ч
2
то
п 2 п 2
q+q = Я+Я
Доказательство.
Согласно введённым в утверждении определениям, с использованием развёртки полу-
чаем:
f 1=п п
? _ .=1
Д} „ ><Х'х'+?> + х"+1+0<
рА
ч
2
\я)
1=п п
+'ч(
г=1
XZ^'+'^+^+K
к г=1 7
191
и потому
п 2 i-n и i=n п
q+q = +(7<+Х£лг +#) + хл+1 +0( =
!=1 г=1
i-n п i-n п i-n п I- и+1 п
= )Sx'+M10+XZx'+?) + x',+i< =)2>'+<7 + х«ММ X +'+?<.
7=] 1=] 1=1 /=1
а также
п 2 i=n п i=n п i=n п i=n+l п
q+q = )Х-Г‘ + ,j(+XXx’ +,<7) + *"'+1 +К = + Х + х"+1 + 1(=) X х‘+<Х-
mi 1-1 <-1 ;=1
Сравнивая суммы, убеждаемся в справедливости утверждения.
Совпадение сумм приводит к тому, что в момент времени (7+1) совпадут значения вы-
ходной функции с>. Ввиду произвольности t этим доказывается совпадение отображений,
- С п\
п 2 1'1
осуществляемых цепью X X , если в роли начальных состояний брать состояния цепи М и
I U
, т.е. доказываются выполнимость равенства (6.56) и эквивалентность этих состояний.
Итак, в цепи имеется следующее множество состояний:
причём подписанные друг под другом состояния эквивалентны.
Характерным признаком эквивалентных состояний является арифметический инвари-
п 2
ант, равный сумме q+q . Его можно принять за необходимую и достаточную характери-
я+1
стику состояния, т.е. за само состояние. Тогда множество состояний автомата X , полу-
п 2
чающееся из множества состояний цепи Z Z удалением лишних эквивалентных состоя-
п+1 Г п+1'1
ний, будет представлять собой множество (2 - q f = {0, 1, ..., л}.
Поскольку
i=n п i=n п 2 i=n п 2
) 2 х1 + q<+){ х‘ + Я) + x”+1 + = )£xl +q + xn+1 +q( =
г=1 J=1 Z=1
i=n+l n 2 z=«+l n+l
= ) X x‘ +<? + ?< = ) Z »'+ ? <•
(=1 i=l
а также
i=n n 2 i=n+\ n 2 z=n+l n+1
<(Lx' +?>+x"+1 +<?> = <Zx'+^ + ?> = <Zx'+9>>
1 = 1 z = l z = l
n+l
то функции переходов и выходов автомата X запишутся так:
192
J=n+1 n+1
=) Z + я (,
1=П+1 И+1
= < E < + q ),
и+l n+1
q e {о, 1 ..., n}=Q,
чем и доказывается индуктивный переход, а значит, и справедливость формул (6.54).
Итак, имеющееся семейство автоматов пополнилось серией автоматов
п
Е. » > 2, и е Л о Зги автоматы многовходовые, а функции, ими реализуемые, являются
1=П
функциями многих переменных. Поскольку для функций Дх1,...,?") =1? существуют
1-1
автоматы, их вычисляющие, то эти функции являются автоматно вычислимыми. Автомат
п
Z позволяет складывать как положительные, так и отрицательные целые числа, предва-
рительно представленные в автоматном коде.
п
По формулам (6.54), задающим автомат У, создаётся табличное задание автомата,
которое, в свою очередь, используется при построении В-схемы автомата [17].
Резюме'.
п
Доказано, что автомат Z задаётся формулами (6.54) при любом натуральном п > 2, п е No
и в любой показательной системе счисления с основанием к > 2, к е No.
§ 10. Вычитание сумматором Zf4) х1 х21 q
Вычитание сумматором Е(4) х1 х2 \ q сводится к 1) нахождению автоматного пред-
ставления для числа, противоположного вычитаемому, и 2) последующему сложению.
Приведём примеры.
Пример 1. Пусть требуется из положительного числа х1 вычесть положительное чис-
ло х2, где х1 = ...0032332 и х2 = ..0002301
Используя автомат A«-»U (гл. 5, § 15), найдём автоматное представление отрицатель-
ного числа, противоположного числу х2 : -х2 = -. 0002301 = -02301 (см. далее).
Изобразим развёртку работы автомата А «-> U, таблицу которого для удобства
воспроизведём здесь же.
Таблица 6.5
X 0 1
-б 0,3 1,о
1 0,2 0,3
2 0,1 0,2
3 0.0 0,1
3 0,-0 0,1
193
Развертка по нахождению автоматного представления (—X2) имеет вид:
5 4 3 2 1 0 t
-б 2 3 0 1 0 ч- 0 <- 0 ч- 0 ч- 0 <- 1 3 10 3 3 X У
Запишем результат:X2 — -...0002301 = -02301 = 3 1033. Найдём сумму х' + (-х^). Для
удобства воспроизведём здесь таблицу сумматора.
Таблица 6.6
Сумматор Е(4) х1 х2 | q
ГхП pTi 616 <23 м и 6зЗ
Iх2 7 W ы ы W V ) Ь) b J
<7 = 5 6,5 6,1 6,2 6,3 5,1 5,2 5,3 01,0
q =61 6,1 6,2 5,з 51,5 6,2 5,3 51,о 51,1
ГхП М 613 А 6зЗ А ДА м
Iх2 7 ы ы ы ы J Ы I3) Ы
q = 6 6,2 6,3 51,0 51,1 6,3 51,о 51,1 51,2
q =61 6,3 61,0 61,1 51,2 51,0 61,1 51,2 51,3
Изображаем развёртку работы сумматора:
6 5 4 3 2 1 0 t
Г53 рЗ рб рз рз рз рр
ы ы Ь) \° J L3J ) Iх2 7
1 1 1 1 1 1 0 я
0 3 0 0 3 3 У
(Чтобы не загромождать изложения состояния, пишем в упрощённом варианте; так же
будем поступать в иных случаях, если только полная запись состояний не носит принци-
пиального характера.)
В нижней строке читаем результат вычитания:
х'-х1 = х1 +(-F) = ...0032332-002301 = ...0032332+ ..331033 =
= ...0030031 = 030031 ,
правильность которого проверяется «школьным» вычитанием.
Поучительность этого примера состоит в том, что, во-первых, он носит общий харак-
тер и, во-вторых, лишний раз показывает, что числоиды (в нашем случае ...3331033) ис-
правно выполняют свою вычислительную роль.
Резюме:
Показано, как с помощью автомата сложения | q можно выполнять операцию
вычитания, предварительно заменив вычитаемое на противоположное ему число, пред-
ставленное в автоматном коде, т.е. в виде числоида.
194
§11. Вычитание вычитателем E-J, № х21 q = у
Поясним обозначение в названии параграфа. Полное обозначение для операции сло-
жения, выполняемой сумматором, таково:
Е(41 ж* х2 | q = у , (6.57)
где х1 и х2- операнды (т.е. складываемые числа), q - состояние автомата
S(4) х1 х2 | q , в которое он ставится в начальный момент времени. При постановке
автомата в различные начальные состояния он будет осуществлять различные отобра-
жения, одно из которых - сложение в нашем понимании. Результат работы сумматора
обозначен символом у .
У сумматора существуют две обратные операции, выполняемые следующими автома-
тами: 17^ у х2 | q = х1 и х1 у | q - х2 . Первая из этих операций по результату сложе-
ния: у и по вычитаемому х2 находит уменьшаемое х1; вторая - по результату сложения
у и по уменьшаемому х1 находит вычитаемое х2. Однако выясняется, что автоматы,
реализующие обе эти операции, одинаковы, полностью совпадают. Вследствие этого мы
говорим, что у сложения одна обратная операция - вычитание.
Вычитатель производит вычитание на множестве целых чисел без каких-либо огра-
ничении, но числа должны быть представлены в автоматном коде (естественном для
автоматов), т.е. в виде числоидов, как показано ниже:
Z(4) = {... 323, 30, 31, 32, 3, 0, 61, 02, 03, 610, 611....}.
Вычитатель, как и все другие абстрактные вычислительные устройства, для изобра-
жения отрицательных чисел обходится без знака минус. С учётом этого в таблице вычи-
тателя для представления отрицательных чисел используется 3 .
Приведём табличное задание вычитателя (без вывода).
Таблица 6.7
Вычитатель х1 х2 | q = у
X1 6 1 2 3 0 1 2 3
X2 0 0 0 0 1 1 1 1
<7 =3 3,3 6,0 6,1 6,2 3,2 3,3 5,0 5,1
q = Q 6,6 6,1 6,2 5,3 3,3 6,0 6,1 6,2
х1 0 1 2 3 *0 i 2 3
х2 2 2 2 2 *3 3 3 3
*q = 3 3,1 3,2 3,3 5,0 *3,0 3,1 3,2 3,3
q = 0 3,2 3,3 6,0 5,i 3,1 3,2 3,3 5,6
Таблица разбита на две части. Нижняя половина продолжает верхнюю. В первых
двух строках находятся пары сигналов, поступающих на вход вычитателя. В нижних двух
строках, отмеченных состояниями вычитателя и q = 0, находится информация о перехо-
дах-выходах вычитателя. Выделенные звёздочками клетки поясняют, как пользоваться
195
таблицей. Прочтение выделенных клеток таково: «если автомат находится в состоянии
Гх1 ЛОЛ
q = 3 и на вход его поступает пара сигналов = , то автомат переходит в со-
l^x2 ) \3 J
стояние q =3 и вырабатывает выходной сигнал О».
Автомат работает как вычитатель при постановке его в начальное состояние q = 0.
Следует обратить внимание на то, что в некоторых клетках выходные сигналы идут со
стрелками. Это происходит в те моменты времени, когда оба входных сигнала идут со
стрелками. Если же входные сигналы идут без стрелок, то и выходные сигналы получа-
ются без стрелок. Рассмотрим примеры работы вычитателя.
Пример 1. Пусть х' = 023321, х1 = 0312 . В следующих далее развёртках стрелки над
символами состояний для простоты опускаем (здесь это допустимо).
6 5 4 3 2 1 0 t
М /2>
Ы W W ы Ь ) ы [х2)
0 0 0 0 0 3 0 ч
б 2 3 0 0 3 У
Результат:
| х2 | q) = L-j;(02232110312 10) = 023321-0312 = 023003 ,
очевидно, правильный. Поскольку пример был взят наугад, можно сделать предположе-
ние о том, что вычитатель работает правильно, если уменьшаемое больше вычитаемого и
оба они положительны.
Пусть оба операнда отрицательны.
Пример 2. Пусть х1 = 312, х~ = 323321 . Развёртка:
6 5 4 3 2 1 0 t
рр ГзЗ рр А рхр
vJ Ы ы ы ы I1 J l^x2 j
0 0 3 3 3 0 0 ч
о 0 3 3 3 1 У
Результат:
х1 х1 f =ZM\312 323321 | 0 - 312- 323321 - 0333 , .
Проверка «школьным» сложением:
0 0 0 0 11 1 0
... 3 3 3 2 3 3 2 1
+
... 0 0 0 0 3 3 3 1
... 3 3 3 3 3 3 1 2
подтверждает правильность результата.
196
Пример 3. Пусть х1 = 012 - положительно, х2 = 323321 - отрицательно. Развёртка:
6 5 4 3 2 1 0 t
A
ы ы bi w V J [x2 )
3 3 3 3 3 0 0 ?
6 1 0 0 3 1 У
Результат:
Хд1-, ? х2 | q = Б;!, 012 323321 0 = 610031,
т.е. при вычитании из положительного числа отрицательного получается положительное
число, как и должно быть. Но требуется ещё проверить правильность результата. Пра-
вильность вычитания проверяется сложением:
____1 1111110
... 3 3 3 2 3 3 2 1
+
... 0 ) Р 1 0 3 .
0 0 0 0 0 0 1 2
т.е. 323321 + 010031 = 012, что подтверждает правильность вычитания.
Что же касается вопроса о том, какое в нашем понимании отрицательное число пред-
ставляется числоидом 323321, то этот вопрос решается автоматом A«-»U, развёрткой
6 5 4 3 2 1 0 I Г
3 2 3 3 2 1 х
0 0 0 0 0 0 1 ?
-6 1 0 0 1 3 у
и показывает, что 323321 = -010013 Выяснив это, можно и в наших терминах убедиться в
правильности вычислений вычитателя в этом примере. Действительно,
010031-010013 = 012.
Пример 4. Пусть х1 = 312, хг = 023321. Развёртка:
6 5 4 3 2 1 0 t
ffi Гз'! <2^1
w ы w ы Ь) V J [х2)
0 0 3 3 3 0 0 Я
3 0 3 3 3 1 У
Результат: Х-Д х1 х2|?=Х(41) 312 0233211 0 = 312-023321 = 303331.
Проверяем сложением:
___________________________О О О <1 1 1 1 о
.. 0 0 0 2 3 3 2 1
+
- 3 I 3_I
...______________________3 3 3 3 3 3 1 2
Проверка подтверждает правильность работы вычитателя.
197
Аналогичные вычитатели могут быть построены для любой другой системы счисле-
ния.
Резюме:
1. Обе обратные операции по отношению к операции сложения (левая и правая) выпол-
няются посредством одного и того же алгоритма, вследствие чего мы говорим, что у сло-
жения одна обратная операция, называемая вычитанием. Алгоритм вычитания реализует-
ся устройством, называемым вычитателем.
2. Вычитатель выполняет операцию вычитания на множестве целых чисел без каких-либо
ограничений, но числа должны быть представлены в автоматном коде. Символ минус, «-»,
используемый нами для обозначения отрицательных чисел, абстрактным вычислительным
устройствам не нужен. Для обозначения отрицательных чисел они обходятся собственными
«изобразительными средствами» и беспрепятственно проводят вычисления, результаты
которых легко поддаются истолкованию.
§12. Формульное задание сумматоров и вычитателей
Рассмотренные сумматоры и вычитатели могут быть заданы не только таблично, но и
формульно, с использованием ранее построенных автоматов сдвига. При написании этих
формул будем использовать встречавшиеся обозначения: запись 0ц означает функ-
I х2 I
цию переходов двухвходового автомата, показывающую, в какое новое состояние пере-
ходит автомат из состояния q под действием пары входных сигналов
(в двухвходо-
вом автомате пара входных сигналот считается одной буквой входного алфавита
[х2 )
Х! "1
автомата, который состоит из множества всех таких пар); аналогично запись оу |
[х2 J
означает функцию выходов, показывающую, какой выходной сигнал выработает автомат
- ('l
из состояния q под действием поступившей на вход пары сигналов , • С использова-
(х2 )
нием этих обозначений имеют место следующие соотношения
Формульное задание автомата сложения х1 х2 | q :
(х' 'l
0<7 = )S х' +х2 | q(,
[х2 J
Гх1 )
п</ = (S'х1+х2 | </), (6.58)
l^x2)
^),?е2 = {б, 61},
[)а( = )таг...а1а0( = 'mi.mi. _ _
где < _ - функции отрыва, (т = 0 v 1), a S x\q - автомат
[(a) = (таг. а,а0) = а0
сдвига. Функция Х-А х2) = х* +х2, х',х2 е = {0, 1 ..., А' - 1} канонизирована.
198
Таблица 6.8
ФуНКЦИЯ Д.Г, X*) = X + X", X ,J* G Z(4)
при любых целых q е Z . Автоматы при постановке их в состояние q в качестве начально-
го осуществляют вычисление функции х1 + v2 + q , где q - любая фиксированная целая
константа, а X1 ,х2 е Z - любые целые числа («сложение константы с суммой»).
Задание (6.58) корректно, поскольку новый объект - сумматор - определяется на ос-
нове уже существующих объектов - автоматов сдвига. Когда иногда говорят, что «опера-
ция сдвига - это сложение числа с единицей», то это высказывание априорно некорректно
(апостериорно - корректно), поскольку операция сложения определяется через операцию
сдвига, а не наоборот.
Вычитатель Ej х1 х2 | q также может быть задан формульно. При этом используют-
ся те же вспомогательные объекты, что и при задании сумматора. Это естественно, по-
скольку и сумматоры, и вычитатели реализуют многоместные операции первого ранга,
которые должны выражаться через одноместные операции первого ранга, т.е. через авто-
маты сдвига. Сама же операция сдвига первична, полностью описывается автоматом
сдвига, т.к. из задания автомата сдвига можно извлечь все свойства операции сдвига.
Формульное задание вычитателя X х1 х2 | q :
о7 = (Sx*-х2|д), (6.59)
I*2 J
[^е z<ir = «J-
В (6.59) новой, по сравнению с заданием (6.58), является функция g(x', х2) = х] -х2, оп-
ределённая на множестве цифр х1, х" 6 Zft) » {0, 1, ..., к - 1}, которая также канонизирует-
ся и задаётся с помощью таблицы 6.9 (приведена для к = 4).
Таблица 6.9
Функции g(x', х2) = х1 - х2, х1, х2 е Z(4)
\к2 х*\ 0 1 2 3
0 0 3 32 31
1 1 0 3 32
2 2 1 0 3
3 3 2 1 0
199
Множество состояний Q = |3,0| . Но, как и в предыдущем случае, формулы работают при
любом целом </ е Z . Порождаемые при этом автоматы вычисляют функцию х -х2 + q ,
где q - фиксированная целая константа, a Xх,х2 е Z - любые целые числа («сложение
константы с разностью»).
Убедимся, что с помощью формульного задания вычитателя можно заполнять клетки
таблицы вычитателя 6.5. Пусть, например. X1 = 3, х2 = 1, q = 3 . Тогда по таблице 6.9 на-
ходим: х1 - лГ =- 2, .S' х1 - х2 | q = S 2 | 3 = 01 . Поэтому
= озг | = >5 2|з( = >6i< = б,
yx-J J
= оЗГ | = <S2|3> = (61) = 1,
lx2) U J
т.е. именно то, что стоит в таблице. Аналогично проверяются все остальные клетки таб-
лицы.
Резюме'.
1. Двухвходовые операции первого ранга (сложение и вычитание) и их обобщения
х'+х2+^ и х1 -х2 + q , где Xх,х2,q е Z - любые целые числа, реализуются семейст-
вами автоматов, задаваемых формулами (6.58) и (6.59). Эти формулы записываются через
ранее определённые автоматы сдвига. Тем самым, используется не только принцип по-
следовательного порождения автоматов, но и принцип последовательного их описания
через уже порождённые автоматы.
2. Роль автоматов сдвига заканчивается после построения таблиц для автоматов сложения
и вычитания. С этого момента автоматы сложения и вычитания начинают самостоятель-
ное существование и могут «забыть» о своём происхождении от автомата сдвига. Обозна-
чение, для них используемое, является одновременно обозначением для функций, ими
вычисляемых. Табличное задание сумматоров и вычитателей используется при построе-
нии их В-схем.
§13. Формульное задание сумматоров и вычитателей
для п натуральных чисел
После приобретённого опыта нетрудно написать формульное задание для сумматора-
вычитателя, осуществляющего одновременное сложение и вычитание п натуральных
чисел.
Общее обозначение для сумматора п чисел будет таким:
х1 х2 ...х" \q , где х1 ,х2 ,...,хп, q - произвольные целые числа. Если некоторые
числа вычитаются (тогда мы имеем дело с сумматором-вычитателем), то перед ними
ставится знак минус. Например, запись х1 х2 -ж’ | q означает, что по первым двум
операндам х1 и х2 происходит сложение, а по третьему, х3, - вычитание. Кратко
и 1=п ______________________________________________ _
сумматор п чисел будем обозначать символами: L«), £ х' | q . Последняя запись озна-
чает нахождение сумматором суммы п чисел х', (< =1,...,л), при условии, что сумматор
был поставлен в начальное состояние q . Если автомат был поставлен в начальное со-
200
_ t=n_
стояние q = 0, то результат его действия X хг | 0 будем обозначать также, как обычно,
г=1
i—n_
XX’ .
1=1
Формульное задание сумматора для п чисел:
}ix’ + q{,
1=1
l—П
( X x‘ + q),
1=1
(6.60)
где
e Z’’k^ - буква входного алфавита сумматора, в роли которого выступает л-я
1=П
декартова степень множества цифр системы счисления Z(41 = {0, 1 . , к - 1}; Е г' - кано-
низированная функция, определённая на множестве цифр, вычисляемая последовательно
на основе ранее построенных аналогичных функций меньшего числа переменных по лра-
1=П 1=п-1
виду X х' = ( X х') + х" с использованием таблицы 6.8; qeZ - любое целое число (вы-
1=1 г=1
ступает в роли состояния автомата). Собственно операция сложения реализуется при
выборе q = 0 . При всех остальных выборах величины q реализуется операция сложения
l-П 1=п
п чисел X х’ с дополнительной константой q : X х‘ + q .
>=1 i=i
Переходя к сумматору-вычитателю, не будем приводить его в общем виде, а лишь
разберём для примера сумматор-вычитатель Z(4) х1 х2 -х3 | q . в задании которого самое
важное - задать функцию х1 + х2 - х3, определив её на множестве цифр: х1, х2, х3 е Z^,. Это
делается с помощью следующей таблицы, построение которой происходит с использова-
нием таблиц 6.8 и 6.9 в качестве вспомогательных.
Таблица 6.10
Функция g - х1 + х2 - х3, х1, х2, х3 е Z(4>
х3 •= 0 х3= 1 х3-2 х3 = 3
\г 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
0 0 1 2 3 3 0 1 2 32 3 0 1 31 32 3 0
1 1 2 3 10 0 1 2 3 3 0 1 2 32 3 0 1
2 2 3 10 11 1 2 3 10 0 1 2 3 3 0 1 2
3 3 10 и 12 2 3 10 11 1 2 3 10 0 1 2 3
После чего получаем формульное представление сумматора-вычитателя.
201
Формульное задание сумматора-вычитателя S14| х1 х2 -х3 \q :
= )х' + .Х2 -х3 -г^(,
= (х1 +х2 -х3 + q),
(6.61)
из которого получается табличное задание сумматора-вычитателя L(4) х1 х2 -х3 | q .
Табличное задание сумматора-вычитателя используется для построения В-схемы устрой-
ства (не приводится).
Выделенные клетки читаются так (см. табл. 6.11): «если автомат находился в состоя-
нии q = 0 (выделено наверху) и на вход его поступил набор сигналов хг
то ав-
томат переходит в состояние q = 01 и вырабатывает выходной сигнал 0».
Видно, что из состояния <7=0 возможны переходы в состояния <7=3 и <7=01. По-
этому далее нужно построить таблицы переходов для этих состояний. Они являются про-
должениями построенной таблицы и составляют с ней одно целое.
Таблица 6.11
Сумматор-вычитатель L(4)xJx2 —x3q
Переходы из состояния <7=0
X3 х2 х1 <7=0 х3 X2 х1 *<7=5 х3 х2 х1 <7=5 х3 X2 х1 <7=5
0 0 0 6,0 1 0 0 з ,3 2 0 0 3,2 3 0 0 3,1
0 0 1 6,1 1 0 1 0,0 2 0 1 3,3 3 0 1 3,2
0 0 2 5,2 1 0 2 5,1 2 0 2 5,0 3 0 2 3,3
0 0 3 б,з 1 0 3 5,2 2 0 3 5,1 3 0 3 5,0
0 1 0 6,1 1 1 0 5,0 2 1 0 3,3 3 1 0 3,2
0 1 1 6,2 1 1 1 6,1 2 1 1 5,о 3 1 1 3,3
0 1 2 5,3 1 1 2 5,2 2 1 2 5,1 3 1 2 5,0
0 1 3 51,0 1 1 3 5,з 2 1 3 5,2 3 1 3 5,1
0 2 0 5,2 1 2 0 5,1 2 2 0 5,о 3 2 0 3,3
0 2 1 б,з 1 2 1 5,2 2 2 1 5,1 3 2 1 5,о
0 2 2 51,о 1 2 2 5,з 2 2 2 0,2 3 2 2 5,1
0 2 3 51,1 1 2 3 51,о 2 2 3 5,з 3 2 3 5,2
0 3 0 5,з 1 3 0 5,2 2 3 0 5,1 3 3 0 5,о
0 3 1 51,о 1 3 1 5,з 2 3 1 5,2 3 3 1 5,1
202
Продолжение табл. 6.11
х3 х2 х1 q=0 х3 х2 х1 *</- б х3 х2 х1 q= 6 х3 х2 х1 q = 6
0 3 3 01,2 1 3 3 61,1 2 3 3 61,0 3 3 3 б,з
0 3 3 б 1,2 1 3 3 61,1 2 3 3 61,0 3 3 3 5,3
Как видим (см. табл. 6.11, продолжение), из состояния q = 3 возможны переходы в
состояния q = 3, q = О q =01, т.е. при переходах из этого состояния новых состояний не
появляется.
Заметим, что в таблице 6.11 во всех её частях, включая ту, которая идёт дальше, подразу-
мевается, что если тройка сигналов идёт со стрелками, то выходной сигнал тоже может быть
со стрелкой. Это происходит в том случае, если тройка со стрелками поступает на вход авто-
мата и он при этом находится в финальном состоянии, т.е в таком состоянии, из которого
данный автомат под воздействием этой тройки сигналов выйти не может. Например, если
автомат находился в состоянии q =0и на вход его поступила тройка сигналов (3,0,3), то
автомат переходит в состояние q = 0 и вырабатывает выходной сигнал 0 (в таблице это явно
не отмечено ввиду нехватки места (простановка стрелок расширяет таблицу) и ввиду понят-
ности ситуации).
При переходах из состояния q = 01 новых состояний также не появляется.
Автомат вычисляет функцию х'+х2-^3 при постановке его в начальное состоя-
ние q=0. При постановке его в начальные состояния q=3 или </=01 он вычисляет
функцию X1 + X2 - X3 + q .
Таблица 6.11
Сумматор-вычитатель Х(4)( д1 | х2 | -хг ) q)
(Продолжение 1)
Переходы из состояния q = 3
х3 X2 х1 <7 = 3 х3 х2 х1 <7 = 3 X3 х2 х1 <7 = 3 х3 X2 х1 <7 = 3
0 0 0 3,3 1 0 0 3,2 2 0 0 3 ,1 3 0 0 3,0
0 0 1 6,0 1 0 1 3,3 2 0 1 3 ,2 3 0 1 3,1
0 0 2 6,1 1 0 2 6,0 2 0 2 3 ,3 3 0 2 3,2
0 0 3 6,2 1 0 3 6,1 2 0 3 6,0 3 0 3 3,3
0 1 0 6,0 1 1 0 3,3 2 1 0 3,2 3 1 0 3,1
0 1 1 6,1 1 1 1 6,0 2 1 1 3,3 3 1 1 3,2
0 1 2 0,2 1 1 2 6,1 2 1 2 6,0 3 1 2 3,3
0 1 3 6,3 1 1 3 6,2 2 1 3 5,1 3 1 3 6,0
0 2 0 6,1 1 2 0 6,0 2 2 0 3 ,3 3 2 0 3,2
0 2 1 6,2 1 2 1 5,1 2 2 1 0,0 3 2 1 3,3
0 2 2 6,3 1 2 2 6,2 2 2 2 0,1 3 2 2 б,о
0 2 3 61,0 1 2 3 6,3 2 2 3 0,2 3 2 3 6,1
0 3 0 6,2 1 3 0 5,1 2 3 0 0,0 3 3 0 3,3
203
Продолжение табл. 6.11
X3 х2 х1 9 = 3 х3 х2 х1 9 = 3 х3 х2 х1 9 = 3 х3 х2 х1 9 = 3
0 3 1 0,3 1 3 1 6,2 2 3 1 5,1 3 3 1 б,о
0 3 2 61,0 1 3 2 6,3 2 3 2 5,2 3 3 2 5,1
0 3 3 61,1 1 3 3 61,0 2 3 3 б,з 3 3 3 5,2
Формулы, задающие автомат ^^(х1 х2 |-х3 \q), работают и для любых других це-
лых значений q&Z . Поэтому если продолжить построение таблицы 6.11 для других
значений q , то будет создан автомат, вычисляющий функцию х1 + хг - х3 + q и для этих
значений q .
Таблица 6.11
Сумматор-вычитатель Z(4) х1 х2 —х3 | q
(Продолжение 2)
Переходы из состояния q = 01
х3 2 X 1 X q = 61 х3 2 X 1 X 9= 51 X3 х2 1 X q= 51 х3 2 X 1 X 9=51
0 0 0 5,1 1 0 0 5,0 2 0 0 3,3 3 0 0 3,2
0 0 1 5,2 1 0 1 5,1 2 0 1 5,0 3 0 1 3,3
0 0 2 5,з 1 0 2 5,2 2 0 2 5,1 3 0 2 0,0
0 0 3 51,о 1 0 3 5,3 2 0 3 5,2 3 0 3 5,1
0 1 0 5,2 1 1 0 6,1 2 1 0 6,0 3 1 0 3,3
0 1 1 5,з 1 1 1 5,2 2 1 1 5,1 3 1 1 5,0
0 1 2 61,0 1 1 2 5,3 2 1 2 5,2 3 1 2 5,1
0 1 3 51,1 1 1 3 51,о 2 1 3 5,з 3 1 3 5,2
0 2 0 5,з 1 2 0 5,2 2 2 0 5,1 3 2 0 б,о
0 2 1 51,о 1 2 1 5,з 2 2 1 5,2 3 2 1 5,1
0 2 2 51,о 1 2 2 61,0 2 2 2 5,з 3 2 2 5,2
0 2 3 51,2 1 2 3 51,1 2 2 3 61,0 3 2 3 5,з
0 3 0 51,о 1 3 0 5,з 2 3 0 5,2 3 3 0 5,1
0 3 1 51,1 1 3 1 61,0 2 3 1 5,з 3 3 1 0,2
0 3 2 51,2 1 3 2 51,1 2 3 2 5i,o 3 3 2 5,з
0 3 3 51,з 1 3 3 51,2 2 3 3 51,1 3 3 3 5i,o
Проведём вычисление с помощью сумматора-вычислителя Z(4) х1 х2-х3 | q . При
этом используется таблица 6.11.
Пример 1. Пусть х1 = 023321, х2 = 0312, Х ! = 012231.
204
Развёртка
б 1 2 О 0 2 j
В последней строке читаем результат:
S(4)(0233211 0312 | -0122311 0) = 012002 ,
который проверяется школьным последовательным вычислением в два этапа:
Этап 1'сложение Этап 2: вычитание
о 1 i 1
... 023321 ..030233
+ -
...0 0 0 3 1 2 ... 0 1 2 2 3 1
... 0 3 0 2 3 3 ... 0 1 2 0 0 2
Проверка подтверждает правильность вычислений устройством.
Для случая сумматора-вычитателя с п операндами формульное задание аналогично
заданию (6.60).
Обратим внимание на уже встречавшееся свойство создаваемых устройств, на экстра-
вертность. Это свойство заключается в том, что объект, создаваемый для одной цели,
часто оказывается способным совершарть дополнительные действия, для выполнения
которых он первоначально («по проекту») не предназначался. Так, описанный здесь
сумматор-вычислитель первоначально создавался для вычисления функции х1 + х2 - х-‘ .
Но, как a'posteriori выяснилось, он способен делать больше, а именно вычислять ещё две
функции: х + х2 - х2 + q . где q = 3 или q = 01. Более того, формульное задание этого
устройства (6.60) оказалось имеющим смысл не только для указанных значений q , но и
вообще для любых целых q е Z . Это позволяет построить бесконечный автомат
Х(4) х1 х2 -х3 \q , задаваемый формулами (6.61), в роли множества состояний которого
выступает множество всех целых чисел: Q = Z и который вычисляет функцию
х1 + х2 - х3 + q без каких-либо ограничений на целые значения q . Спрашивается, далее,
каковы последующие эволюционные возможности построенного бесконечного автомата?
Здесь имеется несколько возможностей, «не предусмотренных первоначальным проек-
том». Обратим внимание на одну из них, являющуюся результатом применения операции
свёртки к бесконечному автомату. В результате свёртки получается новый конечный ав-
томат, вычисляющий, прежде всего, функцию четырёх переменных: х1 + х2 - х3 + х4 ,
вновь обладающий свойством экстравертности и приводящий к построению бесконечного
автомата X1 + X2 —X3 + х4 + q , где q е Z и т.д. до бесконечности.
Свойство экстравертности встречается буквально на каждом шагу. По-видимому,
свойство экстравертности — одно из тех свойств, которые лежат в основе эволюции.
В эволюции вычислительных устройств оно явно наблюдается.
Оценим время вычисления сумматором-вычислителем. Как видно из развёртки, уст-
ройство, В-схема которого родственна схемам, изображенным на рисунках 6.1 и 6.2,
205
реализующее сумматор-вычислитель, закончило вычисления с тремя пятиразрядными
числами (уравниваем разрядность чисел по максимальной разрядности) при Т = 5т&.
Аналогично, обобщая, заключаем, что сумматор-вычитатель выполнит вычисления с
тремя /-разрядными числами за время 7’=/- т&. Это минимальное время, и никаким
последовательным или параллельным устройством с тем же входным алфавитом
уменьшено быть не может. (За счёт изменения режима подачи входной информации,
когда на вход устройства разряды обрабатываемых чисел подаются группами, что ис-
толковывается как переход к другому алфавиту, возможно уменьшение времени вычис-
ления, но и в этом случае соответствующая В-схема будет вести вычисления за мини-
мальное время.)
Сумматор Z(4) х1 ... х" | q выполнит одновременное сложение п чисел, разрядность
которых равна г, за время Т- г • Т* (независимо от п), причём это время минимально и не
может быть уменьшено никаким другим устройством, если только не менять входной
алфавит. Независимость от п объясняется тем, что в В-схеме этого сумматора вся группа
цифр старших разрядов результата вырабатывается одновременно с последней цифрой
группы цифр младших разрядов результата (пояснение: группа цифр младших разрядов
результата - это группа цифр, разряды которых имеют номера от 0 до г; группа цифр
старших разрядов результата имеет большие номера разрядов).
Резюме:
1. Многовходовые операции первого ранга (одновременное сложение и вычитание многих
чисел) и их обобщения типа х^ + х2 +... + х" + q , где q - фиксированная целая константа,
а х1 ,х~,..., х" е Z - любые целые числа, реализуются семействами автоматов, задаваемых
формулами типа (6.60) и (6 61). При этом собственно операция сложения х1 + х2 + ... + .Т"
или операция сложения-вычитания типа х1 + х2 - х3 реализуются при выборе q = 0 в
качестве начального состояния.
2. Формулы записываются через ранее определённые автоматы сдвига. Тем самым ис-
пользуется не только принцип последовательного порождения автоматов, но и принцип
последовательного их описания через описания уже порождённых автоматов.
3. Однако это не означает, что функционирование автоматов сложения и вычитания сво-
дится к функционированию автоматов сдвига. Автоматы сложения и вычитания, полу-
чившиеся в результате последовательного синтеза, функционируют вполне самостоятель-
но в оптимальном варианте, «ничего не зная» о своём происхождении.
4. Время одновременного сложения п целых чисел равно Т= г , где г - максимальная
разрядность складываемых чисел, а т & - задержка в схемном элементе & соответствую-
щей В-схемы устройства (в абстрактной В-схеме т& = 1. принимается за единицу изме-
рения времени). Это время минимально и, следовательно, не может быть уменьшено ни-
каким устройством без смены алфавита.
5. В каждом из разбираемых устройств потенциально заложена тенденция к развитию,
называемая свойством экстравертности. Свойство экстравертности заключается в том,
что синтезированное устройство обычно обладает некоторыми дополнительными воз-
можностями, которые не предусматривались при проектировании устройства. В тексте
показано, как сумматоры благодаря свойству экстравертности порождают бесконечную
последовательность всё более и более сложных устройств с возрастающим множеством
функциональных возможностей.
206
§ 14. О количестве состояний сумматора L(4) х1 х" \q
Сумматор Е(4) х1 ... х" | q выполняет целевое вычисление, т.е. суммирование операн-
дов х1 .х2,...,х", будучи поставленным в начальное состояние q = 0 . При задании сумма-
тора мы писали, что q е Q„ -10,01,...,О и! , где 'п - предшествующее п число. Тем са-
мым мы утверждали, что автомат имеет п состояний и 'п - максимальный номер этого
состояния. Но это требует доказательства, которое далее приводится.
Для упрощения записей не будем писать чёрточку над числом п . Сумму п одинако-
1=П об
вых слагаемых будем обозначать проще: £ х = п х .
Согласно формулам (6.60), задающим сумматор, переходы и выходы вычисляются по
правилам:
) Z х‘ + q{
( £ х' +</) ,
(6.62)
(6.63)
из которых видно, что переходы в большие состоя ния из начального состояния q = 0
будут происходить при подаче на вход цифры (£- 1) - наибольшей цифры из набора
/да = {0, 1 , к — 1}. Соответствующие переходы можно изобразить схемой:
7 = 0 -э )‘7($-1Н =
(6.64)
Уточним переход (6.64). Имеем: п (к- 1) = п к-п = (п - т) к + (т • к - и). Отсюда
)п (к- 1)( = (п - »г), а величина (т к -п) должна быть цифрой, т.е. 0 < т к- п<к. (На-
поминаем, что десятка /r-ричпая равна к: Ющ, - к.) Из последнего наравенства получаем
для т соотношение: < т < — Н1. Вследствие чего получаем два промежуточных вы-
к к
вода:
а)^еМ={1,2,...} т = |;
- -НН
где [а] - «антье», целая часть числа а.
В любом случае т является величиной порядка
п п
— , что отражается записью: т - —.
к к
Изобразим развёртку работы сумматора, складывающего п чисел, на вход которого в
каждом разряде подаётся цифра (к - 1), и проследим за эволюцией состояний, в которые
переходит автомат.
207
Развёртка такова:
'к-Г
jl-1,
п - т\
I
т? к - mi
,'к-Г
\к-{2
п-то
I
mi к —то
A--1J
I
О
т0- к-п
п тг <—
Для каждого момента времени имеют место следующие обозначения и соотношения,
вывод которых повторяет вышеприведённые рассуждения: (стрелка я—>» читается далее:
«отсюда следует»)
t = 0 —> п {к -1) = п к - п = (я - я?о )к + (т0 к—п),
О < т0 к - п < к т0 = v v т * 1, 91 = п- %,
к I к I
п
т0~- .
к
t = 1 —> п (к-1) + п -т0 = п к -т0 = (и -mi)k + к - тп),
то
к
+1, q2 = n-nii.
п
t = 2 n (k -1) + n - nil = n-k-mt = (n - m2)k + (m2 к - mt),
[т]
0 < m2 к - mi <k m2 = v
к
+ 1, #3 = n — m2,
n
,rh-~F
Таким образом, последовательность {»<,}, (t = 0, 1, ...), состоящая из натуральных чисел, в
силу закона т, ~ является убывающей и достигает своего наименьшего натурально-
го значения, равного единице. Следовательно, в последовательности состояний {</, =
= n-mt_\}, (t = 1, 2, ...) наибольшим состянием будет состояние q = n- 1. Оно и будет
наибольшим состоянием целевого сумматора, начинающего функционировать из началь-
ного состояния <7 = 0. Что и требовалось доказать.
Пусть t = t* — наименьший момент времени, когда mt становится равным единице:
3/1 [mf. = 1]. Тогда при подаче на вход сумматора во все последующие моменты времени
цифры (к - 1) величина т, будет оставаться равной единице: Vf[m, =1]. Это позволяет
изобразить развёртку для последующих моментов времени:
208
/ + 3 ?+ 2 / + 1 t* t
к- 1 к- 1 к-1 1 X
II - 1 я - 1 п - 1 п — т^_х q
к- 1 к-1 т,. к — т^. У
Пример, п = 1589, к = 10.
Соответствующая развёртка:
... 10 9 8 7 6 5 4 3 2 1 0 t
... 0 0 0 0 0 9 9 9 9 9 9 X
... 0 0 1 15 158 1588 1588 1587 1573 1430 0 q
... 0 1 5 8 8 9 9 8 4 1 1 У
Видно, что последовательность состояний растёт до величины 1588 = 1589 — 1 = п — 1, что
подтверждает полученный вывод.
Резюме'.
п
Доказано, что сумматор X имеет п состояний.
§15. Устройства Е с автоматическим остановом
п
В устройствах X мы судим об окончании процесса сложения п натуральных чисел х'
по появлению в развёртке финальной тройки (входной сигнал, состояние, выходной сиг-
нал), состоящей из одних нулей, т.е. по появлению тройки
(6.65)
При этом субъектом, фиксирующим тот момент, когда цифры старших разрядов были
поданы на вход устройства, являемся мы сами или специальное следящее устройство.
Другими словами, нам или следящему устройству известно, что тройка (6.65) финальная.
п
Устройство S самостоятельно не вырабатывает признака, по которому можно судить о
прохождении через вход сумматора цифр старших разрядов складываемых чисел. Вместе
с тем упомянутая тройка (6.65) не может сама по себе быть таким признаком, поскольку
наборы нулей
/о/ /О';
(6.66)
k к
могут находиться в середине складываемых чисел на достаточно большом удалении от
отличных от нуля цифр старших разрядов складываемых чисел и могут вызвать появле-
ние тройки (6.65), вследствие чего останов по этой тройке приведет к ложному результа-
ту. Ложные наборы нулей (6.66) опасны при вычислениях, если нет способов их узнава-
ния, желательно автоматических.
Осуществив, однако, некоторые естественные дополнения как в информативной «оснаст-
п п
ке» устройства Е. так и в конструкции устройства, можно добиться, чтобы устройство Е
автоматически вырабатывало признак конца сложения п чисел. Это приведет к экономии
209
h
вычислительного времени. Такое устройство будем обозначать символом Е . Напомним, что
«
информационная «оснастка» устройства Е, состоит из входного и выходного алфавитов,
функций переходов и выходов. Входным алфавитом является множество Z"k}, выходным -
множество Z(^= {0, 1, ..., к- I}, где к>2, keNj. Далее будем работать с алфавитом
Z(i) = [б, 1, ... , А--1 и с функциями переходов и выходов, учитывающими появление сим-
волов 0 и к -1 Для этих символов будем использовать общее обозначение т , так что
т = б v к-\.
п п
Наша ближайшая цель - мотивированно определить функции 9 и а в расширенном
Л п
алфавите Иц.) и тем самым построить автомат Е . При этом основное требование, предъ-
п п
являемое к функциям 9 и о в расширенном алфавите , состоит в том, чтобы работа
п л п
автомата Е в алфавите Иц , была эквивалентна работе автомата Е<*) в алфавите Ищ.
С учетом смысла, придаваемого символам 0 и к -1, это означает следующее:
где запись £
(6.67)
, поданной в
т
п
момент времени t' на вход автомата Е, находящегося в этот момент в состоянии <?(/),
(аналогичный смысл имеет запись в квадратных скобках справа от знака
п
эквивалентности <-»), причем автомат Е через конечное число моментов времени выра-
батывает признак окончания процесса суммирования, которым является выходной сигнал
о д. к п
т = 9 v к -1, после чего работу автомата Е можно прекратить, в то время как автомат Е
продолжает работать до бесконечности, не вырабатывая специального признака оконча-
ния суммирования, выдавая после фактического окончания суммирования сигнал т - 9 v
И
к - I. До момента выработки сигнала т автоматом Е оба автомата во все предшествую-
щие моменты времени вплоть до момента t выдавали совпадающие результаты. При этом
п п п п
предполагается, что множества состояний автоматов Е и Е совпадают: Q = Q и, кроме
того, сигналы
и
могут подаваться на входы автоматов Е и I, соответственно,
п
во все последующие после t моменты времени. При этом в тот момент, когда автомат Е
219
п
выработает выходной сигнал т , автомат I выработает сигнал т. Это соотношение со-
блюдается во все последующие моменты времени.
Определение I
п
Назовем множество состоянии Q* “={?*,.финальным, если для каждого
0 = 1,..
/') существуют входной сигнал
е Z"tj и выходной сигнал те Z(lt)
такие, что выполняются соотношения
(6.68)
(6.69)
Я
Каждое состояние из Q* также назовем финальным.
Утверждение.
Состояние q* однозначно определяется сигналом
e Z"^ и результатом т
Я
Чтобы убедиться в этом отметим, прежде всего, что автомат X вторичен по отноше-
нию к автомату X , он получается из последнего. Это видно из (6.67), где в левой части
относительно знака эквивалентности стоит вновь определяемое понятие (автомат Z), а в
Я
правой - известный объект (автомат Е). Поэтому определения, касающиеся нового объ-
екта, могут иметь своих двойников в старом объекте, а утверждения могут обосновывать-
ся путем обращения к известным свойствам старого объекта. Так, понятие финального
состояния может быть дано в терминах, относящихся к автомату Е .
Состояние q* - финальное, если существуют входной сигнал
е Z,", и выходной
И/
сигнал т е Zt4) такие, что выполняются соотношения
(6.70)
211
Т'
(6.71)
п
После этого сформулированное утверждение доказывается для автомата Е и переносится на Е .
Для определённости конкретизируем вид входного сигнала и вид результата. Пусть
(£-11
(6.72)
Тогда, по определению q*,
- )(£-1) + ...+ (£-!) + q*{ - q! ,
= ((£-1) + ...+ (£-!) + q*) = О
(6.73)
(6.74)
Из (6.73) и (6.74) следует: m(k-V) + q* ~kq*.
Откуда q* - т - единственное состояние, соответствующее выбранной паре вход-
ных сигналов
Аналогично если в (6.72) взять т = £- 1, то в правой части (6.74) вместо 0 появится
(к - 1) и q* будет решением уравнения т • (к -1) + q* = к q* + (к -1) .
Откуда q* = т -1 - единственное состояние, соответствующее выбранной паре
входных сигналов
Выбранная структура многовходового сигнала, величина т и выбор т не ограничивают
общности доказательства.
Итак, каждой паре финальных входных сигналов
и т соответствует только
одно финальное состояние.
Утверждение доказано.
212
л r_ « 53
Пример 1. Пусть £ = 6. Zl6) = |0, 1, 2, 3. 4, 5 •, п - 53,т = 3, Q = Q = {0,1,... 52} .
В этом примере мы будем иметь дело с сигналом типа
5 >3 раза
5,
°}
I
...>50 раз
О
в котором последняя цифра системы счисления, цифра 5, встречается три раза, а на ос-
тальных местах стоят нули. Составим таблицу, в строках которой стоят значения функций
53
для различных значений q е Q .
В таблице звездочками отмечены финальные состояния
Финальные состояния - это те состояния, в которых оказывается автомат после завер-
шения процесса вычисления. Появление пары
является признаком конца вы-
п п
числений. Функции 0 и о дают финальный результат т именно из финальных состоя-
ний, а на остальных состояниях они дают обычный результат, совпадающий со значения-
п п п п
ми функций 0 и а . Тем самым, функции 0 и о определены полностью, а вместе с ними
п
и автомат X, самостоятельно выдающий сигнал об окончании процесса суммирования.
Информация об окончании процесса суммирования весьма важна с точки зрения эконо-
мии времени вычислений. Такого типа устройства будем называть устройствами с ав-
томатическим остановом, поскольку сигнал т - признак конца суммирования - может
213
быть далее использован для прекращения процесса работы автомата Z и включения в
работу других устройств.
Приведем пример конкретного устройства с автоматическим остановом.
_ г- -1 2
Пример 2. Пусть п = 2, к = 3. Тогда Z(}) = |0, 1, 2} , Qiyi = {0,1} .
2
Изобразим сводную таблицу переходов и выходов автомата . при создании кото-
рой использованы формулы (6.67) и (6.68).
Таблица 6.13
2
Пример 3. Пусть требуется сложить два числах1 = 021022 и х2 = 2100212 . Развертка
во времени работы устройства получается обращением к таблице 6.13.
7 6 5 4 3 2 1 0 t
м Гб} рА <2^1
ы V 7 L oj ы V J 1^2 ) [х2 )
0 0 0 0 1 1 1 0 Ч
2 1 2 2 0 1 1 У
При 1 = 6 появился сигнал 2, указывающий на конец процесса суммирования.
Одновременно он указывает на знак суммы:
у = х‘ + х2 — ()21022 + 2100212 — 212201 1
Обратившись к автомату, осуществляющему перевод чисел из обычного кода к автомат-
ному и наоборот, убеждаемся в справедливости результата.
Аналогичные устройства с автоматическим остановом в конце работы могут быть
созданы в других случаях с использованием изложенного в этом параграфе.
В современных компьютерах нет возможности осуществить автоматический останов
описанного типа. В них приходится проходить всю разрядную сетку, т.е. весь регистр, от
начала до конца независимо от того, есть в этом необходимость или нет. Это объясняется
тем, что по линиям компьютера возможна передача только двух информационных сигна-
лов. Добавление ещё одного информационного сигнала в линию не допустимо, ибо при-
214
водит к ненадёжности вычислений. Именно это обстоятельство было положено фон
Нейманом в основу тезиса о том, что двоичная система счисления наиболее подходящая
для создания компьютеров.
В отличие от этого, разбираемые вычислительные устройства и их реализации по-
средством В-схем допускают введение любого числа дополнительных информационных
сигналов с различной смысловой нагрузкой, что позволяет решать различные оптими-
зационные задачи, связанные с проектированием компьютеров, в частности задачи о
минимизации вычислительного времени, и тем самым приводящие к ускорению вычис-
лений.
Резюме'.
1. Дано определение финальных состояний автомата, т.е. состояний, попав в которые под
действием определённых сигналов, автомат из них никогда уже не выйдет.
2. Описан метод превращения любого автомата в другой автомат с автоматическим оста-
новом, позволяющим экономить вычислительное время и тем самым повышать произво-
дительность вычислительного устройства.
§ 16. Вычисления сумматорами с декартовым алфавитом
Рассмотрим сумматор л71 х2 | q , складывающий два произвольных целых числа,
задаваемый таблицей 6.1. При сложении двух чисел цифры подаются на его вход пораз-
рядно парами. Однако от сумматора Е(4) х1 хг | q можно перейти к другому сумматору,
на вход которого цифры складываемых чисел подаются группами пар цифр. Этот переход
от сумматора S(4) х1 х2 | q к новому сумматору канонизирован и представлен как стан-
дартная операция, выполняемая над сумматором S(4) х1 х2 | q и превращающая его в
новый сумматор, позволяющий складывать числа, предварительно разбив их на группы
цифр. Если в каждой группе находится т пар цифр, то такой сумматор будем обозначать
символом Zj”* х1 х2 | q , где т обозначает размер группы (размер группы определяется
количеством разрядов в группе), а V1 и X2 - складываемые числа; q как всегда состоя-
ние, в которое автомат ставится при t ~ 0. Отметим, что множество состояний Qi"'* ново-
го автомата совпадает с множеством состояний Q? прежнего автомата: • При
переходе от старого автомата к новому автомату происходит, прежде всего, преобразова-
ние входного алфавита. Как следствие, меняются функции переходов и выходов, а также
выходной алфавит.
Изобразим переход от старого автомата к новому автомату схемой:
у yl у2 I ;у Alphabet ,v(m) —1 —2 I ту
^<(4) XX \ (j ------^"(4) % % I У 5
подчеркнув тем самым, что главное преобразование при этом переходе - это преобразо-
вание входного алфавита, вызывающее в качестве вторичного эффекта преобразование
функций переходов и выходов, а также и выходного алфавита. Множество состояний не
меняется. Будем называть сумматор Zf4)^ х1 х2 | q, получающийся из сумматора
Z(4) х1 х2 | q , сумматором с декартовым алфавитом.
215
Буква входного алфавита автомата Zj4)’ х1 xi^q изображается в виде:
А4)={о,1,2,3}. (6.75)
\Хт хт-1' ’ ,Х1 ) 4---v-------'
т раз
Каждая буква является элементом декартова произведения и по сути своей представляет
собой группу из т пар цифр, причём в каждую пару цифр входят цисЬры из одного разря-
да. Алфавит, состоящий из этих букв, называем декартовым алфавитом относительно
исходного алфавита Z24).
В общем случае вместо Z(4} ставится Z{^ = {0, 1, ..., к- 1}.
Как видно, буква сумматора с изменённым алфавитом представляет из себя две строки
цифр складываемых чисел, в каждой из которых содержится по т цифр. Верхний индекс
указывает на номер числа, нижний - на номер относительного разряда.
Функция переходов и функция выходов автомата 27 J х1 х2 | q строится на базе соот-
ветствующих функций автомата Е(4) х1 х2 | q . Нет необходимости выписывать их по
отдельности, мы их выпишем «в деле», изобразив фрагмент развёртки во времени работы
автомата X'4J х1 х2 | q . Фрагмент развертки приводится для произвольного момента вре-
мени t:
(6.76)
Изображённый фрагмент развёртки читается так: «если в момент времени t сумматор
^"’(х1 | х2 | q) находился в состоянии q и на вход его поступила буква
(6.77)
то в этот момент времени автомат вырабатывает выходной сигнал
(x!..Jc' .X* ) ( XJ...X1 .1 fxH
о0...0с/ | ст0...О с/ 1 "-1 ... a q\ , (6.78)
• I у-2 у2 v2 I 4 * ' I -у-2 v*2 I . у2
т раз \Л1-Am (т-1) раз \Л1"‘ т-17 1 Р33 П /
представляющий собой набор из т букв выходного алфавита автомата Е(4)(х* | х2 q). и в
следующий момент времени переходит в новое состояние
216
q =eo...eu|
m-раз •••'^/я-l-^'/n
(6.79)
Заметим, что в записи выходного сигнала и нового состояния автомата 1 х2 | q )
использованы сокращения:
где
х.1
S'? , S Z(4),
1 раз )
(6.80)
(4
14
(6.81)
ое...е q\
'--v' Y2
(?п-1)-раз V. -*1
е Z(4)
е
- буквы выходного алфавита автомата Е(4) х1 х2 | q , а также
q'= 00...9</ 1
(6.82)
- представление нового состояния автомата Zf"1 -?1 х2 | q .
Как видно, буква (6.78) выходного алфавита (выходной сигнал) автомата
EJ4j' ж1 х2 | q состоит из т букв (6.81) выходного алфавита автомата Z(4) х1 х2 | q и явля-
ется элемеятом декартова произведения Z”, = {(zm_1,...,z1,z0)}.
Сокращения используют входную информацию
44 v -1-2 1-ч
,..., 2 ,1 исходного автомата Xl4) х1 х | q .)
k -I ) ) 4™ )
Эти формулы обобщаются на случай сумматора Е{4л х1 ... х" | q , одновременно
складывающего п чисел. Формулы, естественно, более громоздкие. Громоздкость
неизбежна и соответствует природе вещей, иного способа описания не видно.
Выберем частный случай. т = 2 и проследим за вычислением, выполняемым суммато-
ром Zj4j х1 х2 | q . В нём группировка цифр происходит по два разряда. Предыдущие
формулы немного упростятся. Прежде всего развёртка.
217
?+1
00 q
2-раза
(6.83)
t
В ней буква входного алфавита сумматора Е® х1 х2 \д изображается записью
I Х2Л1 I
, в которой в верхней строке представлены цифры первого из складываемых чисел
)
(верхний индекс), а в нижней — второго (верхний индекс). Нижними индексами представ-
лены разряды складываемых чисел: индексом 1 указан младший разряд, индексом 2 -
старший соседний разряд.
Функции 9 и G - функции переходов и выходов сумматора Х(4) .г1 х2 | q - ранее
неоднократно встречались и обсуждались.
Пример 1. Пусть х' = 032332, X2 = 02301 . Представим подаваемую на вход суммато-
ра Ej4{ х1 х1 | q информацию в виде последовательности букв его входного алфавита
72 х72
f00Y03Y23Y32'l
(6-84)
(00Х00Х23Д01)
7 6 5 4 3 2 10
Складываемые числа разбиты на группы цифр по два разряда в каждой группе. Внизу
для удобства показаны номера разрядов пар цифр. Разрядность растёт влево, в сторону
многоточия. При t = 0 на вход сумматора подаётся первая буква входного слова, представ-
ленная скобкой, содержащей цифры из разрядов 0 и 1; при t = 1 на вход подаётся вторая
буква, представленная скобкой, содержащей цифры из разрядов 2 и 3; и т. д.
Для слежения за вычислением нам нужна таблица переходов-выходов сумматора
E[4J х1 х2 | </ Приводится лишь фрагмент этой таблицы, содержащий информацию, не-
обходимую для вычисления. Буквы выходного алфавита автомата Ej4J х1 х2 | q изобра-
жаем парами, в скобках или без, в зависимости от ситуации, например: 32 или (32).
Выделенные в таблице клетки читаются так: «если в некоторый момент времени сум-
матор Ej4j х1 х2 \q находился в состоянии j-О и на вход его поступила буква входного
. /23А
алфавита I I, то он вырабатывает выходной сигнал (12) и в следующий момент време-
ни перейдёт в состояние q' = 1».
218
Аналогично прочитываются все другие допустимые комбинации клеток таблицы.
Таблица 6 14
Сумматор х1 х2 | q (Фрагмент)
\ ? буквах *0 1
00 00. 0,(00) 0,(01)
03' 00 0,(03) 0,(10)
* (23 *1,(12) 1,(13)
32' 01 о,(33) 1,(00)
Используя приведённую таблицу, строим развёртку, показывающую, как происходит
процесс вычисления.
4 3 2 1 0 t
(00 j ГозА Г23> Г32'! (X2X1
1007 W L23J l°l J j
0 <- 0 <_ 1 <- 0 <- 0 q
I
00 10 12 33 У
Результат: Zj4] 032332 023011 0 = 0101233 . Он, очевидно, правилен и совпадает с резуль-
татом аналогичного вычисления, выполненного сумматором Z(4) х1 х2 | q . Кроме того,
результат получен при t = 2, т.е. фактически за три такта, что вдвое меньше времени, за-
траченного на это же вычисление сумматором Х(4. х1 х- | q . Мы видим, что изменение
входного алфавита устройства влияет на скорость вычислений. В разбираемом случае
изменение входного алфавита свелось к подаче цифр складываемых чисел группами. На
размер группы цифр нет принципиальных ограничений, можно брать группы цифр по два,
три, четыре, пять и т.д. разрядов.
Приведём фрагмент В-схемы сумматора, соответствующий таблице 6.14. Полная
В-схема чересчур громоздка, чтобы приводить её полностью. Вместе с тем среди всех
одинаковых по своему целевому назначению схем она оптимальна по многим пара-
метрам, в частности, «минимальна по оборудованию».
219
ВХОД-Х ВХОДУ
jci x? xj xi C
o"
x5
ti 3210 32:
выход
НУ У.
32 0 3210
0 2
£ :l JQ8|&06ij|&o'6p|
'MU)|&3(;O|fo(a)|&oia|
Рис. 6.5. Сумматор Xj;’’ x1 x2 | q (фрагмент)
На схеме все разряды растут влево, все младшие цифры расположены справа, а старшие
левее. Все младшие горизонтальные линии расположены ближе к строке элементов &.
Будем говорить, что устройство проводит параллельное вычисление, если на выходе
его одновременно вычисляются несколько различных функций. На выходе сумматора
х1 х2 | q одновременно вычисляются две функции: функция уз и функция у,, дающие
в каждый момент времени соответственно младшую и старшую цифру результата. Это
параллельное вычисление можно назвать параллельным вычислением по выходу.
Заметим, что сумматор jr* х2 | и являющийся последовательным автоматом, в
каждом такте ведёт параллельное вычисление, ибо все цифры группы поступают на вход
сумматора одновременно (говорят: «параллельно») и равноправно принимают участие в
процессе вычисления. Это параллельное вычисление можно назвать параллельным вычис-
лением по входу.
Заметим также, что эта идея параллельности вычислений не имеет ничего общего с
идеей, приводящей к построению параллельного сумматора, где решающим является
соображение, основанное на том факте, что в каждом разряде сигнал переноса может
быть получен раньше сигнала результата.
Здесь налицо перегрузка термина «параллельное вычисление», ибо он употребляется в
трёх различных смыслах.
Резюме:
1. От сумматора Z(4) х х2 | q , на вход которого в каждый тактовый момент времени
цифры складываемых чисел подаются поразрядно парами, всегда можно перейти к дру-
220
гому сумматору х1 х2 | q , на вход которого цифры складываемых чисел подаются
группами по т пар цифр.
2. В основе этого перехода лежит изменение входного алфавита сумматора Е(4) х1 х~ | q .
вследствие чего сумматор х1 х2 | q по отношению к сумматору Е(4) х1 х~ | q назы-
вается сумматором с декартовым алфавитом. Этот переход может быть стандартизирован
и символически представлен записью:
5 71 Alphabet -1 -2 । -
"(4) -% % | Q ' \4) % % I ’
где главная идея перехода (изменение алфавита) отмечена над стрелкой.
3. Множества состояний автоматов Е(4) х1 х2 | q и Ej™,’ х1 х2 | q совпадают: Q2 = Q2m>.
4. Сумматор Ej"^ х1 х2 | q вычисляет сумму двух чисел X1 и X2 в т раз быстрее, чем
сумматор Е(4) х1 х2 | q . Таким образом, переход к сумматору с изменённым алфавитом
является одним из способов ускорения вычислений.
5. Сумматор х1 х2 | q , будучи последовательным сумматором, в каждом такте ведёт
параллельное вычисление, как оно определено выше.
6. Описан алгоритм построения В-схем всех таких сумматоров.
7. Сумматор Xj4j х1 х2 | q демонстрирует пункты 1-6.
8. Изложенная здесь идея перехода к декартову алфавиту может быть применена к сумма-
тору Ej™^ х1 ...х" \ q , складывающему одновременно п чисел в произвольной кричной
системе счисления. Более того, эта идея применима к любому вычислительному устрой-
ству.
221
Глава 7
Последовательный синтез умножителей
§ 1. Умножитель и х qw на константу
Умножитель n-x\q(ki на константу (умножает число х на натуральную константу
п >1) может быть получен из сумматора £<*), осуществляющего одновременное сложе-
ние п чисел неограниченной разрядности, записанных в произвольной £-ричной системе
счисления (к > 2, натуральное). Сумматор £(*) задается соотношениями (иногда черту
над числами опускаем):
= ) X х' +^(,
Z-1
(7.1)
oq ... = ( L х' +q).
где q е Q„ - 1б,б1,...,б '/?] ={0,1,...,я -1} - множество состояний , 0 - функция пере-
ходов автомата , G - его функция выходов, Z(i, = {0, 1, ..., к- 1} - множество цифр
показательной Л-ричной системы счисления.
Складываемые числа х‘ изображаются в виде: х' = Ox,'....xjxJ, где верхние индексы i -
номера складываемых чисел (/ = 1,2,...,/? ), нижние - номера разрядов цифр складываемых
чисел, стрелка над 0 указывает направление роста разрядов в записи чисел, символ 0
изображает бесконечное число нулей: 0 = ...0...00.
Представление автомата в виде (7.1) встречалось ранее (см. (6.60)), где использовались
обозначения:
(а) = (Оаг...а|ао) = а0 и )а( = }Оаг...а|ао( = Оаг...сц .
Если по каждому входу-/, (/ = 1,2,...,/?) автомата Е/t) подать одно и то же число
х = х1 =... = х" = O.v-..Лв и поставить автомат Еда в начальное состояние q = 0, то авто-
мат Еда осуществит умножение числа х на число и , вычислит функцию f(x) = n х.
Автомат Еда , работающий в таком режиме, будем называть автоматом, умножающим на
число й , и обозначать й х qlk,.
Задача: найти минимальный автомат й х | q{k).
222
п
Работа автомата как автомата п х | показана на рисунке:
Рис, 7 1. Автомат как автомат п х | qfl:>
Замечание. На рисунке использованы упрощённые обозначения.
И
Такое преобразование автомата Е(*) в автомат п х | называется сверткой по вхо-
ду. Очевидно, что свертка по входу может применяться в других вариантах и к любому
многовходовому автомату, порождая новые автоматы.
п
Автомат nx\q^, получающийся из сверткой по входу, задается соотноше-
ниями:
&qx = ')x + ... + x + q{ = )x-n+q{,
_ _ _ (7.2)
oqx = (у + ... + у + ^) = (x n+q) ,
n раз
где Qu = {b,01,...,z7-lj,.v e = {0, 1,..., k- 1}, .v + ... + л = x n .
п раз
n
Свертка по входу минимального автомата a-> привела к автомату н х | q[k}. Заранее,
однако, не ясно, будет ли автомат п х | g(it) также минимальным Решим этот вопрос.
С этой целью выясним, существуют ли во множестве Q эквивалентные состояния.
Определение эквивалентности состояний и относящиеся к нему теоремы приведены в
главе 4, § 4.
Применим сформулированные там признаки эквивалентности состояний для автомата
IVl*)'
Предварительно выполним вспомогательное преобразование:
vqx = (у+ ,у + q) = (у+ ... + .у + х +,., + x+)q{-k + {q)) =
«раз )«(Араз О раз
= (y + ... + у + (<7)> = «я) -V + <<7»
(й) раз
Из (7.3) ясно, что (с учетом теоремы (Эо), гл. 4, § 4)
[г ~ гН [<?*>=<?2)]- (7-4)
Пусть ql -- q\...q\q^ и q2 = q2...q2ql . Тогда высказывание (7.4) означает, что
Г?1 =q\...q\q0&q2 = ql-..qlq0 ], т.е.
[?’ ~ i'2' -> Н = ?02 = ?о] (7.5)
Словами: если состояния эквивалентны, то у них цифры из разряда единиц совпадают.
223
Таким образом, множество состояний Q расслаивается по признаку последней цифры
номера состояния:
min{£-l,n}
£?= и &1п2„-=0. ао*ао, (7.6)
ао=О
т.е.
[<9> = а0], 0<а0 <тт{А--1,й}. (7.7)
Воспользуемся в теореме (Э |) (гл. 4, § 4) наличием кванторов общности и возьмем, в ча-
стности, х0 = .Vi = 0. Получим следствие:
[i/1-^2] —> о()<( 00 = аОг?200 <-> j а)</'(0 = <>)</-’О1 <->
«-» ^9,' ‘?l?i0 = a?2...9??l20j = «-» [9i'=9r],
т.е.
П?1-;?2] -> [?; =i\ =?i]- (7.8)
Выводы (7.5) и (7.8) можно соединить:
[9’~92] -♦ [?0 = Чо =9oj&[«7i1 = 9Г =91], (7.9)
что означает, что если состояния эквивалентны, то у них совпадают цифры как в разряде
единиц, так и в разряде десятков.
Аналогично получим следствие из теоремы (Э,). (гп. 4, § 4), положив х9 = г * х2 - 0:
[?’~92] “> = 9о =9о]&[?11 = 9f =9i]&[91 ~ql = 9’], (7.Ю)
что означает совпадение цифр в разряде единиц, совпадение цифр в разряде десятков и
совпадение цифр в разряде сотен у двух эквивалентных состояний.
Поступая таким образом далее, получим утверждение'.
в автомате п х фщ
[91 ~92] Vj[^=9,2]. (7.11)
Это означает, что в автомате п-х | Цц,} нет эквивалентных состояний.
Тем самым доказана теорема:
Автомат п х | ф:., является минимальным.
Формулы (7.2), задающие автомат п х | , с учётом преобразования (7.3) могут быть
переписаны:
^qx=}n(x+)q{+)^-x + {q){,
|ацх = {фп} х + (q}),
где хе Zt, = {0.1,...,А -1}, 7 е (0 - |о.....й- йе Л) - {1.2,...}.
Используем этот вариант задания умножителя для выписывания частных случаев в четве-
ричной системе счисления, А = 4.
Пример 1. Пусть п = 1. Тогда соотношения (7.12) переходят в следующие:
J dqx = 0,
(а^х = х, (7.13)
где хе Z(4) = {0,1,2,3}, q e Q = {б}, « = Ole Nt.
С их помощью задаётся таблица переходов-выходов автомата:
224
Таблица 7.1
Автомат 1 х | q
X я X 6
6 6,6
1 6,1
2 0,2
3 6,3
У этого автомата одно состояние, и он осуществляет тождественное отображение, т.е.
умножает на единицу. Убедимся в этом на конкретном примере. Пусть х = 032123 . Тогда
развёртка, отражающая соответствующее вычисление, имеет вид:
/>4 4 3 2 1 0 t
0 3 2 1 2 3 X
0 6 6 6 6 6 «7
6 3 2 1 2 3 У
Запишем результат: 1 032123 | 0 = 032123 Видно, что поданное на вход число не измени-
лось, автомат осуществил тождественное отображение, т.е. умножил на единицу.
Пример 2. Пусть /7 = 2. Тогда соотношения (7.12) переходят в следующие:
е^-)2х+о<, (714)
<3qx = (2-х + <?),
где хе Zl41 = {0,1,2,3}, q е Q2 = {6,61}, п = 2 = 02 е Лр
С их помощью задаётся таблица переходов-выходов автомата:
Таблица 7.2
х = 032123 . Тогда развёртка, отражающая соответствующее вычисление, имеет вид:
0 t>5 5 4 3 2 1 0 t
6 6 3 2 1 2 3 X
6 6 61 61 6 61 01 6 q
6 1 3 0 3 1 2 У
Пишем результат: 2 032123 | 0 = 0130312.
225
Правильность вычисления подтверждается «школьным» умножением:
О 0 3 2 1 2 3
X
_________________________________________________2_
б 1 3 0 3 1 2’
где маленькие единицы наверху - это единицы переноса.
Пример 3. Пусть п = 3 . Тогда соотношения (7.12) переходят в следующие:
Qqx =)3-x + q{,
aqx = (3 x + q),
где л е Z(4) = {0,1,2,3} q е Q\ = {б. 01,02}, п = 3 = 03 е N\.
С их помощью задаётся таблица переходов-выходов автомата:
Таблица 7.3
Автомат 3 х | q
\ я X б 51 02
б б, б 6,1 5,2
1 6,3 51,0 61,1
2 01,2 61,3 02,0
3 02,1 02,2 02,3
У этого автомата три состояния, и он умножает на три. Убедимся в этом на примере.
Пусть х = 032123. Тогда развертка, отражающая соответствующее вычисление, имеет
вид:
0 1>5 5 4 3 2 1 0 t
б 5 3 2 1 2 3 X
б б 02 51 61 02 02 6 q
б 2 2 3 1 0 1 У
Пишем результат: 3 032123 | 0 = 0223101.
Правильность выполненного вычисления подтверждается «школьным» умножением:
2 112 2
б 0 3 2 1 2 3
х
3
0 2 2 3 1 0 1 *
где маленькие цифры наверху - это цифры переноса.
Пример 4. Пусть г. = 10 . Тогда соотношения (7.12) переходят в следующие:
[ 0<7v = .г,
- _ (7.Т
I oi/.v = q,
гдехе Z(4) ={0.1,2,3}, g Qlo = {5,61,52,5з}, п =10 = б10е
226
С их помощью задаётся таблица переходов-выходов автомата:
Таблица 7.4
Автомат 10 х | q
\ я X х^ б 61 02 03
б 5,6 5,1 0,2 0,3
1 61,0 61,1 01,2 01,3
2 52,0 02,1 02,2 02,3
3 03,0 03,1 03,2 03,3
У этого автомата четыре состояния, и он умножает на десять (четверичное). Убедимся в
этом на конкретном примере. Пусть х - 032123 . Тогда развёртка, отражающая соответст-
вующее вычисление, имеет вид:
0 05 5 4 3 2 1 0 t
5 б 3 2 1 2 3 X
б б 03 02 61 02 03 б ч
б 3 2 1 2 3 0 У
Пишем результат: 10 032123 | 0 = 0321230.
Правильность выполненного вычисления очевидна.
Пример 5. Пусть п = 11. Тогда соотношения (7.12) переходят в следующие:
Qqx = x+)q{+)x + {q'){,
<здх = (х+ (<?»,
(7.17)
гдехе Z(4) ={0,1,2,3}, qe. Q, = {5,61,02,03,010}, n = 11 = 011 e A,.
С их помощью задаётся таблица переходов-выходов автомата:
Таблица 7.5
Автомат 11 х | q
\ я х х^ 5 51 02 03 510
б 6,5 5,1 0,2 6,3 51,0
1 51,1 51,2 61,3 52,0 02,1
2 02,2 02,3 03,0 03,1 03,2
3 03 3 610,0 510,1 510,2 510,3
У этого автомата пять состояний, и он умножает на одиннадцать (четверичное). Убедимся
в этом на примере. Пусть х= 032123. Тогда развёртка, отражающая соответствующее
вычисление, имеет вид:
0 t>6 б 5 4 3 2 1 0 I Г
б б 5 3 2 1 2 3 л'
б б 61 610 03 02 03 03 б Ч
б 1 0 2 0 0 1 3 У
227
Результат: 11 0321231 0 = 01020013 .
Правильность выполненного вычисления подтверждается «школьным» умножением:
б 0 3 2 1 2 3
X
____________________1 1
б 0 3 2 1 2 3
+ iiiii
б 0 3 2 12 3
б 10 2 0 0 13’
где маленькие цифры - это цифры переноса, возникающие при сложении промежуточных
сомножителей. Как видно, результаты совпадают.
Рассмотренные примеры дают нам достаточный материал, чтобы увидеть закономер-
ности, имеющие место в семействе умножителей. Доказательством справедливости этих
закономерностей являются формулы (7.12), но, глядя только на эти формулы, закономер-
ности увидеть затруднительно. Для их обнаружения необходимо накопить эксперимен-
тальный материал, т.е. выполнить вычисления, содержащиеся в рассмотренных примерах,
и сравнить полученные таблицы.
Все умножители выполняют «чистое» умножение при постановке их в начальное со-
стояние <7=0. При выборе других состояний в качестве начальных вычисляются другие
функции, а именно, умножения со сложением с величиной q : п x + q , причём, что су-
щественно, эти новые функции вычисляются устройством синтетически. Это означает,
что результат получается не в итоге первоначального умножения пх и последующего
сложения с величиной q , а сразу, так же, как и умножение п х , что видно из сравнения
развёрток, например, из примера 5 и следующей, в которой для определённости взято
4=03!
0 t > 6 6 5 4 3 2 1 0 t
б б б 3 2 1 2 3 X
б б 01 510 03 02 03 610 03 ч
б 1 0 2 0 0 2 2 У
Результат: 11 0321231 03 = 01020022 = 611 032123 + 03 .
Видно, что при вычислении функции п x + q устройство затрачивает ровно столь-
ко же времени, сколько оно затрачивает на вычисление функции п х . Не происходит
такой картины, когда вначале вычисляется умножение п х , а затем сложение с q . На
это вычисление было бы затрачено гораздо больше времени, и не одним, а двумя уст-
ройствами.
Теперь обратим внимание, что в списке умножителей, рассмотренных в примерах, нет
умножителя на такую важную константу, как 0. По формулам получение такого умножи-
теля не предусмотрено, т.к. в них предполагается, что п > 1. Это требование досталось
«по наследству» от сумматора, из которого свёрткой по входу получен умножитель. Но
полученные для умножителя формулы (7.2) и (7.12) продолжают работать, даже если
величине п придавать значения, находящиеся за пределами множества 7V,. Воспользуем-
228
ся этим и получим формульное задание умножителя на константу 0. Для этого положим
п — 0 = 0. Из (7.12) вытекает, что умножитель 0S | q имеет следующее задание:
0<?.г =}q{,
aqx = {q},
(7.18)
где хе Z(41 = {0,1,2,3}, q е Qo = p,oj, » = 0 = бе No
Как видим, умножитель на константу 0. 0 S | q . имеет два состояния: q = 0 и q = 3 .
Как и все ранее встретившиеся умножители, он вычисляет основную функцию умноже-
ние на 0 при постановке его в начальное состояние q = 0 , а при постановке его в состоя-
ние q = 3 он вычисляет дополнительную функцию 0 х + 3 = 3 . Табличное задание умно-
жителя таково.
Таблица 7.6
Автомат 0 х | q
\ я х 3 б
0 3,3 б,б
1 3,3 6,0
2 3,3 6,0
3 3,3 5,6
Наличие состояния q = 3 в этой таблице воспринимается как лишнее. Но с точки зре-
ния закономерностей, свойственных всему семейству умножителей, которые будут опи-
саны далее, включение состояния q = 3 в таблицу необходимо.
Можно привести В-схемы для этих умножителей. Поскольку для них имеет силу
принцип конструктивного подобия, то достаточно привести В-схему для одного из них,
скажем, для умножителя 3 х | q , что и сделано в следующем параграфе.
Умножители из набора {0 х | q, 1 х | q, 2-х \ q, 3 х | q} являются каноническими ум-
ножителями на цифру в четверичной системе счисления. Они позволяют умножить лю-
бое число на цифру из четверичной системы счисления. Вследствие этого фигуриру-
ющие в формулах (7 12) произведения х п , где х е Z^t = {0, 1, 2, 3} — цифра, вычисля-
ются с помощью автоматов этого базисного множества автоматов.
Аналогичная ситуация имеет место для произвольной Л-ричной системы счисления,
только для неё базисный набор будет состоять из к умножителей.
Резюме'.
1. Свёрткой ио входу сумматора SSj S2 ...S„ \q, (я >1), складывающего одновременно
п целых чисел неограниченной разрядности, получен умножитель п S | q , умножающий
любое целое число х на натуральную константу п > 1.
2. Приведено формульное задание умножителя п S | qtl:l .
3. Доказана минимальность умножителя
4. По формульному заданию умножителей вычислены табличные задания умножителей
для п = 1,2,3,10,11 .
5. Получена таблица маргинального умножителя 0 х | q .
229
§ 2. Умножитель на константу три
Чтобы разобраться в умножителях, рассмотрим один из них.
Пользуясь упомянутым ранее свойством экстравертности объектов, сделаем после это-
го некоторые обобщения. В качестве примера можно взять один из самых простых умно-
жителей, например, умножитель на три. Он не громоздок и позволяет сделать общие вы-
воды.
В приведённой далее В-схеме умножителя на три имеются: вход, по которому в каж-
дом такте подаётся цифра умножаемого числа; выход, по которому в каждом такте выда-
ётся цифра результата. По группе линий С передаются управляющие сигналы и, прежде
всего, пусковой сигнал, который поступает в начальный момент времени при t - 0 и кото-
рый определяет начальное состояние автомата. В последующие моменты времени форми-
рующиеся в этой группе линий сигналы управляют работой умножителя, включая в рабо-
ту то или иное состояние умножителя. Группа линий Н, как и группа линий С, частично
выполняет управляющие функции, но, кроме того, на выходе Н в каждый тактовый мо-
мент времени формируется сигнал, являющийся сигналом переноса в следующий разряд,
а в последний момент времени, когда вычисление завершается, - это цифра из старшего
разряда результата.
гход С
И ьыход
Рис. 7.2. Четверичный умножитель на три 3 х | ^(4)
В подписи к рисунку для умножителя использовано развернутое обозначение
3-х , в котором содержится основная вычисляемая функция (умножение на три, 3 );
состояние q , в которое ставится автомат в начальный момент времени; операнд
х = и указание на основание системы счисления, в которой ведёт вычисления
умножитель. Это обозначение мы будем использовать наряду с упрощённым, 3 ( ), где на
пустое место между скобками ставится операнд.
230
Рассмотрим несколько примеров на вычисление умножителем 3 • (). На этих примерах
мы изучим зависимость результата вычислений от параметра q и сделаем некоторые
обобщения.
Пример I. Пусть q = 0 , х = 012 . Найдём 3 012|0 Изобразим развёртку работы умно-
жителя:
0 г>3 2 1 0 t
б б 1 2 X
б б 61 61 6“ q
0 1 0 2 У
В строке у развёртки читаем результат: 3 б12|б = 03 012 = = 0102. Правильность результата
легко проверяется.
Вывод: при выборе q = 0 в качестве начального состояния устройство выполняет
«чистое» умножение па три: 3 012 = 0102.
Заметим, что столбец развёртки, отмеченный символом t> 3, означает, что во всех разря-
дах разрядной сетки Gr°, начиная с разряда / • 3, и во всех последующих, находится одна и та
же информация: столбец из трёх нулей, и, таким образом, вся разрядная сетка оказывается
заполненной, вследствие чего сигналу переноса 0 , стоящему за моментом времени t = нет
места на разрядной сетке Gr0, он оказывается за её пределами. Он не читается, поскольку мы
читаем только то, что находится на разрядной сетке Gr°. Вместе с тем нет оснований считать,
что он куда-то пропадает. Можно придерживаться другой точки зрения и считать, что по ана-
логии с обычными сигналами переноса, которые переходят в следующий старший разряд, он
переходит в другую, старшую разрядную сетку Gr, в разрядную сетку бесконечно больших
величин по сравнению с той разрядной сеткой, в которой записаны целые числа. На следую-
щей сетке Gr он оказывается в момент t = 0.
Пример 2. Пусть </=01, .г = 012. Найдём 3 • 012 | 01. Изобразим развёртку работы
умножителя: 0 t>3 2 1 0 t
6 5 1 2 X
б б 51 61 61
б 1 0 3 У
В строке у читаем результат: 3 012 | 01 = бюз.
Вывод: при выборе q =01 в качестве начального состояния устройство выполняет
умножение на три с прибавлением единицы:
3 012 | 01 = 3 012+1 = 0102+1 = 0103.
Пример 3. Пусть q = 02 , х = 012 Найдём 3 012 02 . Изобразим развёртку работы
умножителя: 0 t> 3 2 1 0 t
5 б 1 2 X
0 5 51 52 52
q
5 1 1 0 У
В строке у читаем результат: 3 012 | 02 = 0110 .
231
Вывод: при выборе q =02 в качестве начального состояния устройство выполняет
умножение на три с прибавлением двойки:
3 012 02 - 3 012+2 = 0102 + 2 = ОНО
На основе трёх выводов можно написать формулу, которую, разумеется, нетрудно
доказать: 3 012 | q = 3 012 | Q + q , которая обобщается на случай произвольного операнда
х : З х|7 = З х|0 + д,а также, понятно, на случай произвольного п и произвольной
системы счисления.
п х | q = п х | 0 + q, (7.19)
где.ге = {0,1,...,А--1}, q + Q„ = {0,...,й-1}, neNt = {01,02,...}, причём функция
n-x + q, как об этом было сказано в предыдущем параграфе, вычисляется не раздельно,
вначале умножение, а потом сложение, а синтетически.
Резюме:
Автомат умножитель на три, 3 х | q . в зависимости от выбора начального состояния
q Е Q = |Ь.01,02' вычисляет три различные функции, которые охватываются одной фор-
мулой (7.19). Обычное умножение на три происходит при выборе q = 0 .
§ 3. Экстравертность умножителя по параметру q
Экстравертность устройств, т.е. способность устройств выполнять действия, которые
не были первоначально предусмотрены при их проектировании, присуща многим объек-
там. В умножителе на три она проявилась в том, что он оказался способным выполнять не
только умножение на три, ради чего и проектировался, но также две другие операции.
При решении задачи о поиске умножителя на три эти две дополнительные операции со-
всем не имелись в виду. И тем не менее тот единственный процесс, в результате которого
появился минимальный умножитель на три, привёл к устройству, которое не только ум-
ножает на три, но и делает ещё кое-что дополнительно. Оказывается, однако, что дело
этим не ограничивается. Процесс развития с «затравочным» элементом в виде умножите-
ля на три продолжается далее и идёт до бесконечности. Это обнаруживается при обраще-
нии к формульному заданию умножителя на три, получающемуся как частный случай из
формул (7.12). Положим в них параметр п = 3 . Получим:
Qqx =)3-x + q(,
_ _ (7.20)
aqx = (3- x + q),
где ле Z(4) = {0,1,2,3}, q е Q3 = {б, 01,02j, п = 3 = 03 е Nt.
Эти формулы эквивалентны заданию умножителя Зг | q с помощью таблицы 7.3.
Выясняется, что формулы (7.20) имеют смысл и определяют соответствующие автома-
ты не только при указанных там значениях q , но и при любых натуральных q . Убе-
димся в этом на ряде примеров. Возьмём несколько значений q >2 и, используя фор-
мулы (7.20), построим таблицы автоматов 3 х | q для различных значений q .
232
Пример 1. Пусть </nlax = 3 = 03. Тогда Q = -j 0.01,02,03 .
Соответствующая таблица имеет вид:
Таблица 7.7
Автомат 3 х | q , q е Q
\ <1 X 6 51 02 5з
6 6,5 6,1 6,2 5,3
1 6,3 61,0 61,1 51,2
2 61,2 01,3 02,0 02,1
3 02.1 02,2 02,3 03,0
Пример 2. Пусть gmax = 10 = 010 . Q = |о 01,02,03,0101 . Соответствующая таблица
имеет вид:
Таблица 7.8
Автомат 3 х | q , q е Q
х\ 5 51
0 5,5 5,1
1 5,з 51,0
2 61,2 61,3
3 02,1 02,2
52 03 510
6,2 5,3 51,0
51,1 51,2 51,з
02,0 52,1 02,2
02,3 03,0 03,1
Пример 3, Пусть q,mx = 11 = 611. Q = {б,01,02,03.010.011 . Соответствующая таблица
имеет вид:
Таблица 7.9
Автомат 3 х | q . q e. Q
X \ 0 51 52 5з 510 011
5 5,6 5,1 5,2 б,з 51,0 51,1
1 5,з 51,о 01,1 51,2 51,з 52,0
2 01,2 51,з 52,0 52,1 52,2 02.3
3 02,1 02,2 02,3 03,5 03,1 5з,2
И т.д. Трудно не заметить закономерностей. Во-первых, каждая предыдущая таблица
содержится в последующей. Во-вторых, если убрать занятые, то в каждой строке внутри
таблицы стоят последовательности чисел, возрастающих на единицу. В-третьих, в каж-
дом столбце стоят последовательности чисел, возрастающих на три, другими словами,
каждая последующая строка получается из предыдущей сдвигом на три единицы
влево.
Проведённые наблюдения позволяют сделать вывод о существовании бесконечного
автомата Зх|</, q^Q„~- 1,61,02,03,610,611....J , задаваемого таблицей 7.10:
233
Таблица 7.10
Бесконечный автомат 3 х | q , о е
X \ 5 51 02 03 510 011 012 013
6 6,6 5,1 0,2 5,3 01,0 01,1 01,2 51,3
1 *5,3 51,о 51,1 51,2 01,3 02,0 52,1 02,2
2 61,2 61,3 02,0 02,1 02,2 02,3 5з,о 03,1
3 02,1 02,2 02,3 5з,5 5з,1 03,2 03,3 510,0
Из формул (7.20) легко догадаться, что о главной функции, выполняемой этим автоматом,
можно судить ио выделенной клетке, убрав в ней запятую. Выполнив это, делаем вывод:
перед нами умножитель с главной функцией умножения на константу три.
Проведём вычисление с помощью автомата, заданного в таблице 7.10.
Пример 4. Пусть начальное состояние <у = 021 , х = 012 . Найдём 3 х | q = 3-012 | 021.
Изображаем соответствующую развёртку.
0 t>3 2 1 0 t
5 б 1 2 X
б б 01 03 021 q
5 1 2 3 У
Результат: 3х | q = 3 012 | 021 = 0123 . Легко видеть, что формула (7.19) справедлива.
Действительно, поскольку 3 012 = 0102 (см. § 2, пример 1), то имеем:
3 0121^ = 3 0121 021 =6123 = 0102 + 021 =3 012 | 0 + 021 = 3 012 |б + у. т.е.
3 012 | q = 3 012 | 0 + q , при q = 021. Понятно, что таким же будет общий результат.
Вывод 1: бесконечный автомат 3 x\q , представленный таблицей 7.10, будучи по-
ставлен в состояние q с Q„; ={6,61,02,03,...} в качестве начального состояния, вычисля-
ет функцию З.г+ :/ Следовательно, умножение на три он выполняет при постановке
его в состояние q = 0 в качестве начального состояния-. 3 х | 0 = 3 х .
Таблицей 7.10 выражается экстравертность по состояниям умножителя 3-х |<?
q е Q... = ] 0.61,02,03,010,011,...} , в сторону положительных значений q . В сторону отри-
цательных значений q формулы (7.20), если использовать для обозначения отрицатель-
ных чисел q знак минус, не работают. Но они работают, если для отрицательных значе-
ний q использовать автоматные представления. Чтобы закономерности таблицы 7.10
сохранялись и для отрицательных значений q , записанных в автоматном представлении,
мы заранее записали таблицу 7.10 с использованием автоматного представления как для
состояний, так и для всех фигурирующих в ней чисел. Это позволяет нам сформулировать
закономерности, имеющиеся в таблице, и, используя их, расширить её для состояний,
заданных отрицательными числами, представленными в автоматном коде. Мы убедимся,
что такое расширение происходит достаточно легко. Кроме того, удостоверимся, что
формулы (7.20), определяющие умножитель, работают на расширенной таблице без ка-
234
ких-либо ограничений. Этот факт является дополнительным аргументом в пользу авто-
матного представления чисел: оно, будучи для нас несколько необычным, порождается
самими вычислительными устройствами. Следовательно, оно не только возможно, но и
полезно, т.к. использование автоматного представления для чисел расширяет вычисли-
тельные возможности устройств.
Сформулируем закономерности, обнаруживаемые в этой таблице.
Rgl. Если убрать запятые в таблице 7.10, то первая строка внутри таблицы, соответст-
вующая х = 0, совпадает со строкой состояний.
Rg2. Каждая последующая строка получается из предыдущей сдвигом на три клетки
влево.
Сейчас мы их используем.
Дополним таблицу 7.10 отрицательными значениями q , записав их в автоматном ко-
де, и заполним следующую таблицу с учётом закономерностей Rgl и Rg2. Получим:
Таблица 7.11
Бесконечный автомат 3 х | <7(4), Z = {. ..32,3,5,51,02
Я X 31 32 3 5 01 02 5з
б 3,1 3,2 *3,3 *6,5 6,1 5,2 б,з
т 0,0 6,1 5,2 *5,з *51,6 51,1 51,2
2 5,3 01,0 01,1 01,2 *51,з *52,0 52,1
3 01,2 51,3 52,0 02,1 02,2 *02,3 *бз,б
В этой таблице предусмотрена возможность идти в бесконечность по разрядной сетке
не только нулю (0 ) и тройке (3 ), но также единице (1 ) и двойке ( 2 ). Они стоят в столб-
це «х». Таким образом, мы не исключаем возможность для 1 и 2 выступать в роли фи-
нальных входных сигналов, т.е. теперь все буквы входного алфавита могут быть финаль-
ными. У каждого из таких финальных сигналов есть своё множество финальных состоя-
ний. Так, автомат, попав в состояние q = 3 и воспринимая на входе сигнал х = 0 , будет
постоянно находиться в состоянии <7=3 и вырабатывать на выходе сигнал у = 3 (см.
табл. 7.11).
Введём обозначение Qp„(x) для множества финальных состояний, соответствующих
входному финальному сигналу х. Тогда, обращаясь к выделенным клеткам таблицы,
можно найти: gA„(6) = {З.б}, g>(l) = {5,51} , g/;„(2) = {51,52} , g/™(3) = {02,бз} .
Основное свойство финальных состояний состоит в том, что автомат, попав в финаль-
ное состояние под действием соответствующего ему сигнала со стрелкой, выйти из него
уже никогда не сможет.
Мы построили таблицу 7.11, используя закономерности Rgl и Rg2. Но можно было бы
поступить иначе: можно было бы формулы (7.12). ранее справедливые только для нату-
ральных чисел qeNa = |0,01.02,03,010,511,...}, использовать при всех целых числах
де Z = {...,31,32,3,5,51,02,53,...} и последовательно для каждого такого д построить
столбец таблицы. В итоге мы получили бы таблицу 7.11, что и было бы доказательством
её правильности.
235
Проведём вычисление с помощью автомата, заданного таблицей 7.11.
Пример 5. Пусть начальное состояние q = 31, л = 012 . Найдём 3 л: | ^ = 3 012 | 31.
Изображаем соответствующую развёртку.
0 t>2 1 0 t
б 1 2 X
0 б 5 031 <1
б 3 3 У
Результат: Зд | q = 3 012 | 31 = 033 . Легко видеть, что формула Зл | q = 3г | О + q спра-
ведлива. Действительно, поскольку 3 012 = 0102 (см. § 2, пример 1), то:
3 012 |^ = 3 012 | 31 = 033 = 6102 + 31 = 3 012 | 6 + 31 =
= 3 512 | 0 + q, т.е. 3б12|^ = 3б12|б + ^ при q = 31.
Это подтверждает справедливость приведённой выше формулы.
Вывод 2: бесконечный автомат Зх \q, заданный таблицей 7.11, будучи поставлен
в состояние qe Z = {...,32,3,5,51,02, ..} в качестве начального состояния, при любом
х е Z = {...,3,5.51... | вычисляет функцию 3-x + q.
Сказанное допускает обобщение. Действительно, мы рассмотрели один из автоматов
бесконечного семейства автоматов, выполняющих умножение, автомат 3 х | q , умно-
жающий на три. Пользуясь его атрибутом - свойством экстравертности, мы перешли к
бесконечному автомату 3 т | q , в котором параметры q, х е Z =
= {...,31,32,3,0,61,02,03,...}, т.е. параметры q, х являются произвольными целыми чис-
лами. Обобщение состоит в том, что мы от автомата 3 х | q переходим к автомату
п х | q , в котором п также произвольное целое число: п е Z = {...,32,3,5,01.52, ..} .
Таблица автомата п-х | q . как и таблица автомата 3-х | q , обладает свойствами Rgl
и Rg2 (в формулировке закономерности Rg2 следует заменить часть фразы «сдвигом на
три клетки влева» на «сдвигом на п клеток влево, если п положительно, и сдвигом на
(-и) клеток вправо, если п отрицательно»), и потому построение её теоретически воз-
можно.
Замечание. Если п отрицательно, то (-«) - противоположное ему число -
положительно, и потому сдвиг на (-«) клеток вправо имеет смысл. Сдвиг на отрицатель-
ное число невозможен, т.к. отрицательное число не имеет количественного смысла (см.
парадокс Валлиса).
Это обобщение мы используем при дальнейших рассмотрениях.
Набор закономерностей Rgl и Rg2, достаточный для построения таблицы бесконечно-
го автомата п х | q , может быть заменён на другой набор, в иных случаях, возможно,
более предпочтительный. Для более полного владения ситуацией желательно иметь оба
варианта закономерностей. Второй вариант состоит в следующем. Обратимся к табли-
це 7 11 и рассмотрим столбец, соответствующий состоянию q = 0 (нулевой столбец). Он
имеет вид:
236
Таблица 7.12
X \ 0
0 0,0
1 6,3
2 61,2
3 02,1
Если убрать запятые, то таблица 7.12 перейдёт в следующую:
Таблица 7.13
х \ 0
0 0
1 03
2 612
3 021
Нетрудно попять, что в 0-м столбце стоят произведения х 03 , которые вычисляются
канонизированными умножителями на цифру. Все столбцы справа в таблице 7.11, если
убрать запятые, получаются из построенного столбца последовательным сложением с
единицей, 01, а все столбцы слева — последовательным сложением с минус единицей, т.е.
с 3 . После этого в построенной таблице нужно в каждой её клетке отделить запятой циф-
ру из разряда единиц. Наконец, выделить финальные состояния, поставив в нужных мес-
тах над цифрами стрелки. Мы снова придём к таблице 7.11.
Этот алгоритм обобщается для построения бесконечных таблиц умножителей п х | q
на произвольную целую константу п , представленную в автоматном коде, и оформляется
в виде правил построения Gzl-Gz6.
Gzl Строка состояний заполняется (с сохранением их порядка) целыми числами,
представленными в автоматном коде.
Gz2. Столбец цифр заполняется цифрами системы счисления сверху вниз с сохранени-
ем их порядка.
Gz3. Нулевой столбец, т.е. столбец, соответствующий состоянию q = 0, заполняется
произведениями х и , вычисляемыми с помощью канонизированных умножителей на
цифру.
Gz4. Все остальные столбцы таблицы, находящиеся справа от нулевого столбца, последо-
вательно получаются из нулевого столбца путём сложения с единицей, 01, а столбцы табли-
цы, находящиеся слева от нулевого столбца, путём сложения с минус единицей, 3 .
Gz5. Во всех внутренних клетках построенной таблицы с помощью запятой происхо-
дит отделение цифры из разряда единиц.
Gz6. Простановкой стрелок над цифрами как в столбце цифр, так и в нужных местах
таблицы происходит выделение финальных состояний
Замечание. Правило Gz6 выполняется в случае, когда важна информация о финальных
состояниях.
237
Как видим, набор правил Gz количественно больше набора правил Rg, но он состоит
из простых и легко выполняемых правил. Для сравнения, правило Rg2 требует сдвига
строки состояний на величину п . Если п мало (как в нашем случае, п = 3 ), то этот сдвиг
легко выполним. Но если п велико, то этот сдвиг реально может быть и не выполним.
Сформулированные закономерности будем использовать при построении таблиц других
умножителей. Метод построения таблиц на основе закономерностей носит внешний харак-
тер, т.е. используются наглядно воспринимаемые признаки. Но понятно, что он имеет стро-
гое обоснование, получаемое из формул, задающих умножители.
Резюме:
1. Благодаря свойству экстравертности, присущему автомату Зх|</, Vе Q) ={0,01,02},
от него можно перейти к бесконечному автомату 3 х | q , в котором параметры q , х
являются произвольными целыми числами, q,x е Z = {...,32,3,0,01,02,...} .
2. Автомат 3-х|ё/, q,xe Z - {...,32,3,0,01.02,...}, будучи поставлен в состояние q в ка-
честве начального состояния, вычисляет функцию двух переменных f(x.q) = 3 х+q .
Вычисляет её не последовательно: вначале умножение, а потом сложение, а синтетически,
реализуя свой собственный алгоритм вычисления функции , «ничего не знающей»
о своих связях с умножением и сложением. Алгоритм, реализуемый автоматом 3 х | q , -
оптимальный по временным затратам.
3. В бесконечной таблице, задающей автомат 31 \q, имеются чётко выраженные зако-
номерности, которые формулируются в виде правил Rgl и Rg2, а также в виде правил
Gzl-Gz6. Эти правила используются при нахождении умножителей для
произвольных целых n,x,q е Z = {...32,3,0,01,02,...} и любых натуральных к > 2.
§ 4. Применение правил построения умножителей
В этом параграфе при построении умножителей будем использовать набор правил
Gzl— Gz6. Поскольку правила просты, но количество их велико, мы будем некоторые на-
боры правил выполнять совместно скажем, при построении нулевых столбцов таблиц
умножителей легко выполним набор правил Gzl-Gz3, Gz5.
Пример 1. Пусть п = 013 . Надо построить бесконечную таблицу умножителя
013 х ( q .
Начинаем с нулевого столбца.
Таблица 7.14
х\ 0
0 0,0
1 61,3
2 03,2
3 611,1
(Правила Gzl-Gz3, Gz5 применялись совместно.)
Применяя совместно правила Gz, находим нужную таблицу.
238
Таблица 7.15
Бесконечный автомат 013- х ) q , q,xe Z - {...,32,3,0,01,02,...}
X \ 31 32 3 б 01 02 03
б 3,1 3,2 *3,3 *5,0 6,1 0,2 б.з
т 61,0 61,1 61,2 61,3 02,0 *02,1 02,2
2 02,3 03,0 03,1 03,2 03,3 610,0 510,1
3 010,2 010,3 011,0 011,1 511,2 011,3 012,0
Нам желательно иметь продолжение таблицы по меньшей мере до состояния q = 013 .
Продолжение таблицы, захватывающее часть правой половины изображённой таблицы,
показано далее.
Таблица 7.15
Продолжение
Бесконечный автомат013- х \q , q,x е Z = {...,32,3,0,01,02,...}
\<7 х\ 5з 510 511 012 513 020
0 б,з 61,0 51,1 51,2 51,3 52,0
1 02,2 52,3 03,0 5з,1 03,2 03,3
2 510,1 *510,2 610,3 511,0 511,1 511,2
3 512,0 512,1 512,2 *512,3 513,о 513,1
В таблице выделены клетки, соответствующие финальным состояниям.
Проведём вычисления с помощью этого умножителя.
Пример 2. Пусть начальное состояние q = 0, х = 012 . Найдём 013 = 013 - 012 | 0
Изображаем соответствующую развёртку.
0 t>2 2 1 0 t
б б 1 2 X
б б 02 5з б я
б 2 2 2 У
Результат: 013 х q = 013 012|б = 0222 .
Школьная проверка подтверждает правильность работы умножителя:
... 0 0 1 2
...0013
...0102
+
... 0 1 2
...0 2 2 2
Итак, если умножитель 013 х | q поставить в начальное состояние q = 0 . то умножитель
выполняет «чистое» умножение на 013, без каких-либо добавок.
Изменим начальное состояние.
239
Пример 3. Пусть состояние q - 020 , х =012. Найдём 013 х | q = 613- 012 | 020 . Изо-
бражаем соответствующую развёртку.
0 t>2 2 1 0 t
б б 1 2 X
б б 03 611 020 ч
б 3 0 2 У
Результат: 013 х q = 013 012 | 020 = 0302 .
Поскольку 0302 = 0222 + 020, то справедливо равенство; 013 0121020 =
= 013 012 | 0 + 020 , являющееся частным случаем более общего равенства; 013 -x\q =
= 013 х | 0 + q , вполне характеризующего работу умножителя, задаваемого бесконечной
таблицей 7.15. Впрочем, ввиду наличия последнего равенства, автомат, задаваемый таблицей
7.15, лишь в силу его происхождения от умножителя на 013 можно по-прежнему называть
умножителем; в действительности им реализуется более сложная функция двух переменных
013 х + q . где q.x е Z = {...,32,3,0,01,02,...}, т.е. q , х - произвольные целые числа. Этим
автоматом вычисляется функция, являющаяся симбиозом двух операций - умножения и сло-
жения. Причём вычисляется не как последовательность двух действий - вначале умножения, а
потом сложения. Эта функция вычисляется синтетически, т.е. при поступлении на вход циф-
ры операнда тут же выдаётся цифра результата. Благодаря автомату 013-x\q заданному
бесконечной таблицей 7.15, функция 013 х + q выступает как самостоятельная операция.
В-схема этого автомата подобна В-схеме, приведённой на рисунке 7.2, только представ-
ляет собой бесконечную ленту, идущую вверх и вниз. Аналогично для автомата п х | q .
Рассмотрим пример вычисления с отрицательным операндом.
Пример 4. Пусть начальное состояние j = 0, х = 312, х - отрицательное число, за-
данное в автоматном представлении. Найдём 013х|7 = 013-312|0.
Изображаем соответствующую развёртку.
0 t>2 3 2 1 0 t
3 3 3 1 2 X
012 012 Oil 02 03 б ч
3 2 3 2 2 У
Результат: 613Т|?=613-312|5 = 32322 .
Проверим результат. Для этого найдём число, противоположное X , используя автомат.
Таблица 7.16
Автомат (А <-> (7)2
X \ 0 1
б 0,3 1,0
1 0,2 0,3
2 0,1 0,2
3 0.0 0,1
240
Получаем: -х = 022 . Пропустим его через умножитель 013 х|0. Должно получиться
число, противоположное числу 32322 .
Пропускаем через умножитель:
0 t>2 3 2 1 0 t
0 6 б 2 2 X
5 б 61 610 5з 5 <7
0 1 0 1 2 У
Результат: 013 022|0 = 01012 , Получившееся число действительно противоположно чис-
лу 32322 , в чём убеждаемся, складывая их столбиком,
3 2 3 2 2
+
0 10 12
б 0 0 0 0
(Единицы переноса как обычно стоят сверху над тонкой чертой.)
Поэтому результат, полученный умножителем, можно записать также в привычных
обозначениях:
613-х |^ = 613 312 |6 = 613 (-022)| б = -01012.
Легко проверить, что Rgl и Rg2 для таблицы 7.15 выполняются.
Рассмотрим далее построение умножителя для отрицательного п и, прежде всего,
случай п = 3 = -61.
Пример 5. Пусть п = 3 . Необходимо построить автомат, умножающий на минус еди-
ницу: 3 = (-51).
Таблицу этого автомата удобнее строить, используя свойства Rgl и Rg2. Действитель-
но, нужно изобразить только первую строку таблицы, которая устроена просто и является
общей для всех автоматов семейства
{п x\q},n,q,x е Z = {...,31,32,3,6,61,02,...} .
Последующие строки таблицы получаются сдвигом на одну клетку вправо каждой пре-
дыдущей строки, начиная с первой. В итоге получается следующая таблица.
Таблица 7.17
Бесконечный автомат
(-1) х | q = 3 х | q , ( q,x е Z = {...,32,3,0,01.02,...})
х\ 30 31 32 3 6 51 52 5з 610
6 3,0 3,1 3,2 *3,3 *5,5 5,1 5,2 5,з 51,о
1 32,3 3,0 3,1 *3,2 3,3 5,о 5,1 5,2 6,3
2 32,2 32,3 3,0 *3,1 3,2 3,3 6,0 5,1 0,2
3 32,1 32,2 *32,3 *3,0 3,1 3,2 3,3 5,о 5,1
В таблице выделена структура из клеток с финальными состояниями.
Минимальный автомат, т.е. автомат с минимальным количеством состояний, умно-
жающий на 3 = (-01), имеет вид (см. табл. 7.18).
241
Этот автомат вычисляет функцию 3 х = (— 1) х при постановке его в состояние q = О
в качестве начального («чистое» умножение на (-1)); он вычисляет функцию
(-1)х + 3 = 3х + 3 при постановке его в состояние q = 3 в качестве начального (умно-
жение на (-1) со сдвигом на 3 ).
Таблица 7.18
Минимальный автомат (-1) х q = 3 х | <7 , q е <Э । = {3,0}
X \ 3 б
5 3,3 б,б
Т 3,2 3,3
2 з,т 3,2
3 3,0 3,1
Бесконечный автомат, заданный таблицей 7 17, при постановке его в состояние q в каче-
стве начального вычисляет функцию (-1) -х + q = 3 -х + q , другими словами, он вычитает
из числа q число х , т е. он работает как вычитатель.
Рассмотрим примеры вычислений этими автоматами.
Пример 6. Пусть начальное состояние q = 0, х = 012 . Найдём 3 х | q = 3 012 | 0 .
Изображаем соответствующую развёртку:
0 t>2 1 0 t
3 б 1 2 X
3 3 б ч
3 2 2 У
Результат: 3 х | q = 3 012 | 0 = 322 , который легко проверяется. Действительно, получив-
шийся объект представляет число, противоположное числу 012 , и потому должен обла-
дать всеми свойствами противоположного числа, в частности, их сумма должна быть
равна нулю. Это так и есть:
1 1
3 2 2
+
0 1 2
0 0 0
Пример 7. Пусть начальное состояние q = 0 . х = 312, т.е. представляет отрицательное
число. Найдём 3 х \q = 3 312 | 0 .
Изображаем соответствующую развёртку:
0 1>2 1 0 IТ
3 1 2 х
3 3 3 б <7
б 2 2 У
242
Результат, который нам уже встречался в примере 3, где мы с помощью автомата
(А <-> (7)2 нашли, что число 022 противоположно 312 . На этот раз мы получили его с
помощью умножителя на 3 = (-01) = (-1).
Резюме'.
1. Закономерности Rgl и Rg2 или эквивалентные им закономерности Gzl-Gz6 выступают
в качестве эффективных правил построения таблиц, задающих бесконечные автоматы
семейства {и-х|<?}, п, q, xeZ = {... ,31,J2,3,0,01,02,...}, что достаточно подробно
показано выше.
2. В семействе умножителей содержится вычитатель.
§ 5. Двумерная вычислительная структура для вычисления
ФУНКЦИИ Х( х2 + х3
Вновь обратимся к полученному семейству вычислительных устройств
{п х 4(4;}, n,q,x <='/,= {...,32,3,6,01,02,...}
и рассмотрим его теперь как единое целое. Для каждого автомата этого семейства имеется
бесконечная таблица типа 7.16, его представляющая. Эти таблицы можно расположить
последовательно одну за другой по мере роста параметра п . Приведём далее несколько
таких таблиц для короткой последовательности значений параметра п : 3, 0, 01, 02, 03.
Каждая из приведённых таблиц продлевается влево и вправо до бесконечности, а по-
строение таких таблиц возможно вверх до бесконечности для растущих значений п и
вниз до минус бесконечности для убывающих отрицательных значений п . В итоге мы
получаем двумерную структуру, позволяющую вычислять функцию
nx+q, где ri,q,xe. Z = {...,32,3,0,01,02,...},
записанную в привычных обозначениях. Чтобы подчеркнуть «равноправие» переменных
как операндов, целесообразно ввести обозначения: п = л), х = х2, q =х}. Тогда функция
запишется в виде:
xj-xj+xj, где Xi,x2,x3 е Z = {.,.,32,3,0,01.02,...}.
Таким образом, изображённая двумерная структура позволяет, в частности, вычислять произ-
ведение любых двух целых чисел (при х3 = 0 ), одно из которых (Х2) не имеет ограничений
на разрядность, а другое (X)), будучи потенциально неограниченным, ограничено размерами
реальной двумерной структуры, которая, понятно, не может быть бесконечной. Структура
может рассматриваться как потенциально бесконечная, т.е. вводится идеализация, согласно
которой любая уже существующая часть структуры может быть пополнена по меньшей мере
на один шаг. Кроме того, мысленно она может рассматриваться как актуально бесконечная.
Учтём , при этом, что иногда возможна конечная актуализация бесконечности.
В таблицах выделены клетки, определяющие целевые автоматы, т.е. автоматы, вычис-
ляющие ту основную функцию, ради которой они создавались, - умножение на констан-
ту. Этой константой помечена соответствующая таблица. Все целевые автоматы вычис-
ляют основную функцию при постановке их в начальное состояние q = 0. Каждый из
целевых автоматов является ядром той бесконечной таблицы, которой он принадлежит.
Бесконечная таблица однозначно строится по ядру.
243
й - 03 Таблица 7.19
х\ 30 31 32 3 5 61 02 03 610
б 3,0 3,1 3,2 3,3 *6,0 *0,1 *0,2 0,3 61,0
т 3,3 б,б 6,1 6,2 *5,3 *01,6 *61,1 51,2 61,3
2 0,2 5,3 61.0 61,1 *01,2 *61,3 *02,5 02,1 02,2
3 01,1 61,2 61,3 02,0 *02,1 *02,2 *02,3 03,0 03,1
я =02 Таблица 7 20
X \ 30 31 32 3 6 61 02 63 610
5 3,0 3,1 3,2 *6,6 *5,1 5,2 5,3 61,0
1 3,2 3,3 6,0 6,1 *6,2 *б,з 61,0 61,1 61,2
2 6,0 6,1 6,2 6,3 *61,0 *61,1 61,2 61,3 02,0
3 6,2 6,3 61,0 61,1 *61,2 *01,3 02,5 02,1 02,2
я =61 Таблица 7.21
х \ 30 31 32 3 6 01 02 03 610
0 3,0 3,1 3,2 3,3 *66 6,1 6,2 6,3 61,0
Т 3,1 3,2 3,3 6,0 *6,1 6,2 6,3 61,0 61,1
2 3,2 3,3 0,0 5,1 *6,2 5,3 61,0 61,1 61,2
3 3,3 6,0 6,1 5,2 *6,3 61,0 61,1 61,2 61,3
я =6 Таблица 7.22
\\ х\ 30 31 32 3 6 61 02 63 610
6 3,0 3,1 3,2 3,3 *0.6 5,1 6,2 5,3 61,0
т 3,0 3,1 3,2 3,3 *6,6 5,1 6,2 5,3 61,0
2 3,0 3,1 3,2 3,3 *6,6 5,1 6,2 б,з 61,0
3 3,0 3,1 3,2 3,3 *6,0 5,1 6,2 5,3 61,0
я = -1 = 3 Таблица 7.23
х\ 30 31 32 3 6 61 02 03 610
6 3,0 3,1 3,2 *3,3 *6.6 5,1 6,2 6,3 61,0
1 32,3 3,0 3,1 *3,2 *3,3 6,0 6,1 5,2 5,3
2 32,2 32,3 3,0 *3,1 *3,2 3,3 6.0 6,1 6,2
3 32,1 32,2 32,3 *3,5 *3,1 3,2 3,3 00 5,1
Если в клетке таблицы выходной сигнал отмечен стрелкой, то соответствующее со-
стояние является финальным. Финальные состояния образуют структуру с явными законо-
мерностями.
244
Заметим, что построенная бесконечная вычислительная структура может быть записана
для любой системы счисления.
§ 6. Истолкование числоидов 1 и 2
В таблице 7.11 мы впервые ввели объекты 1 и 2 . Как и ранее введённые объекты 0 и
3 , они первоначально вводятся как сокращения для бесконечного количества единиц и
двоек, идущих по разрядной сетке в сторону роста номеров разрядов: 1 =...1111,
2 = ...2222 . Но объекты 0 и 3 , введённые первоначально с той же целью, как позже вы-
яснилось, несут дополнительную смысловую нагрузку, а именно объект 0 представляет
число 0, объект 3 представляет число (-1), и мы пишем: 0 = 0, 3 = -1. Существенно при
этом, что рассматриваемые АВУ воспринимают именно эти объекты в качестве представ-
ляемых ими чисел и никак не воспринимают представления чисел со знаком минус. Ми-
нус — чужеродный для них объект, для изображения отрицательных чисел в нём (с «точки
зрения» автоматов) нет необходимости.
Напомним, что объекты типа 0 , 3 мы называем числоидами. Так же будем называть
и объекты 1,2.
Возникает вопрос: может, и числоиды 1 и 2 являются представителями чисел? Если
да, то каких?
Подадим эти объекты на входы умножителей, приведённых в таблицах 7.17-7.22.
Пример 1. Пусть п =02 , q = 0, х = 1 (табл. 7.20).
Тем самым мы выбрали умножитель на два и ставим его в начальное состояние, рав-
ное нулю. Изображаем развёртку, позволяющую выяснить, каков результат умножения
числоида 1 на два.
0 t>0
т
о о
2
Результат: 02 1 | 0 = 2 или, в обычной записи,
t
х
я
у
2 1=2,
т.е. получается второй из двух вновь введённых числоидов.
Пример 2. Пусть й = 03 , q = 0, х = 1 (табл. 7.19).
(7.21)
Тем самым мы выбрали умножитель на три и ставим его в начальное состояние, равное
нулю. Другими словами, мы хотим найти результат умножения испытуемого числоида 1
на три. Изображаем развёртку:
0 t> 0 1
1 х
б б 7
э у
Результат: 03 1 | 0 = 3 или. в обычной записи,
31 =-1
(7.22)
245
Из (7.22) ясно, что 1 истолковывается как (-1/3): 1 = -1/3 . Учитывая далее, что 2=1 + 1,
легко понять, что 2 = -2 / 3 . Это же можно получить и непосредственным вычислением с
помощью умножителя на три, как показано в следующем примере.
Пример 3. Пусть п =03 , q -0 . х = 2 (табл. 7.18).
Тем самым мы выбираем умножитель на три и ставим его в начальное состояние, рав-
ное нулю. Изображаем развёртку.
0 t> 1 0 t
2 2 X
61 61 6 ч
3 2 У
Результат: 03-2 | 0 = 32 или, учитывая, что числоид 32 является автоматным пред-
ставлением числа (-2): 32 = -2 , в обычной записи имеем:
3-2 = -2 . (7.23)
Мы приходим к тому же истолкованию числоида 2 , которое дано выше.
Подставив вместо 2 в уравнение (7.21) значение (-2/3), получим то же истолкование
для 1 , которое было получено, исходя из (7.22). Итак, мы имеем набор истолкований для
первых числоидов:
б = 0, Т =-1/3,2 =-2/3,3 = —1
Не будем забывать, что эти представления имеют место для четверичной показатель-
ной системы счисления с множеством цифр Zw = {0. 1. 2, 3}. Для других систем счисле-
ния аналогичные числоиды могут иметь другое истолкование.
Пропуская числоиды 1 и 2 через остальные вычислительные устройства, представ-
ленные таблицами 7.19-7.23, мы можем получить дополнительные результаты с заслужи-
вающими интереса толкованиями.
Резюме'.
Числоиды 0, 1,2,3 истолковываются так, как показано в равенствах выше. В них
справа относительно стоят представляемые числоидами числа. Эти истолкования подска-
зываются нам в результате изучения вычислительной работы умножителей из семейства
{п-х | 5(4)} , n.q,x е Z = {...,32,3,0,01,02,...} .
§ 7. Конечная актуализация бесконечности
Под конечной актуализацией бесконечности будем понимать конечный автомат, час-
тично эквивалентный бесконечному автомату. Этим же термином будем называть фор-
мулировку задачи поиска конечного автомата, эквивалентного бесконечному, а также
решение этой задачи и процедуру поиска конечного автомата, с помощью которой дости-
гается решение.
Что значит «конечный автомат частично эквивалентный бесконечному»? Дело в том,
что под эквивалентными устройствами мы понимаем такие, которые, говоря по-простому,
делают одно и то же, т.е. всякая функция, которую может вычислить одно устройство,
может быть вычислена и другим устройством. После же реализации конечной актуализа-
ции бесконечности мы получаем конечный автомат, который, будучи поставлен лишь в
одно из своих состояний как начальное, вычисляет всё то, что может вычислить беско-
нечный автомат, его породивший. Ничего другого из этого начального состояния он не
246
вычисляет. Таким образом, порождённый конечный автомат оказывается функционально
эквивалентным бесконечному автомату лишь по одному из своих состояний. Но у него
есть и другие состояния, по которым он вычисляет другие функции, не входящие во мно-
жество функций, вычисляемых бесконечным автоматом. По этим состояниям он не экви-
валентен исходному бесконечному автомату. Именно по этой причине конечный автомат,
порождённый по бесконечному, характеризуется как частично эквивалентный. Вычисли-
тельные возможности конечного автомата оказываются гораздо больше вычислительных
возможностей бесконечного автомата. Фраза звучит парадоксально, но это факт. Можно
также сказать, что конечный автомат, порождённый по бесконечному, попадает в новое
пространство функциональных возможностей по сравнению с пространством функцио-
нальных возможностей исходного бесконечного автомата. Происходит не что иное, как
матасистемный переход. В новом пространстве функциональных возможностей конечный
автомат может заменить собою бесконечный автомат из предшествующего пространства
функциональных возможностей. С практической точки зрения это, безусловно, важно,
поскольку бесконечный автомат из предшествующего пространства функциональных
возможностей нам реально не доступен именно из-за своей бесконечности, в то время как
конечный автомат в новом пространстве функциональных возможностей нам реально
доступен, т.е. то, что мы не могли вычислить с помощью бесконечного автомата, можем
вычислить теперь с помощью конечного.
С задачей конечной актуализации бесконечности и её решением мы уже встречались
при рассмотрении сборки автоматов сдвига. Напомним, что, получив сборку автоматов
сдвига, мы её трактовали двояко' и 1) как бесконечный автомат, универсальным образом
решающий задачу сдвига (при постановке его в состояние q как в начальное, он реализо-
вывал функцию сдвига в ряду целых чисел на величину q ), и 2) как бесконечный авто-
мат, вычисляющий новую функцию х + q (где х и q - любые целые числа). Вторая
трактовка позволила по-новому подойти к пониманию работы этого бесконечного авто-
мата и привела к появлению новой операции, которую можно выполнять над автомата-
ми. Эта операция получила название свёртки, поскольку она позволила свернуть беско-
нечный автомат в конечный автомат.
Обратим внимание, что бесконечный автомат сдвига S«, х | q , являющийся бесконеч-
ной сборкой конечных автоматов сдвига и представленный таблицей 5.27, в точности
совпадает с умножителем 01х|</, представленным таблицей 7.19. Происходит своеоб-
разное зацепление последовательности одноместных функций первого ранга, представ-
ленных автоматами сдвига, с семейством одноместных функций второго ранга, представ-
ленных умножителями на константу. Получается, что «последняя» функция S_ х | q в
ряду функций первого ранга является «первой» функцией в ряду функций второго ранга.
Рассмотрим пример на применение операции свёртки.
Возьмём умножитель на тринадцать 013 х | qw, работающий в четверичной системе
счисления. В обозначении умножителя q — это начальное состояние, в которое ставится
автомат в начальный момент времени, ах- это операнд, число, поразрядно подаваемое
на вход умножителя. Черта, стоящая над ними, показывает, что перед нами числа, под-
робная запись которых такова: <7 = т,<7,....д|<7о , х = TjXj—XjXe, т = 0 v 3, v - дизъюнкция.
Тот факт, что т = 0 v 3 означает, что числа q и х - целые числа:
q,x е Z = {....32,3,0,01,02,...}. Умножитель представлен в уже встречавшейся табли-
це 7.24. которую мы для удобства воспроизведём здесь (см. далее) Таблица строится с
использованием закономерностей Gzl-Gz6. Она должна быть продлена влево и вправо до
247
бесконечности с использованием этих закономерностей. В ней выделены клетки, соответ-
ствующие финальным состояниям.
Таблица 7.24
Бесконечный автомат 013 х | q f4), q,xe Z - {...,32,3,0,01,02,...}
X \ 31 32 3 6 61 02 03
б 3,1 3,2 *3,3 *5,6 0,1 5,2 6,3
т 01,0 61,1 61,2 01,3 02,0 *02,1 02,2
2 02,3 03,0 03,1 03,2 03,3 010,0 510,1
3 010,2 010,3 611,0 611,1 611,2 611.3 512,0
Ни одно состояние этого автомата не может быть удалено без нарушения его функ-
ционирования. Следовательно, бесконечное множество состояний автомата минимально.
Продолжение таблицы, захватывающее часть правой половины изображённой таблицы,
показано далее.
Ядром автомата является часть таблицы, охватываемая состояниями с нулевого по две-
надцатое: = {0,...,012} . Множество = {б,...,012} является множеством состояний
целевого автомата 13 х = 013 х 0(4), умножающего любое число х на 13.
Таблица 7.24
Продолжение
Бесконечный автомат 013 (х | <7)(4), q,x е Z = {...,32,3,0,01,02,...}
X \ 03 510 бп 012 513 020
0 б,з 51,0 51,1 51,2 51,3 52,0
Т 02,2 02,3 03,0 03,1 03,2 03,3
2 510,1 *010,2 бю,з 511,0 511,1 511,2
3 612,0 012,1 512,2 *012,3 513,0 513,1
Чтобы провести это вычисление, автомат 013 х | q (4) должен быть поставлен в состояние
q — 0 в качестве начального. Из него возможны переходы только в пределах множества
^'={5,...,612}.
Формульное задание автомата 013 х | q (4):
lO^x = ) q+x 013 ( /у эд-.
[а<7х = (?+х 613) ’ ’
где 0 - функция переходов, о - функция выходов автомата; в клетках таблицы значения
функции переходов стоят перед запятой, функции выходов - после; q - состояние авто-
мата; х-цифры; автоматы х л=х л|0, (х = 0,1,2,3; п = 013) - это канонические авто-
маты умножения па цифру, представленные таблицами 7.1-7.3 или таблицами 7.19-7.22
(в последних они выделены звёздочкой). Можно убедиться, что таблица 7.24 может быть
вычислена по формулам (7.24).
Проведём вычисление автоматом, заданным в таблице 7.24.
248
Пример 1. Пусть q = 0 . х = 03223 .
Изображаем развёртку:
t > 6 5 4 3 2 1 0 t
0 0 6 3 2 2 3 X
6 01 012 610 610 011 6 q
0 J 2 1 2 3 1 У
Результат: 013 03223 | 0 = 0121231 .Проверка:
... 0 0 0 3 2 2 3
... О G О О 0 1 3
... О 0 2 3 0 0 1
. . :i о 3 2 3
... О 1 2 1 2 3 1
подтверждает правильность вычисления автоматом.
Вычислительное устройство 013 х | q которое, в частности, выполняет умножение
числа х на число 013, имеет два входа, по каждому из которых подаётся информация,
необходимая для проведения вычисления. По входу-х подаётся число х , а по входу-<у пода-
ётся число q , информирующее нас, в частности, о том состоянии, в которое ставится авто-
мат в начальный момент времени. Режим подачи этих чисел в устройство разный. Действи-
тельно, в то время как число х подаётся поразрядно и потактово и, следовательно, растяну-
тым во времени, число q подаётся на вход устройства мгновенно, в начальный момент
времени 1 = 0. Оказывается, однако, если создать одинаковый режим подачи входной ин-
формации, то обнаружится существование конечного устройства, способного, в частности,
вести вычисление, совпадающее с тем, которое ведёт бесконечное устройство 013 х | q (4).
Заметим при этом, что из двух возможных вариантов одновременной подачи входных сиг-
налов реально возможен только один - поразрядный и потактовый.
Чтобы обнаружить это конечное устройство проследим за работой исходного беско-
нечного устройства 013 (х | q}^ .
Введём обозначения:
?о = ^q,—q\qo = q,
q> =^q,—qt,
qr =0q,.,
a0 = 0,
ai ~}qo + 4> 13 + a0(,
< a2 =)<?! + xj 13 + aj (,
«3 =)?2 +*2 -13+a2(,
(7.25)
(7.26)
249
Учтём, что
<7о — q\ • 10 + • 10 + qQ + 0 — q_\ 10 + qQ + а0,
' 91 = 92 Ю + 91,
Тогда вычисление, проводимое автоматом 013 х \q (4) из начального состояния q под
воздействием входного слова х , описывается развёрткой:
2 1 0 t
Х2 Х1 Хо X
1 <- 9з 10+92 +“2 < 1 - 92 10 + 9]+ Щ 1 - 91'1И + ?о + ао 9
г г г
(92 +х2 Ч3+а2) (91 + xj 13+щ) <9о + хо 13+а0; У
С точки зрения вырабатывания выходных сигналов эта развёртка эквивалентна следую-
щей: 2 1 0 t
Х2 I 1 Хо 1 X
1 _ <— #2 + 1 ^j+ai <- 1 _ #о + ао 9
г г г
(92+х2 13+а2) (91 +х'1 ЧЗ+сц) (9о +•» ’13+ао) У
Действительно, будет ли, например. при поступлении сигнала Xj автомат поставлен в
состояние 92 10 + 91 + “1 или в состояние 91 + «1, независимо от этого выходной сигнал
будет одним и тем же. Чтобы убедиться в этом обращаемся к уравнениям (7.24) функцио-
нирования автомата 013 (х | q и берём поочерёдно вначале q = 92 10 + 91 + а, , а затем
9 = 9j + щ . В обоих случаях для выходного сигнала получается один и тот же результат.
Но последняя развёртка может быть преобразована в следующую. Эта развёртка является
развёрткой двухвходового автомата с входами: вход-х и вход-9, на которые числа х и q
(7.27)
поступают поразрядно и потактово
X Р (• • *Х] Xq Р । Тх | A Xr Р f X] Р ( Xq
q) (т,q, ...9190]. ’ (j, J^9r) 9, J\9e
где T — 0 v 3, , (z = 0,1,...,r) - пара цифр одного разряда.
[Q' J
В этом двухвходовом автомате переходы происходят по формулам (7.26), а выходы
описаны в развёртке.
2
J
а2
I
<92 +х2 Ч3+а2)
1
GiJ
СХ1
г
(91 +Х) ЧЗ+щ)
0
J
а0
г
<9о +х0 -13+ао)
250
Таким образом, формульное описание двухвходового автомата следующее:
- Л’й - -
0а( I -}qt +х, -13+а,(= at+i,
ста/Х‘ I ^+ai) = yltl, (7.28)
viij
а0 =0,
(f = 0,l,2,.„) ,
где at - состояние синтезированного автомата, а у, - цифра результата в момент времени
t (в разряде I). Как видим, в роли состояний этого автомата выступают величины а,, вы-
числяемые по формулам (7.26). Если построенный автомат рассматривать как целевой
автомат с начальным состоянием а0 = 0, то он является конечным автоматом. Это видно
из табличного задания автомата, которое приведено далее.
Числа х и q мы уравняли в правах, они поступают на вход автомата в одинаковом
режиме. Пойдём дальше и уравняем их в обозначениях. Заменим: х на х1 - f1^.. J.Xq , q
на х~ = т2х?...х?х$ , где т = 0 v 3. Тогда входная информация перепишется
а типичный фрагмент развёртки для свёрнутого автомата принимает вид:
... t+] t 0 t
Г A ") рп
U2J X2 \ 0 ) U2}
a,+i <• _| - J а0 а
г г
(х(2 + х/ 13+а,) (х^ Ч-х1 -13+ао) У
где а0 = 0.
Фрагмент этой развёртки для момента времени t можно также рассматривать как
формульное задание автомата, эквивалентное заданию (7.28). Синтезированный автомат
вычисляет функцию двух переменных х’ и х2, формульная запись которой в привычных
обозначениях такова: 13 -х1 + х2 . Эта запись порождает варианты обозначений для синте-
зированного автомата, один из которых может быть таким: 013-х1 + х2 а, где х* , х* -
операнды, а о - состояние автомата.
Формульное задание автомата (7.28) приведём в новых обозначениях:
0а( I =)xj + х' 13+а, (= af+i,
ой, '' I = {х2 + х) 13+а() = у,+1,
I* 7
а0 =0.
(1 = 0,1,2,....).
(7.30)
251
Построение таблицы по формулам (7.30) начинаем с нулевого состояния и ведём его
до состояния, замыкающего таблицу, т.е. до такого состояния, из которого возможен
переход в уже ранее встречавшиеся состояния или в него самого, но при котором нет
переходов в новые состояния. Как видно из таблицы, замыкающим состоянием является
состояние а = 013, т.к. из начального состояния а = 0 достижимыми оказываются все
состояния множества = {0,01,02,03,010,011,012,013}, причём за пределы этого мно-
жества состояний переход невозможен. Множество состояний является множеством
состояний целевого автомата, заданного формулами (7.30) или, что всё равно, табли-
цей 7.24 (см. далее).
Проведём вычисление какой-либо клетки таблицы. Пусть .г1 = 3, х2 = 1, а = 610 . То-
гда, согласно (7.29), имеем: а'=)0122<= 012, у = (0122) = 2 . Таким образом, из состояния
а = 010 под воздействием пары входных сигналов х1 = 3, х2 = 1 автомат переходит в со-
стояние а'=*О12 н вырабатывает выходной сигналу - 2, что и зафиксировано в таблице.
Переход от бесконечного автомата, заданного таблицей 7.24, к частично эквивалент-
ному ему конечному автомату, заданному таблицей 7.24 (см. далее), называется свёрткой
бесконечного автомата в конечный.
Как видно, замыкающим состоянием является состояние а = 013 .
В таблице выделены клетки, соответствующие финальным состояниям. Из них видно,
что Qj~ln = {6,01,012,013}. Попав в эти состояния под воздействием «стрелочных» комби-
наций входных сигналов, автомат никогда уже из них не выйдет и будет выдавать на вы-
ходе один и тот же постоянный сигнал. На этом работа автомата заканчивается. Автомат
сам вырабатывает сигнал своего останова.
Поскольку для функции 13х1+ х2 имеется автомат, её вычисляющий, причём вы-
числяющий независимо от каких-либо других операций и функций (например, проводя
вычисление, автомат не сводит дело к последовательному вычислению вначале произве-
дения 013-х1, а затем нахождению суммы 13-х1 +х2 ), то эта функция может быть при-
знана самостоятельной операцией, она может получить своё обозначение, например, р, и
тогда автомат может быть записан в стандартной форме:
613 х1 + х2 I q = р х1 х2 I q ,
где q - начальное состояние, а х1 и х2 - операнды.
(Поскольку символ q к настоящему моменту после введения переобозначений (7.29) стал
свободным, мы можем вернуться к его использованию для обозначения состояний автомата.)
Таблица 7.25
Автомат 013 х1 + х 2 а
а 6 51 52 5з 510 511 512 013
1 X 2 X
6 6 *0,6 6,1 5,2 б,з 61,0 61,1 61,2 51,3
0 1 6,1 5,2 5,3 51,о 51,1 01,2 01,3 02,0
0 2 6,2 5,3 51,0 51,1 61,2 61,3 52,0 2,1
0 3 *0,3 *51,6 61.1 51,2 01,3 52,0 02,1 02,2
1 0 61,3 52,0 02,1 02,2 02,3 03,0 03,1 03,2
252
Продолжение табл. 7.25
а б 51 52 5з 610 611 512 513
X1 X2
1 1 02,0 02,1 02,2 52,3 03,0 03,1 03,2 5з,з
1 2 02,1 02,2 02,3 03,0 03,1 5з,2 5з,з 610,0
1 3 02,2 02,3 03,0 03,1 03,2 5з,з 610,0 510,1
2 0 03,2 03,3 5ю,о 510,1 510,2 510,3 611,0 511,1
2 1 03,3 510,0 510,1 510,2 610,3 511,0 511,1 511,2
2 2 610,0 610,1 510,2 010,3 511,0 611,1 611,2 511,3
2 3 610,1 510,2 610,3 5л,о 511,1 511,2 611,3 512,0
3 б 611.1 511,2 511,3 512,0 512,1 012,2 *612,3 *513,0
3 1 611,2 511,3 012,0 012,1 012,2 512,3 013,0 513,1
3 2 611,3 512,0 512,1 512,2 512,3 513,0 513,1 513,2
3 3 512,0 512,1 512,2 512,3 513,0 513,1 513,2 *513,3
Автомат 013-х1+х2 |а (табл. 7.25), является конечным автоматом, эквивалентным
по состоянию а = 0 бесконечному автомату 013 х | q . По всем остальным состояниям из
множества он емУ не эквивалентен, по ним он вычисляет функции, отличные от
функции, вычисляемой бесконечным автоматом 013 х | q . Проведём вычисление с по-
мощью созданного устройства.
Пример 1. Пусть q = 0 (вместо а пишем q ), х1 = 0322 , х2 = 01323 . Развёртка:
t>5 4 3 2 1 0 t
pTi /03 <33 f2) А
w w ы ы [х2 )
6 52 013 611 510 5 <7
5 2 0 1 0 1 У
Результат: 013 -( 0322) + ( 51323) = 020101 (или, в терминах новой операции,
р0322 01323 | 0 = 020101).
Проверка:
2 1 1
0 0 3 2 2
X
0 0 0 1 3
0 2 2 3 2
+
0 3 2 2
0 12 112
+
... 0 0 1 3 2 3
... 0 2 0 1 0 1
253
(Маленькие цифры-это величины переноса.) Вычисление, проведённое автоматом, и
проверка дали совпадающие результаты.
Отмстим, что результат получен при t = 5. На самом деле ещё раньше, при t = 3, т.к.
группа цифр старших разрядов вырабатывается одновременно с получением старшей
цифры из группы цифр младших разрядов (в данном случае - нуля при t = 3). Это мини-
мально возможное время, и оно не может быть уменьшено без изменения входного алфа-
вита. Изменение входного алфавита может привести к ускорению вычисления, но автомат
такого же типа всегда допускает изменение алфавита, и, будучи с изменённым алфавитом,
он всё равно в классе вычислительных устройств с изменённым алфавитом будет вычис-
лять за наименьшее время.
Наконец обратим внимание, что первые четыре клетки столбца а = 0 таблицы 7.25
совпадают с первыми четырьмя клетками строки ,т = 0 таблицы 7.24; вторые четыре
клетки столбца ц = О таблицы 7.25 совпадают с первыми четырьмя клетками строки
х = 1 таблицы 7.24; третьи четыре клетки столбца а = 0 таблицы 7.25 совпадают с пер-
выми четырьмя клетками строки х = 2 таблицы 7.24; четвёртые четыре клетки столбца
а = 0 таблицы 7.25 совпадают с первыми четырьмя клетками строки х = 3 табли-
цы 7.24. Это может быть использовано при построении первого столбца таблицы 7.25.
Остальные столбцы таблицы строятся из предыдущих столбцов регулярным увеличени-
ем в каждой клетке столбца последней цифры на единицу. Эта процедура продолжается
до достижения состояния, замыкающего таблицу (см. выше).
Этим даётся описание свёртки, выполняемое на табличном уровне, табличная свёрт-
ка. Только что описанный алгоритм табличной свёртки носит универсальный характер и
может быть применён в других случаях Он быстро и эффективно позволяет найти авто-
мат-свёртку.
Резюме'.
1. Существует операция, называемая свёрткой, выполняемая над бесконечными автома-
тами, которая позволяет найти другой автомат, частично эквивалентный исходному, но с
конечным числом состояний. (Конечный автомат, эквивалентный бесконечному, не все-
гда существует. Поэтому операция свёртки, хотя она и применима, не всегда приводит к
конечному автомату.) В таком случае мы говорим о конечной актуализации бесконечно-
сти, выполняемой аппаратно. Конечная актуализация бесконечности как акт мыслитель-
ной деятельности совершенно необходима по самой своей сути и вытекает из факта ко-
нечности мозга, с одной стороны, и факта существования бесконечных объектов, с дру-
гой. Мозг в пределах своих возможностей стремится максимально овладеть знанием о
природе. Одной из таких его возможностей является как раз способность создать мысли-
тельный образ, называемый актуальной бесконечностью. Не исключено, что описанная в
этом параграфе аппаратная модель конечной актуализации бесконечности является также
намёком на модель тех действительных процессов, которые имеют место в мозге. Во вся-
ком случае, «мыслительное» устройство на описанном уровне функционирования, преоб-
разующее бесконечные объекты в конечные и включающее в себя эту модель, создать
можно, принципиальных препятствий для этого нет.
2. Операция свёртки показана на примере бесконечного автомата 01 Зх q (4|, который
можно трактовать как автомат, вычисляющий функцию двух переменных х и q . Этот
автомат в результате свёртки породил конечный автомат 013 х1 + х2 | q , вычисляющий
по одному из своих состояний (по состоянию <7 = 0) ту же функцию двух переменных,
254
что и автомат 013 (х q )(4) (внесены переобозначения переменных, как по тексту пара-
графа).
3. Рассмотрен пример вычисления автоматом 013-х1 + х 2 | q , поясняющий его работу и
подтверждающий правильность его функционирования.
4. Дано описание алгоритма табличной свёртки, позволяющей по таблице бесконечного
автомата найти таблицу конечного автомата, частично эквивалентного исходному беско-
нечному автомату.
§ 8. Свёртка умножителя на произвольную константу
Рассмотрения предыдущего параграфа допускают обобщения в разных направлени-
ях. Одно из них связано с заменой множителя 013 в обозначении для рассмотренного
умножителя 013-х | q w на произвольную целую константу й, пе Z = {...,3,0,01,...}.
Мы рассматриваем автоматы как алгоритмы для вычисления какой-либо функции. Ав-
томаты могут быть заданы тремя способами: а) с помощью формул, б) с помощью таблиц,
в) с помощью абстрактных схем (В-схем). Иные способы задания автоматов мы не рассмат-
риваем. Автоматы являются частным случаем понятия абстрактного вычислительного уст-
ройства, АВУ. Приближённо автомат или АВУ может быть представлен реальным вычис-
лительным устройством, по отношению к которому АВУ является, вообще говоря, недос-
тижимым идеалом. В мире АВУ происходят многообразные переходы от одних устройств
к другим, как это показано, например, в предыдущем параграфе. Рассматривая АВУ во
всей их совокупности, мы считаем преобразования одних из них в другие развитием.
О развитии будем говорить только на абстрактном уровне. Поэтому переход от абстракт-
ного автомата 013 х |^|4| к абстрактному автомату п х|<? (4| будем также считать раз-
витием и говорить, что в способности автомата п х | q (4) осуществлять переход к авто-
мату с другим параметром п проявляется экстравертность по параметру п .
Поскольку свёртка подробно и достаточно полно описана в предыдущем параграфе,
здесь приведём лишь итоговый фрагмент развёртки работы автомата.
Фрагмент развёртки автомата-свёртки для произвольного момента времени показан
далее (соответствует моментам времени t и ?+1):
где
Чм
1
4t
(х2 +х} n+qt}
0 t
X2 <Л0 )
_| Чь Ч
<Х5 +xj n+q0) У
(7.31)
255
q =o,
71=4*g+4 n+qd,
7г =)xt + xj й + 7i ( (7.32)
7' =)xj + *> ' й + 7}(,
Фрагмент развёртки, соответствующий моменту времени t, формульно может быть пред-
ставлен так:
<xi А
97 ’ U =)х,2 + Х1 п+qt<= 7+1
с7 Р, | = (х2 + x(l -n+qt} =ум, (7-33)
7» = о,
(г = 0.1, 2,...)
Целевой автомат, заданный формулами (7.33), является конечным автоматом с начальным
состоянием q = 0 . Состоянием, замыкающим таблицу автомата (7.33), является состояние
q =п .
Умножители Хп, где х - цифра, а п е Z = {...,3,0,01,...} , канонизированы и представ-
лены таблицами 7.1-7.3 или таблицами 7.19-7.22 (в последних они выделены звёздочкой).
При этом входная информация в АВУ (7.33) представляется в виде:
I X1 ] | Г1 у хр (-Т]1 у х! |
I I I I I I -у-2 I
/ \ * J\”f J \’ч J кл0 /
где х1 = f'x*. .xjxj, х2 = т2х2.. xfXg - подаваемые на вход числа (т = 0 v 3).
Подача пар цифр на вход устройства начинается с нулевого разряда. Число п пред-
ставляется в виде: п = ... гцпд = й)яо , где по - цифра из разряда единиц, а 7 -
группа цифр из старших разрядов, q - состояние автомата-свёртки. Полученный по фор-
мулам (7.33) автомат-свёртку мы обозначим: п х1 + х2 | q , где слева от вертикальной
черты стоит функционально аргументная часть, т.е. символическое обозначение вычис-
ляемой функции, от которой произошёл этот автомат, а справа - состояние, в которое
автомат ставится в начальный момент времени. Возможно также обозначение в канониче-
ском стиле Ах' х2 7, гДе Л-символ вычисляемой функции, х',х2 - операнды, a q -
начальное состояние.
Выбирая различные значения п , получим различные конкретные абстрактные уст-
ройства. Например, при п = 1 = 01 получим сумматор двух чисел, а при п = -1 = 3 полу-
чим вычитатель. И сумматор S(4| х'х2 | q . и вычитатель х'х2 | q рассмотрены ранее.
Использовать (7.33) при п =1 = 01 и при и =-1 = 3 не будем, т.к. это приведёт к уже
известным результатам.
Рассмотрим 77 = 011 = 11. Здесь 7=01, п0 = 1 • Применяем (7.33) и строим таблицу
устройства 011х1+ х2 | q .
256
Таблица 7.26
Автомат 011 х1 + х2 | q
я б 51 02 03 010 би
х1 х2
б б *0,0 5,1 5,2 5,3 51,0 51,1
0 1 5,1 5,2 5,3 51,0 61,1 51,2
0 2 5,2 б,з 51,0 51,1 51,2 51,з
б 3 *6.3 *51,0 51,1 51,2 51,з 02,0
1 0 61,1 01,2 01,3 52,0 02,1 02,2
1 1 51,2 01,3 52,0 02,1 52,2 02,3
1 2 51,3 02,0 02,1 52,2 52,3 5з,о
1 3 52,0 02,1 52,2 02,3 03,0 03,1
2 0 02,2 02,3 03,0 03,1 03,2 03,3
2 1 52,3 03,0 03,1 03,2 5з,з бю,о
2 2 5з,о 03,1 5з,2 5з,з 510,0 5ю,1
2 3 03,1 03,2 03,3 510,0 610,1 510,2
3 б 03,3 610,0 010,1 510,2 *510,3 *5н,5
3 1 010,0 010,1 010,2 бю.з 5и,о 5п,1
3 2 010,1 010,2 010,3 611,0 011,1 511,2
3 3 010,2 610,3 511,0 511,1 511,2 *011,3
Функция ОПх'+х2 вычисляется автоматом 011 х'+х2|</ независимо от каких-
либо других функций и представляет собой самостоятельную операцию. Хотя в её обо-
значении и присутствуют две операции (сложение и умножение), но они лишь информи-
руют нас о происхождении этой функции. Сама функция о своём происхождении ничего
не знает. При вычислении функции 01Г х1 + х2 автоматом 011 х1 + х2 | q сложение и
умножение никак не используются.
Проведём вычисление автоматом 011 х1 +х2 q .
Пример. Пусть q = 0, Развёртка: х1 = 03211, X2 = 03123 .
0 t> 6 5 4 3 2 1 0 t
Гб Гб^ М А Л2! р) ГхП
1^5 1,б) [5J Ы I1) Ы ы U2 J
б 5 01 би 5з 52 52 5 q
5 1 1 1 1 1 0 У
Результат: 011-03211 +03123 = 0111110.
«Школьная» проверка подтверждает правильность вычисления.
257
Можно убедиться в правильности вычислений этим автоматом и при подаче на вход
отрицательных чисел, заданных в автоматном коде.
Резюме:
Операция свёртки эффективно применима к любому бесконечному автомату семейст-
ва автоматов {и х | ?«)}, где Z = {...,^2,3,Й,01,02,...J , и приводит к конечному
автомату й-х'+х2 q , задаваемому либо фрагментом развёртки (7.31), либо формульно
(7 33), либо схемой соответствия
(«7
) Qx2 + xln+q{, (х2 + Х1 п+д}),
(7.34)
где х1,хге Z(4) ={6,0,1,2,3,3j -цифры, п е Z = {...,32,3,6,01,02, ...j - произвольная целая
константа. Тем самым, существует бесконечно много примеров применения операции
свёртки, что подтверждает её теоретическую и практическую полезность.
§ 9. q -экстравертность семейства автоматов (й-х'+Р | q }
Рассмотрим для определённости автомат 011х1+ х2 | q , задаваемый таблицей 7.26,
получающийся при выборе « = 011. Замыкание таблицы 7.26 происходит при «/=011
Попав в это состояние, автомат не переходит в новые, ранее не встречавшиеся состояния;
он переходит только в ранее встречавшиеся состояния или остаётся в состоянии q = 011.
Множество состояний 2{2> = {6,61,62,03.610,611} образует минимальное множество со-
стояний для того, чтобы автомат 01 lx1 +х2 q мог из начального состояния q=0 вы-
числять функцию Ollx'+x2. Это множество состояний называется ядром. Таблица
автомата, которая строится по ядру, тоже называется ядром, но во множестве таблиц. При
постановке автомата в другое состояние, q # 6, q е (х,2), автомат вычисляет другую
функцию - функцию 011 х1 + х2 + q . Это легко проверяется. В этом факте проявляется
начальная фаза особого явления, называемого экстравертностью по состоянию q . Дей-
ствительно. автомат 01 l x1 + х2 | д строился из одновходового бесконечного автомата
011 х | «/(4| с единственной целью - чтобы он умножал на п = 011. С построением авто-
мата 01 lx1 +х2 \q эта цель оказывается достигнутой, но обнаруживается, что построен-
ный автомат, во-первых, конечен и, во-вторых, способен делать кое-что дополнительно по
сравнению с целевой установкой, а именно он не только умножает, но и вычисляет другие
функции двух переменных 611 х1 + х2 + д для каждого состояния q е Но этим дело
не ограничивается. Оказывается, что автомат ОП-х'+х2^, задаваемый фрагментом
(7.33), или, что всё равно, схемой соответствия
—> )х2 +Х1 -n+q{, (х2+х1 -n+q).
(7.35)
258
при 77 = 011, может быть доопределён для всех целых q : qe Z = {...,32,3,0,01,02,...}.
В этом проявляется экстравертность по состояниям для всех возможных целых значений
q , а не только для q s Q*,* = {6,61,02,03,010,611}.
Итак, благодаря свойству экстравертности по состояниям, автомат 011 -х1 + х2 | q
может вести вычисления при любом целом q . Но это означает, что он вычисляет функ-
цию не двух переменных, как он первоначально позиционировался, а функцию трёх пе-
ременных х1, х2 q . Таблица этого устройства бесконечна и является продолжением таб-
лицы 7.26. Далее воспроизведена таблица 7.27 и фрагменты её продолжения влево, в сто-
рону (-“), вправо, в сторону (+»<>). Поскольку устройство, представленное вышеприве-
дённой таблицей, бесконечно, то к нему применима свёртка, превращающая его в конеч-
ное устройство, вычисляющее в одном из своих состояний эту функцию трёх переменных
и т.д.
Очевидно, часть таблицы, соответствующая состояниям а о 2и ' = {5,61,02.03.010,511},
образует её ядро (см. табл. 7.26). За пределами ядра мы приписали два состояния q = 3 и
q = 32 в качестве начальной части продолжения таблицы, идущего в сторону (--о°), а также
два состояния гу=012и<7=013 в качестве начальной части продолжения таблицы, идущего
в сторону (+°°). В таблице выделены клетки, соответствующие финальным состояниям. Оче-
видны закономерности ь образовании бесконечной таблицы, выражаемые свойствами Gzl-
Gz6. Для построения таблицы достаточно построить столбец для состояния q =0. Все
остальные столбцы получаются из него сдвигом на единицу вправо и влево. (Запятая на время
игнорируется, а затем восстанавливается.)
Приведём вычисление, выполняемое с помощью этого автомата, взяв g = 013 - со-
стояние, находящееся за пределами ядра.
Пример. Пусть q = 513 , х1 = 03211 , х2 = 03123.
Мы уже получили ранее результат: 511 03211+ 03123 = 6111110 . Он соответствует
выбору q = 0 (см. развёртку за табл. 7.26). Посмотрим, что получится сейчас.
Результат: 611 03211 -+03123 = 6111123 , т.е. отличие нового результата от предыду-
щего состоит в наличии слагаемого q = 013 , что подтверждает правильность обозначения
вычисляемой функции в виде 011 х1 + х 2 + q и автомата в виде 011 х1 + х2 | q .
Таблица 7.27
Автомат 01 Т х1 + х2 | q
q 6 61 52 бз 510 Oil
X1 X2
5 0 *6,6 6,1 0,2 5,з 61,0 51,1
0 1 5,1 5,2 5,3 5i,o 6i,i 61,2
0 2 0,2 5,3 51,0 51,1 51,2 51,3
5 3 ♦0,3 *01,0 5i,i 51,2 61,3 02,0
i 0 61,1 51,2 51,з 52,0 02,1 52,2
259
Продолжение табл. 7.27
я б 51 02 03 010 511
1 X х2
1 1 01,2 01,3 02,0 02,1 02,2 02,3
1 2 61,3 02,0 02,1 52,2 02,3 5з,о
1 3 02,0 02,1 02.2 52,3 03,0 03,1
2 0 02,2 02,3 03,0 03,1 03,2 03,3
2 1 02,3 03,0 03,1 бЗ,2 03,3 бю.о
2 2 03,0 03,1 03,2 5з,з 510,0 510,1
2 3 03,1 03,2 03,3 610,0 610,1 510,2
3 б 03,3 610,0 610,1 010,2 *510,3 *011,5
3 1 010,0 610,1 610,2 бю.з 511,0 511,1
3 2 610,1 510,2 610.3 511,0 511,1 511,2
3 3 610,2 610,3 611,0 511,1 511,2 *011,3
Таблица 7.27
Автомат 011 х1 + х~ \q
(Продолжение)
Продолжение в (-<*>)
я 32 3
^.1 2
6 5 3,2 *3,3
0 1 3,3 6,0
0 2 0,0 6,1
б 3 6,1 5,2
1 0 б,з 61,0
1 1 51,0 51,1
1 2 61,1 51,2
1 3 51,2 51,3
2 0 52,0 02,1
2 1 02,1 02,2
Продолжение в (+<»)
512 513
51,2 51,3
51,3 52,0
52,0 02,1
02,1 52,2
52,3 5з,о
5з,о 5з.1
5з,1 5з,2
03,2 03,3
510,0 510,1
510,1 010,2
260
Продолжение табл. 7.27
Продолжение в (-“)
ч 32 3
х1 х2
2 2 02,2 02,3
2 3 02,3 5з,о
3 6 03,1 03,2
3 1 03,2 03,3
3 2 03,3 610,0
3 3 610,0 610,1
Продолжение в (+°°)
612 613
610,2 510,3
610,3 611.0
611,1 511,2
611,2 511,3
511,3 012,0
*612,6 612,1
Развёртка
ОО > ^ > 6 5 4 3 2 1 0 t
Гб^ Гб| Гб') гр Г2> Гр гр Гхр
W I3; Ц ) l2J Ы [х2 J
5 51 611 03 02 03 513 Я
5 1 1 1 1 2 3 У
Разобранный пример достаточен, чтобы сформулировать общий вывод: каждый ко-
нечный двухвходовый автомат семейства автоматов
{п х1 + х2 | д}, где х1,х2,йе 7 = {...,32,3,5,61,02,...}
благодаря свойству экстравертности по параметру qe = {6,61,...,и}, являющемуся
состоянием автомата л • (X | д)^,, порождает бесконечный автомат п х1 + х2 q , в кото-
ром параметры х1,х2,п,де Z = {...,31,32,3,0,01,02,...} - любые целые числа. Этот автомат
полностью описывается соответствием (7.35) или эквивалентной ему записью:
- V" •
q,\ —> х1 Л!+)х2 + х1 л0+? G (х2 + х* -n0+q), (7.36)
(х2)
где х1, х2, л0 е Z|4) ” {0. 1, 2, 3} - цифры (в общем случае цифры из = {0, 1, ..., к - 1}),
<7 е Z = {...,31,32,3,0,01,02,...}, число п записывается в виде п = х.п,...щпа = П\Па,
T = 0v3. Как и всякий бесконечный автомат, рассматриваемый автомат
п х1 + х2 \q может быть свёрнут операцией свёртка. Результатом свёртки может быть
либо конечный автомат, либо бесконечный. Последнее имеет место, если конечного авто-
мата, эквивалентного исходному бесконечному, не существует. Несуществование конеч-
ного автомата не мешает проводить свёртку. После её проведения в последнем случае
получается бесконечный автомат, но свёрнутый, возможно, отличный по своему заданию
от исходного, хотя и частично эквивалентный.
261
Резюме'.
Каждый конечный двухвходовый автомат семейства автоматов {« х1 + х2 | q\,
где л71, х2, п е Z = {...,32,3,0,01,02,...} благодаря свойству экстравертности по параметру
q, q е Q<p> = {0,61,...,«} , являющемуся состоянием конечного автомата п хх+хг\q ,
порождает бесконечный автомат я х1 + х2 | q . в котором <?е Z = {...,31,32,3,0,01,02,...} .
Этот автомат описывается соответствием (7.36).
§ 10. Свёртка бесконечного автомата п -х1 + х21 q
Свёртка выполняется аналогично предыдущему. Отметим основные моменты.
Схема соответствия автомата п х1 + х2 | q , эквивалентная формульному заданию
этого автомата, имеет вид (см. (7.35)):
(j S
q, — —>)х' п + г2 + q{, (х1 п+х2+д), (7.37)
\х" )
где п ~ ws...nqi0 = nqi0, n\=ms...n\, т = 0 v 3 , х1, х2, я, е Zw = {0, 1, 2, 3} - цифры (t = 0,
1, ..., г), qe Z = {...,31.32,3.0,01,02....} - состояния автомата.
Введём обозначения:
а0 =0,
а: =)х^ я +xj + q„ +а0(,
а2 =)xj п + х2 + q} + О|(. (7.38)
а3 =)х* п + Xj + q2 + а2 (,
С их использованием фрагмент развёртки работы автомата п -х1 +х2 | q для момента
времени t примет вид (7.39). Величины а, имеют родственную структуру, как это видно из
(7.38), и появляются естественным образом как аддитивные компоненты состояний, в
которых оказывается автомат в моменты времени t. Но выясняется, что это не просто
аддитивные компоненты состояний, а важнейшие части состояний. Обнаруживается, что
с точки зрения вырабатывания выходных сигналов автомата другая слагаемая часть со-
стояния может быть удалена без ущерба для результата.
(739)
Чт +<*,+! <- <Jt
(xj п + х/ + q, + а,)
Действительно, с точки зрения получения выходного сигнала, развёртка (7.39) эквива-
лентна следующей. В ней роль состояний играют величины а,, а сама развёртка (7.40)
представляет собой не что иное как развёртку трёхвходового автомата:
262
t
ГхП
X,2
>
I
ar+i <- a,
(7.40)
{x} -n + x,2 + q, +at)
На вход автомата n x1 + x2 | q в свёрточной трактовке три цифры x\,x^,qt одного разря-
да чисел х1,*2,? поступают одновременно в момент времени t, как это видно во фраг-
менте (7 40). Вследствие чего тройка цифр рассматривается как буква входного алфавита:
^(4) •
(7.41)
Опуская подробности, аналогичные ранее встречавшимся, изобразим схему соответствия
в конечном автомате, получившемся после свёртки:
—> ()х* п + х2 + qt + а,(,(х,' п + х,2 + qt + a,)).
(7.42)
Здесь a, - состояние автомата-свёртки (не путать: q - это состояние автомата
п х1 + х2 | q до того, как была выполнена свёртка; после же выполнения свёртки q в но-
вой трактовке не состояние, а входной сигнал (см. (7.41)). Все остальные символы пояс-
нены ранее.
Удобно для дальнейшего ввести переобозначения: вместо q в (7.41) писать Xs, а вме-
сто а писать q и тем самым вернуть символу q смысл состояния. Вместе с тем три вход-
ных сигнала получат равноправные обозначения. Тогда соответствие (7.42) перепишется:
—> ()х,' п + х,2 + х,3 + qt(, (х,1 п + х,2 + х,3 + q,)).
(7.43)
Соответствие (7.43) даёт полное описание конечного автомата, полученного в результате
свёртки исходного бесконечного автомата п х1 + х2 | д . Построение таблицы конечного
автомата по формулам (7.43) начинается с построения столбца для состояния q = 0 и
продолжается до нахождения замыкающего состояния, обладающего тем свойством, что
из него невозможны переходы в новые, не встречавшиеся ранее состояния. Множество
состояний от нулевого ( q = 0) до замыкающего образует ядро состояний автомата. Это
множество состояний необходимо и достаточно, чтобы автомат, отправляясь от состояния
7=0, вычислял функцию л х'+^+х3 (основная функция). Удаление любого из со-
стояний приведёт к тому, что на некоторых наборах троек цифр автомат окажется не в
состоянии вести вычисление (необходимость). В то же время наличие всей совокупности
состояний позволяет вести вычисления без каких-либо ограничений (достаточность).
263
Обозначение для нового автомата п -х1 + х2 + х3 | q мы дадим на основе вычисляемой им
основной функции: п-х1 + х2 + х3. Помимо основной функции этот автомат вычисляет
родственные ей функции. Они вычисляются, если в качестве начального состояния брать
другие состояния ядра, отличные от состояния q = 0 .
Замыкающее состояние qc находится из уравнения:
q, = 3 щ +)3 и0 +12 + qc {, (7.44)
которое получается из условия: при подаче трёх троек на вход автомата он должен перей-
ти в замыкающее состояние.
Удобно ввести следующие варианты обозначений для ядра состояний автомата:
= = (7.45)
В этих обозначениях порядок следования 0 и qc безразличен, потому что во множестве
Q-’’ безразлично, в каком порядке перечислять элементы. Заметим, что замыкающее
состояние qc может представляться не только положительным, qc = 0q,...., но и отрица-
тельным числом, qc = 3qr...
Таблица, в которой задан автомат п х1 + х2 + х3 | q принципиально не отличается
от приведённых ранее таблиц. Отличие лишь в размерах. Легко оформить алгоритм
составления подобных таблиц и написать программу для реализации алгоритма на ком-
пьютере.
При составлении таблиц автомата, а также для иных целей может понадобиться реше-
ние уравнения (7.44). Метод решения уравнения, называемый методом последовательного
приближения, покажем на примере. Для этого предварительно перепишем уравнение (7.44)
в виде рекуррентного соотношения, заменив в нём q, на //,, где (/ = 0, 1 2, ...) - номер при-
ближения:
?,+: = 3 щ+)3-и0+12 + ^,(. (7.46)
Пример. Пусть п = 013 Тогда и = 01, п0 = 3 .
Преобразуем (7.46) для этого случая.
qlf\ —3/2] т)3 Hq +12 + q (— 3 1+)3 -3-1-12-1“^,(— 3+)33 + q, (— 12+)3 + (/,(.
Поскольку построение таблицы начинается с нулевого состояния, то в качестве началь-
ного приближения берём q0 — 0 - 0 . Составим таблицу решения уравнения по этому
методу
i 7- а, + > - 12 + )3 + q,{
0 0 12
1 12 12 >3 + <?]< = 12 + >3 + 12< = 12 + >21 < = 20
2 20 12 + )3+^< = 12 + )3 + 20( = 12 + )23( = 20
Видно, что </2 = 20, <7з = 20, ..., т.е. qc = 20.
Таким образом, у автомата 013 -х1 +х2 + х3 | q замыкающим состоянием является
состояние qc = 20 и ядро состояний Q*3’ = = б, 020 .
264
Таблица, задающая этот автомат, имеет содержательных строки (по числу де-
картовых букв х2
алфавита автомата) и шапку из 9(л состояний. Таблицу здесь не
приводим.
Резюме'.
Каждый бесконечный автомат семейства автоматов {п х1 + х2 | q },
х1 ,х2 ,n,q е Z = {. ,31,32,3,0,01,02,...}, в результате применения к нему операции свёртка
по параметру qeZ = {...,32,3.0,01,02,...} порождает частично эквивалентный ему конеч-
ный автомат п х1 + х2 + х' \q , вычисляющий из начального состояния <7=0 функцию
п-х' + х2 + х3 трёх переменных х'.х-.х3 как новую самостоятельную операцию, не
сводя её вычисление к фигурирующим в записи функциям умножения и сложения.
§11. Свёрт ка конечного автомата п • х + х2 + х31 q
по входам х2 и х3
Свёртка по входу состоит в рассмотрении автомата работающим в режиме подачи по
разным входам одной и той же входной информации. Автомат, работающий в таком ре-
жиме, эквивалентен автомату с меньшим количеством входов; он может быть получен из
исходного автомата в результате решения соответствующей задачи минимизации. Из
формульного задания исходного автомата можно получить формульное задание нового
автомата с меньшим количеством входов.
Запишем подаваемые на вход автомата п -х1 + х2 + х3 | q числа:
х1 = Tx}...x}xJ,
х2 = х’ = f'xl...x2x2 (7-47)
(без ограничения общности считаем разрядность чисел одинаковой). Приведём формуль-
ное задание (7.43) автомата п х1 + х2 + х3 \q:
-> ).< п + х2 + х,3 + q, (, (х,1-п +х,2 + х3 +q,} ,
(7.48)
где х',х2д3 е Z(<) = {0,1,2,3} - цифры четверичной системы счисления,
п = гпг...щп0 = щпо, щ=тп,....п1, q е Q?1 = [0,gt.] - состояние автомата, qc - замы-
кающее состояние автомата. Из таблиц Кэли для сложения и умножения
+ 0 1 2 3
0 0 1 2 3
1 1 2 3 10
2 2 3 10 и
3 3 10 11 12
X 0 1 2 3
0 0 0 0 0
1 0 1 2 3
2 0 2 10 12
3 0 3 12 21
видно, что на множестве цифр справедливо равенство х + х = 2х, которое позволяет из
формульного задания (7.43) для автомата п х1 + х 2 + х3 \q извлечь формульное задание
265
для другого автомата, получающегося из него свёрткой по входам х2 и х3. Этот автомат
двухвходовый, и предыдущее равенство для цифр подсказывает естественное для него
обозначение п х1 + 2 х2 q . Его формульное задание:
I Xf I
qt,\ )х} -и +2-х2 +qt{, (x! n +2-x} + qt), (7 49)
WJ
где х'дг2^3 e Z(4) = {0,1,2,3} - цифры четверичной системы счисления,
п = тпг...П\Пй - ntK01 П\=Ъ1Г.. .rq, q е Q^3) = [0, qj\ - состояние автомата, qc -
замыкающее состояние автомата, причём qc для автомата (7.43) и для автомата (7.49)
одно и то же (т.к уравнения для них совпадают).
Таблица, задающая автомат й ?+2-х2 \q , доступна для обозрения; например, при
й = 013 имеет вид:
Таблица 7.28
Автомат 013 х1 + 2 х2 | </
q 0 1 2 3 10 11 12 13 20
X1 X2
0 б 0, б 0,1 0,2 0,3 1,0 1,1 1,2 1,3 2,0
0 1 0,2 0,3 1,0 1,1 1,2 1,3 2,0 2,1 2,2
0 2 1,0 1,1 1,2 1,3 2,0 2,1 2,2 2,3 3,0
б 3 1,2 1, з 2, б 2,1 2,2 2,3 3,0 3,1 3,2
1 0 1,3 2,0 2,1 2,2 2,3 3,0 3,1 3,2 3,3
1 1 2,1 2,2 2,3 3,0 3,1 3,2 3,3 10,0 10,1
1 2 2,3 3,0 3,1 3,2 3,3 10,0 10,1 10,2 10,3
1 3 3,1 3,2 3,3 10,0 10,1 10,2 10,3 11,0 11,1
2 0 3,2 3,3 10,0 10,1 10,2 10,3 11,0 Н,1 11,2
2 1 10,0 10,1 10,2 10,3 11.0 И,1 11,2 и,з 12,0
2 2 10,2 10,3 11,0 11,1 11,2 11,3 12,0 12,1 12,2
2 3 11,0 11,1 11,2 11,3 12,0 12,1 12,2 12,3 13,0
3 б 11.1 11,2 и,з 12,0 12,1 12,2 12, 3 13, б 13,1
3 1 и,з 12,0 12,1 12,2 12,3 13,0 13,1 13,2 13,3
3 2 12,1 12,2 12,3 13,0 13,1 13,2 13,3 20,0 20,1
3 3 12,3 13,0 13,1 13,2 13,3 20,0 20,1 20,2 20, 3
(С целью экономии места таблица приведена в упрощённом варианте, без нулей со стрел-
ками при состояниях.) Для неё остаются справедливыми закономерности Gzl-Gz6, в силу
которых для построения всей таблицы достаточно построения столбца, соответствующего
состоянию <7=0. При его построении используется соответствие (7.49). Все остальные
столбцы таблицы получаются из него сдвигом на единицу (запятая в начале процесса
мысленно игнорируется, а затем восстанавливается).
Проведём вычисление с помощью этого автомата.
Пример. Пусть х1 = 0312 , х2 = 0233 .
Развёртка во времени работы автомата:
266
оо > t > 5 4 3 2 1 0 t
м <16 <26 <х'6
toj р J [х2 )
0 1 13 10 и 0 q
6 1 3 1 2 0 У
Результат: 613 0312 + 2 0233 = 013120 .
Проверка обычным умножением и сложением в четверичной системе счисления с учё-
том вспомогательного результата 2 0233 = 01132:
0 0 3 1 2
х
..._______0 1 3
0 2 2 0 2
+
0 3 12
... 0 1 1 3 2 2
+
0 113 2
..013120
Проверка подтверждает правильность вычисления устройством. Заметим, что в то время,
как при проверке мы выполнили последовательно три умножения и два сложения и про-
извели это за время t = 30. автомат провёл вычисление непосредственно, не прибегая ни к
сложению, ни к умножению в качестве вспомогательных операций. Как видно из развёрт-
ки, результат получен при t = 5. На самом же деле абстрактная В-схема этого устройства
заканчивает вычисление уже при 1 = 2, т.к. вся группа цифр старших разрядов результата
выдаётся при I - 2. В заключение отметим, что свёртка автомата п xl +х2 + х3 | а может
быть выполнена по любой паре входов: по паре {л1, х2}, по паре {х1, х3}, по паре {х2, х3}, а
также по всем трём входам {х*, х2, х3}.
Резюме'.
1. Каждый многовходовый автомат может быть свёрнут по входу. Свёртка по входу явля-
ется ещё одной операцией, выполняемой над автоматами с целью получения из уже суще-
ствующих автоматов новых автоматов.
2. Схема соответствия свёрнутого по входу автомата получается из схемы соответствия
исходного автомата путём приравнивания аргументов, по входам которых получается
свёртка.
3. Таблица свёрнутого по входу автомата получается с помощью найденной схемы соот-
ветствия с использованием закономерностей Gzl-Gz6.
4. Свёртка по входу может быть выполнена по любой комбинации входов.
§ 12. Конечный автомат для вычисления скалярного произведения
Название параграфа требует уточнения. Речь идёт, во-первых, о целочисленных век-
торах. Во-вторых, один из векторов является постоянным вектором. На размерность век-
торов ограничений нет.
267
Автомат получается в результате комбинирования двух вариантов свёртки: 1) свёртки
бесконечного автомата по параметру q (q - состояние бесконечного автомата) и 2)
свёртки по входу.
Суть процедуры в следующем. Рассмотрим уже полученный автомат
й1 х1 + х2 + х3 | q , в котором мы заменили обозначение для множителя п на
й1 = тп‘...п}пд, т = 0v3 . Формулы соответствия, определяющие этот автомат, работают не
только при значениях q , входящих в ядро автомата, q е Q = [0,дс ], но и при любых целых
q , q е Z , определяя тем самым бесконечный автомат. К нему может быть применена опе-
рация свёртки, в результате чего появляется конечный автомат с четырьмя входами:
й1 х1 + хг + х3 + х10 | q . В свою очередь он, как и его предшественник, обладает свойством
эстравертности по параметру q и порождает бесконечный автомат, который также может
быть свёрнут по состояниям и даст конечный пятивходовый автомат:
й1 -х1 +х2 +х3 +х10 +хн \q , который обладает свойством экстравертности по параметру
q и потому порождает бесконечный автомат и г. д. Эта процедура может быть проделана
достаточное число раз и приведёт на этом этапе к многовходовому конечному автомату:
й1 х1 + х2 +т3 + х1() + х" + ... + х"2+\ | q . (7.50)
й2 раз
После этого к полученному автомату применяется свертка по последним й2-входам с
помощью соотношения х2 = х3 =... = х"2, в результате чего порождается конечный авто-
мат вида й‘ х1 + п1 х2 | q . Схема соответствия, задающая этот автомат, получается в
результате процедуры, порождающей автомат й1 х1 + й2 х2 | q , и имеет вид:
(ИЗ
qt,\ —> )х)п1 +х2 п2 +д,{, (х)п1 +х} п2 + </,), (7-51)
_ _ (х)
где и'= t'e{...«jWg; t'=0v3, (z = l,2); х'= t(x)...x1'xJ; t(=0v3, (1 = 1,2); -пара
W7
цифр из одного разряда подаваемых на вход чисел х1 их2; q е Q = [0,qc] - состояние
автомата, qc - замыкающее состояние, которое находится из уравнения
>3-Й’-Ь3 n2+qc{=qc. (7.52)
Уравнение решается методом последовательных приближений.
По автомат й1 х1 + п- х2 \q вновь по параметру q обладает свойством экстраверт-
ности, выводящим область определения автомата по параметру q за пределы ядра
Q = [0,qc] и порождающим бесконечный автомат, к которому применима свёртка по
состояниям, приводящая к конечному трёхвходовому ав гомату й1 х1 + й2 х 2 + х3 | q ,
который вновь по параметру q обладает свойством экстравертности, и т.д. На некотором
этапе этого процесса мы приходим к автомату
й1 х1 + й2 х2 + х3+х10 Г.. +х"з+2 | q , (7.53)
й3 раз
268
свернув который с помощью соотношения х3 = х>(1 = ... = х"3 по последним п3 входам,
получим конечный автомат с тремя входами и1 х1 + п2 х2 + п3 х3 q , вычисляющий при
q=0 скалярное произведение зафиксированного вектора (я1,и2,и3)е Z.3 и произвольно-
го вектора (x1,x2,x3)e Z3.
Схема соответствия этого автомата имеет вид:
—>)х3 • п1 + х2 п2 + х3
n3+ql(, (х' и1 + х2 п2 + х3 п3 + <?,),
(7.54)
где п’ = x'n‘s...n[ri0; x'=0v3, (/ = 1,2,3); х' -т'хх'г...х{х‘о; т‘,—fivi, (/ = 1,2,3);
тройка цифр из одного разряда подаваемых на вход чисел х*,х2,х3; q <е Q = [0,qc}-
состояние автомата, qc - замыкающее состояние, которое находится из уравнения
п3 +Ъ п2 +h-n3 +qL{=qc . (7.55)
Выбирая по-разному величины п3,п2,п3, получим различные вычислительные уст-
ройства. Например, при выборе й1 = п2 = п3 = 1 получим сумматор для одновременного
сложения трёх чисел. Выбрав далее й1 =1, й2 =-1 й3 =1, получим устройство, склады-
вающее по первому и третьему аргументам и вычитающее по второму аргументу (сумма-
тор-вычитатель). И так далее.
На этом этапе совершенно понятным является переход к общему случаю. В результа-
те получается самое общее устройство такого же типа, включающее в себя операции ум-
ножения на фиксированные (но произвольные) числа и последующие сложения. Хотя мы
и употребили слово «последующие», но устройства вычисляют результат сложного ум-
ножения-сложения без какого-либо следования, вычисляют сразу, синтетически. Сущест-
вование такого рода устройств есть вместе с тем существование самостоятельных опера-
ций, хотя и могущих быть выраженными через сложение и умножение. Сложение и ум-
ножение присутствуют в обозначениях, отражая генезис операций. Но наличие генезиса
операции не исключает её самостоятельности и в конечном счёте в случае построения
для неё минимального автомата (минимального АВУ) отрыва от генезиса.
Нам осталось только привести описание в терминах схем соответствия общего авто-
мата, вычисляющего скалярное произведение.
Пусть й1 ,п2,...,пр — произвольно взятые целые числа. Соответствующий авто-
мат, вычисляющий скалярное произведение, обозначим аналогично предыдущим авто-
матам:
й1-х1+й2-х2+... + йр xp\q. (7.56)
Его схема соответствия имеет вид:
—> )х(1-и1+ . +х,р rip + qt{, {х} п3 +.. + xf np+qt),
(7.57)
269
где и' - т‘п',...п[и[); т‘ = 0v 3, (/ = 1,2,...,3); х'г, -Ov3, (7 = 1,2,...,3);
р цифр из одного разряда подаваемых на вход чисел хх,х2,...,хр ; q е Q = [0,<?с] -
состояние автомата, дс — замыкающее состояние, которое находится из уравнения
)3-л' +3 пг +... + 3- пр +qc {= qc . (7.58)
Уравнение решается методом последовательных приближений (см. § 10).
Семейство автоматов { й1 х1 +п2 -х2 +... + пр хр | q } является р-парамегрическим:
(nl,ii2,...,np)e Zp, ре Nx = {1,2,...} - его параметры. Ещё раз напомним, что каждый из
автоматов этого семейства реализует свою р-мсстную операцию, которая может быть
использована в других аналитических выражениях.
Примеры вычислений устройствами этого семейства рассмотрены в предыдущих
параграфах. Роль устройств, вычисляющих скалярное произведение, потенциально так же
важна, как и роль самого скалярного произведения.
В заключение отметим, что устройство, вычисляющее скалярное произведение, мож-
но получить также из сумматора, осуществляющего одновременное сложение п чисел,
путем свёртки по нескольким группам входов.
Резюме'.
1. Отправляясь от автоматов типа п (х | q) (умножителей на константу) и используя:
1) свойство экстравертности устройств по параметру q (по состоянию), 2) операцию
свёртка по состоянию и 3) операцию свёртка по входу, получаем бесконечное множество
автоматов {nl-х1 + ... + пр-хр \q }, вычисляющих скалярное произведение в р-мсрном
целочисленном евклидовом пространстве (р - любое натуральное).
2. В семействе устройств, вычисляющих скалярные произведения, содержатся, в частно-
сти, все устройства первого ранга, т.е. автоматы сдвига, сумматоры, вычитатели, а также
умножители на константы.
3. Все рассмотренные ранее устройства не выводят за пределы множества Z целых чисел.
4. Многие математические объекты требуют вычисления скалярного произведения. Среди
них, прежде всего, геометрические объекты, вероятностные величины наподобие матема-
тического ожидания, формулы численного интегрирования типа формул трапеции Симп-
сона и т.д. носят характер скалярного произведения. Поэтому роль устройств, вычисляю-
щих скалярное произведение синтетически и максимально быстро, достаточно понятна.
270
Глава 8
Умножители на рациональную константу
§ 1. У множитель 3 • х | q
До сих пор мы имели дело в основном с целыми числами в автоматном представлении.
Положительные целые числа имели более-менее привычное представление, например,
х ~ 0322(4) — это привычное 322 в четверичной системе счисления. Но вот х = 322(4) — это
автоматное представление отрицательного четверичного числа (-12). Автоматное представле-
ние этого отрицательного числа для нас непривычно. Требуется некоторое время, чтобы сооб-
разить, какое отрицательное число даётся этим представлением. Тем не менее все целые числа
получают корректное автоматное представление. Все рассмотренные ранее вычислительные
устройства ведут вычисления с числами, заданными именно в автоматном представлении.
В главе 7, § 6 мы впервые встретились с автоматным представлением рациональных
чисел. Это следующие представления: 1 = -1/3 , 2 = -2/3 . Слева относительно знака ра-
венства стоит автоматное представление числа, справа - представляемое число.
Сейчас мы построим умножитель 3 1 х | q , являющийся одновременно делителем на
три. В этом обозначении слева от вертикальной черты стоит вычисляемая функция
(функционально аргументная часть), а справа - состояние, в которое ставится автомат в
начальный момент времени; пока это обычно момент t~ 0.
Соображения, приводящие к нужному результату, следующие.
Во-первых, символом 3 обозначено число, обладающее свойством: 3-3 |_1. т.е.
3 1 = 1/3. Но 1/3 = -(-1/3) (-1) (-1/3). Поэтому, расписав умножитель (-1) х | с/ (гл. 7,
§ 5), умножающий из начального состояния q =0 число х на (-1), и пропустив через
него автоматное представление для числа (-1/3), т.е. 1 , мы получим автоматное пред-
ставление для 1/3 Проделаем это.
Умножитель (-1) х|</ задаётся таблицей.
Таблица 8.1
Умножитель (-l) x | q = 3 х | q
X \ 3 б
б 3,3 б,б
т 3,2 3,3
2 3,1 3,2
3 3,0 3,1
Пример. Пропускаем через него х = 1 = -1/3 . Развёртка:
°° > / > 1 I)___t_
Т Т х
3 0 9
2 3 у
Результат: (-1) х | б = (-1) 11 б = 3 -Г б = 23 , т.е. 1/3 = 23 .
271
Теперь для построения умножителя вспомним наблюдение, ранее сделанное на се-
мействе умножителей [и-х], где числа «их -целые, (п,хе Z ). Там было отмечено
(см. свойства Gzl-Gz6), что для построения таблицы умножителя 1) достаточно постро-
ить столбец таблицы для состояния q = 0, причём в этом столбце в строке х = 1, если
мысленно отбросить запятую, должно стоять число п , на которое происходит умноже-
ние. Именно по этой клетке таблицы можно узнать тот факт, что автомат умножает на п .
Последующие клетки нулевого столбца равны, соответственно, 2л и Зл . Было отмечено
также, что 2) строка состояний всех автоматов семейства совпадает с множеством всех
натуральных чисел, 3) все остальные столбцы таблицы получаются из нулевого столбца
последовательным прибавлением к нему единицы, если движение происходит в сторону
положительных натуральных чисел, и прибавлением к нему 3 (т.е. минус единицы), если
движение происходит в сторону отрицательных чисел. Наконец, 4) во всей таблице в
строках .г = 0, 1, 2, 3 надо запятой отделить последние цифры чисел. Получившаяся таб-
лица будет искомой.
Например, приведём таблицу для умножителя на число п = 013 .
Таблица 8.2
Бесконечный автомат 013х|<7, (q,x е Z = {...,32,3,0,01,...})
х\ 32 3 0 01 02 03 010 611 012
б 3,2 3,3 б,б 6,1 6,2 6,3 61,0 61,1 61,2
т 61,1 61,2 01,3 02 ,0 02, Т 02 ,2 02,3 03,0 03,1
2 03,0 03,1 03,2 03,3 610,0 610,1 010,2 010,3 611,0
3 610,3 011,0 011,1 611,2 611,3 012,0 612,1 512,2 612,3
Таблица должна быть продолжена влево от столбца q - 32 и вправо от столбца
q =012 до бесконечности. Легко видеть, что все свойства таблицы, указанные в 1)-4),
имеют место.
Последуем рекомендациям 1)4) и построим с их помощью таблицу для умножителя
3 х | q . Строим нулевой столбец таблицы.
Таблица 8.3
Нулевой столбец
х \ 0
0 6,5
Т 2,3
2 1,2
3 6,1
В строке, отмеченной цифрой х = 1, мы поставили 23 . т.е число, на которое происхо-
дит умножение. Мы видим, что в таблице появились состояния q = 2 и q = 1 , которых в
строке состояний таблицы 8.2 и нет. Куда их помещать в шапке создаваемой таблицы?
Нетрудно догадаться: между 3 и 0 . На этом основании сразу же делаем вывод: множест-
272
во состояний умножителя на 3 1 более дробное и шапка его таблицы имеет вид (шагаем
по шапке, т.е. последовательно складываем, влево с шагом q = 1 (= -1/3) и вправо с ша-
гом q = 23 (= +1/3)):
Таблица 8.4
х\ 32 21 То 3 2 Т 0 23 12 01 230 13 02
б о. о
т 2,3
2 1,2
3 6,1
Теперь шапку нужно опустить на строку вниз и отделить последнюю цифру. Для полу-
чения каждой последующей строки надо предыдущую сдвинуть на одну клетку влево.
Это соответствует получению из каждой клетки нулевого столбца клетки последующего
столбца соответствующей строки путём прибавления (при движении вправо) величины
23 = 1/3 и путём прибавления (при движении влево) величины 1 =-1/3 . Получившаяся
таблица и есть искомая таблица умножителя на одну треть или, что всё равно, делителя
на три.
Таблица 8.5.
Умножитель 3 * -х|</
х\ 31 20 103 32 21 То 3 2 Т 0
б 3,1 2,0 10,3 3,2 2,1 Т,о 3,3 2,2 т,т б, б
т 2,0 10,3 3,2 2,1 1,0 3,3 2,2 1,1 б.о 2,3
2 10,3 3,2 2,1 1,0 3,3 2,2 1,1 6.0 2,3 1,2
3 3,2 2,1 1,0 3,3 2,2 1,1 00 2,3 1,2 б,Т
х\ б 23 Т2 61 230 Тз 02 231 Т20
б б, б 2,3 1,2 6,1 23,0 Т,з 6,2 23,1 Т2,0
т 2,3 Т,2 6,1 23,0 Т,з 6,2 23,1 12,0 6,3
2 Т,2 6,1 23,0 Т,з 6,2 23,1 Т2,0 0,3 23,2
3 б,Т 23,0 Т,з 6,2 23,1 12,0 6,3 23,2 12,1
Таблица разбита на две части В верхней части изображено «крыло» таблицы для от-
рицательных состояний, в нижней части - для положительных состояний. Ядро автомата
представлено состояниями (/ = {2,1,0}. Автомат выполняет умножение на одну треть
или, что всё равно, деление на три при постанове его в состояние q = 0 в качестве на-
чального. В процессе деления автомат за пределы ядра не выходит. Автомат, делящий на
три, и его ядро представлены состояниями 0,1 ,2 . При постановке автомата в состояния,
273
отличные от нулевого, автомат вычисляет другие функции, родственные основной функ-
ции х/3 . Их рассмотрим позже.
Из таблицы видно, что при постановке автомата в начальные состояния отличные от
нулевого, при последующей работе автомат неуклонно стремится к одному из финальных
состояний Qfi„ = {3,2,1,0,23}, попав в которое автомат вскоре заканчивает работу. Чтобы
не испытывать терминологических затруднений, будем называть умножители на констан-
ту вида 1/й также делителями на п , в то время как умножители на константу вида т)п
будем называть умножителями на рациональную константу.
Резюме:
Для построения делителя на три используются знакомые правила, суть которых сводится
к следующему:
1. Вместо построения конечного автомата, делящего на три, удобнее оказалось строить
бесконечный автомат, включающий в себя искомый автомат в качестве фрагмента.
(Удобнее потому, что в бесконечном автомате лучше видны закономерности.)
2. Строится шапка бесконечного автомата, содержащая все его состояния Её построение
происходит регулярным образом путём последовательного прибавления к состоянию
q = 0 величины 23 = 1/3 (для нахождения положительных состояний) и величины
1 = -1/3 (для нахождения отрицательных состояний).
3. Из шапки путём отделения с помощью запятой последней цифры состояния строится
строка таблицы бесконечного автомата, соответствующая входному сигналу х = 0.
4. Все остальные строки таблицы строятся из строки для х = 0 путём последовательного
сдвига её на одну клетку влево.
§ 2. Вычисление делителем 3 1 -х | q
Начнём с проверки того, что делитель делит правильно. Возьмём числа, заведомо
делящиеся на три, и пропустим их через делитель. Напоминаем, что «чистое» деление
устройство выполняет при постановке его в начальное состояние q = 0 .
Пример 1. Пусть х = 015(10) = 033(4). Соответствующая развёртка:
0 оо > t > 2 1 0 t
б 3 3 X
б 0 0 0 q
б 1 1 У
Результат: 3 1 033 | 0 = 011. Так как 011(41 = 05(10), то результат правильный.
Пример 2. Пусть х = 030(1С) = 0132(4) . Развёртка:
0 ©о > / > 3 2 1 0 t
б 1 3 2 X
0 0 1 1 б q
б 0 2 2 У
Результат: 3 1 0132 | 0 = 022 . Так как 022(4) = 010([ 0), то результат правильный.
274
Рассмотренные примеры достаточно убедительно показывают, что числа, делящиеся
нацело на три, этим делителем делятся правильно. (Понятно, что это и многие другие,
как ранее встречавшиеся, так и последующие, утверждения, сделанные только на базе
рассмотрения примеров, могут быть доказаны в общем виде. Но мы этим заниматься не
будем, т.к. сказанного всегда бывает достаточно, чтобы прояснить суть дела и увидеть
справедливость высказанных утверждений. «Рассказательства» и «показательства» быва-
ют не менее убедительными, чем доказательства, тем более что они часто раскрывают
идею доказательства.)
Итак, делитель работает правильно. Обратим внимание на то, что получившиеся в ре-
зультате вычислений объекты являются целыми числами. Но не всегда результат вычис-
ления делителем З-1 х | q будет целым числом. В результате работы этого делителя мы
впервые встречаем объекты, не представляющие целых чисел.
Пример 3. Пусть х = 014(10) = 032(4) (число, не делящееся нацело на три).
Развёртка:
оо > Z > 2 1 0 t
б 3 2 1 Тб I 2 2 X Я У
Разберёмся с этим результатом. Подтвердим правильность вычисления. Деление про-
веряется умножением. Поэтому пропустим полученный результат у = 122 через ранее
встречавшийся умножитель на три, заданный таблицей 8.6.
Таблица 8.6
Умножитель 3 х | q
б 61 02
б б,б 6,1 5,2
Т 6,3 61,6 51,1
2 01,2 51,3 02,0
3 02,1 02,2 02,3
Пример 4. Пусть х = 122 . Развёртка:
0 ОО > / > 2 1 0 t
Т 2 2 X
61 61 51 б <?
6 3 2 У
Читаем результат: 3• 122|0 = 032 . То есть при умножении 122 на 3 получается делимое
из предыдущего примера, 032 . Тем самым, проверка умножителем подтверждает пра-
вильность работы делителя.
Вследствие сказанного мы должны признать, что полученный результат деления
(122 ) является автоматным представлением числа 32/3^4) = 14/3(10)> т.е. 32/3(4) = Т22(4) .
275
Но полученный результат необычен. Символом 122 не изображается целое число,
т.к. все целые числа вместо 1 имеют либо 0, либо 3 . Таким образом, мы впервые
встретили устройство, которое в результате своих вычислений выводит за пределы
целых чисел. Такого сорта объекты, которые, не будучи привычными обозначениями для
чисел, размещаются тем не менее на разрядной числовой сетке Gr°, мы договорились
называть числоидами. (Числоидами также являются и привычные обозначения для чисел
или просто числа.)
Итак, мы получили числоид, являющийся результатом вычисления делителя 3 1 х | q
не представляющий целое число.
Во-вторых, разбираясь далее с числоидом 122 , обратим внимание на вычисление,
подобное которому в своё время проводил Эйлер (в дальнейшем все такие вычисления
будем называть Эйлеровыми). Мы имеем:
122 = ...1122 = 2 + 2 1 0 + 1 102 +1 103 +1 10|() +... = 22 +102 (1 + 10 + ...) = 22 + 102 Ь1 =
22^-100 + 100 .ю" ^32 + 100.10~ = 32
т.е. встречавшийся уже результат. Здесь Эйлер отбросил объект 10", скорее всего, по
той причине, что он не принадлежит разрядной сетке. На разрядной сетке невозможно
указать место, куда можно было бы его поставить. А мы считываем только то, что нахо-
дится на разрядной сетке. На ней же мы прочитываем только 32/3.
Впечатляет совпадение результатов: и подсчёт с помощью делителя, и подсчёт по сис-
теме Эйлера дали одно и то же. Ещё более впечатляющим является то обстоятельство, что
такое совпадение вычислений имеет место всегда, т.е во всех вычислениях, проводимых
абстрактными вычислительными устройствами. Вычисления, проводимые АВУ, в
обосновании не нуждаются. Как они устроены, так они и считают. Наша задача - понять
смысл этих вычислений, дать им трактовку. И это всегда удаётся сделать. Вычисления
же, проводимые Эйлером, подверглись суровой критике, им требовалось дать обоснова-
ние. Сам Эйлер не считал, что его вычисления требуют обоснования, в их правильности
он не сомневался. Более того, свои работы по расходящимся рядам он считал весьма по-
лезными (см. статью А. Шпайзера в [18]). Критика вычислений Эйлера базировалась на
представлениях, сформировавшихся значительно позже Эйлера, в частности, на опреде-
лении предела, которое мы условно назовём пределом Коши, ибо оно было приведено им
в одном из первых курсов анализа, где было дано строгое обоснование анализа именно на
основе этого определения. Это обоснование вскоре стало общепринятым, и всё приводи-
лось в соответствие с ним. Но вычисления Эйлера не нашли согласия с определением
предела Коши, что и послужило им приговором. Однако мы не будем так скоро отвергать
вычисления Эйлера, потому что абстрактные вычислительные устройства, проводящие
вычисления порой самым неожиданным способом, ведут вычисления в том числе и по
Эйлеру. Причём, повторим, вычисления, проводимые абстрактными вычислительными
устройствами, в обосновании не нуждаются; с нашей стороны необходимо лишь осмыс-
ление их работы.
Эйлеровы вычисления помогают решить одну проблему, связанную с функциониро-
ванием АВУ и, в частности, абстрактных автоматов. Если посмотреть на развёртку рабо-
ты автомата, то в ней загадкой является строка состояний. На вопрос, каков её вычисли-
тельный смысл, ответа, что она показывает, как автомат в процессе вычисления перехо-
дит из одного состояния в другое, недостаточно. Мы уже говорили, что для обозначения
состояний автомата можно использовать любые символы. Функционирование автомата от
276
этого не нарушится. И такой произвол в выборе обозначений для состояний может запу-
тать ситуацию и не дать ответа на поставленный вопрос. Но если для состояний исполь-
зовать те обозначения, которые подсказываются самими автоматами и которые мы ис-
пользуем, то оказывается, что строка состояний приобретает вычислительный смысл и
коэффициент при игнорируемом множителе 10*" в Эйлеровых вычислениях увязывается
с финальным состоянием в строке состояний развёртки во времени работы автомата. На-
личие Эйлеровых вычислений позволяет обнаружить этот факт. Позже мы вернёмся к
этому. Разрыв, встречавшийся в развёртках, отделяет вычисления на сетке Gr° от вычис-
лений в области бесконечно больших чисел.
К вопросу о том, чао абстрактные вычислительные устройства ведут вычисления,
порою самым неожиданным образом, относятся и вычисления делителем 3 х | q
В том, что он делит правильно, мы убедились. Но как делит? Присмотримся к развёрткам,
где даётся слежение во времени за его работой. На вход делителя числовая информация
поступает от младших разрядов к старшим. Следовательно, делитель делит числа от
младших разрядов к старшим. Но так делить нас не учили. Нас учили делить от старших
разрядов к младшим. Таким образом, в таблице 8.5 в столбцах состояний 0,1,2 заклю-
чён алгоритм деления от младших разрядов к старшим.
Итак, разбор показал, что числоид 122 есть автоматное представление дроби 32/3:
122 = 32/3. (8.1)
С помощью делителя З-1 х | q произошёл выход за пределы множества целых чисел.
Эффект, обнаруженный на рассмотренном частном примере, обобщается: обратные АВУ
выводят за пределы областей определения «прямых» АВУ - явление, имеющее место и в
других случаях.
Резюме'.
1. На примерах мы убедились, что построенный делитель 3 • х | q правильно делит все
те целые числа, про которые известно, что они делятся на три.
2. Обнаружилось, что существуют целые числа, результат деления которых делителем
З-1 х | q не представляется числоидами, используемыми для изображения целых чисел.
3. Делитель 3 1 х | q делит необычным образом: от младших разрядов к старшим.
4. Все результаты деления целых чисел делителем 3”’ х | q , выражаемые объектами, не
представляющими целые числа, представляют рациональные числа. Таким образом, вве-
дение рациональных чисел происходит с помощью делителей и-1 • х | q , где п е Z (но
этими делителями дело не ограничивается; см. далее).
5. Для всех результатов вычислений, проводимых абстрактными вычислительными уст-
ройствами (в роли представителей которых пока выступают абстрактные автоматы, ко-
нечные или бесконечные) всегда существует «параллельное» Эйлерово вычисление, при-
водящее к тем же результатам, что и автоматное вычисление. Учитывая наличие этого
параллелизма, мы можем считать, что абстрактные вычислительные устройства ведут
свои вычисления в том числе и по Эйлеру.
§ 3. Формульное задание делителя 3 -х | q
Таблица 8.5 ядро которой задаёт делитель 3 1 х | q , по структуре своей подобна таб-
лицам для умножителей. Это является следствием того, что при построении таблицы 8.5 мы
пользовались, по существу, теми же закономерностями, что и при построении таблиц для
277
умножителей (с небольшими вариациями). Но с таблицами для умножителей мы увязыва-
ли в качестве параллельного варианта задание с помощью формул. То же можно сделать и
для автомата, заданного таблицей 8.5. Причём формульное задание или, что эквивалент-
но, задание с помощью схем соответствия структурно останется практически тем же, что
и у ранее встречавшихся умножителей. Отличие будет только в том, что в ранее написан-
ных формулах вместо целого п придётся поставить автоматное представление 23 для
числа 1/3. Таким образом, схемы соответствия, написанные ранее только для целых п , в
действительности имеют смысл для любых числоидов (в этом проявляется экстраверт-
ность по п ).
Напомним схемы соответствия, задающие автоматы п • х | q . Они таковы:
q,x )x-n+q{, {x-n+q} , (8.2)
где q,neZ - любые целые числа, а хе ZI4I- цифра подаваемого на вход числа
х = тх,....ХуХ0 , т ~ О V 3. Умножители на цифры канонизированы и заданы таблицами 7.1,
7.2, 7.3, 7.6, которые мы для удобства воспроизведём здесь одной таблицей:
Таблица 8.7
Умножители на цифры из Z(4)
0-х 1-х 2-х 3-х
х\ б х\ б \z х\ 5 51 \<7 х\ 5 51 52
б 5,6 б 5,5 б б,б 5,1 б б,б 5,1 6,2
т 5,5 т 5,1 1 5,2 5,з 1 6,3 51,0 51,1
2 5,5 2 0,2 2 61,0 61,1 2 01,2 51,з 02,0
3 5,5 3 б,з 3 61,2 51,з 3 02,1 02,2 02,3
Пропустим представление 23 для числа 1/3 через умножители на цифры из табли-
цы 8.7:
0- 23 1- 23
0 оо > t > 1 0 t 0 ^>t> 1 0 t
2 3 X 2 3 X
б 0 0 я 0 б 6 я
0 0 У 2 3 Т
2- 23 3- 23
0 ОО > t > 1 0 1 0 оо > t > 1 0 t
2 3 X 2 3 X
51 51 5 я 52 02 б я
Т 2 У 5 1 У
(До сих пор мы прогоняли через них только числоиды, представляющие целые числа;
числоид типа 23 , представляющий нецелое число, прогоняется через них впервые.) Мы
изобразили все развёртки работы этих умножителей при прохождении через них числоида
23 . Результаты вычислений выпишем столбиком:
278
0-23 = б
1-23 = 23
2-23 = 12 (8-3)
3 23 = 01
Столбцом значений справа заполняется столбец q = 0 таблицы делителя 3 1 • х | q (с по-
следующим отделением последней цифры запятой). Мы видим, во-первых, что умножи-
тели на цифры вполне работоспособны не только на целых числах, но и на произвольных
числоидах. Именно это обстоятельство является причиной экстравертности умножителей
на константу по параметру п . Во-вторых, подтверждается правильность представления о
том, что для построения делителей нужно в схему соответствия (8.2) подставить объект,
представляющий делителя. В нашем случае объектом, представляющим делитель, являет-
ся числоид 23 , который мы «случайно» нашли ранее, и в этом параграфе воспользова-
лись этой находкой. Но есть регулярный способ нахождения объектов, представляющих
делители на целые числа п . Дадим ему описание на рассматриваемом примере. Числовой
объект, представляющий делителя на три, который мы обозначили символом З-1, облада-
ет свойством: 3 3 1 =1. Представим себе, что он нам неизвестен, и запишем его ъ виде:
3 = ...xr...xtxu, где х, е Z^ = {0, 1, 2. 3}, (/=0,1 ...) - цифра, подаваемая на вход. Пропус-
тим его через умножитель 3 х , зная, что на выходе должна получиться единица. Изобра-
зим развёртку работы этого умножителя:
2 1 0 t
Х1 Хо X
? ? 0 ч
б 1 У
(Благодаря свойствам символа 0 мы имеем возможность экономно записать эту развёрт-
ку и не писать несколько похожих переходов, сопровождая их, как это обычно делается,
многоточием для указания движения в бесконечность.)
С самого начала нам известны результат вычислений (строка у) и начальное состоя-
ние автомата q = 0. Неизвестна строка х и строка состояний, что отмечено знаками «?».
Однако, поскольку таблица автомата 3 х известна, неизвестные строки могут быть вос-
становлены.
Так, при t = 0 мы спрашиваем себя «Под воздействием какого входного сигнала х0
автомат из состояния q = 0 вырабатывает выходной сигнал 1?» По таблице 8.6 (или 8.7)
находим, что имеется единственная возможность: хо = 3. Следующий вопрос таков: «В
какое состояние переходит автомат из состояния q = 0 под воздействием входного сигна-
ла Хо = 3?» По таблице 8.6 находим ответ: в состояние q = 02 . Это позволяет внести уточ-
нение в развёртку:
2 1 0 I 1
X] 3 х
? 02 б Я
б 1 у
Аналогично при t = 1 спрашиваем себя: «Под воздействием какого входного сигнала X]
автомат из состояния q = 02 вырабатывает выходной сигнал 0 ?» По таблице 8.6 нахо-
279
дим, что имеется единственная возможность: х, = 2 . Следующий вопрос таков: «В какое
состояние переходит автомат из состояния q=02 под воздействием входного сигна-
ла х( = 2 ?» Опять же по таблице 8.6 находим единственный ответ: в состояние q = 02 . Это
позволяет внести дальнейшее и окончательное (потому что на выходе получился сигнал
со стрелкой) уточнение в развёртку:
0 оо > t > 1 0 t
2 3 X
02 02 б 9
б 1 У
Мы получили знакомый результат: 1/3 = 23.
Аналогично можно поступать при поиске всех представлений п~' для всех целых чи-
сел п . Описанный метод нахождения представителя для делителя опирается на знание
умножителя п х qlk). А такие умножители известны при всех целых п и описаны в
главе 7. Поэтому задача поиска представителя для и всегда разрешима. Однако реше-
ние не всегда находится на сетке Gr°, что, с одной стороны, осложняет рассмотрение, а с
другой стороны, расширяет понимание сути вопроса. Программная реализация этого ал-
горитма позволяет продвинуться при этом поиске достаточно далеко (насколько позволя-
ют возможности используемого компьютера).
С помошью столбца (8.3) заполняется нулевой столбец (т.е столбец для состояния
q = 0) таблицы делителя 3 1 х | q После заполнения этого столбца обнаруживается, что
у автомата есть два новых состояния q = 1 и q = 2 . Эти состояния представлены числои-
дами, с которыми умножители на цифры из таблицы 8.7 и сумматоры вполне могут рабо-
тать, и потому схемы соответствия (8.2) при их последующем неограниченном примене-
нии дают в итоге табличное задание автомата 3 1 х | q . Тем самым, обнаруживается со-
гласование формульного (8 2) и табличного заданий автомата З-1 х | q
Резюме:
1. Абстрактные автоматы, являющиеся нормальными делителями на произвольное целое
число, могут быть заданы с помощью формул или, что эквивалентно, с помощью схем
соответствия (8.2), в которых вместо натурального п надо ставить автоматного предста-
вителя для н 1 .
2. В наличии одних и тех же схем соответствия (8.2) как для умножителей, так и для дели-
телей проявляется родство новых устройств, делителей с уже существующим семейством
умножителей, а также свойство экстравертности семейства умножителей по параметру п
в дополнение к обнаруженной ранее экстравертности по параметру q .
3. Существует алгоритм нахождения автоматных представителей для п- , частный слу-
чай которого описан в этом параграфе для п = 03 . Алгоритм нахождения предст авителя
для делителя опирается на знание умножителя п х | q^ . Такие умножители известны при
всех целых п и описаны в главе 7. Поэтому задача поиска я 1 разрешима при любом
целом п , но решение этой задачи не всегда находится на исходной разрядной сетке Gr,
что приводит к полезным с познавательной точки зрения осложнениям.
280
§ 4. Свёртка делителя /? 1 л~ | с/ по параметру q
Мы уже отметили, что делители п 1 х | </ и умножители п х задаются одной и
той же схемой соответствия (8.2). В главе 7 было показано, как осуществляется свёртка
умножителей по параметру q . Аналогично даётся описание свёртки по параметру q и
для делителей. Не будем повторяться, приведём лишь результат свёртки. Введём
обозначения:
Й-1 = TVj.-VjV,,
< х - х1 = i1x,1...x11xj, (8.4)
— —7 —7 7 7 7
q = х = 'г'Хг...х{Хц,
т = 0 v 1 v 2. v 3.
Числоид, представляющий й 1, может иметь иную разрядность, чем числоиды х и q ,
что отмечено в обозначениях (8.4).
На вход свёрнутого делителя числа х и q поступают равноправно, что отражено в
новых для них обозначениях. Вход свёрнутого делителя имеет два подвхода: подвход для
числа х = х1 и подвход для числа q = х2 . Поступление на вход поразрядное, причём
одинаковые разряды поступают одновременно:
( 1*1 I ( Т-1 \1 1*1 I I 1*1 Н 1*1 I
•А V «VI Л/1
= 1 . (8.5)
у 2 I т-2 II у2 I -у-2 -у-2
\J \ \\л0 )
(*!) ж
где - пара цифр одного разряда.
Схема соответствия свёрнутого делителя имеет вид:
_ f х1 )
<7 | —> )х* пг1 + х2 +</(, (х1 + х2 +q) , (8.6)
l^x2 )
где </ - состояние свёрнутого автомата (не путать со «старым» q , т.е. с состоянием
исходного автомата й 1 - х|<7). Делитель начинает работу из начального состояния
q = 0. Замыкающее состояние qci как обычно находится из уравнения
ХЛ-1) Я-1+(i-l) + g( = q (8.7)
где к - основание системы счисления, которое решается методом последовательных при-
ближений.
Конечный автомат, описанный схемой соответствия (8.6), при постановке его в со-
стояние <7 = 0 в качестве начального вычисляет функцию двух переменных
/(х*,х2) = й х1 +х2, содержащую в себе деление и сложение. Однако он не выполня-
ет последовательность действий, состоящую первоначально из деления и затем сложе-
ния; оп вычисляет эту функцию синтетически, сразу, как новую самостоятельную двух-
местную операцию. При постановке автомата в произвольное состояние q автомат
вычисляет /Дх1 ,х2) = й-1 х1+х2+<7 - функцию, родственную основной функции
/(х‘,х2) = й 1 х1 +х2. В равенстве (8.6) величины х1, х2, п - целые, q берёгся из мно-
281
жества состояний автомата, которое содержит в себе не только целые числа, но и новые
числоиды:
Он ' ={Ч \Ч = тп~', те Z} . (8.8)
(Умножители на целую константу т описаны в главе 7.)
Синтезированный посредством свертки автомат обозначим символом й 1 -х1 + х2 | q ,
в котором слева от вертикальной черты стоит основная вычисляемая функция (т.е. функ-
ция, вычисляемая при постановке автомата в начальное состояние q = 0), а справа - со-
стояние, в которое ставится автомат в начальный момент времени. Непосредственно по-
сле синтеза автомата этим состоянием является состояние из множества
q е Q--} d =[0,^с(], где qci - замыкающее состояние, являющееся решением уравнения
(8.7). Впоследствии после экстравертирования по параметру и это множество состояний
расширяется до множества (8.8).
Резюме:
1. Для бесконечного одновходового автомата п 1 х | q , являющегося делителем на целую
константу п , существует конечный двухвходовый автомат п-1 х1 + х~ | q , получающий-
ся из исходного бесконечного автомата методом свёртки, вычисляющий в качестве своей
основной функции н~1 -х' +х2 | 0 функцию f(xl ,х2) = п 1 -х1 +х2 . Эта функция охваты-
вает все вычислительные возможности бесконечного автомата й 1 х | q . Но синтезиро-
ванный конечный автомат обладает большими вычислительными возможностями, чем
исходный бесконечный автомат, поскольку он способен вычислять функции
/^(х1,*’) = й-1 -х1 + х2 + q , недоступные для бесконечного автомата. Таким образом,
хотя синтезированный автомат конечен, по своим вычислительным возможностям он
превосходит бесконечный автомат, от которого происходит.
2. Конечный автомат й х1 + х2 | q , если поставить его в состояние q = 0 в качестве на-
чального, полностью эквивалентен бесконечному одновходовому автомату й 1 х | q . Однако
если его поставить в состояние q * 0 в качестве начального, то он обладает дополнительны-
ми возможностями - вычисляет функцию (х1, х2) = й_| • х1 + х2 + q , отличную от основ-
ной функции /(х1,*2) = й_| х1 +х2 , вычисляемой бесконечным автоматом. В этом прояв-
ляется свойство экстраверт ности синтезированного конечного автомата по параметру q .
3. Благодаря свойству экстравертности по параметру q конечного двухвходового
автомата й-1 х1 + х2 | q на его основе порождается бесконечный двухвходовый автомат с
множеством состояний (8.8), который может быть свёрнут в конечный трёхвходовый
автомат, и т.д. Подобное уже встречалось, поэтому не будем на этом задерживаться.
§ 5. Появление новых числовых объектов. Необходимость
расширения разрядной сетки
При изучении делителя на три, 3 * х | q , мы впервые при вычислениях столкнулись с
числовыми объектами, отличными от целых чисел. Эти новые объекты выступали в роли
состояний делителя на три. Множество его состояний имело вид:
282
Q3-i = {q | q = m • 23 | 0, m e Z} (8.9)
Чтобы получить это множество, согласно (8.9), умножитель m-x\q на целую констан-
ту т, т e Z, необходимо поставить в начальное состояние 0 и через него пропустить
23 -числоид, представляющий 1/3. Перебрав все такие умножители для всех целых кон-
стант me Z, мы получим в итоге множество Q. Это множество располагается в строке
состояний таблицы 8.5. Тем самым, мы шагаем по строке состояний таблицы делителя
З-1 х | q с шагом 1/3 = 23 . Мы видим, что в этой строке помимо числоидов, представ-
ляющих целые числа, содержатся новые числоиды: 20, 103, 21, 10, 2, 1, 23. 12,
230, 13, 231 и т.д. Некоторым из них мы уже дали истолкование 1 =—1/3, 2 = —2/3.
Аналогичные истолкования получают и все другие содержащиеся здесь числоиды: ими
изображаются рациональные числа, кратные 1/3. Чтобы в этом убедиться, достаточ-
но пропустить, например, числоид 23 = 1/3 через умножители типа m-x\q, те Z
Обратимся, например, к уже встречавшейся таблице умножителя на тринадцать (четве-
ричное):
Таблица 8 8
Конечный автомат 01 З х \q , (хе Z ,qe. Q„uc = [0,012])
х\ 0 61 02 03 010 611 012
0 б, б 6,1 6,2 6,3 61,0 61,1 61,2
Т б 1,3 02 ,0 02, Т 02 ,2 02,3 03,0 03,1
2 63,2 03,3 610,0 610,1 010,2 610,3 611,0
3 611,1 011,2 611,3 612,0 612,1 612,2 512,3
(Напоминаем, что символом О1т, обозначено ядро состояний автомата, т.е. множество
состояний, обладающее свойством: из состояний ядра автомат переходит только в состоя-
ния ядра, причём все состояния ядра достижимы из состояния q = 0 Множество
Q„lt = [0,012] изображено в виде целочисленного сегмента.)
Приведём развёртку во времени работы автомата 013 х \q, показывающую процесс
вычисления этим автоматом при подаче на его вход числоида 23 = 1/3 :
0 оо > / > 2 1 0 t
2 2 3 X
010 610 611 6 ч
2 3 1 У
(Напомним, что сигнал со стрелкой подаётся на вход устройства до тех пор, пока на его
выходе также не появится сигнал со стрелкой, являющийся сигналом автоматического
останова устройства.)
Запишем результат: 013 23|0 = 231. Поскольку 231 = 13/3(41 = 7/3(1(|) , то результат,
очевидно, правильный. Из него следует, что в строке состояний делителя 3 1 х | q со-
стояние = 231 должно находиться на седьмом месте справа от q = 0 , где оно в действи-
283
тельности и находится. Результат вычисления 231 = 13/3(4) = 7/3(jo) получил истолкова-
ние в виде рационального числа, кратного 23 = 1/3 .
Аналогичные утверждения справедливы для всех других результатов вычисления
{ш-23|0, те Z}. Тем самым, все элементы строки состояний делителя З-1 х j полу-
чают истолкование в виде рациональных чисел, кратных 23 = 1/3, как и утверждалось.
Этот результат необходимо обобщить
Прежде чем это делать, обратим внимание на то, что числоиды, представляющие числа,
отличные от целых, впервые появляются у нас не где-нибудь, а при нумерации состояний
автомата 3 1 -х | q , в шапке таблицы 8.5 этого автомата. Этим фактом будем пользоваться.
Теперь зафиксируем, в результате каких действий получается множество числоидов,
представляющих состояния в строке состояний подобных делителей (для формулировки
общего результата заменяем 3 на п ):
1) находим числоид v. представляющий число й = v « tvs...V]Vo
(судя по виду числоида, мы ограничиваемся пока только теми п , для которых й суще-
ствует на разрядной сетке G7'": в дальнейшем от этого ограничения мы освободимся);
2) пропускаем числоид v через все умножители т х | q , те Z .
В результате получается множество числоидов, представляющих все рациональные чис-
ла, кратные й . Одновременно это будет множество всех состояний автомата й х | q .
Чтобы получить множество числоидов, представляющих все рациональные числа,
процедуру пунктов 1) и 2) нужно выполнить для всех in, п е Z .
Получившееся множество числоидов символически описывается так:
{тп1 б}, (m,ri е Z). (8.10)
Есть, однако, другая процедура, позволяющая найти множество числоидов, представ-
ляющих все рациональные числа. Она опирается на определение обратного автомата и
использование алгоритма обращения автоматов, описанного в [13]. (Этот алгоритм реали-
зован А. В. Ламковым. Им проведено вычисление обратных автоматов для большого мас-
сива умножителей на константу для различных систем счисления от к = 2 до к= 12.
В результате создаётся множество автоматов й • х | q (без предварительного нахожде-
ния числоида v для й-*). После этого через построенное множество автоматов 77 х | q
прогоняется множество всех целых чисел, и, собрав результаты всех таких вычислений,
получаем множество числоидов, представляющих рациональные числа. Получившееся
множество числоидов символически описывается так:
(й ' /й 0], (т,п е Z). (8.11)
Сравнивая (8.10) с (8.11), видим, что описанные процедуры получения числоидов, пред-
ставляющих рациональные числа, являются взаимно дополнительными.
Возможен также ещё один подход, состоящий в нахождении ядра делителя й -x\q (это
делается за конечное число шагов), которого достаточно для вычисления множества (8.11).
Итак, мы имеем не только описание различных процедур порождения числоидов,
представляющих рациональные числа, но и описание процедуры получения бесконечных
абстрактных автоматов п~ x\q , являющихся делителями на целые числа й е Z , потому
что для построения этих делителей, как уже было сказано, достаточно построить их стро-
ку состояний, а это делается в соответствии с пунктами 1) и 2), приводящими к порожде-
нию множества рациональных чисел, кратных й 1 .
284
Последовательность действий, приводящих к построению делителя л-* х | q , такова:
1. Задаёмся натуральным числом п е Z .
2. С помощью умножителя п х | q находим числоид v, представляющий 17 1 .
3. С помощью умножителей на цифру (табл. 8 7) строим нулевой столбец делителя,
состоящий из элементов 0, v, 2v, Jv .
4. Столбцы справа от нулевого получаются последовательным сложением с числоидом v
5. С помощью умножителя (-1) х | q (гл, 7, § 5), позволяющего находить противопо-
ложный числоид (-х) ио отношению к числоиду х , находим числоид (- v)
6. Столбцы слева от нулевого получаются последовательным сложением с числоидом
(-V).
7. Во всех клетках получившейся таблицы отделяем запятой цифру из разряда десят-
ков от остальных цифр младших разрядов.
Делитель построен.
Дополнительная возможность: после построения ядра делителя множество всех его
состояний можно вычислять по формуле: {q = п ' ir | 0}, (т е Z)
Экстравертные возможности делителей проявляются ещё с одной стороны. Оказыва-
ется, они заставляют нас расширять разрядную сетку. Этот эффект называется экстра-
вертностью по сетке. Рассмотрим частные случаи.
Пример 1 Возьмём п = 2 и построим делитель 2-1 х | q .
Согласно пункту 1 находим, прежде всего, числоид v, представляющий число 2"’
В силу равенства 2- 2 1 = 1 при прохождении числоида v через умножитель 2 х | q , по-
ставленный в начальное состояние q = 0, на выходе должна появиться единица:
2• v 10 = 01. Используя это, мы должны найти » 1 = v = tvs...V]Ve .
Для удобства приведём здесь табличное задание умножителя 2 х | q .
Таблица 8.9
Умножитель 2 х | q
\<7 х\ б 51
б б, б 6,1
1 5,2 б,з
2 51,0 61,1
3 01,2 61,3
Изображаем развёртку, показывающую процесс вычисления умножителем при подаче на
его вход числоида v . Для начала изображаем только первые такты:
1 0 I /
Vi v0 х
? ? 5 9
0 1 у
Первый вопрос: «Каким должен быть входной сигнал Vo, чтобы автомат из состояния q = 0
на выходе выдал единицу?» Из таблицы 8.9 получаем ответ: «Нет такого сигнала». Это
285
означает, что раз нет Vo, то нет Vi и т.д. Следовательно, нет числоида v . Точнее, нет чис-
лоида v на той разрядной сетке, с которой мы имеем дело. А эта разрядная сетка такова
G,oeGr^ (8.12)
В ней чёрточками обозначены места (разряды), на которые ставятся цифры той системы
счисления, в которой ведётся вычисление. Места занумерованы. Обычно при записи чи-
сел чёрточки и номера опускаются. На этой разрядной сетке искомого числоида v не
существует. Но ничто не мешает нам расширить разрядную сетку вправо. Добавим для
начала одно место (добавлять можно только справа):
<Ч-П=---------- (8-13)
1 ’ J 2 10-1
Единица, которая должна получиться в результате вычислений, на сетке (8.13) имеет та-
кое представление:
...0010, (8.14)
2 10-1
т.е. 1 = 010 (под единицей для ориентировки поставлен номер нулевого разряда; стрелка,
о
как всегда, показывает направление роста разрядов); числоид v на этой сетке имеет пред-
ставление: я"1 = v = TVs-.VjVoV.]. Вычисление умножителем 2 х\в при подаче на его
вход числоида v на расширенной разрядной сетке с заранее известным результатом
(8.14), т.е. единицей на выходе, имеет вид:
1 0 -1 t
V1 Vo V-1 X
7 7 7 0 ч
б 1 0 У
Теперь первый вопрос звучит так: «Каким должен быть входной сигнал v_b чтобы авто-
мат из состояния q = 0 на выходе выдал ноль?» Из таблицы 8.9 получаем ответ: «V = 0
или V-i = 2». Значит, возможны два варианта.
Вариант 1 Вариант 2
1 0 -1 t 1 0 -1
V1 Vo 0 X V1 Vo 2
9 ? 7 б ч 7 ? 7 б
б 1 0 У б 1 0
Далее спрашиваем. «В какие состояния переходит автомат под воздействием входного
сигнала v_j?>> По таблице 8.9 находим ответ для обоих вариантов и заполняем развёртки'
Вариант 1 Вариант 2
1 0 -1 t 1 0 -1 t
V| Vo 0 X V, Vo 2 X
? 7 б б ч 7 ? 61 б ч
б 1 0 У б 1 0 У
Далее при 7=0 для состояний q=0 и </=01 задаётся вопрос: «Под действием какого
сигнала Vo автомат из этих состояний вырабатывает выходной сигнал 1?» По таблице 8.9
находим ответ: «Для состояния q = 0 не существует такого входного сигнала, а для со-
стояния <7 = 01 таким сигналом является v00 = 0 или v0 = 2». Вывод из рассмотрения вари-
286
анта 1: для представления числа 2 1 на расширенной сетке не существует числоида вида
2-1 = v = fvs...VjVoO. Для дальнейшего рассмотрения остаётся вариант 2, который, в свою
очередь, распадается на два варианта, которые мы изобразим так:
Вариант 2.1 Вариант 2,2
1 0 -1 t 1 0 -1 t
Vi 0 2 X Vi 2 2 X
? 0 61 0 <7 9 61 61 6 q
6 1 0 У 6 1 0 У
Далее спрашиваем: «Какими должны быть сигналы V в обоих вариантах, чтобы автомат
на выходе выработал сигнал 0?» Ответ: «В варианте 2,2 такого V] не существует, в вари-
анте 2,1 существует два значения: V] = 0, V] =2». Вывод из рассмотрения варианта 2,2:
для представления числа 2~* на расширенной сетке не существует числоида ви-
да v = tvs...V]22 . В варианте 2,1 есть две возможности, причём одна из них со стрелкой.
Сигнал со стрелкой может служить указанием на окончание работы, если на выходе также
получится сигнал со стрелкой. Но это так и есть, что видно из приведённых далее развёр-
ток. Как видно, в варианте 2,1,1 происходит окончание работы устройства, и мы получаем
результат: в роли числоида v, представляющего число 2, может выступать числоид из
варианта 2,1.1: v = ...00002 = 02 (нолик снизу отмечает нулевое место на разрядной сетке
о о
вместо привычной запятой).
Вариант 2,1,1 Вариант 2,1,2
...2 1 0 -1 t ...2 1 0 -1
6 0 2 X 2 0 2
0 6 01 6 q 01 6 01 6
6 1 0 У 0 1 0
Рассматривая далее вариант 2,1,2, приходим к выводу о несуществовании на расши-
ренной разрядной сетке числоидов вида v = tvs...v2202 для представления 2-1.
о
Общий вывод: нарасширенной сетке описанной процедурой находится единственный
числоид, представляющий число 2-1:
1/2 = 2-> =...00002 = 02 (8.15)
о о
Теперь вернёмся к развёртке
1 0 I I <
Vi v0 V_i х
? ? ? 0 <7
6 1 Оу
и выясним, нельзя ли переформулировать вопрос так, чтобы не было необходимости пе-
ребирать варианты? Оказывается, можно, и переформулированный вопрос должен зву-
чать так: «Каким должен быть входной сигнал V, чтобы автомат из состояния q = 0
выработал выходной сигнал 0 и при этом перешёл в такое состояние, из которого в сле-
дующем такте возможна выработка выходного сигнала 1?» При постановке вопроса в
таком виде отпадает необходимость рассматривать два варианта. Но, очевидно, это более
сложная постановка вопроса, не характерная для функционирования автоматов. В данном
287
случае мы сталкиваемся с ситуацией, когда, чтобы избежать неоднозначности ответа (из-
бежать разбора вариантов), необходимо предвидение на один такт. Однако автомат
2 х | q , с которым мы работаем, функцию предвидения не реализует; он вычисляет, реа-
гируя в каждом такте на поступивший сигнал вырабатыванием информации о новом со-
стоянии и выходном сигнале, и только. Предвидение, чтобы избежать неоднозначности,
нам понадобилось при обратном процессе, при поиске слова, подаваемого на вход, по
известному результату на выходе. Поэтому предвидение может как-то отразиться (или
проявиться) при нахождении делителя 2-1 х | q , к поиску которого мы и приступаем.
Согласно сказанному выше, нам понадобятся умножители на цифры, которые для удобст-
ва мы вновь приведём здесь:
Таблица 8.7
Умножители на цифры из Zm
0-х 1 X 2-х 3-х
х\ б х\ б х\ 5 51 х\ б 51 02
б 6,5 б б, б 5 5,0 5,1 5 5,0 5,1 5,2
т 6,5 т 5,1 I 6,2 б,з Т 5,з 51,6 61,1
2 б, б 2 0,2 2 61,0 61,Т 2 51,2 61,3 52,5
3 6,5 3 5,з 3 61,2 51,з 3 02,1 92,2 02,3
Через эти умножители мы должны пропустить числоид v = 02 , представляющий число
о
2 1. Изобразим четыре соответс 0 02 0 1=0 t > 0 -1 твующие развёртки. 1 02 0 t t=0 t > 0 -1 1
б 2 боб 6 0 202 0 1=0 t > 1 0 X Ч У -1 б 2 боб б 2 302 0 t t-0 t > 1 0 -1 X q У t
б 5 2 5 б 51 б б 1 0 Запишем результаты: 0-52 = 00, 1 02 = ' 0 0 0 Можно продолжить: 10 02 = 020, И 02 = 0 0 0 0 х 0 0 2 ? 5 б 51 б у 0 12 12, 2 02 = 610, 3 02 = 012. 0 0 0 0 22, 12 02 = 030, 13 02 = 032,. 0 0 0 0 0 X Ч У
Пропустим ещё числоид v = 02 через умножитель на (-1), представленный знакомой табли-
о
цей (заметим, что имя автомату даётся по вычисляемой им основной функции, хотя в действи-
тельности он способен вычислять бесконечное множество других родственных ей функций).
288
Таблица 8.10
Бесконечный автомат (-1) х | q . (jx,q е Z = {...,32,3,0,01,02,..,})
х\ 31 32 3 б 61 02 03 010
б 3,1 3,2 3,3 б,б 5,1 0,2 0,3 61,0
1 3,0 3,1 3,2 3,3 6,5 6,1 0,2 б,з
2 32,3 3,0 3,1 3,2 3,3 0,0 5,1 5,2
5 32,2 32,3 3,0 3,1 3,2 3,3 б.б 5,1
Используя таблицу 8.10, изобразим развёртку работы этого автомата при вычислении
произведения (-1)02:
о
ОС > t > 0 -1 t
5 2 X
3 0 q
3 2 У
Получившийся результат записывается так: (-1) 02 = 32 . Он используется при построе-
0 о
нии строки состояний делителя на два.
Последуем упомянутым выше рекомендациям и построим строку состояний делителя
и по ней заполним столбцы, отделив запятой старшие разряды, начинающиеся с десятков,
от младших; при этом в группу младших разрядов попадают две цифры, одна из которых
(правая) младше другой, причем левая цифра - это цифра из разряда единиц.
Таблица 8.11
Делитель 2 х | q
X \ 32 0 0 02 0 610 0 012 0 020 0 022 0 030 0 032 0
б 3, 32 0.00 0,02 0,10 0,12 0,20 0,22 0,30 0,32
т 0,00 0,02 0,10 0,12 0,20 0,22 0,30 0,32 01.00
2 0,02 0,10 0,12 0,20 0,22 0,30 0,32 01,00 01,02
3 0,10 0,12 0,20 0,22 0,30 0,32 01,00 01,02 01,10
Внутри таблицы состояния для простоты обозначены без стрелок
Мы видим, что таблица обладает особенностями, которые мы сформулируем так:
1) состояния, изображаемые числоидами q Ф 0, недостижимы из начального состояния q = 0 .
2) таблица имеет бесконечно много состояний;
3) таблица имеет конечное ядро, состоящее из одного состояния Q„uc = {0};
4) можно сказать, что ядро обладает большой притягивающей силой, т.е. существует до-
вольно много состояний (02 010 012.020), из которых автомат после подачи первого
о в о о
же входного сигнала сразу переходит в состояние q = 0 и больше из него не выходит;
5) таблица делителя необычна тем, что на месте выходного сигнала, где обычно стоит
только одна цифра, стоят две цифры из двух разных разрядов;
6) делитель осуществляет деление на два, находясь в начальном состоянии q = 0 и не
выходя из него в процессе всего деления.
289
С такими автоматами мы ещё не встречались, поэтому рассмотрим его подробнее.
Рассмотрим пример деления на два.
Пример 2. Пусть х = 032 . Прогоним его через делитель. Развёртка:
0 1>2 1 0 t
6 3 2 6 6 6 6 0 12 10 X я У
В результирующей строке правый 0 - это цифра из разряда (-1), а единица слева от неё -
цифра из разряда 0; в следующей паре 12, полученной при 1=1, цифра 2 принадлежит
предшествующему разряду 0, а цифра 1 - разряду 1 и т. д. Вследствие того, что для двух
соседних значений t имеются две цифры из одного и того же разряда, набор знаков в ре-
зультирующей строке ещё нельзя назвать окончательным результатом. Это промежуточ-
ный результат. Он станет окончательным после сложения цифр одного разряда. Поэтому
результат можно записать в виде: 0(0+1)(2+1)0 = 0130. Нолик внизу стоит под цифрой
о о
нулевого разряда. Итак, пишем: 2 • 032 0 = 0130. Результат, очевидно, правильный,
о
Пример 3. Пусть х = 03312 = 3 103 + 3 102 +1 101 + 2 10° =246,0.
(Если числоид записывается, начиная с нулевого разряда, то нолик под этим разрядом
можно не ставить. См. также пример 2) С помощью развёртки изучаем процесс деления:
5 4 3 2 1 0 t
6 3 3 1 2 X
6 5 6 б 6 б я
5 12 12 02 10 У
Это промежуточный результат. Для получения окончательного результата необходимо
соседние цифры сложить:
2"1 • 03312 | б = 6(0 +1)(2 +1)(2 + 0)(2 +1) 0 = б 1323 (I
о 0
Но
6 1 3 2 3 0 = 1 103 + 3 102+2101 + 3 10°+0 10"1 =123ю ,
о
что означает, что результат деления также получен правильно.
Пример 4. Пусть х = бЗЗН = 3103+3103+1101+110° = 245<1О) - нечётное число.
5 4 3 2 1 0 t
5 3 3 1 1 X
6 5 6 6 5 5 я
5 12 12 02 02 У
Результат: 2 033111 б = 6(0 +1)(2 + 1)(2 + 0)(2 + 0)2 = 613222.
о “
Но
613222 = 1 • 103 + 3-102 +2 101 +2 10° + 2 10~‘ =122110) +1/2 ,
о
т.е результат деления снова получен правильно.
290
Итак, примеры показывают, что устройство, заданное таблицей 8.11, если ему «помо-
гать» на завершающем этапе с помощью сложения цифр одного разряда, делит правильно.
Таким образом, устройство на фазе получения промежуточного результата работает как про-
стейший автомат с одним состоянием, т.е., по существу, как комбинационная схема, и на за-
вершающей фазе для получения правильного результата требует включения сумматора.
§ 6. Варианты делителя на два
Приведём ещё один вариант задания делителя на два в четверичной системе счисле-
ния. Он получается способом, отличным от всех ранее описанных, а именно путём приме-
нения алгоритма обращения автоматов [13] к умножителю на два в семействе нормальных
устройств (т.е. устройств, на вход которых информация подаётся от младших разрядов к
старшим). Программа обращения написана А. В. Лайковым. В качестве решения получа-
ется устройство из класса (Aj.. Так обозначается класс устройств, обладающих свойством
предвидения на один шаг, уравнения функционирования которых имеют вид:
k(f + l) = 0( q{t), x(t), х(Г + 1) )
\ (6.10)
\y(t) = с( q(t), x(t), x(/ + l) )
Как видно, суть предвидения состоит в том, что при вырабатывании выходного сигнала
для момента времени t используется входная информация не только из разряда I. но и
следующего разряда /+1: х(с) их(»1).
Таблица, задающая это устройство, приведена ниже. В ней символом х0 обозначен
предшествующий входной сигнал (т.е. х(?)), а символом х( - последующий (т.е. .т(?+1)).
Приведён вариант устройства с упрощённым входным и выходным алфавитами, т.е. с
алфавитами, в которых нет цифр со стрелками. Множество состояний устройства содер-
жит два элемента: Q = {0,01}.
Как видно, автомат частично определён, т.е. заполнены нс все клетки таблицы. Это оз-
начает, что на его функционирование накладываются ограничения. Но он безупречно
функционирует на расширенной разрядной сетке на множестве чисел вида
х = 03312 (0 v 2), т.е. когда цифра из разряда (-1) равна 0 или 2 (символ v изображает
о
дизъюнкцию). С подачи на вход автомата цифры из этого разряда начинается функциони-
рование устройства. Поясним работу устройства на примере.
Таблица 8.12
Нормальный делитель на два с предвидением на один шаг
X, х0 q = б q = 51
0 0 6.0
1 0 01.2
2 0 6,0
3 0 61,2
0 1 5,0
1 1 51,2
2 1 б,о
3 1 61,2
291
«1 Хо q=b q =61
0 2 6,1
1 2 01,3
2 2 6,1
3 2 01,3
0 3 6,1
1 3 51,3
2 3 6,i
3 3 61,3
Продолжение табл. 8.12
Пример 1. Пусть х = 033 1 20 = 3 1 03 + 3 1 02 +1 101 +2 1 0° + 0 10 1 246,,», .
о
Развёртка:
5 4 3 2 1 0 -1 t
0 0 3 3 1 2 0 X
0 6 61 61 61 б б- ч
0 1 3 2 3 0 У
При t = -1 автомат находится в начальном состоянии q = 0 и реагирует на две цифры:
на цифру 0 из разряда (-1) и на цифру 2 из разряда (0). По таблице 8.12 находим, что в
следующем такте 1=0 автомат остаётся в том же состоянии q = 0 и вырабатывает
выходной сигналу = 0.
При / — 0 автомат находится в состоянии q = 0 и реагирует на две цифры: на цифру 2 из
разряда (0) и на цифру 1 из разряда (1). По таблице 8.12 находим, что в следующем такте
t = 1 автомат оказывается в состоянии q = 01 и вырабатывает выходной сигналу = 3 и т.д.
Получаем уже встречавшийся результат: 2_| 03312010 = 013230 .
о о
Пример 2. Пусть
.? = 033122 = 3-103 4-3-102 4-1-101 4-2 10°+2-10-1 = 246,10) +1/2.
о
Аналогично предыдущему получаем: 2_| 03312210 = 013231 .
о о
(Справа от вертикальной черты стоит начальное состояние автомата.)
Экстравертность делителя, представленного в таблице 8.12, по разрядной сетке
состоит в том, что он для реализации своих функциональных возможностей требует
расширения разрядной сетки за те пределы, в которых она в настоящий момент
находится. А в настоящий момент разрядная сетка со стороны младших разрядов
ограничена разрядом (-1). Поясним суть идеи экстравертности по разрядной сетке.
Мы уже отмечали, что устройство безупречно функционирует, если в разряде (-1)
стоят цифры 0 или 2. Но если в этом разряде стоят цифры 1 или 3, то устройство
отказывается работать. Действительно, рассмотрим пример
Пример 3. Пусть
х = 033121 =...+ 0 104 +3 103 +3 102 +1 10' 4-2-10° 4-1 10-1 = 246,25,,»).
о
292
Как видно, в разряде (-1) стоит 1. Пропустим этот числоид через делитель и изобразим
развёртку его работы.
5 4 3 2 1 0 -11?
0 0 3 3 1 2 1 х
? б Ч
? у
Попытка начать функционирование из начального состояния q = 0 под воздействием
цифры 1 из разряда (-1) и следующей за ней цифрой 2 из разряда (0) не удаётся, потому
что соответствующая клетка таблицы 8.12 пуста. Неясно, в какое новое состояние должен
переходить автомат и какой при этом вырабатывать выходной сигнал. Это отмечено
знаками «?». Но, если расширить разрядную сетку и добавить ещё один разряд с номером
(-2) (расширение в эту сторону является единственно возможным), то автомат выполнит
деление. Убедимся в этом. Вначале представим число х на расширенной сетке. Имеем:
х = 0331210 =...+0 104 +3 103 +3 10:+1 101+2 10° +1 ЮНв-Ю» = 246,25(Ш|
Пропустим число х теперь через автомат. Изображаем развёртку:
5 4 3 2 1 0 -1 -2 t
0 0 3 3 1 2 1 0 X
б б б] 01 01 б 61 б ч
0 1 3 2 3 0 2 У
Результат: 2"1 -03312101 б = 0 0132302. 0
Ситуация позитивно изменилась, автомат вычисляет, причём правильно.
Таким образом, для того чтобы делитель мог делить числа с любой цифрой в разряде
(-1), необходимо к разрядной сетке добавить место (разряд) с номером (-2) и поставить
на это место 0.
Но и на место (-2) можно ставить любую цифру, не только 0, и у нас снова возникнут
проблемы с делением тех чисел, в разряде (-2) которых стоят 1 или 3. Однако теперь мы
знаем метод решения проблемы: для этого необходимо расширить разрядную сетку,
добавив в неё разряд с номером (-3), поставить в этот разряд цифру 0 и делить из
начального состояния <7=0, начав деление с момента ? = -3. Понятно, что ситуация
типично повторяема и мы в итоге приходим к необходимости расширить разрядную сетку
до следующего вида:
(8.17)
На места этой сетки, которые все отмечены горизонтальными черточками, ставятся
цифры из Z(4) = {0, 1, 2, 3} (в общем случае из Z-ц ~ {0, 1, ..., к- 1}). Делитель, заданный
таблицей 8.12, на расширенной сетке (8.17) без проблем делит числа вида
0 0 х rill х 0 0 /о । о-)
или, в более привычной их записи:
.. ,00х,,. .XjXoX.iXj.. ..v,,00... (8.19)
или, наконец, с использованием стрелок числа вида
0 хг...х|х0х.1х.2...х.р0, (8.20)
где левый 0 означает, что от разряда г + 1 и до бесконечности на местах разрядной сетки
стоят одни нули, а правый 0 означает, что из минус бесконечности до разряда (-р — 1) по
местам разрядной сетки идут сплошь нули.
293
Делители, рассмотренные ранее, также делят эти числа. Они также обладают
свойством экстравертности по разрядной сетке и требуют её расширения до вида (8.17)
и, следовательно, также могли бы быть использованы для её расширения. Результаты
деления чисел всеми делителями совпадают.
Приведём примеры деления чисел вида (8 18)-(8.20) делителями всех типов.
Пример А. Пусть х = 03312230 = 246 1|(10) . Пропустим это число через делитель,
заданный таблицей 8.14. Имеем развёртку:
5 4 3 2 1 0 -1 -2 -3
003 3 12230
б 0 61 01 61 б б 61 0
... 0 1 3 2 3 1 12
Пишем результат: 2-1 03312230 I б = 613231120. Поскольку
о о
513231120 =
t
х
Ч
У
= 1 103 4-3-102 +2101 +3-10° +110-1 +110"24-2 10"3 =123И|10),
то результат правильный.
Изобразим абстрактную В-схему делителя на два, заданного таблицей 8.12.
ЬХОД-Х„ ВХОД-Xj С Н выход
Рис. 8.1. Делитель на 2 с предвидением
Элементы &-/ (z = 0, 1, 2, 3) задерживают сигнал входа-х0 на один такт. Состояния
делителя представлены наборами из восьми одинаковых элементов & типа (3-&-2), т.е.
элементами с тремя входными линиями и двумя выходными.
Покажем работу делителя.
Пример 5. Пусть х = 63312230 = 246 ||(1(|| •
Изображаем развёртку работы делителя.
294
6 5 4 3 2 1 0 -1 -2 -3 t
0 0 0 3 3 1 2 2 3 0 *0
&-0 &-0 &.-0 &-3 &-3 &-1 &-2 &-2 &-3 &-0 &-г
0 0 3 3 1 2 2 3 0 - Х1
0 0 1 1 1 0 0 1 0 - С.Н
&-0.0 &-3,0 &-3,3 &-1,3 &-2,1 &-2,2 &-3,2 &-0.3 - &-i,j
0 1 3 2 3 1 1 2 - - У
4 3 Пишем результат: 2 1 2-' 0 -1 0331223010 = 0 2 -3 013231120 0 -5 Г
(как видим, он совпадает с предыдущими вычислениями) и поясним развёртку.
При t = - 3 на вход-х,, поступает цифра 0 из разряда (-3) подаваемого на вход числа.
Возбуждается вход задержки &-0. Во всех остальных линиях какие-либо сигналы
отсутствуют.
При t = - 2 на вход-Ло поступает цифра 3 из разряда (-2). Возбуждается вход
задержки &-3. На выходе задержки &-0 появится сигнал, что означает появление сигнала
по линии-0 входа-хд. В этот момент подаётся также пусковой сигнал по линии-0 входа С.
Пусковой сигнал в делителе всегда подаётся на один такт позже по сравнению с подачей
первого сигнала по входу-х0. В остальные моменты времени управляющие сигналы по
линиям С формируются автоматически, являясь результатом передачи по линиям
обратной связи сигналов выхода Н. При t = - 2 возбуждается вход элемента &-0,3.
При t = - 1 на линиях выхода элемента &-0,3 появятся сигналы, которые возбудят линию-2
выхода делителя и линию-1 выхода Н. Сигнал по линии-2 выхода делителя означает появление
цифры 2 результата в разряде (-3), что отмечено значением г = - 3 в нижней строке развёртки, а
сигнал по линии-1 выхода Н означает передачу управления по линиям обратной связи на вход
С. Линия-1 входа С готовит к работе состояние (/-01. В момент t = - 1 подаётся также по
линии-2 входа-хо сигнал на вход задержки &-2, на выходе задержки &-3 появится сигнал,
трактуемый как сигнал по линии-3 входа-Х). В результате возбудится вход элемента &-3,2. Всё
это отмечено для момента t = - 1 в развёртке.
Остальные моменты времени разбираются аналогично.
Мы видим, что появление цифры 2 результата в разряде (-3) происходит на основе
цифры 0 из разряда (-3) и цифры 3 из следующего разряда (-2) подаваемого на вход
числа. Так что, действительно, вырабатывание цифры результата происходит на основе
информации из соответствующего (-З)-го и последующего (-2)-го разряда, в чём и
проявляется эффект предвидения.
В-схема делителя, изображённого на рисунке 8.1. оптимальна как с точки зрения
схемного быстродействия, так и с точки зрения схемной надёжности. Однако с точки
зрения количества оборудования (т.е. количества элементов &) она не минимальна и
может быть упрощена. В основе такого упрощения лежит идея полифункциональности
одного элемента, суть которой состоит в том, чтобы заставить работать один элемент &
вместо нескольких (см. [13]).
Резюме'.
делители на два в четверичной системе счисления могут быть реализованы по-разному.
Их функционирование требует расширения разрядной сетки и тем самым введения в
рассмотрение числоидов, представляющих как все действительные числа, так и новые
объекты, являющиеся, в частности, бесконечно большими аналогами иррациональных
чисел.
295
§ 7. Делитель 10 1 х1 q
В § 5, 6 для полноценной работы делителей была введена расширенная разрядная
сетка. Числоиды, т.е объекты, получающиеся в результате заполнения всех мест
разрядной сетки цифрами, первоначально представляли натуральные и целые числа, но
впоследствии стало ясно, что ими можно представлять все действительные числа, правда,
это представление оказалось несколько необычным, не всегда совпадающим с
привычными представлениями действительных чисел. Эти новые представления были
созданы самими вычислительными устройствами и потому называются автоматными
представлениями действительных чисел. Вычислительные устройства воспринимают
цифровую информацию только в автоматном представлении, им понятном. Всё иное,
даже нам хорошо понятное, они не воспринимают. Например, они не реагируют на знак
минус, используемый нами для изображения отрицательных чисел. Для изображения
отрицательных чисел вычислительные устройства используют свою собственную систему,
нам не знакомую, но тем не менее достаточно легко понимаемую и всегда позволяющую
привести автоматное представление отрицательных чисел к виду, нам понятному, причём
делается это автоматически, с помощью специальных устройств. Поэтому проблема перевода
результатов вычислений к привычному виду всегда разрешима.
Первоначально расширение разрядной сетки произошло при рассмотрении делителя на
два, когда при поиске числоида, представляющего число 2 1 , выяснилось, что на разрядной
сетке Gr£,Oj -—у т Т 77 • |,а которой до сих пор происходили все наши рассмотрения, нет
такого числоида. Пришлось расширять сетку в единственно возможном направлении, в
сторону отрицательных разрядов. Первый шаг состоял в расширении сетки на один разряд,
что привело к появлению сетки Ст,® , = ...у । । Оказалось, на этой сетке существует
числоид, представляющий число 2 1 , что позволило нам после нахождения этого числоида
написать равенство 2_| = 02 . Справа от равенства стоит автоматное представление числа
о
2-1. Понятно, что в перспективе ситуация типично повторяема и мы в итоге приходим к
необходимости расширить разрядную сетку до следующего вида:
УТ о -а л - <8-17)
На все места этой сетки, которые изображаются горизонтальными черточками, ставятся
цифры из Z(4) = { 0 1,2, 3 } (в общем случае из Z.p} = { 0, 1, ..., к - 1 }). Делитель, заданный
таблицей 8.12, на расширенной сетке (8.17) без проблем делит числа вида
0 хг...х|х0х.1х.2...х 0. (8.20)
Запись этих чисел обобщим:
0 х^...х,+|х,х,_|.,.х, 0, (8.21)
где Г2, г< - любые целые числа. При замене х конкретными цифрами индексная
информация о разрядах исчезает (индексы обычно не пишут), и мы для ориентировки
будем выделять нулевой разряд, помещая под соответствующей цифрой нолик (обычно
для этой цели используется запятая). Например,
01322320 (8.22)
о
в обычной записи имеет вид:
1322,32 (8.23)
296
Запись (8.22) приспособлена для работы с абстрактными вычислительными устройствами,
т.к. для их функционирования существенно явное присутствие нулей за пределами масси-
ва значащих цифр. Без учёта этих нулей возможны ошибки. Кроме того, такая запись
экономит время вычислений.
Запись (8.21) обобщается:
т, ХГ!...Х,+1Х,Х,-1...Х,}т1. (8.24)
где T = 0vlv2v3. Например,
21322323 (8.25)
о
В числоиде (8.25) на местах разрядной сетки, идущих из минус бесконечности до разряда
(-3), стоит цифра 3, а от разряда (+4) до плюс бесконечности - цифра 2.
Абстрактные вычислительные устройства ведут вычисления не только с числоидами
типа (8.24), (8.25), но и с более общими:
£2r,1 .. ..v,+j со, (8.26)
где со = pi—p^pi, £2 = qm...qzqi - периоды, идущие соответственно из минус бесконеч-
ности до (jj-1) и от (г2+1) до бесконечности.
Например, числоидом типа (8.26) является числоид
ПЗЮ11322321ОО32. (8.27)
о
В нём периоды равны, соответственно: £2 = 223102, со = 10032.
Если [со = 0] v [£2 = 0], то числоиды (8.26) являются иррационалами (по определению).
Например, известный иррационал л записывается в виде (8.26) следующим образом:
л = 0314159265358979324..., где со = 0, £2 = 0. (8.28)
о
Зеркальный ему относительно нулевого разряда иррационал запишется так:
л,=...4239798535629514130, где со = 0, £2 = 0. (8.29)
о
Иррационал (8.29) имеет такое же право на существование, как и иррационал (8.28).
В логике числоидов они равноправны.
Итак, мы получили представление о числоидах, которые могут существовать на рас-
ширенной разрядной сетке. Числоиды типа (8.28) в наших обычных вычислениях встре-
чаются, но числоиды типа (8.25), (8.27), (8.29) - нет. Тем не менее они являются результа-
том работы абстрактных вычислительных устройств (АВУ). Эти АВУ во всех понятных
нам случаях ведут вычисления безупречно, что служит тестовой проверкой правильности
их работы. Правильность их работы должна, в свою очередь, служить нам указанием на
то, что и в случаях, когда АВУ в качестве результата своих вычислений выдают числоиды
типа (8.27), следует считать их работу правильной и перенести центр тяжести проблема-
тики с правильности их работы на истолкование результатов вычислений, т.е. на поня-
тийную сторону дела. Уже отмечалось, что многие необычные вычисления, проводимые
АВУ, находят себе истолкование в вычислениях Эйлера. АВУ в обосновании не нужда-
ются. Так они устроены, таков их генезис. Они получаются в результате последователь-
ного (и сетевого) синтеза АВУ. В этом состоит их обоснование. С функциональной точки
зрения они подобны всем устройствам из окружающего мира. АВУ существуют, выпол-
няют своё дело, вычисляют. То, что некоторые результаты их вычислений нам не понят-
ны, ещё не является основанием отвергать эти результаты, а тем более сами АВУ, как
непригодные к вычислению. В действительности, здесь вся проблема в человеческом
факторе. Но это «величина» переменная как во времени, так и в пространстве. Сегодня
человек не понимает, а завтра уже понимает. Один не понимает, зато другой понимает.
297
Есть сильная зависимость в принятии результатов вычислений, проводимых АВУ и
Эйлером, от уже осуществлённой формализации математики. Вычисления Эйлера были
отвергнуты по той причине, что они не укладывались в рамки формализации математики,
проведённой О. Коши и современниками, в основе которой лежало известное определе-
ние предела. Но можно это определение предела изменить. При этом предел Коши по-
прежнему будет иметь силу, но и Эйлеровы вычисления с точки зрения нового определе-
ния предела окажутся корректными.
Мы рассмотрели два делителя: 3_| х | q и 2“ х | ц . Первый из них оказался идеаль-
ным с многих точек зрения: а) при его построении не возникло никаких проблем;
б) вычисляет он в пределах разрядной сетки = ...у у у у; в) порождаемые им чис-
лоиды легко истолковываются. Не таким оказался делитель 2-1 х | q . Он внёс изменения
в процедуру построения делителя, на основе которой ранее был построен делитель
З-1 • х I 7, показав тем самым, что теми действиями, с помощью которых был построен
делитель 3 ' л7 1/, не всегда можно ограничиться. Этот факт, несмотря на усложнение
алгоритма построения, должен рассматриваться как положительный, т.к. он позволил нам
сделать ещё один шаг в понимании природы вычислений.
Следует обратить внимание на изменение понимания функций отрыва, появившееся в
связи с делителем 2-1 х | q . Если раньше функции отрыва работали на сетке
0] = ...у - у у, то теперь они определяются на сетке = ...у ,
и это определение таково:
если х = ...х,+|х,х,_1...х,го - числоид на сетке , то функции отрыва по разряду
г определяются равенствами:
)х < = Ях;,...хг+1хг
(8.30)
( х) = хг.]Хг.2..х ш, г — любое целое.
Сетку можно урезать как со стороны положительных, так и со стороны отрица-
тельных разрядов. Например, символом ф^.-2] обозначена сетка бгД_,] = yyyyzjzyl
урезанная по разряду (-2). А символом обозначена сетка =
= •. 1 ’ । о -I -2 -:; > урезанная со стороны положительных разрядов по разряду (+4).
Определение функций отрыва на сетках Gr(^_2] и G^-,, дастся аналогично определе-
нию (8.30).
Рассмотрим делитель 10-1 х | q . Необходимо выполнить его построение, которое мы
проведём в несколько шагов.
Шаг 1. Нахождение числоида, представляющего число 10-1.
Для этого нам необходим умножитель 10 х | q . Изобразим таблицу, его задающую.
Таблица должна быть продолжена влево за состояние 32 до минус бесконечности и вправо за
состояние 012 до плюс бесконечности. Ядро состояний автомата выделено звёздочками:
Q„ и с = {0,01.02,03}. Если брать в качестве начального состояния состояние из ядра, то ав-
томат в процессе вычисления за пределы ядра никогда не выйдет. Если брать в качестве на-
298
чального состояния состояние q = 0 , то автомат вычисляет основную функцию, 10 х , даю-
щую название автомату - «умножитель на 10». Если брать в качестве начального состояния
произвольное состояние q , то автомат вычисляет родственную функцию 10 • S + q , причём,
вычисляет не как результат последовательных действий: вначале умножения на 10, и затем
сложения с q , а выдаёт результат сразу, по мере поступления на вход цифр умножаемого
числа. Это так называемое синтетическое вычисление. При нахождении числоида, представ-
ляющего 10 1 , нам понадобится только ядро приведённой таблицы тем не менее полезно
помнить, что ядре является лишь частью значительно большего образования С этой целью
таблица приведена в расширенном виде.
Таблица 8.13
Бесконечный автомат 10 f | q , (x.q е Z = {...,32,3,0.01,02,,.,})
х\ 32 3 *6 *01 *02 *03 010 611 612
б 3,2 3,3 6.6 6,1 02 6,3 61,0 61,1 61,2
т 0,2 6,3 61,0 51,1 61,2 61,3 02,0 02,1 02,2
2 01,2 61,3 02,0 02,1 02,2 02,3 03,0 03,1 03,2
3 02,2 02,3 03,0 03,1 03,2 03,3 010,0 610,1 010,2
Рассуждаем, как и раньше. Поскольку умножитель, заданный таблицей 8.13, перво-
начально был предназначен для работы с числоидами на сетке Gr° =Gr(2o0] =...у - у у,
то и числоид, представляющий 10 , первоначально будем искать на той же сетке и пред-
ставлять его в виде 10-1 = v = .
В силу равенства 10- 10 = 1 или, в автоматной символике, 010 ...V,....V]VO 0 = 01
нам по известному результату требуется найти числоид на входе.
Изображаем развёртку первых тактов работы умножителя.
2 1 0 t
V2 V, Vo X
7 7 0 q
0 0 1 У
Задаём вопрос' «Под воздействием какого входного сигнала v0 автомат (8.13) из на-
чального состояния <7=0 выработает выходной сигнал 1?» Ответ находим из рассмотре-
ния ядра автомата: «Ни из какого». Следовательно, на разрядной сетке Gr° не существует
числоида, представляющего 10 . Мы вынуждены расширять сетку.
Расширяем разрядную сетку до Gr^_^ =--у у у у ту
На ней числоид V представляется в виде 10-1 = v = ...vr...v1v0v_1, а число 1 в виде
1 = 010. Изображаем развёртку на новой сетке:
о
1 0 -1 t
V| Vo V_j X
7 7 6 q
0 1 0 У
299
Задаём вопрос: «Под воздействием какого входного сигнала V । автомат (8.13) из началь-
ного состояния q = 0 выработает выходной сигнал 0?» По таблице умножителя 8.13 на-
ходим четыре ответа: «Под воздействием входных сигналов v_. = 0, 1, 2, 3». При этом
автомат под воздействием этих сигналов переходит соответственно в состояния
q = 0, 01, 02, 03. Для каждого из них строим свою развёртку.
Имеем:
№1 №2 №3 №4
0 -1 t 0 -1 t 0 -1 t 0 -1 t
Vo 0 X Vo 1 X Vo 2 X V» 3 X
0 <- б я 61 <г- 0 я 02 <- б я 03 <г- б я
1 0 У 1 0 У 1 0 У 1 0 У
Далее мы спрашиваем: «Под воздействием какого входного сигнала v0 автомат из каждо-
го из упомянутых состояний вырабатывает выходной сигнал 1?» Ответ: «Сигнал 1 может
быть выработан только из состояния 7 = 01 П°Д воздействием любого входного сигнала
Vo = 0, 1, 2, 3». Таким образом, из приведённых четырёх развёрток для дальнейшего рас-
смотрения оказывается пригодной только развёртка № 2, причём она в свою очередь сно-
ва порождает четыре развёртки по числу входных сигналов Vo. Эти развёртки таковы:
№2.1 №2.2
1 0 -1 t 1 0 -1 t
V1 0 1 X V1 1 1 X
б - 51 <- б я 01 <- - 61 <- б я
б 1 0 У б 1 0 У
№2.3 №2.4
1 0 -1 t 1 0 -1 t
V1 2 1 X V1 3 1 X
02 - 01 <- б я 03 - 61 <- 5 я
б 1 0 V 6 1 0 У
Для каждого из входных сигналов Vo переход из состояния q = 01 вполне однозначен, что
отмечено в приведённых развёртках. И мы далее для каждого из состояний, в которые
может перейти автомат, задаём вопрос: «Под действием какого входного сигнала V, авто-
мат может выработать выходной сигнал 0 ?» Из таблицы для автомата находим, что вы-
ходной сигнал 0 может быть выработан только из состояния q = 0 и только под воздей-
ствием входного сигнала 0 . Из приведённых развёрток остаётся только развертка № 2.1,
которую мы снова приведём, но уже в окончательном виде:
0 оо > f > 1 0 I /
б 0 1 х
б <- б <— 61 б ?
б 1 0 у
Сформулируем вывод: на расширенной сетке = ...у у у у — существует числоид,
представляющий 10 . Этот числоид имеет вид
300
10-'=61, (8.31)
о
что вполне соответствует нашим обычным представлениям.
На этом шаг 1 заканчивается. Переходим к следующему шагу.
Шаг 2. Построение шапки делителя 10 х | q .
Будем отличать положительную (правую) часть шапки от отрицательной (левой).
При построении правой части шапки нужно шагать вправо от состояния q = 0 с ша-
гом &q = 01. При построении левой части шапки нужно шагать влево с шагом
о
txq = (—1)01. Чтобы получить шаг-числоид для левой половины шапки, умножим число-
о
ид 01 на (-1), для чего пропустим числоид 01 через умножитель на минус единицу, за-
0 о
данный таблицей, которую приводим далее. В таблице выделены финальные варианты
работы автомата, признаками которых являются выходные сигналы со стрелками и воз-
врат в исходное состояние.
Таблица 8.14
Автомат (-!) $ | q = 3 х | q , (x,q е Z = {...,32,3,0,01,02,...})
Результат записывается в виде:
(-1)01|бИ1 = 3-011 0, „ = 33. (8.32)
о о о
Лёгким подсчётом (сложением с 01 или по Эйлеру) подтверждаем правильность вычис-
о
ления. Итак, левая часть шапки получается с помощью шага i\q = (-1) 01 = 33 . Мы пол-
0 о
ностью готовы к построению шапки таблицы делителя. Строим и изображаем её.
q 31 0 32 0 33 0 0 01 0 02 0 03 0 010 0 Oil 0
Шаг 3. Построение основной части таблицы делителя 10 1 х \q происходит в два
этапа. Вначале строится заготовка таблицы. Она получается путём опускания шапки вниз
четыре раза (по количеству букв входного алфавита) и одновременным сдвигом каждой
следующей после 0 -й строки на одну клетку влево:
301
Таблица 8.15
Заготовка делителя 10 1 х | q
32 0 33 0 б 61 0 02 0 03 0 510 0 611 0 612 0
б 32 0 33 0 б 61 0 02 0 03 0 610 0 бп 0 012 0
т 33 0 б 61 0 02 0 03 0 510 0 511 0 512 0 513 0
2 б 01 0 02 0 03 0 510 0 511 0 512 0 513 0 020 0
3 61 0 02 0 03 0 510 0 би 0 512 0 513 0 020 0 021 0
После этого в заготовке в нижних четырёх строках работает функция отрыва по разряду г
(оо > />-!) для сетки Gr^_^ = —j у у 7 “ Очевидно, имеется бесконечно много
вариантов выбора функции отрыва. Мы остановимся на двух из них.
Вариант 1. Функция отрыва по разряду г = 1. Работа этой функции отрыва сводится к
отделению запятой двух младших разрядов. В итоге получается.
Таблица 8.16
Делитель 10 х|q
х \ 32 0 33 0 б 51 0 02 0 5з 0 510 0 5п 0
0 3,32 3,33 5,00 1 6,01 5,02 5,03 5,10 5,11
I 3,33 5,00 1 5,01 0,02 5,03 0,10 5,п 5,12
2 5,00 1 5,01 5,02 6,03 0,10 0,11 5,12 5,13
3 6,01 6,02 5,оз 6,10 0,11 0,12 5,13 0,20
С таким автоматом мы уже встречались, им был автомат 2 1 х | q . Собственно деле-
ние на 10 выполняется автоматом, представленным заштрихованным столбцом q = 0 .
Это автомат с одним состоянием, но со сложным выходным сигналом из двух цифр, одна
из которых, правая, является цифрой младшего разряда, а левая - старшего.
Пример 1. Пусть х = 0232- число, рассматриваемое на разрядной сетке
Gr1' 0] = ...у - у у . Пропускаем его через делитель 10 х | q , изображаем его работу с
помощью развёртки:
3 2 1 0 t
5 2 3 2 X
5 < б 4 - б < б) < - б <3
5 02 03 02 У
Не забудем, что одна из двух цифр результата, правая, принадлежит предыдущему разря-
ду. Поэтому в строке у должно быть проведено сложение цифр одного и того же разряда,
при этом правая двойка при t = 0 относится к разряду (-1):
302
3 2 1 0 -1 t
0 0+0 2+0 3+0 2 У
Учитывая это, результат деления записываем в виде: 10 1 0232 I 0 = 0232 , где нолик под
о о
цифрой, как обычно, отмечает нулевой разряд числа. Результат, очевидно, правильный.
Он принадлежит разрядной сетке Gr^_^= - у - —.
С учётом необходимости сложения двух соседних цифр одного и того же разряда из-
меним вид развёртки так, чтобы упомянутое сложение было наглядно выделено в раз-
вёртке. Косые стрелки направо вниз показывают перенос младшей цифры, стоявшей в
предыдущей развёртке, в младший разряд:
0 00 > t > 3 2 1 0 -1 t
0 2 3 2 X
0 + б < б <- б « б ?
б 0 0 0 У
0 0 2 3 2 у"
б 0 2 3 2 У
Строками у и у" отмечены промежуточные компоненты результата, который написан
внизу, в строке у. (Напоминаем, что в развёртке разряды растут справа налево.) В этой
развёртке хорошо показывается, что операнд (подаваемое на вход число) принадлежит
разрядной сетке Gr(^0] -•••уууд, а результат - разрядной сетке &£._]] -•уууутр т-е-
рассматриваемый делитель требует расширения разрядной сетки - эффект, который ранее
уже отмечался. В свою очередь, если на вход этого делителя подать числоид, принадле-
жащий разрядной сетке Gr^_u - -уурут? ’ то результат будет принадлежать разрядной
сетке СгД 4 = ...-у-——. Этот процесс продолжается до бесконечности, и в итоге мы
приходим к выводу, что числоиды, принадлежащие сетке - •••уу-утуту--' входят в
область определения делителя 10-1 х | q .
Вариант 2. Функция отрыва по разряду г = 0. Её работа сводится к отделению запятой
цифры из разряда г = - 1.
Числоид 00 (010,020....) находится на сетке Gr? г. Но он равен
0 0 0 I и J 2 1 О 1
числоиду 0 (01,02 ,...), находящемуся на сетке Gr.° = ...тутт • Поэтому можно гово-
0 в о 1 3 2 1 °
рить, что 00 и 0 - это одно и то же: 00 = 0. Аналогично 010 = 01, 020 = 02, ...
00 00 0000
В этом отношении названные числоиды отличаются оз всех других числоидов шапки,
у которых в разряде (-1) стоит отличная от нуля цифра. Например, 012 * 01 . Поэтому
о о
в роли состояний могут выступать только те числоиды, которые имеют одновремен-
ное представительство, и на сетке , и на сетке = ууувту,
т.е. числоиды, у которых в разряде (-1) стоит 0: ...,30 = 3,00 = 0, 010 = 01, 020 = 02,...
00000 00 о
303
В итоге получается:
Таблица 8.17
Делитель 10 1 х | q ,(x,q е Z = {...,32,3,0,01,02,...})
X \ 32 0 33 0 00 0 61 0 02 0 03 0 610 0 011 0 012 0
б 3,2 0 3,3 0 0,0 0 0,1 0 6,2 0 б,з 0 01,0 0 51,1 0 51,2 0
т 3,3 0 6,0 0 5,1 0 6,2 0 6,3 0 61,0 0 01,1 0 51,2 0 51,3 0
2 6,0 0 5,1 0 0,2 0 б,з 0 61,0 0 61,1 0 01,2 0 51,3 0 52,0 0
3 6,1 0 6,2 0 6,3 0 61,0 0 61,1 0 61,2 0 51,3 0 52,0 0 02,1 0
Делитель на десять представлен столбцом для состояния 00. Как и все вычислители,
о
делитель вычисляет свою основную функцию из начального состояния q = 00 = 0 .
о о
Приведём пример вычисления.
Пример 1. Пусть х = 0323 .
Развёртка: 4 3 2 1 0 -1 t
0 3 2 3 X
6 0 0 0 6 0 0 0 ч
6 3 2 3 У
Результат: 10 1 0323 I 0 = 0323 .
о о
Пояснение: при поступлении в момент 1 = 0 сигнала 3, находящегося в разряде 0, на
выходе получается сигнал, находящийся в разряде (-1), что отмечено косой стрелкой
направо вниз. Это видно из таблицы автомата. Аналогичное пояснение и для других мо-
ментов времени.
Как видим, дополнительного сложения не потребовалось. Это объясняется тем, что
функция отрыва отделяет только одну цифру.
Пример 2. Пусть х = 0323 , начальное состояние а — 010 = 01
оо
Развёртка:
Результат: 10"1 0323 I 01 = 61II 0323 .
0 0 0 о
Не встречавшийся ранее эффект: делитель делит из всех своих состояний. Результат
деления на сетке Gr^,_= утрату для всех состояний всегда один и тот же. Отличие
304
состоит в том, что в соседние сетки происходит различный перенос. «Чистое» деление
происходит при выборе q — 00 = 0 в качестве начального состояния. В этом случае вы-
fl о
числительная структура на соседних сетках не меняется.
Резюме'.
1. Мотивированно определяется переход от первоначальной разрядной сетки
= ...у - у у , которую будем в дальнейшем называть также натуральной разрядной
сеткой, т.к. она первоначально предназначалась для создания обозначений для натураль-
ных чисел, к расширенной сетке =. .-у-——..., которую будем называть также
вещественной разрядной сеткой, т.к. она отражает привычную структуру записи вещест-
венных чисел.
2. Для числоидов на этой сетке вводится общее обозначение flv,, ...х,+1х,х,_1...л',15 , где со
= pk...pip\, £2 = qm.,.q^q\ - периоды, идущие, соответственно из минус бесконечности до
(гi-l) и от (Гэ+1) до бесконечности.
3. Обобщается функция отрыва на расширенную разрядную сетку (8.30) и её
вариации.
4. Показано, как меняется таблица автомата в зависимости от выбора функции отрыва
(ср. табл. 8.16 и табл. 8.17)
5. Показывается, что построение делителя 10-1 т | </ подобно построению делителя
2-1 х | <7
6. Делитель 10-1 х | q функционирует без каких-либо ограничений на числоидах типа
Т2ХГ,. X ,Т|, где T = 0vlv2v3, записываемых на сетке Для более
общих числоидов функционирование делителя сохраняется, но для них возможны модер-
низации делителя, учитывающие особенности числоидов.
§ 8. Делитель 10-1 -x\q (продолжение 1)
Приведём полученную в § 7 таблицу 8.18, задающую делитель 10 1 х | q .
Таблица 8 18
Делитель 10 1 х | q
X \ 32 0 33 0 6 01 0 52 0 5з 0 610 0 611 0
б 3,32 3,33 6,00 1 5,01 5,02 0,03 5,ю 5.11
1 3,33 6,00 1 6,01 6.02 0,03 0,10 6,11 6,12
2 6,00 1 0,01 0,02 6,03 б.ю 0,11 5,12 0,13
3 6,01 0,02 6,03 6,10 0,11 6,12 5,13 6,20
После её получения было сказано, что она может быть продолжена влево и вправо
до бесконечности, т.е. этой таблицей задаётся бесконечный автомат. С бесконечными
автоматами мы встречались неоднократно. Несмотря на то, что таблицы типа 8.16 пол-
ностью удовлетворяют определению автомата с бесконечным числом состояний и, тем
самым, могут восприниматься как задание индивидуального объекта, по существу сво-
305
ему они являются сборками бесконечного числа родственных между собой конечных
автоматов. Каждый из таких автоматов удовлетворяет всем требованиям, предъявляе-
мым к понятию алгоритма, в том числе и требованию конечности описания алгоритма,
и, таким образом, является автоматной реализацией алгоритма. Поэтому таблица 8.18
(и подобные ей) является автоматным описанием бесконечного семейства алгоритмов.
В данном случае она является автоматным описанием алгоритмов, вычисляющих функ-
ции f(x,q). При выборе в таблице 8.18 величины q в качестве начального состояния
из неё будет выделен конечный автомат (алгоритм) для вычисления этой функции
Пример 1.Пусть <7=013, х = 0312 . Развёртка работы автомата 10-1х|а такова:
о о
°° > t > 3 2 1 0 -1 t
б 3 1 2 X
б У - б <- - б <- _ 613 0 ч
б 0 0 2 у'
+ 4 \J + 4 м + х
0 0 3 1 1
б 0 3 3 1 У
Результат запишем, как обычно, с использованием обозначения для вычислительного
устройства: 10 0312|013 = 0331 . Вычислена функция f(x,q) = 010' х + q , в чём убеж-
даемся непосредственным вычислением. Следует обратить внимание на то, что при
7^00 автомат 104 • х | q определён на числоидах, заданных на разрядной сетке
о
<7гД0] = ...у-у- . Если при этих q задать числоид на разрядной сетке, являющейся рас-
ширением разрядной сетки <хгД0] = ••7777 , т0 результат вычисления не будет совпадать
с f(x,q) = 010 х + q , что видно на следующем примере.
К обнаруженному эффекту можно отнестись двояко: либо 1) можно сказать, что ав-
томат 10 1 х | q определён на сетке Gr^, 0] = —7777 и что на расширении этой сетки он
не вычисляет функцию f(x,q) — 010 1 -x + q ; либо 2) можно уточнить, что же он вычис-
ляет на расширении разрядной сетки (ЗтД Oj и объявить результат такого вычисления как
«законный» результат его работы. В самом деле, ведь автомат не отказывается работать
на расширении разрядной сетки и нам, руководствуясь принципом «что получает-
ся, то и получается», вполне можно признать результатом его работы другую функцию,
отличную от функции f(x,q) = 010 1 -x+q . Надо лишь понять, что за функция им вы-
числяется, и именно сю охарактеризовать работу автомата в этом случае. А это сделать
нетрудно. Действительно, если числоид, подаваемый на вход автомата, задан на расшире-
нии Gr^_ln^ = ••yjTirzT---- > (т<= М) = {0,01,02,...} - натуральное), а автомат поставлен в
состояние q в качестве начального, то он вычисляет функцию 10 х 4- 10 q,
(см. пример 2, где т = -1). Этот эффект трактовать как проявление экстравертности
306
автомата 10 'x|q по расширению Gr^_my сетки Gr^^, или, коротко, экстраверт-
ность по сетке. Таким образом, мы снова сталкиваемся с проявлением знакомого эффек-
та с экстравертностью, когда устройство оказывается способным делать нечто большее,
чем то, ради чего оно первоначально создавалось. Мы предпочитаем вторую трактовку
вычислительных возможностей устройства.
Пример 2. Пусть q = 613 . х = 03120 .
о о
В этом примере числоид х (представляющий то же число, что и в примере 1) задан на
разрядной сетке Gr^_v = и потому начальным моментом времени, с которого
стартует автомат, является момент t - — 1, совпадающий с номером младшего разряда чис-
лоида х В этот момент автомат ставится в начальное состояние q = 013 , и в результате
о
получается показанная далее развёртка работы автомата 10 х | q для этого случая.
0 со > t > 3 2 1 0 -1 -2 t
б 3 1 2 0 X
б <- б <- 6 <- б <— 0 513 <3
0
б 0 0 0 1 У
+ X + X + X + X X
0 0 3 1 2 3
б 0 3 1 3 3 У
Результат запишется так: 10 1 031201513 = 0 0 03133 0 Автомат вместо того, чтобы к результа-
ту деления на десять прибавить 013 , осуществил сложение с величиной 013 , являющейся
о о
в десять раз меньшей, чем q = 013 .
о
Итак, устройство 10-1 х | q проводит вычисления над числоидами, заданными на
разрядной сетке Gr^_m^, (те No ={0,01,02,...} - натуральное), и, будучи поставленным
в состояние q как в начальное, вычисляет функцию 10 1 х + 10 “ q .
Рассмотренный в примерах 1 и 2 автомат 10 1 х I 013 является конечной вырезкой из
о
приведённой выше таблицы 8 18 и представляется следующей таблицей.
Таблица 8.19
Автомат 10 х I 013
о
X х \ 00 0 513 0
б 6,00 1 6,13
т 6,01 1 0,20
2 6,02 1 5,21
3 6,03 1 5,22
307
Недостатком этого автомата является необходимость проводить на завершающем этапе
сложение цифр одного разряда. Дело усугубляется ещё тем, что существуют более сложные
ситуации, чем те, которые рассмотрены в примерах 1 и 2. В этих ситуациях необходимо про-
водить ещё одно дополнительное сложение, как это видно в следующем примере.
Пример 3. Пусть <7 = 013, х = 0132 . Отличие от примера 1 в том, что в х цифры 1 и 3
о о
поменялись местами. Развёртка работы автомата 10 • х | q такова:
Как видно, при t = 0 сумма у + у” = 2 + 3 = 11, причём левая единица принадлежит разря-
ду (+1), а правая - разряду 0. Первая единица должна быть отнесена в разряд (+1) и сло-
жена с уже существующей там единицей, что и проделано в развёртке. Результат:
10-’ 01321613 = 0211.
0 0 о
Проверка подтверждает правильность вычисления.
После констатации отмеченного недостатка этого вычислительного устройства возни-
кает вопрос, нельзя ли этот недостаток устранить и если можно, то как?
Рассуждаем так. На завершающем этапе работы устройства, заданного таблицей 8.19,
в дело включается сумматор. Эти два устройства можно считать соединёнными в после-
довательную цепь. Поэтому мы сталкиваемся с задачей элементарного последовательного
синтеза, решать которую умеем. В результате её решения получается минимальное уст-
ройство, эквивалентное цепи. Его-то мы и будем окончательно считать делителем
104 • х | 013 в полном смысле этого слова. Он делит, точнее, вычисляет функцию
о
10 х + 10 013 синтетически, сразу, не сводя её вычисление к последовательности
вычислений отдельных функций.
Введём обозначения:
0], О| - функции переходов и выходов автомата 10-1 х I013 ,
о
0г, с>2 - функции переходов и выходов сумматора.
Описание этих функций:
Q = {0,013} - множество состояний делителя 10-1 х | 013 , wrq е <7% , (yvrq - запись
q ; т.е. q записывается на сетке (7гД ; так же истолковываются другие аналогичные записи)
0] qx = 0.
_ _ - _ - , (8.33)
а^х = (а +0х)0 (« + Ох)-!
о о
308
где справа от равенства для функции Gj стоит двойной отрыв, обозначенный двумя пара-
ми угловых скобок: отрыв по разряду единиц (обозначен нижним индексом 0) и отрыв по
разряду (-1); заметим, что Ох - это число, записанное на сетке цифра х этого
числа располагается в разряде (-1).
Q2 = {0,01} - множество состояний сумматора; формульное задание функций перехо-
дов и выходов сумматора таково:
02qx = )?+х(, (8 34)
a2c/.r = (<7+х).
На вход последовательного соединения двух автоматов подаётся числоид
х = 0хг...х1хпх_1...х_,„ . Развёртка работы последовательного соединения начинается с мо-
мента времени t - -т-1 (на входе моменты времени и номера разрядов совпадают). В этот
момент на выходе у' автомата 10-1 х I 013 извне подаётся сигнал 0, а по выходу у" поя-
" о
вится сигнал (013 + 0х_т ) , , который является результатом работы автомата в следующий
о о 1
момент времени (эффект предвидения). Пара сигналов у' и у", сформировавшаяся в мо-
мент (ml), поступает на вход сумматора, находяшегося в этот момент в состоянии
«> = 0. Сумматор выработает выходной сигнал (б|3 + 0х являющийся цифрой ре-
0 о 1
зультата из разряда (-т-1), и перейдёт в состояние = 0 . При I = -т автомат 10 1 х I 013
о
находится в начальном состоянии qx = 013 и на вход его поступает цифра х т из разряда (-т)
о
числоида х . Согласно (8.33), автомат перейдёт в состояние щ = 0 и выработает два сигнала
отрыва: Cj13+6x_,„) , и (013 + бх_,„)„. первый из которых был отправлен в разряд (-т-1), а
о о 1 о о и
второй совместно с сигналом х_«, ,, поступившим в момент t = -т+1 (предвидение), поступает
на вход сумматора, который под воздействием этой пары сигналов переходит из состояния
<72 = 0 в новое состояние q2 =)<013 + 0x_„)n + x_m4.1( и вырабатывает выходной сигнал
о о и
У-т = ((б13 + бх_т) +х_т<|).
о о и
—т+1 —т -т-1 t
%-т+1 Х-,„ * X
0 <_ 613 0 о <71
0 <б13 + бх_т>0 0 0 \ 1 0 \ 1 У
•Я--/И+1 (613 + 6x_m)_j 0 0 // У
1 >(б13 + бх_т)0 + х_,„+|< 0 0 <- б <- б <12
J. ((б13 + бх_„х_„>0 + х_,„+1) 0 0 i (б13 + бх-«х_,„>_1 0 0 У
309
(продолжение развёртки)
-т+2 -m+1 t
Х-т+2 X
«- б «- б 9i
J
0 0 У
\ 1
Х-т+3 ft У
1
4” Ох_„?)о + X_m+i(+X_OT+2( * 0 0 ХО 13 4” Ох_да)о + X_m+i( 0 0 4i
(Х013 4“ 0х_т) о + Х_/и । iC+X-,,, 12) 0 0 У
(Фиктивный сигнал * заменяет любую цифру.)
Далее в развёртке все вычисления ведутся аналогично показанному в согласии с фор-
мулами (8.33) и (8.34).
I
(9; + -Tl+i)
)<; + -V,+l< <- 92
t
х
9i
У'
jS
92
У
(Продолжение развёртки для моментов времени t > г вблизи г см. далее.)
При t = г, каким бы ни было состояние q2 = б v 61, сумматор в следующий момент
времени переходит в состояние q2 - б и заканчивает работу.
Этой развёрткой описывается работа последовательного соединения устройств. Теперь
надо перейти к минимальному устройству, эквивалентному цепи. Для этого изобразим
развёртку работы цепи. Поскольку мы отметили наличие эффекта предвидения, т. е.
влияние в одном такте двух цифр входа из соседних разрядов, то мы в развёртке должны
учесть это явно.
310
г» 2 ?ч-1 г t
0 1 0 1 Хг I X
1 ... <- 0 1 <- б 1 <- б
;
0 0 0 у'
X 1 0 X 1 0 X 1 X 0 у"
... <- 0 <- 0 — «2 12
1
0 0 У
Далее в роли состояний цепи выступают пары </2)- Функции переходов и выходов
цепи вытекают из предыдущей развёртки Кроме того, должны также быть учтены вве-
дённые в предыдущей развёртке фиктивные входной сигнал (•) и состояние (°).
—т + 1 - т —т — 1 t
ОХп+2, -^-т+1) I C^-m+1, Х-т) I (*ЛЛ 1 (Хг+1Л/)
1 (б ,)<613 + Ox_w)o + x_OT+1<) <_ 0 0 1 (6,13) 0 1 - ГЛ) (?1ф)
J. <<013 4” 0х_т}() + х_т+|) 0 0 <O13 + 6x_m>_, 0 0 У
(продолжение развёртки работы цепи)
- ш+2 —т+1 t
(x_m-i-3, Х.т+2) 1 (•^-т+2, Х-т+1 1 ) (Хг+,л)
(0 ,»<613 + бх_„>0 + ) <_ (0 ,)(613 + 6x_„)(, 0 0 0 0 J. 1 <><О13 + Ох_„>о + х_, 0 0 (продолжение развёртки цепи для момента времени t: -т < t <г) ... t + 1 t ^-т+\( ) + l(+X_WJ+2) t (?Ь?2) У
(x,+2,x/+i) 1 (xt+i,xt) 1 (x,»i,-v,)
(0 ,)?, + .Г,,Х) (б,^2) 1 ((Z2 + Xi+l) (продолжение развёртки для моментов времени t > г вблизи г) г+2 г+1 г (<7i.<72) У t
(0,0) (0,0) (0,хг) ... (А.1Л)
••• - (0,6) - (. 0 (б,б) 1 0 - (б, q2) <?2> (?1>«j) У
311
Обозревая развёртку, констатируем, что в роли состояний цепи выступают пары: (°, б),
(513.5). (б ,</’). (б ♦ х» । 10, причём последние две пары служат правилом вычисления
о
последующего состояния по предыдущему. Используем фрагменты развёртки для по-
строения таблицы переходов-выходов устройства, представляемого цепью.
Выделяем из развёртки начальный фрагмент:
-»t-l
fr-я,*)
(Об)
1
(613 + 6x_m>_,
о в
t
(х«Л)
(tfl.to)
У
Он позволяет построить таблицу переходов-выходов для состояния (°, б ). Таблица выгля-
дит так, как показано далее (в ней х0 - цифра младшего разряда, Xi - цифра старшего раз-
ряда). Таблица отражает тот факт, содержащийся во фрагменте развёртки, что цепь из
состояния q - (°, б ) под действием любой входной пары сигналов (х,*) всегда переходит в
состояние (613,0).
о
Хо •V1
* 0 ((6.13) ,3) 0
* 1 ((6,13) ,0) 0
* 2 ((613.6) Л)
* 3 ((513 6).2) 0
Для изучения переходов-выходов из состояния (613,0) выделяем следующий фрагмент цепи:
—«+(
(б.ХбВ + бх^фтх^,,^)
о о
-т
х г
(013.6И
«О13 + 6х_,„)ю + х_,„+1)
о о
Этому фрагменту соответствует следующая таблица переходов-выходов
XT х0 q= (013,0) 0
0 0 ((б,б),1)
1 0 ((б, б),2)
2 0 ((б,б),3)
3 0 ((б, 61 ),0)
0 1 ((б, б),2)
1 1 ((б,б),3)
312
Х1 *0 q= (613,б)
2 1 ((б,01),0)
3 1 ((б,01),1)
0 2 ((б, б),2)
1 2 ((б,б),3)
2 2 ((б, 61 ),0)
3 2 ((б,01),1)
0 3 ((б, б),2)
1 3 ((б,б),3)
2 3 ((б, 61 ),0)
3 3 ((б,61),1)
Продолжение табл.
Из неё видно, что если на вход цепи поступает пара входных сигналов (_t|, х0), причём
jto - I v 2 v 3 (v - символ дизъюнкции, соответствующий грамматическому союзу «или»),
то цепь не реагирует на х0, а только на Xi (это упростит абстрактную схему устройства);
кроме того, видно, что в цепи есть ещё два состояния: q = ( б , 0 ) и q = ( б , 01). Для изучения
переходов из этих состояний воспользуемся следующим фрагментом развёртки:
/+ 1 t t
ЦГ..|Л) / (Х»|Л,)
(б,)^ + л-„,() (б,?2) 1
+ Xr+i) У
Не будем проводить всех связанных с этим фрагментом вычислений и приводить полу-
чающиеся при этом части итоговой таблицы устройства, а сразу приведём всю итоговую
таблицу устройства, эквивалентного цепи.
Таблица 8.20
Устройство 10"1 х + 10-т 013 (синтетическая версия)
•И *0 <7 = (°.б) q = (513,5) 0 ?=(б,б) ?=(б,01)
0 0 ((513,6) ,3) 0 ((б,0),1) ((б,б), 0) ((б, б ),1)
1 0 ((613,0), 0) 0 «б, 6),2) ((б,б),1) ((б,б), 2)
2 0 ((613,5), 1) 0 ((б,б),3) ((б,б),2) ((б,б), 3)
3 0 ((513,6), 2) 0 ((0,61 ),0) ((б,б),3) ((б,61), 0)
0 1 ((613,6), 3) 0 ((б, 6),2) ((б,б),О) ((б,б),1)
1 1 ((513,5) ,0) 0 ((0,б),3) ((б,б),1) ((б,6), 2)
2 1 (513,5), 1) 0 ((б,61),0) ((б,б),2 ((б,б), 3)
313
Продолжение табл. 8.20
Х| Хо 9 = (°,б) (613.6) <7=(б,б) <7=(б,б1)
3 1 ((613,2) 0 «б,01),1) «б,б),3) «б,61), 0)
0 2 ((613,5) ,3) 0 «о, 6),2) «б,б), 0) «б,б),1)
1 2 ((513,5) ,0) 0 «б,б),3) «б,б), 1) «б,б), 2)
2 2 «613,б),1) 0 «б,01),0) «б, б),2) «б,б), 3)
3 2 ((513,5) ,2) 0 «б,01),1) «б, 6)3) «б,61), 0)
0 3 ((613,6) ,3) 0 «6, б),2) «б,б), 0) «б,б),1)
1 3 ((613,6) ,0) 0 «б,б),3) «5,6), 1) «б,б), 2)
2 3 «613,6),1) 0 «б,61),0) «б, 6),2) «б, б), 3)
3 3 ((613,6) ,2) 0 «б,01),1) «б, 6)3) «б,61), 0)
— <"«
Чтобы избежать громоздкости в обозначениях, переобозначим состояния цепи: (®,0) = 0,
__ — °б _ _ _ об _ _ ~ об _
(013,0) = 01, (0,0) = 02, (0,01) = 03, где объекты справа являются обозначениями для
объектов слева.
об
Символ = означает «равенство по обозначению».
В результате предыдущая таблица примет вид:
Таблица 8.21
Устройство 10чг+10“ 013 (синтетическая версия)
Х1 Хо q= б q= 01 q = 02 q=03
0 0 (61,3) (02,1) (62,0) (62,1)
1 0 (61,0) (02,2) (62,1) (02,2)
2 0 (61,1) (02,3) (02,2) (02,3)
3 0 (61,2) (03, 0) (02,3) (02,0)
0 1 (61,3) (02,2) (62,0) (02,1)
1 1 (61,0) (02,3) (62,1) (02,2)
2 1 (61,1) (03,0) (02,2) (02,3)
3 1 (61,2) (03,1) (02,3) (03, 0)
0 2 (61,3) (02,2) (62,0) (62,1)
1 2 (61,0) (02,3) (02,1) (02,2)
2 2 (61,1) (03,0) (02,2) (02,3)
3 2 (61,2) (03,1) (02,3) (03, 0)
0 3 (61,3) (02,2) (62,0) (62,1)
314
Продолжение табл. 8.21
Х1 Хо q= б q= 01 q = 02 q=03
1 3 (61,0) (02,3) (62,1) (02,2)
2 3 (61,1) (03, 0) (02,2) (02,3)
3 3 (61,2) (03,1) (02,3) (03,0)
Проверим правильность работы этого устройства.
Пример 4. Пусть q — 013 , х = 0132 , wrx е Gr°_Q], т = 0.
Развёртка: -1 t
3 2 1 0
0 1 3 2 * X
... (0,0) 1 (ОД) 1 (1,3) 1 (3,2) I (2,*) I (Ч-1Л)
<- 02 «- 02 <- 03 • 01 <- 0 ч
1 1 i
0 0 2 1 1 У
Прежде всего констатируем совпадение полученного результата с тем, что был получен в
примере 3. После этого дадим комментарий.
Числоид X. подаваемый на вход, располагается на разрядной сетке Gr^ 0]. Поэтому
результат будет принадлежать сетке бгД , и вычисление начинается с момента t = - 1.
В этот момент на вход может быть подана любая цифра из Z(4), т.к., как видно из табли-
цы 8.21, в начальном состоянии q = 0 результат работы устройства не зависит от сигнала
Хо, в роли которого в данном случае выступает сигнал х_ь Далее, из таблицы 8.21 видно
также, что устройство реагирует на пару соседних входных сигналов, вследствие чего такие
пары необходимо сформировать, что и сделано в строке (х,+1,х.) развёртки. Дальнейший
разбор работы устройства аналогичен неоднократно встречавшимся ранее случаям.
Рассмотрим ещё один пример вычисления полученным устройством с другим значением т.
Пример 5. Пусть q = 613 , х = 013231, wrx е бгД _2], т - -2.
Развёртка:
3 2 1 0-1-2 -3 t
0 1 3 2 3 1 * X
(ОД) (1,3) (3,2) (2,3) (ЗД) 1 1 1 1 1 (1,*) 1 (•Ч+jA)
«- 02 <- 02 <- 02 «- бз е- 01 <— 0 ч
J. J, J, | J.
0 13 3 1 0 У
Результат: 10 1 (0132311013) = 01331. Устройство вычислило значение функции
10-' х + 10-3.513 при 7 = 013231.
» о
Проверка подтверждает правильность вычисления.
Отметим, что синтетическая версия устройства противопоставляется последователь-
ной цепи, состоящей из делителя и сумматора. Синтетическая версия при вычислении
функции не разделяет процесс вычисления на отдельные фазы: вначале деление, а затем
сложение. Она осуществляет вычисление по собственному алгоритму, хотя и порождён-
315
ному цепью, но совершенно не похожему ни на алгоритмы одного из элементов цепи, ни
на алгоритм цепи в целом (хотя результаты работы алгоритмов совпадают). Его можно
назвать собственным алгоритмом функции 10-1 х + 10-2 013 .
Синтетическая версия устройства получена в результате решения задачи элементарно-
го последовательного синтеза. Полученное устройство является минимальным, т.к. все
состояния его различны и достижимы из начального состояния. Устройство имеет абст-
рактную В-схему, допускающую существенное упрощение не только по признаку минималь-
ности состояний, но и по признаку минимальности элементов, образующих состояния. Это
возможно по той причине, что в устройстве вероятна перегрузка элементов, т.е. возможность
одного элемента работать вместо нескольких других. Наблюдается также существенное уп-
рощение связей, обнаруживаемое из непосредственного обозревания таблицы 8.21. Действи-
тельно, одна из входных переменных для некоторых состояний оказывается фиктивной.
Абстрактная В-схема устройства, передающая вычислительную идею, с ним связан-
ную, по никак не отражающая технологию, в которой оно может быть реализовано (тех-
нология может быть любой; в этом заключается достоинство абстрактной схемы АВУ),
имеет вид (см. рис. 8.2). Состояния устройства представлены жирно обведёнными прямо-
угольниками, внутри которых содержится их нумерация. По линии-0 входа-С подаётся
пусковой сигнал, в остальные моменты времени по линиям входа-С автоматически выра-
батываются управляющие сигналы. Вход-х,_1 содержит линии, соответствующие пере-
менной Хо, все значения которой, как видно из таблицы 8.21, являются фиктивными для
состояний q = 0, 02, 03. Поэтому наблюдается существенное упрощение схемы, состоя-
щее в том, что все схемы совпадения & для этих состояний двухвходовые. Задержки &-
0,1,2,3 на входе задерживают соответствующие сигналы 0. 1, 2, 3 на начальной стадии
работы устройства, когда срабатывает состояние q = 01. Это происходит только в одном
такте, в остальные моменты времени передача управления в состояние </=01 не проис-
ходит, и, таким образом, оно исключается из работы на всё последующее время. Упроще-
ния, возникающие в схеме и вытекающие из таблицы 8.21, в свою очередь, влияют на
таблицу и приводят к её упрощённому варианту (см. табл. 8.22):
Рис. 8.2. В-схема устройства 10 1 х + 10 ” - 013
316
Таблица 8.22
Устройство 10 х + 10 " 013 (синтетическая версия)
*1 Хо q= 01
0 0 (02,1)
1 0 (02,2)
2 0 (02 ,3)
3 0 (03,0)
0 Xq 0 (02 ,2)
1 (02 ,3)
2 (03,0)
3 (03,1)
*1 5=0 5=02 5=03
0 (01,3) (02 ,0) (02,1)
1 (01,0) (02,1) (02 ,2)
2 (01,1) (02 ,2) (02,3)
3 (01,2) (02 ,3) (03,0)
Приведём пример вычисления с помощью схемы.
Пример 6. Пусть <7=013, х = 02321132 wrx е G7;'1 ,,, т = -4.
о о ' • J
Развёртка вычислительной работы схемы имеет вид:
4 3 2 1 0 -1 -2 -3 -4 t
0 0 2 3 2 1 1 3 2 Xt
2 2 2 2 2 2 3 1 0 с
&2,00 &2,00 &2,02 &2,03 &2,02 &2,01 &3,01 &1,13 &-0,2 &-i,j
2 2 2 2 2 2 3 1 - Н
&-0 &-0 &-2 &-3 &-2 &-1 &-1 &-3 &-2 &-0
0 2 3 2 1 1 3 2 - Х,-1
0 2 3 2 1 2 1 1 - У<-2
2 1 0 -1 -2 -3 -А -5 -6
Нужно помнить, что результат располагается на сетке G.'41 _5,, и потому в строке у
цифры принадлежат разрядам, номера которых на две единицы меньше номеров разрядов
цифр на входе или, что всё равно, на две единицы меньше моментов времени (учитывает-
ся задержка на один такт в схемах совпадения &).
В строке г указаны разряды, которым принадлежат цифры результата.
Вычисление, проведённое В-схемой устройства, дало результат:
10-1 02321132 I 613 = 02321211 .
о о о
Устройство, представленное В-схемой, вычислило значение функции 10 х + 10 4 013
при х = 02321132 . Проверка подтверждает правильность вычисления,
о
Резюме'.
1. Таблица 8.20 бесконечного автомата (и другие аналогичные) может рассматриваться
как сборка бесконечного числа конечных автоматов, реализующих соответствующие
алгоритмы.
317
2. Для правильной работы автомата необходимо указывать разрядную сетку, на кото-
рой представляются операнды.
3. Обнаруживается один из возможных видов экстравертности - экстравертность по
сетке, раскрывающая новые возможности вычислительных устройств.
4. Показано, что задание делителя 10'1 >x|q) таблицами 8.20 или 8.21 конструктивно
неполно. Для получения окончательного результата на выходе делителя требуется нали-
чие сумматора с функцией переноса (в ранее встречавшемся делителе 2 -х|</ можно
было обойтись на выходе сумматором без переноса).
5. Дана постановка задачи последовательного синтеза цепи из двух автоматов: делите-
ля 1 О' х | q и сумматора. Приведено необходимое для дальнейшего решения описание
функционирования этой цепи на языке развёрток.
6. Решена задача последовательного синтеза, в итоге решения которой найдено мини-
мальное устройство, эквивалентное цепи.
7. Синтезировано итоговое устройство 10 У IO” 013 и подтверждена правиль-
ность проводимых им вычислений.
8. В комментарии к примеру 5 введён термин «собственный алгоритм функции», раз-
витие которого на базе минимальных устройств приводит к одноименному понятию (соб-
ственный алгоритм функции-это алгоритм, реализуемый минимальным АВУ, вычис-
ляющим эту функцию).
9. Приведена абстрактная В-схема устройства, передающая вычислительную идею, с
ним связанную, но никак не отражающая технологию, в которой оно может быть реализо-
вано
10. Подтверждена правильность вычислений, проводимых В-схемой.
§ 9. Делитель 10-1 х | q (продолжение 2)
В § 7, 8 рассмотрен делитель 10 1 х | q . В дополнение следует рассмотреть ещё один
вопрос Дело в том, что помимо метода синтеза делителя И) х | q , описанного в преды-
дущих параграфах, существует другой метод - метод обращения АВУ (АВУ - абстракт-
ное вычислительное устройство), описанный в [13] (программа обращения составлена
А. В. Ламковым). Этим методом ранее уже был найден аналогичный делитель. Как и де-
литель из §§7, 8, делитель 10 х \q является нормальным делителем, т.е. числа посту-
пают на его вход от младших разрядов к старшим.
Кроме того, он также является устройством с предвидением. Можно показать, что в
классе оА0, содержащем в себе только устройства без предвидения и без последействия,
делителя 10 х \q не существует. Но, в отличие от делителя из §§7, 8. он изначально
определён на сетке ОгД _м), имеющей вид:
<8-35)
Для правильного понимания таблицы напомним, что цифра х0 - это цифра младшего
разряда, а цифра xi - старшего, и расположены они в таблице справа налево, т.е. так же,
как в записи чисел. В развёртках стрелка над цифрами ставится в сторону роста разрядов,
т.е. влево. Поэтому в таблице в столбцах хо и .г стрелки над цифрами повёрнуты влево.
Это помогает ориентироваться при рассмотрении развёрток. При написании результата
мы используем привычное направление стрелок справа налево.
318
Напомним уже встречавшееся правило: если цифра на входе идёт со стрелкой, то и со-
ответствующая цифра выхода идёт со стрелкой (если, конечно, она в клетке таблицы сто-
ит со стрелкой).
Наконец, поскольку этого мы ещё не делали, определим действие делителя на числоид,
заданный на сетке СгД _м). Это действие определяется как результат предельного перехода.
Дадим определение предельного перехода на сетке Gr^ _.г:,.
Пусть {х"}| - последовательность числоидов, записанных на сетке т.е.
числоидов вида х" = ...х“х"х"-1'-1Л-2-"
Определение 1. Будем говорить, что в разряде с номером г - °о <г< + происходит
разрядное установление цифры, если существует такое пг, что при всех п > п, справедли-
во: V/j [х,я = х,|.
п>пг
Таблица 8.23
Нормальный делитель 10”1 х q с предвидением
Х1 Хо <7=0 q= 01 q -02 q =03
0 б б.б
1 0 61,1
2 0 02,2
3 0 03,3
0 1 6,0
т Т 61, Т
2 1 02,2
3 1 03,3
0 2 6,0
1 2 01,1
2 2 02,2
3 2 03,3
0 3 5,0
1 3 61,1
2 3 02,2
3 3 3 03,3
г__ -]|И=оо
Определение 2. Будем говорить, что последовательность числоидов |х"|| сходится
к числоиду х = ...xr...xixo, если в каждом разряде происходит разрядное установление
цифры. Пишем:
lim х" = х
ИЛИ
319
lim ...х”...х".Гд = ...л2.^.Г(Д ,A' 2...
п—>oo
Замечание. Это определение предела позволяет находить как обычные пределы, так и пре-
делы последовательностей, элементы которых принимают сколь угодно большие значения.
Определение 3. Конечным (5,/j-срезом (5 > г) числоида х = ...x2jrjX0.r_|X_2... называется
объект, обозначаемый символом ltj и определяемый равенством
LjcJ = xs...xr.
Действие АВУ на конечный объект типа определено в описании АВУ.
Определение 4. Действие Л ПУ/1 на числоид х = ...X2Xixox_lx_2-. определяется равенством
А(х) — lim Л(|_х J),
где s = «(и) - функция, монотонно возрастающая до (+ «=), а / = /'(//) - функция, монотонно
убывающая до (- »•).
В конкретных ситуациях порядок действий, их содержание, возможные усовершенст-
вования и упрощения определяются самой ситуацией (см. далее).
Приведём примеры вычислений этим делителем.
Пример 1. Пусть X = 03220 , т.е. х - натуральное число, записанное на сетке Gr° _ ,.
о 1
Развёртка, описывающая процесс вычисления делителем, имеет вид:
0 />3 2 1 0 -1 -2>t t
б 0 3 2 2 0 б xt
6,0 1 0,3 1 3,2 1 2,2 1 2,0 1 0,0 1 xt\
1 1 1 1 1 1
б «- 0 03 <- 02 «- 02 «- б <- б я
( ( J. J. (
0 0 3 2 2 б yt
Результат: 10 1 03220 | 0= 03 2 20 . Пояснение к развёртке.
1 В строке t нумерация тактовых моментов времени, в которые работает делитель яв-
ляется одновременно нумерацией разрядов подаваемого на вход числа и начинается с
(-2), т.к. делимое число х = 03220 имеет актуализированный нуль в разряде (-1):
о
0 = 000..., заменяющий собой бесконечное число нулей, идущих по местам разрядной
сетки из (-оо), который должен быть расщеплён: 0 = 00 , т.к. в таблице делителя нет пары
(2,0), а есть пара (2, 0), появление которой достигается упомянутым расщеплением,
вследствие чего деление можно начать с момента / = - 2 (можно потому, что если провес-
ти ещё одно расщепление: 0 = 000, то можно начать с момента / = -3, и т. д.). Благодаря
символу 0 определение 4 компактифицируется и по форме выглядит как конечная опера-
ция (в этом состоит усовершенствование).
2. В строке х, располагаются цифры делимого. При этом поскольку время t «бежит»
влево, то порядок расположения цифр делимого совпадает с обычным, что отмечено на-
правлением стрелок над нулями, причём 0 для моментов ? = 3, 4 также расщеплен:
0 = 00 , поскольку пары (0,3), требуемой в следующей строке развёртки, в таблице дели-
теля не существует, но существует пара (0, 3).
320
3. Строка л,,t_r, содержит пары цифр из соседних разрядов делимого, как это требуется
таблицей делителя, и обусловлено свойством «предвидения» делителя, требующим зна-
ния цифры из следующего разряда по отношению к текущему.
4. Строка состояний формируется обычным образом по таблице делителя. Следует
отметить, что и в строке состояний младшие цифры пишутся справа, а стрелки над циф-
рами повёрнуты в сторону роста разрядов. Наличие стрелок способствует формальному
описанию устройства.
5. В строке у считывается результат.
Пример 2. Пусть х = 0322130 , т.е. х - рациональное число, записанное на разрядной
сетке
Развёртка, описывающая процесс вычисления делителем, имеет вид:
2 1 0 -1 2 -3 -4 > ? t
3 2 2 1 3 0 6 X,
0,3 1 3,2 I 2,2 I 2,1 I 1,3 1 3,0 1 0,0 1 Ы
03 <- 02 <- 02 <- 61 «- 03 1- 6 <- 6 <1
J. 1
0 3 2 2 1 3 0 У:
(продолжение развёртки)
0 t>3 2 t
б 0 3 xt
6,0 1 0,3 1
б б <_ бз q
J,
0 0 yt
Результат: 10"1 0322130 | б = 0322130.
Пояснения к развёртке аналогичны предыдущим, поэтому их опускаем.
Пример 3. Пусть х = 31232, т.е. х - числоид, записанный на сетке Gr,a _ ., представ-
о 1 ’
ляющий отрицательное число.
Развёртка, описывающая процесс вычисления делителем, имеет вид:
0 t>3 2 1 0 -1 -2>t t
3 3 1 2 3 2 2 X,
3,3 1 3,1 1 1,2 | 2,3 | 3,2 I 2,2 1 Xt+ljct
03 <- 03 _ 61 02 <- 03 < 02 < 02 q
j. j. I J.
3 3 1 2 3 2 yt
Результат: 10“’ 31232|02 = 31232.
321
В этом примере наблюдается особенность. Автомат «соглашается» делить предло-
женный числоид только при выборе состояния q = 02 в качестве начального состояния.
Это первый случай, когда автомат сам выбирает начальное состояние для вычисления, и,
кроме того, это первый случай автомата, который вычисляет только одну функцию. Ни-
какой экстравертности по состояниям.
Мы видим, что во всех трёх примерах автомат вычисляет правильно, и по внешнему
признаку деление сводится к перемещению нижнего нолика на один разряд влево, что
полностью соответствует сути дела.
Теперь рассмотрим более сложные числоиды. Они имеют вид:
х = £2 xr.,.x1x()x1..jf.5ro , (8.36)
где £2 = xr.oct , со = x„...xt - периоды; период со идёт из ( - °=) до разряда (-S-1), а период
£2 идёт от разряда (г+1) до (+ «>).
Пример 4 Пусть .г = 31230231. т.е. х -числоид, записанный на сетке Gr!' .,
о 1 '
имеющий период £2 = 3 и период со = 0231.
Поскольку вычисления ведутся от младших разрядов к старшим, то основные сложно-
сти предвидятся в области младших разрядов. В области старших разрядов их нет.
Согласно определению 4, необходимо сформировать конечные срезы числоида х . Та-
ких срезов будет четыре типа (по числу цифр в периоде со = 0231):
срез 1 = 3123023)J (1, = 31230231...02310231,
о о
срез 2= 31230231J (2) = 31230231 ...0231023,
о о
срезЗ = 31230231J (3) = 31230231...023102,
0 0
срез 4- 31230231J (4) = 31230231.„02310.
о о
После этого срезы всех четырёх типов необходимо пропустить через делитель и посмо,-
реть результаты вычислений. Поскольку развёртка принимает большие размеры, приве-
дём её вариант без указателей переходов ( , <— , J,).
Вычисление среза 1.
Развёртка, описывающая процесс вычисления, имеет вид:
2 -3 -4 С+7 С+6 /+5 С+4 £+3 с+2 С+1 t t
2 3 1 0 2 3 1 0 2 3 1 t.
0,2 2,3 3,1 . . 1,0 0,2 2,3 3,1 1,0 0,2 2,3 3,1
, ч , ч— .— .— ч—— Ч ч ч— Ч
02 03 0! . . 0 02 03 01 0 92 03 01 q
0 2 3 . 1 0 2 3 1 0 2 3 Vi
(продолжение развёртки)
... 4 3 2 1 0 -1 -2 t
... 3 3 1 2 3 0 2 if
3 ,3 3,1 1,2 2,3 3,0 0,2 %t+l y%t
... 03 03 bi 02 03 6 02 q
3 3 1 2 3 0 yt
Результат: 10”1 • 31230231_|<1; |01 = 31230231023j(l).
322
Аналогично можно было бы получить результаты ьычислений со всеми остальными сре-
зами:
IO'1 -3123O2JIJ™ | 03 = 312 3023102_к,
о о
IO'1-31230231 L 02 = 3123023Т6Ц,
о о
10-1-31230231J(4| 0 = 31230231j|4).
Выполняя предельный переход по циклической последовательности срезов, получим
окончательный результат действия делителя на рассмотренный рациональный числоид:
10->-312302311 01= 31230231,
о о
т.е. чисто внешне, как и раньше, дело свелось к перемещению нолика, указывающего на
нулевой разряд, на одну единицу влево.
Аналогичным будет результат вычисления этим делителем с любым рациональным
числоидом типа (8.36).
В заключение приводим абстрактную В-схему делителя, попутно отметив различие
между абстрактной схемой устройства и принципиальной схемой устройства. Как и вся-
кая абстрактная схема, абстрактная схема делителя передаёт вычислительную идею,
связанную с делителем. Никаких ограничений на технологию изготовления делителя
абстрактная схема не накладывает: делитель может быть исполнен в любой технологии —
механической, электрической, электронной, оптической, квантовой и т.д. После выбора
конкретной технологии абстрактная схема используется для создания принципиальной
схемы устройства, в которой учитывается выбранная технология. Принципиальная схема
так же, как и абстрактная схема, передаёт вычислительную идею, связанную с устройст-
вом, однако она в дополнение ко всему отражает выбранную технологию.
Рис. 8.3. В-схема нормального делителя 10 1 .г | q
323
В момент t на вход-Хо схемы поступает младшая цифра числоида, подаваемого на вход.
В задержках &-/ (/ “0, 1, 2, 3) этот сигнал задерживается на один такт длительностью т&
(задержка во всех элементах схем совпадения предполагается одной и той же и равной т*)
и попадает на вход-х в момент времени t + 1 (единица времени равна т&). В этот же мо-
мент на вход поступает сигнал пуска по одной из линий входа-С. Срабатывает одна из
схем совпадений одного из состояний, после чего вырабатывается, во-первых, выходной
сигнал, снимаемый на выходе, и, во-вторых, управляющий сигнал на выходе-Н, служа-
щий одновременно управляющим сигналом для следующего момента времени.
Схема приведена в упрощённом варианте, в ней не отражены сигналы входа и выхода
со стрелками. Учёт таких сигналов не представляет принципиальных трудностей, однако
осуществление этого учёта увеличит размеры схемы и ухудшит её восприятие.
Резюме'.
1. Методом обращения абстрактных вычислительных устройств, описанным в [13], синте-
зируется нормальный делитель 10_|х|«, осуществляющий деление на 10 числоидов,
заданных на полной разрядной сетке
2. Во всех случаях чисто внешним образом деление сводится к переносу нолика, отме-
чающего цифру из разряда единиц, на один шаг влево, что вполне соответствует сути
дела.
§ 10. Делитель
Теперь надо рассмотреть делитель 11 1 х | q и выяснить, каковы особенности, с ним
связанные.
Согласно программе действий, сформировавшейся в предыдущих параграфах, необхо-
димо, прежде всего, привести умножитель 11 х | q . Он задаётся бесконечной таблицей.
Таблица 8.24
Бесконечный автомат 11 х | q . q е Z
X \ 31 32 3 *0 *01 *02 *03 *010 011
б 3,1 3,2 3,3 0,0 6,1 6,2 6,3 61,0 01,1
т 0,2 6,3 61,0 61,1 01,2 61,3 02 ,0 02,1 02 ,2
2 01,3 02 ,0 02,1 02 ,2 02 ,3 03,0 03,1 03,2 03,3
3 03,0 03,1 03,2 03,3 610,0 610,1 610,2 610,3 611,6
Ядро состояний умножителя выделено звёздочками и имеет вид:
Qnuc = {0,01.02,03,010}. Умножение на 11 происходит, если поставить автомат в началь-
ное состояние q = 0. При умножении автомат осуществляет переходы в пределах ядра
Qnuc Стрелки над выходными цифрами стоят в случае, если соответствующие им состоя-
ния являются финальными. Из всех состояний ядра только состояние 02 не является
финальным.
Таблица продолжается влево и вправо до бесконечности. Синтез ядра этого умножи-
теля описан в [13], а экстравертность по состояниям, приводящая к бесконечному авто-
мату 10.1, описана в главе 7, § 3. Приведём пример вычисления с помощью этого умно-
жителя.
324
Пример 1. Ставим автомат в начальное состояние <7 = 0, выбираем х = 0312 . Найдём
11 0312|0. Изобразим развёртку работы умножителя (см. далее). Результат:
11 0312 | 0 = 010032 . Легко проверить правильность вычисления. Умножение четырёх-
значного числа х = 0312 (символ 0 включаем в число знаков числа, т.к. на оперирование
с ним затрачивается время; обычно же нули из старших разрядов не включаются в число
значащих цифр) выполнено за 6 тактов.
0 ос > / > 5 4 3 2 1 0 t
б б 1 б 3 1 1 2 1 X
0 0 <- 01 010 <- 01 <- 02 *- 0 1
; 1 J.
0 1 0 0 3 2 У
Но в действительности имеет место существенная экономия времени вычисления: вы-
числение заканчивается одновременно с первой подачей на вход символа 0 , потому что в
строке q в этот момент стоит вся группа цифр из старших разрядов результата, и после-
дующее вычисление сводится к последовательному переносу этих цифр в результаг.
Приведём пример вычисления с помощью этого умножителя.
Пример 2. Ставим автомат в начальное состояние q = 0 . выбираем х = 0312 . Найдём
11 031210. Изобразим развёртку работы умножителя (см. далее). Результат:
11 0312 | 0 = 010032 . Легко проверить правильность вычисления. Умножение четырёх-
значного числа х = 0312 (символ 0 включаем в число знаков числа, т.к на оперирование
с ним затрачивается время; обычно же нули из старших разрядов не включаются в число
значащих цифр) выполнено за 6 тактов.
Приведём ещё пример вычисления с числоидами.
Пример 3. Ставим автомат в начальное состояние q=Q, выбираем х = 3. Известно,
что числоид 3 представляет число (-1). Поэтому результат вычисления заранее понятен.
Должно получиться -11(4, ~ —5( )в). Найдём 11 3 | 0. Изобразим развёртку умножителя:
0 оо > Z > 2 1 0 t
3 3 3 1 X
610 <— 010 4- оз »- 0 q
3 2 3 У
Пишем результат: 11 • 3 | 0 = 323 . Результат записан на сетке Gr^ щ . В сетку Gr'x 0, проис-
ходит перенос состояния <7 = 010. Так как в старших разрядах результата стоит 3 , то
числоид 323 представляет отрицательное число. Чтобы найти это отрицательное число,
пропустим числоид 323 через умножитель на (-1):
325
Таблица 8.25
Минимальный автомат (-1)? q~ 3-x\q, q е Q_j - {3,0}
х\ 3 б
б 3,3 б,б
т 3,2 3,3
2 зд 3,2
3 3,0 3,1
Автомат, заданный таблицей 8.25, умножает на (-1) при постановке его в состояние
q = 0 в качестве начального состояния.
Результат вычисления, проводимого им над числоидом 323, читается в развертке:
0 оо > ? > 2 1 0 t
3 2 3 X
3 <- 3 »- 3 «- б <7
б 1 1 У
Имеем результат: (-1)-323 | 0 = 011, т.е. число, противоположное представляемому
числоидом 323, равно 011. Итак, числоид 323 представляет число (-11), что отражается
понятным для нас равенством: 323 = - 011, но чуждым для АВУ, которые при написании
отрицательных чисел обходятся собственными изобразительными средствами, без
использования знака минус.
Итак, с умножителем 11 х | q мы познакомились, убедились, что он правильно
вычисляет, и показали, как следует интерпретировать результаты его вычислений над
числоидами. Теперь, согласно ранее сформировавшемуся плану действий, необходимо
найти числоид, представляющий число II-1.
Вначале ищем числоид для II"1 на сетке G/'Д о] •
Искомый числоид на сетке имеет вид: v = ...v,....v1v0.
Он должен обладать свойством:
11- v 10 = 61.
Пропустим его через умножитель 11 х | а , зная, что на выходе должна получиться
единица. Изобразим начало развёртки работы этого умножителя:
2 1 0 t
Vi v0 v
«- ? «- ? <- б q
б 1 у
С самого начала нам известны результат вычислений (строка у) и начальное состояние
автомата q = 0. Неизвестны строка V и строка состояний, что отмечено знаками «?».
Однако поскольку таблица, задающая автомат 11 х | q, известна, то эти неизвестные
строки могут быть найдены.
326
Так, при г = 0 задаём вопрос: «Под воздействием какого входного сигнала v0 автомат
из состояния <7 = 0 вырабатывает выходной сигнал 1?» По таблице 8.24 паходим, что
имеется единственная возможность: v0 = 1. Следующий вопрос таков: «В какое состояние
переходит автомат из состояния q = 0 под воздействием входного сигнала v0 = 1?». Опять
же по таблице 8.24 находим единственный ответ: в состояние t?=01. Это позволяет внести уточнение в развёртку:
2 1 0 t
V, 1 V
? < 61 б q
б 1 У
Аналогично при t = I задаём вопрос: «Под воздействием какого входного сигнала V] автомат
из состояния q = 01 вырабатывает выходной сигнал 0 ?» По таблице 8.24 находим, что такой
возможности нет. Автомат в этом состоянии способен выработать только выходной сигнал 0.
Поэтому мы должны расщепить сигнал 0 = 00 , поставить в строке у при t = 1 сигнал 0, а при
t = 2 в этой строке поставить 0 . В результате развёртка примет вид:
2________1_________0 t
V2 Vi 1 V
? <- 01 «- 0 q
0 0 1 у
При t = 1 вопрос нужно слегка изменить: «Под воздействием какого входного сигнала V]
автомат из состояния q = 01 вырабатывает выходной сигнал 0?» По таблице 8.24 находим, что
это происходит под воздействием входного сигнала 3. Поэтому V| = 3. При этом из таблицы же
видно, что автомат переходит в новое состояние q = 010 . Развёртка перейдёт в следующую:
3 2 1 0 t
v3 *2 3 1 V
? <— 010 «- 01 <- 0 q
б 0 1 У
Из таблицы 8.24 видно, что при попытке найти \у опять требуется расщепление 0 = 00 .
После чего находится и оказывается равным нулю: = 0; находится также и переход в
новое состояние: q =01, после чего видно, что ситуация повторяется. В итоге развёртка
принимает вид:
4 3 2 1 0 t
0 3 0 3 1 V
... <- 610 <- 61 <- 610 <- 61 <- 6 q
0 0 0 0 1 У
Результат записывается в виде: 11 031| 0 = 61.
Таким образом, можно написать равенство:
11-' =531.
327
Числоид, представляющий 11 ', имеет период 03. идущий в положительную
бесконечность по местам разрядной сетки Gr'^ Oj.
Итак, в качестве первого шага на пути построения делителя 11 х | q на сетке Oj
найден числоид, представляющий 1I-1.
Следующим шагом является построение шапки делителя, в роли которой выступает
последовательность состояний делителя, получающаяся путём умножения числоида 031
на целые числа: Q = {q | q = 031 -г, t е Z]. Приведём результаты умножений на первые
целые числа: (-1), 0,1,2,3.10 в автоматном представлении:
.... (-1)-031 = 3 031 =303, б 031 = б, 01 031 = 031 , 02 031 = 122,
03 031 = 213, 010 031 = 0310, 611 031 = 01, ...
Далее приведены развёртки для некоторых их этих умножений:
3 2 1 0 t
0 3 1 X
02 031: б «- 61 <- 6 «- б 9
1 2 2 У
3 2 1 0 t
0 3 1 X
бЗ 031: 5 «- 02 *- 6 <- б 9
2 1 3 У
3 2 10 t
0 3 1 X
(-1) 031 : 3 *— 3 «— 3 *— 0 9
3 0 3 У
При построении развёрток использовались таблицы 8.7, 7.17, 8.24.
Фрагмент шапки делителя 11 1 • .г | q имеет вид:
X \ 030 121 212 303 0 031 122 213 0310 01 032 123
По шапке строим таблицу делителя, используя известную методику, состоящую в
опускании и сдвиге строк на одну клетку влево.
Таблица 8.26
Бесконечный автомат 11-1 х | q (£? = {9 I 9 = 031 z,z е Z} )
X х \ 030 121 212 303 0 031 122 213 0310 01
б 03 0 12,1 Л, 2 30 3 б, б 03,1 12,2 21,3 031,0 6.1
1 12,1 21,2 36,3 б, б 03,1 12,2 21,3 631,0 6,1 03,2
2 21,2 30,3 б, б 03,1 12,2 21,3 031,0 6,1 03,2 12,3
3 30.3 б. б 03,1 12,2 21,3 031,0 6,1 03,2 12,3 122,0
В таблице 8.26 часть шапки таблицы слева от 0 представлена в виде, удобном для
отделения цифры из разряда единиц. При этом оказывается, что в содержательной части
таблицы, состоящей из переходов-выходов, нет состояний (кроме б ), содержащихся
328
в шапке таблицы. Но это только по видимости. В силу равенств 303 = 03, 212 = 12,
121 = 21, 030 = 30, ..., таблица может быть переписана:
Таблица 8.27
Бесконечный автомат 11-1 х | q , (Q = {q | q = 031 z,z е Z} )
х\ 3 *30 *21 *12 *03 *0 031 122 213
б 3,3 03,0 12,1 11,2 30,3 б. б 03,1 12,2 21,3
т 03,0 12,1 21,2 30.3 б,б 03,1 12,2 21,3 031,0
2 12,1 21,2 30,3 б, б 03,1 12,2 21,3 031,0 6,1
3 21,2 30,3 б, б 03,1 12,2 21,3 031,0 6.1 03,2
после чего обнаруживается ядро делителя (оно выделено звёздочками) и множество его
состояний:
= {30,21,12,03,0}.
Таблица 8.27 продолжается влево и вправо до бесконечности.
Приведём продолжение таблицы 8.27 влево, «зацепившись» за состояние q = 12 .
Таблица 8.27
Бесконечный автомат 11-1 х | q (Продолжение влево)
х\ 32 3023 120 211 302 3 *30 *21 *12
0 3,2 302,3 12,0 21,1 50,2 3,3 03,0 12,1 П.2
1 302,3 12,0 21,1 30,2 3,3 Озо 12,1 21,2 30,3
2 12,0 21,1 30,2 3,3 03,0 12,1 21,2 30,3 0,0
3 21,1 30,2 3,3 03,0 12,1 21,2 30,3 б.б 03,1
Из свойств таблицы 8.27 следует отметить свойство, состоящее в том, что ядро
таблицы является притягивающим. Это означает, что при постановке автомата в
состояние q 0 в качестве начального автомат в процессе вычислений осуществляет
переходы, стремясь попасть в ядро и в дальнейшем из него не выйти.
Приведём примеры вычисления синтезированным делителем.
Пример4. Выбираем число х = 010032(4) = 0270(Ш), делящееся на 11(4i = 5(iB). Ставим
автомат в начальное состояние q = 0 и подаем х на вход. Изображаем развёртку работы
делителя:
5 4 3 2 1 0 t
0 1 0 0 3 2 X
1 1 1 1 1 1
о «- 03 30 03 12 *- 0 <?
0 0 0 3 1 2 У
329
Результат: 11 1 010032|0 = 0312 . Его можно переписать в привычном виде:
010032:011 = 0312 или в десятичной системе 270:5 = 54. Получившийся результат -
0312 - это натуральное число, записанное в четверичной системе счисления.
Пример 5. Выбираем число х = 010031(4) = 0269,, не делящееся на 1](4) = 5((0).
Ставим автомат в начальное состояние q = 0 и подаем х на вход. Изображаем развёртку
работы делителя:
7 6 5 4 3 2 1 0 t
0 0 0 1 0 0 3 1 X
. 1 - - 4
30 «- 03 «- 30 «- 12 <- 21 12 «- оз *- 0 q
0 3 0 3 1 2 2 1 У
Результат: И 1-6100311 6 = 031221. Его можно переписать в виде: 610031:611 = 031221,
или, в десятичной системе, 269:5 = 53,8. Таким образом, числоид 031221 представляет
результат деления натурального числа 010031 на натуральное число 011. Этот же
результат, если записать его в десятичной системе счисления, равен 53,8. Но числоид
031221 с точки зрения привычной идеологии нам чужд, ибо он есть в нашем понимании
бесконечно большое число. А бесконечно большие числа мы не воспринимаем как
отдельные объекты и не различаем их. Мы их все «сваливаем в одну кучу» и обозначаем
символом со. Однако, как выясняется, абстрактные вычислительные устройства различают
их и используют для представления результатов вычислений. Как обычно, результат
деления 010031:011 = 031221 истолковывается по Эйлеру.
Действительно,
631221 = 1 + 2-10 + 2-102 +1-103 + 3-104 + 3-106 + 3-10s+...=
(здесь десятка - это десятка четверичная, т.е. четвёрка десятичная)
= 1 + 2 4 + 2-16 + 1 64 + 3-256 (1 + 16 +162 +163 +...) =
= 1 + 8 + 32 + 64 + 768 ^Ц^ = 105-^ + ^-16” =105-^ = ^ = 53,8(iO) =031130.
16-1 15 15 15 15 ’ о
Встретившийся в этих вычислениях объект 16“ = 103“ удаляется из рассмотрений по той
причине, что ему нет места на разрядной сетке.
Таким образом, результат деления натурального числа 010031 на натуральное число
611 имеет два представления: 010031 : 011 = 031221 и 610031 .611 = 031130 . Первое из
о
них - это представление бесконечно большим числом, а второе - привычное для нас
конечное представление (оба представления в четверичной системе счисления).
Рассматриваемый здесь делитель выбрал в качестве представления первый вариант, т.е.
он явно ведёт вычисления по Эйлеру.
Резюме'.
1. Числоид, представляющий 11-1, располагается на разрядной сетке бгД Oj.
2. Делитель 11-1 х | q синтезируется по описанной ранее методике.
3. Особенностью автомата является то, что ядро автомата располагается в отрицательной
области шапки таблицы.
330
4. Результаты деления натуральных чисел, делящихся на 1представляются обычным
образом натуральными числами, т.е. с префиксом 0 ; если же делимое является числом,
не делящимся на 11(4), то автомат представляет результат деления в виде числоида,
привычно истолковываемого как бесконечное число; такое истолкование отвергается
нами как не имеющее реального применения.
5. Свойством сдвигового представления:
303 — 03, 212 = J2 , 121 = 21, 030 - 31)
обладают только состояния ядра автомата.
§11. Делитель 12_| • х | q
1. С целью накопления экспериментального материала рассмотрим ещё один
делитель - делитель на 12,4) = бщ». Выясним, каковы связанные с ним особенности.
Поскольку содержание некоторых однотипных действий мы в предыдущем материале
уже проявили достаточно полно, то не будем входить в описание подробностей подобных
действий применительно к делителю на 12, а ограничимся приведением результатов
Как всегда, начинаем с умножителя на 12, позволяющего найти числоид,
представляющий 12 Умножитель задаётся следующей таблицей.
Таблица 8.28
Бесконечный автомат 12 х \ q , (де Z = {...,32,3,6,61,02,...})
х\ 32 3 *6 *01 *02 *03 *610 *011 012
0 3,2 3,3 6.6 6,1 6,2 6,3 61,0 61,1 01,2
т 01,0 61,1 61,2 01,3 02,6 02,1 02,2 02,3 03,0
2 02,2 02,3 03,0 63,1 03,2 03,3 610,0 610,1 610,2
3 010,0 610,1 610,2 610,3 611,0 611,1 611,2 611,3 612,6
Таблица продолжается влево и вправо до бесконечности. Ядро состояний автомата
выделено звёздочками и имеет вид:
QnuL ={6,01,02,63,610,611} .
Характеристическое свойство ядра состоит в том, что, попав в процессе вычислений однажды
в ядро, автомат в дальнейшем из него не выходит. В роли финальных состояний выступают
все состояния ядра, а также состояния q = 3 и q = 012 . Признаком финальное™ состояния
является наличие стрелки над выходным сигналом в соответствующем столбце переходов-
выходов. Видно, что каждое состояние автомата не является полнозначным, т.е. для каждого
состояния множество выходных сигналов, вырабатываемых в этом состоянии, представляет
собой собственное подмножество входного алфавита Z(4) = {0,1,2,3} . Основная операция,
вычисляемая этим автоматом, - умножение 12 х , выполняется при постановке автомата в
состояние <7=0 в качестве начального. При постановке в другие начальные состояния,
q Р 0. автомат вычисляет родственные функции вида 12 х + q .
Приведём пример вычисления умножителем 12 х | q .
Пример 1. Пусть х = 0323 = 59(10), q = 0 .
331
Развёртка, с помощью которой происходит слежение за процессом вычисления, имеет вид:
0 5 4 3 2 1 0 t
б б б 3 2 3 X
0 б 01 <- 611 «- 010 «- 010 <- 0 ч
0 1 1 2 0 2 У
Результат вычисления:
12 0323 1 5 = 011202 = 354(10),
очевидно, правилен. Умножитель всегда вычисляет правильно.
С помощью этого умножителя находится числоид, представляющий число 12 1.
Процедура нахождения подобна описанным ранее, поэтому приведём только результат
нахождения.
Искомый числоид существует на разрядной сетке Gr^_^ и даёт следующее
представление для 12
12 1 = 12.
о
(8.37)
На разрядной сетке числоида, представляющего 12 , не существует. Опираясь на
предыдущий опыт, из того факта, что найденный числоид существует на разрядной сетке
G/'Д j], можно сделать вывод о том, что делитель на 12 будет устройством,
расширяющим сетку результата. Это означает, что если входной числоид записан на сетке
G/'Д Oj, то результат будет записан на более широкой сетке Gr^ .
Напомним последующий порядок действий по нахождению делителя на 12. Опишем
необходимые действия.
С помощью числоида (8.37) строится начальный, нулевой, столбец делителя.
_________________________________________________________j _ *— __
Поскольку при этом приходится вести вычисления по формуле п x + q = \2-x + q, где
о
х - цифра, a J - состояние автомата, в котором числоид 12 1 = Т 2 записывается на сетке
о
G'jl-jp то и результат вычисления должен располагаться на этой же сетке. Заполнив
нулевой столбец результатами этих вычислений, применяем к ним операцию отрыва,
описываемую одной из возможных функций отрыва. В результате в нулевом столбце
формируется функция переходов-выходов из начального состояния q = 0 0, содержащая
о
в себе информацию как о новых состояниях, отличных от исходного состояния а =00,
о
так и о функции выхода. Обратим внимание на то, что начальное состояние написано на
сетке G/j^ (]. На этой же сетке будут записаны все остальные появляющиеся состояния.
Этими состояниями нумеруются столбцы создаваемой таблицы автомата. Аналогично
тому, как вычисляется столбец переходов-выходов для начального состояния q = 00,
о
вычисляются столбцы переходов-выходов для каждого из появившихся состояний. В этих
столбцах могут появиться новые состояния, не встречавшиеся ранее. Ими также нумеруются
новые столбцы таблицы, для них вычисляются столбцы переходов-выходов и т.д. Эта процедура
332
заканчивается, если не появляется новых состояний, и тогда полученная таблица есть таб-
лица искомого автомата, который оказывается конечным. Логически остающаяся возмож-
ность, когда описанная процедура нс заканчивав гея, приводит к бесконечному автомату.
Поскольку этот метод построения автомата встречается неоднократно, то он выступа-
ет как методологический объект, и ему можно присвоить имя. Будем называть этот метод
построения автоматов методом накопления состояний. С помощью функций отрыва
строятся различные варианты делителей. Поскольку функций отрыва бесконечно много,
то и получающихся делителей бесконечно много. Один из вариантов функции отрыва,
когда отрываются две цифры из младших разрядов, описан в [15]. Однако возможны и
другие случаи.
2. Приведём некоторые сведения из понятия функций отрыва.
Напомним, что функции отрыва появились у нас впервые как удобное средство описа-
ния функционирования самых первых вычислительных автоматов — автоматов сдвига,
сумматоров... Описание функций отрыва было следующим. Функции отрыва работали на
множестве числоидов заданных на сетке = ...уууу. На этой сетке числоиды запи-
сывались в виде: х = тх;....х2х1х0, где т - период, т.е. некоторая зафиксированная конеч-
ная последовательность цифр. Цифра х0 - это цифра из разряда единиц числоида х . Она
стоит на месте с номером 0 разрядной сетки G/'Д Oj и истолковывается как число единиц в
разряде с номером 0. Остальная часть числоида 1 , записываемая в виде тх ,_х,х, и рас-
„ о
сматриваемая как новый числоид на сетке истолковывается как число десятков в
числоиде х . Например, если х = Олг,к,х.хо = 02123 , то х0 = 3 , т.е. цифра из разряда еди-
ниц равна 3, а число десятков изображается числом Ox3x,Xj = 0212, которое сдвигается
на сетку Gr^ Oj. Теперь осталось напомнить определения и обозначения. Существуют две
функции отрыва: функция отрыва единиц (обозначается (х)) и функция отрыва числа
десятков (обозначается )х(). Они определяются равенствами:
опр
(х) = (Txr...x2XjX0) = х0 (8.38)
опр
)х(=)тхг...х2х1х0{= тхг...х2Х] (8.39)
Числоид х может быть представлен равенством:
х =).?( 10 + (jf). (8.40)
Обратим внимание на то, что разрядная сетка Gr^ 0] была первой простейшей встретив-
шейся нам разрядной сеткой, она длительное время оставалась единственной доминантой
при решении задач о представлении чисел и, таким образом, была своего рода констан-
той. Благодаря этому обозначения для функций отрыва были простыми, не отягощёнными
никакой вспомогательной информацией. В отличие от этого, функции отрыва, которые
будут введены в дальнейшем, будут работать на других разрядных сетках, параметры
которых будут варьироваться, что скажется на обозначениях для функций отрыва. Благо-
даря константности сетки Gr^ 0] тот факт, что ).г( записывается полностью на этой сетке,
маскируется, не выходит на первый план. В противоположность этому существенно,
333
(8.41)
скобках
что функции отрыва, аналогичные )х(, полностью записываются на соответствующих
сетках.
Опишем последовательность отрывов на сетке бгД Oj.
Отрыв по разряду 0.
Имеем:
х = хХг...х1х]х0 = тхг...х,х. О + хо = тхг..,х,х1 1О + хо =)х(о-1О + (х)о ,
откуда следует, что
{)х(0 = TXJ....X2Xj
= Хо
причём числоид )х(0= тхг...х2Х] записан на сетке СпгДОр а нолик при угловых
означает, что отрыв произведён по разряду 0.
Отрыв по разряду 1.
Имеем:
х = тх ...XiXjXq = тхг....г,00 + XjX0 ~ тх ...х9 10 +XjX0 =)<(.• 10' + (х)[,
откуда следует, что
ТХГ...Х,
(х)1 = Х(ХЭ
причём числоид )Г(1= ixr..jc-, записан на сетке СгДОр а единица при угловых
означает, что отрыв произведён по разряду 1.
Отрыв по разряду 2.
Имеем:
х = fxr...xtx0 = тх ...х3000 + x^XjX^ = тх;....х3 10' + x,XjX0 =)х(2-1С + (xk,
откуда следует, что
(8.42)
скобках
причём числоид )х(9= тх(....х3 записан на сетке б^,Ор а двойка при угловых
означает, что отрыв произведён по разряду 2.
Обобщение происходит на основе имеющейся закономерности.
Отрыв по разряду р.
Имеем:
х = тх|....х,х1х0 = тх;....х^+10...0 + х^...х1х0 = тсг...х и -Ю^1 +х^...х1х0 =
=
откуда следует, что
ГЯр=тхг...хр+1
причём числоид )х( = тхг...х , записан на сетке б>"До] ’ а буква р при угловых скобках
означает, что отрыв произведён по разряду р.
Покажем на примерах, как работают функции отрыва и порождают новые автоматы.
Рассмотрим пример знакомого автомата - умножителя на три.
(8.43)
скобках
(8.44)
334
Таблица 8.29
Бесконечный автомат 3 х|о
'“4)
х\ 30 3 1 32 3 5 51 02 03 510
б 3,0 3,1 3,2 6,0 6,1 6,2 6,3 61,0
т 3,3 6,0 6,1 0,2 6,3 61,6 61,1 61,2 61,3
2 0,2 б,з 61,0 61,1 61,2 01,3 02, б 02,1 02,2
3 61,1 61,2 61,3 02 ,0 02,1 02 ,2 02,3 03,1
Таблица 8.29 записана для функций отрыва по разряду 0 типа (8.41).
Описание вычислений с его помощью было приведено ранее (см. гл. 7, § 2). Поэтому
перейдём к другому заданию этого автомата, получающемуся с помощью функций отры-
ва по разряду 1 (8.42). Для этого выполним стандартную процедуру построения умножи-
теля с помощью опускания шапки со сдвигом и последующего отрыва двух цифр млад-
ших разрядов Получается:
Таблица 8.30
Бесконечный автомат 3 х\а
'Ц4)
х\ 30 3 1 32 3 *6 61 02 03 610
6 3,30 3,31 3,32 3,33 0,00 6,01 6,02 6,03 6,10
1 3,33 б, 00 6,01 6,02 6,10 6,11 6,12 6,13
2 6,02 0,03 5,10 6,11 6,12 6,13 6,20 5,21 6,22
3 6,11 0,12 6,13 6,20 6,21 6,22 5,23 6,30 6,31
Получился автомат, у которого ядро состоит только из одного состояния q = 0 . Если
рассмотреть конечный автомат, представленный ядром, то его В-схема будет являться, по
существу, комбинационной В-схемой, т.е. В-схемой без обратной связи. Как видно, зна-
чения функции выходов этого автомата представляет собой двухцифровые образования,
которые истолковываются так: правая цифра - это цифра из текущего разряда, а левая
цифра - это цифра из старшего разряда по отношению к текущему. Все вычисления про-
исходят на сетке Gr^ 0], и, в частности, первая входная цифра располагается в разряде 0.
Поэтому первые две цифры результата располагаются в разрядах 0 и 1. Рассмотрим при-
мер вычисления с помощью этого автомата. В следующей далее развёртке цифры млад-
шего разряда результата располагаются в строке у, а цифры старшего разряда результа-
та - в строке у ,. Для получения цифр окончательного результата у нужно сложить циф-
ры, попавшие в один разряд. Обратимся к знакомому примеру.
Пример 2 (пример 3 из § 2, гл. 7). Пусть q = 02 , х = 012 . Найдём 3 012 | 02 . Изобра-
зим развёртку работы умножителя:
0 t>3 2 1 0 t
0 6 1 2 X
0 0 0 6 02 q
6 0 3 0 yt
335
0 0 2
6 110
Ум
У
В строке у читаем результат: 3•012 | 02 ~ ОНО, что совпадает с результатом примера 3
из главы 7, § 2.
Рассмотрим функции отрыва на других сетках. Имеется в виду множество сеток
вида:
Gr(Lm] т-натуральное. (8.45)
Отрыв по разряду р, р > -т .
Имеем:
откуда следует, что
= Хр-х-пмх-,п ’
(8.46)
причём числоид )х( т= тхг...х j записан на сетке Gr^, а буквар при угловых скоб-
ках означает, что отрыв произведён по разряду р.
В качестве частных случаев получаются предыдущие результаты.
Действительно, если т = 0, р = 1, то (8.46) даёт:
что совпадает с (8.42).
Если т = 1, р = -1. то (8.46) даёт:
Таким образом, простейший отрыв на сетке Gr^ — ...--у- — происходит по фор-
мулам (8.47), при этом, что существенно, числоид )х( , _,= тхг...х0 записан на сет-
„ о _ ,
ке Gz|oo_^ = •.57777, т.е. его первая цифра х0 располагается на месте с номером
(-1).
3. Применение функции отрыва к построению делителя 12 1 х | q .
Из бесконечного числа вариантов выбора функций отрыва остановимся на вариан-
те (8 47). В этом варианте происходит отрыв только одной, самой младшей цифры
числоида. Отрывы только одной цифры приводят к устройствам с самым простым
выходом, нс требующим никаких дополнительных преобразований для приведения
устройства к окончательному работоспособному виду, как это сделано в устройстве из
примера 2.
Применив метод накопления состояний, находим конечный автомат 12 1 х | q , пред-
ставленный таблицей 8.31.
336
Таблица 8.31
Конечный автомат 12 г | q , q г Q = {0 0,11,2 2,2 3}
0 0 0 0
X X 22 0 11 0 00 0 23 0
б 22,2 0 11,1 0 00,б 0 22,3 0
1 до, о 0 22,3 0 11,2 0 00,1 0
2 11,2 0 00,1 0 23,0 0 11,3 0
3 23,0 0 11,3 0 00,2 0 23,1 0
Запишем числа, представляемые числоидами автомата:
1 1-11-1 1
11 =---=-----, 22 =--------=— , 23 = +— =+— .
* 30(4) 12(10) 0 12(41 6(10) ° 30(4) 12(10)
Схема переходов-выходов в этом автомате имеет вид:
Я,, (8-48)
где
?Z+1 +9,(1!, Л-! =(12-*(+9(>1-1 (8.49)
Особенностью схемы является то, что выходной сигнал у х записывается в момент t -1,
что естественно, т.к. напоминаем, входной числоид, поступающий на вход автомата, за-
писывается на сетке G+Д^. а выходной - на сетке Gr^ . Поэтому первому сигналу х0,
поступившему на вход при 1 = 0, должен соответствовать первый сигнал на выходе, т.е.
сигнал у-i, записанный на сетке Gr°__^ .
Полностью описывать вычисления, приводящие к таблице 8.31, задающей автомат
12 1 х | q , не будем. Рассмотрим пример вычисления какой-нибудь одной клетки этой
таблицы. Возьмём клетку, находящуюся в столбце, отмеченном состоянием 2 2, и
о
в строке, соответствующей входному сигналу х = 3 . Тем самым требуется изучить пе-
реход-выход 2 2,3 —> ?, ? . Вычисления таковы (см. общую формулу для вычислений
(8.49)):
?,+, =)i2-xz+JALl=)12-3 + 22(L1=)62 + 22^=)230(t .= 23,
о о о _ о о о
= (12 х, + q,} L: = (12 • 3 + 2 2) = (2 3 0) |_, = 0.
0 0 0 0
Следовательно, искомый переход-выход имеет вид: 2 2,3 23,0, что и показано в таб-
0 о
лице 8.31. Аналогично заполняются все остальные клетки таблицы.
Приведём примеры вычислений, проводимых этим делителем.
Пример 3. Пусть х = 6-73^]0^ = 438^10^ =12312 .С помощью развёртки следим за
вычислением:
337
6 5 4 3 2 1 0 -1 t
0 1 2 3 1 2 X
00 «- 00 0 0 +- 23 0 <- 00 0 _ со 0 +- 23 0 <- 00 0 ч
X X X X X X
б 1 0 2 1 0 У
Результат представлен записью:
12 012312 | 00 = 010210, т.е. у = 010210.
0 0 о ' о
Проверка:
у = 010210 = 1 103 + 0 102+210’+1 101 = (переходим в десятичную
о
систему счисления) = 4 4- 2 • 4 + 1 = 73, как и должно быть.
Пример 4. Теперь рассмотрим случай, когда число х не делится на 12^ = 6,19).
Пусть х = 6 73 + 3,.„, = 441 = 12321 Развёртка отражает вычисление:
0 5 4 3 2 1 0 -1 t
б 1 2 3 2 1 X
— — —
0 0 СО <- 23 0 0 <_ 00 «- 11 <- 00 а
0 0 0 0 0 0 0
б 1 0 2 1 2 У
Результат представлен записью:
1$“' 0123211 00 = 010212, т.е. у = 010212.
0 0 о ' о
Проверка:
у = 010212 = 1 103 + 0 10" + 2 ю' +1 1 О' + 2 10 = (переходим в десятичную
о
3 1
систему счисления) = 4 -1-2 4 + 1 + 24 = 73 —, как и должно быть.
2
Пример 5. Рассмотрим ещё один случай, когда число х не делится на 12(4) = 6(10).
Пусть х = 6 73 + 5(10) = 443(10) = 1232 3 . С развёрткой следим за вычислением:
0 5 4 3 2 1 0 -1 t
б 1 2 3 2 3 X
22 0 22 0 <_ 11 0 »_ 23 0 23 0 <_ 00 <- 0 00 0 <7
\ X X X X X
2 3 3 1 0 2 У
Результат представлен записью:
12“’ 012323 | 00 = 233102, т.е. у = 233102.
0 0 0 о
338
Проверка:
у = 233102 = ... +2 IO’ + 2 104 + ЗЮ3 + 3 102 + 1101 +0 10° + 2-IO"1 =
О
I o°° — 1
= 2104 -----+ ЗЮ3 + 3 102 + 1 10 +010° + 2 IO"1 =
10-1
(следуя Эйлеру, отбрасываем слагаемое, содержащее 10", и
переходим в десятичную систему счисления)
4 -1 з 1 1 -1 2 1
= 2 4--------+ 3-4 + 3-4 +1-4 +2-4 =-------256 + 192 + 48 + 4 + - =
4-1 3 2
1021 443 5
= 244--------=----= 73 —, как и должно быть.
6 6 6
тт 0
Наконец, покажем, что автомат делит не только числа, записанные на сетке , но
и числа, записанные на любой сетке вида (8.45)
G^_m] т - натуральное.
Нужно только учесть, что результат будет записан на сетке Gr^ _т1].
Пример 6. Пусть .¥ = 032 2 32 = 021 31 12 . Число х записано на сетке ,j, полу-
чающееся из (8.45) при т = 2. Результат будет записан на сетке Gr^ _3j. Убедимся в
этом, проследив за делением с помощью развертки.
2 1
0 3 2 2
00 <- 00 <_ 00 <_ 11 «_ 23
0 0 0 0 0
\ \ \
0 2 1
Результат представлен записью:
12“’ 032232 I 00 = 021310, т.е. у = 021310.
0 0 0 о
Результат, как и должно быть, записан на сетке Gr^ _3..
Видно, что возможности делителя, заданного таблицей 8 31, довольно велики. Пример 6
показывает, что он может делить числа, записанные на любой сетке вида (8.45). Эту его
способность можно трактовать как экстравертность делителя по сетке. В силу того, что
автомат обладает способностью делить на любой сетке, можно просто сказать, что он делит
любые числоиды, представленные в виде десятичных дробей (десятичные в смысле четве-
ричной системы счисления). Этот результат переносится на любые системы счисления.
Поскольку в таблице 8 .31 состояния записаны, хотя и в естественном, но в громоздком
виде, на практике удобно их переобозначить и использовать более простую таблицу. Ранее
уже было сказано, что от обозначения состояний автомата и их физической реализации
функционирование автомата не зависит. Поэтому существует бесконечно много вариантов
обозначения состояний автомата. Выбор варианта зависит от дополнительных требований.
Мы выберем простейший вариант, связанный с таблицей 8.31, а именно'
об об об об
0 = 00 1 = 11, 2 = 22, 3 = 23 . (8.50)
0 0 0 0
339
После введения обозначений (8.50) таблица 8.31 примет вид:
Таблица 8.32
Конечный автомат!! 1 .? | q , q е Q = {0,1,2,3}
"\л X \ч 0 1 2 3
0 0,0 1,1 2,2 2,3
1 1,2 2,3 0,0 0,1
2 3,0 0,1 1,2 1,3
3 0,2 1,3 3,0 3,1
Как уже было сказано, автомат может вести вычисления на любой сетке вида (8.45).
Поэтому можно рассмотреть вычисления на какой-либо зафиксированной сетке и в случае
необходимости переносить эти вычисления на другие сетки простым сдвигом по разря-
дам. Рассмотрим сетку ж Oj как каноническую и вычисление на ней, проводимое дели-
телем 12 1 х | q , изобразим схемой:
Gr(l0] lr'^ >Gr(°„_1], (8.51)
„ о
показывающей, что всякий числоид на сетке после вычисления автоматом
12 1 х | q переводится в сетку Gr^_^. Если числоид изначально задан на сетке Gr^_,,
,. о
то можно провести каноническое вычисление на сетке , а окончательный результат
получить сдвигом поданного на вход числоида на (-от) разрядов и результирующего чис-
лоида на (-(т + 1)) разрядов.
Пример 7. Пусть .¥ = 031002113 (см. [15], гл. 5, § 11, пример 5). Видно, что т = 3.
Двойник х' числоида х на сетке СггД0| имеет вид: х = 031002113 . Вычисления с двой-
ником зафиксированы в развёртке:
8 7 6 5 4 3 2 1 0 1 t
0 3 1 0 0 2 1 1 3 X
1 3 1 «- 2 1 «- 1 «- 1 «- 1 <- 2 1 «- 1 «- 0 <- 0 ч
\ \ \ \ \ \ \
2 3 б 3 1 1 2 3 2 2 У
Сдвинув разрядную сетку результата на (т + 1) •= 4 разрядов влево, запишем результат:
у = 230311 2322, совпадающий с результатом из [15] (гл. 5. § И, пример 5). Обратим
о
внимание на то, что делитель в [15] (гл. 5, § И, пример 5) сложнее делителя, заданного
таблицей 8.32, не только структурно (8 состояний против 4), но и функционально. В дели-
теле, заданном таблицей 8.32, информация подаётся на вход по одной цифре в каждом
такте, в то время как в делителе из [15] в каждом такте подаётся по две цифры. Отмечен-
ные особенности делителя из [15] заметно усложняют его конструкцию и организацию
вычислений по сравнению с делителем, заданным таблицей 8.32.
340
Замечание. Делитель 12 1 х | q , заданный таблицей 8 32, прост как по своему таблич-
ному заданию, так и по функционированию. Однако он не пригоден для теоретического
исследования в связи с невозможностью вести вычисления над ним. Например, схема
переходов-выходов (8.48) не может быть применена для расчёта таблицы 8.32. Поэтому
при теоретических исследованиях, в частности при переходе к бесконечному автомату,
следует использовать автомат, заданный таблицей 8.31, в котором вся атрибутика пред-
ставлена в автоматном коде, позволяющем отслеживать закономерности.
Резюме:
1. Показано, что числоид для числа 12 1, необходимый для построения делителя
12 1 .г | q , не существует на сетке G/'Д Cj, а находится на сетке G/'Д и имеет вид (8.37)
12 = 12.
о
2. Из того факта, что числоид (8.37) существует на сетке Gr^_^, следует, что результат вы-
числения над объектами, записанными на сетке Gr^ Oj, будет располагаться на сетке Gr(~ .
3. Этот результат обобщается, поскольку выясняется, что построенный делитель (табли-
ца 8.31) может вести вычисления на любой сетке вида G/'Д _mj и давать результаты, кото-
рые записываются на сетке Gr^ т Последнее означает, что делитель может вести
вычисления над любыми числоидами на сетке G,. .
4. Дано описание обобщения понятия функций отрыва. Высказано утверждение о том, что
каждая пара сопряжённых функций отрыва порождает свой автомат. Поскольку функций
отрыва бесконечно много, то и автоматов одного и того же целевого назначения (напри-
мер, умножителей на 3) бесконечно много.
5. Приведено описание уже встречавшегося ранее метода построения автоматов приме-
нительно к автомату 12 ' х | q , и, поскольку этот метод неоднократно выступает как
методологическая единица, ему дано название метода накопления состояний.
6. Методом накопления состояний построен главный объект этого пара1рафа - делитель
12 1 -x\q , заданный таблицей 8.31 или её эквивалентом - таблицей 8.32. На достаточно
большом количестве примеров показаны его вычислительные возможности. Проведено
сравнение с другими устройствами того же целевого назначения ([15], гл. 5, § 11, пример 5),
выделены его преимущества. Отличие устройства l2’-xlq из [15] от устройства
12 1 т | <) из этого параграфа обусловлено различием в выборе функций отрыва.
7 Синтезированный автомат 12 1 х | q , заданный таблицей 8.31, является конечным ав-
томатом. Но методом экстравертирования по состояниям он может быть расширен до
бесконечного автомата, в котором в роли состояний выступают все числоиды вида
q = xqr...q1q}qIJq= xq...qqq q , где т - период, т.е. некоторая зафиксированная конеч-
г 3 2 0 -1
ная последовательность цифр, q е Z = {0,1,2,3}. Эти числоиды записываются на сетке
Gr° ,,, и потому вычисления типа 12-x + q , проводимые для нахождения переходов-
1“ 11 0
выходов в бесконечном автомате, выполнимы.
341
§ 12. Делитель 13 ' x\q
В отличие от умножителей, делители не обладают ярко выраженной структурирован-
ностью и наличием закономерностей, легко используемых при синтезе устройств. Дели-
тели, которые мы рассматриваем в мультипликативной форме, сильно разнятся друг от
друга даже для соседних значений делимого. Таким примером является рассматриваемый
делитель. Однако неизменным остаётся главное - метод синтеза. Единый подход к синте-
зу устройств позволяет единообразно решать каждую новую задачу, даже при сильном
отличии входных данных и результатов.
Последовательность действий такова.
1. Обращаемся к умножителю на 13(4|, обозначаемому 13 х | q . Его построение впол-
не доступно, т.к., как уже было отмечено, во множестве умножителей имеются ярко вы-
раженные закономерности, на основе которых формируются методы их синтеза.
2. С его помощью находится числоид, представляющий число 13 1 , мультипликатив-
ный делитель.
3. Отправляясь от нулевого столбца, методом накопления состояний находим делитель
13 1 х | q .
4. Обсуждаем возникающие особенности делителя.
Умножитель 13 х | q берем в готовом виде из главы 7, где он представлен таблицей 7.15.
Мы слегка изменим эту таблицу, оставив в ней только необходимое для наших целей.
Таблица 8.33
Автомат 13 х | q , qt Q = {б, 61,02,..., 012}
q X *0 61 *02 03 *010 011 *012
6 *5,0 6,1 6,2 5,3 61,0 61,1 51,2
1 61,3 02,0 *02,1 02,2 02,3 03,0 5з,1
2 03,2 03,3 610,0 010,1 *510,2 510,3 611,0
3 611,1 611,2 611,3 012,0 612,1 612,2 *512,3
(Звёздочкой выделены финальные состояния и финальные позиции.)
Ищем числоид, представляющий число 13 ', вначале на сетке бгД0] = •'5 JTo • Он
находится на ней и записывается в виде:
13-1 = 2313 . (8.52)
Описанием поиска заниматься не будем, однако проверим, что это так. Для этого пропус-
тим найденный числоид через умножитель на 13. За вычислением умножителя следим с
помощью развёртки:
6 5 4 3 2 1 0 t
2 3 1 2 3 1 3 X
... 612 03 011 612 03 ОН 6 q
0 0 0 0 0 0 1 У
Поскольку развертка простая и вычисления ведутся на сетке то используем ее
упрощённый вариант без вспомогательных знаков. Вычисление записывается в виде ра-
венства: 13 2313 | 6 = б 1.
342
Переходим к построению таблицы делителя. Используется метод накопления состоя-
ний. Начинаем с нулевого столбца:
х\ 0
0 0,0
1 231,3
2 123,2
3 021,1
Появились новые состояния 231,123.021. Эти состояния являются числоидами. пред-
ставляющими отрицательные числа. Поэтому, нумеруя ими столбцы будущей таблицы,
помещаем их слева от нуля.
Я X 021 123 231 б
„ 4 4
0 102,1 312,3 123,1
4 4 4
1 0,0 210,2 021,0 231,3
4 4 4 4
2 231 3 102,1 312,3 123,2
4 4— 4 4
3 123,2 0,0 210,2 021,1
По формулам, описывающим переходы-выходы в автомате:
q, х }п 1 • х + q{ , {п 1 х + q) = )2313 х + q( , (2313 • х + д,, (8.53)
заполняем столбцы. После заполнения появились новые состояния: 312,210,102, кото-
рыми нумеруются новые столбцы, и по формулам (8.53) происходит их заполнение:
Таблица 8.34
Автомат 13 1 х | q
х\ 102 210 312 021 123 231 б
б 210,2 021,0 231,2 1*02,1 312,3 123,1
1 1*02,1 3*12.3 123,1 б, б 210,2 021,0 231,3
2 б, б 210,2 021,0 231,3 102,1 312,3 123,2
3 И1,з 102,1 312,3 123,2 б, б 210,2 021,1
Новых состояний не получилось, и потому построение таблицы на этом заканчивается. Ей
присваивается имя и номер. Таблицу 8.34 можно было бы получить вычислениями по
формулам переходов-выходов. Все вычисления, приводящие к таблице 12.2, приводить не
будем. Ограничимся одним типовым примером Рассмотрим, например, клетку таблицы,
расположенную в столбце, отмеченном состоянием q = 231, и в строке, отмеченной сиг-
налом х = 2. Имеем:
343
q,x = 231,2 1 -x + q(,(n 1 -x + q) =)2313-.r + ^(,(2313 x + q) =
=>2313 2 + 231(, (2313 -2 + 231) =>1232 + 231(, (1232 + 231) =)3123(, (3123) = 312,3
Таким образом, этой клеткой описывается переход автомата: 231,2 —>312,3. Аналогично
ведутся вычисления при заполнении других клеток таблицы.
Заполнение нулевого столбца, т.е. столбца, отмеченного состоянием q = 0, происхо-
дит по тем же формулам (8.53). Переходы типа (8.53) встречались и для умножителей.
Тем самым подтверждается мысль, что они носят универсальный характер и применимы
как к умножителям, так и к делителям, делитель которых представлен в мультипликатив-
ном виде.
Состояния автомата имеют довольно громоздкие обозначения. Приведём вариант ав-
томата в упрощённых обозначениях. Пусть:
.__об .___об ,__об ,___об ,___об ,____об
231 = 1, 123 = 2, 021 = 3, 312 = 4, 210 = 5, 102 = 6 (8.54)
Таблица 8.35
Автомат 13 ' х | q
<1 X 6 5 4 3 2 1 0
б 0,0
1 6,1 4,3 2,1 0,0 5,2 3,0 1,3
2 0,0 5,2 3,0 1,3 6,1 4,3 2,2
3 1,3 6,1 4,3 2,2 0,0 5,2 3,1
Рассмотрим примеры вычислений этим автоматом.
Пример 1.Пусть х = 0320,4) = 13 20(4) = 7-8((0) =56|10) делится на 13. Развёртка:
4 3 2 1 0 t
б 3 2 0 X
0 0 2 0 0 ч
б 0 2 0 У
__) *— •—
Пишем результат: 13 ‘ 0320 | 0 = 020 , совпадающий с условием примера.
Пример 2. Пусть х = 0321(4) = 13-20 + 1(4) = 7 8 +1(-]OJ = 57(10) не делится на 13. Раз-
вёртка:
9 8 7 6 5 4 3 2 1 0 t
б б б б б б 3 2 1 X
4 2 1 4 2 1 4 4 1 0 <1
3 1 2 3 1 2 3 3 3 У
Пишем результат: 13 1 032110 = 12 333 = 312333 = 2312333 .
2 3 4
Обращаем внимание на то, что это результат нормального деления, т.е. деления, когда
на вход устройства информация о числах поступает от младших разрядов к старшим. Этот
вид деления отличается от того, к которому мы привыкли и в котором деление происхо-
дит от старших разрядов к младшим. Видно, что результат написан в трёх различных
формах. В каждой из них имеется период, идущий в бесконечность. Период состоит из
344’
трёх цифр. Поэтому возможны три варианта записи периода и три варианта записи чис-
лоида-результата. Таким образом, одно и то же число может быть представлено числои-
дом, имеющим различные формы. Цифра под периодом указывает на разряд, начиная с
которого пишется период. Подтвердим правильность результата. Как это часто бывает
при работе с бесконечностями, приходится использовать приёмы, созданные Эйлером.
Имеем:
12 333 = 3 + 3-10 + 3 (102 +1011 + IO20 + ..) + 2 - (103 +1012 + 1021 + ...) +
2
+1 (IO10 + 1013 +1022 +...) = 33 +123 102 (10° + 103 +1012 + ...) =
2 10-1 , -1
= 33 + 123 10 -7-= 33 + 123 10- —7-
10-1 10-1
32301-12300
333
20001 2223-3 2223 —
------=-------=-------= 200210210... = 2 00210 = 2От 13 .
333 111 3 111 о о о
При вычислениях мы, следуя Эйлеру, отбросили слагаемое, содержащее 103 , как нахо-
3
дящееся на другой разрядной сетке Gr^ Oj. Это объясняется тем, что нам доступно только
то, что находится на сетке . Результат правилен, поскольку добавок 13 = 00210 .
Это представление можно получить как результат деления столбиком, т.е. как результат
деления от старших разрядов к младшим, как результат инверсного деления. Нормальное
деление, отличающееся от инверсного деления, выполняет делитель 13 х | q , заданный
таблицами 8 34 и 8.35, ведущий деление от младших разрядов к старшим. Попутно мы
получили два числоидных представления для числа 13 . Зафиксируем этот результат в
виде таблицы.
Таблица 8.36
Представления числа 13
Нормальное Инверсное
13 =2313 13 =00210
0 0
В нормальном представлении период 231 идёт в +°° по местам разрядной сетки G‘~' Oj,
а в инверсном представлении период 210 идёт по разрядной сетке Gr®0 из —до
места с номером (-2).
Увеличим число х из предыдущего примера на единицу и посмотрим каков результат
работы делителя в этом случае.
Пример 3. Пусть х = б322(4, = 13-20 + 2(4) = 7-8 + 2(1()) = 58(10) не делится на 13. Раз-
вёртка:
9 8 7 6 5 4 3 2 1 0 t
б б б б б б 3 2 2 X
1 4 2 1 4 2 1 6 2 0 ч
2 3 1 2 3 1 3 1 2 У
Пишем результат: 13 1 0322 I 0 = 2ЯЗ12 = 1231312 = И231312.
3 4 5
345
Числоид-результат записан в трёх разных формах. Сам же числоид, будучи записан на
сетке ОгД _jj, имеет вид: у = ...231231231312 , из которого извлекаются все формы записи.
Проверим результат по Эйлеру (без подробностей):
•— 4 -1 20022 2232 3 2232
1231312 = 1312 + 123 10 •—-----=------— =--------=------=
.__ 10 -1 333 111-3 111
= 20102 = 20+2 -13-1.
Видно, что 2-13 ' =0102 - представление, имеющее место на сетке (ip. . Его можно
получить также делением столбиком.
Рассмотрим вопрос об экстравертности автомата по состояниям. Формулы (8.53), оп-
ределяющие переходы в автомате, продолжают функционировать и в том случае, если в
роли состояний брать произвольные числоиды. Этот факт означает существование беско-
нечного автомата, имеющего в своей основе автомат, заданный таблицей 8.34, ибо именно
этот автомат был первоначальным объектом, определяемым уравнениями (8.53). Всё ос-
тальное, получающееся на основе уравнений (8.53), должно рассматриваться как резуль-
тат экстравертирования по состояниям, и, в частности, упомянутый бесконечный автомат.
Числоиды на сетке представляют все действительные числа. Некоторые из них
представляют числа, делящиеся на 13(4^, остальные - нет. Априори ясно, что числоиды,
представляющие числа, не делящиеся на 13(4), могут привести к непреодолимым сложно-
стям. Поэтому рассмотрим пример экстравертирования по состояниям, представленным
числоидами, делящимися на 13(4|. Пусть в качестве начального состояния создаваемого
автомата, являющегося фрагментом бесконечного автомата, берётся числоид
<7=0211 = 313 ' = 3-2313. Этот числоид не входит в ядро автомата, заданного табли-
цей 8 34, которое для удобства приведём здесь, сняв шапку с этого автомата:
Ядро: 102 210 312 021 123 231 0
Видно, что в ядре нет состояния q = 0211.
Пример 4. Пусть х = 0320f4) = 13 -20 4) = 7 8(10) = 56(1<)) делится на 13. Не выписывая
бесконечный автомат с состояниями, кратными 13 1, приведём только развёртку его вы-
числительной работы. Поскольку таблицы бесконечного автомата у нас перед глазами
нет, приходится для заполнения развёртки вычислять его переходы-выходы. Это делается
по формулам схемы (8.53), начальная из которых имеет вид:
0211 , х
Получается развёртка:
>2313 х + 0211(, <2313 к + 0211).
9 8 7 6 5 4 3 2 1 0 t
б 0 б б б 3 2 0 X
102 021 210 102 021 210 231 021 0211 q
1 0 2 1 0 2 3 1 У
Как выясняется, уже при 1 = 1 происходит попадание в ядро автомата, и потому нет необ-
ходимости вести вычисления переходов-выходов по формулам (8 53); с этого момента
346
можно пользоваться таблицей 8.34. Кроме того, видно, что, начиная с момента t = 3,
формируется трёхместный период и мы можем записать результат:
13 032010211 = 210231. (8.55)
з
На основе результата (8.55) можно сформулировать утверждение, что бесконечный автомат с
состояниями вида q = v 13 1 = v 2313 , v - целое, т.е. кратными 13 1, исправно ведёт свои
вычисления с неизбежным попаданием в ядро автомата, заданного таблицей 8.34. Доказательст-
во этого утверждения по сути некоторая модификация содержания разобрашюго примера. По-
добного нельзя сказать про бесконечный автомат с состояниями, представленными произволь-
ными действительными числами. Описать результаты вычислений для них вряд ли возможно.
Ещё одно наблюдение представляет дополнительный интерес с вычислительной точки
зрения. С подобным мы уже встречались в более простых случаях. Обратимся к предыду-
щей развёртке и задержимся на моменте t = 3, когда на вход автомата поступает сигнал 0 .
Можно сказать, что вычисление можно остановить в этот момент, т.к. вся последующая
вычислительная работа автомата сводится к переносу состояния <у = 21 0 в результат в
качестве периода.
Кроме того, возникает мысль отделить в записи простой 0 от 0 и в таблице автома-
та 8.34 в столбце, отмеченном состоянием q = 210. писать так:
Я X 210
0 021,0
0 Но Гб2 021, 210
Такая система записи позволяет нам избавиться от выписывания бесконечных последова-
тельностей символов и представлять их в конечном виде. Это не что иное как актуализа-
ция бесконечности. Теперь мы можем предыдущую развёртку записать в виде:
оо > t > 3 2 1 0 t
б 3 2 0 X
Лб 102 б21 210 231 021 0211 q
210 2 3 1 У
Бесконечное вычисление изображено в конечном виде. Появившийся здесь объект
210 102 021 можно трактовать как не встречавшуюся ранее трактовку понятия состояния
Мы видим, какие неограниченные вычислительные возможности открываются при использо-
вании понятия числоида, являющегося атрибутикой АВУ. Следует отметить, что это не про-
сто шра с символикой, а отражение нашей способности к актуализации бесконечности.
Обратимся к числовому истолкованию числоидов, являющихся состояниями автомата,
заданного таблицей 8.34. Истолкования таковы:
102 -— 210 •— 312 — 21 — 123
102 =------, 210 =-------, 312 =-------, 021 =-------, 123 =-------, 231 = -
231
333
333 333 333 333 333
Числа позволяют упорядочить состояния делителя:
Ядро. 312 < '231 < 210 < 123 < 102 < оН < 0 (8.56)
В этом порядке расположим состояния делителя, таблицу которого перепишем с учётом
замечания о расслоении сигналов со стрелками.
347
Таблица 8.37
Автомат 13 х | q
х\ 312 231 210
0 231,2 123,1 021,0
0 312 123 231,312 231 312 123,231 210 102 021,210
1 123,1 021.0 312,3
1 312 210 123,321 231 5 021,300 210 123 312,213
2 021,0 312,3 240,2
2 312 231 021,330 231 021 312,303 210,2
3 312,3 210,2 102,1
3 312,3 231 102 210,312 210 231 102,231
Х\ 123 102 021
« « «
0 312,3 210.2 102,1
4 « « « « « 4« 4 « « «
0 123 231 312,123 102 021 210,102 021 210 102,021
« •- 0,0
1 210,2 102,1
— « . « « * 4 . .
1 123 312 210,132 102,1 021 231 0,030
« 6,0 1
2 102,1 231,3
« * * 4 . * 4 * 1
2 123 0 102,201 102 123 0.120 021 312 231,033
«
3 0,0 231,3 123,2
3 4 . 4 • . « 4 < «
123 021 0,210 102 210 231,123 021 б 123,102
X \ б
0 6,0
б 6,0
1 231,3
1 5 021 231,003
2 123,2
2 5 102 123,012
3 021 1
3 5 123 021,021
348
Таблица оказалась довольно громоздкой и ввиду нехватки места распалась на три части,
но отказываться от неё по этой причине нельзя, т.к. это первый опыт выписывания табли-
цы, в которой отделены стрелочные входные сигналы от нестрелочных, и, кроме того, она
чрезвычайно полезна для слежения за бесконечными вычислительными процессами.
В ней появляется новое расширение понятия состояния автомата. Оказалось, что имеет
смысл считать состояниями образования вида 021 312 231 (являющиеся ничем иным, как
конечной актуализацией бесконечности), позволяющие свести бесконечные вычисления к
конечным. Далее рассмотрим примеры её использования. Но предварительно приведём
здесь ещё одну таблицу, задающую автомат 13 1 х | q . Это та же самая таблица 8.34,
однако в ней состояния в шапке таблицы упорядочены.
Таблица 8.38
Автомат 13 1 х | q
ч 312 231 210 123 102 021 б
4 4 4 4 4 4 —
0 231.2 123,1 021,0 312,3 210,2 102,1 *0,0
4 4 4 4 4 4— 4
1 123,1 021,0 312,3 210,2 *102,1 0,0 231,3
4 4 4 4 4— 4 4
2 021,0 312,3 *210,2 102,1 0,0 231,3 123,2
4 4 4 4— 4 4 4
3 *312,3 210,2 102,1 9,0 231,3 123,2 021,1
Такое упорядочение приводит к явному обнаружению закономерностей, присущих авто-
мату 13 1 х | q . В таблице звёздочками выделены клетки, соответствующие финальным
состояниям. Кроме того видно, что все состояния автомата, выписанные в шапке таблицы,
получаются из состояния 021 умножением его на целые числа, так что множество со-
стояний автомата можно записать в виде одной формулы:
={q\q = 021/,г = 0,1,...,12} = {021/}ГХ2 (8.57)
Рассмотрим пример на применение таблицы 8.37.
Пример 5. Пусть х = б331(4| - 13 20 +10|4) - 7 8 + 4(10) = 61(10) не делится на 13. Раз-
вёртка: 0 > £ > 3 2 1 0 t
б 3 3 1 X
102 021 210 102 210 231 б ч
102 1 2 3 У
Пишем результат: 13"' 0331 |б = 102123. Бесконечно долгое вычисление благодаря ак-
туализации бесконечности, проявившейся во введении состояний вида 021 312 231, вы-
полнено за четыре такта. Понятно, что устройство, заданное таблицей 8.37, сложнее уст-
ройства, заданного таблицей 8.38. Но, если речь идёт об ускорении вычислений, переход
к устройству, заданному в таблице 8.37 необходим. Забегая вперёд, скажем, что этим дело
не ограничивается. Есть классы вычислительных работ, в которых используются иные
варианты ускорения вычислений.
349
Резюме:
1. Единый подход к синтезу устройств позволяет единообразно решать каждую новую
задачу, даже при сильном отличии входных данных и результатов. Единый подход к син-
тезу устройств характеризуется стандартной последовательностью действий.
2. Первым действием ищется числоид, представляющий число 13-' , вначале на сетке
„ о _ „
о, = •••“777 • Оказывается, он находится на ней и записывается в виде:
13-’ =2313
3. Методом накопления состояний с использованием найденного представления находит-
ся конечный делитель 13 1 • х | q .
4. Проверяется правильность его работы. Оказывается, что некоторые числоиды, являю-
щиеся результатами его вычислений, могут быть записаны в виде периодических выра-
жений в нескольких разных вадах.
5. На основе проведённого наблюдения выясняется, что в таблице, задающей автомат
13 1 х | q , можно отделить стрелочные входные сигналы от нестрелочных.
6. Это приводит к более громоздкой таблице автомата, в которой в роли состояний высту-
пают конструкции вида q = 102 021 210. И более громоздкая таблица автомата, и более
сложная конструкция состояний дают возможность проводить ускоренное вычисление.
Например, потенциально бесконечные вычисления выполняются за конечное число ша-
гов. В таком автомате решена проблема останова, что также приводит к ускорению вы-
числений.
7. Синтезированный автомат 13 1 х | q обладает свойством экстравертности по состояни-
ям, состоящим в том, что любой числоид на сетке бгД0] = ...“-р- может быть взят в
качестве начального состояния. Во множестве числоидов выделяется класс состояний
вида Q = {q | q = 021 i, i е Z} , всегда приводящий к конечным вычислениям.
8. Синтезированный делитель 13 1 х | q является нормальным делителем, т.е. он делит от
младших разрядов к старшим. Таблица 8.38 наглядно демонстрирует структурные зако-
номерности, ему присущие. Нормальному делителю противопоставляется инверсный
делитель, ведущий деление от старших разрядов к младшим (нам хорошо знакомое деле-
ние). Эти делители приводят к двум различным числоидам, представляющим число 13 1
(см. табл. 8.36).
9. В этом параграфе показан не встречавшийся ранее способ ускорения вычислений, со-
стоящий в использовании комплексов состояний в качестве одного нового состояния
(см. п. 6).
§ 13. Примеры других делителей
Рассмотренный в предыдущих параграфах материал в достаточной мере осветил сле-
дующие моменты, связанные с делителями:
1. Показано, что делители могут быть синтезированы, по существу, по той же методи-
ке, что и рассмотренные в главе 7 умножители. Для этого нужно, прежде всего, для числа
п, для которого ищется делитель, найти числоидного представителя для обратного к нему
350
числа и 1. Этот числоидный представитель будет играть роль множителя в упомянутой
методике.
2. Если числоидный представитель для п 1 принадлежит сетке Gr^__и -
= , то синтезированный в итоге делитель будет делителем с предвидени-
ем на т разрядов. (Мы ранее разобрали лишь случай т = 1: разбор случаев т>2 черес-
чур громоздок, чтобы приводить его здесь. Но ясно, что они поддаются аналогичному
рассмотрению, и в итоге этого рассмотрения может быть составлена программа, реали-
зуемая на компьютерах и позволяющая вычислять искомые делители.)
3. Синтезированные делители обладают свойством экстравертности по сетке и ведут
вычисления не только на той сетке Gr^ _т^, для которой они первоначально были созда-
ны, но и на сетке Gr(^_^ = Gr . Это означает, что они делят любые действительные чис-
ла. Результатом деления может быть либо привычное для нас представление действитель-
ного числа, либо представление в виде числоида с нетривиальным заполнением части
разрядной сетки, уходящей в бесконечность.
Далее приведём примеры синтезированных делителей, обладающих тем свойством,
что они являются устройствами с предвидением на несколько разрядов. Особенностью
делителей на целую константу при сравнении их с умножителями на целую константу
является то, что они принадлежат к классам устройств с предвидением на несколько раз-
рядов, т.е. они иногда требуют для своих вычислений не только цифры операнда из теку-
щего разряда, но и нескольких цифр из следующих разрядов. Дадим в связи с этим общее
определение устройств с предвидением и последействием.
Определение 1. Абстрактное вычислительное устройство называется устройством с
предвидением на г разрядов и последействием на s разрядов, если уравнения его функ-
ционирования имеют вид:
|'9(г + 1) = е[^(/),х(г + г),...,х(0,...,.х(?-^)]
(y(Z) = <s[q(t),x(t + - s')]
где 0 и <т — функции переходов и выходов соответственно
(Обращаем внимание на то, что в абстрактном устройстве мы требуем совпадения но-
меров t разрядов на входе и выходе. В реальном устройстве этого, конечно, из-за задерж-
ки добиться невозможно.)
Класс так определённых устройств обозначается символом (. А,.
Таким образом, в момент времени t на вход устройства поступает не только сигнал
x(t) , но и несколько сигналов «из будущего», сигналы x(t +1),..., x(t + г) , а также сигна-
лы для прошедших моментов времени x(t — l),...,x(t—s). Устройства с такими входами
реализуются без особых проблем.
Алгоритм обращения автоматов с поиском результатов в соответствующих классах
разработан автором и приведён в [13]. На основе этого алгоритма А. В. Ламковым была
написана прог рамма обращения автоматов для различных систем счисления от к = 2 до
к =12. Далее приведён пример одного из устройств, полученных в результате решения
задачи обращения.
351
Пример 1. Делитель х -20 1 | q . Этот делитель принадлежит классу 2А0, т.е. он явля-
ется устройством с предвидением на два разряда. Табличное задание этого устройства
таково (по программе А. В. Ламкова, [13]):
Таблица 8.39
Делитель г- 20 q .
%2 *1 *0 0 1 2 3 10 11 12 13
ООО 0 0 1 0 0 2 0 0 3 0,0 0,0 0,0 0,0
0 1 0 0 1 1 0 1 2 0 1 3 1,0 1,0 1,0 1,0
0 2 0 0 2 1 0 2 2 0 2 3 2,1 2,1 2,1 2,1
0 3 0 0 3 1 0 3 2 0 3 3 3,1 3,1 3,1 3,1
1 0 0 1 0 1 1 0 2 1 0 3 10,2 10,2 10,2 10,2
1 1 0 1 1 1 1 1 2 1 1 3 11,2 11,2 11,2 11,2
1 2 0 1 2 1 1 2 2 1 2 3 12,3 12,3 12,3 12,3
1 3 0 1 3 1 1 3 2 1 3 3 13,3 13,3 13,3 13,3
2 0 0 2 0 1 2 0 2 2 0 3 0,0 0,0 0,0 0,0
2 1 0 2 1 1 2 1 2 2 1 3 1,0 1,0 1,0 1,0
352
Продолжение табл. 8.39
Х2 *0 0 1 2 3 10 И 12 13
2 2 0 2 2 1 2 2 2 2 2 3 2,1 2,1 2,1 2,1
2 3 0 2 3 1 2 3 2 2 3 3 3,1 3,1 3,1 3,1
3 0 0 3 0 1 3 0 2 3 0 3 10,2 10,2 10,2 10,2
3 1 0 3 1 1 3 1 2 3 1 3 11,2 11,2 11,2 11,2
3 2 0 3 2 1 3 2 2 3 2 3 12,3 12,3 12,3 12,3
3 3 0 3 3 1 3 3 2 3 3 3 13,3 13,3 13,3 13,3
(Для состояний используем упрощённые обозначения, без стрелок, поскольку в данный
момент акцент делается на изучении функционирования устройства, без использования
всей атрибутики устройства.)
Чтобы делитель вёл вычисление, необходимо делимое подавать на вход с тремя до-
полнительными знаками после младшей значащей цифры делимого. Другими словами,
если делимое имеет вид
х = т2хг ...х^Тр T = 0vlv2v3, г, > /j,
(8.59)
то младшей значащей цифрой в нём является цифра хг, и потому вычисление надо начи-
нать с подачи трёх одинаковых цифр т,, предварительно поставив устройство в такое
начальное состояние, в котором оно реагирует на тройку цифр TJJ,; тройки выделены
штриховкой в развёртках для начального такта. Таким образом, для своего функциониро-
вания устройство само выбирает начальное состояние. Таких начальных состояний четы-
ре: <) = 0,2,11,13 .
Пусть х = 03221030. Здесь г2 = 2, =-3. Tj =т2 = 0. Для функционирования уст-
ройства необходимо в качестве начального состояния брать состояние q = 0 .
Развёртка (в упрощённом варианте, т.е. без стрелок) работы устройства такова:
353
4 3 2 1 0 12 3 4 5 6 г
003221 0 3 О 0 Ох
О О 3 12 2 1 10 3 10 О 0 q
000131 02 1 20 у
Результат: 03221030-20 | 0 = 013102120.
О о
Если перевести в десятичную систему счисления, то будем иметь:
03221030 = 3 42 + 2 41 + 2 4° +1 41 + 3 4 ?> = 58— (делимое),
0 64(Ю)
20(4) =8|10) (делитель),
— ^10—1—3—4—5 294
013102120 = 1-4 +3 4+1-4 +2-4 +1-4 +2-4 = 7- (частное),
1024(Ю)
19 294
58— :8|1т=7-- , т.е. деление выполнено правильно.
64(Ю) 1 ' Ю24(10)
Пример 2. Рассмотрим числоид с Ij = 3 .
Пусть х = 0322103 . Здесь = 2 , = -2 , т , = 0 т, = 3 . Для функционирования устрой-
ства необходимо в качестве начального состояния брать состояние q = 13. Развёртка ра-
боты устройства такова:
3 2 11' -1 -2 -3 -Л -‘If
0 3 2 2 1 С 3 3 3 х
0 3 12 2 1 10 3 13 13 q
0 0 1 3 1 0 2 1 3 у
Результат: 032 2 103 20 13 = 01310213 .
о о
Проверяем, переходя в десятичную систему счисления:
5
032 2103 = 58 — (делимое),
0 16(10)
37
01310213 = 7----- (частное). Результат деления правильный.
0 128(Ю)
Отметим особенности изучаемого делителя.
1. Устройство, в отличие от многих ранее рассмотренных устройств, не обладает свойст-
вом экстравертности по параметру q , т.е. по состоянию.
2. Устройство в зависимости от поступившего на вход операнда самостоятельно выбира-
ет то начальное состояние, отправляясь от которого, оно способно осуществить деление.
Точнее, при выборе семи из восьми его состояний в качестве начального устройство не
способно осуществить деление и лишь при выборе оставшегося состояния в качестве
начального разделит.
3. Устройство способно делить числоиды вида, отличного от (8.59). Точнее, для каждого
состояния существуют числоиды специального вида, которые делятся делителем при
выборе этого состояния в качестве начального. (Это требует отдельного описания, кото-
рое мы здесь не приводим.)
354
Рассмотрим деление отрицательных чисел на 20.
Пример 3. Пусть х = 32210. Здесь ^=1, = — 1, т, =3, т, = 0. Этим числоидом
представлено отрицательное число. Для функционирования устройства необходимо в каче-
стве начального состояния брать состояние q = 0 . Развёртка работы устройства такова.
4 3 2 1 0 -1 -2 -3 ^1 I 1
3 3 2 2 1 0 0 0 х
13 13 13 12 2 1 10 0 0 q
333331020.у
Результат: 32210-20 1 | 0 = 31020 . Проверка показывает, что результат правильный,
о о
Для представления отрицательного числа, получившегося в результате деления, дели-
тель использует своё, автоматное, представление, являющееся числоидом с бесконечным
числом троек, идущих по местам разрядной сетки в плюс бесконечность. При обычной
трактовке этот объект имеет вид бесконечно большого числа и выводится из рассмотре-
ния. Однако автоматы и абстрактные вычислительные устройства такого сорта объектам
находят применение и именно их используют для представления отрицательных чисел,
не лишая нас при этом возможности по этим объектам найти привычные представления
отрицательных чисел, использующие знак минус. Тем самым, использование числои-
дов, имеющих вид бесконечно большого числа, в вычислительной практике вполне воз-
можно.
Следует отметить, что свойства предвидения вычислительных устройств и, соответст-
венно, последействия зависят от системы счисления. Так, рассмотренный делитель в тро-
ичной системе счисления становится нормальным устройством, т.е. без предвидения и
последействия, а в двоичной и в шестеричной системах счисления он имеет предвидение
на три разряда. Ограничимся этим рассмотрением устройств с предвидением. Приводить
явное табличное задание их не будем ввиду громоздкости. Так, табличное задание рас-
смотренного делителя в шестеричной системе счисления потребует около тридцати стра-
ниц, и приведение его здесь вряд ли уместно; оно уместно, скажем, при практическом
создании устройства, когда инженерам требуется точная информация о всех связях между
элементами этого устройства.
Резюме:
1. Среди делителей на константу с нормальным входом существуют делители с предвиде-
нием и последействием. Свойство предвидения и последействия — это свойство, опреде-
ляющее режим поступления входной информации. Предвидение и последействие имеют
меру, выражающуюся в количестве разрядов, используемых на входе в одном такте. Уве-
личение меры приводит к заметному усложнению устройства. Мера предвидения и по-
следействия зависит как от числа, на которое происходит деление, так и от системы счис-
ления, в которой ведётся вычисление.
2. Рассмотренных примеров делителей на целые числа достаточно, чтобы получить пред-
ставление об общей ситуации. Входить в дальнейшие подробности следует по мере необ-
ходимости.
3. Имея возможность строить умножители на целые числа, а также делители на целые
числа, можно теперь строить умножители на рациональные числа, создавая последова-
тельные цепи из умножителей и делителей. Решив далее задачу элементарного последо-
вательного синтеза для каждой из таких цепей, получим минимальные устройства, яв-
ляющиеся умножителями на рациональные числа. Все технические приёмы, необходимые
для решения этих задач, неоднократно были показаны выше.
355
Глава 9
Инверсные делители
§ 1. Инверсный делитель на три
Для примера, чтобы не загромождать первоначальных рассмотрений, связанных с
инверсными делителями, рассмотрим достаточно простой инверсный делитель - делитель
на три. Инверсные устройства - это такие устройства, на вход которых информация по-
ступает от старших разрядов к младшим. Если рассматривать делители, то именно ин-
версные делители соответствуют школьной процедуре деления Действительно, нас
в школе обучали делению от старших разрядов к младшим. Делители же, рассмотренные
в предыдущей главе, были необычными так называемыми нормальными делителями.
Необычны они по той причине, что в них число, подлежащее делению, поступало на вход
делителя от младших разрядов к старшим. Однако с точки зрения развиваемого подхода,
в основе которого лежит генетический метод последовательного синтеза, нормальные
делители вполне естественны, потому что все ранее встречавшиеся до делителей устрой-
ства, от которых они в конце концов произошли, были нормальными. Этот факт, не-
видимому, указывает на наличие в природе изначальной асимметрии. Эта асимметрия
проявляется уже при порождении первого автомата, родоначальника всех вычислитель-
ных устройств - автомата сдвига Six (см. [13]).
Мы будем сравнивать работу инверсного делителя на три с уже знакомым нам нор-
мальным делителем на три. Вся необходимая для этого информация встречалась ранее и
по мерс надобности будет воспроизводиться.
Инверсный делитель на три будем представлять записью х -3 1'1’"'|<7(4|. В ней на место
х предполагается простановка операндов, а символ q , как обычно, обозначает состояние
делителя, в которое он ставится в начальный момент времени. Как мы знаем, вычисляе-
мая функция, вообще говоря, зависит от выбора начального состояния. Делитель задаётся
следующей таблицей.
Таблица 9.1
Делитель х 3"1-’nv|<7№
X \
0,0
01,0
02,0
б.Т
61,1 02,2
02,1 0,3
0,2 61,3
01,2 02,3
Проверим правильность работы делителя. Для этого пропустим через него произвольно
взятое тестовое число.
Пример 1. Пусть х = 0220020 . (Нолик под двойкой отмечает нулевой разряд числа; он
позволяет легко ориентироваться по местам разрядной сетки; стрелка над нулём указыва-
ет направление роста разрядов.)
Развёртка, с помощью которой можно проследить за вычислениями делителя, име-
ет вид:
356
15 4 3 2 1 0 -1 -2
x () 2 2 0 0 20
q б б 02 61 61 61 б б
У О О 3 1 1 2 0
В этой развёртке время t, которое обозначает также номера разрядов, течёт вспять, потому
что в процессе вычисления происходит перемещение от старших разрядов к младшим.
Номера разрядов результата, прочитываемого в строке у, совпадают с номерами разрядов
операнда из строки х. Результат вычислений запишем с использованием обозначения для
делителя
022002(1 3 "" |5 = 031120,
о и
который прочитывается так: «если автомат х 3 ,l’IV|</f4l поставить в начальное состояние
q =0 и подать на вход число 0220020, то автомат выдаст в качестве результата вычис-
0
ления число 031120 ».
о
В записях операнда и результата фигурируют два нуля со стрелками. Нолик со стрел-
кой, стоящий слева от значащих групп цифр обоих чисел, означает, что по местам разряд-
ной сетки в «положительную бесконечность идут одни нули: а нолик со стрелкой, стоя-
щий справа от значащих групп цифр обоих чисел, означает, что по местам разрядной
сетки из отрицательной бесконечности также идут одни нули. Такая запись удобна, т.к.
она компактно фиксирует факт наличия нулей во всех разрядах за пределами групп раз-
рядов значащих цифр. Этот факт всегда молчаливо подразумевается, но явно не фиксиру-
ется; для корректной работы автоматов он необходим в явном виде, который оформляется
с использованием стрелочной компактной записи.
Проверим правильность вычисления, проведённого делителем. Деление проверяется
умножением. Поэтому пропустим полученный результат деления через умножитель на
три Приведём здесь таблицу, его задающую, которую мы позаимствуем из главы 7, §1.
В этой таблице и других аналогичных, имея в виду вычислительные вопросы, которые
вскоре будут рассмотрены, мы будем представлять состояния в автоматном коде.
В упомянутых вопросах представление состояний в автоматном коде существенно.
Таблица 9.2
Автомат х 3 | q
\<7 X \
6,5
5,з
51,2
02,1
6,1 6,2
51,5 61,1
01,3 02,0
02,2 02,3
Из таблицы видно, что входные сигналы могут идти как со стрелками, так и без них. Если
они идут без стрелок, то и соответствующие выходные сигналы идут без стрелок. Если
они идут со стрелками, то здесь возможны два случая: если над выходными сигналами
стрелки есть, то они идут со стрелками; если над выходными сигналами стрелок нет, то
они идут без стрелок.
357
Развёртка вычислительной работы умножителя при прохождении через него резуль-
тата предыдущего деления имеет вид (напомним, что умножитель является нормальным
устройством, т.е. на вход его цифры поступают от младших разрядов к старшим):
+ °° > t > 5 4 3 2 1 0 — 1 > t > — 00 t
0 6 3 1 1 2 5 X
6 02 61 61 61 5 5 ч
6 2 2 0 0 2 5 У
В строке v читаем результат умножения, который записываем в виде:
031120 3|б= 0220020
о о
и который подтверждает правильность деления, выполненного инверсным делителем.
В правильности вычислений, проводимых инверсным делителем, можно убедиться на
любых других примерах. Кроме того, эта правильность вытекает из алгоритма синтеза
инверсного делителя. Помимо убеждения в правильности работы делителя интересна,
однако, фактическая сторона дела: как именно он представляет результаты деления осо-
бых констант, таких как 1,-1, отрицательных величин в автоматном представлении, не-
тривиальных числоидов. Это рассматривается в следующем параграфе.
§ 2. Вычисление делителем х-З
Рассмотрим вычисления с упомянутыми константами.
Пример 1. Пусть х = 1 = 010, т.е. число X - обыкновенная единица. Запись со стрел-
о
ками даёт её представление на всей разрядной сетке = ••iTT'o“““•• Понятно,
что, пропустив это число через делитель х получим в результате представле-
ние для числа 1/3 в четверичной системе счисления, даваемое этим делителем.
Имеем развёртку:
t + <»>/> 1 0 -1 >t> — оо
X 5 1 6
q 6 6 61
У 6 0 Т
Результат:
016 3-1шу|0 = бТ
о »
Вывод: число 1/3 инверсным делителем на три изображается так:
1/3 = 01, (9.1)
о
т.е. в полном соответствии с нашими представлениями для четверичной системы счисле-
ния: 1/3 = 61=0,111...
о
Проверка. Пропустим представление (9.1) через умножитель на три.
Результат умножения: 51 3|0 = 1/3 3 = 0 3 = 0,333... = 1 = 010 , т.е. проверка подтвер-
0 о »
ждает правильность вычисления проведённого делителем х - 3 ' .
358
Развёртка (используется таблица 9.2; напоминаем, умножитель - нормальное устройство,
поэтому вычисление ведётся справа налево, от младших разрядов к старшим):
+ °° > t > 1 0 — 1 > t > — 00 t
б 1 X
б б б <7
б 3 У
Обратим внимание на то, что благодаря стрелкам вычисление выполнено за 2 такта.
Обусловленное этим ускорение вычислений раньше уже встречалось и имеет место в
дальнейшем.
Обратим также внимание на то, что инверсный делитель при работе с целыми числами
сразу выводит нас за пределы разрядной сетки СгД 0], поскольку для записи результатов
его вычислительной работы требуется использовать места разрядной сетки с отрицатель-
ными номерами. Таким образом, область определения делителя x-3_1-l‘lv|<7(4l состоит из
числоидов, записанных на разрядной сетке Grt°___) = = . _...
Сравним вычислительную работу изучаемого инверсного делителя х -3 с рас-
смотренным ранее нормальным делителем х 3 ' | q . Для удобства приведём здесь же
таблицу, его задающую.
Таблица 9.3
Результат: 010 -3 40 = 230,где справа от знака равенства стоит представление для числа
о о
1/3 , даваемое нормальным делителем.
Визуально сравним полученные результаты. Мы имеем:
1/3= 230 = 01. (9.2)
о о
Представление 230 - это представление, как уже было сказано, даваемое нормальным
о
делителем х 3 | q , ведущим вычисления от младших разрядов к старшим (нормальное
359
представление), а 01 - представление, даваемое инверсным делителем х • 3 1*’’ | q , веду-
(I
щим вычисления от старших разрядов к младшим (инверсное представление). Как видим,
представления различны, причём представление 230 является числоидом, в котором на
»
местах разрядной сетки с номерами, идущими в положительную бесконечность, исполь-
зуются сплошь двойки. Как уже не раз отмечалось, при обычной трактовке такие числои-
ды воспринимаются как бесконечно большие числа и выводятся из рассмотрения. Однако
делитель х 3 | q , во всех случаях целочисленной делимости ведущий себя идеально
(т.е. исправно делящий), именно этот объект предлагает для представления числа 1/3.
Эйлеровская проверка согласуется с таким представлением. В дополнение к этому и про-
верка умножением подтверждает правильность представления. Поскольку объект 230
о
необычный, прогоним его через умножитель х 3 | q и подтвердим правильность послед-
него высказывания. Имеем развёртку (напоминаем, вычисление ведётся справа налево):
+ ОО > / > 1 0 — 1 > Z > — ОО t
2 3 б X
02 б б Q
б 1 б У
из которой видно, что действительно 230 3 | 0 = 010 , т.е. объект 230 выдерживает тест
0 0 о
на проверку правильности умножением.
Оба устройства ведут вычисления без каких-либо ограничений на разрядность операн-
дов. Полученные для числа 1/3 представления порождены самими делителями. Эти пред-
ставления информативно полные и используют обозначения, позволяющие экономно
вести вычисления. С их помощью фиксируется, в частности, момент окончания вычисле-
ния (появление на выходе в финале цифры со стрелкой означает конец вычисления), что
позволяет избегать прогона по всем разрядам регистра и сразу перейти к следующему
вычислению. В компьютере, использующем эту идеологию (т.е. в В-компьютере, см.
[19, 20]). такой эффект посит массовый характер и приводит к ускорению вычислений.
Оно усиливается возможностью вести вычисления в произвольной системе счисления.
Пример 3. Пропустим через инверсный делитель х 311П' </[4; представление для ми-
нус единицы: х = -1 = 3 0 .
о
Развёртка:
Результат: 30-3 '""’I 0 = 10. Тот же результат получается для нормального делителя:
о о
30 3 | 0 = 10 . Оба делителя: инверсный х 3_|jm | q и нормальный х 3~' | q - дали для
о о
числа (-1/3) одно и то же представление:
-1/3 = Тб. (9.3)
о
360
Умножением проверяем правильность полученного представления. Пропускаем его через
умножитель на три (табл. 9.2). Должно получиться автоматное представление для минус
единицы, т.е. -1 = 30. Имеем:
о
Пример 4. Пусть х = 1 0 (напоминаем, что в умножителе время бежит справа налево,
о
что отмечено столбцом t, расположенным справа от развёртки).
Развёртка:
+ ~>f>0 — 1 > t > — со t
1 0 X
0 0 я
3 0 У
Результат: 10 3 | 0 = 30, что и требовалось обнаружить.
• о
Соберём представления для чисел 1/3 и (-1/3), генерируемые нормальным и инверс-
ным делителями.
Таблица 9.4
х 3 1 | q х З-’-"" I q
230 0 01 0
Тб 0 Тб 0
Забегая вперёд, скажем, что существуют и другие автоматные представления этих чисел.
Интересно посмотреть, во что переходят представления для 1/3 и (-1/3) после умно-
жения их на (-1). Для этого прогоним эти представления через умножитель на (-1), зада-
ваемый следующей далее таблицей. В этой таблице мы используем представления для
чисел на всей разрядной сетке Gr^_^ = •удуу—туту— • Это усложняет записи, но гото-
вит нас к обнаружению скрытых эффектов.
Таблица 9.5
Умножитель х (-1) | q
X \
30,3 0 0,0
30,2 0 30,3 0
зб,Т 0 30,2 0
30,0 0 30,1 0
Внутри таблицы слева от запятых стоят числоиды, представляющие числа на разрядной
сетке , а справа от запятых стоят цифры четверичной системы счисления (некото-
рые из них со стрелкой). Числоид 30 представляет число (-1), а числоид 0 представляет
число 0. Можно отметить, что на разрядной сетке Gr^_^f для числоида 0 более полной
записью была бы запись 00, показывающая, что по местам разрядной сетки с номерами
361
от минус бесконечности до минус единицы сплошь идут одни нули (правый ноль со
стрелкой) и по местам с номерами от нулевого места до бесконечности также идут одни
нули (левый ноль со стрелкой, помеченный снизу ноликом). Но поскольку имеет место
однородное заполнение мест разрядной сетки только нулями, для этого числоида допус-
тимо упрощённое обозначение 0 , используемое в тексте.
Прежде чем пропускать через этот умножитель представления для чисел 1/3 и (-1/3),
ещё раз отметим и продемонстрируем его роль в осмыслении числоидов. Прежде всего,
он помогает разобраться в представлении отрицательных чисел числоидами. Действи-
тельно. автоматное представление для отрицательных чисел, имеющее, например, вид:
х = Зх,х,, ...х,0 и содержащее бесконечное количество троек в старших разрядах, пред-
ставляет некоторые трудности для восприятия. Например, не сразу можно понять, какое
отрицательное число представляется числоидом 31230130. Необходима помощь при
о
решении этого вопроса. Проблема снимается именно умножителем х(-1) | q, позволяю-
щим найти положительное число, противоположное тому отрицательному, которое изо-
бражается данным числоидом. Таким образом, этот умножитель выступает в роли транс-
лятора автоматных представлений для чисел в обычные.
Пример 5. Начнём с самого первого отрицательного представителя - с числоида 30,
представляющего число (—1). Убедимся что противоположное числоиду 30 есть число 1
и что, тем самым, числоид 30 действительно представляет число (-1).
Развёртка: —СО + ею > t > 1 0 — 1 > t > — 00 t
3 3 б X
30 0 30 0 б б ч
б 1 б У
При t - 0 на выходе не получилось сигнала со стрелкой (см. табл. 9 5), поэтому входной
сигнал 3 необходимо подать на вход ещё раз при t= 1, и так до тех пор, пока на выходе
не получится сигнал со стрелкой, означающий конец вычислений. В нашем случае при
t = 1 на выходе получился сигнал со стрелкой и вычисление на этом закончилось.
Результат: 30 (-1) 0 = 010 = 1 т.е. числоид 30 представляет отрицательное число (-1).
0 0 •
Пример 6. Пусть х = 3231320 - произвольно взятый числоид, представляющий некоторое
о
отрицательное число. Найдём противоположное ему число. Подаём х на вход умножителя
х-(-1)|?
Развёртка;
—00 + сю > t > 3 2 1 0 -1 -2 — 3 > t > t
3 2 3 1 3 2 б X
зб 0 зб 0 30 0 зб 0 зб 0 30 0 б б ч
0 1 0 2 0 2 0 У
362
Результат: 3231320-(-1) | 0 = 0102020 . Таким образом, числоидом ж = 3231320 изобра-
0 0 о
жается отрицательное число, противоположное положительному числу 0102020, и пото-
0
му мы можем сказать, что числоидом х =3231320 представляется отрицательное число
о
(-0102020), и в обозначениях, приближенных к общепринятым, написать:
о
3231320 = -0102020 (9.4)
о о
Проверка правильности представления осуществляется сложением:
1 Т 1111»
3 2 3 13 2 0
+
б 1 0 2 0 2 <'
б 0 0 0 0 0 б
о
Нулевой разряд сетки отмечен ноликом внизу. Сверху стоят единицы и нули переноса от
сложения цифр в предыдущем разряде. Самая левая единица переноса оказывается за
пределами разрядной сетки (внеразрядная единица). Она не читается, так как в качестве
результата мы прочитываем только то, что находится на разрядной сетке.
А разрядная сетка сплошь заполнена нулями, которые и дают нам результат сложения
числоида 3231320 и положительного числа 0102020. Поскольку результат сложения
о о
3231326 + 6102026 = бб оказался равным нулю, то, согласно определению противопо-
й о в
ложного числа, следует признать, что объектом 3231320 представляется число, противо-
0
положное числу 0102020, что и зафиксировано записью (9.4).
о
Стоит записать результат сложения с учётом внеразрядной единицы:
3231325 + 6102020 = 166 (9.5)
0 0 0
и поразмышлять над тем, что означает её присутствие.
В последних двух примерах мы рассмотрели вариант решения проблемы о переводе
представлений отрицательных чисел числоидами в обычное представление.
Теперь, наконец, после того, как мы вспомнили работу умножителя х (-1) | q и ещё
раз убедились в эффективности его работы, обратимся к поставленному ранее вопросу:
во что перейдут представления для 1/3 и (-1/3) при прогоне их через умножитель на
(-1)? Перейдёт ли верхняя строчка таблицы 9.4 в нижнюю? Что касается нижней строч-
ки, то ясно: перейти в верхнюю она не может. В отношении неё возможны варианты:
либо она перейдёт в один из верхних результатов, либо во что-то другое. Разберёмся в
этом.
Вначале пропускаем через умножитель х (-1) | <7 представления для 1/3.
Пример 7. Пусть х = 230 . Это представление, даваемое для числа 1/3 нормальным де-
fl
лителем, ведущем вычисления от младших разрядов к старшим.
363
Развёртка:
—оо 30 0 Результат: + оо > t > 1 0 — 1 > Z > — °° t
2 3 0 30 0 б 0 1 1 б 230-(-1) | б = Тб , 0 0 ч У (9.6)
т.е числоид 230, представляющий 1/3, переходит в числоид 10, представляющий (-1/3)
о о
и расположенный в таблице 9.4 строкой ниже.
Пример 8. Пусть .г = 01 . Это представление, даваемое для числа 1/3 инверсным дели-
9
телем, ведущим вычисления от старших разрядов к младшим. Развёртка: —ОО + ОО > t > 0 — 1 > / > — оо —оо t
б т т 30 30 30 о 0 0 0 3 2 3 Результат: 6Т (-1) I б = 32, 0 0 т.е. числоид х = 01, представляющий 1/3, переходит в числе 0 X Ч У (9.7) ид 32, представляющий «
(-1/3). В таблице 9.4 в нижней строке такого представления нет.
Комментарий к развёртке. Как видно из таблицы 9.5, подача на вход умножителя, на-
ходящегося в состоянии 0 , сигнала 1 приводит к выдаче сигнала 3 без стрелки, в то вре-
мя как сигналу со стрелкой на входе всегда должен соответствовать сигнал со стрелкой на
выходе (бесконечно местному сигналу должен соответствовать бесконечно местный сиг-
нал). Поэтому сигнал со стрелкой 1 должен быть подан на вход ещё раз, и так до тех пор,
пока на выходе не сформируется сигнал со стрелкой. В нашем случае оказалось достаточ-
но подать сигнал со стрелкой ещё только один раз. Это привело к увеличению размеров
развёртки вправо на один разряд (вправо, потому что сигнал 0 всегда должен быть в
нулевом разряде). Эти действия находятся в полном соответствии с определением 4 из
главы 8, § 9 и являются его формализацией для конкретного случая рассматриваемого
умножителя. Выходной сигнал 3, находящийся в развёртке для момента 1 = -°», является
внеразрядной тройкой со стороны младших разрядов и потому не читается. С учётом же
её полностью результат можно было бы записать так'
бТ (-1)|б = 32 3, (9.8)
о о
(внеразрядная тройка идёт без стрелки), но прочитываем мы только то, что находится в
пределах разрядной сетки, т.е. результат (9.7).
Имеет ли смысл внеразрядная тройка в (9.8)? По-видимому, имеет, что видно из сле-
дующей записи:
0 = 1/3 +(-1/3) = 5Т1 + 323 = 1000, (9.9)
о о о
364
показывающей, что результат сложения, прочитываемый на местах разрядной сетки и
состоящий из одних нулей, действительно есть нуль. Внеразрядная единица со стороны
старших разрядов и внеразрядный нуль со стороны младших разрядов не видны на раз-
рядной сетке и потому не читаются. Для большей ясности запишем (9.9) как сложение
столбиком:
1 1 1
3 2 3
+
б 1 1
10 0 0
о
Если бы не было внеразрядной тройки, то аналогичное сложение выглядело бы так:
о о
3 2
+
0 1
0 3 3’
о
где нолики сверху - это нули переноса при сложении цифр из предыдущих разрядов,
нолик внизу отмечает нулевой разряд. Изображённое здесь сложение может быть записа-
но по аналогии с (9.9):
0 = 1/3 + (-1/3) = 01 + 32 = 033 , (9.10)
0 0 о
Запись (9.10) показывает, что числоид 33, заполняющий разрядную сетку Gr® _ .
о
сплошь одними тройками, представляет число 0.
Числоид 33 можно получить, складывая числоидные представления для (-1) и (+1):
о
0 = (-1) + 1 = 30 + 03 = 33 (9.11)
0 0 0
Числоид 33 обладает всеми свойствами нуля Например, сложим число 23 е этим чис-
i
лоидом (для выполнения сложения надо, конечно, записать число 23 на всей разрядной
сетке
0 2 3 0
+
3 3 3 3
1 0 2 2 3
о
Получилось, что на разрядной сетке GH , записано равенство 0230 + 33 = 6223 . Но числа
' <0 0 0
0230 и 0223 , очевидно, равны, и потому, действительно, числоид 33 играет роль нуля.
Итак, мы выяснили во что переходят числоиды из таблицы 9.4, представляющие число
1/3, при прогоне их через умножитель х (-1) | q . Теперь надо пропустить через умножи-
тель числоид 10, стоящий в нижней строке таблицы 9.4.
365
Пример 9. Пусть х = 10 . Это представление, даваемое для числа (-1/3) как инверсным
о
делителем, ведущим вычисления от старших разрядов к младшим, так и нормальным
делителем, ведущим вычисления от младших разрядов к старшим.
Развёртка: —00 + сю > t > 1 0 — 1 > t > — 00 t
т Т б X
30 0 30 0 б б я
2 3 б У
Результат: 16 (-1) 0 = 230, (9.12)
т.е. числоид 10 переходит в числоид 230 , но не в числоид х = 01 (см. таблицу 9.4).
О 0 0
Аналогично можно показать, что новый числоид 32, появившийся после прогона через
умножитель х (-1) | q числоида 01 и представляющий, следовательно, число (-1/3), в свою
о
очередь после прогона через тот же умножитель перейдёт в 01.
о
Пример 10. Пусть т = 32 . Развёртка: —ОО 30 0 Результат: + оо > / > 0 — 1 > £ > — ©о —00 t
3 2 2 30 30 б 0 0 0 12 32 (-1)10 = 012, о о X <1 У (9.13)
где со стороны младших разрядов присутствует внеразрядная двойка, которая не читает-
ся, и потому результат, прочитываемый только на разрядной сетке, можно переписать:
32(-1)|0 = 01. (9.14)
о о
Интересно посмотреть, как произойдёт аналогичный прогон, если для числоида 32
учесть связанную с ним внеразрядную тройку (см. (9.8)) и прогнать через умножитель
числоид 323. Имеем:
о
Пример 11. Пусть х = 323.
Развёртка:
—00
30
о
366
Результат:
32 3- (-1)| б = Oil, (9.15)
похож на (9.13), только на этот раз со стороны младших разрядов мы имеем внеразряд-
ную единицу. Правые части в (9.13) и в (9.15) представляют одно и то же число:
i/з = 6Т,
о
1/3=011, (9.16)
о
1/3 = 012.
о
Мы пояснили, как надо воспринимать эти представления (читается только то, что на-
ходится на разрядной сетке, а сетка заполняется в данном случае цифрами под стрелка-
ми; цифрам без стрелок на разрядной сетке нет места). Из сравнения записей (9.16) следу-
ет, что внеразрядная цифра может быть любой и (возникает мысль) даже там может сто-
ять любое число, например,
1/3 = 51312201. (9.17)
о
Роль внеразрядных чисел может быть отражена записями:
1/3 = 01+0 10—,
о
1/3 = 61+110"“, (9.18)
о
1/3 = 61 + 2 10-,
о
1/3 = 6Т + 312201 10—,
о
что можно интерпретировать как принадлежность внеразрядных чисел другой разрядной
сетке, соседней с основной, информация на которой нами не читается, нам безразлична.
На этой соседней сетке все числа имеют весовой множитель 10“”, и их можно считать,
при сравнении с числами основной сетки, бесконечно малыми величинами первого по-
рядка. Формально можно считать, что числа основной сетки идут с весовым множителем
10°. Таким образом, получается, что полная разрядная сетка не ограничивается основной
сеткой, а продолжается за пределы основной сетки. Подробнее об этом позже.
Приведём итоговую таблицу умножения числоидов, представляющих числа (1/3) и
(-1/3), на (-1), т.е при прогоне их через умножитель х (-1) | q .
Таблица 9.6
1/3 230 0 6Т 0
It и и
-1/3 То 0 32 0
Из таблицы видно, что, например, представление 230 под действием умножите-
0
лях (-1)| переходит в представление 10 и наоборот. Представления 10,32 , 230 -
о о 0 о
это представления в окрестности бесконечности, а представление 01 - представление в
о
окрестности нуля.
367
Резюме:
1. Обнаружено, что инверсные и нормальные делители иногда дают различные результа-
ты деления одних и тех же чисел. Так, нормальный делитель на три при делении единицы
даёт результат 230 а инверсный — 01 Второй объект полностью соответствует нашим
о о
привычным представлениям, первый - нет. Тем не менее оба числоида равноправно пред-
ставляют одно и то же число: 1/3 = 230 = 01 и могут быть использованы в вычислениях.
о о
2. Первый числоид 230 является представлением числа 1/3 в окрестности бесконечности,
о
а числоид 01 - представлением в окрестности нуля. Первое представление из рассмотре-
0
ния обычно выводится, поскольку оно интерпретируется как бесконечно большое число,
смысл которого неопределён. Бесконечно большое число - это словосочетание, за кото-
рым скрывается различие между числоидами, имеющими видимость бесконечно больших
чисел. Однако абстрактные автоматы и вычислительные устройства эти различия между
ними обнаруживают и используют числоиды в своих вычислениях.
3. Обнаружено наличие внеразрядных цифр в результатах вычислений и сделано предполо-
жение об их истолковании. Их наличие подсказывает мысль о недостаточности используемой
основной разрядной сетки. Слева и справа от основной разрядной сетки располагаются другие
разрядные сетки, на которых записываются числа особого рода.
4, Показано, что число 0 имеет представление числоидом, состоящим из одних троек
0 = 33 (см. (9 И)). Аналогично обнаруживается, что числоид, состоящий из одних еди-
ниц, также представляет число 0. Действительно, 0 = (-1/3)+ 1/3 = 10 Ч 01 = 11 . Эйлерова
ооо
проверка подтверждает этот результат. Обобщения очевидны.
§ 3. Продолжение вычислительных экспериментов с делителями
В предыдущих параграфах были приведены некоторые вычисления с нормальными и
инверсными делителями и проведено сравнение их вычислительной работы. Были обна-
ружены нетривиальные моменты, частично зафиксированные в резюме к §2. Здесь тема
вычислений будет продолжена.
Воспроизведём таблицу, дающую полученные с помощью делителей представления
для чисел (1/3) и (-1/3):
Таблица 9.7
Делители —> х -3 1 I q ) х 3-1',"v I q
1/3 —> 230 0 01 0
-1/3 —> Тб 0 То 0 323 0
Слева в таблице стоят числа (1/3) и (-1/3). Стрелки указывают на представления этих
чисел числоидами, порождаемыми делителями, которые указаны сверху. Сбоку справа
стоит числоид 323 , представляющий число (-1/3), но он получен из представления для
о
(1/3), порождённого инверсным делителем, путём умножения представления на (-1), т.е.
путём прогона его через умножитель х • (-1) | q , задание которого содержится в таблице 9.5.
368
Для полноты картины приведём ещё таблицу 9.8, показывающую переходы одних
представлений для этих чисел в другие посредством упомянутого умножителя.
Таблица 9.8
1/3 230 0 6Т 0
Л и х-(-1)|? и
-1/3 То 0 32 0
Числоиды, находящиеся в этих таблицах, подадим на входы делителей .¥ 3 1 | q и
.V 3 J*v | q . Поскольку в приведённых таблицах стоят представления для чисел (1/3) и (-1/3),
то после прогона их через делители должны получиться представления для чисел 1/21(4, =
= 1/9(Ю) и (-1/21)(4) = (-1/9), ю). Работу каждого из делителей рассмотрим по отдельности.
1. Нормальный делитель х 3 q .
Пример 1. Пусть х = 230 .
о
Поскольку делитель нормальный, то цифры подаваемых на вход чисел поступают от
младших разрядов к старшим.
Развёртка:
5 4 3 2 1 0 -1 >1>-оо t
2 2 2 2 3 0 X
б 02 61 б б б ч
2 0 3 2 1 б У
Видно, что в строке результата в сторону старших разрядов сформировался период 032, и
потому записываем
Результат'. 230-3 I б = 03210.
о о
Таким образом,
1/21(4, =1/9, и, =03210. (9.19)
Пояснение. Вырабатывание выходных сигналов при -1 > t > -= и при t = 0 не вызывает
затруднений. Однако, как видно из таблицы 9.3, задающей делитель х -3 1 | q , подача на
вход делителя сигнала 2 в любом его состоянии не вызовет появления выходного сигна-
ла со стрелкой. Поэтому правило останова, которым мы неоднократно руководствова-
лись: подача на вход сигнала со стрелкой должна производиться до тех пор. пока на
выходе не сформируется сигнал со стрелкой, здесь не сработает. Точнее, сработает его
дальнейшее развитие, которое извлекается из развёртки. Дело в том, что, как это видно из
развёртки, при неоднократной подаче на вход делителя сигнала 2 , в силу конечности
числа состояний автомата, в строке результата формируется, начиная с t = 1, периодиче-
ское повторение набора из трёх цифр: 2, 3, 0. Поскольку набор из этих цифр идёт по раз-
рядной сетке в сторону роста номеров разрядов, периодически повторяясь до бесконечно-
сти, мы его изображаем со стрелкой, как и записано в результате (9.19). Стрелка, как все-
гда, указывает направление роста разрядов. В итоге можно сказать, что если на вход ав-
томата 2 3 q , находящегося в начальном состоянии q = 0 , подать сигнал 2 , то авто-
мат перейдёт в состояние q = 0 и выработает выходной набор сигналов 032:
2 3 | 0 = 032 . Аналогично можно получить результаты:
369
2-3 1 | 01 = 203 , с переходом автомата в состояние </ = 01;
2-3 | 02 = 320, с переходом автомата в состояние q = 02 .
Полученные результаты заставляют вернуться к таблице 9.3 делителя х 3_| | q и обнару-
жить аналогичное явление с входным сигналом 1 . Не разбираясь с этим случаем подроб-
но ввиду аналогии, приведём результаты:
1 3 | 0 = 013, с переходом автомата в состояние q = 0;
1 3 | 01 = 130, с переходом автомата в состояние q - 01;
1 3 | 02 = 301, с переходом автомата в состояние q = 02 .
Теперь мы знаем реакцию делителя на входные сигналы со стрелкой 1 и 2 . (Сравни с
табл. 8.36, гл. 8.)
Это позволяет нам уточнить и дополнить таблицу 9.3 делителя х З-1 | q .
Таблица 9.9
Делитель х 3 \д
Я X б 51 52
б 5,6 01,1 02,2
1 02,3 0,0 61,1
т 0,013 61 ,130 02,301
2 61,2 02,3 6,0
2 6,032 01,203 02,320
3 6,1 61,2 02,3
При подаче на вход автомата сигналов 0 и 3 проблем не возникает: если на входе
сигнал без стрелки, то и на выходе получается сигнал без стрелки; если на входе сигнал
со стрелкой, то и на выходе получается сигнал со стрелкой.
При подаче на вход автомата сигналов 1 и 1, а также 2 и 2 требуется раздельное рас-
смотрение.
После такого расширения задания автомата х 3 \а сформулированное выше прави-
ло останова снова оказывается применимым.
Как видим, пример оказался содержательным и поучительным. В итоге разбора этого
примера мы не только получили представление для 1/21(4) = 1/9до), но и столкнулись с воз-
можностью и необходимостью (чтобы получить возможность вести вычисления за конеч-
ное время даже при подаче на вход бесконечно местных объектов) доопределить делитель.
Обращает на себя внимание вид выходных сигналов при подаче на вход 1 и 2. Это не
буквы выходного алфавита, которые являются одноместными, а многоместные объекты.
Напрашивается мысль пополнить ими выходной алфавит делителя. Но пока воздержимся
Эйлеровская проверка даёт (будем вести запись в десятичной системе счисления, за-
меняя 10(4) на 4(ю0:
0321 б = 1+2- (4*+ 44+47+ ...) + 3-(42 + 45 + 48 + ...) =
о
= 1+ 2-4 (1 + 43 + 46 + ...) + 3-42-( 1 + 43+ 46 + ...) = 1+ 2-4 4\ 1 + 3-42- 4V 1 =
4-1 4-1
370
(объект 43“ удаляется, как находящийся за пределами основной разрядной сетки )
‘-s-s-1'9-1'21»-
т.е., как всегда, Эйлеровскос вычисление и вычисление, проводимое абстрактным автома-
том (в более общем случае - абстрактным вычислительным устройством), дают совпа-
дающие результаты.
После получения раепшренной таблицы 9.9 для делителя х-З 1 \q выясним, не обла-
дает ли делитель дополнительными свойствами. В частности, спросим себя, каким будет
результат прогона того же числоида через делитель, который мы поставим не в состояние
7 = 0 в качестве начального, а в другие его состояния, в состояния t/ = 01 и q =02?
При работе с автоматом, заданном таблицей 9.9, мы внесём некоторые изменения в
развертку. Рассматривая идущий далее пример, мы вначале развёртку изобразим, а потом
прокомментируем её. Так будет проще.
Пример 2. Пусть х = 230 и q = 01.
о
Развёртка:
4-00 > t > ] 0 -1 >f>— t
2 3 6 X
61 01 01 <3
203 2 1 У
Рассуждаем так. Сигнал 0 есть краткая запись для бесконечного числа нулей, расстав-
ленных на все места разрядной сетки с отрицательными номерами. Согласно определе-
нию 4, глава 8, § 9, действие делителя на бесконечно местный объект сводится к дейст-
вию на конечно местный объект и последующему переходу к бесконечности. Вследствие
этого мы должны ставить автомат в начальное состояние q = 0 в произвольный момент
времени 1 < 0 т.е. в произвольном разряде (поскольку у нас моменты времени 1 и номера
разрядов совпадают) Учитывая однородность сигнала 0 , с необходимостью приходим к
выводу, что вследствие такого произвола в выборе начального момента функционирова-
ния автомата в последующий момент времени t = 0 автомат может оказаться в любом из
своих состояний. Следовательно, из-за финальности состояний автомата, имеющей место
для входных сигналов со стрелками (см. табл. 9.9), в качестве начальных состояний при
t = - оо мы последовательно должны брать состояния q = 0, 01, 02 , что и сделано, в част-
ности, в разбираемом примере. Приведённая развёртка явно оптимизирована. Стрелочные
обозначения ещё раз демонстрируют свою полезность. Результат:
230 3 1 01 = 20321.
о о
Результатом утверждается, что числоид справа даёт представление для 1/21(4, ~ l/9fi0>.
Во-первых, подтвердим это вычислением по Эйлеру. Имеем:
203 2 1 =2-(4* + 46 + 49 + ...) + 3-(4‘ + 44 + 47 + ...) + 2 + (4'* + 4’2 + 4‘3 + ...) =
о
3 ОО 3 оо -оо
= 2 4’ • 41 + 3-41 4 + 2 + 4 14 =
4-1 4-1 1-4
(объекты 43” и 4 17 удаляются, как находящиеся за пределами основной разрядной сетки)
= 2- 43 (-1/63) + 3-4ЧМ/63) + 2+ 4’1-4/3 = 1/9.
371
Предположение о том, что числоид 20321 представляет 1/21(4», т.е. 1/9<<е,. снова подтвер-
ждается вычислением Эйлера. Отметим, что числоид 20321 появился в результате вы-
fl
числений, проведённых делителем. Таким образом, имеется материальный вычислитель-
ный объект, реально порождающий такого сорта числоиды в качестве результатов своих
вычислений. По своему происхождению он никак не связан с Эйлеровскими вычисления-
ми; но неизменным остаётся факт: вычисления по Эйлеру всегда согласуются с вычисле-
ниями автоматов и абстрактных вычислительных устройств.
Во-вторых, проверим результат с помощью умножения. Для этого умножим числоид
20321 на 21(4) = 9(1в). Должен получиться числоид, представляющий единицу. Приведём
здесь таблицу умножителя на 21(4), используя при его задании упрощённую систему обо-
значений. Умножитель выполняет умножение при постановке его в состояние q = 0 .
Таблица 9.10
Умножитель х 211 q
X \ 0 1 2 3 10 И 12 13 20
0 0,0 0,1 0,2 0,3 1,0 1,1 1,2 1,3 2,0
1 2,1 2,2 2,3 3,0 3,1 3,2 3,3 10,0 10,1
2 10,2 10,3 11,0 11,1 11,2 и,з 12,0 12,1 12,2
3 12,3 13,0 13,1 13,2 13,3 20,0 20,1 20,2 20,3
Пример 3. Пусть х = 20321 . Поскольку в упрощённом варианте задания умножителя
о
нет цифр со стрелками, то, пропуская рассматриваемый числоид через умножитель, мы
будем задавать его также без стрелок, используя их смысл.
В числоиде по местам разрядной сетки с отрицательными номерами стоят единицы.
Поскольку их бесконечно много, то при реальной работе данного умножителя с этим
числоидом мы должны его оборвать на каком-то достаточно удалённом от разряда 0 месте
и, начиная с этого места, подавать на вход умножителя. Окончательный результат полу-
чится (согласно определению 4, глава 8, § 9) после перемещения этого места в минус
бесконечность. Возьмём участок развёртки с номерами мест от (-3) до (+4). Этого участка
достаточно, чтобы уловить закономерность.
Развёртка:
4 3 2 1 0 -1 -2 -3 \ t
3 2 0 3 2 1 1 1 х
.. 11 2 20 И 2 2 2 0 ... q
0 0 0 0 0 3 3 1 у
Из развёртки видно, что если t = -3 погнать в минус бесконечность (т.е. -3 заменить на -4,
4 заменить на -5 и т.д.), то в строке результата у часть разрядной сетки с отрицательными
номерами окажется сплошь заполненной тройками, причём за пределами разрядной сетки
с отрицательной стороны будет стоять 1; вся остальная часть разрядной сетки, начиная с
t~ 0, будет заполнена нулями Таким образом, получается результат: 20321 211 0 = 03 Но
в о
справа в нём стоит единица, записанная в четверичной системе счисления. Выполненное
умножение означает, что числоид 20321 представляет число 1/21 (4).
372
Далее, прогоняя через делитель х-3 q, поставленный в состояние </=02 (без
комментариев, полная аналогия), имеем:
Пример 4. Пусть х = 230 и q = 02 .
о
Развертка:
+ оо > 1 > 0 0 — 1 > t > — оо t
2 3 б X
. л—
02 02 02 02 q
320 3 2 У
Результат:
230 3 1 | 02 = 32032.
о о
Вывод: мы обнаружили интересный факт, состоящий в том, что независимо от начально-
го состояния делителя х-3"1 \q при t = -°° всегда при прогоне через него одного и того
же числоида (в разобранных примерах это х = 230) в результате будут получаться
о
числоиды, вообще говоря, различные, преставляющие тем не менее одно и то же число
(вразобранных примерах это число 1/21,4). представляемое числоидами 03210, 20321 ,
о о
32032 ). Таким образом, делитель х -3 | а делит на три, выполняя своё функциональное
о
назначение, независимо от начального состояния при ? = -». Это свойство делителя можно
назвать свойством функциональной устойчивости абстрактного вычислительного уст-
ройства относительно выбора начального состояния при t = Название не случайно
носит общий характер: фигурирующее в нём свойство имеет место и в других случаях.
Переходим к изучению работы нормального делителя х 3 | q с представлением 01
о
числа 1/3, полученным инверсным делителем.
Пример 5. Пусть х = 01 и q = 0 .
о
Развёртка: — оо + оо > f < 0 — 1 > f > — оо t
5 1 X
0 0 б q
б Результат: 6Т з-1 0 513 о = б51з. 0 У
Пример 6. Пусть х = 61 и q = 01.
Развёртка:
— оо + ОО > / > 0 — 1 > t > — оо t
б 1 X
61 61 61 q
1 130 У
373
Результат:
01 -З"1 | 61 = 1130.
9 0
Пример 7. Пусть г = 01 и q = 02 .
Развёртка: — ОО +оо > t > 0 — 1 > t > —09 t
6 т X
02 02 02 ч
Результат: 2 613-' 102 0 301 = 2.561. и У
Все результаты находятся в полном согласии с вычислениями по Эйлеру. Делитель
х-3-1 \q , представленный таблицей 9.9, является концентрированной системой хорошо
согласованных конечных актуализаций бесконечности. Таковыми же являются и развёрт-
ки его работы (типа развёртки из примера 7). В них работа с бесконечными объектами
выполняется за 2—3 такта.
Теперь мы в состоянии привести итоговую таблицу представления для чисел 1/3 и
1/21(0 = 1/9(Ю) числоидами, порождаемыми нормальным и инверсным делителями.
Таблица 9.11
х-3~Ч<7 1<3- гэ 1н
1/3 —> 230 0 01 0
1/21 —> 03210 0 20321 0 32032 0 0013 0 1130 0 2301 0
х-3 1 \q
В таблице 9.11 представление 230 для 1/3 получено из единицы нормальным делителем
о
i-З-1 \q, а представление 01 -инверсным делителем х -З-1’"’ \q'. Представления для 1/21
о
получены из верхних представлений для 1/3 с помощью нормального делителя х 3 q . Как
видим, у числа 1/21 имеется по меньшей мере шесть различных представлений числоидами.
Лишь одно из найденных (0013) является представлением в окрестности нуля, все остальные
о
являются представлениями в окрестности бесконечности, т.е. они имеют вид бесконечно
больших чисел. Но это лишь форма, суть этих числоидов состоит именно в том, что они пред-
ставляют конечное число. Изобразительные возможности числоподобных объектов в окрест-
ности бесконечности достаточно велики - ими можно изображать конечные числа. Какие
именно, можно узнать с помощью вычислительных устройств, наподобие того, как это сдела-
но в тексте. Другим, не зависимым от вычислительных устройств способом узнать являются
вычисления Эйлера. И устройства, и вычисления Эйлера дают совпадающие результаты.
Теперь пропустим те же представления для 1/3 через инверсный делитель.
2. Инверсный делитель х 3 l l,lv | q .
Таблица 9 1 инверсного делителя т-3 \q также допускает усовершенствование.
Дополненная таблица такова (аналогия с табл. 9.9).
374
Таблица 9.12
Делитель х 3~ljav | q
\<7 X \ 0 51 52
б б,б 01,1 02,2
1 61,0 02,1 6,3
1 6,013 01,130 02,301
2 02,0 0,2 51,3
2 0,032 01,203 52,320
3 6,1 51,2 02,3
Ввиду полной аналогии с предыдущим делителем не будем проводить всех вычисле-
ний. Проведём лишь одно вычисление.
Пример 8. Пусть х = 230 и q = 02 .
о
Развёртка:
t + °° > t > 1 0 - 1 >t> — оо + оо
X 2 3 5
q 02 02 52 02
У 320 3 2
Поскольку делитель инверсный, то деление происходит от старших разрядов к млад-
шим. Поэтому в развёртке столбец t находится слева от развёртки, а первым значением
времени является t = + последним же t = - ~ (на основной сетке).
Результат:
23O-3~1J"V | 02 = 32032 .
о о
Мы видим, что результат совпал с соответствующим результатом для предыдущего дели-
теля. Точно так же совпадут результаты во всех остальных случаях. Поэтому итоговая
таблица совпадёт с таблицей 9.11, только в нижней строке надо поставить х 3 ljriv | q .
Таблица 9.13
*1 ^1 х 3-^т' 1 q
1/3 —> 230 0 6Т 0
1/21 —> 03210 0 20321 0 32032 0 0013 0 1130 0 2301 0
1^ IH
Продолжим проведение вычислительных экспериментов с делителями. Теперь про-
пустим через делители х .3 q и х 3 | q числоиды, представляющие отрицательное
число (-1/3).
Предварительно, без вычислений приведём сводку результатов для представлений
числа (-1/3). Для этого пропустим числоид 30, представляющий число (-1), через дели-
0
тели, поставив их последовательно в начальные состояния q = 0, q =0 \, q =02 . Резуль-
375
тэты соберём в одну таблицу. Видно, что оба делителя из соответствующих состояний в
результате своих вычислений дают одинаковые представления для числа (-1/3). Имеем:
Таблица 9.14
Icr с еп IX 1о Аэ IX
-1 = 30 0 —> -1/3 = 15 0 -1/3 = 21 0 -1/3 = 32 0
В левой клетке таблицы стоит число (-1) вместе с числоидом 30, его представляющим,
о
Стрелка, стоящая правее, указывает на (-1/3) - результат деления вместе с представле-
ниями результата деления различными числоидами.
Видна закономерность: каждый последующий числоид получается из предыдущего
путём прибавления к нему числоида 11 . Действительно,
о
10+11=21, 21 + Т1 = 32. (9.20)
ООО 000
Поскольку числоиды 10, 21 , 32 представляют одно и то же число, из этих равенств
0 0 0
выводим, что числоид 11 играет роль нуля. (Это уже отмечалось в резюме к § 2.) После-
0
довательность сложений можно продолжить. Интересно, что получится? Имеем:
32 + 11 = 103, 103 + 1 1 = 21, (9.21)
0 0 0 0 0 0
и дальше будет всё повторяться. Из сравнения (9.20) и (9.21) ясно, что числоиды 10 и
о
103 представляют одно и то же число (-1/3).
о
Таблицу, аналогичную 9.14, учитывающую функциональную устойчивость делителей
относительно выбора начального состояния, можно получить при делении числоида 010,
о
представляющего х : - +1 (ввиду аналогии подробных пояснений не проводим).
Таблица 9.15
х -З"1 — v Q-ljnv I q , x-i | q
+1 = 6Т6 0 —> 1/3 = 51 0 1/3 = Т5 0 1/3 = 23 0
Теперь пропустим представления для (-1/3) и (+1/3) через инверсный и нормальный
делители, учитывая наличие свойства функциональной устойчивости относительно выбо-
ра начального состояния. Результаты вычислений делителями оформим в виде таблиц
(без проведения вычислений).
Таблица 9.16
Io lx Io lx
1/3 = 51 0 —> 1/21 = 0013 0 1/21 = 1130 0 1/21 = 2301 0
1/3 = 12 0 —> 1/21 = 013032 0 1/21 = 130203 0 1/21 = 301320 0
1/3 = 23 0 —> 1/21 = 0321 0 1/21 = 2032 0 1/21 = 3203 0
376
Таблица 9.17
— т-1 1 — л- 2-1,inv х -3 1\q , х -3 9
-1/з = Тб 0 —> -1/21 = оПб 0 -1/21 = 1301 0 -1/21 = 3012 0
-1/3 = 21 0 —> -1/21 = 032013 0 -1/21 = 203130 0 -1/21 = 320301 0
-1/3 = 32 0 —> -1/21 = 1032 0 -1/21 = 2203 0 -1/21 = 3320 0
В этих таблицах слева от стрелок стоят числа (1/3) и (-1/3) вместе с числоидами, их
представляющими. Числоиды взяты из таблиц 9.14 и 9,15. Справа от стрелок стоят раз-
личные варианты представления чисел (1/21(4} = l/9(jo)) и (( - 1/21)(4) = ( - 1 /9)цо)), полу-
чающиеся в результате деления рассматриваемыми делителями числоидов для (1/3) и
(-1/3). (Их вычисления не приводятся ввиду сходства с предыдущими вычислениями.)
В таблицах 9.14-9.17 легко обнаруживаются закономерности, состоящие в следую-
щем:
1) каждый числоид, представляющий 1/21(4) = 1/9(10| или (- 1/21)(4)= получается
из аналогичного числоида в левом столбце путём сложения с нулём, представленным
числоидом 1 1,
2) числоиды для отрицательных чисел получаются из числоидов для положительных чи-
сел путём формальной перестановки местами групп цифр под стрелками и наоборот,
например:
1/21 = 203 2, -1/21 =2 203 .
о о
Эйлерова проверка подтверждает правильность вычислений делителями и представле-
ния результатов делений числоидами. Например, проверим правильность представления
1/21 = 320 3 . Имеем:
о
3203 -3-(...+ 108 + 105 + 102) + 2-(...+ 107 + 104 + 101) + З'/Ю'1 + 10'2 + ...) =
о
= з-ю2-1°3~-1 г-ю1-10'"-1 +3-10-1 =
103-1 10’- 1 КГ1- 1
(объекты, содержащие 103” и 19"“ в качестве множителей, удаляются, как не находящиеся
на разрядной сетке)
= ~~ 333 ~У13 +'1 = ’ что и ^бовалось.
Резюме'.
1. При рассмотрении примера о делении числа 1/3 нормальным делителем х-3-1|<7
обнаружились возможность и (для оптимизации его работы) необходимость доопреде-
ления делителя, что выразилось в переходе от таблицы 9.3 к таблице 9.9, задающей
расширенную версию того же делителя с дополнительными функциональными возмож-
ностями. Приведены все необходимые вычисления и рассуждения для такого перехода.
Расширение функциональных возможностей делителя может быть продолжено.
2. Новая таблица 9.9 делителя х-3 7 оказалась необычной, что проявилось в струк-
туре выходных сигналов: обнаружилось, что выходные сигналы, будучи реакцией на
одноместные входные сигналы, могут быть многоместными (в разбираемом случае -
трёхместными). Вследствие этого мы должны от классового термина «абстрактный
автомат» перейти к термину «абстрактное вычислительное устройство», «АВУ».
377
3. Изменение таблицы 9.3 и переход к таблице 9.9 приводит к оптимизации вычислитель-
ной работы делителя. Делитель, при обработке бесконечно местного числового объекта,
ведёт вычисление не за бесконечное число тактов, а (в примере 2) за два такта. Тем са-
мым, имеет место динамическая актуализация бесконечности.
4. Проверка правильности вычислительной работы делителя х-3 1\q проведена как с
помошью вычисления Эйлера, так и с помощью умножения. Проверка дала совпадающие
результаты.
Замечание. В этой проверке нет необходимости, так как правильность работы делите-
ля вытекает из доказательной силы метода его синтеза, который и должен подвергать-
ся проверке на правильность при его пошаговом проведении.
5. Обнаружено свойство функциональной устойчивости делителя относительно выбора
начального состояния при t = +<». суть которого в том, что если подавать на его вход один
и тот же числоид, то независимо от выбора начального состояния в качестве результатов
вычисления делителя будут получаться числоиды (возможно, различные по виду), пред-
ставляющие одно и то же число.
6. Обнаружено, что оба делителя (нормальный и инверсный) для чисел (1/3) и (-1/3)
дают наборы из трёх числоидов (таблицы 9.14 и 9.15), а для чисел (1/21) и (-1/21) -
наборы из девяти числоидов (таблицы 9.15 и 9.17). Другими словами, можно сказать,
что в этих примерах появляются классы эквивалентных числоидов, представляющих
одно и то же число.
7. В таблицах 9 14-9.17 обнаруживаются закономерности, состоящие в следующем:
1) каждый справа стоящий в строке числоид получается из слева стоящего путём сложе-
ния с нулём, представленным числоидом 11 ; 2) числоиды для отрицательных чисел полу-
0
чаются из числоидов для положительных чисел путём формальной перестановки местами
групп цифр под стрелками.
§ 4. Дальнейшее расширение возможностей делителей
В предыдущем параграфе мы начали процесс пополнения таблиц, задающих делители. То,
что там проделано, не является окончательным результатом. Работа может быть продолжена.
Не желая чрезмерно увеличивать объём предыдущего параграфа, продолжение работы по
расширению возможностей делителей мы перенесли в этот параграф.
Дело связано с сигналами 1 и 2 , содержащимися в исходных таблицах 9.1 и 9.3 для
делителей х • 3-1-'"v | q и г З \q соответственно. Для этих входных сигналов соответ-
ствующие им выходные сигналы идут без стрелок. Это вызывает необходимость пода-
вать сигналы 1 и 2 повторно (если они были на входе) до тех пор, пока на выходе не
появятся выходные сигналы со стрелками. Но, судя по таблицам, сигналы со стрелками
не появятся никогда, и потому необходимо как-то решать проблему останова. Для этого
необходимо подробнее рассмотреть работу делителей и найти содержащиеся в них для
этого возможности.
Рассмотрим вначале нормальный делитель х 3 | q . Приведём здесь таблицу 9.18,
задающую его в первоначальном виде, опустив в ней над сигналами 1 и 2 стрелки, по-
скольку они пока не играют особой роли.
378
Таблица 9.18
Делитель х 3 \q
\<7 х \ 0
6 5,5
1 02,3
2 01,2
3 б,Т
51 02
51,1 02,2
5,0 61,1
02,3 5,0
01,2 02,3
Выясняется, что следует различать случай, когда единица или двойка идут по местам
разрядной сетки из минус бесконечности, от случая, когда они идут в плюс бесконечность.
Рассмотрим сначала случай с единицей.
Случай 1. Единица идёт сплошь по местам разрядной сетки из минус бесконечности.
Обозначение случая 1 . В этом обозначении, как всегда, стрелка указывает направле-
iij
ние роста разрядов, при этом имеется в виду разрядная сетка G,;':'
в которой места с положительными номерами расположены левее мест с отрицательными
номерами. Числоид, подаваемый на вход делителя, имеет вид:
...xr+s....%r+2J9-+i 1 . (* -1), т-е- Д° некоторого места г включительно из минус беско-
ДО Г из
нечности идут единицы, а начиная с места г + 1 и далее идут произвольные цифры. Без
ограничения общности будем считать, что г = -1.
Согласно определению 4, глава 8, § 9 действие делителя на бесконечно местный объ-
ект сводится к действию на конечно местный объект и последующему переходу к беско-
нечности. Поэтому типичные развёртки, описывающие процесс вычисления делителем
конечных срезов написанного выше числоида и отражающие упомянутый переход к бес-
конечности, имеют вид:
1 0 -1 -2 -3 Г
X, Хо 1 1 1 X
О 61 02 0 q
0 1 3 у
1 0-1-2
X, Х(1 1 I
02 б 61
3 0
-3 A t
1 1 х
02 б q
1 3 у
1 0-1-2 -3
Х1 Хо 1 1 1
61 02 б 61
1 3 0
-4 -5 t
1 1 х
02 б q
1 3 у
1 0 -1
X, Хо 1
5 61
0
-2 -3 - -5 -6 t
111 1 1 х
02 б 61 02 0 q
1 3 0 1 3 у
379
Этими развёртками описываются начальные участки требуемого определением процесса
предельного перехода при /—»«=. Из них видно, что в каждой развёртке в начальные
моменты времени работы делителя (т.е. в моменты t = - 3, -4, -5, -6, ...) автомат ставится
в начальное состояние q = 0 При этом в момент времени t - 0, т.е. в момент времени,
когда на вход поступает первый отличный от единицы сигнал хо, автомат по очереди ока-
зывается в каждом из своих состояний. И тогда, если вообразить все развёртки уже напи-
санными, они разделятся на три класса (по количеству состояний делителя). К первому
классу относятся развёртки, для которых в момент t ~ 0 делитель оказывается в состоянии
q = 0 • Для этого класса развёрток можно написать итоговую развёртку, отражающую
предельный переход, которая имеет вид
1 0 из (- оо) /
Э Хо J ,г
О 0 q
(ИЗ у
и смысл которой следующий: если делитель поставить при t = в начальное состояние
q = 0 и подать на вход сигнал 1 , то по завершении подачи единиц он может при t = О
оказаться в состоянии q =0 и на выходе выработать сигнал 013 (последнее означает,
что по местам разрядной сетки из минус бесконечности идёт период 013, причём при
t ~ -1 в строке результата стоит 0, что отмечено знаком (-1) внизу).
Ко второму классу относятся развёртки, для которых в момент t = 0 делитель оказыва-
ется в состоянии q =01. Для этого класса развёрток можно написать итоговую развёртку,
отражающую предельный переход, которая имеет вид
1 0 из (-со) t
*1 Хо 1 х
01 0 q
130 у
и смысл которой следующий: если делитель поставить при t = в начальное состояние
q = 0 и подать на вход сигнал 1 , то по завершении подачи единиц он может перейти в
состояние q = 01 и на выходе выработать сигнал 1 30 (последнее означает, что по местам
разрядной сетки из минус бесконечности идёт период 130, причём при t = -1 в строке
результата стоит 1, что отмечено знаком (-1) внизу).
К третьему классу относятся развёртки, для которых в момент ? = 0 делитель оказы-
вается в состоянии q = 02 Для этого класса развёрток можно написать итоговую раз-
вёртку, отражающую предельный переход, аналогичную двум предыдущим и которая
имеет вид, показанный далее. Смысл её следующий: если делитель поставить при t -
в начальное состояние q = 0 и подать на вход сигнал 1 , то по завершении подачи единиц
он может перейти в состояние q = 02 и на выходе выработать сигнал 301 (последнее
-1
означает, что по местам разрядной сетки из минус бесконечности идёт период 301 , при-
чём при t = -1 в строке результата стоит 3, что отмечено знаком (-1) внизу).
380
1 0 из (~«о)
xi жс 1
02 б
301
-1
t
х
Я
У
Но из приведённых развёрток следует, что точно те же результаты будут получаться, если
при t = - о» в качестве начального состояния брать не <? = 0 , a q = 01 или q = 02 . Таким
образом, можно сделать вывод: независимо от выбора начального состояния при t = -°°
при подаче на вход делителя сигнала 1 делитель может осуществить следующие три
перехода с выработкой таких выходных сигналов:
(0,013) v (6 l,T30)v <02,161), (9.22)
-1 -1 -I
где v - символ дизъюнкции (эквивалент союза «или»), а в скобках, как обычно, на первом
месте стоят состояния, а на втором - выходные сигналы.
Как видим, результат предельного перехода не является определённым. Но в опреде-
лении предельного перехода нет требования определённости результата. Определение
соответствует, скорее, принципу «что получается, то и получается». А мы этому принци-
пу следуем неукоснительно. Поэтому получившуюся дизъюнкцию мы будем считать
результатом предельного перехода. При реальных вычислениях требуется всё же опреде-
лённость и состояния автомата, и выходного сигнала. Мы будем брать в качестве резуль-
тата любой из трёх членов дизъюнкции (9.22). Похоже, (это гипотеза) что дальнейшие
вычисления не будут зависеть от этого выбора или будут в некотором смысле эквива-
лентными.
Таксв результат разбора случая 1
из (—°°)
Прежде чем идти дальше, на примерах испытаем гипотезу для (9.22).
Пример 1. Пусть х = 0231 - произвольно взятое, = 0 , q(0) = 0 . По условию,
о
делитель при t = - °° ставится в начальное состояние q (-<*>) = 0 , а при t = 0 оказывается в
состоянии q = 0. Это означает, что в строке результата по местам разрядной сетки из
минус бесконечности идёт период 013 вплоть до места с номером ( - 1), в котором стоит
-I
цифра 0: 013013013013...= 013 . Поэтому развёртка, следящая за вычислением делителя,
имеет вид: —оо оо > t > 2 1 0 из (- оо) t
0 2 3 Т X
61 61 0 0 6 я
Т 2 1 оТз у,
-1
что позволяет записать результат:
0231 Зч | 0 = 121013, (9.23)
о <1
который читается так: если на вход нормального делителя х 3 q , поставленного при
t = - оо в начальное состояние q = 0 . подать числоид х = 0231 и при этом при t = 0 дели-
о
381
тель оказывается в состоянии (0) = 0 , то в результате вычисления делителем получится
числоид у = 121013.
о
Поменяем вариант. Возьмём другое состояние, в котором окажется делитель в момент
1 = 0,- состояние <7 = 01.
Пример 2. Пусть х = 0231 , <7(-°=) = б , = 01.
о
По условию, делитель при / = -оо ставится в начальное состояние <7(-°°) = 0, а при
1 = 0 оказывается в состоянии <? = 01. Это означает, что в строке результата по местам
разрядной сетки из минус бесконечности идёт период 1 30 вплоть до места с номером
(-1) в котором стоит цифра 1: 1 30130130130...— 1 30 Поэтому развёртка, следящая за
-I -<
вычислением делителя, имеет вид:
—оо °° > t > 2 1 0 из (- <ю) t
0 2 3 I X
02 02 01 61 б
<3
2 3 2 Тзо 1 У,
что позволяет записать результат:
0231 Г1 | 0 = 232130, (9.24)
О (I
который читается так: если на вход нормального делителя х 3 q , поставленного при
1 = - о» в начальное состояние q = 0 , подать числоид х = 0231 и при этом при 1 = 0 дели-
тель оказывается в состоянии <7(0) = 01, то в результате вычисления делителем получится
числоид у = 232130.
о
Как видим, результаты (9.23) и (9.24) по виду разные. Но в действительности они эк-
вивалентны, т.к. полученными числоидами представляется одно и то же число. Кроме
того, их эквивалентность обнаруживается по признаку нуля, состоящему в том, что один из
этих числоидов превращается в другой, если его сложить с числоидом, представляющим
число 0.
Обнаружим их эквивалентность по признаку нуля. Мы знаем, что числоидов, пред-
ставляющих число 0, бесконечно много. Приведём некоторые из них: 0=11, 0 = 22,
о »
0 = 33 и вообще любой числоид вида 0 = рр, где р =р,„...ртр< - любая конечная
0 о
последовательность цифр. Все эти числоиды обладают свойством нуля, состоящим в
том, что при сложении с любым числоидом они порождают новый числоид,
эквивалентный исходному:
х + р р = х, (9.25)
о
где х и х' — эквивалентные числоиды, т.е. числоиды, представляющие одно и то же
число.
Убедимся в эквивалентности числоидов (9.23) и (9.24) по признаку нуля. Сложим чис-
лоид (9.23) с числоидом 11. Имеем:
о
382
121013+11 =232130.
(9.26)
ООО
Тем самым, эквивалентность по признаку нуля обнаружена.
Чтобы обнаружить эквивалентность числоидов по представляемым ими числам, нуж-
но провести Эйлеровы вычисления. Имеем:
121013 =... + Ю4 +103 + 102 +2 10' +10° + 0 10-' +1 10~2 +3 • 10~3 +
о
+0 10 4 +110 ' + 3 10 6 +... ~ 21 - ’ 1 ~ з ]Л
333 21
232130 = (... +104 + 103 +102) 2 + 3 10’ + 2 10° +1 10"1 + ЗЮ~2+0-10~3 +
о
+1 10 4 +3 10 5 +0 10-6 +... = 21-14^ = з|Я
333 21
При вычислениях слагаемые, содержащие 10°° и 10 '' ", из рассмотрений удаляются как
не принадлежащие основной разрядной сетке Gr(® ”---утту—ztzj--- Итак, оба числои-
да представляют одно и то же число (справа от знака равенства в (9.27) находятся числа,
представляемые числоидами, стоящими слева):
121613 = 3^, 232130 = 3^4- (9-27)
о 21 о 21
А это признак, определяющий их эквивалентность.
Тем самым, примеры подтверждают гипотезу о том, что в качестве результата вы-
числений делителем х-3 1 | q при подаче на его вход числоидов вида 1 можно
брать любой из вариантов (9.22). Все дальнейшие вычисления будут эквивалентными.
Понятно, что это может быть доказано в общем виде, т.к. ситуация ясна, но увеличивать
объём текста нежелательно.
Случай 2. Единица идёт сплошь по местам разрядной сетки в плюс бесконечность.
Обозначение случая: 1 . В этом обозначении, как всегда, стрелка указывает направле-
ние роста разрядов, при этом имеется в виду разрядная сетка --уутоТтуту---,
в которой места с положительными номерами расположены левее мест с отрицательными
номерами. Числоид, подаваемый на вход делителя, имеет вид: 1 хг.|Хг.2...хг.,... , (s 2 1), и.с.
с некоторого места г включительно в плюс бесконечность вдут единицы, а до места (г-1)
из минус бесконечности идут произвольные цифры. Без ограничения общности будем
считать г = 0.
Согласно определению 4. § 9, глава 8, действие делителя на бесконечно местный объ-
ект сводится к действию на конечно местный объект и последующему переходу к беско-
нечности. Поэтому типичные развёртки, описывающие процесс вычисления делителем
конечных срезов написанного выше числоида и отражающие упомянутый переход к бес-
конечности, имеют следующий далее вид.
Такого типа развёртками описывается начало требуемого определением процесса пре-
дельного перехода при t —> + Из них видно, что, если вообразить все развёртки уже
написанными, они разделятся на три класса (по количеству состояний делителя).
... 7 6 5 4 3 2 1 0 t
1 1 1 1 1 1 1 1 X
02 б 61 02 б 61 02 6 ч
1 3 0 1 3 0 1 3 У
383
К первому классу относятся развёртки, для которых концевой момент времени кратен
трём: t = Зт, (т = 0, 1, 2, ...) В этот момент времени делитель оказывается в состоянии
q = 0, а в строке результата в сторону плюс бесконечности идёт период 013. Для этого
класса развёрток можно написать итоговую развёртку, отражающую предельный переход,
которая имеет вид:
+ оо 0 t
Т X
О 0 q
013 у
о J
Нолик, стоящий под тройкой, показывает, что периодическая часть результата начинает
записываться с тройки, которая ставится в нулевой разряд.
Ко второму классу относятся развёртки, для которых концевой момент времени равен
t = 3m+l, (т ~ 0, 1, 2, ...). В этот момент времени делитель оказывается в состоянии
q = 02, а в строке результата в сторону плюс бесконечности идёт период 301, начинаю-
щийся с момента f = 1. Для этого класса развёрток можно написать итоговую развёртку,
отражающую предельный переход, которая имеет вид:
+ СО О
1
02 0
3013
о
t
X
q
v
Нолик, стоящий под тройкой, показывает, что результат начинает записываться с тройки,
которая ставится в нулевой разряд.
К третьему классу относятся развёртки, для которых концевой момент времени равен
1 = Зм + 2, (т = 0, 1, 2, ...). В этот момент времени делитель оказывается в состоянии
q = 61, а в строке результата в сторону плюс бесконечности идёт период 130 , начинаю-
щийся с момента t = 2. Для этого класса развёрток можно написать итоговую развёртку,
отражающую предельный переход, которая имеет вид:
+ оо 0 t
1 X
01 б q
Гзб13 v
О ~
Нолик, стоящий под тройкой, показывает, что результат начинает записываться с тройки,
которая ставится в нулевой разряд; в первом разряде стоит единица, а начиная со второго
идёт период 130 .
Таким образом, переходы из состояния q = 0 под воздействием сигнала 1 могут
в )
быть описаны схемой:
(б, Т ) —> (0,013-)V(61,13013)v(02,30j3),
>ltol о о
которая читается так: если делитель находился в состоянии q = б и на вход его поступил
сигнал 1 , то делитель может осуществить один из трёх переходов:
В (+°°)
384
или в состояние q = 0 с выходным сигналом 013 ,
о
или в состояние q = 01 с выходным сигналом 13013 ,
о
или в состояние q = 02 с выходным сигналом 3013 .
о
Все три варианта равноправны: какой из них реализуется на самом деле, это определя-
ется каким-либо внешним фактором.
Аналогично могут быть рассмотрены переходы из состояний <7 = 01 и q = 02 . Мы их
не будем рассматривать подробно и приведём лишь окончательные результаты. Для по-
лучения этих результатов можно воспользоваться уже рассмотренной развёрткой. Необ-
ходимо будет лишь осуществлять сдвиг по шкале времени.
Рассмотрение вопроса с двойкой (2,2) аналогично. Поэтому не будем приво-
ИЗ (—°°) в (-“-оо)
дить подробностей, а лишь покажем результат в итоговой таблице делителя.
Таблица 9.19
Делитель х 3 7 (расширенная версия)
х \ б 01 02
б б,б 51,Т 02,2
1 02,3 6,0 61,1
1 из (-°°)
т в(+”) 6,0Ц v 61,13013 v 02,3013 5, oi>o v 6i,i30v О2,зо13О 6,01301 v 51,1301,52,301
2 01,2 02,3 6,0
2 из (-°°)
2 B(+oo) 6,032 V 612012» 02,32032 0,03203 V 61,203 V 02,3203 6,0320 v 61.20320 v 02,320
3 6.1 61,2 02,3
Для 0 и 3 нет необходимости исследовать случаи «из и «в (+оо)».
В выделенных строках этой таблицы абстрактное вычислительное устройство (этот
делитель мы уже не можем называть автоматом и должны писать АВУ - абстрактное
вычислительное устройство) реагирует только на входной сигнал, т.е. выходная реакция
АВУ может быть любой из трёх указанных в этих строках, и потому при разборе работы
АВУ необходимо рассматривать все три возможных его реакции. При вычислениях же
можно ограничиться одной из них, сформировав предварительно критерий выбора, а
можно использовать и все три варианта.
Что касается схемной реализации делителя, то В-схема его создаётся без принципи-
альных трудностей.
Вычисления с помощью такого делителя заметно упрощаются, даже с бесконечно
разрядными числоидами, как это показано ниже.
Приведём примеры вычисления построенным делителем.
Вначале рассмотрим знакомые уже результаты.
385
Пример 3. Подача на вход делителя единицы: 010.
о
Результаты вычислений приведём в следующих трёх развёртках.
+<Ю 0 —00 t
О 1 0 or _________________________________________
02 02 б б q Результат: 010-3 |q = 230
2 3 б у
+00 0 — <» t
б 1 б V ________________________________________
б б 61 61 q Результат: 516 -З"1 | ^ = 01
б О Т У
+оо 0 -оо t
б 1 б * ________________________________________
61 51 02 02 q Результат: 516-3-'|у = 12
Т 1 2 У
Полученные результаты являются представлениями числа 1/3. Других вариантов делитель
не выдаёт. Эйлеровская проверка во всех трёх случаях подтверждает правильность вы-
числений делителя.
Пример 4. Подадим на вход делителя число, делящееся на три, например,
хг = 18(101 =1-02(4* =01020.
Варианты вычислений приведены в следующих трёх развёртках.
+ да 2 1 0—да?
5 1 0 2 0 х
5 5 01 51 5 5 g
б о 1 2 б у
+ да 2 1 0 -да t
б 1 0 2 5 X
51 51 52 52 51 51 q
Т 1 2 3 Ту
+ да 2 1 0 — да t
б 10 2 б х
02 52 б 5 02 02 Ч
2 3 0 0 2 у
Результат: 0120
о
Результат: 1231
о
Результат: 23002
о
Результаты, написанные справа от развёрток, есть представления числа 6(W= 12,4). Про-
верка по Эйлеру подтверждает правильность всех вычислений делителем.
386
Здесь уместно воспользоваться результатом Эйлеровских вычислений и написать, на-
пример, разложение числоида 23002 на полной разрядной сетке (на гиперсетке):
о
23002-02222 10*' +0120 + 31 10™. (9.28)
о о о о
Полная разрядная сетка состоит из основной разрядной сетки Gr^_„} = ...yyyy-j-yyyy..., на
которой располагаются числа, которыми мы пользуемся, и дополнительных разрядных
сеток, на которых располагаются бесконечно малые величины и бесконечно большие
величины. В разложении (9.28) слагаемое 022 2 2 1 03” располагается на разрядной сетке
о
бесконечно больших величин третьего порядка, а слагаемое 31 10 ' располагается на
о
разрядной сетке бесконечно малых величин первого порядка. Слагаемое 0120 распола-
0
гается на основной разрядной сетке, и только его мы воспринимаем в качестве числа.
Эйлер оставляет только то, что находится на основной разрядной сетке, а всё остальное
игнорирует, как не находящееся в нашем мире.
У числа х = = 102(4) = 01020 есть много представлений. Вот ещё два из
них: х = 18(1(|| = 102(<) = 12131 и х = 18(]в) = 102(4| = 23302 .
Каждое из них после прохождения через рассматриваемые делители даст по три пред-
ставления для числа 6(ю) ~ 12(4). Проверка по Эйлеру подтверждает правильность этих
представлений. Таких представлений можно получить не три, а бесконечно много. Но
отсюда возникает трудность с их восприятием. Например, не сразу можно понять, что
1= 1300220331 131 0220331130. Однако эта проблема решается регулярным образом,
о
Теперь надо рассмотреть инверсный делитель. Но подробно мы этого делать не будем.
Приведём сразу его таблицу.
Таблица 9.20
Делитель х 3Чж | q (расширенная версия)
q X
0,0 01,1 02,2
01,0 02,1 б,з
т Из(+«)
1 в(-~)
02,0 0,2 61,3
2 ИЗ(+»>)
Т
0,1 01,2 02,3
Приведём пример вычисления инверсным делителем.
387
Пример 5. Подача на вход числоида, представляющего 1/3. Пусть х = 12 (пример 3).
о
Результаты вычислений приведём в следующих трёх развёртках.
t + оо — 00
А Т 2
q V б О
v ШЗ 032 Результат: I 2-3 '"" V - 013 032
- « о
Т 2
V 01 61
ПО 203
Результат: Т5-3 V = 130 203
t +оо — оо
х 1 2
q V 02 02
v JOI 320 Результат: 12-3-1““ | V = 301 320
В этих развёртках начальное состояние АВУ может быть произвольным, что отмечено
символом V. В остальном прочтение развёрток не отличается от обычного.
Резюме.
1. Нормальный и инверсный делители допускают дальнейшее усовершенствование по
сравнению с уже проделанным в §3. Суть его состоит в изучении полной реакции делите-
лей на длительные подачи сигналов единицы и двойки. В результате приобретается воз-
можность за конечное число тактов обрабатывать бесконечные сигналы, как это показано
в разобранных примерах.
2. Подобное усовершенствование делителей (и других АВУ) возможно не только для
простейших вариантов сигналов со стрелкой (приведённых в таблицах делителей), но и
для более сложных. Этим процессом начинается динамическая процедура априорного
усовершенствования АВУ для ведения вычислений, при условии, что заранее известна
предварительная характеристика бесконечно местных сигналов. Тем самым, вычисли-
тельное устройство становится предварительно подготовленным к сложным вычислениям
с бесконечностями, а затем вычисления могут вестись актуально. Кроме того, такой про-
цесс усовершенствования АВУ имеет чисто теоретическое значение.
3. Показано разложение числоида на сумму трёх величин: бесконечно больших, беско-
нечно малых и обычных чисел (см. (9.28)). Тем самым подсказано строение полной раз-
рядной сетки, гиперсетки.
388
Глава 10
Эйлеровы вычисления
§ 1. Предельный переход по местам разрядной сетки
В предыдущих рассмотрениях нам неоднократно приходилось выполнять предельный
переход по местам разрядной сетки. Такой предельный переход предусмотрен определе-
нием 4 § 9, глава 8, описывающим действие АВУ на бесконечно местный объект. Рас-
смотрим этот вопрос подробнее.
Напомним, что основная разрядная сетка Gr^, , порождённая АВУ (сокращение
читается: «абстрактными вычислительными устройствами») имеет следующее строение:
О;^=...у,„т..„ (10.1)
где чёрточками обозначены места разрядной сетки, а под ними их номера. Если на все
места разрядной сетки расставить цифры из выбранной системы счисления, то на разряд-
ной сетке будет записан числоид. Назначение числоидов - быть представителями чисел.
Некоторые из числоидов истолковываются привычным образом как числа. Мы будем
продолжать работать в четверичной системе счисления с множеством цифр:
Z(4)={0, 1,2,3}. (10.2)
При выполнении вычислений АВУ нам не раз приходилось сталкиваться со случаями,
когда в процессе вычисления появляются единицы переноса или даже целые группы цифр
переноса, которые по мере перехода по местам разрядной сетки к бесконечности переме-
щались по разрядной сетке и в конце концов покидали её. Например, сложим два числои-
да: числоид х, = 120 = Z, представляющий число 2/3, и числоид х2 = 230 = 1.
0 J О J
представляющий число 1/3. Согласно определению 4, §9, глава 8, нужно взять конечные
срезы этих числоидов, сложить их и потом перейти к пределу, увеличивая размеры срезов
до бесконечности, пока результат не охватит всю разрядную сетку. Сложение конечных
срезов происходит наподобие следующего образца:
1 1 1 <1 о о
1 1 1 2 0 0 0
о
+
2 2 2 3 0 0 0
______________о_________
1 0 0 О I о с о
о
Нолики, стоящие под цифрами, отмечают нулевой разряд. Нолики и единицы сверху - это
переносы в следующий разряд. Последняя единица переноса вошла в результат и написа-
на слева (выделена). После выполнения предельного перехода к бесконечности слева и
справа от единицы результата, стоящей в нулевом разряде, будут стоять одни нули.
В процессе предельного перехода единица переноса побежит влево, в сторону плюс бес-
конечности и в пределе покинет разрядную сетку. Возникает вопрос: где она найдёт себе
место? Ответ: на разрядной сетке, идентичной по строению сетке , но отличаю-
щейся от сетки тем, что каждое её место имеет дополнительный мультипликатиь-
ный весовой коэффициент 10 х. Такую сетку мы будем обозначать символом Gr^_^j.
Указанный весовой коэффициент мотивирован тем, что единица переноса, находясь ещё в
пределах сетки Gr^_^}, имела содержательный смысл, выражавшийся записью: Г10".
При п, стремящемся к бесконечности, эта запись переходит в 1 10", что истолковывается
389
как переход единицы переноса в сетку , где она занимает место с номером 0. По-
этому более полная, чем обычно, запись результата сложения числоидов будет такой:
х, +х2 = 120 + 230 = 010 10" +016 10°, (10.3)
0 0» о
где первое слагаемое справа, 010 10", располагается на сетке Gr.1 _ , и нами не воспри-
0
нимается как реальный результат, так сказать, не читается, а второе слагаемое, 010 10°,
о
располагается на основной сетке Gr^___), нами читается и воспринимается как единица,
истинный результат сложения.
Обилие такого сорта результатов с родственными трактовками заставляет дать сле-
дующую модель гиперсетки'.
Gr- \--------II---------||---------||---------...||...---...|... (10.4)
• 1 0 -1 -2 II 2 1 0 -1 -2 II 2 1 0 -1 -2 II 2 1 0 -1 -2 II 2 1 0 -1 -2 I ' '
Gr2 Gr1 Gr° Gr-‘
Вес 102_ Bee 101_ Bee 10° Bee 10 1" Вес 1Щ2-
Согласно этой модели, гиперсетка состоит из бесконечного числа однотипных разрядных
сеток, каждая со своим основным весовым коэффициентом. В пределах каждой однотипной
разрядной сетки каждое место имеет свой весовой коэффициент. Например, место с номером
(—2) имеет вес, равный 10 Но, скажем, если это место находится на сетке Gr', то оно имеет
дополнительный мультипликативный весовой коэффициент, которым является основной
весовой коэффициент для этой сетки, т.е. 1 (Г. В итоге вес этого места равен 10 1(г ". Сетка
Gr° = G/'Д является основной разрядной сеткой, на ней записываются все наши числа и
числоиды, их представляющие. Сетка Gr является сеткой бесконечно малых величин пер-
вого порядка. На сетке Gr2 располагаются бесконечно малые величины второго порядка
и т.д. Если двигаться в другую сторону, то на сетке Gr находятся бесконечно большие вели-
чины первого порядка, левее - второго порядка и т.д. (более подробно об этом см. далее, § 2).
Вертикальные линии изображают границы разрядной сетки.
Гиперсетка даёт нам шкалу бесконечностей.
Полученный выше результат сложения (10.3) двух числоидов на гиперсетке Gr (10.4,
может быть наглядно представлен следующим образом:
Г,.. 00000, II 00100, II 0 0И0 II 0000.0. II 000-0,0 I по
' "'Г2 I 0 I 2"1Г"2 1 0 1 2"'Н"2 I 0 I 2 "|Г"2 1 0 1 2"'Ц'"2 1 0 I 2' T" ' ‘ '
Gr1 Gr1 Gr° Gr-' Gr1
Вес IO2- Вес. JO1” Вес 10° Вес JO ” Вес НГ!“
Как видно, на местах с номерами 0 в сетках G>' и Gr° стоят единицы. Но читаем мы только
единицу на основной разрядной сетке Gr°. Поэтому сумма 1/3 + 2/3 ₽ 1, как и должно быть.
Числоиды, записанные на гиперсетке Gr (10.4), будем называть действительными ги-
перчислоидами. Их назначение - представлять действительные гиперчисла. Действительные
числа представляются числоидами, расположенными на части сетки Gr - на сетке Gr°. Та-
ким образом, действительное число есть составная аддитивная часть действительного ги-
перчисла, представленная на сетке Gr‘. На примере (10.5) легко усматривается общая струк-
тура действительного гиперчисла. В пределах каждой сетки GiJ (/=...-2,-1, 0, 1, 2, ...)
содержательный смысл объекта совпадает с таковым на основной разрядной сетке Gr°, т.е.
там тоже могут быть числоиды, истолковываемые как числа. Все действия, выполняемые
над объектами в пределах основной сетки Gr°, могут выполняться также в пределах каждой
сетки GiJ, вследствие чего возможны, в частности, переносы в соседние сетки. В целом на
гиперсетке Gr действует аддитивный закон для представления действительного гиперчисла,
т.е. действительное гиперчисло х имеет представление посредством гиперчислоида:
390
х = ...х2-102"+IO‘”+ х"10''+ х 10-‘“ + f-2 10~2"..., (10.6)
где х' - числоид на сетке Gr'.
По-другому представление (10.6) может быть записано так:
7 = ...x2|Gr2+ x4g,.i+ x°|Gro+ x~4Gr-i+ x-2\Gr-2..., (10.7)
где запись х^, означает, что числоид х записан на сетке Gr1.
Мы видим, что представления (10.6) и (10.7) аналогичны аддитивному представлению
числа в пределах каждой отдельной разрядной сетки GiJ. Не видно оснований отказывать
в аддитивности представлению (10.6) на полной разрядной сетке. Таким образом, можно
сказать, что представление (10.6) постулируется на основе косвенных соображений.
Вследствие (10.6) можно писать, например, так:
sm(x0 10° + х-1 1 О ') = sin(x0 10"J cos(х ' 10 “) cos(x" 10") sin(х ' 10 * ) .
где х° -10" - числоид на основной разрядной сетке Gr°, а х -10 - числоид на сетке
Gr-1, т.е. бесконечно малая величина.
Сетка Gr° - это для нас главная часть гиперсетки Gr, на ней располагаются «осмыс-
ленные» результаты, которые мы воспринимаем как настоящие результаты вычислений,
т.е. как то, что может быть понято на бытовом уровне и применено на практике, в инже-
нерных расчётах, научных наблюдениях. Сетки Gr', (/' Ф 0) — это «потусторонние относи-
тельно нас миры»; то, что там записано, мы не воспринимаем как реальный результат, не
используем в инженерных проектах, не читаем. Хотя теперь нам понятно, что полный
результат вычислений - это как раз тот, что записан на гиперсетке Gr (10.4). Нам не
раз приходилось достигать более полного понимания за счёт выхода за пределы наших
реальных возможностей. Таковым является, например, понятие иррационального числа.
Теперь рассмотрим предельный переход по местам разрядной сетки Gr°.
Случай 1. Переход по местам разрядной сетки в минус бесконечность.
Пусть на сетке Gr' записано какое-нибудь число, например, число х = 03210, где
о
нолик под двойкой означает, что она стоит на месте с номером 0 (в разряде с номером 0).
Расположение этого числа на сетке Gr° таково:
Gr°: ...0 0 1 2 1 Д Д (10 g)
3 2 10-1-2-3’ v
причём слева от места с номером 1 и справа от места с номером (-1) сплошь идут одни
нули. Умножим число х на 10 " (п > 0):
x-Ю-" = 03216 10-’.
о
Получившееся число на сетке Gr° займёт новую позицию, оно переместится так, что циф-
ра 2 окажется на месте с номером (-п):
Gl.o. 0 0 0 О Д О * _2 1 о (10 9)
2 1 0 -I -2 '"-«+3 -«.I -п -и-I -а-2" ’ ’ ' '
при этом массив нулей слева от тройки (т.е. слева от места (-и +1)) расширится, включив
в себя первоначальный массив нулей слева от места (+1):
М[0] с Л/[0] , (10.10)
4- 1 <- (-» + !(
где М [0] - массив нулей слева от места с номером z, (I =...-2, -1, 0, 1, 2,...). Если теперь
4- 1
устремить п в (+<»), то после завершения предельного перехода массив нулей
М[0] = lira М[0] заполнит всю разрядную сетку Gr° , а число х = 03210 перейдёт в
1—1 <- (-»»|)
391
соседнюю сетку Gr ': х = 03210 10 “ . В результате предельного перехода на гиперсетке
о
Gr появится запись:
Gr:... 0 0 0 0 0. "2 1 0-1-2 " 0 0 0 0 0. I | ’2 1 0-1 -2 | I 0 0 0 0 0. Г 2 1 0 -1 -2’" I 0 3 21 0. I Г 2 1 0-1-2 "| 0 0 0 0 0. '"2 1 0 -1 -2 ’|
Gr2 Gt1 Gr° Gr1 Gr~2
Вес 10*- Вес 101" Вес 10" Вес КГ1” Вес If» *
Результат предельного перехода, выполненного на сетке Gr°, можно записать так:
Нтб321б10-“ |^= ..>^., + 61^ + 032161^ + 61^+..., (10.11)
п—>ОО 0 0
где запись x|G , означает, что число х записано на сетке Gr'. Мы видим, что на основ-
ной сетке Gr° записан ноль:
Поскольку мы воспринимаем только то, что написано
на основной сетке, мы говорим, что результат предельного перехода равен нулю. Именно
по той причине, что на основной сетке записан ноль, мы пишем:
lim03210 10-" =5 .
п—>» 0
Однако более правильной записью была бы уточняющая запись:
lim03216-10-" | 0 -0. (10.12)
п->- 0 <*
которая понимается так: «результат предельного перехода, выполненного на основной
разрядной сетке Gr и прочитанного на ней, равен нулю».
С точки зрения АВУ и правил работы с гиперсеткой результат должен быть записан
полностью как (10.11). Эта запись результата учитывает перенос числа в сетку бесконеч-
но малых первого порядка. Повторим, равенство (10.11) - это полная запись результата
предельного перехода.
Случай 2. Переход по местам разрядной сетки в плюс бесконечность.
Теперь выполним симметричное действие - переход по местам разрядной сетки в сто-
рону плюс бесконечности.
Умножим число х на 10" (п > 0):
х-10" = 03210 10".
о
Умноженное число на сетке Gr° займёт новую позицию, оно переместится так, что цифра
2 окажется на месте с номером (и):
z-j.0 . 0 3 2 1 0 0 0 0 0 0 (1013)
при этом массив нулей справа от единицы (т.е. справа от места (п - 1)) расширится, вклю-
чив в себя первоначальный массив нулей справа от места (--1)):
М[0] э М[0], (10.14)
<«-п -+ t-п -+
где М[0] - массив нулей справа от места с номером z, (i = ...-2, -1, 0, 1, 2,...). Если теперь
I—>
устремить п в (+<»), то после завершения предельного перехода массив нулей
Л-7[01 = lim Д7| 01 заполнит всю разрядную сетку Gr'. а число х = 6321б перейдёт в
—.—- ' о
оо —> (п —1)—>
соседнюю сетку Gr1: х| , = 53215 10'“. В результате предельного перехода, с учётом
Ся- 0
(10.13), (10.14) на гиперсетке будет находиться запись:
392
Gr. 0 0 0 0 0 II 0 3 21 0. II 0 0 0 0 0 II 00000,
’T'2 1 О -1 -2"1Г"’ 1 О -1 -2"'И"2 1 О -1 -2 11 2 1 <1 -1 -2"Г”
Gr2 Gr' Gr° Gr-1
Вес 1в-“ Вес 10'“ Вес 10“ Вес КГ1”
Результат предельного перехода, выполненного на сетке Gr°, можно записать:
lim03210-10’ |&0 = ... + б|&, +0321б|&1 +б|&» +0 |&_, +..., (10.15)
п—>оо О О
где запись х\Ог, означает, что число х записано на сетке Gr1.
Мы видим, что на основной сетке Gr° записан ноль: 0 . Поскольку мы воспринима-
ем как действительные числа только те, которые написаны на основной сетке Gr°, мы
говорим, что результат предельного перехода равен жулю. Именно по той причине, что на
основной сетке записан ноль, мы должны писать:
Итб321б-10" „ =б (10.16)
п <1 1,Г
и читать: «результат предельного перехода, выполненный на основной разрядной сетке Gra
и прочитанный на ней, равен нулю». С точки зрения АВУ и правил работы с полной раз-
рядной сеткой результат должен быть записан полностью как (10.15). Эта запись резуль-
тата учитывает перенос числа в сетку бесконечно больших величин первою порядка.
Запись (10.16) воспринимается как нелепая. Ведь мы так привыкли к понятному ре-
зультату:
litn03216-10' =о=.
Однако если придерживаться правила: «в качестве результата мы читаем только то, что
написано на основной разрядной сетке Gr0», то нужно принять результат (10.16) как пра-
вильный. И всё же нам хочется говорить, что предел равен бесконечности. Но он и равен
бесконечности, но бесконечность эта находится на другой разрядной сетке, на сетке G/1,
на сетке бесконечно больших величин, записи на которой нс принадлежат к миру наших
величин, они нами не читаемы. Недоразумения исчезают на гиперсетке, где эта бесконеч-
ность наличествует и где точно описывается её место в результате (см. (10.15)). Гипер-
числоиды позволяют точнее понимать бесконечность.
Обобщая (10.12) и (10.16), можем написать:
limx lO""|Gro= б , (10.17)
п—
limх 10’|С/.о = б, (10.18)
где х - любое число, записанное на сетке Gr°.
Если же результаты предельного перехода записать на гиперссткс, то соответствую-
щие записи будут таковы:
limx -10" |G|* = ... + б1&2 + б |&i + б l^o + х l^-i +..., (10.19)
П—
limx 10" 1^.0 = ... + б |0|.2 + х |Ог1 + б |Сг<1 + б |Gr-i +..., (10 20)
п—
где х - любой числоид, записанный на сетке Gr°.
Условимся далее в выражениях типа (10.19), (10.20) не писать слагаемых, сетки кото-
рых сплошь заполнены нулями, за исключением слагаемого, соответствующего основной
разрядной сетке Gr°, которое мы будем писать всегда. Эта договорённость позволит дер-
жать внимание на самом существенном. Записи (10 19), (10.20) перейдут в следующие:
limx-10 " |3(Я «=61^ +х ,
393
lira х-10"^ - -х|&1+0|&в,
отражающие суть дела: на основной разрядной сетке остаются нули, а в соседние разряд-
ные сетки происходит перенос числоида х .
Отметим, что случаи 1 и 2 предельных переходов логически равноправны.
Обратимся к разложениям (10.6), (10.7). Там сказано, что на гиперсетке Gr действует
аддитивный закон для представления действительного гиперчислоида, т.е. действитель-
ный гиперчислоид X имеет представление (10.7):
X = ...х2|&2+ Г|&1+ х°|Сго + л-Ч&-1+ Х~2\Сг-2..., (10.7)
где х' - числоид на сетке Gr'. Понятно, что если взять все числоиды х' в представлении
(10.7) равными нулю: х‘ =0 (/ = ... -2, -1,0, 1,2,...), то получим представление для гипернуля'.
0 = ... 0|ft.2 + 6|Gri + O|G,.o + 0|G,.-i + 0|G,(10.21)
Возникает вопрос: какие представления на гиперсетке (10.4) имеет «наш нуль», т.е. нуль,
представления которого на основной сетке Gra нам известны. Вопрос существенен, по-
скольку мы придерживаемся правила: «читаем (т.е. считаем единственно осмысленным и
практически применимым) только то, что написано на основной разрядной сетке Gr1».
Из этого правила вытекает множественность представления нуля для любого зафиксиро-
ванного на Gr1 представления нуля. Пусть, например, на Gr° стоит числоид х" = Ь одно
из возможных представлений нуля, а все остальные числоиды х', (i 1 0) произвольны.
Тогда получается (поскольку мы придерживаемся сформулированного правила о чтении
результата), что для нас полученное гиперчисло всё равно есть нуль, т.е. независимо от
того, как заполняются все остальные разрядные сетки, мы всё равно будем иметь нуль:
0|Grl> = ... X2 |Gr2 + X1 |Grl + 0|Gr0 + X"1 |Gr-l + _\'2 |Gr-2... . (10.22)
Варьируя числоиды x', (/10) в правой части (10.22), мы будем иметь представления
нуля на основной сетке Gr° различными гиперчислами. Из (10.22) следует, что нуль на
основной сетке Gr" равен любой бесконечно малой величине; но точно так же из (10.22)
следует, что нуль на основной сетке Gr1 равен любой бесконечно большой величине.
О подобном говорил Эйлер, но здесь эти высказывания становятся попятными на основе
представлений о гиперсетке и правила чтения результата только на основной сетке Gr3.
Заметим, что вопрос о предельном переходе в случае произвольных числоидов значи-
тельно сложнее, чем рассмотренные здесь примеры.
Резюме'.
1. Большое число разобранных примеров подсказывают следующую модель гиперсетки:
Gr. I mil II тц || «5 111 || оооц || 0 0 0 0.1
"Т 2 I О -1 -2 "II ’г 1 о -I /"Il "г 1 0-1 -2'11 2 1 0 -1 -2"'|г"2 1 0 -1 -2' Г" ’
Gr2 Gr' Gr0 Gr-' Gr-2
Вес |02“ Вес. I01” Вес 10° Вес JO1" Вес. )«2"
представляющую из себя бесконечное повторение в обе стороны основной разрядной
сетки Gr° (10.1) с весами вида 10 В зависимости от веса каждая сетка получает своё
обозначение и имя. Например, указанному весу соответствует сетка, обозначаемая симво-
лом Gr' и называемая сеткой бесконечно больших величин /-го порядка (если i > 0) или
сеткой бесконечно малых величин /-го порядка (если / < 0).
2. Полная разрядная сетка (гиперсетка) позволяет дать определение понятия действитель-
ного гиперчисла. Гиперсетка даёт градуировку бесконечности и тем самым представляют
возможность точно указать расположение гиперчислоидов представляющих бесконечно
394
большие числа. Суммирование расходящихся рядов оказывается возможным в семействе
гилерчисел.
3. С помощью гиперсетки удаётся провести исследование предельных переходов по мес-
там основной разрядной сетки и дать им трактовку.
§ 2. Числоиды и числа
1 . Предварительное пояснение. Числоиды и числа, безусловно, родственные объекты, но
всё же разные. Числоиды несут представительскую функцию, они представляют числа. Одно
и то же число может иметь бесконечно много числоидов, его представляющих. Число, таким
образом, выступает как нечто общее по отношению ко всем его представлениям, как абст
ракт этих представлений. Иногда этот абстракт истолковывается понятным для нас образом
как количественная идея. Это генетически первое истолкование. Появляющиеся следом ис-
толкования усложняются, причём неограниченно. Вычислительная сложность имеет свой
аналог при создании мыслительных объектов, и он, как и вычислительная сложность, понят-
но, ставит свой реальный предел при построении мыслительных объект ов, однако мыслью мы
понимаем, что упомянутое усложнение продолжается неограниченно. Но всё начинается с
количественной идеи - первичного понятия, содержащегося в понятии числа.
Сказанное близко к тому, чему нас обучали в школе. Нам, например, говорили, что за-
пись 58 представляет число, у которого восьмёрка стоит на месте, которое называется
разрядом единиц, и она указывает на то количество единиц, которое содержится в данном
числе, - на 8, а пятёрка стоит на месте, которое называется разрядом десятков, и она
указывает на количество десятков, содержащихся в данном числе, - на 5. Здесь даётся
описание разрядной сетки, точнее, её начала и намёк на то, что она может продолжаться
неограниченно. Кроме того, поясняется, что число, скрывающееся за записью 58, подсчи-
тывается по правилу 5 10 + 8 Это и есть то количество, которому равно это число.
Что мы имеем в этом примере? Прежде всего, разрядную сетку, на места которой ста-
вятся цифры системы счисления. Объект, получающийся в результате выполнения этой
процедуры, мы называем числоидом. Таким образом, запись 58 - это числоид. А число, т.е.
количественная идея с ним связанная, вычисляется по правилу: 5 10 + 8 В результате по-
лучается, что числоид 58 представляет число 5-10 + 8. Поэтому мы пишем равенство:
58 = 5- 10 + 8. Но мы, конечно, замечаем, что это равенство неправильное, потому что слева
и справа стоят объекты разной природы: слева стоит обозначение, а справа - количествен-
ная идея или просто количество. Главное, одпако, в том, что мы знаем, как правильно по-
нимать эту запись - как однозначное соответствие между правой и левой частью.
Рассмотрим тему «Числоиды и числа» подробнее.
2. Обобщённая разрядная сетка. Приведём табличное задание автомата сдвига.
Таблица 10.1
Автомат сдвига S
X б 61
б б,б 6,1
1 6,1 6,2
2 6,2 б,з
3 6,3 61,б
395
Рассмотрим пример вычисления, выполняемого этим автоматом. Мы начнём рассмот-
рение числоидов, заданных на разрядной сетке Gra, модель которой такова:
Gr°: • Эта сетка является первичной сеткой, с которой начинается рассмотрение
числоидов. В дальнейшем сетки будут эволюционировать, и это всегда будет отмечено.
Все числа, с которыми мы ведём вычисления, имеют одинаковую разрядность: все они
бесконечно разрядны, ибо сетка Gr° является бесконечно разрядной. Места (разряды)
сетки изображаются черточками и занумерованы натуральными числами. На все места
ставятся цифры х той системы счисления, в которой ведутся вычисления. Объект, полу-
чающийся в результате такой простановки, называется числоидом. Обычно номера мест в
числоидах пишутся в виде индексов при х: х = ...х,...лцх0; числоид всегда изображается в
виде буквы с чёрточкой наверху. Числоид имеет количественное истолкование, извлекае-
мое из равенства: х = х0 10° + л'х 101 + ... + хг 10' +.... Именно это количество, связанное с
числоидом, мы называем числом. И для числоида как объекта изучения, и для количест-
венного истолкования числоида (числа) используется один и тот же символ х . Так дела-
ется в математике всегда, правда, без использования термина «числоид». Из текста не
всегда ясно о чём идёт речь: то ли о числоиде, как об изобразительном объекте, то ли о
его количественном истолковании. Мы говорим «число 58», имея в виду прежде всего
именно число, связанное с этим обозначением, но одновременно мы имеем в виду число-
ид, когда хотим обратить внимание на 58 как на обозначение. Вообще говоря, иногда нам
количественное истолкование числоида понятно, а иногда требуется дополнительное
исследование и разъяснение.
Мы ведём изложение, не ограничивая общности, в четверичной системе счисления. На
различных местах могут стоять различные цифры. Числоиды, представляющие натураль-
ные числа, фактически, разумеется, разрядны, т.к. бесконечное число нулей в старших
разрядах сетки представляется символом 0. Существенная роль символа 0 в том, что
числоид, его содержащий, всегда представляет натуральное число:
всякое натуральное число представляется числоидом вида х = Ох,....х(хо.
Если числоид вместо 0 содержит иной набор знаков, то он не представляет натураль-
ного числа. В таком случае будем говорить, что он является ненатуральным числоидом.
Примерами ненатуральных числоидов являются:
х = Iх.,...Т|Т0 = ...11 lxr...XjX0, х = 2х,...Х|Х0 = ...222хг...х1х((,
х = Зх,....х!хв = ...333хг...х1хо, х = 203х,...х]х(| = ...203203203.x,....х^Хо,
х = ...х,.+2х,+1х,....х1х(|,...,
причём в последнем числоиде никогда не встречаются массивы со стрелками типа
б, 1,2,3,203...
Надо отметить, что вычислительные устройства напрямую ведут вычисления с чис-
лоидами, а не с числами, с которыми они ведут вычисления косвенно, через посредство
числоидов. Числовая интерпретация результатов вычислений происходит на завершаю-
щем этапе.
Приведём примеры вычислений с числоидами, в которых обнаружатся как особенно-
сти числоидов, так и самих вычислительных процедур.
Пример 1. Пусть х = 01233 , q = 61. Приведём развёртку, протоколирующую процесс
вычисления автоматом сдвига 5.
396
°° > 1 > 4 3 2 1 9 t
б 1 2 3 3 *
О б 61 61 01 q
б 1 3 0 0 4’
В вычислении приведённого примера обращаем внимание на вычислительную роль
состояния, в которое переходит автомат в каждый момент времени. Из развёртки видно,
что состояние, которое формируется в каждый) момент времени, определяет тот или
иной вариант вычисления, который осуществится в этот момент времени согласно
алгоритму, задаваемому таблицей автомата, а также величину переноса в следующий
разряд.
Именно таков вычислительный смысл состояний.
Столбец, отмеченный записью > t > 4, понимается так: если раскрыть содержатель-
ный смысл знака 0 = ...ООО, то во все моменты времени, начиная с момента t = 4, на выхо-
де автомата формируется сигнал 0 (строка у), в результате чего разрядная сетка для всех
t > 4 заполняется нулями. Это заполнение будет происходить во все моменты времени,
меньшие бесконечности. Актуализируя этот процесс, получаем, что при t > 4 вся разряд-
ная сетка выхода будет заполнена нулями, причём каждый ноль будет соответствовать
моменту времени t<°°. Тогда сигналу переноса, записанному в развёртке в столбце при
t = «>, на сетке Gr° места не найдётся, он будет выведен за пределы сетки Gr', что изобра-
жается разрывом развёртки. Мы, однако, не будем считать его потерянным. Судя по раз-
вёртке, промежуток времени от t = 4 до t = оо воспринимается автоматом сдвига как одно
мгновение (ибо всю работу автомата за этот промежуток времени можно изобразить в
развёртке в виде одного столбца, т.е. так же, как изображается работа автомата для всех
других отдельных моментов времени). Это есть не что иное, как материализация мен-
тального процесса актуализации. Актуализация материально осуществима. Это означает,
что существуют материальные устройства, фиксирующие акт и результат актуализации.
Ими являются автоматы, работающие с символами наподобие 0 , причём эти символы
сами по себе также фиксируют процесс актуализации
Аналогично обстоит дело в следующем примере.
Пример 2. Пусть х = 3 , q = 01. За вычислением следим с помощью развёртки:
0
61
Промежуток времени > t > 0 воспринимается автоматом как одно мгновение в это
«бесконечное мгновение» на выходе формируется сигнал со стрелкой 0, и в этот же мо-
мент заканчивается вычисление. Из развёртки видно, что вся разрядная сетка Gr° запол-
нена нулями, и, следовательно, сигналу переноса 61 в момент t = о» на сетке Gr° нет мес-
та, он переходит в другую сетку, вычисления в которой начинаются с момента 1 = 0
Развёртка примера 2 хорошо иллюстрирует практическую пользу от введения сигна-
лов со стрелками. Действительно, если бы не было сигналов со стрелками, мы были бы
вынуждены вести вычисление до тех пор, пока не прошли бы поразрядно весь регистр,
потратив, понятно, на это уйму времени. Вместо этого при наличии сигналов со стрелка-
ми мы проводим вычисление за одно мгновение, за один такт, причём, как видно из раз-
вёртки, независимо от размеров реального регистра. Таким образом, практическим след-
397
ствием введения сигналов со стрелками является ускорение процесса вычислений. Нужно
также отметить, что в В-технологии сигналы со стрелками физически реализуемы.
Чтобы разобраться в сути дела, в том, что произошло в примерах 1 и 2, обратимся к
представлению числа на разрядной сетке Gr°:
х = ..,х,...х2хл, (10.23)
где t - номер разряда, в котором находится цифра х,; одновременно t является моментом
времени в развёртках.
Количественный смысл цифры х, в записи (10.23) таков: ею представляется число
х, 10 . Весовой коэффициент места t разрядной сетки Gr' равен 10'. Увеличивая t до
бесконечности и выполнив актуализацию этого процесса, находим, что растущие при t,
стремящемся к бесконечности, весовые коэффициенты разрядной сетки G,~ стремятся к
величине, которую, следуя Валлису, естественно обозначить 10”. Поскольку на сетке Gr°
нет ни одного места с весом 10”, получившийся весовой коэффициент естественно счи-
тать находящимся за пределами разрядной сетки Gr'. Его можно считать весом начально-
го (нулевого) места другой разрядной сетки, на которой размещаются числа, выходящие
за пределы разрядной сетки Gr°.
В связи с этим индуцируется представление о следующем обобщении разрядной сет-
ки. Первоначально появившаяся разрядная сетка Gr° является лишь «затравочной» частью
более общей сетки, имеющей такой модельный вид:
О2(1«2") G/(l О1") О/(!0°)
Рис. 10.1. Модель полной разрядной сетки
В выражениях Gr'(10'") в скобках стоят величины 10'"°, которые истолковываются
как веса соответствующих сеток в целом. Итоговые веса мест сетки Gr' (10‘ “) вычисля-
ются по правилу: вес места с номером t на сетке с весом 10 " равняется 10' ” . При [ = 0
получается вес места с номером t на исходной разрядной сетке Gr° (считаем, что
0 «о = 0). Полную разрядную сетку (гиперсетку) будем обозначать символом Gr .
В примере 2, например, происходит перенос величины 01 из разрядной сетки Gr° в
разрядную сетку Gr1, на которой 01 расписывается так:
01&.1=.. + 010“”...+ 010“*2+010“+1+1 10"*-
= (... +0 10'... +0 101 +110°)101- = 01G,.e 101"
причём и перенос в следующую разрядную сетку, и заполнение бесконечного числа мест
следующей разрядной сетки происходят мгновенно.
Из сказанного следует, что задание автомата таблицей 10.1 недостаточно для вычис-
лений на полной разрядной сетке Оно должно быть приспособлено для работы на полной
разрядной сетке с учётом возможных переходов на ней из одной разрядной сетки в сетку
с другим весом. Это делается следующим образом (см. табл. 10.2). В таблице 10.2 преду-
смотрена возможность появления сигналов 1 и 2, представляющих собой актуализацию,
аналогичную актуализации для 0: 1 = ...111, 2 = ...222 , в которых единица и. соответст-
венно, двойка заполняют всю разрядную сетку. Два вертикальных отрезка, || , символизи-
руют границу раздела двух соседних разрядных сеток.
398
Таблица 10.2
Автомат сдвига .S'. заданный на сетке Gr
q X б 61
б б||б 6,1
т б||1 0,2
2 б||2 6,3
3 ор 51цо
Например, если автомат находился в состоянии q = 0 и на вход его поступил сигнал
л'- I , то по таблице 10 2 находим, что выход текущей разрядной сетки мгновенно за-
полняется единицами, т.к. выходной сигнал равен 1 , а в следующую соседнюю разряд-
ную сетку, у которой больший весовой коэффициент, происходит мгновенный переход
автомата 5 в состояние q = 0. Если же на вход поступает не х = 1 , а просто сигнал
х - 1, то в следующий (обыкновенный) момент времени автомат переходит в состояние
q = 0 и вырабатывает сигнал у == 1, но на текущей сетке. Никакого переноса в следую-
щую разрядную сетку в этом случае не происходит. Таким образом, переносы в сле-
дующую разрядную сетку могут возникнуть только при поступлении на вход устройст-
ва сигналов со стрелками. Автомат, заданный таблицей 10.2, ведёт вычисления на всей
сетке Gr.
Вследствие сказанного результаты примеров 1 и 2 могут быть записаны так.
В примере 1:5 01233 101 = б || 01300 , что означает, что при подаче на вход автомата
сдвига S, поставленного в начальное состояние q = 01, числа х = 01233 получается число
у = 01300 и происходит переход в состояние q = 0, в котором оказывается автомат для
вычислений на следующей разрядной сетке Gi .
В примере 2: 5 3|б1 = 01||б, что означает, что при подаче на вход автомата сдвига .S’,
поставленного в начальное состояние </=01, числоида х = 3 на выходе получается чис-
лоид у = 0 и происходит переход в состояние q = 01, в котором оказывается автомат для
вычислений на следующей разрядной сетке Gr1.
3. Вычисления с гиперчислоидалш. Объект, получающийся в результате заполнения
всех мест обобщённой разрядной сетки Gr цифрами системы счисления, называется ги-
перчислоидо.м. (Замечание: термины «полная разрядная сетка», «обобщённая разрядная
сетка», «гиперсетка» будем считать взаимозаменяемыми.) Поскольку все гиперчислоиды
получаются последовательным применением автомата сдвига, т.е. они упорядочиваются,
то, чтобы подчеркнуть эту упорядоченность, будем в некоторых местах текста использо-
вать для них термин «ординалы».
Опишем действие произвольного автомата А на гиперчислоид.
Пусть х =... || хг ||... || х2 || х1 || х° || - гиперчислоид, где х° - числоид, записанный на
сетке Gr°, х1 - числоид, записанный на сетке Gr, х2 - числоид, записанный на сетке Gr2,
х1' - числоид, записанный на сетке Gr, и т.д.
399
Тогда действие автомата на гиперчислоид задаётся равенством
Ах I = А(... II ||... || х1 || х° ||) | q„ =
= - II Ax' | qr || Ax'-1 | q, t ||... || Ах1 | q, || Ах° | q0 ||,
где Ах' | q. - результат действия автомата, поставленного в состояние qr как начальное,
на числоид х', расположенный на сетке Gf, причём состояние ср является результатом
переноса из предыдущей разрядной сетки.
Пример 3. Автомат А является автоматом сдвига, А = S. Гиперчислоид
х =... || 0 ||... || 01| 01| 3 ||. Начальное состояние ср = 01. Тогда, по правилу (10.25),
Sx | 61 = S(... || б ||... || б || б || 3 ||) | 51 = (1о25)
=... || S01 б ||... || S51 51| S01 511| S3 | 511| =... || б ||... || б || 011| б ||.
Здесь S3 | 01 = 011| 0 - результат действия автомата сдвига, поставленного в состояние
q0 = 61 как начальное, на числоид 3 на сетке G/'". Из него видно, что для вычислений в
следующей разрядной сетке Gr' автомат переходит в состояние = 61 как начальное, что
и отмечено в предыдущем равенстве. Из этого начального состояния на сетке Gr' проис-
ходит вычисление s6|61 = 5||51, вследствие чего на сетке Gr1 записывается результат
01 и происходит переход в новое начальное состояние q- = 0 для вычислений на сетке
Gr2 и т,:1. Таково прочтение результата (10.25).
4. Числовая гиперось. До сих пор мы рассматривали гиперчислоиды на обобщённой
разрядной сетке. Теперь рассмотрим вопрос об их геометрической интерпретации, об их
представлении на числовой оси. Этот вопрос аналогичен представлению чисел на число-
вой оси. Как известно, первоначально мы знакомимся с числами, записанными на разряд-
ной сетке. При этом роль разрядной сетки на начальном этапе обучения разъясняется, но
в дальнейшем не подчёркивается, её наличие считается само собой разумеющимся, вслед-
ствие чего она уходит на вюрой план. Затем мы изобретаем числовую ось и даём геомет-
рическую интерпретацию числам. Между числами и точками числовой оси устанавлива-
ется взаимно однозначное соответствие. Вследствие взаимно однозначного соответствия,
понимая суть дела, можно в рабочем порядке точки числовой оси называть числами и
приписывать им количественную идею, которую несут в себе числа, и говорить, что точ-
ки — это числа (конечно, точки — это не числа, поскольку точки являются геометрически-
ми объектами; тем не менее будем точки по указанной выше причине называть числами).
Со времён школы мы подразделяем натуральные числа на порядковые и количественные.
Так, число 5 мы называем порядковым, если хотим отметить тот факт, что оно следует за
числом 4, и мы называем его количественным, если хотим отметить, что в некоторой группе 5
предметов. Таким образом, и ординал 5 (порядковое число), и кардинал 5 (количественное
число) обозначены одинаково. Благодаря автомату сдвига, числоиды упорядочиваются и,
будучи вследствие этого ординалами, получают цифровое представление. Представлением
числа на числовой оси является точка, а для представления числоида требуется аналог число-
вой оси, являющийся её обобщением наподобие того, как обобщённая разрядная сетка являет-
ся обобщением первоначальной разрядной сетки Gr°. При этом числоид представляет соот-
ветствующий ему многоточечный объект. Здесь есть аналогия с представлением, например,
порядкового числа 5 соответствующей точкой 5 на числовой оси. Однако для изображения
числоида одной точки не достаточно. Для изображения числоидов точечными объектами
требуется более сложное геометрическое образование. Числоиды могут быть изображены на
неархимедовой прямой, называемой числовой гиперосью, модель которой такова.
400
-2 -1 0 12 -2 -1 0 12 -2-1 0 1 2
A::_i(10'lao) Ах0(Ю°) Ах^Ю1”)
Рис. 10.2. Модель числовой гипероси
На рисунке 10.2 символом Лхо(1О°) отмечена наша привычная числовая ось, на кото-
рой мы точками изображаем числа. Числа этой оси идут с весовым коэффициентом 10°.
Справа стоит ось Лхдю'”) бесконечно больших величин, геометрически подобная пре-
дыдущей оси /1.Г(/10°), однако числа на ней идут с весовым коэффициентом 10 . Ещё
правее находится ось Лх, (102*) бесконечно больших величин с весовым коэффициентом
10*” (не изображена) и т.д. Слева от оси /l.r/IO0) располагаются оси бесконечно малых
величин, геометрически подобные предыдущим осям, но с весовыми коэффициентами
10’ ",(/- 1,2,...).
Рассмотрим числоид а = ...||0||...||0||0||3||и изобразим на гипероси тот точечный
объект, который соответствует числоиду а. Этот точечный объект будем называть гипер-
числом а или, поскольку этот термин громоздкий, просто числом а. Рассуждаем так. Чис-
лоид а есть порядковый объект, полученный в результате систематического применения
автомата сдвига. Надо перейти от порядковой трактовки а к количественной. Для этого
используем количественную трактовку каждого разряда в записи а. Имеем количествен-
ную трактовку числоида а на разрядной сетке Gr°:
а= 3 =...333 = 3 10°+3101 + 3 102 +... = 3 (1 + 10 + 102 +...) = 3 10° ~1 = 110"+(-1) 10°.
о 10-1
Таким образом, количественная трактовка ординала а может быть прочитана на гипе-
роси в виде набора точек: точки (-1) на оси Лх0(10°), точки 1 на оси Их (1о'“), точки 0 на
оси Ах^ (10*”) и т.д.:
I ♦ I I I > ---------1 * I-----, ------1 * ----,--г
-2-10 12 -2-10 12 -2-1 0 1 2
Ахо(10°) Ax,(10le°) Ax2(102°°)
Рис. 10.3. Представление гиперчисла а на гипероси
Этот набор точек и есть гиперчисло а (число а).
Число а может быть записано как набор точек на гипероси (угловая скобка ) в записи
набора указывает на направление роста весов; нолик под (-1) означает, что точка (-1)
проставлена на оси /1л'о(10°)):
а =)...,0,0,-1.1,0,0...) (10.26)
В примере 3 с помощью автомата сдвига мы нашли (см. (10.25)), что непосредственно
следующим за а является ординал S(... || 01|... || 01| б || 3 |) | 01 =... || 01|... || 01| 011| 01|. Запи-
401
шем представляемое им на гипероси гиперчисло, используя тот факт, что однократное
применение операции сдвига интерпретируется как сложение с единицей:
а + 1—0 10°+1 10” + 0 • 10* " + ... Изобразим это представление на гипероси:
------ » --------, ----------- » -----—--------- » -----_
-2 -1 0 12 -2-1 0 1 2 -2-1 С 1 2
Ахо(10°) Ах1(10,°°) Ах2(10г°°)
Рис. 10.4. Представление гиперчисла а + 1 на гипероси
Из сравнения рисунков 10.3 и 10 4 видно, что переход от числа а к числу а + 1 сводит-
ся к сдвигу на т4.Го(1О°) от точки (-1) к точке 0, как и должно быть. Переход к непосредст-
венно следующему чисду происходит за счёт перемещения точки на одну единицу вправо
на оси /1х()( 10°).
Становится понятным, что представление чисел а + 2, а. + 3 и т.д. на гипероси сведёт-
ся к последовательным переходам на оси Лл'оП 0°) к точкам 1, 2 и т.д., пока не будет прой-
дена вся ось Лх0(10°) и не произойдёт переход к ординалу
2а+1 = ... || 01|... || б || 611| 3 ||,
представляющему на гипероси число:
2а + 1=110“(на оси Axj) + (-1)10°(на оси Лх0) + 110"(на оси Лх,) + 0102“(на оси Ах2) +...=
= ... + 0 102" + 2 10" + (-1)- 10°,
что на рисунке изобразится следующим образом:
• * I--1--------г —-------- * > I I » I------------г
-21012 -2-10 12 -2 -1 С 1 2
Ахо(10°) Axt(10lo°) Ax2(102°°)
Рис. 10.5 Представление числа 2а + 1 на гипероси
Видно, что переход к числу 2а + 1. представленному ординалом 2а + 1, свёлся з итоге
к возврату в точку (-1) на оси Лхо(1О°), к перемещению на оси Axi(\О1 “) точки 1 в точ-
ку 2.
Гиперчисло 2а + 1 может быть записано как набор точек на гипероси
2а+1= [-1,2,0,0,...). (10.27)
Закономерность в образовании представлений для ординалов на гипероси, т.е. гипер-
чисел, достаточно понятна. Она напоминает закономерность в записывании чисел (на-
пример) в десятичной системе счисления, причём в роли девятки (9) выступает числоид
а =... || 01|... || 01| 01| 91| (бесконечная девятка), а в поли бесконечной десятки выступает
числоид ... || 01|... || 01| и11| 01|, внешне напоминающий обычную десятку. Наличие таких
ясных аналогий подтверждает правильность подхода.
5. Другие вычисления с гиперчислами.
Пример 4. Ради интереса с помощью умножителя на три найдём 3 а. Для этого при-
ведём табличное задание умножителя на три, ведущего вычисления на обобщённой раз-
рядной сетке.
402
Таблица 10.3
Умножитель 03 • х | q , заданный на сетке Gr
<7 х б
б б||б
1 бцз
2 51,2
3 02,1
51 02
0,1 0,2
61II б 61,1
61II 3 02 || б
02,2 02 || 3
Развёртка, позволяющая следить за вычислениями умножителя при прохождении через
него ординала а, имеет вид:
со > t > 1 0 t
3 3 X
02 б ч
3 1 У
Gr°
б б
б 02
б 2
Gr'
Развертка разделена на части, каждая из которых представляет собой описание вычисле-
ний на разрядных сетках с различными весами. Самая правая сетка - это наша сетка Gr°,
на которой мы записываем числоиды с весовым коэффициентом 10°; на сетке Gr1 идёт
вычисление числоидов с весом 10* ” ; на сетке Gr2 - с весом 1Э “ 102 ”, и т.д.
В строке у читаем результат:
3-а = бЗ-а|0 = бЗ-(...||0||...||0||б||3||)|б = ...||0||02||31||.
Прогоняя этот результат дважды через автомат сдвига (табл. 10.2), получим:
S'SalOl = За +1 =... || б || 02 || 321|,
5(3а + 1)|б1 = За +2 =... || б || 021| 3 ||.
Это укладывается в рамки сформировавшейся закономерности:
а + 1 =... || б || 611| б ||, 2а + 2 = ...|| б || 02|| 0||, За + З =... || б || 03 || б ||,...
(Приведём десятичные аналоги этих равенств: 9+1 = 10, 2-9 + 2 = 20, 3 9 + 3 = 30.
Ясно видно, что а - это бесконечная девятка, как и было сказано чуть ранее.)
Приведённые рассмотрения показывают, что вычислительные устройства могут вести
вычисления на множестве ординалов, записанных на обобщённой разрядной сетке, при-
чём при переходе к гипсроси можно давать количественное истолкование результатам,
вполне аналогичное истолкованию на привычной нам числовой оси Лхо(1О°). Отвечая на
вопрос, почему возможны такие вычисления, можно сказать: вычисления возможны по
причине наличия порядка, порождаемого автоматом сдвига. Порядок позволяет вычис-
лять. Он позволяет вычислять в малом, т.е. на оси 3x0(10°), и в большом, т.е. на обобщён-
ной разрядной сетке, представляя результаты в цифровом виде, и, что особенно ценно,
давать количественное истолкование результатам на гипероси в числовых терминах, в
терминах величин сколь угодно большого порядка.
6. Перевод гиперчислоидов в гиперчисла. Напомним, что гиперчислоиды располагают-
ся на обобщённой разрядной сетке (рис. 10.1), а соответствующие им гиперчисла распо-
лагаются на числовой неархимедовой гипероси (рис. 10.2). Ранее мы решали задачу о
нахождении на гипероси точечного объекта, соответствующего гиперчислоиду (речь шла
403
об ординале а = 3). Числовое содержание а мы находили, сводя этот вопрос к числово-
му содержанию каждого разряда ординала а = 3 , записанного на сетке Gr°. При поиске
дело свелось к нахождению суммы 1 + 10+10"+... . Эта сумма встречается часто при
решении других подобных задач. Нет необходимости вычислять её в каждом отдельном
случае, поэтому имеет смысл привести результат её вычисления, канонизировать и ис-
пользовать его в других случаях. Результат таков
l + ie + 102+... = pJ-[10-+(-y^-j-jlO£l. (10.28)
Он справедлив в любой показательной системе счисления. Второе слагаемое в (10.28)
располагается на оси Ах (1О'“) а первое - на оси Ах (10(,+1>"), (/ = ..., - 1, 0, 1, ...). Пер-
вое слагаемое фиксирует переход в бесконечность относительно оси Ах (10‘“).
Пример 5. Найти представление на гипероси для гиперчислоида
х= ... || 01|... || 03 || 211| 312 || .
Решение. Числоид 312 располагается на сетке Gr° (изобразим это записью 312е Gra).
Аналогично 21 е Gr', 03 е Gr2, на остальных сетках - нули. Находим их числовые пред-
ставления по отдельности.
312 = 2 + 110 + 3 102 (1 + 10 +102+...) = 2 +1 10+ 3 102 i’ °’4 Ь1011) 10<1) =
"FT
gAxq
Аналогично находим
21 = у^т-Ю” + (-^|., 03 = 3 10”.
'--v----> ч , 6 Ах2
Складывая по числовым осям соответствующих весов (аналог поразрядного сложения),
получаем:
X = 1^1 102" + . 10" + V10°.
j, з I з )
еЛхг еАх\ eAxq
На всех остальных осях Ах„ (/ = 3,4,...) стоят нули, 0 .
Таким образом, представление ординала х на числовой гипероси может быть записа-
но в виде гиперчисла:
- г/ 2332) 103 101 „ х
L\ 3 Г 3 3 * 7
ч у , »—V—< '—V—‘ eAxj
или, что всё равно, набора точек на соответствующих числовых осях.
Резюме:
1. Числоиды являются объектами, с которыми оперируют (ведут вычисления) вычисли-
тельные устройства.
2. Числоиды представляются с помощью цифр на обобщённой разрядной сетке.
3. Числоиды не тождественны числам, они их представляют.
404
4. По числоиду всегда можно найти число, которое представляется этим числоидом. Су-
ществует процедура, позволяющая однозначно перейти от числоида к представляемому
им числу. Это число располагается на гипероси.
5. Вычислительные устройства ведут вычисления над числоидами без каких-либо ограни-
чений на обобщённой разрядной сетке.
§ 3. Эйлеровы бесконечно малые и бесконечно большие
Наименование бесконечно малых и бесконечно больших «Эйлеровыми» является, по-
нятно, условным, поскольку сходной точки зрения на бесконечно малые и бесконечно
большие придерживались и другие математики той эпохи, прежде всего, один из создате-
лей дифференциального и интегрального исчисления Лейбниц. Точка зрения Эйлера на
бесконечно малые и бесконечно большие изложена в его учебниках, в частности, в [18].
Процитируем Эйлера [18]:
«...бесконечно малые, которые рассматриваются в дифференциальном исчислении, не
отличаются от абсолютного нуля» (с. 41);
«...(дифференциалы) всегда нужно считать равными нулю; таким должно быть истинное
понятие о бесконечно малом» (с. 42);
«...количество бесконечно малое есть не что иное как количество исчезающее, и потому
оно точно равно нулю» (с. 91);
«...если кто спросит, что такое бесконечно малое количество, то мы ответим, что оно точ-
но равно нулю» (с. 91).
Но бесконечно малые, по Эйлеру, несмотря на то, что они «точно равны нулю», -
это различные числовые индивидуальности. Они могут быть сравниваемы друг с дру-
гом. Сравнение происходит по двум признакам: арифметического отношения и геомет-
рического отношения. Пусть а и 0 - две бесконечно малые величины.
Арифметическим отношением называется разность А = а - 0.
Геометрическим отношением называется частное 5 = а : 0.
Поскольку все бесконечно малые «точно равны нулю», то арифметическое отношение
А = 0. Однако «...два нуля (т.е. две бесконечно малые величины) могут иметь друг к другу
любое геометрическое отношение...» [18, с. 91], т.е. геометрическое отношение 3 может
быть любым. Или: «...если мы имеем различные бесконечно малые dx и dy, то, хотя каж-
дое из них и равно нулю, однако их отношение нулю не равно» [18, с. 92].
Заметим, что Эйлер в тексте книги подразумевал неотрицательные бесконечно малые
величины, т.е. величины, получающиеся из положительных приращений. Если же нужно
было написать неположительную бесконечно малую величину, то он писал: - а.
Сформулируем свойства бесконечно малых величин по Эйлеру в современных обо-
значениях.
Введём обозначения:
об
ш = { а | а - бесконечно малая величина},
об
О. = { а | а - бесконечно большая величина},
об
где значок “ читается: «равно по обозначению», или просто «обозначает».
Таким образом, к> (Я) - это множество бесконечно малых (больших) величин.
Тогда свойства бесконечно малых величин по Эйлеру оформляются следующим обра-
зом:
1. Vaio. > О' (любая бесконечно малая величина неотрицательна).
as to
405
2. Va[a = 0] (любая бесконечно малая величина «точно равна нулю»),
аесо
3. VaVp[a.0e R+ U со U £2j (геометрическое отношение бесконечно малых может
быть или любым неотрицательным действительным числом, или бесконечно малой вели-
чиной, или бесконечно большой величиной), где R - множество неотрицательных дейст-
вительных чисел.
Но Эйлер отмечает существование и других толкований бесконечно малых величин.
Он пишет: «... некоторые авторы ... сочли необходимым установить особую категорию
бесконечно малых величин, которые якобы не полностью исчезают, но сохраняют неко-
торое количество, которое, однако, меньше, чем всякое могущее быть заданным» [18,
с. 40].
В наших обозначениях:
1*. Va[a > 0] (любая бесконечно малая величина неотрицательна).
aea>
2*. Эа[а Ф 0] (существует бесконечно малая величина, отличная от нуля).
ае<»
3*. [aero] —> Va [a < а] (если a - бесконечно малая, то она меньше любого положитель-
а>0, а^О
него числа).
Оказывается, совместить высказанные характеристики бесконечно малых можно, об-
ратившись к понятию гиперчисла.
Запишем бесконечно малую величину в терминах гиперчисел. Имеем: если а - беско-
нечно малая величина, то она представляется в виде следующего гиперчисла (первона-
чальная версия; далее приводится уточнение):
a = ... + a~2 10~2" + a'IO" + 0°10°+ б1 10'"+б2 102 "+..., 00-29)
где а' - неотрицательное число на числовой оси Ах, (10'“), (/ = ...-1, 0, 1, ...).
Поскольку мы договорились опускать слагаемые с нулями во всех осях Ах, (10' ”),
кроме основной оси Лл0(10°), то представление (10 29) для бесконечно малой величины
можно переписать:
a = ... +сг2-10~2" + от1-IO4" + 0°-10°. (10.30)
Какие свойства бесконечно малой вытекают из (10.30)?
1. Величину а естественно считать неотрицательной, т.к. все числа а' (/ = ...-1,-2, ...)
предполагаются неотрицательными на соответствующих числовых осях Ах, (1 О' ”) (Эйлер за
основу брал неотрицательные бесконечно малые).
2. Чему равна величина а, если рассматривать её на числовой оси Av0(100), т.е. там,
где находятся реально доступные нам числа? Естественно, нулю, поскольку на ней запи-
сано число 0. Таким образом, мы воспринимаем величину а как нуль, что соответствует
утверждению Эйлера: «...если кто спросит, что такое бесконечно малое количество, то мы
ответим, что оно точно равно нулю» [18, с. 91]. Напоминаем, что мы реально восприни-
маем в нашей практической деятельности только то, что записано на оси /1л'о(Ю“), Всё
происходящее на других числовых осях - это чужой мир, нам недоступный, хотя, воз-
можно, и влияющий на нас, как и мы на него. Но до него не добраться никаким способом.
И это несмотря на то, что мыслью мы можем кое-что понимать об этих мирах, например,
что на оси Ах, находится число а1.
3. Вместе с тем в произвольности чисел а' проявляется множественность нулей и их
различная числовая индивидуальность. Действительно, если написать другую бесконечно
малую величину:
406
р = 0° Ю° + р-' Ю-’-ч- р~2 (10.31)
то из дроби
р бо-Юо-Ч р-'10-’-+ р-2-10-2-...
усматривается справедливость свойства 3 Эйлеровых бесконечно малых величин. При
этом, правила оперирования с таким дробями описаны у Эйлера; нужно также помнить,
что после выполнения деления в правой части результат должен прочитываться на гипе-
роси Ах = U Ах, (10'").
Итак, величина а (10.30) обладает всеми свойствами бесконечно малой величины в
понимании Эйлера. Величина а (10.30) является моделью бесконечно малой Эйлера. Эй-
леровы бесконечно малые реализуются на гипероси Ах.
Что же касается свойств 1*-3*, которыми наделяли бесконечно малые величины неко-
торые авторы, то величины типа (10.30) на гипсроси также удовлетворяют всем этим
свойствам. Таким образом, оказывается, что между свойствами 1-3 и свойствами 1*-3*
нет противоречия. Поэтому понятно, что они дополняют друг друга. Образно выражаясь,
можно сказать, что Эйлер и его единомышленники держали свой мысленный взор в рай-
оне первого слагаемого в правой части выражения (10.30) (т.е. характеризовали бесконеч-
но малые величины, глядя, прежде всего, на ось Av0(10°); отсюда высказывания типа
«бесконечно малая есть абсолютный ноль»), а другие математики мыслью были значи-
тельно левее (на числовых осяхЛх_((10_1°°), Лх_2(10-3“)..., наличие в которых чисел
позволяет говорить, что существуют бесконечно малые, отличные от нуля). Конечно,
само выражение (10.30) вряд ли они перед собой имели, но их интуиция, похоже, работа-
ла в духе этого выражения.
Как бы там ни было, выражение (10.30) является моделью бесконечно малой величи-
ны, обладающей свойствами, приписываемыми ей Эйлером.
Аналогичный экскурс можно было бы совершить вместе с Эйлером [18] в область
бесконечно больших величин. Но мы такого делать не будем, а вместо этого приведём
определение бесконечно малых и бесконечно больших величин на языке гиперчисел,
которое потребует от нас просто описания конструкции этих величин на гипероси, из
которой вытекают их свойства.
Определение (бесконечно малой величины). Бесконечно малой величиной называется
гипсрчисло вида (10.30):
а = ... +й-2-10-1“+ а1 10-'”+ 0° 10°,
где а' - произвольное число на оси Ах, (10' ”), (/ = ...-1. -2, -3,...).
Из (10.30) вытекают, как уже отмечалось, все свойства Эйлеровых бесконечно малых
величин и, прежде всего, столь странно звучащее свойство, которое утверждает, что лю-
бая бесконечно малая величина есть «точно нуль». Ньютон, в отличие от Эйлера, придер-
живался динамической точки зрения на бесконечно малую величину как на «бесконечно
умаляющуюся» - подход, казавшийся более понятным и более подходящим для обосно-
вания анализа многим последующим математикам. Ньютон сомневался, можно ли счи-
тать бесконечно малую «точным нулём». Разумеется, понятие бесконечно умаляющейся
Эйлеру было знакомо. Он не только употреблял этот термин, но и обсуждал его. Однако
он твёрдо придерживался точки зрения, что бесконечно малая есть «точно нуль». Его
точка зрения находится в согласии с теорией гиперчисел, где это оформляется достаточно
определённо. Оформляется это так: «значение любой бесконечно малой на основной чи-
словой оси ,4л'(,(10°) есть нуль»'.
407
“U =(6°10° + a-1 10~’“+а~2 10~2-+...) Ia^O0 =о, (10.32)
где символом 0“ обозначен нуль, изображаемый точкой Она основной оси Ахо( 10°), пред-
ставленный на разрядной сетке Gr° одними нулями, т.е. числоидом 0“ = 0 .
Замечание. Под разрядной сеткой Gr° может иметься в виду как первичный её вариант
Gr° = Grr“ 0] = ...у---, так и все возможные его расширения вплоть до
Gr° =Grl4_Kt = . Это же замечание касается и всех остальных разрядных
сеток с дополнительным требованием, чтобы числоиды, на них записанные, представляли
положительные числа (чтобы не было расхождений е подходом Эйлера, который под
бесконечно малыми имел в виду положительные величины).
Именно в этом смысле нужно понимать утверждение о том, что бесконечно малая
есть «точный нуль». Вообще же бесконечно малая величина, рассматриваемая как
гиперчисло, т.е. на всей гипероси, конечно, не нуль. Этим обусловлена возможность
геометрического сравнения бесконечно малых величин, т.е. нахождения их отноше-
ний.
Определение (бесконечно большой величины). Бесконечно большой величиной назы-
вается гиперчисло вида
а = а° 10° 4 а 101 ” + а2 102 “ +..., (10.33)
где а' - произвольное число на числовой оси Ах, (10' ”), (/ = 1,2,...).
Как видим, по определению (10.33), на числовой оси Э.т/Ю0) может находиться от-
личное от нуля число. Это вполне соответствует представлениям Эйлера о бесконечно
больших величинах. Он пишет: «...если а и b обозначают конечные количества, то беско-
нечные количества -и-+Ь и Я- ...» [17, стр. 96]. Этот фрагмент подтверждает его точку
ах ах
зрения на возможность наличия у бесконечно большой величины конечного слагаемого,
что и зафиксировано в (10.33) наличием а’1 10° .
Приведём ещё пример обоснованности такой точки зрения. Рассмотрим числоид 3 .
Рассматриваемый как гиперчислоид, он нетривиальным образом расписывается только на
разрядной сетке Gr° = Gr(toj - -"“То • Действительно, на гиперсетке Gr имеем:
31^=... II о II 0 |Ц II 3 IUII б ||&_, || б ||Сг_2 .... (10.34)
Этому гиперчислоиду соответствует гиперчисло, расположенное на гипероси Ах:
з |&—* ...0 |лх_2 +0 +(_1) 1л0 +1 Lv, +0|л«г +•• (10.35)
Как видим, гиперчисгю имеет бесконечную составляющую, 1Щ , расположенную на чи-
словой оси Axi, и нормальную составляющую, (-1)1.^ , расположенную на числовой оси
Ах0, информация на которой нам доступна для реального использования. В силу послед-
него обстоятельства, мы говорим, что числоид 3 представляет число (-1), и, более того,
при всех вычислениях на оси Ахо мы можем заменять число (-1) числоидом 3 , не совер-
шая при этом ошибки, вследствие чего мы пишем: 3 = -1. Кроме того, мы уже знаем, что
числоид 3 обладает всеми свойствами числа (-1).
Итак, бесконечно большая величина (10.35) имеет как конечную составляющую, так и
бесконечную. Это оправдывает допущение в определении (10.33) конечной составляющей
а0 10°.
408
На гиперсетке Gr, как и на гипероеи Ах, бесконечно большие величины представляют
собой различные числовые индивидуальности. Поэтому на гиперсетке и на гипероси как
арифметическое отношение, так и геометрическое отношение, вообще говоря, отличны от
нуля.
Дадим ещё определения бесконечных малых и бесконечно больших величин того или
иного порядка.
Определение (бесконечно малой величины порядка к). Бесконечно малой величиной
порядка к называется гиперчисло вида:
а = ... + а_,1+4) + ог‘ 10-‘- + 0° 10° =
(10.36)
= ...+ сг(*+1) |дх_(4+1) + я ‘ + 0° |Лто,
где а' - число на числовой оси Их,(10' “), (г = ... - (к+ 1), -к).
Наличие нуля на основной разрядной сетке Gr°, а также на соответствующей ей ос-
новной числовой оси Дло(1О°) чаще всего будем фиксировать явно.
После введения этого определения бесконечно малую величину можно охарактери-
зовать как гиперчисло, являющееся суммой бесконечно малых величин различных
порядков
Определение (бесконечно большой величины порядка к). Бесконечно большой величи-
ной порядка к называется гиперчисло вида:
а = б° 10° + а*-10*" + а<,+1’-10(,+1> “+...=
(10.37)
= 0° |.(ч +а* |<ч +«(i+1) +...,
где а' - конечное число на числовой оси Ах, (10' °°), (г = к, (к + 1),...), к > 1.
После введения этого определения бесконечно большую величину можно охарактери-
зовать как гиперчисло, являющееся суммой бесконечно больших величин различных
порядков.
Гиперсетку можно охарактеризовать как конструкцию, состоящую из сеток Grk,
(к = ...-2, -1,0, 1, 2,...), на которых располагаются бесконечно малые и бесконечно боль-
шие величины порядка к = ...-2, -1, 0, 1, 2,...; при этом сетка Gr° является сеткой, на ко-
торой записываются величины, не являющиеся ни бесконечно малыми, ни бесконечно
большими, - это наша основная сетка. Гиперчисло является суммой бесконечно малых и
бесконечно больших величин различных порядков, а также конечных величин. Введение
гиперсетки и гиперчисел позволяет градуировать бесконечность и тем самым точно ука-
зывать значение как сходящихся, так и расходящихся рядов и последовательностей. Разу-
меется, градуировка бесконечности гиперсеткой (10.4) не заканчивается. Гиперсетка
(10.4) допускает продолжение в обе стороны за счёт введения разрядных сеток с основ-
ными весами
10“2. иг1. 10< , llK 10~'- 10~Л
и т.д. Здесь наблюдается аналогия с теорией кардинальных чисел [1]. Вместе с тем надо
отметить, что бесконечность - это такая структура, для характеризации которой может
оказаться недостаточной приведённая здесь градуировка с помошью гиперсетки и число-
вой гипероси. Дело в том, что мы разобрали бесконечно малые и бесконечно большие
величины, порядок которых выражается целым числом. Но кроме них бывают бесконечно
малые и бесконечно большие, порядок которых выражается любым действительным чис-
лом. Это подсказывает нам, что нужно иметь гипсрсетки и числовые гипероси более об-
щей структуры. Формально это сделать нетрудно. Достаточно написать:
Grc = U Gr* , (10.38)
*tC
409
Ахс = U Ас(Ю'-)> (10.39)
геС
где С - любое упорядоченное континуальное множество, например, множество действи-
тельных чисел, а также дать названия построенным объектам’ континуальная разрядная
гиперсетка для (10.38) и континуальная числовая гиперось для (10.39).
Прямая (10.39), построенная из числовых осей, будет, конечно, неархимедовой, но не
просто неархимедовой, а континуально неархимедовой. Как эти оси теснятся на этой пря-
мой. трудно поддаётся воображению, но для нас важно, что они упорядочены согласно
упорядочению действительных чисел. Тем самым структура бесконечности продолжает
иметь место, и, что особенно важно, мы можем указать точный адрес любой бесконечно-
сти, т.е. вести вычисления с бесконечностями.
Резюме'.
1. Дано определение бесконечно больших и бесконечно малых величин на гипероси, где
они трактуются как гиперчисла определённой структуры (10.30) и (10.33).
2. Показано, что они обладают всеми свойствами бесконечных величин Эйлера и потому
являются их моделями на гипероси.
§ 4. Эйлеровы вычисления
Эйлер проводил невообразимо много разных вычислений. Поэтому следует уточнить,
что имеется в виду под термином «Эйлеровы вычисления». Под этим имеются в виду два
простых вычисления и их обобщения
Первое вычисление основано на равенстве, имеющем место на числовой гипероси:
...+ lo-+1olM.IJ-T.|o-+(-reLl).(-IJ-Tlle,+raLlU (,«.«>
Ряд слева в (10.40) даёт количественную интерпретацию числоида 1 , записанного на
о
сетке 0] = •••|г4о» а пРавая часть является гиперчислом, собственно количественной
интерпретацией. Суть вычисления состоит в том, что Эйлер в качестве суммы ряда берёт
только одно слагаемое, а именно слагаемое, находящееся на числовой оси Ахо, и пишет
равенство:
...10',+... + 102+101+1 = -у^!-|-, (10.41)
которое многим не нравится. Например, Н.-Х. Абель говорил: «...нет ничего отвратитель-
нее, чем читать такого сорта равенства. Ну разве это не смехотворно?»
Послушаем, что говорил Эйлер: «...в результате нашего вычисления ...сумма ряда ...
оказывается отрицательной, т.е. меньшей нуля, чего понять нельзя». Таким образом,
Эйлер прежде всего констатирует наличие понятийных трудностей. Но он, конечно, по-
нимает суть дела и даёт объяснение причин их появления: «...эти ряды происходят от
непрестанного деления, причём остаток делится всё дальше и дальше, но становится тем
больше, чем дальше мы идём вперёд; мы никогда не можем пренебречь им, и тем более
нельзя отбросить последний остаток, т.е. тот, что остаётся после бесконечного числа
делений, ибо он бесконечно велик. Так как в вышеприведённых рядах мы этого не соблю-
дали (т.е. в действительности отбрасывали остатки. - Авт.), ибо не находили никаких
остатков, то нет ничего удивительного в том, что эти суммирования привели к нелепости.
Этот ответ, так как он основан на рассмотрении самого происхождения рядов, и является
вернейшим и устраняет всякие сомнения».
410
Итак, нелепость результатов суммирования Эйлер совершенно правильно объясняет
отбрасыванием «последних остатков», которые бесконечно велики. В равенстве (10.40)
отбрасываемый «последний остаток» равен 10" . Таким образом, с одной стороны.
отбрасывать бесконечно большой остаток нельзя, ибо получится неправильный результат.
А с другой стороны, неясно что с ним делать, ибо он бесконечно велик. Поскольку беско-
нечно большую величину «некуда поставить», то в этой ситуации Эйлер решает всё же
правильным отбрасывать бесконечно большой остаток. Тем самым, он поступает в духе
гипердействительных чисел. Согласно изложенным в §§2, 3 представлениям о гипердей-
ствительных числах, так называемый «последний остаток» - это объект, расположенный
на числовой оси .T.v, (101””), а объекты на этой оси нами не читаются, другими словами,
отбрасываются; на основной же оси Лх0(10°), с которой нами считывается содержательная
числовая информация, находится число
, 1 \
(-——у) 1 концентрация внимания на котором
(и только на нём) вызывает столько волнений. Таким образом, Эйлер отбрасывает то.
что не считывается, и оставляет то, что считывается
Далее Эйлер высказывает косвенные соображения в обоснование допустимости отбра-
сывания бесконечно большого остатка. Он говорит: «...упомянутые суммы, хотя они ока-
зываются совершенно несогласными с истиной, однако никогда не приводят к ошибкам, и
что напротив, приняв их, мы получаем множество замечательных вещей, которых мы
должны были бы лишиться, если бы пожелали совсем отказаться от этих суммирований».
Получение безошибочных результатов и «замечательных вещей» с использованием
равенств типа (10.41) обусловлено, по-видимому, скрытым учётом в процессе вычислений
отбрасываемых «последних остатков».
На языке гиперчисел равенство (10.40) прочитывается так: числоид 1 , рассматривае-
0
мый на сетке Gr° и представляющий на ней ряд (...10" + ... + 102 +10' +1) |ах0 (заметим, что
числоид принадлежит разрядной сетке, а представляемый им ряд принадлежит числовой
гипероси), равен гиперчислу, представленному на числовой оси ЛхДЮ1”) числом
|(|—J , на числовой оси Лхо(1О°) - числом (-«J—т) . а на всех остальных числовых
Ю - 11ач Л) - 1 и.,,,
осях — нулями.
Равенство (10 41) представительское, т.е. числоид, записанный на разрядной сетке Gr1,
представляет гиперчисло, записанное на гипероси. Имеет место однозначное соответствие
между числоидом и представляемым им гиперчислом.
Следующий вариант записи (10.40) хорошо показывает, что суммы рядов удобно от-
мечать во множестве гипердействительных чисел, на гипероси Ах, т.к. там можно опреде-
лённо указать не только суммы сходящихся рядов, но и суммы расходящихся рядов, на-
подобие ряда
... +10-1 +.. +1 О' +1 = (-уХу) U + yyh- Ц , (10.42)
где справа на малых числовых осях Ах, (10' ”), 0, 1, гипероси Ах стоят нули и, согласно
договорённости, они не пишутся. Справа в (10.42) стоит гиперчисло, положение которого
на гипероси точнее указано, чем указана сумма расходящегося ряда. Прочитываемое нами
на числовой оси Ах(, число (-—т) , конечно, ошибочно бралось в качестве суммы
ряда, но тем не менее нужно отметить, что соответствие между расходящимся рядом
411
(...10” + ... + 102 + 10 + 1)LV и числом (-.. 1 J) однозначное, и потому числоид I,
10 — 1 1л,0 о
содержательно прочитываемый как ряд (...10" + ... + 102 + 101 + l)|^r, может служить пред-
ставлением числа Ь-вжД—г) на числовой оси Лх0, что и делают абстрактные вычисли-
Ю — 1 Iajw
тельные ус тройства в своих вычислениях. При этом, как и указывал Эйлер, ошибок нико-
гда не возникает. Это означает, что АВУ скрытым образом учитывают наличие составных
частей гиперчисла на осях, отличных от оси Ахи. Имея в виду именно представительский
характер связи между числоидом (или, эквивалентно, расходящимся рядом) и числом,
можно писать:
T|a.(, = ... + 10"-1 + ... + 101 +1 = -^!^ (10.44)
и понимать это равенство не иначе как только с точки зрения представительства числои-
дом 1 числа (-jq'ziU
) , а не буквально. Этим, конечно, расширяется смысл знака ра-
венства (=), и, строго говоря, для обозначения соответствия следовало бы использовать
какой-либо другой знак. Тем не менее использование знака равенства дополнительно в
смысле соответствия не слишком обременительно. Аналогичные трактовки можно давать
в иных подобных случаях. Заметим, что число (-^ ) представляется не только
числоидом 1 , но и бесконечным набором других числоидов.
о
Наконец, отметим, что равенство (10 43), справедливое в любой системе счисления,
мы иногда даже понимаем или считаем достаточно убедительной некоторую цепочку
косвенных доводов в пользу этого равенства. Например, будем временно рассматривать
(10.43) в десятичной системе счисления и умножим обе части этого равенства на 9. Полу-
чим:
9 =...999 = -1, (10.44)
о о 10—1
т.е. набор девяток представляет число (-1). И, действительно, набор девяток обладает
свойством числа (-1), что обнаруживается сложением набора с единицей:
...999 + 1 = ...000 = 0. Здесь видно, что, хотя набор девяток лишь представляет число (— 1),
представляет он настолько хорошо, что замена им в вычислениях числа (-1) не приводит
к ошибкам. Более строгий вариант этого рассуждения следует проводить, конечно, на
гиперсетке, где всё становится прозрачным и приобретает точный смысл.
Теперь рассмотрим второе вычисление.
Предварительно отметим содержательный смысл записи :
x„...XjXo = х„ 10" +... + .V] 101 +%о Ю° ,
т.е. запись слева количественно истолковывается как сумма справа. Перенос указанного
смысла на числоиды £2и,..л,^х_1..эг_>,й>, где т, «-целые числа, а со = р ...р р ,
€1 = ср. ,cpq0 - периоды, приводит к рядам вида:
Й(...1О*'5 +... + 102' +101’+10и)10"+1 +
+х„ 10” +... + .V) 101 +хо 10° +Х-! 10 1 +... + х_„ 10 + (10.45)
+Й5 (...10-*'’ +... + 10--’ +10-*' +10°)-Ю-"'-1.
Среди рядов этого вида имеется частный случай, разобранный выше (см. (10.41)).
Как известно, рациональные числа можно представлять обыкновенными дробями,
а также объектами, записанными на разрядной сетке Gr°. Если говорить точнее, то обык-
412
новенные дроби следовало бы назвать смешанной системой представления чисел, т.к. и
числитель, и знаменатель дроби записываются на сетке Gr° (варианты, когда числитель и
знаменатель записываются по-иному, например, римскими знаками, мы, понятно, не рас-
сматриваем). Между дробями и представлениями чисел на сетке Gr1 есть соответствие, но
не каждая дробь находит себе полное представление на сетке Gr°. Например, дробь
4 = = 1+2 10 = 0120 находит себе полное представление на сетке
2 10 (4) о
. А дробь 1/3, как будет показано далее, нет. Поэтому когда мы
пишем J , то это означает не тот факт, что дробь полностью представляется
на сетке Gr°, а то, что этой дробью представляется конечное число.
Второе вычисление основано на равенстве:
JL. = 10~‘ +10~2 +... + 10-" +10-"
1
16-1 ’
ПИ = ? ’г
. 1 О +1D-"
-п —п—1
переходя в котором по п к пределу, получим:
нм-т + 10-Г10'- <10-46)
Рассматривая правую часть, видим, что первый объект справа 01 целиком заполняет сетку
о
Gr° и не оставляет на ней места для второго объекта 10_”. Но равенство (10.46) в пра-
вой своей части самоприменимо бесконечное число раз, в результате чего получается:
J . - оТ + 01 1(М + 61 10-2°° + оТ 10~3°° + ..., (10.47)
iv-l 0 0 0 0
откуда видно, что справа стоит полноценный гиперчислоид, имеющий нетривиальное
содержимое на всех сетках вида Gr~m, (т = 0, 1,2,...), что можно записать так:
= 01 |С,.О +01 +01 Ь +... + 01 |с,._„ +... (10.48)
Итак, дробь 1 полного своего представления на сетке Gr° не находит. Полностью
она представляется на гиперсетке Gr выражением (10.48). Она не так тривиальна, как это
могло бы показаться при поверхностном рассмотрении. На практике, конечно, достаточно
ограничиваться её представлением на сетке Gr1:
l^oTU (10.49)
поскольку представления на других сетках нам не доступны, мы читаем только то, что
написано на сетке Gr°. Именно это представление дают также АВУ. Оно ранее уже неод-
нократно встречалось.
Обратимся вновь к (10.46). Переходя от (10 46) к (10.49), мы отбрасываем в правой
части второе слагаемое. Обычно говорят, что оно отбрасывается по причине его малости.
Мы же будем придерживаться более точного объяснения и говорить, что второе слагае-
мое отбрасывается не по причине его малости, а по той причине, что оно не находит себе
места на разрядной сетке Gr°. Оно находится на числовой оси Лх.^Ю-1-) и потому нами
не читается. Здесь имеет место полная аналогия с (10.42), где второе слагаемое справа
отбрасывается по той причине, что оно находится на числовой оси Axt и не находится на
числовой оси Аху, т.е. не читается. В этом проявляется логическая симметрия между бес-
конечно малыми и бесконечно большими величинами (как и должно быть).
В (10.45) содержатся более общие ряды, чем рассмотренные в этих двух вычислениях.
Они рассматриваются аналогично:
413
-iois+...+io1’+i = (-njl4)|^+ (10 50)
...1O-i,+... + lO-l,+l = (_J)Ls + (10.51)
причём записи . .J , , .„1 . , .. J—J , ., J—J означают, что фигурирующие в
10‘— 10s—llj4 10 llj,_r 10 r—1|ду0
них дроби имеют конечных представителей на соответствующих числовых осях. В равен-
ствах (10.50) и (10.51) отбрасываются величины, не находящиеся на числовой оси Лха, как
нечитаемые. После их отбрасывания получаются ряды:
.10*' +... + 102’ +101 ’ +1 -(10.52)
..10-ь+... + 10--|'+10-1''+1 = (-иД-г)|„ , (10.53)
10' — 1 1
которые, собственно, и носят в тексте названия Эйлеровых вычислений. Они используют-
ся при проверке правильности вычислений, проводимых абстрактными вычислительными
устройствами. Вычисления, проводимые с использованием этих равенств, всегда совпа-
дают с вычислениями, проводимыми АВУ, всегда дают правильные результаты, как и
утверждалось Эйлером. Однако нужно помнить, что полностью суммы этих рядов пред-
ставляются гиперчислами, стоящими ь правых частях (10.50) и (10.51).
В заключение отметим некоторые особенности при переносе законов оперирования с
обычными числами на гиперчисла. Например, обратимся к (10.46):
1
10-1
Выполним такое действие: умножим
закон дистрибутивности, написать:
10
1о=тТтТо=Г ,и ’
т.к. правильное равенство имеет вид:
= (10.55)
что следует из разложения левой части. Причина ошибки в (10.54) в том, что, умножая в
левой части, мы выполняем действие умножения на сетке Gr°, поэтому и в правой части
мы должны умножать только объект на той же сетке, т.е. первое слагаемое справа; второе
слагаемое сплава не трогаем.
Резюме:
Показано, что при переходе к гиперчислам исчезают многие неясности, связанные с рас-
ходящимися рядами. Равенства типа (10.43) не следует трактовать в буквальном смысле.
Их следует трактовать как соответствие от левой части к правой. Полностью сумма запи-
сывается как гиперчисло (10.44).
о Ю-i ш '
обе части на 10. Неправильно было бы, используя
_Д,Т. 10
§ 5. Вычислительный смысл состояний АВУ
Рассмотрим вопрос о вычислительном смысле состояний АВУ. Он важен не только
сам по себе, но и имеет некоторое отношение к Эйлеровым вычислениям.
Что касается автоматов сдвига и сумматоров, то смысл состояний для них достаточно
ясен - это либо единица, либо нуль переноса в следующий разряд. Нам интересен также
более сложный эффект - эффект переноса в соседнюю разрядную сетку при сложении
двух числоидов.
Рассмотрим сумматор X х'х* | q , в котором состояния будем нумеровать числами, запи-
санными полноценным образом на всей сетке <5гД_м) = . Таблица сумматора
414
приведена в главе 6, § 1. Воспроизведём её здесь, поменяв обозначения для состояний на пол-
ноценные записи в виде чисел на сетке Gr". Это важно с точки зрения предельных переходов.
Состояние q = 0 обозначим через q = 00, а состояние q = 1 - через <7=010 Эти записи от-
0 о
ражают полное заполнение всех мест разрядной сетки Gr". Из-за больших размеров обозначе-
ний состояний таблица расширится, вследствие чего разобьём её на две части.
Таблица 10.4
Автомат L(4)x'x2 q
х1 б 1 2 3 0 1 2 3
х2 б 0 0 б 1 1 1 1
q = 610 0 00 д 0 бб ,2 0 5б,з 0 515,5 0 55,2 0 55,3 0 515,0 0 515,1 0
q = бб 0 00,0 0 56,1 0 55,2 0 55,3 0 55,1 0 00,2 0 55,3 0 515,0 0
х1 0 1 2 3 X 1 2
X2 2 2 2 2 3 3 3 3
q = 010 0 бб ,3 0 515,0 0 515,1 0 515,2 0 515,0 0 515,1 0 515,2 0 515,3 0
q = бб 0 56,2 0 55,3 0 515,0 0 515,1 0 бб,з 0 615,0 0 515,1 0 516,2 0
Пример 1. Сложим два числоида х1 = 30 и х2 = 010 .
о «
Изобразим развёртку работы сумматора. Обратим внимание на то, что в этой развёртке
младшие разряды помещаются справа, а старшие - слева. Первыми в сумматор из минус
бесконечности поступают пары нулей от х и хг. Сумматор при этом из начального со-
стояния q =00 не выходит. Это вычисление в развёртке изображено как однотактовое
о
вычисление. В действительности оно изображает вычисление, длящееся бесконечно долго
от t — -со до t = -1. Тем самым автомат вычислительно реализует актуализацию бесконеч-
ности. После этого в момент времени 1 = 0 (т.е. в разряде 0) на вход поступает пара цифр -
3 и 1 - и переводит автомат в состояние q =010 . Далее во все последующие моменты
о
времени на вход поступает пара цифр - 3 и 0, что в развёртке также изображено как одно-
тактовое действие, соответствующее вычислению, длящемуся бесконечно долго от / = +• 1
до t = о». После чего подача цифр на вход сумматора прекращается и автомат осуществля-
ет перенос единицы в следующую разрядную сетку Gr1.
Gr' ОО>(> 1 0 — 1 > t > —оо t
А ГЗ^
Ы I1) U2 j
610 010 бб бб q
0 0 0 0
б 0 б У
Вот этот перенос является весьма существенным, ибо им полностью завершается процесс
суммирования. Можно, конечно, поступить грубее и оборвать процесс в момент t = + °»,
415
потому что на сетке Gr° всё равно будет прочитан правильный результат. Однако полно-
ценное вычисление должно проводиться на гиперсетке и во множестве гиперчислоидов.
Полноценный результат вычисления записывается так:
(30 + 610) |&0 = 616 |Qj +00|&«. (10.56)
Первое слагаемое справа выходит за пределы сетки Gr°, оказывается перенесённым на
сетку Gr и нами не воспринимается как реальный результат. Воспринимается только то,
что находится на сетке Gr". А там мы читаем, что результат равен нулю, как и должно
быть. Таким образом, полноценная сумма двух слагаемых слева есть гиперчислоид, стоя-
щий справа в (10.56) и нетривиально записанный на двух разрядных сетках Gr° и Gr°.
Этот же результат, но записанный на числовой гипероси, имеет вид:
(30 + 610) |с,.„ = 0 |А(,+1|.е, (10.57)
0 0
(Напоминаем, что равенство (10.57) представительское, т.е. числоид слева представляет
гиперчисло справа, расположенное на числовой гипероси; на всех остальных осях стоят
нули, которые мы по договорённости не пишем.)
Приведённая выше развёртка изображает вычисление, которое в действительности должно
длиться бесконечно долго. Но разьёртка показывает, что бесконечно долгое вычисление мо-
жет быть выполнено за конечное число шагов. Это связано с нашей способностью к актуали-
зации и с возможностью её материализации в виде вычислительных устройств, использую-
щих физически реализуемые символы со стрелками. Поэтому не следует отвергать актуализа-
цию. Заметим, что не во всякой технологии физически реализуемы символы со стрелками.
Таким образом, в примере 1 показано, что состояния в автомате действительно
играют роль сигнала переноса, причём не только в соседний разряд, как это мы уже
неоднократно обнаруживали, но и в соседнюю разрядную сетку.
Тот же смысл состояния сохраняется и для умножителей, но там он не только оказы-
вается существенным с точки зрения теоретической, но и имеет важное практическое
следствие. Рассмотрим уже встречавшийся умножитель, заданный таблицей 10.5, кото-
рую мы здесь также модернизируем, записывая состояния умножителя на всей сетке Gr°.
Таблица, в которой задан этот автомат, может быть продолжена влево и вправо до беско-
нечности с соблюдением содержащихся в ней закономерностей. В связи с этим автоматом
рассмотрим два примера, иллюстрирующих два эффекта:
1) эффект использования вычислительного смысла состояния с целью ускорения операции
умножения;
2) эффект переноса в соседнюю разрядную сетку бесконечно большого числа - эффект, учёт
которого необходим для полноценной записи результата умножения на всей гиперсетке.
Таблица 10 5
Бесконечный автомат 6130 х \ q , (<7,.re Z)
о
об 0 515 0 520 0 бзб 0 515 0 5115 0 0120 0
0 об,б 0 55,1 0 00,2 0 00,3 0 615,0 0 515,1 0 515,2 0
Т 615,3 0 520,0 0 020,1 0 020,2 0 025,3 0 бзб ,0 0 бзб ,1 0
2 бзб ,2 0 бзб ,з 0 515,0 0 515,1 0 515,2 0 615,3 0 5115,0 0
3 6115,1 0 5115,2 0 5115,3 0 5125,0 0 5120,1 0 5120,2 0 0120,3 0
416
Пример 2. Пусть х = 03220 . За умножением следим с помощью развёртки:
Gr1 ОО > t > 5 4 3 2 1 0 -1 > ? > - оо t
б б б 3 2 2 б X
бб бб 610 *6120 010 бзб бб бб q
0 0 0 0 0 0 0 0
б 1 2 1 1 2 5 б У
Особенностью этого умножения является то, что умножение можно закончить в момент
подачи старшей значащей цифры (3) умножаемого числа, т.е. в момент t = 2, т.к. вся груп-
па старших цифр произведения (т.е. 012), стоящих в старших разрядах (т.е. в разрядах
3,4, ...), совпадает с номером состояния, в которое переходит умножитель при t = 2,
причём вырабатывание этой группы цифр (т.е номера состояния) происходит в момент
подачи старшей значащей цифры (3); в В-схемах эта ситуация реализуется.
Таким образом, в умножителях вычисление можно заканчивать в момент подачи по-
следней значащей цифры.
Результат умножения записывается в виде:
0130 0322С | 00 = 0121120. (10.58)
0 0 0 о
Мы видим, что в умножителях состояние имеет очень полезное вычислительное содержание —
это группа цифр переноса в старшие разряды, а в случае подачи старшей значащей цифры
умножаемого числа - это группа цифр переноса во все старшие разряды результата (есте-
ственно, такое имеет место при автоматной нумерации состояний, которая использована, при
другой нумерации это не справедливо). Таким способом операция умножения осуществляется
заметно быстрее. Результат получается в момент подачи старшей значащей цифры умно-
жаемого числа, т.е. умножение и сложение могут вычисляться одинаково быстро. Практи-
чески этот эффект реализуется с использованием В-схем.
Пример 3. Пусть х = 3220 Видно, что умножаемое число, расписанное на сетке Gr°, вос-
0
принимается как бесконечно большое число. Развёртка помогает понять результат умножения.
Gr оо > / > 4 3 2 1 0 -1 > / > - оо t
3 3 3 2 2 б X
0120 6125 оно 516 бзб об 00 q
0 0 0 0 0 0 0
3 2 2 1 2 0 У
Результат, прочитываемый в строке у, полностью заполняет разрядную сетку Gr°, однако
помимо этого происходит ещё одно действие - перенос информации за пределы разряд-
ной сетки Gr° в разрядную сетку Gr1. По предыдущему примеру мы знаем, насколько
важен такого сорта перенос. В этом примере он играет аналогичную роль: в нём содер-
жится информация необходимая для завершения умножения. Полное умножение совер-
шается на гиперсетке, полностью на ней и записывается:
0130-3220|00 = 0120L.1 + 322120L,. (10.59)
О 0 0 » о
Произведением числоида х = 3220 на 0130 является гиперчислоид, для нетривиальной
о и
записи которого требуется использование разрядных сеток Gr° и Gr, как показано в правой
части (10.59) (на остальных сетках Gr1, (; 0, 1) стоят одни нули, и они не пишутся).
Таким образом, состояние АВУ вычислительно истолковывается не только как перенос
группы цифр в старшие разряды, но и как перенос группы цифр в соседнюю разрядную
сетку. Последний перенос необходим для записи результата вычисления на гиперсетке.
417
Ещё раз отметим, что прочитываем мы лишь то, что написано на сетке Gr°, лишь это
принимаем в расчёт во всех наших дальнейших действиях. Но, принимая во внимание
лишь то, что находится на сетке Gr°, мы в то же время понимаем, что это не полноценная
запись результата, а только часть его. Полноценная запись результата требует использо-
вания двух сеток: Gr° и Gr
Проследим за проявлением тех же эффектов на примере умножителя на три, для ко-
торого мы можем также привести обратное АВУ - делитель на три. Таблица, в которой
задан умножитель на три с обозначениями для состояний на сетке Gra, такова:
Таблица 10.6
Умножитель 030 х | q , (х е Z)
о
х\ об 0 016 0 020 0
б 00, б 00,1 66,2
0 0 0
1 65,3 016,б 515,1
0 0 0
2 010,2 0 010,3 0 020,0 0
3 020,1 020.2 020,3
0 0 0
Подадим на его вход те же числоиды из примеров 2 и 3.
Пример 4. Пусть х = 03220 . Развёртка:
о
Gr ОО > f > 4 3 2 1 0 —1 > t > — 00 t
5 5 3 2 2 5 X
65 об 020 610 515 56 00 q
0 0 0 0 0 0 0
5 2 2 3 2 0 У
Как и в примере 2, умножение фактически заканчивается при t - 2 и записывается:
030 032201 об = 022320, (10.60)
ООО о
где группа цифр произведения в старших разрядах (т.е. после разряда 2), сформированная
в момент t = 1 в виде номера состояния для / = 3, просто приписывается к результату,
записанному в строке у. Проверим правильность умножения делением, пропустив резуль-
тат (10.60) через делитель на три, таблица которого встречалась ранее и имеет вид:
Таблица 10.7
Делитель 3 х q
х\ 20 0 16 0 об 0
0 20,2 0 Тб,Т 0 65,0 0
1 10,1 0 об ,0 0 20,3 0
2 об ,0 0 20,3 0 10,2 0
3 20,3 0 10,2 0 55,1 0
418
Подаём на вход этого делителя правую часть результата (10.60). Соответствующее
вычисление приведено в примере 5.
Пример 5. Пусть s = 022320. За делением следим с помощью развёртки:
о
Gr оо > t > 4 3 2 1 0 —1 > t > — оо t
б 2 2 3 2 б X
бе бб 20 Тб Тб бб бб q
0 0 0 0 0 0 0
б 0 3 2 2 б У
Результат совпадает с операндом в примере 4, чем подтверждается как наличие эффек-
та 1, так и правильность работы устройств: умножителя (10.58) и делителя (10 59).
Теперь вновь рассмотрим бесконечный числоид х = 3220 .
о
Пример 6. Пусть х = 3220 . Подадим его на умножитель (10.58).
о
Каждый шаг умножения прослеживается с помощью развёртки:
Gr1 оо > t > 3 2 1 0 — 1 > t > — оо t
3 3 2 2 б X
020 020 01о 010 00 00 q
0 0 0 0 0 0
3 2 3 2 б У
Результат, записанный в строке у, полностью заполняет разрядную сетку Gr°. Его мы
прочитываем в качестве доступного нам результата вычисления. Однако, по аналогии с
предыдущим вычислением из примера 4, для получения полного результата следовало бы
к результату в строке у приписать группу цифр из старших разрядов, т.е. числоид 020.
о
Но эта группа цифр находится за пределами сетки Gr°, она располагается на сетке Gr1, и
приписывание её приводит к появлению гиперчислоида. Таким образом, полная запись
результата умножения представляется гиперчислоидом:
030-3220 I бб = 0201,,! + 32320 L о. (10.61)
О 0 0 о о
Теперь прогоним по отдельности через делитель на три оба произведения, стоящие в пра-
вой части (10.61) (т.е., во-первых, доступный нам числоид на сетке Gr° и, во-вторых, ги-
перчислоид в целом), сравним результаты и сделаем некоторые выводы. Вначале пропус-
каем через делитель 10.59 числоид на разрядной сетке Gr°.
Пример 7. Пусть х = 32320 . Имеем развёртку соответствующего деления:
о
оо > f > 3 2 1 0 -1 > t > - оо t
3 2 3 2 б X
20 0 20 0 Тб 0 То 0 бб 0 бб 0 я
3 3 2 2 б У
Результат деления записывается в виде:
З-1 32320 I бб = 3220, (10.62)
0 0 о
т.е. получилось множимое, что подтверждает правильность всех проведённых вычисле-
ний. Кроме того, лишний раз убеждаемся в том, что действительно достаточно ограничи-
419
ваться рассмотрениями на сетке Gr°; ошибок, как и говорил Эйлер, не будет, даже если в
качестве представителей конечных чисел использовать бесконечные числоиды.
Запишем ещё результат деления (10.63) на гиперсетке:
З-1-32320|О0 = 20^ + 3220|^. (10.63)
Теперь пропустим через делитель всё гиперчисло, стоящее в правой части (10.61).
Поскольку начальная фаза деления целиком совпадает с разверткой примера 7, то нам
придётся лишь продолжить эту развёртку. Мы «зацепимся» за неё, изобразив в следую-
щей развёртке лишь её концевую часть. Часть развёртки, действующей на сетке Gr', мы
отделим от «старой» части двойной вертикальной чертой.
Пример 8. Пусть х = 020 1^ + 32320 1^ . Имеем:
Gr 4-00 0 —1 > / > — ею со > t > 3 2 t
бб 0 Результат деления за] з- 0 2 0 бб 20 20 0 • <1 б 0 2 гиперсетке: 1 (0201^1 + 32320 |Gro)|O( = 3 2 ... 20 15 е о 3 3 ... 02|&1 + 32201&0. X <7 У (10.64)
Прокомментируем вычисление. Во-первых, мы имеем здесь первый пример вычисления,
когда операндом является гиперчисло. Тем самым показано, что с гиперчислами АВУ
проводят вычисления на равных основаниях с обычными числами. Во-вторых, на сетке Gr°
мы видим операнд из примера 6, чем подтверждается правильность вычислений и воз-
можность их проведения не только на сетке Gr°, но и на гиперсетке в целом.
Рассмотрим ещё пример деления на три и выясним возможность эффекта ускорения
деления за счёт использования вычислительного смысла состояния, аналогичного пока-
занному в примере 2.
Пример 9. Пусть х = 030130 Развёртка вычисления:
о
Gr1 оо > t > 4 3 2 1 0 —1 > t > — 00 t
б 3 0 1 3 б X
20 20 20 20 бб бб бб g
0 0 0 0 0 0 0
2 3 2 3 1 б У
Как и в примере 2, здесь также виден эффект ускорения деления - деление может быть
закончено в момент подачи старшей значащей цифры делимого. Действительно, чтобы
получить окончательный результат деления, достаточно к уже полученной в момент t = 3
части результата деления приписать числоид, являющийся состоянием, в которое перехо-
дит делитель. В В-схемах цифра результата для этого момента времени и номер со-
стояния вырабатываются одновременно. Вследствие этого можно сформулировать ут-
верждение, что в В-схемах делителей, как и в В-схемах умножителей, вычисление можно
закончить в момент подачи старшей значащей цифры делимого.
Как видим, вычислительный смысл состояний АВУ может быть с пользой применён
для реального процесса вычисления.
Резюме'.
1. Показано, что в таких АВУ, как сумматоры, умножители, делители, состояния уст-
ройств представляют собой группу цифр переноса не только в старшие разряды сетки, но
и в сетки с большими весами.
420
2. Во многих АВУ вычисление может быть закончено одновременно с подачей старшей
значащей цифры операнда, т.к. состояние, в которое переходит АВУ в этот момент, есть не
что иное, как вся группа цифр результата, для моментов времени, следующих за моментом
подачи старшей значащей цифры операнда. Этот эффект приводит к ускорению вычислений.
§ 6. Гиперчисла и анализ
Покажем, как известные понятия анализа могут быть определены с помощью гиперчи-
сел. Напомним, что гиперчисла мы представляем посредством гиперчислоидов на обоб-
щённой разрядной сетке, модель которой такова:
' |"2 1 О -1 —г"'||"~2 I О -1 —2"'||'"2 1 0 -1 -2 "II' 2 1 0 -1 —2"'||"~2 1 0 -1 -2"'|'"
Gr2 Gr' Gr° Gr~' Gt—2
Bk IO2” Bee IO1” Bee 10° Вес IO”1” Вес ЦГ2”
Рис. 10.6. Модель обобщенной разрядной сетки (гиперсетки)
Гиперчислоиды получаются путём произвольной простановки на все места разрядной
сетки цифр системы счисления.
I 'иперчисла, представляемые гиперчислоидами, находят себе наглядное представление
на числовой гипсроси. модель которой такова:
-2-1 0 1 2 -2-1 0 1 2 -2-1 0 1 2
АхЛЮ-1”} Ах„(10°)
Рис. 10.7. Модель числовой гипероси
Она состоит из бесконечного семейства подобных друг другу числовых осей, в точности
совпадающих с теми, которым мы обучены в школе. На этих осях точками изображаются
числа. Каждая ось имеет свой весовой коэффициент вида 10*“ , к е Z= {...,-2,-1,0,1,2,...}.
Числовые оси упорядочены отношением «больше»: х-101” < х-1(У", если к<1. Гипер-
числоид изображается набором точек на всех осях, по одной точке на каждую ось. Гиперось
Ах может быть записана в виде Ах = U Axt . Понятно, что это представление может быть
JeZ
обобщено: Ах = U Ахк , где С - любое континуальное множество, например, множество
ис
всех действительных чисел. Такая гиперось называется континуальной числовой гиперосью.
Все эти гипероси являются неархимедовыми прямыми.
Числоиды, записанные на конкретной разрядной сетке с каким-либо весом, дают, во-
обще говоря, на числовой оси «выбросы» в соседние числовые оси. Например, числоид
32, записанный на разрядной сетке Gr \ представляет следующее гиперчисло:
о
Р 1сг« = L_, +(“|) U +1 lz-ч
На гипероси это гиперчисло изображается набором точек.
-2/3 -ГЗ -
-2-1012 -2-1012 -2-1 С 1 2
Az-i(10'‘°°) AMI®0) Ах НЮ1”)
Рис. 10.8. Гиперчисло на числовой гипероси, представленное числоидом 32
о
421
На всех остальных осях стоят нули. Таким образом, полная запись этого гиперчисла на
гипероси может быть представлена в виде:
32|&„= )...|0|0|0|-||-||1|0|0|...>.
о
Равенство, как всегда, представительское, т.е. числоид слева от знака равенства представ-
ляет гиперчисло справа. Видна полная аналогия с привычной записью числа. Вертикаль-
ными линиями отделены друг от друга числовые оси с соседними весами. Наша числовая
ось Ахд, на которой мы представляем доступные нам числа, с которыми мы оперируем в
быту в нашей реальной жизни, отмечена ноликом снизу. На ней стоит число (-1/3). Спра-
ва от неё стоит единица из недоступного нам мира бесконечно больших величин, а слева
стоит число (-2/3) из также недоступного нам мира бесконечно малых величин. Числовые
оси слева и справа от оси Лх0 нет необходимости отмечать индексами, соответствующими
их весам, они легко отсчитываются. Числовые оси с большими весами располагаются и
растут вправо, а числовые оси с меньшими весами располагаются и уменьшаются влево.
Угловые скобки указывают направление роста весов сеток. Как видно, полное представ-
ление гиперчисла является бесконечно местным.
Определение (бесконечно малой величины). Бесконечно малой величиной называется
гиперчисло вида:
v = ...+ V-2 h_2 + V-1 + бц= Tv- \Лх_х + бц, (10.65)
где v' - произвольное число на оси Ах, (10' ”), (/ = -1, -2, -3, ...).
Как видно, для бесконечно малой существенно, чтобы на оси Ахо стоял ноль. На всех
остальных осях Аг,(10' °"), (/= 1, 2, 3, ...) стоят нули (не написаны, подразумеваются).
Величина v обладает всеми свойствами бесконечно малой Эйлера.
Производная от функции f (.?) в точке х определяется отношением:
T(*)=/(x+v2~/wk, (Ю.66)
где v - бесконечно малая, а правая часть прочитывается только на числовой оси ,4г!м
что отмечено стандартным в математическом анализе символом подстановки (Напоми-
наем, что числа и числоиды отмечены черточкой сверху, а пифры - без чёрточки.)
Пример 1. fix') = х- .
Имеем:
(_2),= (.T + v) -х2 Lo = (g + v)L(i = 2x. (10.67)
Слагаемое V справа в (10.67) не находится на числовой оси Ахо и потому не читается.
Внешне дело выглядит так, как будто величина V просто отбрасывается. Так поступали в
прошлом до определения понятия предела. Как видно, результаты вычисления производ-
ной по (10.66) и с помощью определения с использованием предела всегда совпадают.
Приведём классическое обобщение понятия производной [21], а затем дадим его ана-
лог на гиперсетке.
Производной порядка а в пределах от а до Ь от функции / (х), где а - любое ком-
плексное число, называется число, обозначаемое символом
dx"
или символом
/Э"/(.х)| и получающееся в результате следующего предельного вычисления:
422
где Q -
Г(а +1)
/! Г(а - i +1) ’
a (г’-д)а
Г(а + 1) - гамма-функция Эйлера.
(10.68)
Обозначим через XN множество точек'
XN х = Ь - }, (7=0,1 -,N) .
(10.69)
Чтобы иметь возможность вычислять выражение в (10.68), стоящее за знаком предела,
значения функции /(.?) должны быть известны во всех точках множества А» при каждом
N, (N= 1.2,...). Таким образом, полная информация о функции должна быть известна на
множестве Х=Ху U Хг U Ху U Множество X - это (по определению) множество всех
локально рациональных точек отрезка [а, Ь], которое всюду плотно на [я, Ь], т.е. инфор-
мация о функции достаточно богатая.
Приведём некоторые частные случаи, содержащиеся в (10.68).
Случай 1: а = 1. Определение (10.68) даёт:
_}p=££(f)
,а ах1
l=N Ъ-а
£(-iy С;
= lim**-----------------*
- a j
<7 • /(/>) - c; • f(b - f{b) - f(b -
= lim------------------------= lim----------------------"—
если a <b
f+ (b), если a > b
(10.70)
где (/+')-производная слева (справа) от функции /(х).
Случай 2: а = -1. Определение (10.68) даёт:
а я^~ 1
(10.71)
= lim Д • Z f(b-i-! = J f (х) <&,
N ,=о Я
т.к. С1,= (-1)'
Случай 3: си = л, fix') = х2 . Определение (10.68) даёт:
'='v А _ п
Х(-1)- с; (Л-г ^£)^
= lim^»--------------------------
(10.72)
= Г(л) sin л2
- b2(b- a)-" -^ b{b- а)1"” + -L {Ь - о)2"'
л л-1 л-2
423
В частности, при [а = О, b = х] получаем:
(10.73)
2r(n)sinn2 2
г. (л-1) (л-2) ' * ' “ Г(З-л)'Х'
Как видно, из определения (10.68) получаются не только известные понятия производной
и интеграла (случаи 1 и 2), но и другие понятия, например, производная порядка л (слу-
чай 3).
На гипероси и гиперчислах обобщение (10.68) классического понятия производной
может быть переформулировано следующим образом:
2(-l)-Q/(fe-/v)
(10.74)
Ахо
Получение правильного результата с помощью (10.74) требует выполнения нескольких
шагов. Во-первых, надо выполнить действия, указанные в записи дроби, предполагая, что
N - натуральное число, связанное с v соотношением А V = Ъ - а. Во-вторых, в получен-
ном после проведения всех преобразований выражении считать N - бесконечно большой
величиной, a v - бесконечно малой величиной, причём обе величины N и v по-прежнему
считать связанными соотношением V— ft — В. В третьих, в полученном выражении
всюду заменить произведение N V на b - а. В четвёртых, прочитать полученное в (10.74)
гиперчисло на основной числовой оси Лх». То, что окажется записанным на оси Лхо, и
будет производной Da[f (х)||" .
Альтернативный подход к определению производной изложен в [10].
В примере 1 приведено одно из бесчисленных приложений этого определения.
В примере 2 приведено ещё одно, а также разъяснены некоторые моменты, связанные
с формулой (10.74).
Пример 1. f (х) = хг, а = -1. С учётом c'-i~ (-1)' имеем:
•а
бМ.Х2 _ 2=0____________________
Л-1 |а v
= vX ( b - г • v )2 |ах0 = (v£>2 £1- 2-A-v2 +V3 £/2)Ц =
*=о ;=о г=о i=o
= (vZ>2(A + l)- 2-b+ =
= (b’Nv + b2v- fe(Av)2-6(Av)v + |(Av)3+i(Av)2v +
+|(W)v2)U0 =
424
= (Ь2 (Ь - a) + b2v - b(h-a)2 -i(4-a)v +j(4-a)? +^-(i-a)2V +
+-g(i-«')v2)l'<»0 =
= b2(b -a)- b(b-a)2 + ! (/> -a)3 = kb2 -Xa3 = [ x-dx.
J J j a
Напомним, что N v = b - а, а также, что бесконечно малые величины b2 v. b(b-a)v, (b-afv,
(b-a)v2 не находятся на оси Ах(1 и потому не читаются, отбрасываются.
Резюме:
Показано, как основные понятия математического анализа могут быть определены на
числовой гипероси с помощью гиперчисел без использования понятия предела.
§ 7. Последовательности числоидов
1. Числоиды и их последовательности. Далее будет рассмотрен вопрос о понятии пре-
дела последовательности числоидов. Поэтому предварительно остановимся на последова-
тельностях числоидов. Напомним некоторые сведения о числоидах. Числоиды рассматри-
ваются на разрядных сетках. Шаблоны разрядной сетки числа имеет вид (возможны их
вариации):
Gr(oe,0] . ••• у л у -р или Gr^-^ . ... у у у - 3^- зу ...,
где горизонтальными чёрточками обозначены места (разряды), а под ними - их номера.
Левый шаблон исторически порождён первым и использовался прежде всего для пред-
ставления натуральных чисел. В дальнейшем выяснилось, что на нём можно представлять
и другие числа. Если на все места поставить цифры из А-ричной системы счисления с
набором цифр Z(t) = {0, 1, ..., к- 1}, то получим объект, называемый числоидом. Иногда
числоид даёт привычное представление числа в А-ричной системе счисления. Например,
при взятии цифр из десятичной системы счисления, А =10, Z(io)={0, 1, ..., 9}, за-
пись... у ту—у TfzXzyzj является представлением числа 946,73. Чтобы не было необ-
ходимости писать большое количество нулей с многоточиями для обозначения
бесконечного их количества на всех местах разрядной сетки, будем использовать символ
«ноль со стрелкой», 0 . показывающий в зависимости от его местоположения, что по
местам разрядной сетки, начиная с некоторого места, вплоть до (+°°) идут одни нули или
из (-°о) вплоть до некоторого места идут одни нули. Тогда предыдущая запись примет
вид: Таким образом, с помощью введённого символа бесконечно местная
запись приобретает конечный вид. Стрелки указывают направление роста разрядов. Для
записи чисел мы не будем использовать запятую для выделения нулевого разряда, а будем
под цифрой, стоящей в нулевом разряде, подписывать символ 0. Например, мы напишем
0946730 вместо 946,73. Абстрактные вычислительные устройства «читают» только цифры,
о
в чужеродных знаках не нуждаются.
В общем случае из (-ос) может идти период (О=р„...р], а в (4-сю) - период = q .
Тогда числоиды имеют вид £2 .rs...x1.r0.r_1....v_,.6>. Случаи, когда £2 = 0 или со= 0, допустимы,
и тогда числоиды являются иррационалами. Таким образом, числоид - это цифровая запись на
полной разрядной сетке без каких-либо ограничений. Числоиды не равны, если они отлича-
ются цифровым знаком хотя бы в одном разряде.
425
Числоиды служат для представления чисел. Забегая вперёд, скажем, что каждое чис-
ло имеет бесконечное множество различных числоидов, его представляющих. Например,
число два имеет следующее множество представлений числоидами на разрядной сетке
(выписывается, разумеется, только часть множества; система счисления-
четверичная):
2 = {020 013, 2302, ТзТ, 10301, 233123,...}.
о о в о о о
Таким образом, говоря о числе, можно для его представления взять любой числоид из
множества числоидов, его представляющих, и говорить о выбранном числоиде как о чис-
ле. Поэтому фразы: «число 2», «число 020», «число 013 », «число 2302» и т.д., означа-
0 0 о
ют одно и то же, ибо фигурирующими в них числоидами изображается одно и то же чис-
ло два (см. ниже). Собственно, первые три фразы для нас привычны, новыми являются
следующие за ними. Числоиды, входящие в одно и то же множество для представления
некоторого числа, с точки зрения представления этого числа между собой эквивалентны,
потому что любой числоид множества может быть использован для представления числа.
Числоиды, представляющие одно и тоже число, образуют класс эквивалентных числоидов.
Понятие числа в своём развитии проходит несколько этапов. В конце концов в практи-
ческой работе при вычислениях число предстаёт перед нами в виде своих обозначений, в
виде своих представлений (т.е. в виде числоидов), и мы, читая обозначение для числа, без
тени сомнения отождествляем обозначение с числом. Мы только что сказали, что каждое
число имеет бесконечно много представлений в виде числоидов. Поэтому, совершая обрат-
ное движение, движение от обозначений к числу, можно сказать, что число есть абстракт
от множества числоидов, его представляющих. Так, число два есть абстракт от множества
числоидов, написанного выше справа от знака равенства. Формально это записывается так:
2 = afel{020, 613, 2302, 131, 16301,233123,...}.
0 0 0 0 0 о
Итак, числоиды, представляющие одно и то же число, являются эквивалентными. Эк-
вивалентные числоиды могут быть различными Например, числоиды 013 и 2302, пред-
0 о
ставляющие число 2, эквивалентны, но различны, ибо они не равны. Составим таблицу,
дающую сравнительную характеристику этих двух числоидов:
Таблица 10.8
Сравнение числоидов 013 и 2302, представляющих число 2 0 0
613 ~ 2302 0 0 Как числоиды они эквивалентны
613 ф 2302 0 0 Как числоиды они не равны
613 = 2302 0 0 Как числа они равны
Поскольку именно эквивалентные числоиды образуют упомянутый выше класс эквива-
лентности, то число является абстрактом класса эквивалентных числоидов.
Замечание. Хорошо известна следующая схема введения понятия числа.
1. Два множества называются эквивалентными, если между ними можно установить вза-
имно однозначное соответствие.
2. Числом (мощностью) называется абстракт множества всех эквивалентных множеств
Этой схемой число определяется как количественна я идея. Но количественной
идеи для введения понятия числа в полном объёме не достаточно Некоторые фило-
софы считали идею количества врождённой идеей. Нс вступая в дискуссию по этому
426
вопросу, скажем, что они, возможно, близки к истине, поскольку животные (куницы,
обезьяны...) в экспериментах ведут себя правильно, и эту правильность можно объяснить
только тем, что они правильно реагируют на количество предметов. Так же определённо
реагирует на количество предметов и шестимесячный ребёнок. Отсюда можно сделать
вывод о том, что человек действительно порождает идею количества, правда, судя по
всему, не самостоятельно, а с посторонней помощью. Но роль этой посторонней помощи
состоит, по-видимому, в том, чтобы ускорить процесс порождения идеи количества. Факт
же владения этой идеей человеком несомненен и говорит о том, что порождение её неиз-
бежно. Но является ли это неизбежное порождение результатом деятельности человека,
или она является врождённой, этот вопрос мы не обсуждаем. Как бы там ни было, конста-
тируем, что есть мыслящие существа, которые порождают идею количества и что идея
количества является первичной идеей, приводящей к порождению понятия числа в пол-
ном объёме. Это первая идея, отправляющая нас в мир чисел.
Следующей идеей является идея порядка. Она используется для порождения отрица-
тельных чисел. Поскольку при порождении отрицательных чисел идея количества непо-
средственно не используется, то отрицательные числа не несут в себе количественного
содержания. Правда, есть попытки придать им количественный смысл, но эти попытки
обусловлены силой человеческой фантазии и желанием сводить всё к привычным, понят-
ным вещам. На самом деле отрицательные числа созданы в результате деятельности вы-
числительного устройства, называемого обратным автоматом сдвига, реализующего
идею порядка и только. Идею количества не способны породить никакие автоматы.
Другие числа вводятся как результат выполнения операций. Приведённая перед заме-
чанием характеристика числа является, по-видимому, достаточно общей и конструктивно
содержательной: она приспособлена для проведения вычислений.
В последовательности числоидов {х"} можно производить замену числоидов на экви-
валентные. После такой замены эта последовательность как последовательность числои-
дов изменится, но как последовательность чисел не изменится. Например, последователь-
ности:
2; 1; 2; 1,9: 2; 1.99; 2; I 999; 2; 1,9999; ...
и
1,999...; 1; 1,999.. ; 1,9; 1,999...; 1,99; 1,999...; 1,999; 1,999. .; 1,9999; ...
- разные числоидные последовательности. Но как последовательности представляемых
ими чисел они одинаковы, т.е. это два вида одной и той же числовой последовательности.
На числовой оси они изображаются одним и тем же упорядоченным множеством точек.
В любой последовательности чисел каждое число представляется бесконечным мно-
жеством эквивалентных числоидов и может быть заменено любым числоидом этого мно-
жества. Поэтому каждой числовой последовательности можно сопоставить бесконечное
множество последовательностей числоидов. В каждой из этих последовательностей чис-
лоиды с одними и теми же номерами эквивалентны. Такие последовательности числоидов
будем называть числоидными последовательностями, соответствующими исходной
числовой последовательности.
Теперь представим себе некоторое множество эквивалентных числоидов. Поскольку
числоиды эквивалентны, то про него (множество) мы знаем только, что числоиды этого
множества представляют некоторое числе. Осознание этого является сутью выделения
абстракта из данного множества. Какое именно число представляется? Этот вопрос реша-
ется внешним по отношению к множеству образом, поскольку множество само но себе об
абстракте не имеет никакого представления. О нём имеет представление только внешний
наблюдатель. Поэтому этот вопрос решается нами. Так как любой числоид является пред-
ставителем числа (известно, что любой элемент множества эквивалентных элементов
427
является представителем этого множества, т.е. по нему можно восстановить всё множест-
во), то мы можем выделить любой числоид множества и объявить его запись записью
числа, а также дать числу любое имя. Выбрать числоид, обозначение и имя которого в
совокупности отождествляются с числом, - это и означает указать число, представляемое
множеством числоидов. Этой свободой в выборе числоида для отождествления его с чис-
лом можно воспользоваться и указать процедуру, приводящую к выбору такого числоида,
запись которого совпадает с общепринятой. (На описании её здесь не останавливаемся.)
Например, выберем из множества числоидов
020, 013, 2302, 131, 10301,233123,...
0 0 0 0 0 о
в качестве записи числа числоид 020 . Мы его читаем: «число два» и обычно используем
о
упрощённую запись: 2. У числа, представляемого этим множеством числоидов, появились
имя и основное обозначение.
2. Эквивалентные числоиды. В предыдущих главах были проведены многочисленные
эксперименты с АВУ. Общий вывод из экспериментов: каждое число имеет бесконечно
много представлений, некоторые из которых являются представлениями в окрестности
нуля (т.е. имеют лишь конечное число отличных от нуля цифр со стороны 4'50 и понятны
нам, например, 1 = 010 = 03), а некоторые являются представлениями в окрестности бес-
0 о
конечности (и трудны для восприятия, например,
1 = 121 = 232 =Й(Ю22О331МС2(ШММ У
0 0 о
Поэтому решим такую задачу: по представлению числа в окрестности бесконечности
найти соответствующее ему представление в окрестности нуля.
Случай 1. Число, представленное в окрестности бесконечности, является отрицатель-
ным.
Решение. В этом случае нельзя избавиться от представления в окрестности беско-
нечности, т.к. АВУ в своих вычислениях не «знают» знака минус для изображения от-
рицательного числа (он им не нужен), и поэтому единственным средством для отличе-
ния отрицательного числа от положительного они признают представление числа в
окрестности бесконечности. Мы можем пропустить это представление через умножи-
тель на (-1) и найти представление для положительного числа, противоположного дан-
ному отрицательному числу. Если получившееся представление является представлени-
ем в окрестности нуля, то мы понимаем, какое именно отрицательное число скрывалось
под данным представлением. Если же получившееся представление является представ-
лением в окрестности бесконечности, то соответствующее ему представление в окрест-
ности нуля получается в результате ещё одного дополнительного шага, так, как описано
в следующем случае.
Случай 2. Число, представленное в окрестности бесконечности, является положитель-
ным.
Решение. Поскольку представление в окрестности бесконечности относится к области
Эйлеровых вычислений, то и решение этой задачи будет проводиться в духе этих вычис-
лений.
Лемма I Пусть р = хт...х0 - любая последовательность цифр. Тогда представление
рх,„...хг...хор
о
есть представление нуля, т.е. справедливо представительское равенство для числа 0:
рхт...хг ...хор = 0 .
о
428
В частности,
rep
00 = 0.
о
Замечание 1. Номер разряда г любой: 0 < г < т.
rep гер
Замечание 2. Запись а = Ь читается: «выражение а слева от “ представляет объект b
справа от = » (гср - от represent).
Доказательство. Без ограничения общности считаем, что г = 0, т.е. нулевой разряд
разрядной сетки занят цифрой х0-
Согласно обычной трактовке записи числа имеем:
px„...xr...xap = pp = S (.т„ 10"+<,"+1)'+... + x0 10|™+,)') =
о г=^°
= S (хи1О"’+... + хо1О°)1О("+1)'=’е р-КУ"*1” = р-( е'ю^'+’е
= Р
20(?И+1)”—1
l-10-^+i) + io<w+1> -1
I = Р
Ахо
Здесь вычисления проведены по Эйлеру, т.е. на равных правах игнорируются величины
10+ 1 и 10 , выходящие за рамки числовой оси Ахц (или, что всё равно, разрядной
сетки Gr°). При привычной трактовке понятно, что величину 10 1”'+1)" можно проигнориро-
вать, т.к. она стремится к нулю. По Эйлеру же величины 10 11 ” и 10 ' равноправны в
том отношении, что обе находятся за пределами числовой оси Аха и потому обе должны быть
проигнорированы. Это приводит к вычислениям наподобие того, что выполнено выше.
Следствие. Написанные ниже числоиды являются представлениями нуля:
об -...ооооо... = 0,
о о
ТТ = ...гпп... = о,
о о
22 = ...22222... = 0,
о о
33 = ...33333... = о,
о о
203101 = ...203101203101203101203101... = 0и т.д.
о о
Таких представлений нуля бесконечно много. Из этого следует, что каждое число имеет
также бесконечно много представлений, что подтверждается уже проделанными ранее
числовыми экспериментами с делителями.
Из леммы вытекает метод нахождения представления числа в окрестности нуля.
Для этого нужно. 1) в данном представлении числа выделить период (если он есть), иду-
щий в положительную бесконечность, 2) сформировать на основе этого периода пред-
ставление нуля и 3) вычесть его из данного представления.
Пример 1. Пусть х = 03210 - представление некоторого числа в окрестности бсско-
п
нечности. Найти соответствующее ему представление в окрестности нуля и тем самым
найти обычное представление для этого числа.
429
Решение. 1. Выделяем период р = 032, идущий в + сю.
2. Формируем представление нуля в окрестности (+ оо) с этим периодом:
______ гер
032032 =0.
о
Место для нулевого разряда может быть выбрано произвольно, поскольку при изменении
места для нулевого разряда представление нуля, хотя и меняется, но остаётся представле-
нием нуля. Мы выбираем место нулевого разряда так, чтобы период при вычитании унич-
тожился.
3. Вычитаем из данного представления х = 03210 сформированное в пункте 2 представ-
0
ление нуля:
032 032 032 100 0 000 000
032 032 032 032 0 032 032
000 000 000 001 0 301 зо1
Получившееся представление 0013 является обычным представлением в окрестности
о
нуля и потому легко истолковывается. Кроме того, оно нам уже встречалось - это пред-
ставление для числа 1/9:
1/9,,о, -ООТЗ(4).
Так решается вопрос о нахождении по данному представлению соответствующего ему
представления в окрестности нуля.
Пример 2. Найти представление в окрестности нуля для числа, заданного числоидом
х = 316.
о
Решение. 1. Выделяем периодр = 3, идущий в + оо.
2. На основе этого периода формируем представление нуля:
33 = ...33333... = 0 .
о о
3. Вычитаем из данного представления представление нуля:
... 3 3 3 1 0 0 0 0 ...
о
... 3 3 3 3 3 3 3 3 ...
... 3 3 3 1 0 0 0 0..
о
Мы видим, во-первых, что после вычитания числоида 3 3 исходный объект не изменился
и, во-вторых, что числоид 3 3 действительно сыграл роль нуля. Отсюда делаем вывод, что
о
исходный объект есть представление некоторого отрицательного числа. Поэтому выпол-
няем следующее действие:
4. Умножаем х = 310 на (-1), для чего прогоняем его через умножитель
о
х (-1) | q ~ х 3 | q , табличное задание которого таково:
430
Таблица 10.9
Автомат х •(-]) | q = х -3 | q , (q е Q_t - {30,6})
X \ зб 0 б
б 30,3 0 б, б
т 30,2 0 30,3 0
2 30,1 0 30,2 0
3 30,б 0 30,1 0
l l l l rep
(Числоид 30представляет минус единицу: 30 = -1.)
о о
Имеем развёртку (развёртка согласована с нормальной подачей цифр, т.е. с подачей
цифр от младших разрядов к старшим):
Gr1 оо > / > 1 б _ 1 > / > — ©о t
зб 0 3 1 б X
30 0 б б ч
б 3 б У
Получился результат: 310 (—1) | 0 = 030 , т.е. получилось понятное нам представление в
о о
окрестности нуля числа 3. Оно является противоположным по отношению к числу, изо-
бражаемому исходным представлением. Следовательно, 310 =-3, т.е. заданный числоид
в
х = 310. сам по себе имеющий вид бесконечно большого числа, на самом деле пред-
fl
ставляет число (-3). Рассматриваемые АВУ используют его в своих вычислениях наряду с
другими представлениями.
Таким образом, лемма является источником бесконечного множества эквивалентных
числоидов.
Резюме'.
Приведено понятие эквивалентных числоидов и, соответственно, класса эквивалентных
числоидов. На основе этого понятие числа трактуется как абстракт класса эквива-
лентных числоидов. (Под абстрактом понимается то общее, что возникает при рассмотре-
нии некоторого множества объектов [1].) Эта точка зрения на число находится на значи-
тельном удалении от содержательных трактовок понятия числа, не противоречит им, но
приспособлена для проведения вычислений АВУ, т.к. число в процессе вычислений пред-
стаёт перед нами не иначе как в виде обозначений.
§ 8. Предел
1. Предел. Пусть {х"}, (и = 1, 2, ...), х" = .„xl'xj'xjx^x^... - последовательность чис-
лоидов, записанных на сетке
431
Определение 1. Числоид а = ...аура и ta г... называется пределом последовательно-
сти числоидов {£"}, (я = 1,2, ...), если для любых г > 0 и s >0 существует такое N(r, s),
что:
Vzz \а. ...а2а,а„а ta ...а , = x"...x?x"xJx"|X",...xl'r] •
Кратко числоид а будем называть пределом числоидов.
Очевидно, определение фиксирует факт установления цифр в расширяющемся масси-
ве разрядов последовательности числоидов.
Последовательность {£"} , (п = 1, 2, ...) называется сходящейся. Как обычно, пишем:
а = lim л ".
Обращаем внимание на то, что предел а может иметь, например, такой вид
(в десятичной системе счисления): а - ...4952004398116769..., т.е. как разряды, идущие
о
из (-»»), так и разряды, идущие в (+°°), могут иметь нетривиальное цифровое заполнение
(стрелка указывает направление роста разрядов). Тем самым, числоиды, имеющие вид
бесконечно больших чисел, могут выступать в качестве пределов.
Обращаем также внимание на то, что определение дано для числоидов, заданных на
сетке . На её вариациях могут быть даны подобные определения.
Пусть дана некоторая числовая последовательность. Каждому числу этой последова-
тельности можно сопоставить бесконечное множество эквивалентных числоидов. Если из
каждого такого множества произвольно выбрать по одному числоиду, то в итоге получится
последовательность числоидов, которую мы будем называть последовательностью числои-
дов, представляющей данную числовую последовательность. Множество числоидных по-
следовательностей, представляющих некоторую числовую последовательность, бесконечно
и имеет мощность континуума. В этом множестве представляющих числоидных последова-
тельностей может существовать подмножество сходящихся последовательностей.
Пусть {%"}, (л = 1, 2, ...) — числовая последовательность У неё имеется несчётное
множество представляющих числоидных последовательностей. Возможны два случая:
1) либо среди представляющих числоидных последовательностей существует хотя бы
одна сходящаяся, 2) либо среди них нет ни одной сходящейся последовательности.
Случай 1.
Теорема 1. Если среди представляющих числоидных последовательностей существует
хотя бы одна сходящаяся, то среди них существует бесконечно много сходящихся после-
довательностей. (Доказательство опускаем.)
Пусть {%*},,{х"},,...,{х"}„,... - сходящиеся представляющие числоидные последова-
тельности для числовой последовательности {х”} , (л = 1. 2, ...) и числоиды щ,аг,...,ат,...,
(т -= 1, 2,...) - их пределы.
Теорема 2. Множество пределов {«„}, (иг = 1,2,...) состоит из эквивалентных числои-
дов.
Следствие. Множество пределов {<?„}, (т = 1,2,...) представляет некоторое число а.
(Потому что множество пределов состоит из эквивалентных числоидов.)
Определение 1. Число а , полученное таким образом, называется пределом числовой
последовательности {х"} , (п = 1, 2, ...).
432
Если существует классический предел исходной числовой последовательности {х"},
(п = 1, 2, ...), то обозначим его через а .
Теорема 3. Классический предел а и предел а , полученный описанной процедурой,
совпадают: а = а .
(Здесь существенно, что запись числоида из класса эквивалентных чиеиоидов, пред-
ставляющего число, получаемая по канонической процедуре, совпадает с общепринятой
(см. выше)).
Отличие приведённого определения предела числовой последовательности от клас-
сического состоит в том, чтс в приведённом определении допускаются к рассмотрению
расходящиеся в классическом смысле числовые последовательности, которые могут рас-
сматриваться как последовательности числоидов. Рассматриваемые как последовательно-
сти числоидов, они могут иметь числоидный предел. При этом оказывается, что расходя-
щиеся последовательности (и ряды) могут иметь предел, который может быть найден и
осмыслен с помощью процедуры, описанной в определении. Оно служит основой легали-
зации вычислений с расходящимися рядами и последовательностями. Впрочем, это опре-
деление предела вводится не с целью легализации. Оно вводится по той причине, что его
индуцируют своими вычислениями абстрактные вычислительные устройства о чём
говорится далее.
Пример 1. Пусть {%"}, (и= 1, 2, ...), где х" = 01...1110 - числовая последователъ-
' о
(/1-1) раз
ность. Она расходится в классическом смысле. Однако, как числоидная последователь-
ность, она сходится к числоиду а = 10 . Согласно описанному в предыдущем параграфе,
о
ищется эквивалентный ему числоид, имеющий представление в окрестности нуля. Для
этого в числоиде а = 10 выделяется период р = 1 и на его основе пишется представление
р
нуля: 0 = 11, из которого вычитается числоид а . В результате получается ещё один чис-
о
лоид а , эквивалентный числоиду (-а ):
а~ й = 0-<Э = ТТ-Т5 = 61 = 1/3 .
ООО
Получившийся числоид является представлением числа (—1/3).
Итак, данная числовая последовательность {*"}, (я - I, 2, ...), где х" = 01...1110,
' у "’ll
(и 1) раз
расходящаяся в классическом смысле, с точки зрения приведённого определения предела
сходится к числоиду <5 = 10, эквивалентному числоиду а =—01, являющемуся, в свою
о о
очередь, Эйлеровым представлением конечного числа 32 = —01 = —1/3 . Мы можем гово-
0 о
рить о сходимости расходящейся в классическом смысле последовательности к конечно-
му числу и писать limx" = lirnOl...! 110 = —1/3.
п—>°° п—7 * 0
(я-1) раз
Случай 2.
Определение 3. Если числовая последовательность {х"}, 1, 2, ...) среди представ-
ляющих её числоидных последовательностей не имеет ни одной сходящейся, то она назы-
вается расходящейся.
433
Таким образом, факт расходимости числовой последовательности устанавливается
после довольно основательной проверки и обнаружения, что среди всех представляющих
числоидных последовательностей нет ни одной сходящейся.
2. Работа АВУ с числоидами. Приведённое определение предела используется при
описании работы АВУ с бесконечно разрядными объектами. (Абстрактным вычислитель-
ным устройством является абстрактное описание принципа работы любого устройства,
осуществляющего преобразование информации. При этом любое преобразование инфор-
мации считается вычислением. Понятие АВУ есть понятие алгоритма, описание которого
или его аппроксимации приспособлено для реального воплощения в виде устройства.
Действие АВУ распространено на бесконечно местные объекты; кроме того, сами АВУ
могут быть бесконечными объектами.) АВУ могут вести вычисления как с конечными,
так и с бесконечными объектами.
Определение 4. Конечным (лд')-срезом числоида £ = ...хд^лг.... называется объект, обо-
значаемый символом I и определяемый равенством = xs...x,..
Действие АВУ А на конечный объект типа х„...хг определено в описании АВУ А.
Определение 5. Действие АВУ А на числоид £ = ...ц.ГоХ-,.. определяется равенством:
Л(£) = НтЛ(|_х|), (10.75)
где s = s(n) - функция, монотонно возрастающая до (+ оо), а г = г(п\ - функция, монотон-
но убывающая до (- оо).
Замечания. Если АВУ определено не на всей разрядной сетке, то даются аналогичные
определения с учётом особенностей АВУ. Можно также доопределять АВУ до полной
разрядной сетки и пользоваться приведённым определением. Пояснения приведены далее
в примерах.
Пример 1. Автомат сдвига 5, задаваемый в четверичной системе счисления приведён-
ной далее таблицей, отправляясь от числа 0 , последовательно порождает множество всех
натуральных чисел. Точнее, он порождает и свою область определения - множество нату-
ральных чисел: У(1 ={0,01,02,03,010,011,...}, и свою область значений - множество нату-
ральных чисел без нуля: У, = {01,02,03,010,б 11,...}.
Таблица 10.10
Автомат 5
0 1
0 0,0 0,1
0 0,0 0,1
1 0,1 0,2
2 0,2 0,3
3 0,3 1,0
Элементы этих множеств записываются на неполной разрядной сетке
Or" = бгД oj = yyyj- (в изображении натуральных чисел нет необходимости ставить
нолик под цифрой нулевого разряда числа, как мы это делали ранее, поскольку
строение неполной разрядной сетки не даёт повода для недоразумений). Для авто-
мата 5 действие на числоид, связанный с этой сеткой, определяется как и выше, но с
учётом разрядной сетки: г = г(п) = 0 при всех п, т.е. если £ = ...isjjXo... - числоид,
434
представляющий натуральное число, то действие на него автомата S определяется
правилом:
5(i) = lim5(i^J()), (10.76)
где s = s(ri) - функция, монотонно возрастающая до (+сс).
Синтез этого автомата описан в [13, 15]. (Автомат S не порождается никаким дру-
гим автоматом. Наоборот, многие автоматы и АВУ вытекают из него Он порождает
не только все автоматы и АВУ нашей математики, но и числа, прежде всего натураль-
ные. Это самый первый автомат нашей математики.) Автомат S, будучи поставлен
в состояние q = 1 как начальное, осуществляет переход от любого натурального числа
к непосредственно следующему за ним числу (реализует операцию сдвиг). Покажем
это на примере, для чего изобразим развёртку его работы. Развёртка работы любого
АВУ потактно отображает его функционирование. Параметр 1 в развёртке является
одновременно номером такта (моментом времени) и номером разряда. Результат рабо-
ты автомата прочитывается в последней строке у развёртки. Развёртка для 1=011:
о® > / > 2 1 0 t
0 1 1 х
0 0 0 1 q
0 1 2 v
Результат работы автомата записывается в виде 5(011) = 012.
Пример 2. Другой вариант определения действия автомата сдвига на числоиды, задан-
ные на полной разрядной сетке , состоит в доопределении автомата
сдвига на такие объекты с сохранением его действия на натуральные числа. Доопределе-
ние таково.
Таблица 10.11
Автомат сдвига 5 на полной сетке
t>0
V х \ 0 1
б 0,0 0,1
0 0,0 0,1
1 0,1 0,2
2 0,2 0,3
3 0,3 1,0
t<0
V х \ 0 1
б 0,5 1,6
0 0,0 1,0
1 0,1 1,1
2 0,2 1.2
3 0.3 1,3
На полной сетке 6>,., множество натуральных чисел записывается в виде:
No = {00,010,020, ОЗб, 0100,0110.0120....}. (10.76)
0 0 0 0 0 0
Убедимся в том, что автомат S, заданный таблицей 10.11, приспособлен для выполнения
операции сдвига на множестве целых чисел, записанных на полной сетке . Обна-
ружение этого факта основано на формулах (10.74) и (10.75).
Подробности опускаем и записываем итоговый вариант развёртки:
435
oo> t>2 1 0 — 1 > t > — °° t
Oil б 4
OOO1 1 q
0 12 6 v
Из развертки видно, что 5(6110) = 0120, т.е. на множестве натуральных чисел этот ав-
« о
томат действительно осуществляет операцию сдвига. Но, кроме того, он действует на
произвольный числоид в согласии с определением 5. Рассмотрим пример.
Пример 3. Пусть числоид х = 312032233 Он задан на полной разрядной сетке
о
и потому действие на него автомата сдвига S (табл. 10.11)) происходит в согласии с опре-
делением 5, основанном на приведённом определении предела. Итоговая развёртка рабо-
ты автомата S имеет вид:
+ оо>/>3 2 10-1 -2>/>-°о t
П 2 0 3 2 1 3 3. х
0 0 0 0 111 1<—1<—1 q
О 2 1 0 2 2 3 3 у
Эта развёртка поучительна тем, что показывает, как АВ У работают с бесконечно местны-
ми числовыми объектами, осуществляя эту работу за конечное число шагов (вариант ак-
туализации бесконечности). Результат записывается в виде 5(31203 2233) = 312102233,
о ®
т.е. действие автомата сдвига на произвольный числоид сводится (как и должно быть) к
увеличению цифры в разряде единиц и последующему переносу. Цифры, стоящие в отри-
цательных разрядах, не изменяются. Заметим, что числоиды этого примера не принадле-
жат множеству натуральных чисел.
Пример 4. Пусть числоид х = 30 . Развёртка:
о
Устройство «разобралось» с бесконечно местным объектом за два такта. Результат:
5(30) = 00 . Читаем: сдвигом числоида 7 = 30 на единицу получается ноль 00, запол-
0 0 о о
няющий всю сетку Следовательно, числоид 30 представляет число, предшест-
о
вующее нулю, т.е. (—1), и мы пишем 30 = — 1, имея в виду здесь представительское равен-
о
ство, т.е. что числоид слева представляет число справа. (Не забудем, что (-1) - это чуже-
родный знак по отношению к символике, с которой работают АВУ, метасимвол; АВУ
ведут вычисления с цифровыми объектами, числоидами.)
Из приведённых примеров ясна дополнительная полезность записи числоидов с по-
мощью стрелок наверху: 1) появляется возможность работать с бесконечными объекта-
ми как с конечными. Кроме того, 2) решается проблема останова работы устройств: появ-
ление на выходе в старших разрядах цифровых групп со стрелками является признаком
конца работы устройства, и управляющее устройство переключается на работу с другими
устройствами.
436
Рассмотрим другие виды АВУ - делители.
Пример 5. Делитель х • 3 | q с нормальным входом, q е Q = {0,1,2} - состояние авто-
мата, х - числоид. Так называется устройство, задаваемое приведённой таблицей. Оно
делит на три.
Напоминаем, что нормальность входа означает, что цифры числоида подаются на вход от
младших разрядов к старшим. Нормальность делителя яв.гяется в некотором смысле аномали-
ей, его особенностью: обычно мы делим наоборот - от старших разрядов к младшим.
Таблица 10.12
Делитель х 3 | q с нормальным входом
X 0 1 2
б 0, б 1, т 2, 2
1 2,3 0,0 1,1
2 1,2 2,3 0,0
3 0, Т 1, 2 2, 3
Убедимся прежде всего в том, что он правильно работает, что он действительно делит.
Пример 6. Пусть х = 0210 = 9(10|. Изображаем развёртку его работы:
+ оо > t :2 1 0 — 1 > t > —оо t
0 2 1 б X
0 0 2 0 0 ч
0 0 3 б У
Результат прочитывается в последней строке (при этом ноль и ноль со стрелкой, очевид-
но, сливаются в ноль со стрелкой) и записывается в виде 0210 3 * 1 0 = 030, что, очевид-
0 о
но, правильно.
Далее подадим на вход нецелое число.
Пример 7. Пусть х = 03123110 . Это не являющееся целым рациональное число. Опус-
о
кая подробности, связанные с применением определения предельного перехода, изобра-
жаем итоговую развёртку работы делителя:
°ю>/>3 2 1 0 -1 -2 -3 -4>г>-р° t
0 3 1 2 3 1 1 б -г
1 1 1 2 11 2 0 0 q
1 2 13 2 13 б У
Результат деления пишем в виде:
03123116-З-1 0 = 12132130,
о о
что также правильно. Результат проверяется умножением частного на три. Однако смысл
получившегося числоида не ясен Заранее мы знаем о нём только то, что он представляет
некоторое положительное число. Чтобы понять его числовое содержание, вычтем из него,
437
как это указано в предыдущем параграфе, числоид 11=0, являющийся представителем
о
нуля. Получим:
12132130 - П = 01021012.
0 0 0
Получившееся число истолковывается обычным образом, при этом легко проверяется
правильность результата. И на других примерах можно убедиться, что делитель все числа
делит правильно. Кроме того, это доказывается при синтезе делителей.
Посмотрим, каким может быть результат деления целых чисел, не делящихся на три
нацело.
Пример 8. Пусть х = 0230 = 11(101. Развёртка, описывающая деление, имеет вид:
ОО >t>2 1 0 -1>/>-ОО t
0 2 3 б X
1 1 0 0 0 ч
Результат записывается в виде: т 2 1 б У
0230 З"1 | 0 = 1210
о с
Таким образом, нормальный делитель на три при делении числа х = 0230 = 11(10) выдал
в качестве результата числоид 1210. Этим числоидом делитель представляет число
о
032н) =11/3 (вычитаем из 1210 представление нуля 11=0; см. пример 7). Такого
о 11 о о
сорта числоиды уверенно допускал и использовал в своих вычислениях Эйлер. Однако
после обоснования анализа, проведённого последующими математиками, они стали
неприемлемы. И понятно почему. Дело в том, что обоснование анализа было проведено
на основе классического понятия предела. Классическое определение предела выбрасы-
вает из рассмотрения числоиды, в которых цифры нетривиальным образом располага-
ются в разрядах, идущих в (+оо). Выбрасывание произошло, несмотря на то, что подоб-
ные объекты логически равноправны с числоидами, представляющими числа привыч-
ным для пас образом. Однако лишь последние были оставлены для дальнейшего рас-
смотрения и применения. Но и определение 2, и рассмотренный делитель Т-3 1 \q до-
пускают и используют произвольные числоиды. Нет необходимости при выборе объек-
тов, с которыми производятся вычисления, ограничиваться только привычными для нас
числами, если обнаруживается, что АВУ способны вести вычисления не только с числа-
ми, но и с другими объектами, в частности, с числоидами. Главное - чтобы устройства
правильно вычисляли, и чтобы была возможность преобразовывать результаты их вычис-
лений в понятный нам вид, а это всегда возможно. С осмыслением результатов вычисле-
ний особых трудностей также не возникает. Во-первых, надо свыкнуться с мыслью, что,
например, числоид 1210 представляет число 11/3()0) = 3,666(1(1)... = 036(](1) = 032(4) и при-
выкнуть без внутреннего сопротивления писать равенство: 1210 = 032 . Во-вторых, надо
о о
научиться узнавать в числоиде 1210 попятное нам число 032 . Как решается эта про-
• о
блема, сказано выше, а пока убедимся в правильности полученного результата. Пра-
438
вильность деления проверяется умножением. Поэтому рассмотрим умножитель на три и
пропустим через него числоид 1210 .
о
Пример 9. Умножитель х -3 </ на три.
Умножитель на три в четверичной системе счисления задаётся приведённой далее таб-
лицей. В правильности вычислений, проведённых делителем х-3 | q в примере 5, убе-
димся, пропустив результаты предыдущего деления 1210 и 032 через умножитель. По-
0 о
лезно сравнить результаты проверки.
Таблица 10.13
Пишем результат:
1210 3|0 = 0230 .
о о
Сопоставляем его с предыдущим делением:
0230-3-1 |С = 1210 .
о о
Сопоставление показывает работоспособность определения 5 и правильность работы
делителя.
Теперь пропустим через этот умножитель число 032 . Имеем:
0 оо > t > 2 1 0 -1 >t> —оо 0 t
б б 3 2 2 X
0 0 2 1 1 0 ч
б 2 2 3 2 У
Получилась не совсем обычная итоговая развёртка. Как её объяснить? Вспомним не раз
использовавшееся правило: если в момент времени t при подаче на вход АВУ сигнала со
стрелкой на выходе сигнала со стрелкой не получилось, то подачу сигнала со стрелкой на
вход АВУ надо повторить до тех пор, пока на выходе не получится сигнал со стрелкой.
В начальный момент времени автомат находился в состоянии в - 0 и на вход его поступил
сигнал х = 2. По таблице 10.13 находим, что автомат переходит в состояние q = 1 и выра-
439
батывает выходной сигнал у = 2 без стрелки. Согласно правилу, необходимо сигнал со
стрелкой х~2 подать ещё раз, но уже при новом состоянии q — 1. По таблице 10.13 нахо-
дим, что автомат переходит в состояние q = 1 и вырабатывает выходной сигнал у = 3 , но
со стрелкой. Сигнал у = 3 заполнит всю часть разрядной сетки СгД с отрицательными
номерами, т.е. умножитель будет вести вычисления в промежуток времени -1 > t > -«>, а
на выполнение начального действия нет начального момента времени, связанного с раз-
рядной сеткой. Мы помним, что между моментами времени и номерами разрядов в нашей
системе взаимно однозначное соответствие. Поэтому мы вынуждены выполнить началь-
ное действие в момент, который был раньше момента / = -<«>. Такие действия выполняют-
ся на разрядной сетке, предшествующей разрядной сетке Gr(“ , её мы раньше уже
встречали и обозначали Gr' . Места на этой сетке имеют вес 1 0 , где t - момент
времени или, что всё равно, разряд на сетке Gr~' Вспомогательный для нас сигнал 2
(оо -оо)
появится на сетке Gr' в момент 1 = 0, потому что именно в этот момент выходной сиг-
нал 2 на этой сетке будет иметь вес 10““ , тот самый вес, который должна иметь эта двой-
ка в результате предельного перехода согласно определению 5.
Результат последнего умножения читается на сетке Grf___} у
032 310 = 0223
о о
Это ещё одно (привычное для нас) представление числа. Мы хорошо знаем, что
0230 = 0223 = 22,(3). Таким образом, мы имеем два результата:
(I о
1210 3 | 0 = 0230 и 032-3 | 0 = 0223 = 0230
0 0 0 0 0
лишний раз подтверждающих, что 1210 - 032 , т.е. что эти два числоида эквивалентны, а
о о
представляемые ими числа равны.
Итак, у получившегося в результате деления числоида 1210 («непонятного» нам) име-
0
ется двойник 032 (числоид, дающий понятное нам представление числа), и мы пишем
-о
равенство, показывающее, что представляемые этими числоидами числа равны:
1210 = 032,
о о
причём числоид справа сам по себе используется для представления числа. Таким обра-
зом, мы знаем, как по «непонятному» числоиду найти его миелоидного двойника, отожде-
ствляемого с числом. Прежде всего, на основе определения 2 для предела и текста преды-
дущего параграфа можно получить «строгий», согласующийся с этим определением от-
вет. Но мы покажем, что лёгкие вычисления, проводившиеся ранее Эйлером [18, 22], по-
зволяют получить то же самое. Действительно (в четверичной системе счислении
104 = 410),
1210 = ...11121000... = ...1-103 +1 102 + 2-101+1-10°+0 10-*+...=
о о
= 102-1100“_~1-2 10 + 1 = 3^ = 3,222... = 032.
440
(Объект вида а 10“ находится за пределами разрядной сетки и потому не пи-
шется.) Числовой двойник найден, и он совпадает с ранее фигурировавшим. При этом
Эйлер отбрасывает объект <7 -10“ па равных основаниях с отбрасыванием объекта
Z>10™, причём последний объект отбрасывается не по причине его малости, а по той
причине, что ему нет места на разрядной сетке. Объекты а 10” и b 10™ выходят за
пределы разрядной сетки, и по этой причине их надо удалять. Объекты а 10 “ и Ь 10™ и
им подобные - это объекты из иного числового мира, и к ним также естественным обра-
зом подводят нас абстрактные вычислительные устройства.
В § 7 этой главы было сказано, что существует бесконечно много числоидов наподо-
бие числоида 1210, представляющих число 032, и числоид 1210 лишь один из них.
о «о
Примечательно, что все они Эйлеровыми вычислениями приводятся к числу 032 . Один
о
этот факт должен заставить нас признать, что это не случайно. Во всяком случае, абст-
рактные вычислительные устройства требуют их использования.
Резюме:
1. Приведено определение предела, позволяющее находить пределы не тояько последова-
тельностей, сходящихся в классическом смысле, но и последовательностей, расходящихся
в классическом смысле. В основе этого определения предела лежит процесс установления
массива цифр в элементах последовательности.
2. На основе этого определения предела даётся описание вычислений АВУ с бесконечно
местными числовыми объектами. Показано, что вычисление АВУ с бесконечно местными
объектами может быть сведено к конечному действию, в основе чего лежит актуализация
бесконечности.
3. Абстрактные вычислительные устройства могут вести вычисления с любыми числои-
дами. Результаты вычислений, представленные числоидами, всегда могут быть переведе-
ны в привычный числовой вид.
441
Заключение
Главный упор в книге делается на вычислительную сторону дела. Это вполне логич-
но, потому что после синтеза устройств, после их создания следует обратить внимание на
то, ради чего они создаются, - на вычисления, ими проводимые. Вопрос вычислений ока-
зался достаточно содержательным. Вычисления, как выяснилось, несут в себе сильный
просветительский заряд. Почти сразу, уже при изучении вычислений, проводимых самым
первым порождённым автоматом, автоматом сдвига, выявилось, например, что АВУ
представляют отрицательные числа своими собственными изобразительными средствами.
Оказалось, что отрицательные числа можно изображать на числовой разрядной сетке без
использования знака минус. Правда, эти изобразительные средства носят видимость бес-
конечно больших чисел, с которыми мы в нашей практической деятельности не встреча-
емся. Препятствием тому, по-видимому, является естественное желание всё, с чем мы
сталкиваемся, стараться понимать. И если заполнение цифрами разрядной сетки в сторо-
ну отрицательных разрядов у нас не вызывает возражений (в этом случае мы понимаем,
что встречаемся с малыми величинами), то нетривиальное заполнение разрядной сетки в
сторону старших разрядов не встречает энтузиазма с нашей стороны. И попятно почему.
Ведь тогда мы двигаемся в сторону бесконечности, а это уже совсем другая материя, это
уже нечто загадочное. А между тем, почему бы не использовать «свободную террито-
рию», но не подвергая её понятийному насилию, а используя её лишь (на первых порах)
как изобразительное средство. Именно эту задачу решает автомат сдвига, «придумав»
использовать объекты, имеющие видимость бесконечно больших чисел, для обозначения
отрицательных чисел. Поразительно, но все другие автоматы и АВУ, порождаемые вслед
за автоматом сдвига, «поддерживают» его в этом начинании. Они не только с успехом и с
лёгкостью используют эту возможность, но и сами идут намного дальше, порождая на
этой территории необычные числоподобные объекты. Поразительно также, что истолко-
вание порождаемых ими бесконечных числоподобных объектов является частичным по-
вторением уже встречавшегося ранее, а именно того, что проделывали с расходящимися
рядами и последовательностями Эйлер, Лейбниц и другие математики прошлого. Замеча-
тельно, что Эйлер и другие не сомневались в справедливости нелепых на первый взгляд
равенств. Но справедивость эта была особого рода. Не нужно думать, что Эйлер и другие
не понимали ложность такого сорта равенств, если понимать их только в буквальном
смысле. В том-то и дело, что они это понимали и отвергали тривиальное понимание этих
равенств. 11риведённые в книге цитаты Эйлера говорят об этом достаточно красноречиво.
Отмечая, что буквальная трактовка такого сорта равенств не является правильной, Эйлер
всё же считает правильным признать справедливость этих равенств в каком-то ином
смысле. В каком? Об этом он прямо не говорит, но говорит о косвенных признаках их
справедливости. Он отмечает, что если применять эти равенства в вычислениях, то ко-
нечные результаты, в которых в итоге нет бесконечностей и расходимостей, будут всегда
правильными. Более того, если отказаться от такого сорта равенств, то «мы потеряем
много интересных и ценных вещей». Это, конечно, сильные аргументы, но последующие
ученые, занимавшиеся приданием математике строгого лица, стройности и логичности, не
признали их достаточно убедительными. Определение предела, данное Коши, Вейершт-
рассом, исключало примирение с Эйлеровскими вычислениями. Удивительно, но АВУ
ведут свои вычисления именно по Эйлеру.
Со всяким АВУ связапа некоторая вычислительная идея, полным воплощением кото-
рой является само АВУ. Это АВУ реализуется в разных формах. АВУ можно задавать,
например, в виде таблиц, в виде формул. Однако для практики особый интерес представ-
ляет задание АВУ в виде абстрактных В-схем, полностью передающих вычислительную
442
идею, связанную с АВУ, но никак не учитывающих технологию, в которой можно реали-
зовать АВУ Универсальность и независимость от технологии составляет достоинство
В-схем. Абстрактная В-схема является основой для построения принципиальной схемы
АВУ, полностью передающей, как и В-схема, вычислительную идею, связанную с АВУ,
но и, в отличие от АВУ, отражающей также ту технологию, в которой исполняется АВУ.
В книге приведено несколько В-схем, показано, как они работают, и проявлены основные
моменты, связанные с их построением.
Как было сказано в предисловии, в книге нет схемы ни одного реально действующе-
го вычислительного устройства. Но это не означает, что она не имеет отношения к вычис-
лительным устройствам. Имеет, но, как и всякая теория, на необходимом для этого абст-
рактном уровне, позволяющем вести движение от теории к практике. В книге изложены
начала теории компьютеров, ведущих вычисления не только в двоичной, но и в любой
другой системе счисления
С целью минимизации объёма книги автор стремился отразить прежде всего резуль-
тативную сторону дела, не задерживаясь на скрупулёзном проведении доказательств до
конца, но всё необходимое для этого или указано в тексте, или становится ясным из про-
деланных построений.
443
Литература
1. Фихтенгольц, Г. М. Курс дифференциального и интегрального исчисления : в 3-х т.-
СПб. : Лань, 2019.
2. Ситчин, 3. Космический код. - 2007.
3. Фомин, С. В. Системы счисления. - 5-е изд. - М. : Наука, 1987.
4. Александров, II. С. Введение в общую теорию множеств и функций. - М. ; Л. : ОГИЗ,
1948.
5. Колмогоров, А. Н. Математика - наука и профессия. - М. : Наука, 1988.
6. Матвеев, А. Н. Механика и теория относительности. - 2003.
7. Столл, Р. Множества. Логика. Аксиоматические теории. - М. : Просвещение, 1968.
8. Клини, С. К. Введение в метаматематику : пер. с англ. - М., 1957. - 528 с.
9. Бертран, Р. Введение в математическую философию. - Новосибирск : Сиб. унив.
изд-во, 2007. - 264 с.
10. Robinson, A. Non-standard Analysis. - Princeton : Princeton UP, 1996.
11. Турчин В. Ф. Феномен науки: Кибернетический подход к эволюции. - 2-е изд. - М. :
3TQ 2000. - 368 с.
12. Глушков, В. М. Синтез цифровых автоматов. - М. : Физматгиз, 1962.
13. Деев, Г. Е. Абстрактные вычислительные устройства. Т. 1 / Г. Е. Деев, А. В Ламков. -
М. : Энергоатомиздат, 2004.
14. BertalanffyL. General System Theory. -New York, 1968
\5.Деев,Г.Е. Абстрактные вычислительные устройства. Т. 2. — М. : Энергоатомиздат,
2007.
16. Деев, Г. Е. Свертка бесконечного автомата в конечный // Вести, кибернетики. - 2016. -
№ 1.
17. А. с. СССР Последовательный k-ричный сумматор для одновременного сложения п
чисел / Г. Е. Деев, Э. В. Рахов, О. X. Белов. - № 4455791/24 ; кл. G06 F7/50. - 1988.
18. Эйлер, Л. Дифференциальное исчисление. - М. : ГИТГЛ ; Л., 1949.
19. Деев, Г. Е. В-компьютеры / Г. Е. Деев, С. В. Ермаков // Вести, кибернетики. - 2018. -
№ 1.
20. Деев, Г. Е. В-компьютеры, ведущие вычисления в k-ричной системе счисления /
Г. Е. Деев, С. В. Ермаков, А. И. Перегуда [и др.] // Доклад в Сарове. - 2016. - Окт.
21. Летников, А. Теория дифференцирования с произвольным указателем, - М. : Тип.
А. И. Мамонтова, 1868.
Дополнительная литература по теме книги
1. Эйлер, Л. Введение в анализ бесконечных : в 2-х т. Т. 1. - М. : ГИФМЛ, 1961.
2. Девис, М. Прикладной нестандартный анализ. -М. : Мир, 1980
3. Колмогоров, А. Н. Теория информации и теория алгоритмов. - М. : Наука, 1987. - 304 с.
4. Кобринский, Н. Е. Введение в теорию конечных автоматов / Н. Е. Кобринский,
Б. А Трахтенброт. -М. : Физматгиз, 1962.
5. Левенштейн, В. И. Об обращении конечных автоматов ДАН СССР. - 1962. - Т. 147. -
№6.
6. Автоматы : сб. ст. / под ред. К. Э. Шеннона, Дж. Маккарти. - М., 1956.
7. Нейман, Дж. Вычислительная машина и мозг//Кибернет. сб. - 1960.-№ 1.
8. Шоломов, Л. А. Основы теории дискретных логических и вычислительных устройств. -
СПб. : Лань, 2011.
444
9. Карцев, М. А. Арифметика цифровых машин. - М., 1969.
10. А. с. СССР. Устройства для сложения числа с константой / Г. Е. Деев, Э. В. Рахов. -
№ 1278836 ; кл. G06 F7/50, бюл. № 47. - 1986.
И. А. с. СССР. Последовательный k-ричный сумматор/ Г. Е. Деев, Э. В. Рахов.-
№ 4261520/24 ; кл. G06 F7/50. - 1987.
12. А. с. СССР Последовательный k-ричный сумматор для одновременного сложения п
чисел / Г. Е. Деев, Э. В. Рахов, О. X. Белов. - № 4455791/24 ; кл. G06 F7/50. - 1988.
13. А. с. № 1575775. Последовательный умножитель на константу / Г. Е. Деев. - 1988.
14. А. с. СССР. Многостабильный триггер / Г. Е. Деев. - № 4443008/24 ; кл. 5G11C
19/00.- 1989.
15. Деев, Г. Е. Конспект лекций по курсу «Теория конечных автоматов». - Обнинск, 1988
16. Деев, Г. Е. Метод последовательного синтеза сумматоров // Конспект лекций по курсу
«Теория конечных автоматов». - Обнинск, 1989.
17. Деев, Г. Е. Конспект лекций по курсу «Теория конечных автоматов». - Обнинск, 1991.
18. Деев, Г. Е. Два принципа построения электронных схем / Г. Е. Деев, А. В. ЛамковД
Сб. науч. тр. кафедры АСУ ОИАТЭ. - 1996. - № 11.
19. Деев, Г. Е. Абстрактные вычислительные устройства // Сб. науч. тр. кафедры АСУ
ОИАТЭ. -1996.-№ И.
20. Деев, Г. Е. Задача обращения абстрактных вычислительных устройств // Сб. науч. тр.
кафедры АСУ ОИАТЭ. - 1996. - № 11.
21. Деев, Г. Е. Синтез умножителей // Вести, кибернетики. - 2016. - № 4.
22. Деев, Г. Е. Конспект лекций «Теория вычислительных устройств». Ч 1. - Обнинск :
Изд-во ИАТЭ, 2012.
23. Деев, Г. Е. Конспект лекций «Теория вычислительных устройств». Ч. 2. — Обнинск :
Изд-во ИАТЭ, 2014.
445
Оглавление
Предисловие ------------------------------------------------------------- 3
Глава 1
Системы счисления
§ 1. Определение системы счисления --------------------------------------8
§ 2. Показательный базис Ехр(к)------------------------------------------ 11
§ 3. Система счисления Фибоначчи----------------------------------------- 13
§ 4. Различные системы счисления с одинаковыми наборами цифр
во всех разрядах ----------------------------------------------------- 14
§ 5. Натуральный базис--------------------------------------------------- 16
§ 6. Базис Лбеля--------------------------------------------------------- 17
§ 7. Экстравертность системы счисления----------------------------------- 18
§ 8. Системы счисления с поразрядно растущими множествами цифр----------- 20
§ 9. Другие системы счисления ------------------------------------------- 22
§ 10. Экономичность системы счисления ----------------------------------- 23
Глава 2
Натуральные числа
§ 1. Введение ----------------------------------------------------------- 24
§ 2. О понятии абстракта ------------------------------------------------ 25
§ 3 Представление натуральных чисел ------------------------------------- 30
§ 4. Понятие абстрактного автомата -------------------------------------- 32
§ 5. Задание автоматов -------------------------------------------------- 33
§ 6. Табличное задание автоматов ---------------------------------------- 34
§ 7. Описание функционирования автоматов -------------------------------- 35
§ 8. В-схемы устройств -------------------------------------------------- 36
§ 9. Структуры Пеано ---------------------------------------------------- 39
§ 10. Формализация структур Пеано --------------------------------------- 41
§11. Структуры Пеано и понятие числа ----------------------------------- 44
§ 12. Идея количества и понятие числа ----------------------------------- 45
§13. Построения на основе НСA-I ---------------------------------------- 51
§ 14. Иная формализация натуральных аксиом ------------------------------ 52
§15. Натуральная система обозначений ----------------------------------- 54
§16. Решение проблемы обозначений для чисел ---------------------------- 60
§ 17. Появление автомата сдвига 5 --------------------------------------- 62
Глава 3
Последовательный синтез абстрактных вычислительных устройств
§ 1. Введение ----------------------------------------------------------- 69
§ 2. Постановка задачи элементарного последовательного синтеза ---------- 70
§ 3. Линия генетически связанных автоматов первого ранга ---------------- 70
§ 4. Бесконечный автомат, порождённый линией ---------------------------- 70
§ 5. Свертка автомата А„ ------------------------------------------------ 72
446
§ 6. Линия генетически связанных многовходовых автоматов первого ранга - 75
§ 7. Свёртка по входу -------------------------------------------------- 76
§ 8. Свёртка линии автоматов второго ранга ----------------------------- 78
§ 9. Линия генетически связанных многовходовых автоматов
второго ранга и их свёртка по входу ------------------------------------ 79
§ 10. Дальнейшее развитие ---------------------------------------------- 79
§11. Неформальный комментарий к главе 3 ------------------------------- 82
Глава 4
Решение задачи элементарного последовательного синтеза (задачи ЭПС)
§ 1. Постановка задачи ------------------------------------------------- 83
§ 2 Описание работы соединения с помощью развёртки -------------------- 84
§ 3. Построение автомата, эквивалентного цепи -------------------------- 85
§ 4. Минимизация автомата ---------------------------------------------- 87
§ 5. Минимизация автомата, эквивалентного цепи ------------------------- 94
Глава 5
Последовательный синтез автоматов сдвига
§ 1 Автомат 5" --------------------------------------------------------- 95
§ 2. Функции бис автомата сдвига S-------------------------------------- 97
§ 3. Последовательное соединение двух автоматов 51. Автомат 52 --------- 98
§ 4. Последовательное соединение автоматов 51 и 52. Автомат 53 --------- 104
§ 5. Минимальность целевого автомата 53(х) ----------------------------- 108
§ 6. Последовательное соединение автоматов 51 и 5(и-1).
Автомат Sn и целевой автомат 5л(х) ------------------------------------- 110
§ 7. Бесконечный автомат сдвига ---------------------------------------- 117
§ 8 Обратный сдвиг ----------------------------------------------------- 119
§ 9. Отрицательные и целые числа --------------------------------------- 124
§ 10. Последовательный синтез обратных автоматов сдвига ---------------- 126
§ 11. Формульное задание бесконечного автомата сдвига ------------------ 128
§ 12. Операция сложения на множестве целых чисел ----------------------- 131
§13. Экстравертность автомата сдвига по цифре ------------------------- 132
§14 В-схема бесконечного автомата сдвига ----------------------------- 138
§15. Перевод чисел из автоматного кода в обычный и наоборот ----------- 139
§ 16 Автомат сдвига и порождаемые им ординалы -------------------------- 143
Глава 6
Последовательный синтез сумматоров
§ 1. Свёртка бесконечного автомата сдвига в сумматор ------------------- 157
§ 2. Вычисление сумматором х х2 | q ------------------------------------ 164
§ 3. В-схема сумматора 2 х* х~ | q ------------------------------------- 166
§ 4. Экстравертность сумматора X х1 х2 | q по состояниям --------------- 171
447
2
§ 5. Свёртка бесконечного автомата X- в конечный сумматор --------------- 174
§ 6. Пара {свёртка, экстравертность} как генератор бесконечного
семейства вычислительных устройств ------------------------------------- 175
§ 7. Последовательный синтез сумматора трёх чисел ----------------------- 178
ю
§ 8. Автомат X для одновременного сложения четырёх чисел ---------------- 187
§ 9. Автомат X ---------------------------------------------------------- 189
§ 10. Вычитание сумматором I *' I <7 ------------------------------------ 193
§11. Вычитание вычитателем S(4)x1x2 q = у ------------------------------ 195
§ 12. Формульное задание сумматоров и вычитателей ----------------------- 198
§13. Формульное задание сумматоров и вычитателей
для п натуральных чисел-------------------------------------------------- 200
§ 14. О количестве состояний сумматора Х(4)х!...х'' | q ----------------- 207
п
§ 15. Устройства X с автоматическим остановом --------------------------- 209
§ 16. Вычисления сумматорами с декартовым алфавитом --------------------- 215
Глава 7
Последовательный синтез умножителей
§ 1 Умножитель й-.т|<7ц) на константу ----------------------------------- 222
§ 2. Умножитель на константу три ---------------------------------------- 230
§ 3. Экстравертность умножителя по параметру q -------------------------- 232
§ 4. Применение правил построения умножителей --------------------------- 238
§ 5. Двумерная вычислительная структура для вычисления
функции Х| ль + Й ----------------------------------------------------- 243
§ 6. Истолкование числоидов 1 и 2 --------------------------------------- 245
§ 7. Конечная актуализация бесконечности -------------------------------- 246
§ 8. Свёртка умножителя на произвольную константу ----------------------- 255
§ 9. q -экстравертность семейства автоматов {п -х1 + х2 | q } ----------- 258
§10. Свёртка бесконечного автомата их1 + х2 \q ------------------------- 262
§11. Свёртка конечного автомата п-х' + х2 + § ** | q по входам х2 и Xs-- 265
§ 12. Конечный автомат для вычисления скалярного произведения ----------- 267
Глава 8
Умножители на рациональную константу
§ 1 Умножитель 3 17 ----------------------------------------------------- 271
§ 2. Вычисление делителем 3-1 х | q ----------------------------------- 274
§ 3. Формульное задание делителя 3 ’ |<<у ------------------------------- 277
§ 4. Свёртка делителя и-1 х | q по параметру q -------------------------- 281
448
§ 5. Появление новых числовых объектов.
Необходимость расширения разрядной сетки -------------------------------- 282
§ 6. Другие варианты делителя на два ----------------------------------- 291
§ 7. Делитель 10 .? | q ---------------------------------------------- 296
§ 8. Делитель 10-1-x|f (продолжение!) -------------------------------- 305
§ 9. Делитель 10 • х | q (продолжение 2) ----------------------------- 318
§ 10. Делитель 1Г1-||^ ------------------------------------------------ 324
§ 11. Делитель 12 1 | q -------------------------------------------- 331
§ 12. Делитель 13 1 х | q ------------------------------------------ 342
§ 13. Примеры других делителей --------------------------------------- 350
Глава 9
Инверсные делители
§ 1. Инверсный делитель на три ---------------------------------------- 356
§ 2. Вычисления делителем я 3 1 -‘"r | q^ --------------------------- 358
§ 3. Продолжение вычислительных экспериментов с делителями ------------ 368
§ 4. Дальнейшее расширение возможностей делителей --------------------- 378
Глава 10
Эйлеровы вычисления
§ 1. Предельный переход по местам разрядной сетки ---------------------- 389
§ 2. Числоиды и числа -------------------------------------------------- 395
§ 3. Эйлеровы бесконечно малые и бесконечно большие -------------------- 405
§ 4. Эйлеровы вычисления ---------------------------------------------- 410
§ 5. Вычислительный смысл состояний АВУ ------------------------------- 414
§ 6. Гинерчисла и анализ ---------------------------------------------- 421
§ 7. Последовательности числоидов ------------------------------------- 425
§ 8. Предел ------------------------------------------------------------ 431
Заключение ------------------------------------------------------------ 442
Литература ------------------------------------------------------------ 444
449
Георгий Еринархович ДЕЕВ
ТЕОРИЯ ВЫЧИСЛИТЕЛЬНЫХ УСТРОЙСТВ
Учебное пособие
Редакция
естественнонаучной литературы
Ответственный редактор Т. С. Спирина
Корректор О. И. Смирнова
Выпускающий Т. А. Быченкова
ЛР № 065466 от 21.10.97
Гигиенический сертификат 78.01.10.953.П. 1028
от 14.04.2016 г., выдан ЦГСЭН в СПб
Издательство «ЛАНЬ»
lan@lanbook.ru; www.lanbook.com
196105, Санкт-Петербург, пр. Юрия Гагарина, д. 1, лит. А
Тел./факс: (812) 336-25-09, 412-92-72
Бесплатный звонок по России: 8-800-700-40-71
Подписано в печать 17.06.19.
Бумага офсетная. Гарнитура Школьная. Формат 70x100 1/гб.
Печать офсетная. Усл. п. л. 36,73. Тираж 100 экз.
Заказ 362-19.
Отпечатано в полном соответствии с качеством
предоставленного оригинал-макета в АО «Т8 Издательские Технологии».
109316, г. Москва, Волгоградский пр., д. 42, к. 5.
Георгий Еринархович ДЕЕВ
ТЕОРИЯ ВЫЧИСЛИТЕЛЬНЫХ УСТРОЙСТВ
Учебное пособие
Редакция
естественнонаучной литературы
Ответственный редактор Т. С. Спирина
Корректор О. И. Смирнова
Выпускающий Т. А. Быченкова
ЛР № 065466 от 21.10.97
Гигиенический сертификат 78.01.10.953.П. 1028
от 14.04.2016 г., выдан ЦГСЭН в СПб
Издательство «ЛАНЬ»
lan@lanbook.ru; www.lanbook.com
196105, Санкт-Петербург, пр. Юрия Гагарина, д. 1, лит. А
Тел./факс: (812) 336-25-09, 412-92-72
Бесплатный звонок по России: 8-800-700-40-71
Подписано в печать 17.06.19.
Бумага офсетная. Гарнитура Школьная. Формат 70x100 1/гб.
Печать офсетная. Усл. п. л. 36,73. Тираж 100 экз.
Заказ 362-19.
Отпечатано в полном соответствии с качеством
предоставленного оригинал-макета в АО «Т8 Издательские Технологии».
109316, г. Москва, Волгоградский пр., д. 42, к. 5.