Диалог с машиной

К. Левитин, А. Меламед, журнал «Знание – сила», №9, 1966 год. Статью дополнил прекрасными иллюстрациями Бориса Арцыбашева.

Глава 1. «Кавер стори»

Как и всякий солидный западный журнал, «Тайм» свято держится традиций. Одна из них – помещать на обложке портрет кинозвезды, политического деятеля или просто преступника, представляющего, по мнению издателя, в данный момент наибольший интерес для читающей публики. Статья, посвящённая этому лицу, – так называемая «кавер стори», – как правило, и самая интересная, и самая объёмистая. Но тот номер, что лежал перед нами в гостинице Новосибирского Академгородка, выглядел необычно. На его обложке в модной сюрреалистической манере была изображена глазастая шестирукая вычислительная машина, вокруг которой, как вокруг алтаря бога Шивы, сгрудились люди. «Кавер стори» объясняла, каким образом простому «компьютеру» – вычислительной машине – случилось выбиться в герои дня: «Если вследствие какой-либо неизвестной нам электронной болезни все вычислительные машины вдруг внезапно остановятся, страна будет практически парализована: заводы закроются, финансы погрузятся в хаос, большинство телефонов замолкнет, а небеса окажутся беззащитными перед атакой врага... Без нынешнего поколения электронных машин человек никогда не мог бы надеяться достичь Луны. Развитие реактивных самолётов задержалось бы на многие годы. Не было бы ни баллистических снарядов, ни подводных лодок с ракетами «Полярис».

Оказывается – если верить «Тайму», – в США уже сегодня вычислительные машины решают более семисот специфических задач: от библиотечного дела до управления подземными ядерными взрывами. Они ведают распределением электроэнергии почти по всей стране (говорят, правда, что именно по их вине произошла знаменитая авария вблизи Ниагарского водопада, когда сорок миллионов человек почти сутки сидели без света), с их помощью находят свою дорогу корабли и самолёты, готовятся пироги, цемент и прогнозы погоды, подсчитываются доходы и налоги, определяется, какой тип газет и сосисок пользуется наибольшим спросом, регулируется уличное движение, диагностируются человеческие и машинные болезни. Они служат кесарю, посылая ежемесячные платёжные извещения, и богу, подсчитывая голоса католических епископов на вселенском соборе. Машины эти выполняют девяносто пять процентов государственных денежных расчётов, прослеживают путь каждого ботинка, носка или снаряда в армии, регистрируют курс, направление и скорость всех кораблей в Северной Атлантике. Белый дом экспериментирует, стремясь приспособить электронные машины для подбора мужчин и женщин на высшие правительственные должности. Департамент полиции Лос-Анжелеса пытается создать электронную галерею известных преступников, чтобы облегчить их поимку. Во многих школах Америки компьютеры выполняют работу учителей истории, математики и иностранного языка. И так далее, и тому подобное.

И вдруг – неожиданный поворот в рассуждениях автора. «Беда в том, что машина довольно посредственный собеседник. До сих пор специалисты могли разговаривать с машинами лишь на одном из тысячи семисот искусственных языков, таких, как Кобол, Фортран, Мад, Джовиал. Языки эти представляют собой загадочную мешанину из знаков и букв, которую могут расшифровать лишь одни её создатели. Поэтому, заключал автор статьи, всё слышнее становятся голоса программистов – людей, способных понимать «зверя». «Поскольку электронные вычислительные машины требуют специального, очень тонкого обращения, возникает новая группа специалистов, осуществляющих контакт с электронным племенем. Они молоды, блестяще образованы, хорошо оплачиваемы, их всегда не хватает. Титулы их необычны и звучны, а ответственность велика. Они образовали касту священнослужителей при машинах, намеренно отдалённую от людей обычного уровня Любители распутывать всякого рода проблемы, они за завтраком играют в шахматы, во время коктейля решают алгебраические уравнения, а язык, на котором они говорят друг с другом, по мнению многих, есть не что иное, как средство мистификации окружающих. Глубоко заинтересованные проблемами логики и чувствительные к её нарушению в обыденной жизни, они часто раздражают своих друзей, заставляя их перефразировать свои вопросы более логично. Эти люди неудовлетворены успехами машин на Земле и в космосе, они постоянно стремятся расширить их возможности».

К этим людям нам и предстояло сейчас идти.

 

Глава 2. У врат алтаря

