УНИВЕРСИТЕТ ИТМО
Кафедра «Технологии программирования»



Главная

Новости
 Новости науки
 Важное
 Почетные доктора
 Инновации
 Культура
 Люди
 Разное
 Скартел-Yota
 Стрим
 Смольный
Учебный процесс
 Образование
 Дипломы
 Курсовые проекты
 Лабораторные работы
 Учебные курсы
 Визуализаторы
 Unimod-проекты
 Семинары
 Стипендии
Наука
 События и факты
 Госконтракты
 Статьи
 Диссертации
 Книги
 Презентации
 Свидетельства
 Сотрудничество
Исследования
 Автоматы
 Верификация
 Биоинформатика
 Искусственный интеллект
 Генетические алгоритмы
 Движение
 UniMod
 Роботы и агенты
 Нейронные сети
 ФЦП ИТМО-Аалто
 Разное

О нас
 Премии
 Сертификаты и дипломы
 Соревнования по программированию
 Прорыв
 Автографы
 Рецензии

Беллетристика
 Мотивация
 Мысли
Медиа
 Видео
 Фотографии
 Аудио
 Интервью

English
 Home

 Articles
 Posters
 Automata-Based Programming
 Initiatives
 Projects
 Presentations
 UniMod
 UniMod Projects
 Visualizers


Поиск по сайту

Яndex



   Главная / Беллетристика / Только через мой труп... (версия для печати)


Только через мой труп...



А.А. Шалыто

Когда я в свое время спросил Максима Буздалова, о чем он хочет писать диссертацию, он ответил: «О тестировании программ». В силу того, что предполагалось мое научное руководство, я сказал: «Только через мой труп» – и пояснил: «Если бы эту задачу можно было решить, то в каждой компании не было бы своих методик тестирования, а каждый программист не проводил бы тестирование по-своему». Вместо этого я предложил провести это исследование для какого-либо класса программ, а так как Максим – чемпион мира по спортивному программированию, то, по моему мнению, этот класс – олимпиадные задачи.

Оказалось, что этот класс задач не проще класса всех задач, так как в одной из книг по олимпиадному программированию я прочел, что существует 23 класса олимпиадных задач (задачи по геометрии, задачи на графах и т.д.).

В результате Максим написал диссертацию на тему: «Генерация тестов для определения неэффективных решений олимпиадных задач по программированию с использованием эволюционных алгоритмов» (http://is.ifmo.ru/disser/buzdalov-synopsis.pdf). Даже после такого сужения тема все еще была очень широкой, и исследования Максима свелись к созданию тестов для двух классов очень сложных задач, для которых тестов, кроме случайных, до сих пор никто предложить не мог.

В результате Максим, в частности, создал «метод генерации тестов для алгоритмов решения NP-трудных задач на основе генетического алгоритма (на примере задачи о рюкзаке). При этом было показано, что разработанный метод с большим уровнем статистической значимости генерирует более сложные тесты, чем наилучшие методы случайной генерации тестов из известных на сегодняшний день», а также «метод генерации тестов для алгоритмов решения графовых задач на основе генетического алгоритма (на примере задачи о поиске максимального потока). При этом было показано, что разработанный метод генерирует более сложные тесты, чем метод случайной генерации тестов, а также большинство известных методов генерации тестов для указанной задачи. Для некоторых алгоритмов, например для алгоритма Диница, тесты, построенные генетическим алгоритмом, превосходили тесты, построенные другими методами, в несколько раз по времени работы».

История решения первой задачи была весьма интересной. До того как Максим взялся за ее решение, было известно 256 решений, полученных за пять лет, в том числе и чемпионами мира по спортивному программированию. Сначала Максим так усилил тесты, что «убил» (по времени решения задачи) половину решений, он продолжал исследования и за день до защиты бакалаврской работы оставалось всего четыре «правильных» решения, а в день защиты их не осталось совсем! Через некоторое время снова появились «правильные» решения, которые со временем Максимом были «убиты». Это «соревнование» продолжается до сих пор.

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

Скоро Максим защитит докторскую диссертацию, тему которой мы придумали вместе. Во всех университетах мира на программистских специальностях преподают курс «Алгоритмы и структуры данных». В теме Максима будет еще три слова: «для эволюционных вычислений». Надеюсь, что и этот курс со временем будут читать в университетах, если и не во всех, то во многих. Пока мы начали с Университета ИТМО.

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

16.02.2020

P.S. Выше я на всякий случай написал, что тему докторской диссертации Макса мы придумали вместе. Это весьма странное утверждение, так как у нас по этому поводу мозгового штурма не было. Мне казалось, что это название придумано мною, но из дипломатических соображений написал, как указано выше. До публикации в сети я показал текст Максиму. Его письмо начиналось фразой, которая не предвещала ничего хорошего: «Вот ведь труп раскопали...». А еще в письме была фраза: «Про «вместе» я, кстати, не очень-то помню – кажется, я просто рассказал Вам про это название, и Вы «загорелись». Последнее свидетельствует о том, что правдивое написание истории невозможно – прошло всего несколько лет и нас всего двое, а мы имеем прямо противоположные воспоминания по описываемому факту. А если бы прошло значительно больше времени, а в событии участвовало на много больше народа?




© 2002—2024 По техническим вопросам сайта: alexvatyan@gmail.com