«Сезам, открой дверь» — этими словами находчивый и смелый Али-Баба открывал волшебную дверь в пещеру с сокровищами. Представим, что Али-Баба решает задачу потруднее — пытается открыть дверь в другую пещеру, вход в которую перекрывает волшебный бочонок. Он может вращаться вокруг вертикальной оси, а в его крышке пробито четыре одинаковых, симметрично расположенных отверстия. Под каждым из них в бочонке находится сосуд, к примеру кувшин. Просунув руку в отверстие, можно на ощупь определить, стоит он вверх или вниз горлышком. В пещере темно, и через отверстия бочонка ничего разглядеть нельзя.
Опустив в бочонок обе руки, можно перевернуть один или два сосуда. После того как руки из отверстий убраны, бочонок начинает быстро вращаться. Через некоторое время он, останавливается в случайном положении. Через любые два отверстия Али-Баба может снова манипулировать с сосудами до тех пор, пока их не удастся расположить одинаково — горлышками вверх или вниз. Только тогда волшебная дверь откроется.
Попробуем сформулировать алгоритм открывания двери — последовательность действий, которые при любом начальном расположении сосудов и при любых вариантах остановок бочонка через некоторое, заранее известное, число ходов обеспечат открывание двери (пример с бочонком и описание алгоритма заимствованы из книги В. Касаткина «Семь задач по кибернетике». Киев, «Вища школа», 1975).

Опуская руки в отверстия бочонка, человек сначала распознает положение двух сосудов, а затем переворачивает один или оба (или не переворачивает вообще). Первое действие назовем распознавателем, второе — оператором. Очевидно, что алгоритм открывания двери будет состоять из последовательности первых и вторых. Опишем такой алгоритм в виде граф-схемы (рис. 1), в которой распознаватели обозначены кружками, а операторы — прямоугольниками. Два идущих друг за другом таких символа назовем тактом работы.
Первое распознавание проведем по диагонали (кружок № 1). Отверстия, в которые опущены руки, соединены черточкой. Если горлышком вверх расположен только один кувшин, то второй надо перевернуть; если у обоих сосудов горлышки смотрят вниз — переворачиваются оба; в нормальном положении делать ничего не надо.
Второе распознавание (после вращения бочонка) проводится при помощи кружка № 2 (руки пропускают в два верхних отверстия). Порядок операций при этом аналогичен предыдущему. Таким образом, после двух тактов работы три из четырех кувшинов займут нормальное положение — два по диагонали и один по одной из сторон схемы.
Снова применяем (после вращения и остановки бочонка) распознаватель № 1. Что там у нас в бочонке? Если один из сосудов расположен горлышком вниз (последний из четырех), перевернем его — и дверь открыта. Если же горлышки обоих сосудов смотрят вверх, то перевернуть нужно левый верхний (по граф-схеме). Теперь на одной из сторон два сосуда расположены горлышком вверх, а на другой — горлышком вниз.
После очередного вращения бочонка применяем вариант с кружком № 2. Если оба кувшина поставлены одинаково, их переворачивают (поскольку два других сосуда находились в противоположном положении). Дверь открыта.
Предположим, что горлышком вверх установлен один из сосудов. Тогда перевернуть тоже нужно оба сосуда. Теперь по любой из двух диагоналей они будут расположены одинаково.
Следующий такт начинается с распознавателя № 1. Независимо от результата наших «исследований» в бочонке применяется оператор «перевернуть оба»: дверь открыта. Таким образом, пользуясь описанным алгоритмом, удается открыть дверь в пещеру максимум за 5 тактов.