И вот мы сидим у врат алтаря. Новосибирского Шиву поставили на профилактику, и «замкнутая каста» может позволить себе роскошь немного поболтать с «людьми обычного уровня». Принимают нас двое жрецов – первые, что встретились нам в коридоре и радушно пригласили к себе. «Титулы их звучны» – научные сотрудники Вычислительного центра Сибирского отделения Академии наук СССР. «В белых рубашках, спокойные и торжественные, проходят они между рядами бесшумно работающих машин». Это снова из «Тайма». А Геннадий Кожухин и Юлий Волошин – в ковбойках, с распахнутыми воротами, общительные, экспансивные, один примостился на краю стола, другой – где-то на ручке кресла. От них не веет ни тишиной, ни спокойствием. Впрочем, они оба действительно молоды н, видимо, очень неплохо образованы. Но главное, что мы с радостью отмечаем: как-то сразу удаётся пробить броню их кастовой замкнутости – если предположить, что сама она не плод фантазии журналиста из «Тайма».

Конечно, это никак не могло быть случайностью, что проблема общения человека и машины так прочно заняла первое место во всех «кибернетических» спорах последнего времени. По мнению учёных, способности сегодняшних электронных машин лет на десять-пятнадцать опередили возможности их использования.

Ограничивающим фактором становится не быстродействие, надёжность или ёмкость памяти машины, а наше неумение вступить с нею в плодотворный контакт. «Вычислительная машина, лишённая общения с внешним миром, стоит перед опасностью превратиться в чудовище, бормочущее что-то себе под нос в заброшенной всеми комнате с кондиционированием воздуха», – сказал недавно вице-президент американской компании по производству электронных машин. Сложность контакта с «электронным племенем» иногда даёт о себе знать в весьма необычных ситуациях. Объединение нью-йоркских баров – организация, далёкая от проблем большой науки, – подняло вопрос: каким образом можно подвергнуть вычислительную машину перекрёстному допросу в суде? Дело в том, что, руководствуясь советами «электронного мозга», фирма нарушила антитрестовские законы. Доказывая свою невиновность, она представила ленту с колонками цифр, отражающих работу машины. Однако, чтобы определить, кто конкретно виновен в инкриминируемом фирме преступлении, необходимо было задать несколько вопросов самой машине – как свидетелю защиты, а возможно, и как соучастнику.

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

Недавно в Москву приезжал Клод Шеннон – один из столпов сегодняшней кибернетики.

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

Зачем же нужно это многоязычие? Что мешает машинам сразу же, со дня рождения говорить на общем языке? Этому, к сожалению, препятствует само естество вычислительных машин. «Машинный язык есть точное отражение конструкции вычислительной машины. Унифицировать машинные языки – это всё равно, что унифицировать все типы вычислительных машин», – так пишут в своей книге «Электронный язык» французские учёные Жак и Жанна Пуайены.

Но ведь это же настоящий замкнутый круг! Чтобы уметь общаться с разными машинами, надо заставить их говорить на одном языке. А машины, имеющие единый язык, имеют и одинаковую конструкцию.

Перед кибернетиками встали сразу две – казалось бы, противоречащие друг другу – задачи. С одной стороны, придумать единый язык, понятный машинам н удобный для людей. С другой – не дать этому языку «постричь» все машины «под одну гребёнку».

В 1958 году группа английских и немецких учёных собралась в Цюрихе, чтобы наконец разрубить этот гордиев узел. Предлагалось следующее решение. Пусть машины по-прежнему имеют каждая свой собственный, строго логический, сухой язык. И люди, работающие с ними, пусть тоже не отказываются от того способа выражения мыслей, что они впитали с молоком матери. Но уж зато промежуточный язык-посредник, который стоит между машинными и людскими языками, обязательно должен быть единым – для всех наук, для всех учёных и, разумеется, для всех машин. А для того, чтобы машина могла понять этот язык-посредник, для каждого типа машин должно быть создано специальное устройство-переводчик, по-английски – транслятор. Трансляторы будут переводить тексты с общего, единого языка-посредника на язык машины. Так возник язык АЛГОЛ, к названию которого впоследствии прибавили цифру 58, чтобы указать «год выпуска» и тем самым отличить его от дальнейших модификаций.

В своё время на вселенском соборе, дабы покончить с разночтениями, из восьмидесяти наиболее распространённых евангелий было отобрано четыре: их велено было считать каноническими, а все остальные объявили апокрифическими – ложными.

