Профессорский гамбит Мирная Ирина
Глава 1
В здании математического факультета всегда пахнет как-то иначе. Я не могу этого объяснить, просто заходишь и понимаешь: вот он, родной матфак.
Нет-нет, вы не подумайте, птом и слезами, конечно, тоже пахнет, но это или в спортзале, или в аудиториях, а вот в коридорах… Даже не знаю: какая-то смесь мела и чернил, дерева и пыли, дезодорантов и компьютеров. И только попробуйте, прочитав, подумать, что компьютеры не пахнут. Ещё как пахнут, можете мне поверить.
К счастью, несмотря на то, что девушек в этом мужском царстве по-прежнему встречается не очень много, предрассудки себя изжили. Да, прекрасный пол тут любят и оберегают, но запудрить себе нос не даст никто. Все преподаватели и студенты точно знают: если кажется, что девушка глупая, то вас стоически разводят.
В расписании пар сегодня не значится ничего страшного. Нет, конечно, к третьему курсу меня уже не способны напугать никакие диковинные названия, но куда интереснее слушать адекватную человеческую речь, без всяких там греческих вставок.
Подойдя к креслам в коридоре, устало скинула на них стильный рюкзак и измученно опустилась сама.
– Саша, ты сделала лабораторную к Ромашке? – спросил Никита, мой одногруппник.
Романов Сергей Иннокентьевич ведёт у нас пользовательские интерфейсы. Один из немногих действительно полезных предметов. Ну, по крайней мере, мог бы им быть, если бы мы не разрабатывали на допотопном фреймворке.
– Нет, я всю ночь решала дополнительные задачи, которые Окунев выложил. Даже если хорошо напишу контрольную, мне до автомата трёх баллов не хватит, приходится решать допы. А времени на них с каждым днем всё меньше.
– А что будешь показывать сегодня?
– Ничего не буду показывать, честно скажу, что не сделала, и принесу на следующую пару. Ромашка, как и всегда спросит, что именно я покажу, запишет, а когда буду демонстрировать похвалит.
На этих словах прозвенел звонок, сообщающий об окончании первой пары. Обожаю, когда нам ко второй.
Коридор всё больше заполнялся студентами, сквозь толпу которых пробиралась Светлова Лиза. Мы сдружились ещё на первом курсе, как ни крути, а девочкам всегда хочется свою мини-компанию. На самом деле, в группе нас четверо, но Марина редко появляется на парах, а в эту сессию находится под самой что ни на есть настоящей угрозой отчисления, а Ксюша… в общем, она сама себе на уме. Истинный математик.
– Еле успела, – выдохнула подруга и рухнула на соседнее кресло.
– И тебе доброе утро.
– Я вообще-то с тобой уже здоровалась, часа два назад, просто кто-то систематически не читает мои сообщения.
Пришлось состроить жалостливое лицо и отыскать на дне рюкзака полный сообщений телефон.
– Дай угадаю, – включился в наш разговор Никита, – ты тоже всю ночь задачи Окунева решала?
– Не-а, я на них посмотрела, поняла, что автомата мне не светит, и как могла клепала лабу. Правда очень сомневаюсь, что за сие произведение искусства не получу от Романова пинка под зад.
– На обеде покажешь, посмотрим, что можно сделать, – порадовала я Лизу.
Из нас двоих как классическое алгоритмическое мышление, так и навыки программиста преобладают у меня. Подруга же специализируется на зубрежке и примерах. Честное слово, она иногда сама объяснить не может, как решает все эти уравнения математической физики и тому подобную ересь.
Всё-таки правильно физики придумали, что противоположности притягиваются, мы с Лизаветой живое тому доказательство: дополняем друг друга как в жизни, так и в учебе.
Когда основная масса студентов направилась в аудитории, и ребята из нашей группы последовали их примеру, я не удержалась и тихо спросила:
– Ты что, правда до утра сидела над интерфейсом?
– Нет, конечно, часов до двух, а потом всю ночь смотрела эротическое кино со мной и Окуневым в главной роли.
– Боже, давай без подробностей, мне сейчас еще полтора часа у него на паре сидеть.
В целом, Светлову можно было понять. Преподавателю тридцать, может, тридцать два, холост, остроумен. Высокий, я даже могу сказать про него «симпатичный». Его бы еще приодеть по моде, а не по-аспирантски, и будет высший класс.
Машина, квартира, ретривер и несколько грантов, один из которых вроде даже иностранный. Ну чем мужик не лакомый кусочек?
Головой понимаю, что лакомый, вот только сердцу не прикажешь. Хотя моему сердцу вообще не прикажешь, я не влюбчивая от слова совсем. Смотрю на парней или мужчин, общаюсь с ними и оцениваю, как Шерлок в сериале: такие-то качества хорошие, такие-то плохие. Нет бы, как Лиза, выбрать себе жертву и ходить слюни пускать…
Хуже, наверное, только то, что парни ко мне тоже особого интереса не проявляют. Нет, я не страшненькая, даже в меру красивая, фигура, формы – всё при мне. Иногда кажется, что планка у меня высокая и парни это чуют за версту.
А что поделать? Родители не поскупились на моё образование, я хороша в языках, да и в языках программирования я тоже не промах. На одних красивых глазках до третьего курса на матфаке не продержаться. Парни умнее меня – или зануды, или просто страшненькие типичные ботаники, а те, что глупее, уж простите, меня не интересуют.
В лекциях Окунева есть один большой плюс. Они и интересны, и полезны. Мы проходим самые занимательные алгоритмы и задачи, теоремы и доказательства. Так классно открывать поисковики, видео-хостинги, игры и понимать, как всё устроено.
– Всем доброе утро, – привычно поздоровался преподаватель, и начал раскладывать ноутбук для презентации за стойкой кафедры. – Сейчас был у первокурсников, похоже, половина будет после сессии ходить на пересдачи. А вы говорите, что глупые, вы мне даже дополнительные задачи иногда присылаете.
На этой фразе Никита демонстративно обернулся и посмотрел на меня. А что я? Я лучше с гуглом, калькулятором и в удобной пижаме буду пытаться решить эти допы, чем потом не сдам экзамен. Ведь правда не сдам. Это я на практике умная, а с теорией у меня даже при большом усердии большие проблемы.
Лекция шла своим чередом, Окунев с присущей ему пылкостью и остротой рассказывал нам про класс PSPACE и различные задачи за пределами класса NP. Мы привычно не стали делать перерыв, договорившись, что преподаватель отпустит нас пораньше.
– Как мы уже обсудили, PSPACE-задачи напрямую связаны с играми для двух игроков. Поэтому невозможно не обсудить шахматы, – продолжал Алексей Николаевич. – Кто может назвать мне два основных подхода к разработке шахматной стратегии?
В аудитории повисла тишина, и я понимаю почему. Все как один подумали об одном конкретном подходе: перебор вариантов и оценка позиций.
– Саша, ваши предположения, – кивнул мне Окунев и пришлось напрячь мозги.
– Основной подход – это однозначно перебор вариантов, оценка позиций на какое-то фиксированное количество ходов вперед.
– Совершенно верно, а второй? – преподаватель хитро улыбнулся, даже не пытаясь скрыть, что вопрос с подвохом.
Я скромно пожала плечами. Опрос одногруппников также ничего не дал. Прозвучали, конечно, разные глупые предположения о рандомизации ходов, искусственном интеллекте, но все они сводились к оценке текущей позиции.
– Давайте, напрягитесь, это вторая пара, а не пятая, ваши извилины на пике активности. Что можно анализировать в шахматах помимо расстановки фигур?
– Ну, если доску уже оценили, нужно оценивать игрока, – негромко выдала я единственное посетившее меня умозаключение.
– Именно, – Окунев щелкнул пальцами и указал на меня, как бы подхватывая фразу. – Второй подход моделирует поведение живого игрока, анализируя только несколько наиболее удачных ходов и просматривая дерево поиска на большую глубину. А теперь подумайте вот над каким вопросом: вариант с моделированием поведения игрока не используется аж с семидесятых годов, есть идеи, почему?
Тут уже улыбнулась я. Неужели, потому что это будет работать только с логичными, априори успешными ходами? То есть стоит игроку сходить не очень удачно, и система сломается?
Мысль эта меня посетила по той простой причине, что я не умею играть в шахматы.Нет, я знаю примерные правила, как ходят фигуры и всё такое, но удерживать всю эту информацию в голове, да еще и просчитывать ходы и варианты, я не в состоянии. Мой мозг просто отказывается так сильно напрягаться и посылает мне в ответ обезьянку, бьющую друг о друга тарелки.
В аудитории вновь звучали варианты ответов, но ни один из них не был правильным. Решила и я высказать своё предположение, вдруг угадаю, может, Окунев расщедрится и от доброты душевной мне дополнительный балл поставит.
– Защита от дурака? – не очень уверенно спросила я.
– Что вы имеете в виду, Саша? – преподаватель подобрался и скрестил руки на груди, демонстрируя интерес.
– Вы сказали, что второй подход анализирует лишь несколько наиболее удачных ходов игрока. Но что, если игрок не так предсказуем, как того ожидает программа? Я, например, не умею играть в шахматы. Конечно, если посадить меня играть, я буду делать какие-то ходы, иногда даже обоснованные, но вряд ли они будут из числа наиболее успешных. То есть я изначально буду делать те ходы, которые компьютер не просчитывает и лишь потому могу выиграть?
– Вы не умеете играть в шахматы? – задумчиво спросил мужчина.
Серьезно? Я ему по полочкам разложила, чем может быть плох подход, а он из всего озвученного услышал только это? Не сдержав тяжелого вздоха разочарования, кивнула.
– Саша, вы же, кажется, делали мне в том году лабораторную по шахматам, когда мы проходили алгоритм Минимакс?
Лабораторные у Алексея Николаевича вещь вовсе необязательная, я стараюсь делать их, чтобы заработать баллы и получить автомат. Тоже самое касается и дополнительных задач.
– Чтобы запрограммировать поведение шести фигур, не нужно уметь играть, достаточно иметь перед глазами инструкцию для чайников, – огрызнулась я.
Окунев как-то изучающе на меня посмотрел, так, словно впервые увидел.
– По вторникам и четвергам на шестой паре есть шахматный кружок. Там, правда, большинство с разрядами, но я приглашаю вас прийти попробовать. Поверьте, очень полезно для алгоритмического мышления.
Делать мне больше нечего, кроме как после пяти пар ещё идти смотреть, как ботаники всея университета фигурки по дощечке переставляют.
– А вы тоже его посещаете? – спросила Лиза, с весьма корыстным интересом.
Алексей Николаевич, кажется, уловив намерения моей подруги, хмуро кивнул. Он молодец, никогда не даёт студенткам мнимых надежд: всегда сосредоточен, только на «вы» и никакого флирта.
– Спасибо, – поблагодарила я за приглашение. – А что насчет подхода, я права?
Окунев улыбнулся, как довольный кот, урвавший банку сметаны. И было в этой улыбке что-то… сексуальное что ли. Хотя, чему я удивляюсь? Есть такие мужчины, которые всегда умеют заинтересовать, блеснуть остротой ума, разжечь интригу; так вот он как раз из таких.
– Нет, Саша, вы ошиблись, всё гораздо прозаичней. Брутфорс, он же полный перебор, пускай и модифицированный, плох временем работы и количеством используемой памяти. Но в семьдесят третьем году этот алгоритм уже работал лучше других компьютерных аналогов. Ученые пришли к единому мнению: какой смысл анализировать игрока и пытаться изобрести сложные аналитические цепи, если перебор прекрасно работает.
Дальше преподаватель принялся рассказывать про переломную игру Каспарова в девяносто седьмом, после проигрыша которого интерес к шахматам в мире сильно упал. Зато (как неожиданно!) этот самый интерес стали проявлять к игре Го, но и та спустя двадцать лет сдалась под натиском машин.
– Делай что хочешь, в эти вторник и четверг мы с тобой идем на шахматы, – прошептала Лиза.
Вот, чёрт!
Глава 2
Окунев
На первый этаж я спускался в общем потоке, вот только если студенты семенили в столовую, то я спешил на парковку, где, согласно уведомлению, меня ожидал обед.
Забрав заказ у курьера, направился в свой кабинет, попутно проверяя телефон. На почте ничего интересного, лишь пара новых файлов с решениями от магистрантов, в мессенджерах чуть лучше – около десятка сообщений от студентов, но среди них ничего срочного. А вот сообщение от Никиты с приглашением на дачу не прошло мимо моего внимания.
«То есть, в пятницу и в выходные ты сидел тише воды, ниже травы, а в понедельник решил отыграться?» – оттарабанил я по клавишам и убрал телефон в карман.
У кабинета стояли мои дипломники, нет бы по одному приходили, не съем я их. Хотя, если так и будут являться во время обеда, может, и съем… Узнал, что они от меня хотят, и отправил нерадивых в столовую, велев написать мне всё в Telegram.
Закрывал кабинет и распаковывал обед уже погруженный в собственные мысли. Обожаю эту рутину: проверяешь работы, отписываешься нерадивым студентам за… Что там сегодня в меню? За пастой с морепродуктами и каким-то легким салатом из бизнес-ланча.
Плейлист дня включал тоже в какой-то прострации, мне кажется, даже если в подборке попадется какая-нибудь ересь, подсунутая мне алгоритмами для проверки очередной теории, я этого не замечу.
Так спустя добрую половину часа наткнулся на письмо от Дубровой Александры. Ого, поступило в пять часов шестнадцать минут утра. С такими подвигами девчонке бы на лекции носом клевать, а не на вопросы отвечать.
Открыл письмо и ничего не понял. Внутри только сам вопрос и ответ. Ни обоснования, ни доказательства единственности, хотя их обязательное наличие четко прописано в задании.
Сейчас найду чат с ней в мессенджере. Для быстрого обмена сообщениями так удобнее, на почту прошу кидать именно файлы. Вот она!
«Саша, добрый день! Задачу не засчитываю, мне нужны обоснование и доказательство», – отправил я, и заодно открыл диалог с друзьями. Судя по тому, что встречу назначили у Серёжи, вечер будет долгим.
А девочка интересная. Не верю, что не умеет играть, ленится. Программисты они все ленятся, в этом их хлеб. На математическом факультете студенты делятся на три типа: случайно забредшие души, хотя такие обычно вылетают в первую же сессию, математики, ну и программисты.
И на кой черт позвал её на собрание? Ещё эта Светлова, что ходит за ней хвостом. Нет, теоретик Елизавета неплохой, но никакого чувства такта. Не хватало еще, чтобы и она на шахматы заявилась…
Уже начал проверять работы магистрантов, когда в правом углу мелькнуло новое сообщение.
«Здравствуйте! Я надеялась, вы не попросите) Наверняка можно сломать мозг и решить эту задачу как-то очень по-хитрому, но я сделала проще: 8 переменных и 10 минут перебора всех возможных вариантов компьютером. Решение единственное, так как были перебраны все возможные комбинации.
P.S. при необходимости могу прислать код.»
Что я там говорил про программиста? И ведь не поспоришь, решила. Не руками и логикой, компьютером, в лоб, коряво и неэффективно, но решила.
«Договоримся так: убирать задачу из общего списка пока не буду, если никто с вашего потока не решит её по-человечески, то в конце недели выставлю вам один дополнительный балл. На три балла, которые за ней закреплены, хочу увидеть решение "как-то очень по-хитрому")
P.S. код можно не присылать, но на кружок завтра явиться обязательно, вы не пожалеете; решать такие задачи перебором просто неприлично.»
Ответа не получил, даже не прочитала, что, впрочем, неудивительно, до пары совсем ничего. Сейчас несколько сотен студентов дружно пытаются выйти в узкую дверь столовой. Как-то наблюдал это со стороны, и правда ведь как стадо.
Еще две лекции пролетели незаметно, хорошо иногда придумать универсальное название для курса и самому решать, что рассказывать студентам.