TonitaN / FormalLanguageTheory

Slides and tasks for theory of formal languages course BMSTU IU9 (comments&issues in Russian)
49 stars 2 forks source link

Лабораторная 1 #16

Closed TonitaN closed 9 months ago

TonitaN commented 1 year ago

Обсуждения и вопросы по первой лабораторной. Слайды с условием будут сегодня. Отсчёт времени - с завтрашнего дня.

Анонс дополнительной консультации: 12-30 11 сентября, в 330аю. Разбор арктических матриц и ординальной арифметики.

Кто (один человек, приоритетно - г. Задворных) желает взять альтернативную лабораторную (факторизация регулярок, собранных со StackOverflow, по модулю обратных ссылок), учитываем, что это - часть большого проекта, и 2 недели по ней - жёсткий дедлайн, после которого 1 лабораторная блокируется и становится стоимостью 0 баллов. Спойлер: если взять и сразу начать делать, такого не будет, идеологически она попроще, чем базовые, но технических деталей там больше.

TonitaN commented 1 year ago

Условия добавлены. В позапрошлом году условие 1 лабораторной составляло 6 слайдов, в прошлом - 9, в этом - 19. Тенденция...

TonitaN commented 1 year ago

Почин есть - первый сдавший.

EDIT: И как минимум двое сдающих на Рефале... А Haskell в этом году старательно обходят стороной - неужели с учётом опыта прошлых поколений?

TonitaN commented 1 year ago

На всякий случай, чтобы не возникло сомнений: лабораторные присылать по ночам можно, и к падению репутации это не приводит, если эта ночь - не перед штрафом или контрольным мероприятием. То есть сегодня и завтра ночью (считаем до 6 утра) вы можете спокойно их присылать, а вот ночью с воскресенья на понедельник - со штрафом в репутации 5 баллов. И с чуть меньшим штрафом в репутации (2 балла) - если пришлёте в воскресенье с 6 утра и до 10 вечера.

Но до понедельника (до 6 утра, если точнее) все лабы ещё стоят полный балл по оценке, а с понедельника - уже со штрафом -1 (зато без штрафов в репутации до следующего воскресенья).

Ещё одно важное уточнение: если вы сдали лабораторную в воскресенье, но нашлись существенные баги, однако, при достаточно убедительной основе, она всё равно засчитывается за полный балл, даже пусть вы исправите их уже в штрафное время. Если не злоупотреблять лояльностью к вам, конечно же. Вариант "сдать лабу по-быстрому сляпанную на коленке, чтобы вписаться в срок, а потом доделывать её ещё две недели" - плохой, и будет караться существенным снижением репутации (-20 баллов за прецедент и затем -10 баллов за каждую неделю просрочки исправления багов).

Важный EDIT (надеюсь, его мало кто заметит): Следование принципу "сгорел сарай - гори и хата" (выбирать рандомные варианты, чтобы уронить репутацию до нуля, попасть в "избранные" и не париться насчёт сроков сдачи и дальнейшего выбора вариантов) приведёт к появлению специальных санкций для "избранных". Которые коснутся всех с нулевой репутацией, а не только гения стратегии, буде таковой найдётся.

TonitaN commented 1 year ago

Раздача поощрений за качество будет, возможно, уже во вторник (в понедельник могу не успеть). Но коснётся тех, кто сдал лабораторную максимум в воскресенье.

TonitaN commented 1 year ago

Вариант номер 3 (арктические матрицы)

Скоро будут анонсы по другим группам, но я надеюсь, что кто-нибудь успеет до той поры исправить баги, иначе он не попадёт в список кандидатур на допбаллы.

TonitaN commented 1 year ago

Вариант номер ординалы

TonitaN commented 1 year ago

Вариант с обычными функциями

P.S. - Долгие размышления, кого же сделать первопроходцами, привели к мысли, что нужно наградить +1 баллом дополнительно всех, кто старался. Потому что старались многие.

TonitaN commented 1 year ago

Если вам вот вообще не понятно, что происходит и что должно происходить в лабораторной работе (неохота "курить условие" по несколько часов), есть простой приём, чтобы проверить, пора ли отправлять решение на проверку.

  1. Берёте чужую лабораторную, получившую от меня высокую оценку
  2. Запускаете тесты на ней и на вашей лабораторной (вот тогда и прочувствуете боль от использования альтернативного синтаксиса, не только же мне с этим мучиться)
  3. Если солвер вернул один и тот же ответ на 10+ тестах (модели могут различаться, но они должны быть обе SAT или обе UNSAT одновременно) - возможно, ваша лаба действительно работает адекватно. Если нет - смотрите, на каких тестах произошло что-то странное.

И при этом надо брать нормальные достаточно разнообразные тесты, а не только f->ff и f->gh. Не лишне понять, глядя на них, является ли система по существу завершающейся (если даже является, не факт, что солвер это докажет. А вот откровенно sat на незавершайках быть категорически не должно).

Честно скажу - я стала уменьшать репутацию за плохо протестированные лабораторные, в которых исправляется строго указанный мною тест, без попыток заглянуть на шаг дальше. И если у первопроходцев было оправдание (непонятно, к чему стремиться, и соответствующие попытки могли трактоваться как запрос к Minimally Adequate Teacher), то у мейнстрима уже есть ориентиры, и вроде бы должны появиться зачатки умения фазз-тестирования.

P.S. - Режим MATа (Minimally Adequate Teacher) для таких кейсов скоро отключится. Будет просто "есть ошибки, переделывайте", потому что хватит уже злоупотреблять.