Нечто похожее происходило и на первой конференции, посвящённой созданию АЛГОЛа. И, словно задавшись целью сделать аналогию полной, фирма «ИБМ» взяла на себя роль еретика, категорически отказавшись забыть свой древний язык – ФОРТРАН. Вскоре появилась и новая ересь – некоторые фирмы не согласились принять улучшения, которые было решено внести в АЛГОЛ на следующем, теперь уже международном форуме программистов и машинников, который состоялся в 1960 году в Париже.

Однако, несмотря на подобные трудности, вавилонскому столпотворению электронных языков пришёл конец.

Но, как резонно замечают в своей книге Пуайены, «универсальный язык не может быть чем-то мёртвым; его недостаточно создать, нужно, чтобы он жил». То есть надо пользоваться им – и чем шире, тем лучше. Пользоваться – значит записывать задачи на АЛГОЛе, а уж с него потом переводить на язык команд любой машины.

Вот это и есть уровень, с которого началась работа наших новосибирских хозяев. Нам предстояло познакомиться с системой, которая умеет перевести условия любой задачи, записанные на АЛГОЛе, на язык машины. Иными словами, машина сама составит для себя программу решения той задачи, условия которой мы ей предложили. Поэтому транслятор называют ещё «программирующей программой» или «программой для составления программ».

 

Глава 3. История, поведанная амбарными книгами

Рабочий день кончился – мы и не заметили как. Молодой блестящий служитель машинного культа Геннадий Кожухнн наскоро попрощался и, выхватив из стола «авоську», устремился к дверям: он торопился в детскую молочную кухню. Его коллегу Юлия Волошина священный долг ещё раньше призвал на занятия в военкомат. Но сказать, что мы остались одни, было бы неправдой. Перед нами на столе лежали небольшая газета н три толстые амбарные книги. Эти книги... За свою жизнь мы перелистали не одни десяток подобных шедевров отечественной полиграфии. В любом НИИ они почему-то служат лабораторными журналами. Но таких, как эти, нам ещё не случалось держать в руках. Это была летопись – без всякой натяжки.

Первая книга называлась «Талмуд». Она начиналась, как и положено такого рода хроникам, с первого упоминания о появлении отдела программирования на новосибирских землях. Случилось это в 1961 году. К тому времени накопилось немало интересных идей (сам отдел существовал уже несколько лет, но до поры до времени – в Москве), и, чтобы обменяться ими, решили созвать общеотдельское вече. Этот период окрещён «мозговым штурмом». Он продолжался два месяца и состоял из почти непрерывных заседаний. Всё, что обсуждалось на них, зафиксировано в летописи аккуратным девичьим почерком. Но сквозь ровные, округлые буквы явственно прорываются жаркие споры, смена энтузиазма и разочарования, живые человеческие голоса.

В чём суть этих дискуссий?

Несмотря на дотошную документальность, нам никогда бы не удалось разобраться в этом, если бы в комнате ещё не звучали обрывки утренних разговоров и если бы в ней незримо не присутствовал третий человек – ироничный комментатор летописи, сумевший вместить свои ремарки в жёсткие рамки газетной статьи, занявшей два подвала многотиражки. Если прибавить к этому, что комментатор этот – не кто иной, как Андрей Петрович Ершов, заведующий отделом программирования, следовательно, непосредственный начальник наших новосибирских жрецов, то становится понятным, насколько компетентны его суждения.

Группа Ершова шла дорогой, параллельной той, что избрали кибернетики в других странах. Первой своей задачей они считали разработку языка-посредника. «Хотя в то время мы работали ещё в Москве, – следует ершовская ремарка, – но чувствовали себя сибиряками, и поэтому новый язык, который был вчерне разработан уже к началу 1960 года, получил название «Сибирский».

Но в это время в печати появились сообщения об АЛГОЛе-60. Сравнив его с Сибирским языком, ершовцы были поражены: основные пути развития того и другого языков от их общего предшественника АЛГОЛа-58 почти полностью совпали. Было решено поддержать международное начинание. «Летом 1960 года Ю. М. Волошин и Г. И. Кожухин проделали кропотливую работу по приспособлению Сибирского языка к АЛГОЛу, в результате чего Сибирский язык утратил свой «национальный» характер».

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

