ноутбука. Кроме того, как то ни смешно, к нему прилагался журнал учета, в который нужно было записывать время каждого включения (чего я и не думал делать). Этот компьютер был для меня радостью, гордостью и ценным источником данных. Я был единственным программистом в нашей группе на Бевингтон-роуд, что отнимало у меня немало времени, но теперь, когда я мог по-настоящему отдаться своей компьютерной зависимости, мне больше не приходилось делать это по ночам, как было во время моего постыдного романа с “Эллиоттом”.

До этого я пользовался языками только высокого уровня – простыми в обращении, которые компьютер переводит на свой собственный бинарный машинный язык. Но теперь, чтобы использовать PDP-8 как орудие исследований, от меня требовалось овладеть его двенадцатибитным машинным языком, и я увлеченно погрузился в его изучение. Первым проектом, для которого я написал программу в машинном коде, было создание “оргaна Докинза” – устройства для регистрации поведения животных, аналогичного “системе получия данных” Джорджа Барлоу, но во много раз более дешевого. Идея была в том, чтобы сделать клавиатуру, которой наблюдатель сможет пользоваться в полевых условиях, нажимая на клавиши, соответствующие различным действиям наблюдаемого животного. Каждое такое нажатие будет записываться на магнитофонной ленте, с которой компьютер впоследствии автоматически считает информацию о точном времени каждого действия.

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

Я обсуждал эту проблему со своим тогдашним компьютерным гуру Роджером Эбботтом, способным инженером (а также, кстати, органистом), работавшим по большому исследовательскому гранту у профессора Прингла, и Роджер предложил остроумное решение. Каждой ноте соответствует определенная длина звуковой волны. Компьютеры работают (и работали, даже в те времена) настолько быстро, что за время, проходящее между гребнями звуковых волн, могут выполняться сотни циклов программы. Роджер предложил мне написать в машинном коде программу, которая позволит регистрировать продолжительность таких промежутков, то есть будет работать подобно секундомеру, подсчитывая, сколько циклов программы успевает пройти за время от одного до другого гребня волны (среднее значение величины, обратной этому показателю, будет соответствовать частоте – высоте звука). Как только звук данной высоты смолкает (когда со времени предыдущего пика проходит больше определенного периода времени), компьютер может заметить время этого события, а затем ждать, когда раздастся следующая нота. Иными словами, такие циклы можно использовать не только для распознавания высоты ноты, но также, в намного большем временнoм масштабе, для измерения продолжительности звучания каждой ноты и промежутков между ними.

После того как эта основа была готова, мне оставалось только потрудиться над написанием и отладкой удобной в использовании программы. На это ушло довольно много времени, но в итоге мне удалось добиться успеха. Орган Докинза неплохо показал себя в работе. Каждый сеанс его использования начинался с воспроизведения записанной на магнитофонную ленту гаммы – всех нот, издаваемых органом, проигранных в порядке возрастания высоты. С помощью этой гаммы осуществлялась калибровка программы – “обучение” компьютера набору нот, которые ему предстояло распознавать. После калибровки (завершаемой нажатием клавиши, соответствующей первой ноте гаммы) на той же магнитофонной ленте записывалась последовательность нот, соответствующая действиям животного, за которым велись наблюдения. Система калибровки была хороша тем, что не требовала точной настройки органа: для регистрации поведения животного можно было использовать любой набор нот, достаточно сильно отличающихся друг от друга, потому что компьютер быстро “научался” их распознавать.

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

Я опубликовал об органе Докинза статью[101] и сделал свою программу доступной бесплатно для всех желающих. В течение следующих нескольких лет органами Докинза пользовались многие мои коллеги из оксфордской группы исследований поведения животных, а также некоторые этологи из других стран, в частности из университета Британской Колумбии.

Моя зависимость от программирования в машинном коде прогрессировала и зашла довольно далеко. Я даже разработал свой собственный язык BEVPAL и написал руководство для программирования на нем, оказавшееся практически бесполезным, потому что этим языком не пользовался никто, кроме меня и (недолго) Майка Каллена. Именно такую зависимость, как та, что выработалась у меня, хорошо высмеял Дуглас Адамс. Предметом его сатиры был программист, которому нужно было решить конкретную задачу X. Он мог за пять минут написать программу, которая позволила бы

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату