Ретро бит 5 (СИ). Страница 51
— Спасибо огромное за чек, — еще больше смутилась девушка, — мы поместим его в рамочку. Мой вопрос… не ожидала, что вы геймер… скажите, вашу систему Метафонт кто-то использует для создания текстовых квестов? Возможно ли ее лицензировать?
— Боюсь, для работы Метафонт потребуется мощный университетский мейнфрейм. Если ваша компания располагает доступом к такому, обратитесь к любому из моих ассистентов, вам запишут копию исходных кодов, они распространяются свободно.
— Спасибо, мистер Кнут. Боюсь, покупка мейнфрейма нам пока не по карману, — еще сильнее смутилась Линда и уступила мне место.
— Здравствуйте, сэр, — настала моя очередь. — Крис Коламбус, студия Каналья Геймс. Но мой вопрос не об играх. Скажите, как вы относитесь к концепции патентования алгоритмов?
После первоначального приступа скупости я для себя уже решил не быть жадной задницей. Игры и так принесут достаточно, чтобы я ни в чем не нуждался. Так для чего извращаться, патентуя математику? Однако почему бы и не спросить мнение великого человека? Оно для меня важно, несмотря на то, что есть собственное.
— Категорически отрицательно. Именно поэтому я никогда не пытался и не попытаюсь запатентовать ни ТеХ, ни МЕТАФОНТ — я передал их в общественное достояние. Алгоритмы принадлежат человечеству.
— Благодарю, сэр. Мне было важно услышать вашу позицию.
Решение принято и обжалованию не подлежит! К Ктулху патенты на софт! Но это не означает, что я позволю себя беспрепятственно грабить.
— А теперь прошу прощения у всех присутствующих, я отниму еще немного вашего времени. Доктор Кнут, пожалуйста, оцените следующие улучшения алгоритма быстрой сортировки: первое — использование тройного ветвления. Делить данные на большие, меньшие и равные опорному. Равные элементы не обрабатывать рекурсивно.
Второе — следить за глубиной рекурсии и в плохих случаях переходить к пирамидальной сортировке, гарантируя тем самым конечное время работы на любых данных.
Третье — маленькие хвосты массивов сортировать вставками, как более оптимальным для них методом.
Кнут несколько секунд смотрел на меня поверх очков. Сердитым математик не выглядел. Скорее задумчивым, как если бы запустил в голове отладчик и мысленно прогонял код.
— Ваши предложения выглядят разумно, молодой человек, — наконец сказал он. — Во всяком случае, каждое из них направлено против реальной слабости быстрой сортировки.
Захотелось отыскать на трибунах Стерлинга и показать ему средний палец. Но что-то я «светило» не замечал. Видимо, слушать младшего по возрасту Кнута для него необязательно.
— Однако, — продолжил Кнут, — алгоритм не существует в виде набора хороших намерений. Его нужно формализовать, указать точные критерии перехода к другим методикам и провести измерения. Только после этого можно говорить, что у вас есть что-то большее, чем идея.
— Понял, сэр. Вот там, на трибунах, моя папка, где вся проделанная работа, включая замеры производительности для критичных случаев. Мне будет лестно, если вы взглянете на нее, если найдете время.
— Постараюсь ознакомиться. Кто ваш научный руководитель, Крис?
— Мне помогал с методикой тестирования Сэм Гарланд, аспирант из Беркли, где я вольнослушатель. Наверное, не очень корректно с моей стороны отнимать время у следующих докладчиков.
Я отсалютовал Сэму, нашарив его взглядом на трибуне, и двинулся на своё место.
— Ты молодец! — прошептал я, склонившись к уху Линды, когда вернулся на трибуну. — Не постеснялась спросить.
— Мне показалось, что это важный вопрос. Теперь я хочу мейнфрейм, — ответила та.
Ну так-то я тоже хочу, но кто канальям комп стоимостью в миллионы выдаст? Скорее всего, даже за деньги не продадут, так как заказывать надо за пару лет.
Еще пара не самых интересных докладчиков, которых будто сам Ктулху благословил. В том смысле, что сон навевали. И вот он — доктор Брендон Эс Стерлинг. Зашел в аудиторию на середине предыдущего выступления и, стоило предшествующему докладчику закончить, сам поднялся на трибуну.
— Уважаемые коллеги, тема моей работы «Трехпутевое разделение в быстрой сортировке: преодоление квадратичной деградации на данных с высокой избыточностью», — с легким пафосом провозгласил он. — Удалось выявить пути решения одной из уязвимостей классического алгоритма при минимальной его модификации…
Среди собравшихся зрителей кто-то мне незнакомый издал легкий смешок. Да и вообще шепотки по залу пошли. Статья Сэма, превращенная в доклад путем минимальной редактуры, всё ещё оставалась написанной слишком переусложненным языком. Кнут, например, тоже щедро сыпал терминологией, но у него я понял почти всё, а у Гарланда и Стерлинга — нет, несмотря на то, что нахожусь в теме. Вот она, разница между общепринятым гением и неплохим аспирантом.
— … таким образом, я предлагаю рассматривать равенство опорному элементу а как третий естественный путь разбиения. Выступление закончено. Жду ваших вопросов, коллеги.
И надо же, по каким-то причинам никто из академической элиты к микрофону не пошел, зато подошел Монти.
— Монтгомери Синклер Третий, студент первого курса Беркли, — представился он, — доктор Стерлинг, что вы скажете о проблеме деградации быстрой сортировки при росте глубины рекурсии?
— Это еще одна уязвимость классического алгоритма, к сожалению, пока еще не устраненная. Следующий, пожалуйста.
— Селеста Скай, Беркли, кафедра английской литературы. Мистер Стерлинг, почему ваше выступление такое квадратное? — спросила Селеста.
— Это что, какая-то шутка? Мисс, уйдите от микрофона, пожалуйста, — попросил. Я жду вопросов по существу доклада.
— Эй, профессор, — сказал Эдди в микрофон, заняв освободившееся место. — Я ничего в этом вашем умном дерьме не понимаю, но у меня слух хороший и память неплохая. Вот прямо перед вами, за два лектора до, Си-Си рассказывал доктору Кнуту то же самое. Семнадцатилетний пацан. Только у него круче, чем у вас: три кучки, защита от плохой… этой… глубины и вставками для мелочи. А у тебя — только первая часть. Так совпало или ты до конца его не дослушал?
В зале откровенно заржали на несколько голосов. Один из них, грешен, принадлежал мне. Но и Линда тоже не удержалась и начала смеяться.
— Простите, не услышал вашего имени и откуда вы, — ледяным тоном ответил Стерлинг.
— Эдди, группа «Бесконечность Тьмы». Чуваки, кому автограф нужен, мы далеко не уходим. Все четверо здесь.
— Молодой человек, научные вопросы принято формулировать иначе.
— Так я и спрашиваю научно. У тебя кавер-версия первого куплета Си-Си или ты ту же мелодию независимо написал?
— Мистер Эдди, вы очевидно далеки от академической среды и не готовы оценивать научные работы. Но! Если некий юноша пришел к таким же выводам, что и я, то остается лишь порадоваться за его будущее и принять очевидность моих постулатов.
Хитрый пендехо. Даже не стал пытаться что-то отрицать, хотя лицо у него красными пятнами пошло. Надеюсь, удар старика не хватит. Он, может быть, и последний каброн, но у него наверняка жена, дети, внуки… пусть живет.
— Однако между идеей, высказанной у микрофона, и результатом научного труда пролегает дистанция. Мой доклад посвящен конкретной схеме оптимизации для данных с большим числом повторов. Я ни в коем случае не хочу умалять энтузиазм молодого человека, но я, в отличие от него, предоставил полноценную работу, а не голословные утверждения. Пожалуйста, пусть следующий вопрос задаст профессионал и по существу.
— Привет, я Рокки Раккун Кларк, студент третьего курса Беркли и немного инженер, сделавший пару забавных штук.
Я даже не заметил, как он пробрался к микрофону, но время для того, чтобы спросить, выбрал идеальное. Не скажу, что я ничего такого не задумывал. Но всю работу собирался проделать сам. И, в общем-то, ее сделал. Моего выступления перед Кнутом вполне довольно, чтобы умные люди сообразили, кто и как предложил улучшение сортировки и сделали вывод по поводу Стерлинга. Это бы его не утопило и грантов не лишило. Но репутацию подмочило, надеюсь, изрядно.