...Кончался 1960 год. На рабочей конференции по АЛГОЛу, состоявшейся чуть ли не перед самым Новым годом, выступил Геннадий Кожухин. Он рассказал о том, какой ему видится эта система автоматического программирования, способная переводить с АЛГОЛа на машинный язык. «Это сообщение, – комментирует Ершов, – демонстрировало не только наличие серьёзных идей в отношении построения системы, но и нашу неопытность и неоправданный оптимизм: в докладе утверждалось, что вся система будет насчитывать не более пятнадцати тысяч команд и будет закончена к концу 1962 года».

Слово «система» звучит торжественно и величественно... Между тем результатом всей работы новосибирцев должна была явиться магнитофонная лента. Да, она одна – правда, с записанными на неё командами. Команды эти – безукоризненно точная инструкция для машины, пользуясь которой она может любое высказывание на языке АЛГОЛ превратить в единственно понятное ей «чтиво»: чередование нулей н единиц, расставленных по местам. «Система автоматического программирования» – тоже программа, только невероятно большой длины. Подчиняясь ей, машина сама готовит для себя подробнейшее, расписанное шаг за шагом задание.

...«Мозговой штурм» разрешил самые запутанные проблемы. Удалось определить общую структуру программы, разбить её на отдельные куски и договориться о том, как разрабатывать эти куски, чтобы они подчинялись единой логике. «Мы не пожалели времени на поиски более подходящего имени для нашего детища, сменив громыхающее название «программирующая программа» на звучное и несколько таинственное «Альфа-транслятор». (Что такое «транслятор» – понятно, а «Альфа» – всё тот же древний символ начала начал).

За тем периодом, к которому относится этот комментарий, следует эпоха напряжённейшей работы. В амбарной книге одна за другой бегут страницы, полные коротких, малопонятных фраз. Масса сокращений, условных значков. Суровая научная проза. И вдруг – кризис. Вся работа под ударом: самый главный блок транслятора – программирование выражений, – над которым трудился Кожухнн, не влез в память машины.

Мы листали страницы, на которых были отчётливо видны знаки бедствия... В чём там было несчастье с этим чёртовым блоком? И что такое вообще «блок»?

«Альфа-транслятор» вдумчиво читает текст, записанный на АЛГОЛе. Не раз и не два он «прошивает» его насквозь, выполняя одну за другой разные смысловые операции. За каждую из них отвечает определённый участок программы. Это и есть блок. К примеру, сначала анализируется синтаксическая структура текста, затем определяются отношения между входящими в него символами и так далее.

Транслятор работает так, словно играет известную игру, в которой требуется превратить «муху» в «слона», последовательно меняя в слове всего по одной букве. Каждый блок производит с текстом задачи лишь одну определённую группу преобразований, но зато все преобразования этого типа должны быть сделаны за один «проход». Следующий блок должен получить в наследство полностью «прочёсанный» текст. В результате многократной утюжки на месте мухи, записанной на АЛГОЛе, появляется слон – та же задача, но представленная в виде машинных команд.

Но как это кожухинский блок «не влез в память машины» и чем тут можно помочь? Каждый блок – это участок магнитофонной ленты, испещрённый командами, которые машине надлежит выполнить, работая над текстом. Команды эти переписываются в память, а уж оттуда одна за другой дают свои руководящие указания машине. Сделав, что ему положено, блок стирается и представляет в распоряжение следующего участка магнитной ленты девственно чистую память машины. Но если на ленте, то есть в трансляторе, можно записать как угодно много команд, то машинная память имеет вполне определённые размеры. Поэтому может случиться – и именно так и произошло с блоком программирования выражений, – что свободных ячеек в памяти машины окажется меньше, чем команд и блоке. Очередную команду некуда будет направить – блок «не влезает в память».

Где же выход из положения? Менять машину на более мощную? Абсурд! Уменьшить число команд блока? И так уж, наверное, они сведены к минимуму. А нельзя ли найти в нём две самостоятельные группы операций, которые можно выполнять последовательно, и добавить ещё один «проход» текста? Мысль кажется разумной. Листаем «Талмуд» дальше и вскоре видим радостные восклицательные знаки. Комментарий: «Короткий период шока сменился взлётом творческой активности, н ценой четырёхмесячной задержки удалось разбить этот блок на два работающих друг за другом».

Оптимизм ершовцев менялся обратно пропорционально проделанной работе. Длина транслятора перевалила за тридцать тысяч команд, а конца ему не виделось. Стало ясно, что к концу 1962 года не удастся даже приступить к его отладке.

