diff --git a/README.md b/README.md index 62cc3c709..bafa1dcff 100644 --- a/README.md +++ b/README.md @@ -181,8 +181,12 @@ - Для выполнения экспериментов потребуется не только код, но окружение и некоторая его настройка. Соответственно, сдаваемое решение должно сопровождаться инструкциями по настройке окружения и воспроизведению экспериментов. В идеале, это всё должно содержаться в ноутбуке. - Эксперименты должны быть воспроизводимыми (например, проверяющими). - В ноутбуке выполняется вся настройка, пишется код для экспериментов, подготовки отчетов и графиков. -- Ноутбук является связанным текстом, описывающим цели эксперимента, методику их проведения, анализ результатов, ответы на поставленные вопросы. +- Ноутбук снабжается связанным текстом, описывающим цели эксперимента, методику их проведения, анализ результатов, ответы на поставленные вопросы. - Ответы на вопросы должны быть обоснованы (экспериментами), наблюдаемое поведение проанализировано и обосновано. +- Результаты экспериментов представляются в виде презентации в отдельно оговоренный день. На рассказ 5 минут. На вопросы и ответы на них --- 3 минуты. + - Финальная за задачу оценка выставляется по результатам презентации и ответов на вопросы. + - Ровно одна попытка сделать презентацию. + - Качество презентации влияет на итоговую оценку. Рекомендуется, например, изучить разделы "Требования к презентации" и "7.3.4. Чеклист по презентации" из [этого документа](https://github.com/yurii-litvinov/courses/blob/master/additional/practices-guide/practices.pdf). ## Структура репозитория diff --git a/tasks.md b/tasks.md index b1a811d45..b5d84ab41 100644 --- a/tasks.md +++ b/tasks.md @@ -103,9 +103,11 @@ ## Задача 5. Экспериментальное исследование алгоритмов для регулярных запросов -Полный балл: 15 +Полный балл: 25 + +Обратите внимание, что это максимальный балл. Реальная оценка может быть снижена, в том числе по результатам презентации. -Задача посвящена анализу производительности алгоритма решения задачи достижимости между всеми парами вершин и с заданным множеством стартовых вершин с регулярными ограничениями через. +Задача посвящена анализу производительности алгоритма решения задачи достижимости между всеми парами вершин и с заданным множеством стартовых вершин с регулярными ограничениями. Исследуются следующие задачи достижимости, решаемые в предыдущих работах. - Достижимость между всеми парами вершин. @@ -117,7 +119,7 @@ Решение данной задачи оформляется как Python notebook. Для того, чтобы обеспечить возможность проверки, необходимо сделать notebook самодостаточным: в него должны быть включены все действия, необходимые для воспроизведения эксперимента. Также в notebook размещается отчет и анализ результатов ваших экспериментов в текстовом виде. Отчет сопровождается диаграммами, таблицами, картинками, если это необходимо для объяснения результатов. -Решением является не просто код, но отчёт об экспериментальном исследовании, который должен являться связанным текстом и содержать (как минимум) следующие разделы: +Решением является не просто код, но отчёт об экспериментальном исследовании, оформленный в виде презентации, который должен являться связанным рассказом и содержать (как минимум) следующие разделы: - Постановка задачи - Описание исследуемых решений - Описание набора данных для экспериментов @@ -129,7 +131,7 @@ - Результаты экспериментов - Графики, таблицы - Анализ результатов экспериментов - - Ответы на поставленные вопросы, аргументация ответов + - Ответы на поставленные вопросы, **аргументация ответов**. Обратите внимание, что "мне кажется", "я думаю" и прочие подобные формулировки аргументами не являются. Необходимы результаты замеров, профилирования, другие цифры. При постановке экспериментов и базовом анализе результатов не лишним будет воспользоваться [советами отсюда](https://github.com/spbu-se/measurements/blob/main/measurements_cheat_sheet.pdf). При написании отчёта можно попробовать вдохновиться рекомендациями [отсюда](https://github.com/spbu-se/matmex-diploma-template/blob/master/040_experiment.tex). @@ -151,12 +153,14 @@ - В запросах должны использоваться все общепринятые конструкции регулярных выражений (замыкание, конкатенация, альтернатива). То есть хотя бы в одном запросе к каждому графу должна быть каждая из этих конструкций. - [ ] Для генерации множеств стартовых вершин воспользоваться [этой функцией](https://formallanguageconstrainedpathquerying.github.io/CFPQ_Data/reference/graphs/generated/cfpq_data.graphs.utils.multiple_source_utils.html#cfpq_data.graphs.utils.multiple_source_utils.generate_multiple_source). Не забывайте, что от того, как именно устроено стартовое множество, сильно зависит время вычисления запроса. - [ ] Сформулировать этапы эксперимента. Что нужно сделать, чтобы ответить на поставленные вопросы? Почему? -- [ ] Провести необходимые эксперименты, замеры -- [ ] Оформить результаты экспериментов -- [ ] Провести анализ результатов - - [ ] Ответить на поставленные вопросы - - [ ] Аргументировать ответы (пользуясь полученными результатами экспериментов) -- [ ] Не забыть опубликовать notebook в репозитории +- [ ] Провести необходимые эксперименты, замеры. +- [ ] Оформить результаты экспериментов. +- [ ] Провести анализ результатов. + - [ ] Ответить на поставленные вопросы. + - [ ] Аргументировать ответы (пользуясь полученными результатами экспериментов). +- [ ] Не забыть опубликовать notebook в репозитории. +- [ ] Не забыть подготовить презентацию и выступить с докладом. Проверьте требования из релевантных инструкций. Например, разделы "Требования к презентации" и "7.3.4. Чеклист по презентации" из [этого документа](https://github.com/yurii-litvinov/courses/blob/master/additional/practices-guide/practices.pdf). Обратите внимание, что в вашей презентации фокус на экспериментах. +- [ ] Не забыть выложить презентацию в репозиторий. ## Задача 6. Преобразование грамматики в ОНФХ, алгоритм Хеллингса @@ -245,7 +249,9 @@ ## Задача 10. Экспериментальное исследование алгоритмов решения задачи достижимости с КС ограничениями -Полный балл: 20 +Полный балл: 30 + +Обратите внимание, что это максимальный балл. Реальная оценка может быть снижена, в том числе по результатам презентации. Задача посвящена анализу производительности различных алгоритмов решения задачи достижимости между всеми парами вершин с контекстно-свободными ограничениями: алгоритма Хеллингса, матричного алгоритма, тензорного алгоритма, алгоритма на основе GLL. В ходе анализа необходимо ответить на следующие вопросы. - Какой из трёх указанных алгоритмов обладает лучшей производительностью? @@ -254,8 +260,8 @@ Решение данной задачи оформляется как Python notebook. Для того, чтобы обеспечить возможность проверки, необходимо сделать notebook самодостаточным: в него должны быть включены все действия, необходимые для воспроизведения эксперимента. Также в notebook размещается отчет и анализ результатов ваших экспериментов в текстовом виде. Отчет сопровождается диаграммами, таблицами, картинками, если это необходимо для объяснения результатов. -Решением является не просто код, но отчёт об экспериментальном исследовании, который должен являться связанным текстом и содержать (как минимум) следующие разделы: -- Постановка задачи +Решением является не просто код, но отчёт об экспериментальном исследовании, оформленный в виде презентации, который должен являться связанным рассказом и содержать (как минимум) следующие разделы: +- Постановка задачи (исследовательские вопросы) - Описание исследуемых решений - Описание набора данных для экспериментов - Графы @@ -266,7 +272,7 @@ - Результаты экспериментов - Графики, таблицы - Анализ результатов экспериментов - - Ответы на поставленные вопросы, аргументация ответов + - Ответы на поставленные вопросы, **аргументация, обоснование ответов**. Обратите внимание, что "мне кажется", "я думаю" и прочие подобные формулировки аргументами не являются. Необходимы результаты замеров, профилирования, другие цифры. - [ ] Создать Python notebook, подключить необходимые зависимости. - [ ] Подключить необходимые решения из предыдущих работ. @@ -280,6 +286,8 @@ - [ ] Ответить на поставленные вопросы - [ ] Аргументировать ответы (пользуясь полученными результатами экспериментов) - [ ] Не забыть опубликовать notebook в репозитории +- [ ] Не забыть подготовить презентацию и выступить с докладом. Проверьте требования из релевантных инструкций. Например, разделы "Требования к презентации" и "7.3.4. Чеклист по презентации" из [этого документа](https://github.com/yurii-litvinov/courses/blob/master/additional/practices-guide/practices.pdf). Обратите внимание, что в вашей презентации фокус на экспериментах. +- [ ] Не забыть выложить презентацию в репозиторий. ## Задача 11. Язык запросов к графам