Аннотация: Еще один рассказ про Школу имени Всех Лауреатов Нобелевской Премии. Тоже участвовал в конкурсе миниатюр ХиЖ-2010 под именем Ридли Константина. Попал в число 11 победителей.
В гимназии для особо одаренных детей имени Всех Лауреатов Нобелевской Премии очень редко меняли учебный план, да еще и посреди учебного года. Пожалуй, единственный случай - это отмена биологичкой Анной Степановной практикума по генной инженерии в девятом классе.
Самое интересное, что началось все на отделении информатики, и совершенно не предполагало такого неожиданного итога. Антон Седов, парень весьма целеустремленный, но любящий внешние эффекты, в качестве годовой презентации решил представить свою работу по семантическому распознаванию текста. Идея была проста. Синтаксический анализ текста, позволявший выявить грамматический строй неизвестного языка применялся уже давно, начиная с Кнорозова расшифровывавшего тексты майя. Семантический анализ проводился уже после того, как выявлялись основные служебные части речи и значащие слова. Программа искала закономерности появления различных слов рядом и строила графы зависимости слов друг от друга. А дальше выяснялось, что эти графы отличаются у разных текстов - художественных, научных, религиозных, экономических отчетов и т. п. Если же учесть, что обычно можно сделать какие-нибудь дополнительные предположения о том, что написано, исходя из места находки и т. п., то перевод получался почти однозначный.
Антон, всегда несколько раздраженный тем, что его Computer Science другие ребята наукой не считают, а относят к ремеслу, вроде инженерного, предложил приготовить любые тексты. Только поставил условие, что они должны быть достаточной длины и предложивший текст должен знать его смысл. И еще оставил за собой право на дополнительный вопрос.
Представление обещало быть забавным, так что на защиту набился народ со всех отделений. Были Игорь Моисеевич, куратор Седова по информатике и Анна Степановна, классная руководительница. Первую задачку программа решила очень легко. Вовка, приятель Седова по отделению информатики, предоставил архив Хараппы, найденный на раскопках в Индии два года назад и только-только расшифрованный. Ничего удивительного в легкости не было - синтаксический анализатор как раз для таких случаев и предназначался. Перевод программы практически полностью совпал с результатами ученых-историков.
Со второй задачей пришлось помучиться. Сергей Ли с лингвистического попросил своих знакомых китайцев перевести инструкции к продаваемым товарам на амхарский язык. Амхарского знакомые китайцы не знали, но сообразительности им было не занимать, а словарик амхарского Серега предоставил. Анализатор справился, правильно определив, что это инструкции, разве что карманный фонарик упорно переводил как Большой Адронный Коллайдер. Антон уже готовился праздновать успех своей науки, но тут о себе напомнила Ленка Юрина.
Ленка училась на биологии, отношение к Седову у нее было весьма противоречивым, так что ей очень хотелось показать, что этот Антон ничего собой не представляет, и вся его информатика - туфта на постном масле. Она за неделю до презентации подсунула Антону последовательность своего ДНК с практикума по сиквенсу, справедливо рассудив, что это вполне себе текст более чем достаточной длины, а смысл этого текста она ежедневно видит в зеркале. Антон смутился, но от задачи не отказался, а через день, воспользовавшись правом на вопрос, поинтересовался:
- Это программа?
Ленка задумалась на мгновение, но кивнула:
- Это самая гениальная программа в мире! Слабо понять, что она делает?
Так вот, на защите Юрина встала и ехидным голосом напомнила о своей задаче.
Антон изобразил растерянность, а потом не выдержал и широко улыбнулся:
- Ты зря на что-то надеешься, то, что это код, написанный на объектно-ориентированном языке, мы с Анализатором сразу догадались. В нем постоянно порождаются объекты-копии, переписывают себя и выполняются каждый раз несколько по иному, из-за различий в общих используемых данных. А то, что долго в нем разбирались, так это потому, что ты мне эти общие данные не предоставила, что нечестно. А еще потому, что это совсем не гениальная программа, я бы вообще руки оборвал тому, кто ее написал. Простой пример: цикл копирования объекта не переписывает последние символы кода. И вот, вместо того чтобы найти ошибку в цикле, программист тупо дописал в конец бессмысленную последовательность, чтобы потеря последних символов не сказалась на самом коде. Скажите, Игорь Моисеевич, чтобы вы поставили за такое "решение"?
- Ничего хорошего, - кивнул головой куратор.
- Работает все медленно, да тут только ядро будет собираться месяцев девять, а полностью готово к работе это чудо будет только через много лет. Честное слово, даже у меня оно бы работала раз сто быстрее, я уж не говорю о настоящих мастерах. С ошибками, которые неизбежно накапливаются при многократных копированиях, программа справляется плохо, так что со временем она уже не сможет выполнять все заложенные в нее функции, а потом и совсем заглючит. И пятьдесят лет работы - это совсем не много, особенно если двадцать лет перед этим ушло на подготовку. Да и вообще, - воскликнул Антон, - у нее четверть текста - это вставки работы каких-то вирусов, сами вирусы вроде как обезвредили, а вычистить из текста бессмысленные куски поленились! В общем, ты, Елена, хотела узнать, что делает эта программа, так я отвечу - халтуру она делает! Есть ли у кого вопросы?
Ленка так и осталась стоять с открытым ртом: всякое бывало, но халтурой ее еще никто не обзывал!
Анна Степановна хмыкнула и указала на диаграмму:
- Антон, у тебя выделено в процентах, часть значащего кода, часть остатков вирусов, а что помечено красненьким?
- Ничего интересного, Анна Степановна, это комментарии. Даже прокомментировать нормально не смогли. Там в основном, - Антон покраснел, - экспрессивно окрашенная лексика, а также ерунда вроде "И так сойдет!", "Все равно этот курсач никто читать не будет!" и тому подобное. Насоздают незнамо что неумеючи, а потом людям и программам -он имел в виду себя с Анализатором - мучайся
И вот тут-то Анна Степановна и подумала, что Антон прав, а практикум по генной инженерии в девятом классе давать еще рановато.