Но всему на свете приходит конец – «Талмуд» сменился на «Альфа-рождение». Это не означало, что конец пришёл и работе – просто наступил следующий этап. «Комплексная отладка программы, состоящей из сорока тысяч команд и записанной на кое-как работающей магнитной ленте, имеет свою специфику. Машина, снабжённая такой программой, ведёт себя как кибернетическое устройство, несомненно одушевлённое и к тому же обладающее злонравным характером, направленным против программиста. Научная работа выродилась в ожесточённое сражение с машиной, умело перепутывающей свои собственные неисправности с ошибками в трансляторе». Следуют недели неудач. Изведя многие километры магнитной ленты, ершовцы не запрограммировали ни одной задачи. Даже тесты – специальные испытательные примерчики – не получались.

Записи в «Альфа-рождении» приобретают оттенок безнадёжности:

«24 мая. Сегодня – чёрная пятница. Сгорел мотор на одном из барабанов. Ва-а-а-й.

25 мая. За чёрной пятницей следует чёрная суббота.

26 мая. Нашла – будь она трижды проклята, эта вторая ошибка!!! Кто сделал её – дур-р-рак, псих ненормальный. Но машина всё равно не работает. Господи, сниспошли своё благословение на это святое дело».

На следующей странице нарисован квадрат, под ним подпись: «Эта рамка заготовлена, чтобы вписать, что первый тест прошёл».

В центре квадрата изображён кукиш.

Потом идут унылые стихи и детективные рассказы, которые сочинялись в ожидании окончания очередного ремонта машины. Крик души: «Пусть будет впредь другим наука: писать транслятор – это мука». Разумеется, эти эмоциональные срывы лишь вкрапливаются в деловые строчки вроде: «Если будет возможность, прошу пустить второй и третий блоки. Бабеикий». И – в ответ – «тов. Бабецкому. Частные заказы в этой артели не принимаются». Безысходное отчаяние и восхищение выносливостью неведомого нам «Г. П.» (носящего прозаическую фамилию Макаров) пронизывают поэму, которая заканчивается на элегической ноте:

«Ошибка где, никто не знает. Все спят. Макаров лишь не спит».

Наконец первый тест всё-таки проходит, хотя рамка для сообщения об этом уже давно занята. И сразу же за столь радостным событием – грустные-прегрустные стихи:    «А тест второй всё не проходит, не пропускает блок седьмой. Там чудеса, там леший бродит. Идёмте, девочки, домой». «Пишите аккуратнее. В этой увлекательной летописи не хватает синхроимпульсов: станьте точную дату. А. Ершов».

«28 нюня. Обнаружена ошибка в генеральном тесте. (Гена! Именно то, что мы думали)». Строчкой ниже – другим почерком жестокие слова: «Резюме – переписать весь транслятор».

«Наши силы иссякли, и, забросив транслятор, все ушли в двухмесячный отпуск».

Перелистываем сразу несколько страниц – и вдруг неожиданно:

«18 октября 1963 года. 17 часов 18 минут. Родился!!! Дефективный (умственно отсталый).

Роды принимали:

Бежанова
Кожухин
Михалевич
Поттосин
Бурыкин
Суржиков
Черных».
Конец?

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

«Альфа-рождение» кончилось, и мы взяли в руки последнюю амбарную книгу – «Альфа детство». Честно говоря, делали мы это с некоторым трепетом. И в самом деле, первые же записи свидетельствовали о трудностях опытной эксплуатации. «Запуски больших задач на трансляторе показали, что блоки глобальной экономии памяти могут стать непреодолимым препятствием на пути задачи из-за слишком большого времени их работы».

Вот так! Дело упёрлось в самое существо проблемы. Ведь транслятор не просто должен уметь переводить с АЛГОЛа. Он обязан делать это не хуже, чем средний программист. Первые программы, созданные машинами, были в три-пять раз длиннее составленных человеком. Это значило, что выполнение их займёт во столько же раз больше времени. Иными словами, вместо одной машины потребуется соответственно три или пять таких же машин. Нам показывали – не без гордости – отчёт о деятельности Вычислительного центра. Там есть такие слова: «Применение системы «Альфа» по сравнению с другими системами автоматического программирования, по крайней мере, вдвое сберегает машинное время на решение того же количества задач». Из пятидесяти тысяч команд (а именно столько теперь их в «Альфе») сорок тысяч служат улучшению программы, то есть сокращению числа операций. Опытный программист добивается этого с помощью своего богатого опыта и интуиции. И тратит на получение лучшей программы, конечно же, больше времени. «Альфа-транслятор» оказался, следовательно, в чисто человеческой ситуации: чтобы составить программу покороче, машина должна колдовать над ней. Для этого колдовства приспособлены, в частности, блоки глобальной экономии памяти. И уж если время их работы слишком велико, то тут надо пересматривать сам принцип их построения.

