Выбрать главу

— Благодарю, сэр. Мне было важно услышать вашу позицию.

Решение принято и обжалованию не подлежит! К Ктулху патенты на софт! Но это не означает, что я позволю себя беспрепятственно грабить.

— А теперь прошу прощения у всех присутствующих, я отниму еще немного вашего времени. Доктор Кнут, пожалуйста, оцените следующие улучшения алгоритма быстрой сортировки: первое — использование тройного ветвления. Делить данные на большие, меньшие и равные опорному. Равные элементы не обрабатывать рекурсивно.

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

Третье — маленькие хвосты массивов сортировать вставками, как более оптимальным для них методом.

Кнут несколько секунд смотрел на меня поверх очков. Сердитым математик не выглядел. Скорее задумчивым, как если бы запустил в голове отладчик и мысленно прогонял код.

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

Захотелось отыскать на трибунах Стерлинга и показать ему средний палец. Но что-то я «светило» не замечал. Видимо, слушать младшего по возрасту Кнута для него необязательно.

— Однако, — продолжил Кнут, — алгоритм не существует в виде набора хороших намерений. Его нужно формализовать, указать точные критерии перехода к другим методикам и провести измерения. Только после этого можно говорить, что у вас есть что-то большее, чем идея.

— Понял, сэр. Вот там, на трибунах, моя папка, где вся проделанная работа, включая замеры производительности для критичных случаев. Мне будет лестно, если вы взглянете на нее, если найдете время.

— Постараюсь ознакомиться. Кто ваш научный руководитель, Крис?

— Мне помогал с методикой тестирования Сэм Гарланд, аспирант из Беркли, где я вольнослушатель. Наверное, не очень корректно с моей стороны отнимать время у следующих докладчиков.

Я отсалютовал Сэму, нашарив его взглядом на трибуне, и двинулся на своё место.

— Ты молодец! — прошептал я, склонившись к уху Линды, когда вернулся на трибуну. — Не постеснялась спросить.

— Мне показалось, что это важный вопрос. Теперь я хочу мейнфрейм, — ответила та.

Ну так-то я тоже хочу, но кто канальям комп стоимостью в миллионы выдаст? Скорее всего, даже за деньги не продадут, так как заказывать надо за пару лет.

Еще пара не самых интересных докладчиков, которых будто сам Ктулху благословил. В том смысле, что сон навевали. И вот он — доктор Брендон Эс Стерлинг. Зашел в аудиторию на середине предыдущего выступления и, стоило предшествующему докладчику закончить, сам поднялся на трибуну.

— Уважаемые коллеги, тема моей работы «Трехпутевое разделение в быстрой сортировке: преодоление квадратичной деградации на данных с высокой избыточностью», — с легким пафосом провозгласил он. — Удалось выявить пути решения одной из уязвимостей классического алгоритма при минимальной его модификации…

Среди собравшихся зрителей кто-то мне незнакомый издал легкий смешок. Да и вообще шепотки по залу пошли. Статья Сэма, превращенная в доклад путем минимальной редактуры, всё ещё оставалась написанной слишком переусложненным языком. Кнут, например, тоже щедро сыпал терминологией, но у него я понял почти всё, а у Гарланда и Стерлинга — нет, несмотря на то, что нахожусь в теме. Вот она, разница между общепринятым гением и неплохим аспирантом.

— … таким образом, я предлагаю рассматривать равенство опорному элементу а как третий естественный путь разбиения. Выступление закончено. Жду ваших вопросов, коллеги.

И надо же, по каким-то причинам никто из академической элиты к микрофону не пошел, зато подошел Монти.

— Монтгомери Синклер Третий, студент первого курса Беркли, — представился он, — доктор Стерлинг, что вы скажете о проблеме деградации быстрой сортировки при росте глубины рекурсии?

— Это еще одна уязвимость классического алгоритма, к сожалению, пока еще не устраненная. Следующий, пожалуйста.

— Селеста Скай, Беркли, кафедра английской литературы. Мистер Стерлинг, почему ваше выступление такое квадратное? — спросила Селеста.

— Это что, какая-то шутка? Мисс, уйдите от микрофона, пожалуйста, — попросил. Я жду вопросов по существу доклада.

— Эй, профессор, — сказал Эдди в микрофон, заняв освободившееся место. — Я ничего в этом вашем умном дерьме не понимаю, но у меня слух хороший и память неплохая. Вот прямо перед вами, за два лектора до, Си-Си рассказывал доктору Кнуту то же самое. Семнадцатилетний пацан. Только у него круче, чем у вас: три кучки, защита от плохой… этой… глубины и вставками для мелочи. А у тебя — только первая часть. Так совпало или ты до конца его не дослушал?

В зале откровенно заржали на несколько голосов. Один из них, грешен, принадлежал мне. Но и Линда тоже не удержалась и начала смеяться.

— Простите, не услышал вашего имени и откуда вы, — ледяным тоном ответил Стерлинг.

— Эдди, группа «Бесконечность Тьмы». Чуваки, кому автограф нужен, мы далеко не уходим. Все четверо здесь.

— Молодой человек, научные вопросы принято формулировать иначе.

— Так я и спрашиваю научно. У тебя кавер-версия первого куплета Си-Си или ты ту же мелодию независимо написал?

— Мистер Эдди, вы очевидно далеки от академической среды и не готовы оценивать научные работы. Но! Если некий юноша пришел к таким же выводам, что и я, то остается лишь порадоваться за его будущее и принять очевидность моих постулатов.

Хитрый пендехо. Даже не стал пытаться что-то отрицать, хотя лицо у него красными пятнами пошло. Надеюсь, удар старика не хватит. Он, может быть, и последний каброн, но у него наверняка жена, дети, внуки… пусть живет.

— Однако между идеей, высказанной у микрофона, и результатом научного труда пролегает дистанция. Мой доклад посвящен конкретной схеме оптимизации для данных с большим числом повторов. Я ни в коем случае не хочу умалять энтузиазм молодого человека, но я, в отличие от него, предоставил полноценную работу, а не голословные утверждения. Пожалуйста, пусть следующий вопрос задаст профессионал и по существу.

— Привет, я Рокки Раккун Кларк, студент третьего курса Беркли и немного инженер, сделавший пару забавных штук.

Я даже не заметил, как он пробрался к микрофону, но время для того, чтобы спросить, выбрал идеальное. Не скажу, что я ничего такого не задумывал. Но всю работу собирался проделать сам. И, в общем-то, ее сделал. Моего выступления перед Кнутом вполне довольно, чтобы умные люди сообразили, кто и как предложил улучшение сортировки и сделали вывод по поводу Стерлинга. Это бы его не утопило и грантов не лишило. Но репутацию подмочило, надеюсь, изрядно.

Бьюсь о заклад, препод-плагиатор узнал Возняка. Весь зал его узнал, судя по направлению взглядов и хитрым улыбкам.

— У меня нет докторской степени, я всего лишь инженер, — продолжал Воз. — Как инженер, я и услышал от Криса три невероятно конкретных предложения: трехстороннее разделение, ограничение глубины рекурсии с переходом на пирамидальную сортировку и сортировку вставками на малых массивах. Согласитесь, все они потрясающие? Почему вы разобрали одно улучшение и проигнорировали два других, не менее важных?

— Остальные пункты не относятся к теме доклада, — процедил плагиатор. Ему бы сказать, что он про них не знал, что стало бы чистой правдой, но, видимо, нервы сдали у старика.

— А, ну да, если улучшения быстрой сортировки не по теме быстрой сортировки, то вопросов больше нет.

Напрашивалось самому сказать что-нибудь едкое. Можно, но зачем? Какая бы там у них круговая порука ни выстроилась, нормальные ученые, такие, как Дональд Кнут, наглому плагиатору уже руки не подадут.

— Милая, тут нам делать больше нечего, — позвал я и потянул Линду из зала. — Тебе надо тренироваться перед чемпионатом.

* * *