Список форумов ZCon ZCon
Соревнования по программированию
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Задача "RegExp мастер"
На страницу Пред.  1, 2, 3, 4, 5, 6  След.
 
Начать новую тему   Ответить на тему    Список форумов ZCon -> ZCon 2008
Предыдущая тема :: Следующая тема  
Автор Сообщение
DAle



Зарегистрирован: 21.02.2006
Сообщения: 24

СообщениеДобавлено: Ср Мар 26, 2008 12:26 am    Заголовок сообщения: Ответить с цитатой

zhengxi писал(а):
Да, еще - если корректно выполнять все условия задания по регэкспам, не используя (?=, который там не работает, то 10 килобайт мало.
То есть сейчас любое решение, которое уложилось в 10к, заведомо не выполняет какие-то из условий задания, и можно добавить тест, который это решение не пройдёт.


А слабо это доказать? А то, я боюсь, ты можешь ошибаться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
pperm



Зарегистрирован: 25.02.2007
Сообщения: 26

СообщениеДобавлено: Ср Мар 26, 2008 9:45 am    Заголовок сообщения: Ответить с цитатой

А вот у меня сейчас есть такое ощущение, что уже подогнали решение под новые тесты...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
romul



Зарегистрирован: 20.03.2008
Сообщения: 29

СообщениеДобавлено: Ср Мар 26, 2008 1:20 pm    Заголовок сообщения: Ответить с цитатой

pperm писал(а):
А вот у меня сейчас есть такое ощущение, что уже подогнали решение под новые тесты...
Да уж, тов. Levin Aleksey видимо обладает некой секретной информацией Rolling Eyes так что ему никакие тесты не помеха, хотя это всё уже мелочи с учётом того, что бонусные балы урезали, и правильно сделали...

А вот моё вполне легитимное выражение для даты пало по непонятным причинам... Sad
Вот результаты его применения к некоторым датам:
Цитата:
29/02/2154: _false_
29/02/2152: true
31/03/1600: true
31/04/2003: _false_
20/11/1998: true
14/07/5784: true
29/02/2001: _false_
30-04-2003: _false_
1/1/1899 : _false_
01/01/9999: true
30/01/1599: _false_
Что-то должно быть по-другому?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
levlam



Зарегистрирован: 25.01.2007
Сообщения: 11

СообщениеДобавлено: Ср Мар 26, 2008 2:12 pm    Заголовок сообщения: Ответить с цитатой

romul писал(а):
Да уж, тов. Levin Aleksey видимо обладает некой секретной информацией Rolling Eyes так что ему никакие тесты не помеха, хотя это всё уже мелочи с учётом того, что бонусные балы урезали, и правильно сделали...

Я согласен, что набор тестов необходимо было расширить и необходимо расширять ещё, чтобы отсеивать неправильные решения, но абсолютно не согласен с урезанием бонусных баллов, при такой системе оценки название задачи можно менять на "Кому 1.49 балла, все сюда!". К тому же существующая система начисления бонусных баллов с любой константой не является адекватной, например, если кто-то сможет придумать абсолютно правильное решение задачи 9, скажем из 40 символов, то он получит меньше бонусных баллов, чем тот, кто придумает решение задачи 10 из 35 символов.
romul писал(а):

А вот моё вполне легитимное выражение для даты пало по непонятным причинам... Sad

Значит, оно просто напросто неправильное. Я тоже долго не мог понять, почему у меня не проходит дата после добавления тестов, пока не нашёл пару мелких ошибок, и сейчас уверен, что тесты к этой задаче по крайней мере корректны.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
romul



Зарегистрирован: 20.03.2008
Сообщения: 29

СообщениеДобавлено: Ср Мар 26, 2008 2:48 pm    Заголовок сообщения: Ответить с цитатой

levlam писал(а):
Я согласен, что набор тестов необходимо было расширить и необходимо расширять ещё, чтобы отсеивать неправильные решения, но абсолютно не согласен с урезанием бонусных баллов, при такой системе оценки название задачи можно менять на "Кому 1.49 балла, все сюда!". К тому же существующая система начисления бонусных баллов с любой константой не является адекватной, например, если кто-то сможет придумать абсолютно правильное решение задачи 9, скажем из 40 символов, то он получит меньше бонусных баллов, чем тот, кто придумает решение задачи 10 из 35 символов.
Так в том то и дело, что слишком короткие решения всегда используют уязвимости набора тестов, к тому же любой кто сможет решить все 10 задач(а таких людей много не будет) достоин получить как минимум 1,4 балла, иначе оценка задания становится несправедливой.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
levlam



Зарегистрирован: 25.01.2007
Сообщения: 11

СообщениеДобавлено: Ср Мар 26, 2008 3:17 pm    Заголовок сообщения: Ответить с цитатой

romul писал(а):
Так в том то и дело, что слишком короткие решения всегда используют уязвимости набора тестов, к тому же любой кто сможет решить все 10 задач(а таких людей много не будет) достоин получить как минимум 1,4 балла, иначе оценка задания становится несправедливой.

Набор тестов можно расширять до тех пор, пока останутся только правильные решения, пускай это и очень долгий процесс, но он необходим. К тому же я всё-таки не согласен с тем, что любой, кто решит все 10 заданий, должен получить 1.4 балла, с момента добавления тестов прошло меньше суток, а уже 6 человек набрали больше 10 баллов, за 20 дней, на мой взгляд, сделать тоже самое сможет любой желающий, что просто приведёт к тому, что эта задача не будет оказывать ни малейшего влияния на распределение мест. Что касается системы оценки, то задача как раз и заключается в том, что надо написать "валидное Регулярное Выражение (Regular Expression) минимального размера", и гораздо не справедливее, когда за решение, которое в два раза короче(например, 20 символов вместо 40), ты получаешь всего на 0.025 балла больше.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
romul



Зарегистрирован: 20.03.2008
Сообщения: 29

СообщениеДобавлено: Ср Мар 26, 2008 4:07 pm    Заголовок сообщения: Ответить с цитатой

levlam писал(а):
Набор тестов можно расширять до тех пор, пока останутся только правильные решения, пускай это и очень долгий процесс, но он необходим.
Неа, достаточно сделать создание неправильных выражений невыгодным, что уже частично и сделали, как сразу уменьшится число желающих подгонять решения под тесты.

levlam писал(а):
К тому же я всё-таки не согласен с тем, что любой, кто решит все 10 заданий, должен получить 1.4 балла, с момента добавления тестов прошло меньше суток, а уже 6 человек набрали больше 10 баллов, за 20 дней, на мой взгляд, сделать тоже самое сможет любой желающий
Во-первых, прошло уже 10 дней, и именно за это время эти 5 человек, не считая главного подгонщика, справились с заданием...
А насчёт "любой желающий" смешно конечно, я оценил Laughing
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
levlam



Зарегистрирован: 25.01.2007
Сообщения: 11

СообщениеДобавлено: Ср Мар 26, 2008 4:50 pm    Заголовок сообщения: Ответить с цитатой

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

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

Для составления RegExp выражений не надо никаких экстраординарных знаний, достаточно разобраться просто в их структуре, после чего составление хоть какого-нибудь выражения, делающего то, что попросили в задаче, не составит труда. Разница будет лишь в том, на сколько это выражение понятно и просто устроено, от чего зависит, например, скорость его проверки. Написать RegExp проверки корректности даты можно очень многими способами, а вот написать оптимальное выражение для этой проверки задача не тривиальная, и, ещё раз повторюсь, неправильно что за эту задачу решение из 100 символов получает почти столько же, сколько и решение из 1000 символов.
К тому же я, вообще говоря, тоже справился со всеми заданиями(придумал правильные решения), причём ничего не зная о RegExp до этого турнира, и мне это не показалось особо трудным, после чего уже началась оптимизация решений. Что же касается подгонки под тесты, то я считаю, что виноваты именно тесты. Представь, что ты спускаешься с 10-го этажа и видишь на площадке миллион долларов, но ты честный, это не твои деньги, ты проходишь мимо, идёшь дальше, на 9-м этаже опять миллион долларов, но ты честный - ты проходишь мимо, на 8-м этаже тоже самое и так 10 раз подряд, а дойдя до первого этажа, просто начинаешь понимать, что если ты не возьмёшь эти деньги, то их возьмёт кто-то другой. Просто так получилось, что именно мне на данный момент удалось взять больше всех, потому что я не хочу, чтобы кто-то обошёл меня из-за того, что я играл по правилам, а он эти правила вообще никогда не соблюдал.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
romul



Зарегистрирован: 20.03.2008
Сообщения: 29

СообщениеДобавлено: Ср Мар 26, 2008 5:21 pm    Заголовок сообщения: Ответить с цитатой

levlam писал(а):
ещё раз повторюсь, неправильно что за эту задачу решение из 100 символов получает почти столько же, сколько и решение из 1000 символов.
Тут ты явно гонишь, оно получает не столько же, а на 0,009 больше и этого вполне достаточно, даже много...

levlam писал(а):
Что же касается подгонки под тесты, то я считаю, что виноваты именно тесты. Представь, что ты спускаешься с 10-го этажа и видишь на площадке миллион долларов, но ты честный, это не твои деньги, ты проходишь мимо, идёшь дальше, на 9-м этаже опять миллион долларов, но ты честный - ты проходишь мимо, на 8-м этаже тоже самое и так 10 раз подряд, а дойдя до первого этажа, просто начинаешь понимать, что если ты не возьмёшь эти деньги, то их возьмёт кто-то другой. Просто так получилось, что именно мне на данный момент удалось взять больше всех, потому что я не хочу, чтобы кто-то обошёл меня из-за того, что я играл по правилам, а он эти правила вообще никогда не соблюдал.
Так это ты как раз правила и не соблюдал, а подгонкой занимался. В реальной жизни (пример с миллионом), тебя бы "убрали" за то что ты его взял... Exclamation
А насчёт того чтобы кто-нибудь другой не воспользовался, то ты просто должен был бы сообщить администрации о найденных в тестах недочётах...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
levlam



Зарегистрирован: 25.01.2007
Сообщения: 11

СообщениеДобавлено: Ср Мар 26, 2008 5:56 pm    Заголовок сообщения: Ответить с цитатой

romul писал(а):
Тут ты явно гонишь, оно получает не столько же, а на 0,009 больше и этого вполне достаточно, даже много...

Читай внимательнее, ты пропустил слово "почти", я сказал чистую правду. Хотя я действительно считаю, что давать 0.009, как бонус к 1.000, всё равно, что не давать ничего.
romul писал(а):

Так это ты как раз правила и не соблюдал, а подгонкой занимался.

Не я первый, не я последний.
romul писал(а):

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

Набор тестов должен быть не таким, чтобы он валил все мои неправильные решения, а таким, чтобы он валил неправильные решения всех участников, независимо от авторства. Если я сообщю тесты, на которых не проходят именно мои решения, то сделаю хуже только себе. Вопрос о недостаточности тестов поднимался на форуме и это и есть сообщение администрации о найденных в тестах недочётах. Я не вижу смысла ещё раз лично сообщать о том, что и так сказали уже 10 человек. Если же я вижу, что посланные решения задачи оцениваются неправильно и никто кроме меня этого не замечает, то я всегда об этом сообщаю(эта фраза относится в основном к предыдущему турниру и не надо её трактовать как ещё одно напоминание о моём негативном отношении к изменению формулы оценки).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Pavel Kuznetsov



Зарегистрирован: 15.03.2008
Сообщения: 14

СообщениеДобавлено: Ср Мар 26, 2008 5:59 pm    Заголовок сообщения: Ответить с цитатой

levlam писал(а):

Не я первый, не я последний.


У тебя уже 350 отсылок по этой задаче! Поимей уже совесть, наконец Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Renat



Зарегистрирован: 21.02.2006
Сообщения: 12

СообщениеДобавлено: Ср Мар 26, 2008 6:13 pm    Заголовок сообщения: Ответить с цитатой

Pavel Kuznetsov писал(а):
У тебя уже 350 отсылок по этой задаче! Поимей уже совесть, наконец Smile

Да пусть шлёт! Главное, чтобы ZJAWB и ZEYE не решал Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
levlam



Зарегистрирован: 25.01.2007
Сообщения: 11

СообщениеДобавлено: Ср Мар 26, 2008 6:18 pm    Заголовок сообщения: Ответить с цитатой

Pavel Kuznetsov писал(а):

У тебя уже 350 отсылок по этой задаче! Поимей уже совесть, наконец Smile

Правильно, потому что я дооптимизировал свои решения и закрыл для себя эту задачу, и до появления новых тестов очень маловероятно, что у меня появится ещё хотя бы одна посылка. Хочу ещё заметить, что до обновления тестов максимум по количеству посылок был не у меня, вчера я был по этому показателю в роли догоняющего Smile.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
levlam



Зарегистрирован: 25.01.2007
Сообщения: 11

СообщениеДобавлено: Ср Мар 26, 2008 9:14 pm    Заголовок сообщения: Ответить с цитатой

Renat писал(а):
Да пусть шлёт! Главное, чтобы ZJAWB и ZEYE не решал Smile

ZEYE уже поздно не решать Smile.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
pperm



Зарегистрирован: 25.02.2007
Сообщения: 26

СообщениеДобавлено: Чт Мар 27, 2008 3:16 pm    Заголовок сообщения: Ответить с цитатой

Принципе для задач 1, 2, 3, 5, 6, 8, 9 и 10 можно написать чекеры, которые будут проверять правильность рег. выражения... И если он написан без багов, то его обойти никак нельзя... Но на это надо время... А мне сначала надо ZEYE написать Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов ZCon -> ZCon 2008 Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Страница 5 из 6

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group