Файл: Трахтенброт, Б. А. Алгоритмы и вычислительные автоматы.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.10.2024

Просмотров: 118

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Очевидно, графически различных (т. е. различных по своему начертанию) слов в алфавите {а, Ь, с) существует бесчисленное множество; однако графически различные сло­ ва могут изображать одно и то же самосовмещение из Q. В этом случае естественно слова считать равными и обозна­ чать такое равенство обычным образом. Читатель легко проверит справедливость равенств

b =

асе,

(1)

са =

асес.

(2)

Для этого достаточно сравнить расположения вершин квадрата, которые возникают в результате преобразова­ ний из левой и правой частей этих равенств. Далее легко видеть, что каждое из слов аа, bb, сссс задает одно и то же самосовмещение, а именно так называемое тождественное преобразование, при котором все вершины остаются на прежних местах. Поскольку это преобразование ничего не меняет, целесообразно его изображать также пустым сло­ вом Л - Итак, имеют место и равенства

аа = Д.

(3)

bb =

Л,

(4)

сссс =

Л •

(5)

Сопоставление равенств (1)—(5) с допустимыми

подста­

новками ассоциативного исчисления примера 4 подсказы­ вает следующее предложение, устанавливающее связь меж­ ду этим исчислением и рассматриваемой системой преобра­

зований

квадрата.

 

 

 

Два

произведения

элементарных

самосовмещений квад­

рата задают

одно и то же преобразование в том и

только

в том случае, когда

изображающие

их слова эквивалентны

в исчислении

примера

4.

 

 

В самом

деле, из

равенств (1) (5) вытекает,

что при

каждом применении любой допустимой подстановки к лю­ бому слову S оно переходит в равное слово. Например, при­ меняя подстановку са — асес к слову Ьсас, получаем слово Ьасссс; но ведь в силу ассоциативности умножения мы можем писать: Ьсас = Ь(са) с и Ьасссс = Ь(ассс)с; правые части рав­ ны как произведения соответственно равных множителей, значит, и левые равны между собой. Итак, любые два смеж­ ных слова равны.

Теперь уже легко понять, что эквивалентность двух слов в нашем ассоциативном исчислении влечет за собой их

44


равенство (т. е. одинаковость самосовмещений, задаваемых

ими). Действительно, если S ~ Т, то в соответсвующей

це­

почке

всякие два смежных

элемента равны,

а значит,

и

S =

Т.

утверждение: если

слова равны,

Имеет место и обратное

то они эквивалентны. Действительно, если два слова равны,

то равны и соответствующие им приведенные слова

(это

вытекает из прямого утверждения). Вместе с тем

непосред­

ственно можно проверить, что все восемь приведенных

слов

задают

попарно различные самосовмещения (см. рис.

9,

I I — I X ,

где изображены расположения

вершин

квадрата

(рис. 9, II) при самосовмещениях, соответствующих восьми

приведенным словам). Поэтому, если два

слова

равны,

то

им соответствует одно и то же приведенное слово, а зна­ чит, по ранее доказанному они эквивалентны.

Таким образом, формальная эквивалентность двух слов в нашем исчислении получает конкретный геометрический смысл и распознавание эквивалентности двух слов приобре­ тает значение решения конкретной геометрической задачи. Вместе с тем описанный нами алгоритм предстает перед на­ ми как общий метод решения любой геометрической задачи данного типа.

Аналогично обстоит

дело

и с другими

исчислениями,

в которых

формальная

эквивалентность также

допускает

конкретное

геометрическое,

алгебраическое

или

иное ис­

толкование. Без преувеличения можно сказать, что во вся­ кой области математики имеются теоремы, которые могут быть сформулированы после некоторой обработки в вид-,е утверждений об эквивалентности двух слов в некотором ис­ числении. В этой книге нет возможности разобрать этот круг вопросов; некоторые пояснения будут даны еще по хо­ ду дальнейшего изложения (см. п. 7.2).

Заметим еще, что, исходя из того геометрического истол­ кования, которое мы дали проблеме слов в рассмотренном исчислении, можно теперь построить алгоритм непосред­ ственно и даже несколько проще. Именно, достаточно для каждого из двух предлагаемых произведений фактически

осуществить последовательность

соответствующих самосо­

вмещений (хотя бы на чертеже) и сравнить

результаты.

У п р а ж н е н и е .

Решить

проблему

слов для ассо­

циативного исчисления, заданного в алфавите {а, Ь} с до­ пустимыми подстановками:

ааа = bb, bbbb = Л-

45


4.6. Уравнения

в

словах.

Опишем одну

алгоритмическую

проблему, связанную с

исследованием

ассоциативных

исчислений,

для которой никому еще не удалось найти разрешающий

алгоритм.

Пусть зафиксирован двухСуквениый

алфавит {а, Ь)\ под словами

ниже

всюду подразумеваются

слова (не пустые!)

в этом

 

алфавите.

Под

произведением

Р,

Р а ... Р т слов-множителей

Pt ,

Р 2

,

Рт,

взятых в указанном порядке, понимаем слово, которое получается,

если приписать справа к Р ( слово Р 2 , к полученному слову

приписать

справа Р 3 и т. д. и т. п.

Пусть,

например, Р => ab, R =

baba,

S =

= ba, Т — abba. Тогда

каждое

из двух произведений PRR и

TRS

равно одному и тому же слову

abbabababa. В этом смысле можно го­

ворить, что уравнение в словах

хуу =

иуг (его можно записать и бо­

лее привычным способом ху- =

иуг)

имеет решение х =

Р, у =

R,

и — Т, г = S. Легко видеть, что это уравнение имеет и много других

решений. Вместе с тем, очевидно, что уравнение в словах ху =

хуг

не имеет никакого решения. В общем случае уравнения

в словах мо­

гут содержать и коэффициенты, которыми являются слова в алфа­ вите (а, Ь). Например, выражение xbabay = uyba является уравне­ нием в словах, в котором наряду с неизвестными х, у, и встречаются коэффициенты baba (в левой части), Ьа (в правой части). Одно из воз­ можных решений:

х = ab, у = baba, и = abba.

Далее, под системой уравнений в словах будем понимать систему,

каждое из уравнений

которой, так же, как и в только чго разобран­

ных

примерах, имеет

вид равенства двух произведений неизвест­

ных.

Как обычно, решением такой системы называют такой набор

слов,

сопоставляемых

с неизвестными системы, который является

решением каждого

из уравнений

системы. Подчеркнем, что здесь под

равенством слов имеется в виду

графическое их равенство, т. е.,

попросту

говоря,

их

совпадение.

 

Например,

решениями

системы

 

 

 

 

 

ху-

=

иуг

 

 

 

 

 

 

 

ху

=

ух

 

 

будут х =

U, у =

U,

и =

U, г =

U, при любом слове

U. Однако

х — Р, у =

R, и — Т, г =

5 уже не является

решением, ибо PR =

= abbaba ф

babaab =

RP.

 

 

 

 

 

Интересующая нас проблема

 

заключается в следующем: найти

алгоритм, который для любой системы уравнений в словах позволяет выяснить, имеет ли она решение.

§5. ВЫЧИСЛИТЕЛЬНАЯ МАШИНА

САВТОМАТИЧЕСКИМ УПРАВЛЕНИЕМ

5.1.Человек-вычислитель. Наша ближайшая цель со­

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

Руководствуясь алгоритмом, человек-вычислитель совершает процесс, в котором происходит прием, хранение,

46


переработка и выдача некоторых сведений (некоторой ин­ формации). Обычно эти сведения вычислитель записывает (изображает) на бумаге с помощью цифр, букв или других символов. Совокупность всех этих символов принято назы­ вать алфавитом. Например, в алгебре применяется алфавит, в который входят, кроме обычных букв, цифры, знаки алгебраических операций, скобки и т. д.

Для вычислительного процесса, происходящего с уча­ стием человека-вычислителя, характерно наличие следую­ щих трех факторов (см. схему на рис. 10, а):

Лист Нумаги

Запоминающее

устройство

 

Рис. 10.

 

 

1. Х р а н е н и е

и н ф о р м а ц и и

обеспечивается

обычно записью всех

сведений на л и с т е

б у м а г и ,

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

затушевывать основного факта, заключающегося

в том,

что вычислительный процесс предполагает наличие

таких

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

которые обеспечивают

хранение сведений.

2. О б р а б о т к а

и н ф о р м а ц и и предполагает

способность вычислителя выполнять отдельные элементар­ ные операции, предусмотренные в алгоритме, и может осу-

47

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

место листа.

 

3. У п р а в л е н и е

п р о ц е с с о м , т. е. приня­

тие решения о реализации

на данном этапе процесса той

или иной операции и создание условий для ее выполнения, осуществляется самим вычислителем согласно инструкции.

5.2. Вычислительные машины. Из каких устройств со­ ставлена машина и как они взаимодействуют между собой? Ответ на этот вопрос подсказывается тем, что в ней должны происходить те же процессы, какие были только что описа­ ны, но уже без участия вычислителя.

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

Целый ряд соображений оправдывает преимущественное применение алфавита из двух символов (двоичного алфавита), условно называемых 0 и 1. Так, например, этот алфавит проще всего осуществляется физически в электрических цепях в виде двух состояний: высокое напряжение (или — ток идет) и низкое напряжение (или—ток не идет). Далее приходится считаться и с тем, что простейшие логические операции совершаются над переменными, могущими прини­ мать два значения: «истинно» и «ложно». Однако выбор того или иного алфавита и способ изображения в нем нужных сведений далеко не является решающим для понимания

устройства и работы

машины. Поэтому, ограничившись

тем замечанием, что

в современных машинах пользуются

преимущественно двоичным алфавитом и двоичной системой счисления (вместо употребительной десятичной), мы в даль­ нейшем не будем вдаваться в эти детали.

Итак, информация, которая поступает в машину, а также та, которая вырабатывается в ней в процессе ее работы, изо-

48

' •


бражена в виде некоторых физических параметров. В инте­ ресующих нас случаях все сведения, составляющие инфор­ мацию, будут зашифрованы числами. В частности, в виде набора чисел будет зашифрован и сам алгоритм, которым должна «руководствоваться» машина в своей работе. Алгоритмы, составленные специально для машин, называют

обычно

программами.

Программа

является важнейшей

частью

информации,

с которой

имеет дело машина. В со­

ответствии со схемой

рис. 10, а

в машине имеются устрой­

ства

(органы), выполняющие функции

хранения,

информа­

ции,

ее обработки, управления

процессом (см. рис. 10, б).

1. З а п о м и н а ю щ е е

у с т р о й с т в о

играет

роль листа бумаги. На условном языке машины в

нем фик­

сируются все нужные сведения, включая программу. Воз­ можность физического осуществления органа, выполня­ ющего такие функции, вряд ли вызовет у кого-либо сомне­ ние. Действительно, эту функцию может выполнять магнит­ ная лента, на которой кодированные, сведения фиксируют­ ся и с которой они снимаются примерно так же, как на обыч­ ном магнитофоне. Запоминающее устройство {память ма­ шины) состоит из набора ячеек, занумерованных натураль­ ными числами: 1,2,3 ... Эти числа называются адресами ячеек. Каждая ячейка хранит или может принять на хра­ нение одно закодированное сообщение; в вычислительных машинах каждое такое сообщение представлено, как мы уже отметили, в виде некоторого числа.

Практически в электронных машинах кроме магнитной ленты применяются и другие средства «запоминания»,

аименно электронно-лучевые трубки, принцип работы ко­ торых несколько напоминает работу телевизионных трубок,

атакже магнитный барабан, причем функции запоминания разделены между этими органами целесообразным способом. Однако мы не будем различать отдельных составных час­ тей памяти и без ущерба для понимания дела будем исходить из представления об едином запоминающем устройстве, хо­ тя бы в виде магнитной ленты.

2. А р и ф м е т и ч е с к и й б л о к играет ту же роль, что и обычный арифмометр, хотя физические принци­ пы, лежащие в основе его конструкции, сильно отличают­ ся от тех, которые использованы в обычном арифмометре.

Переработка подаваемых в

него данных в нужный

резуль­

тат (например, сложение

чисел) происходит

путем

преобразования в электронном устройстве входных элек­ трических сигналов, изображающих входные данные, в элек-

49