Удивительная история информатики и автоматики
Шрифт:
В 1979 году из того же выставочного центра поступило предложение — изготовить новый компьютер. Хотя к этому времени Хиллис и его коллеги уже окончили университет и работали не только на разных фирмах, но даже в разных странах, предложение их заинтересовало.
Началась совместная работа — хотя общение в основном шло по телефону.
На этот раз было решено уделить особое внимание надежности — отсюда вытекало требование простоты конструкции. Требовалось решить три основные задачи: как задавать позицию на игровом поле, как ее распознавать и как выбирать следующий ход компьютера. Однако общее число возможных позиций в игре весьма велико, и было необходимо каким-то образом его уменьшить. Понятно, что симметричные позиции можно рассматривать как одну, но ведь надо было научить компьютер такие позиции распознавать. Дерево игры было досконально изучено с помощью специально написанной
После этого началась конструкторская работа. Каждую позицию на игровом поле решили представлять осью с набором насаженных на нее колес (назовем ее осью игровых позиций или просто осью позиций). Ось разделена на 9 равных смежных частей, хранящих информацию о состоянии одной из 9 клеток игрового поля. Каждая часть, в свою очередь, содержит три равных отрезка. Отрезок может быть занят колесиком или оставаться незанятым. Если колесики находятся в отрезках 2 и з, это означает, что в соответствующей клетке записан «крестик», если они находятся в отрезках 1 и 2 — «нолик», а в отрезках 1 и з — что клетка пуста (кроме того, отсутствие всех трех колесиков означает, что содержимое клетки не имеет значения). Всего таких осей в машине 48, по количеству значащих позиций. Они закреплены в жесткой установленной вертикально раме.
Задача распознавания позиции была решена следующим образом. В конструкцию была введена еще одна ось — ось управления, состоящая из 9 секций равной длины, каждая из которых содержит одно колесико и соответствует одной клетке игрового поля. В зависимости от содержимого клетки колесико может находиться в одном из трех положений. Оператор приводит ось управления в движение, и она начинает перемещаться в вертикальной плоскости вдоль набора осей позиций. Ось управления при этом стремится повернуться так, чтобы выступающие из ее колесиков стержни заняли положение, перпендикулярное плоскости движения. Однако при несовпадении состояний оси позиций и оси управления этого не происходит — хотя бы один из стержней удерживается колесиком на оси позиций, что не позволяет оси управления повернуться.
Если же их состояния совпадают, то ось управления поворачивается, и при этом посредством весьма хитроумного механизма освобождает сигнальный флажок, находящийся напротив соответствующей оси позиций. Флажок поворачивается и закрывает написанную на вертикальной бумажной ленте цифру. Эта цифра и означает, в какую клетку компьютер сделает свой следующий ход.
К сожалению, позднее «игрушечный компьютер» был разобран (кстати, для его изготовления потребовалось 30 комплектов конструктора по 250 деталей в каждом). Сегодня о нем стоит вспомнить не только потому, что это был первый оригинальный проект будущего выдающегося конструктора). «Игрушечный компьютер» заставляет задуматься о том, что же такое компьютер вообще. Сегодня мы привыкли ассоциировать компьютер с электроникой. Но ведь компьютер может быть построен из самых разных элементов — не только механических (как в данном случае), электрических или оптических, но даже гидравлических или пневматических. И даже — из пока непривычных нам биологических.
По прогнозам ученых, в ближайшие 15–20 лет появятся вычислительные машины совершенно нового типа — молекулярные компьютеры, которые будут в миллиарды раз производительнее, чем нынешние электронные компьютеры. Вместо кремниевых транзисторов в них будут использоваться органические и другие молекулы. Правда, не любые, а имеющие несколько (не менее двух) устойчивых состояний. Изменение их состояния под влиянием различных внешних воздействий (например, химических реакций) в некотором смысле эквивалентно переключению из «о» в «1» и обратно.
С тех пор появилось множество аналогичных работ и были предложены методы решения многих других задач. Мы не будем их описывать и говорить о многочисленных все еще нерешенных проблемах. Отметим лишь, что, пожалуй, одним из наиболее интересных результатов, достигнутых к настоящему времени, является создание ДНК-компьютера, играющего в «крестики-нолики» против человека.
В ноябре 2006 года журнал «Nano Letters» опубликовал статью группы американских ученых, в которой был описан предназначенный для этой цели ДНК-компьютер MAYA-II. Аббревиатура MAYA (Molecular Array of YES and AND gates) переводится как «матрица молекулярных логических элементов ДА и И», а цифра «II» означает, что это вторая версия устройства (первый, гораздо более простой компьютер MAYA I был построен за несколько лет до этого).
Компьютер состоит из набора микроколбочек, внутри которых находится раствор с цепочками ДНК, подобранными так, чтобы выполнять функции логических элементов, но для игры используются только 9 колбочек, образующих игровое поле 3x3. Всего компьютер содержит 128 логических элементов и, таким образом, представляет собой устройство со средней степенью интеграции.
Игра всегда начинается ходом компьютера в центральную колбочку игрового поля (разумеется, это ограничение значительно упрощает устройство компьютера). Каждому ответному ходу игрока соответствует определенная цепочка ДНК, которую он добавляет во все восемь лунок (это необходимо, чтобы каждая из них обладала всей информацией о ходе игры). В колбочке, соответствующей полю, выбранному игроком для своего хода, происходит цепочка биохимических реакций, и ее содержимое окрашивается в зеленый цвет. Кроме того, это вызывает ответный ход компьютера, проявляющийся в красной флуоресценции раствора в одной из оставшихся колбочек. Игра продолжается до победы компьютера, а на каждый ход затрачивается около получаса.
Литература по истории информатики и вычислительной техники
Академик В. М. Глушков — пионер кибернетики / Сост. В. П. Деркач. — Киев: Юниор, 2003.
Аксель Иванович Берг. 1893–1979 / Ред. — сост. Я. И. Фет; сост.: Е. В. Маркова, Ю. Н. Ерофеев, Ю. В. Грановский; отв. ред. А. С. Алексеев. — М.: Наука, 2007.
Андрей Петрович Ершов / Сост. Н. А. Черемных, И. А. Крайнева. — Новосибирск: ООО «Сибирское научное издательство», 2009. (Материалы к биобиблиографии сибирских ученых.)
Апокин И. А., Майстров Л. Е. История вычислительной техники (от простейших счетных приспособлений до сложных релейных систем).
– М.: Наука, 1990.
Апокин И. А., Майстров Л. Е. Развитие вычислительных машин. — М.: Наука, 1974.
Апокин И. А., Майстров Л. Е., Эдлин И. С. Чарльз Бэбидж (1791–1891). — М.: Наука, 1981.
Гладких Б. А. Информатика от абака до интернета. Введение в специальность: учебное пособие. — Томск: Изд-во НТЛ, 2005.
Гутер Р. С., Полунов Ю. Л. От абака до компьютера. 2-е изд., испр. и доп. — М.: Знание.
Гутер Р. С., Полунов Ю. Л. Чарльз Бэббидж. — М.: Знание, 1973.
Данилов Ю. А. Джон фон Нейман. — М.: Знание, 1981.
Дашевский Л. Н., Шкабара Е. А. Как это начиналось: Воспоминания о создании первой отечественной электронно-вычислительной машины МЭСМ. — М.: Знание, 1981. (Новое в жизни, науке, технике. Сер. Математика, кибернетика; № 1.)
Долгов В. А. Китов Анатолий Иванович — пионер кибернетики, информатики и автоматизированных систем управления: Научно-биографический очерк / Под общ. ред. К. И. Курбакова. — М.: КООИНФ, 2010.