Пожалуй, то была последняя серьёзная проблема, вставшая на пути «Альфы». К концу года в активе транслятора было уже триста программ, составленных по заказам новосибирских институтов. Сотрудник Вычислительного центра теперь выполняет в среднем работу трёх программистов. А недавно провели соревнование между «Альфа-транслятором» и одним неплохим программистом, который, написав условие задачи на АЛГОЛе, отдал его машине и одновременно сам сел программировать вручную. Он трудился три недели и составил программу, которая занимала семь с половиной минут машинного времени. «Альфа» же через два дни выдала программу «длиной» всего в пять минут и сорок секунд. Результаты соревнования показались самим «Альфа-создателям» слишком хорошими, и они тщательно проверили их на двадцати различных задачах. Нет, всё было в норме – «Альфа» и а самом деле выдержала экзамен на «отлично».

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

 

Глава 4. Сколько пальцев у Джона?

А дальше?

Дальше-то что? – я один голос сказали Волошин и Кожухин. – Да ведь мы ещё ничего почти и не сделали. «Альфа» – вещь нужная, но ведь она не решает проблемы. Как это «какой проблемы»? Общения человека и машины. Да о чем мы вообще второй день говорим? Вот идёмте в кабинет к шефу, у него есть кое-какая литература по этому поводу.

Нам было доподлинно известно, что заведующий отделом программирования Андрей Петрович Ершов находится в Москве в служебной командировке – потому-то нам и пришлось довольствоваться его комментариями в печатном виде. Однако стул хозяина кабинета, хотя на него никто не садился, всё же был не совсем пуст. Во время разговора наши собеседники, не дождавшись возражений, произносили «Ну, вот видишь!» – так, словно получили подтверждение своим словам. И – или это только казалось нам? – одновременно косились на шефский стул.

Окружённые кипами журналов, книг, оттисков статей, пачками перфокарт, мы провели – при молчаливом одобрении Андрея Петровича Ершова – пресс-конференцию, во время которой стали ясны цели, поставленные перед собой его отделом.

...Существуют два пути к тому, чтобы машина стала истинным партнёром человека в его умственной деятельности:            или машина разовьётся до такой степени, что сможет понимать людскую речь, или же люди научатся у машин строгой логичности и однозначности их языка, в принципе оба пути равны. Но что к чему должно двигаться – человек к машине или машина к человеку? Есть два прямо противоположных мнения на этот счёт.

Развитие точных наук не может не сказываться на нашей жизни. Учёные, специально изучающие эту любопытную взаимосвязь, считают, что и мышление, и язык человечества в последние годы становятся всё более упорядоченными. Это дисциплинирующее воздействие вычислительных машин, быть может, приведёт когда-нибудь к созданию единого формального языка, которым люди станут пользоваться для общения с машинами, а затем и между собой. Значит, человечество, не предпринимая для этого специальных усилий, в силу одних только законов развития языка, движется к «машинному» пониманию мира. Поэтому нам надо лишь по возможности ускорять этот процесс, и мы сможем установить контакт с машинами.

Но такая точка зрения встречает серьёзные возражения. Вот одно из них. Какими бы семимильными шагами не двигался прогресс, всё-таки создатели первых метательных машин и первых искусственных спутников Земли мыслили почти одинаково. Стоит лишь взять в руки Аристотеля или Евклида, чтобы ещё раз удивиться, до какой степени близки и понятны нам и логика, и способ изложения, и методы научного исследования прославленных авторов античности, живших более двух тысяч лет назад. Консерватизм мышления – это вполне реальное обстоятельство, с которым нельзя не считаться, потому что оно связано с глубинными процессами человеческой психики.

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