Зная принцип действия и алгоритм открывания бочонка, сконструируем аналогичный кибернетический замок для сейфа (рис. 2).
В верхней части корпуса находится дверца. Под ней вмонтированы четыре лампочки — они играют роль сосудов. Рядом с каждой выведена кнопка, нажимая на нее (аналогично опусканию рук в бочонок), можно выяснить, горит лампа (сосуд горлышком вверх) или нет (сосуд горлышком вниз). Кроме того, около каждой лампы находится тумблер, переключая который можно изменять ее состояние (переворачивать сосуд).
Еще одна кнопка внизу корпуса. Нажимая на нее, заставляют бочонок «вращаться» (происходит смена состояний ламп). На левой боковой панели под крышкой спрятаны еще четыре тумблера. С их помощью задается код замка — исходное состояние ламп.
Дверца сейфа откроется только тогда, когда удается подключить либо отключить все лампы.
Прежде чем рассмотреть работу устройства, познакомьтесь с конструкцией вращающихся дисков. Они изготовлены из фольгированного с обеих сторон гетинакса или стеклотекстолита. На одной стороне (обозначена цифрой 1) расположены 4 концентрических круговых полосы. Другая сторона диска разделена на 4 одинаковых сектора (металлическая фольга шириной около 0,5 мм в промежутках между полосами и секторами удалена). Каждая круговая полоса на одной стороне диска соединена с сектором на другой, обозначенным той же цифрой (рис. 3).

При вращении диска по нему скользят щетки. На стороне 1 они размещены произвольно, а на второй места их соприкосновения равноудалены друг от друга. Оба диска посажены на вал двигателя так, чтобы каждый сектор первого диска находился точно напротив соответствующего сектора второго диска (если смотреть по направлению вала двигателя).
Допустим, что код сейфа задан тумблерами S10 и S11 (лампы Н2 и Н3 включены). Человек нажимает кнопку S13 «Ход сейфа» (назовем эту кнопку, исходя из того, что на каждый ход человека замок сейфа отвечает «своим» ходом). Контакт S13.2 замыкает цепь питания электродвигателя M1, и закрепленные на его валу диски начинают вращаться. Пока они движутся, S13.1 разрывает цепь питания реле К1—К4. Предположим, что первый диск остановился таким образом (остановка диска — случайное событие, зависящее от времени нажатия кнопки S13), что щетка Щ1 находится на третьем, Щ2 — на четвертом, Щ3 — на первом и Щ4 — на втором секторе. Соответственно, на втором диске щетка Щ5 находится на третьем, Щ6 — на четвертом, Щ7 — на первом и Щ8 — на втором секторе.
Когда кнопку S13 отпускают, замыкается цепь питания реле К1 и К4.
Согласно алгоритму применяем распознаватель № 1 — нажимаем на кнопки S1 и S3. Загорается лампа Н3. Затем соответственно граф-схеме применяем оператор «оба сосуда горлышком вверх»: переключаем тумблер S5.
Снова нажимаем на кнопку S13 и далее следуем указаниям алгоритма.
Как только все лампы будут подключены (сработают реле K1—К4) или, наоборот, отключены (ни одно реле не работает), через логическую цепочку, состоящую из контактов К1.2, К2.2, К2.3, К3.2, К3.3, К4.2, к источнику тока подключается электромагнит Y1, и защелка дверцы сейфа открывается.
В нашем примере для этого достаточно, чтобы были включены тумблеры S5 и S8 (горят все лампы) или S6 и S7 (все лампы погашены).
Можно менять код перед каждой демонстрацией работы сейфа. А для того чтобы при открывании боковой крышки трудно было подсмотреть код замка, выключатели располагают «вперемешку» (например, S7, S5, S8, S6).
После того как выключатели, расположенные на лицевой панели, установлены в исходное положение (ручки S5—S8 — внизу), замок сейфа готов к дальнейшей работе.
В устройстве применены следующие детали: реле К1, К4 — РЭС9 (паспорт РС4.524.201); К2, К3 — РЭС22 (паспорт РФ4.500.131); M1 — электродвигатель ДСД-60; кнопки S1 — S4 — K1, S13 — КМ-2; выключатели S5 — S12 — МТ1, S14 — Т1; лампы Н1—Н4—СМ26-5.
Сердечник силового трансформатора набран из пластин Ш20X20 мм. Сетевая обмотка содержит 2750 витков провода ПЭЛ 0,15, обмотка II — 300 витков провода ПЭЛ 0,5. В качестве электромагнита Y1 используется обмотка реле РКМ. С якорем этого реле соединен металлический стержень, играющий роль защелки замка. На ось дверцы надета пружина, которая распахивает дверцу при втягивании защелки.
У сейфа с кибернетическим замком есть один недостаток: устройство не «следит» за действиями человека и слепо следует своей программе. Поэтому прибор легко «сбить с толку», нарушив правила обращения с ним. Допустим, человек нажимает на две кнопки, выясняет состояние соответствующих ламп и производит переключение тумблеров. Затем, не нажимая на кнопку «Ход сейфа» (то есть не изменяя состояния ламп), нажимает на две другие кнопки, выясняет состояние других ламп и переключением тумблеров приводит все лампы в одинаковое положение. Таким образом, замок открывается простым подбором положений выключателей, и вся идея алгоритма открывания сейфа теряет свой смысл.
Однако в схеме замка можно предусмотреть изменения, не позволяющие посторонним нарушать правила обращения с сейфом, исключающие возможность подбора комбинации положения выключателей.

