
- •Компьютеры и программы о слове «информатика»
- •К вопросу об алгоритмах
- •Страница арабской рукописи
- •Древнегреческий абак (современная реконструкция)
- •Счет на линиях (средневековый рисунок)
- •От календаря к компьютеру
- •Люди‑компьютеры за работой. Фотография. 1920‑е годы
- •Компьютеры: долгий путь к признанию
- •Томас Ватсон – основатель компании ibm
- •Говард Айкен – создатель Mark I
- •Академик с. А. Лебедев – создатель мэсм
- •Архитектура пришла в эвм
- •Фредерик Брукс – лауреат премии «Компьютерный пионер»
- •Обложка монографии о проекте Stretch
- •Арифмометр конструкции Иоганна Мюллера. 1783 год
- •Знаменитый eniac
- •Гипотетический компьютер 2004 года
- •Вычислительная машина lgp‑30
- •Гарри Хаски возле компьютера swac
- •Легендарный Bendix g‑15
- •Pdp‑8 – самая продаваемая вычислительная машина 1960‑х годов
- •Почему компьютер «персональный»
- •Мипикомпъютер Altair 8800
- •Настольный калькулятор hp 9100
- •Жюль Верн и вычислительная техника
- •Жюль Верн – отец научной фантастики
- •Шарль Ксавье Тома де Кольмар
- •Первая модель арифмометра Тома де Кольмара
- •Арифморель
- •Знаменитый «арифмометр‑фортепиано» Тома де Кольмара
- •Современная реконструкция разностной машины Бэббиджа
- •Великий фантаст Герберт Уэллс
- •Из этимологии компьютерных терминов
- •Программирование на eniac
- •Американский математик Джон фон Нейман
- •Грейс Хоппер
- •Американский математик Джон Уайлдер Таки
- •Рейнольд Томлинсон
- •Буквы алфавитов стран Юго‑Восточной Азии
- •Обозначения больших чисел в Древней Руси
- •Клавиатура ю. Фитча (1886 год)
- •Клавиатура Дж. Уильямса (1890 год)
- •Клавиатура Дж. Бликенсдёрфера (1892 год)
- •Несколько слов о телекоммуникациях
- •Эдуард Эстонье
- •Титульный лист книги э. Эстонье (1904 год)
- •Автоматы и компьютеры Автоматы: от андроида до роботов
- •Механизм управления автоматами Герона Александрийского
- •Монах конструкции Торриано
- •Механизм монаха Торриано
- •Кулачковый цилиндр гидравлического органа Соломона де Ко (1615 г.)
- •Жак де Вокансон
- •Флейтист Вокансона
- •Барабанщик Вокансона
- •Утка Вокансона
- •Автомат фон Кнаусса
- •Три автомата Жаке‑Дро
- •Рисовальщик‑писец Майарде
- •Автомат п. Кинтцинга
- •Жан‑Эжен Робер‑Уден
- •Робер Уден. Урок пения
- •Робот – раб или работник?
- •Карел Чапек
- •Айзек Азимов
- •Говорящие автоматы
- •Альберт Великий
- •Эразм Дарвин
- •Говорящие головы аббата Микаля
- •Вольфганг фон Кемпелен (автопортрет углем)
- •Машина фон Кемпелена
- •Чарльз Уитстон
- •Машина й. Фабера
- •Александр Белл
- •Гомер Дадли
- •Товарищ гроссмейстер…»
- •Турок работы фон Кемпелена
- •Наполеон играет в шахматы с шахматным автоматом в Шенбрунне. Худ. А. Унеховский
- •Аджиб работы ч. Хупера
- •Гонзало Торрес‑и‑Кеведо демонстрирует автомат «отцу кибернетики» Норберту Винеру
- •Еще раз об игре «ним»
- •Ниматрон
- •Эдвард Кондон
- •Реймонд Редхеффер
- •Машина Редхеффера
- •«Крестики‑нолики»
- •Чарльз Бэббидж
- •Уильям Кейстер
- •Релейный автомат Кейстера (внешний вид)
- •Ячейка игрового поля машины Кейстера
- •Эдмунд Беркли
- •Edsac. Три электронно‑лучевые трубки
- •Игровая позиция на экране электронно‑лучевой трубки
- •Дональд Мичи
- •Menace. Спичечный коробок
- •Дэнни Хиллис
- •Tinkertoy. 1‑й вариант
- •Tinkertoy. 2‑й вариант
- •Tinkertoy. Механизм определения текущей позиции
- •Днк‑компьютер maya‑II
- •Литература по истории информатики и вычислительной техники
Tinkertoy. 1‑й вариант
Правда, поначалу Хиллис склонялся к мысли построить робота, но затея эта показалась слишком сложной да и требовала немалых затрат, превышавших финансовые возможности студентов. Однако спустя какое‑то время директор одного из выставочных центров предложил финансирование, и вскоре Хиллис и его друзья изготовили первый вариант компьютера для игры в «крестики‑нолики». Он имел форму куба со стороной 1 метр и был собран из соединенных в логические схемы деталей конструктора. О сделанном ходе компьютер сигнализировал поднимающимся флажком (их было 9, по числу клеток игрового поля). Машина была крайне сложна и требовала тщательной наладки – так что, когда ее в разобранном виде доставили на выставку и вновь собрали, она так и не заработала. Сегодня это уникальное изделие находится в одном из компьютерных музеев США.
В 1979 году из того же выставочного центра поступило предложение – изготовить новый компьютер. Хотя к этому времени Хиллис и его коллеги уже окончили университет и работали не только на разных фирмах, но даже в разных странах, предложение их заинтересовало.
Началась совместная работа – хотя общение в основном шло по телефону.
На этот раз было решено уделить особое внимание надежности – отсюда вытекало требование простоты конструкции. Требовалось решить три основные задачи: как задавать позицию на игровом поле, как ее распознавать и как выбирать следующий ход компьютера. Однако общее число возможных позиций в игре весьма велико, и было необходимо каким‑то образом его уменьшить. Понятно, что симметричные позиции можно рассматривать как одну, но ведь надо было научить компьютер такие позиции распознавать. Дерево игры было досконально изучено с помощью специально написанной программы, и было замечено, что многие ходы являются вынужденными: например, если в одном ряду уже стоят два крестика, то, чтобы не проиграть, соперник должен поставить свой нолик именно в этом ряду. Тщательный анализ позволил сократить количество подлежащих рассмотрению значащих позиций до 48.
Tinkertoy. 2‑й вариант
После этого началась конструкторская работа. Каждую позицию на игровом поле решили представлять осью с набором насаженных на нее колес (назовем ее осью игровых позиций или просто осью позиций). Ось разделена на 9 равных смежных частей, хранящих информацию о состоянии одной из 9 клеток игрового поля. Каждая часть, в свою очередь, содержит три равных отрезка. Отрезок может быть занят колесиком или оставаться незанятым. Если колесики находятся в отрезках 2 и з, это означает, что в соответствующей клетке записан «крестик», если они находятся в отрезках 1 и 2 – «нолик», а в отрезках 1 и з – что клетка пуста (кроме того, отсутствие всех трех колесиков означает, что содержимое клетки не имеет значения). Всего таких осей в машине 48, по количеству значащих позиций. Они закреплены в жесткой установленной вертикально раме.
Tinkertoy. Механизм определения текущей позиции
Задача распознавания позиции была решена следующим образом. В конструкцию была введена еще одна ось – ось управления, состоящая из 9 секций равной длины, каждая из которых содержит одно колесико и соответствует одной клетке игрового поля. В зависимости от содержимого клетки колесико может находиться в одном из трех положений. Оператор приводит ось управления в движение, и она начинает перемещаться в вертикальной плоскости вдоль набора осей позиций. Ось управления при этом стремится повернуться так, чтобы выступающие из ее колесиков стержни заняли положение, перпендикулярное плоскости движения. Однако при несовпадении состояний оси позиций и оси управления этого не происходит – хотя бы один из стержней удерживается колесиком на оси позиций, что не позволяет оси управления повернуться.
Если же их состояния совпадают, то ось управления поворачивается, и при этом посредством весьма хитроумного механизма освобождает сигнальный флажок, находящийся напротив соответствующей оси позиций. Флажок поворачивается и закрывает написанную на вертикальной бумажной ленте цифру. Эта цифра и означает, в какую клетку компьютер сделает свой следующий ход.
К сожалению, позднее «игрушечный компьютер» был разобран (кстати, для его изготовления потребовалось 30 комплектов конструктора по 250 деталей в каждом). Сегодня о нем стоит вспомнить не только потому, что это был первый оригинальный проект будущего выдающегося конструктора). «Игрушечный компьютер» заставляет задуматься о том, что же такое компьютер вообще. Сегодня мы привыкли ассоциировать компьютер с электроникой. Но ведь компьютер может быть построен из самых разных элементов – не только механических (как в данном случае), электрических или оптических, но даже гидравлических или пневматических. И даже – из пока непривычных нам биологических.
По прогнозам ученых, в ближайшие 15–20 лет появятся вычислительные машины совершенно нового типа – молекулярные компьютеры, которые будут в миллиарды раз производительнее, чем нынешние электронные компьютеры. Вместо кремниевых транзисторов в них будут использоваться органические и другие молекулы. Правда, не любые, а имеющие несколько (не менее двух) устойчивых состояний. Изменение их состояния под влиянием различных внешних воздействий (например, химических реакций) в некотором смысле эквивалентно переключению из «о» в «1» и обратно. А это значит, что из таких молекул можно создать устройства, моделирующие работу любой логической схемы. Считается, что впервые идея молекулярного компьютера была реализована в 1994 году американским исследователем Леонардом Аделманом. В своих опытах он показал, как можно успешно решать сложные переборные задачи из области теории графов, и в частности, известную «задачу коммивояжера», в которой требуется найти кратчайший маршрут обхода всех вершин графа. Оказалось, что все варианты решения (каждый из которых закодирован одной из нитей ДНК) могут быть получены в лабораторной пробирке посредством ряда биохимических реакций, после чего остается лишь отделить нить ДНК, соответствующую решению.
С тех пор появилось множество аналогичных работ и были предложены методы решения многих других задач. Мы не будем их описывать и говорить о многочисленных все еще нерешенных проблемах. Отметим лишь, что, пожалуй, одним из наиболее интересных результатов, достигнутых к настоящему времени, является создание ДНК‑компьютера, играющего в «крестики‑нолики» против человека.
В ноябре 2006 года журнал «Nano Letters» опубликовал статью группы американских ученых, в которой был описан предназначенный для этой цели ДНК‑компьютер MAYA‑II. Аббревиатура MAYA (Molecular Array of YES and AND gates) переводится как «матрица молекулярных логических элементов ДА и И», а цифра «II» означает, что это вторая версия устройства (первый, гораздо более простой компьютер MAYA I был построен за несколько лет до этого).