«Научить живому языку» – это значит построить такой формальный машинный язык, чтобы он по своей полноте равнялся человеческому. Но для этого надо проделать титаническую работу. «Речь идёт о том, – пишет академик В. М. Глушков, – чтобы найти и точно сформулировать не десятки и не сотни, а многие десятки тысяч (а возможно, даже многие сотни тысяч) правил, определяющих не только грамматическую, но и смысловую правильность фраз языка и последовательности таких фраз».

Очевидно, вопрос «кто к кому?» разумнее всего решать компромиссно. Создание языков-посредников было первым шагом на этом пути. Следующим явилось стремление свести эти языки в один – так появился АЛГОЛ. Системы автоматического программирования, подобные «Альфа-транслятору», стали служить приводными ремнями между учёными, овладевшими АЛГОЛом, и вычислительными машинами различных типов. «Создание международного языка-посредника отнюдь не решило всех проблем, – говорил Клод Шеннон.

– Он не настолько ёмок, чтобы выразить любую задачу. Язык, позволяющий сделать это, должен был бы быть чрезвычайно объёмным и гибким. Противоречие между свободой, гибкостью и образностью языка, с одной стороны, и его логичностью, однозначностью и точностью – с другой, до сих пор не решено».

И тут можно подметить один весьма любопытный момент. Чем богаче язык-посредник, тем, разумеется, шире его возможности. Но и тем большее время должен затратить человек на его изучение. «Профессиональные программисты, – пишет в одной из своих работ А. П. Ершов, – являющиеся в настоящее время своего рода жрецами-посредниками между машинами и человечеством, не страдают от этого противоречия, потому что они изучают этот «ритуальный язык» раз и навсегда, после чего постоянно пользуются благами посвящённых. Но человек с разовой задачей зачастую не решается убивать время на изучение чуждых ему языков программирования и, решая, что «игра не стоит свеч», отказывается вступить в контакт с машиной, пытаясь решить задачу другим, более близким ему способом». Естественно, если учёный ищет в машине помощника, то требует, чтобы она понимала его с полуслова – и именно на том языке, на котором привык мыслить он сам.

Есть ли надежда, хотя бы в отдалённом будущем, воспитать из машины такого помощника?

Ершов считает, что это может быть достигнуто в самые ближайшие десятилетия. Он намечает следующий путь. Допустим, что машина располагает особой программой – «анализатором». Для любого текста, вводимого в машину, эта программа может обнаружить, понятен он ей или нет. Случайно может статься, что текст ей понятен, и тогда машина переведёт его с помощью транслятора в программу и приступит к её выполнению. Но более вероятно, что отдельные части текста машина не сможет воспринять – то ли из-за каких-нибудь непривычных для неё грамматических конструкций, то ли потому, что ей встретятся в нём незнакомые слова. Тогда машина выделяет эти куски и задаст человеку свои недоуменные вопросы, связанные с ними. Человек отвечает на них, пытаясь изложить неясные фрагменты текста «своими словами». Получив эти разъяснения, машина вставляет их в первоначальный текст и заново анализирует его. Если же ей по-прежнему не удаётся схватить смысл всего текста, она вновь просит человека разрешить сомнения. Таким образом между человеком и машиной завязывается диалог: формулировка задачи всё более приобретает «машинный» вид, пока не становится полностью ей понятна.

Такой контакт человека с машиной напоминает отношения между научным работником и лаборантом, причём эту аналогию можно проводить как угодно далеко. Выдавая лаборанту новое задание, руководитель не жалеет времени на то, чтобы как можно подробнее обо всём ему рассказать, и готов ответить на любые разумные вопросы. Зато во второй раз давая такую же работу, он, естественно, ожидает, что исполнитель будет спрашивать о различиях между заданиями. Точно так же и машина должна каждый следующий раз задавать лишь необходимые вопросы, сохраняя в памяти «протоколы» предыдущих своих бесед с человеком. «Таким образом, – пишет Ершов. – сотрудничество машины с человеком приобретает характер динамического двустороннего процесса взаимообучения...»

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

Беседуя с Шенноном, мы спросили его, что он думает о методе «динамического союза».

– Я считаю этот метод весьма перспективным, – ответил он, – Мы в Америке идём примерно этим же путём. Надо, правда, сказать, что наши опыты в этом направлении пока находятся на стадии игры. Но очень многие из нынешних завоеваний кибернетики вырастали именно из таких научных забав.