Схема усложненного кибернетического замка приведена на рисунке 4. Блокировка неверных действий человека осуществляется следующим образом. Через 1—1,5 с (это время подбирают при налаживании устройства) после того, как человек нажал на две кнопки и увидел, горят или нет соответствующие лампы (осуществил распознавание), Н1 — Н4 отключаются. Если человек теперь и будет нажимать на другие кнопки (нарушая правила), он не сможет получить информацию о состоянии других ламп.
Одновременно с погасанием ламп Н1—Н4 включается электродвигатель, вращающий диск: тем самым состояние лампочек будет изменяться. Двигатель работает до тех пор, пока не нажата кнопка «Ход сейфа». После этого вновь подключаются H1—Н4, и человек может продолжить процедуру открывания сейфа — применить один из распознавателей. Если же подобранная комбинация гасит или, наоборот, зажигает все лампы, то после нажатия кнопки «Ход сейфа» дверь открывается.
Рассмотрим на конкретном примере, как работает такое устройство. Допустим, что код сейфа задан отключением тумблеров S10 и S11 (лампы Н2 и Н3 подсоединены).
На сейф подают электропитание, и человек согласно алгоритму применяет распознаватель № 1 — нажимает на кнопки S1 и S3. При этом замыкается цепь питания реле К5 и К7, они срабатывают и самоблокируются контактами К5.1 и К7.1. Одновременно контакт К7.4 замыкает цепь лампы Н3, и она загорается. Кроме того, замкнувшиеся контакты К5.2 и К7.3 подсоединяют к источнику тока реле К9, которое через некоторый промежуток времени, определяемый емкостью конденсатора С1, срабатывает. Разомкнувшиеся контакты отключают питание ламп Н1 — Н4 и реле К1 — К4. Одновременно контакт К9.2 включает двигатель Ml, который начинает вращать диски.
Таким образом, после нажатия двух кнопок состояние ламп меняется и становится невозможным подобрать нужную комбинацию выключателей без использования всех этапов алгоритма. Это происходит потому, что контакт К9.1 отключает Н1—Н4 и К1—К4, благодаря которым можно получить информацию о состоянии ламп.
Продолжая открывать сейф, человек применяет оператор «оба сосуда горлышком вверх» — переключает S5. Теперь нажимается кнопка «Ход сейфа» S13; при этом размыкается цепь питания реле К5 — К8. При этом реле К5, К7, а за ними и К9 также отключаются.
Затем человек вновь нажимает на две кнопки около ламп и далее следует указаниям алгоритма.
Как только все 4 лампы будут подключены (сработают реле К1 — К4) или, наоборот, все отключены, логическая цепочка из контактов К1.2, К2.2, К2.3, К3.3, К4.2 подключает к источнику тока реле К10, которое срабатывает и своим контактом К10.1 замыкает цепь питания электромагнита Y1. Его сердечник, соединенный с защелкой двери сейфа, втягивается, и он открывается (после нажатия на кнопку «Ход сейфа»).
Б. ИГОШЕВ, г. Свердловск