Удивительная история информатики и автоматики - Валерий Шилов
Шрифт:
Интервал:
Закладка:
Отдельно стоит отметить интересное решение, которое применил Кейстер для того, чтобы иметь возможность отображать на каждой индикаторной панели как крестики, так и нолики. Оно основано на применении поляризационных фильтров. На рисунке представлен разрез индикаторной панели (1 — кнопка ввода очередного хода).
Сверху панель прикрыта слоем прозрачного материала з, а пространство за ним разделено светонепроницаемой перегородкой 8 на две половины, в каждой из которых имеется по электрической лампочке (4 и 5). Обе половины закрыты поляризационными фильтрами, причем фильтр 6 пропускает только вертикально, а фильтр 7 — горизонтально поляризованную составляющую света лампочки. Под слоем прозрачного материала 3 имеются еще два поляризующих фильтра — 9 (с той же поляризацией, что и 6) и 10 (с той же поляризацией, что и 7). При этом в фильтре 9 имеется вырез в виде креста, а в фильтре 10 — в виде ноля. Таким образом, когда загорается лампа 5, лучи горизонтально поляризованной составляющей пройдут сквозь фильтры 7 и 10 и будут задержаны фильтром 9, в вырезе которого будет светиться символ «X». Аналогично, когда загорается лампа 4, в вырезе фильтра 10 виден светящийся символ «о».
Заявку на патент Кейстер подал еще в ноябре 1950 года, а получил его лишь спустя 9 лет, однако в это десятилетие получили широкое распространение другие игровые машины. И немаловажную роль в этом сыграли релейные автоматы Эдмунда Беркли.
Эдмунд БерклиИмя Эдмунда Каллиса Беркли хорошо известно в компьютерном мире и пользуется в нем огромным уважением. Окончив Гарвардский университет с дипломом математика, он работал в одной из крупнейших американских страховых компаний, и эта работа привела его к мысли о необходимости использования в страховом деле вычислительных машин. Он живо интересовался ходом работ Дж. Стибица и Г. Айкена над релейными компьютерами и сам принимал в них участие, выдвигал собственные предложения по созданию электронного компьютера и убеждал свою компанию заказать ЭВМ у создателей ENIAC Д. Моучли и П. Эккерта. Беркли был одним из организаторов первых профессиональных обществ в области вычислительной техники и автором первых популярных книг о компьютерах. Однако компьютер в понимании Беркли вовсе не был большим арифмометром для решения вычислительных задач. Он считал, что компьютер должен решать задачи интеллектуальные — отсюда возник его многолетний интерес к роботам.
В 1950–1951 годах он построил свои первые релейные автоматы — вычислитель Саймон и робота-белку Скви. За ними последовали другие роботы и автоматы. В марте 1956 года на одной из выставок он показал релейную машину для игры в «крестики-нолики», которую назвал Релейным Моу (Relay Мое — это название рифмуется с названием игры «tit-tat-toe»).
Внешне машина Беркли походила на машину Кейстера. Автомат состоял из 90 реле и мог играть на поле 3x3 против человека, причем можно было выбрать один из нескольких режимов (безошибочная игра, при которой робот не проигрывал, менее сильная игра, когда противник мог одержать победу и др.).
Еще один свой автомат для игры в крестики-нолики Беркли назвал Переключательной машиной (Switch Tit Tat Toe Machine) — поскольку каждая клетка игрового поля в нем была представлена многопозиционным переключателем. Точнее, это был полуавтомат — когда человек делал свой ход (изменял положение соответствующего переключателя), машина посредством загорающейся лампочки немедленно сообщала ему свой ответ, и тот должен был сделать этот ход за нее.
В 1954 году Беркли основал компанию Berkeley Enterprises, которая продавала и сдавала в аренду (по цене от 15 до 150 долларов в день) самые разные роботы собственного изготовления.
К сожалению, данных об объемах производства игровых машин нет, но, скорее всего, они были небольшими — ведь стоимость Релейного Моу была достаточно велика — она составляла около 3000 долларов, а стоимость Переключательной машины — около 200 долларов.
Однако самым интересным продуктом компании Беркли были уникальные конструкторы для сборки разнообразных автоматов и роботов — Беркли назвал их Geniac (Genius Almost-Automatic Computer), Tyniac (Tiny Almost-Automatic Computer) и Brainiac (Brainy Almost-Automatic Computer, что можно приблизительно перевести как «умный почти автоматический компьютер», от английского brain — «мозг»).
Набор Geniac № 1 (1954 год) ценой 20 долларов состоял из 6 многопозиционных переключателей и 400 деталей, из которых можно было собрать 33 различные машины, работавшие от обычной батареи для карманного фонарика. В 1958 году в продажу поступил самый популярный — и недорогой — всего 9 долларов 95 центов — набор Brainiac К2. Из его четырех переключателей и 300 деталей можно было собрать 31 машину, в числе которых были головоломки, машины для игры в «крестики-нолики» и «ним», арифметические и логические машины, машины для шифрования и дешифрирования, тестирования и т. д.
Конструкторы Беркли пользовались огромным спросом. Но здесь надо сказать, что своей главной целью он полагал отнюдь не извлечение прибыли. Эдмунд Беркли был страстным борцом против ядерного оружия, видным активистом движения за мир и разоружение. Он был убежден, что необходимо всемерно пропагандировать знания и интеллект, учить людей мыслить — ведь разумно мыслящий человек не может не понимать, чем грозит человечеству гонка ядерных вооружений.
Судя по длительной задержке с выдачей патента, автомат Кейстера так и не был построен. Автоматы Беркли тоже постепенно теряли популярность. И это вполне объяснимо. Век релейных машин заканчивался, и они уже воспринимались как анахронизм — ведь к концу 1950-х годов широкое распространение получили полупроводниковые электронные компьютеры. И в это же время появились первые программы для игры в шашки и шахматы, т. е. более сложные игры. Понятно, что гораздо более простые «крестики-нолики» также попали в поле зрения программистов.
Создание первой игровой программы для электронного компьютера связано с именем англичанина Александра Дугласа.
Компьютер EDSAC (Electronic Delay Storage Automatic Calculator — Электронный автоматический вычислитель с памятью на линиях задержки) был построен в 1946–1949 годах в Кембриджском университете под руководством выдающегося британского ученого Мориса Уилкса. Он занимает особое место в истории вычислительной техники благодаря событию, произошедшему 6 мая 1949 года. В этот день оператор нажал кнопку «Старт», замигали лампочки на панели и начала вращаться бобина с перфолентой, на которой была записана последовательность целых чисел. Спустя несколько секунд застучал телетайп, печатая посчитанные компьютером значения квадратов этих чисел: 1, 4, 9,16, 25, 36. Для того, чтобы вычислить квадраты чисел от 1 до 99, потребовалось 2 минуты и 35 секунд. Таким образом, EDSAC стал первым в мире компьютером с хранимой в памяти программой, на котором была решена реальная задача.
Система команд EDSAC состояла из 18 одноадресных команд; выполнение операций сложения, умножения и деления занимало в среднем 1,4; 5,4 и 200 миллисекунд соответственно (операции выполнялись над числами с фиксированной запятой). Данные и программы вводились с 5-канальной бумажной перфоленты, а результаты вычислений печатал принтер телетайпа. Машина содержала около 3 000 ламп, потребляла примерно 12 киловатт электроэнергии и занимала комнату площадью 20 квадратных метров. В целом можно сказать, что в архитектуре и схемотехнике EDSAC никаких серьезных новаций, по сравнению с другими компьютерами того времени, не было. Зато в области программирования кембриджские компьютерщики совершили настоящий прорыв. За полтора года они создали библиотеку из 87 подпрограмм, позволявших работать с числами с плавающей запятой, вычислять логарифмы и тригонометрические функции, решать дифференциальные уравнения и т. д. Результаты этой работы Уилкс и его коллеги Дэвид Уилер и Стенли Гилл обобщили в первом в мире учебнике по программированию «Подготовка программ для электронных цифровых вычислительных машин» (1951 год), переведенном на многие языки, в том числе русский.
EDSAC. Три электронно-лучевые трубкиТак что нет ничего удивительного в том, что именно один из членов этого коллектива программистов написал и первую в мире игровую программу. Это был Александр Дуглас, работавший в то время над диссертацией, посвященной анализу возможностей взаимодействия человека и компьютера.
Поскольку это взаимодействие должно быть оперативным, как можно более наглядным и, главное, двусторонним, Дуглас пришел к мысли о необходимости использовать для этого визуальное представление хранящейся в памяти компьютера информации. Однако в то время современных мониторов еще не было, и визуальную информацию можно было вывести только на экран электронно-лучевой трубки (ЭЛТ). Одна из трех работавших в составе EDSAC трубок могла отображать состояние памяти, на ее экране можно было показать 560 (35x16) светящихся точек, соответствующих значениям 560 бит. Этим и решил воспользоваться Дуглас. Управляя с помощью программы положением светящихся точек, можно было получить на экране то или иное изображение. В качестве устройства ввода Дуглас использовал дисковый телефонный номеронабиратель.