Недавно была опробована программа, уважительно названная «Сэр», с помощью которой от машины удалось добиться ответа на вопрос: «Сколько пальцев у Джона?» Конечно, пятилетний ребёнок рассмеялся бы, узнав, сколько времени и сил было затрачено, чтобы вырвать у машины этот ответ. Но более взрослому человеку ясно, как много информации потребовалось машине, чтобы дать правильный ответ.

Мы раскопали «протокол» разговора с «Сэром» (он есть и у новосибирцев). Пожалуй, стоит привести его целиком – в нём есть и пример машинной страсти к точности формулировок, и пример машинной сообразительности.

Человек: Мальчик – личность.
Сэр: Понятно.
Человек: Джон – мальчик.
Сэр: Понятно.
Человек: Палец – часть руки.
Сэр: Понятно.
Человек: Сколько пальцев имеет Джон?
Сэр: Предложение двусмысленно. Но я считаю «имеет» значит «является частью» Джона.
Человек: Правильно.
Сэр: Для ответа надо знать, сколько рук у Джона.
Человек: У личности две руки.
Сэр: Понятно. Прошу сообщить, сколько пальцев на руке.
Человек: Рука имеет пять пальцев.
Сэр: Ответ: у Джона десять пальцев.

Не правда ли, это не совсем детский лепет? Машина, ведомая программой «Сэр», довольно быстро понимает, что к чему, и, встретив слово «имеет» во второй раз, уже не утруждает человека дополнительными вопросами. Она приспосабливается к его своеобразному (с точки зрения машины) образу мыслей. Такая приспособляемость – адаптации, отражаясь научным языком, – даёт машине возможность стать равным партнёром в «динамическом союзе».

 

Глава 5. Разделение времени

Адаптационное самообучение – новая ступень контакта человека и машины Лаборант, который, поработав какое-то время с твоим коллегой, передаёт тебе его опыт – это ли не мечта любого исследователи! Электронный хранитель информации, готовый дать ответ на вопрос, применяясь к уровню знаний того, кто его задал, – это ли не идеал организованного обмена научными знаниями!

Но, к сожалению, всё не так просто. Существуют – кроме всех прочих – чисто технические трудности. Современные, что называется, «с иголочки» вычислительные гиганты, способные делать сотни тысяч операций в секунду, вынуждены выдавать результаты на пишущую машинку, которая работает чуть ли не так же медленно, как допотопный «Ундервуд»: несколько сот знаков в секунду считается уже неплохой скоростью. Машина напоминает малоудобного помощника – он, правда, решает задачу молниеносно, но зато выслушивает её условие и сообщает результаты своих вычислений с раздражающей медлительностью, которая сводит на нет всю его «скорострельность».

Проблема эта сложная, но не неразрешимая. Уже сейчас начинают использовать так называемое «разделение времени». На родине кибернетики, я знаменитом МТИ – Массачусетском технологическом институте – осуществлён проект «МАК». Четыреста учёных различных специальностей получили возможность пользоваться благами единой вычислительной сети. Это значит, что они могут вводить в машину условия своей задачи в любое время прямо из лаборатории или даже из собственного дома. Дли этого нет надобности в сложной аппаратуре: нужен обычный телетайп с телефонным диском. Ответ машины отпечатывается на ленте того же телетайпа. Ввод и вывод информации происходит без остановки машины – данные запоминаются специальным устройством и используются сразу же, как только образуется пауза и работе машины. Таким образом, одновременно решается несколько задач, выдаются уже готовые ответы и записываются новые сведения, сообщаемые машине тем или иным из её клиентов.

Вычислительная сеть соединена с международной телеграфной сетью, так что в принципе можно связаться с машиной из любого уголка Земного шара. Именно так и хотел поступить один американец, профессор Стэнфордского университета Фейгенбаум, гостивший в Академгородке. Он непременно желал продемонстрировать новосибирским коллегам преимущества системы «разделения времени». Помешала малость: обеспечить прямое телеграфное соединение с МТИ представлялось делом очень сложным.

Впрочем, новосибирцы сами собираются вводить подобную же систему связи между научными институтами и Вычислительным центром. Скоро и у них тоже вычислительная машина станет столь же привычным коммунальным удобством, как ныне телефон, и в городской узел связи посыплются первые жалобы, что вот Петровых подключили, и у них из всей семьи, дай бог, если три человека знают АЛГОЛ, а бабушка – так та и в высшей математике еле-еле разбирается.

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




www.etheroneph.com