Роль Котока в претворении в жизнь шахматной программы была показательна в том же плане, что и роль хакеров в области искусственного интеллекта. Обычно, какая-нибудь «Большая Голова», например Маккарти или его коллега Марвин Минский, начинала научный проект или интересовалась вслух реальностью реализации некоторой задачи на компьютере, а хакеры, если им это было интересно, начинали над этим работать.
Шахматную программу начинали писать на языке ФОРТРАН, который был одним из самых первых компьютерных языков. Компьютерные языки были гораздо более похожи на естественные языки, чем язык ассемблера, на них было гораздо легче писать, и с их помощью в нескольких строчках программы можно было сделать гораздо больше. Однако, каждый раз, когда компьютер получал список команд, написанных на языке ФОРТРАН, компьютер должен был сначала перевести эти инструкции в свой собственный бинарный код. Это делалось при помощи программы, называемой компилятором, которая делала максимум этой работы, равно как и занимала максимум ценного пространства памяти компьютера. В итоге, использование компьютерного языка было большим шагом в сторону от прямого контакта с компьютером, поэтому хакеры, как правило, предпочитали использовать ассемблер, или как они его называли, «машинный» язык, в отличие от менее элегантного «высокоуровневого языка» подобного языку ФОРТРАН.
Коток, вообще-то, признавал, что из-за огромного количества инструкций, которое было необходимо реализовать в программе для игры в шахматы, часть кода следовало писать на ФОРТРАНЕ, а часть — на ассемблере. Они хакерили программу по частям, при помощи «генераторов перемещений», которые были основной структурой данных, а также применяя все виды инновационных алгоритмов для реализации стратегии. После ввода в машину всех правил для перемещения каждой из фигур, они добавили в нее несколько параметров, с помощью которых оценивались позиции фигур, рассматривались различные варианты ходов, и, в конечном счете, выполнялись перемещения фигур, которые переводили программу в еще более сложное состояние. Коток занимался ею в течение нескольких лет, программа росла в размерах, по мере того как МТИ модернизировал компьютеры IBM. И, наконец, в одну памятную ночь, несколько хакеров собрались вместе, для того чтобы посмотреть, как программа выполняет свои первые ходы в реальной игре. Программа достаточно уверенно разыграла дебют, но после восьми или около того ходов, на «доске» сложилось тяжелое для компьютера положение — над ним нависла угроза мата. Всем было любопытно, как машина на это отреагирует. Спустя некоторое время (все знали, что во время этих пауз машина «думает», если считать за «мышление» рассмотрение компьютером различных вариантов ходов, их оценку, отбрасывание большинства из них, и использование предопределенных параметров для того, чтобы выполнить окончательный ход). В конечном итоге, компьютер передвинул свою пешку на две клетки вперед, перепрыгнув через другую фигуру на доске. Ошибка! Но достаточно хитрая — компьютер вывел фигуру за пределы доски. Может быть, программа пыталась разработать новый шахматный алгоритм, с помощью которого она хотела одержать верх?
В других университетах, профессоры делали публичные заявления, что компьютеры никогда не сумеют победить человека при игре в шахматы. Но хакеры разбирались в этом лучше. Они были теми, кто вел компьютеры к более высоким вершинам, чем этого ожидали. И хакеры, благодаря своей производительной и значимой связи с компьютером были в первых рядах тех, кто пользовался благами, даваемыми компьютером.
Но это не ограничивалось теми, кто имел доступ к источнику этих благ. Каждый мог получить что-нибудь полезное из использования думающих машин в автоматизированном мире. И разве не получил бы каждый из обитателей этого мира, еще больше, если бы он подходил к миру с той же самой энергией при получении знаний, с тем же скептицизмом по отношению к бюрократии, с той же открытостью воображения и извлечением пользы из успеха, разделенного с окружающими, так же подстегивая самого себя при внедрении улучшений и желая поступать также как все, кто следовал принципам Хакерской Этики? Разве не выиграл бы он, воспринимая остальных людей, тем же самым непредвзятым способом, которым компьютеры воспринимали любого, кто набивал код на Flexowriter-e? Разве мы бы не выиграли, научившись у компьютера его совершенной работе и перенеся эти совершенные методы в человеческую жизнь? И если бы каждый , кто работает с компьютерами руководствовался тем же непорочным, продуктивным и творческим импульсом, которым руководствовались хакеры, то Хакерская Этика могла бы распространиться в обществе как благостная волна, и тогда компьютер действительно изменил бы мир к лучшему.
Читать дальше
Конец ознакомительного отрывка
Купить книгу